From 8c10e0b73c312a6c1aacce11cc8d6f57dc94a09d Mon Sep 17 00:00:00 2001 From: Gabriel de Dietrich Date: Wed, 24 Mar 2010 14:57:11 +0100 Subject: Auto test for commit 4a4458d1cf5ec7885c6f63f739b7ee80c70ad211 Reviewed-by: Trust me Task-number: QTBUG-9216 --- tests/auto/qtreeview/tst_qtreeview.cpp | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) diff --git a/tests/auto/qtreeview/tst_qtreeview.cpp b/tests/auto/qtreeview/tst_qtreeview.cpp index bdc0a0c..da99368 100644 --- a/tests/auto/qtreeview/tst_qtreeview.cpp +++ b/tests/auto/qtreeview/tst_qtreeview.cpp @@ -237,6 +237,7 @@ private slots: void task245654_changeModelAndExpandAll(); void doubleClickedWithSpans(); void taskQTBUG_6450_selectAllWith1stColumnHidden(); + void taskQTBUG_9216_setSizeAndUniformRowHeightsWrongRepaint(); }; class QtTestModel: public QAbstractItemModel @@ -3714,5 +3715,34 @@ void tst_QTreeView::taskQTBUG_6450_selectAllWith1stColumnHidden() QVERIFY(tree.selectionModel()->isRowSelected(i, QModelIndex())); } +class TreeViewQTBUG_9216 : public QTreeView +{ + Q_OBJECT +public: + void paintEvent(QPaintEvent *event) + { + QCOMPARE(event->rect(), viewport()->rect()); + QTreeView::paintEvent(event); + } +}; + +void tst_QTreeView::taskQTBUG_9216_setSizeAndUniformRowHeightsWrongRepaint() +{ + QStandardItemModel model(10, 10, this); + for (int row = 0; row < 10; row++) + for (int col = 0; col < 10; col++) + model.setItem(row, col, new QStandardItem(QString("row %0, col %1").arg(row).arg(col))); + TreeViewQTBUG_9216 view; + view.setUniformRowHeights(true); + view.setModel(&model); + view.resize(800, 800); + view.show(); + QTest::qWaitForWindowShown(&view); + + QTest::qWait(100); // This one is needed to make the test fail before the patch. + model.setData(model.index(0, 5), QVariant(QSize(100,100)), Qt::SizeHintRole); + QTest::qWait(100); +} + QTEST_MAIN(tst_QTreeView) #include "tst_qtreeview.moc" -- cgit v0.12 From 6d0002fe9bc91b9901e56050d247fbded09c9c76 Mon Sep 17 00:00:00 2001 From: Eskil Abrahamsen Blomfeldt Date: Wed, 24 Mar 2010 14:51:13 +0100 Subject: Add QFont::ForceIntegerMetrics style strategy flag WebKit uses integers internally to deal with positioning and sizing of text objects, but on Mac, Qt uses floating point values. This caused a discrepancy between the size used by WebKit to position text objects and the actual size of the objects when rendered by Qt. The problem was so bad that it has been holding back fixes for other bugs in the mac font engine since these would make the WebKit bug more visible. To work around the problem, we introduce a StyleStrategy flag in QFont which allows you to force the use of integers all over the line. This makes text rendering slightly different from native applications, but should fix several issues with WebKit on Mac. The WebKit-part of this patch will be submitted up-stream. Reviewed-by: Simon Hausmann Reviewed-by: Prasanth --- src/gui/text/qfont.cpp | 2 ++ src/gui/text/qfont.h | 23 ++++++++++--------- src/gui/text/qfontengine_mac.mm | 49 ++++++++++++++++++++++++++++++++--------- 3 files changed, 53 insertions(+), 21 deletions(-) diff --git a/src/gui/text/qfont.cpp b/src/gui/text/qfont.cpp index 9b85c04..99b9f40 100644 --- a/src/gui/text/qfont.cpp +++ b/src/gui/text/qfont.cpp @@ -1297,6 +1297,8 @@ QFont::StyleHint QFont::styleHint() const \value PreferQuality prefer the best quality font. The font matcher will use the nearest standard point size that the font supports. + \value ForceIntegerMetrics forces the use of integer values in font engines that support fractional + font metrics. */ /*! diff --git a/src/gui/text/qfont.h b/src/gui/text/qfont.h index 5adf237..6f62424 100644 --- a/src/gui/text/qfont.h +++ b/src/gui/text/qfont.h @@ -76,17 +76,18 @@ public: }; enum StyleStrategy { - PreferDefault = 0x0001, - PreferBitmap = 0x0002, - PreferDevice = 0x0004, - PreferOutline = 0x0008, - ForceOutline = 0x0010, - PreferMatch = 0x0020, - PreferQuality = 0x0040, - PreferAntialias = 0x0080, - NoAntialias = 0x0100, - OpenGLCompatible = 0x0200, - NoFontMerging = 0x8000 + PreferDefault = 0x0001, + PreferBitmap = 0x0002, + PreferDevice = 0x0004, + PreferOutline = 0x0008, + ForceOutline = 0x0010, + PreferMatch = 0x0020, + PreferQuality = 0x0040, + PreferAntialias = 0x0080, + NoAntialias = 0x0100, + OpenGLCompatible = 0x0200, + ForceIntegerMetrics = 0x0400, + NoFontMerging = 0x8000 }; enum Weight { diff --git a/src/gui/text/qfontengine_mac.mm b/src/gui/text/qfontengine_mac.mm index 8588214..fd662e3 100644 --- a/src/gui/text/qfontengine_mac.mm +++ b/src/gui/text/qfontengine_mac.mm @@ -303,12 +303,20 @@ bool QCoreTextFontEngineMulti::stringToCMap(const QChar *str, int len, QGlyphLay outGlyphs[idx] = tmpGlyphs[i] | fontIndex; outAdvances_x[idx] = QFixed::fromReal(tmpPoints[i + 1].x - tmpPoints[i].x); outAdvances_y[idx] = QFixed::fromReal(tmpPoints[i + 1].y - tmpPoints[i].y); + + if (fontDef.styleStrategy & QFont::ForceIntegerMetrics) { + outAdvances_x[idx] = outAdvances_x[idx].ceil(); + outAdvances_y[idx] = outAdvances_y[idx].ceil(); + } } CGSize lastGlyphAdvance; CTFontGetAdvancesForGlyphs(runFont, kCTFontHorizontalOrientation, tmpGlyphs + glyphCount - 1, &lastGlyphAdvance, 1); outGlyphs[rtl ? 0 : (glyphCount - 1)] = tmpGlyphs[glyphCount - 1] | fontIndex; - outAdvances_x[rtl ? 0 : (glyphCount - 1)] = QFixed::fromReal(lastGlyphAdvance.width); + outAdvances_x[rtl ? 0 : (glyphCount - 1)] = + (fontDef.styleStrategy & QFont::ForceIntegerMetrics) + ? QFixed::fromReal(lastGlyphAdvance.width).ceil() + : QFixed::fromReal(lastGlyphAdvance.width); } outGlyphs += glyphCount; outAttributes += glyphCount; @@ -378,8 +386,11 @@ bool QCoreTextFontEngine::stringToCMap(const QChar *, int, QGlyphLayout *, int * glyph_metrics_t QCoreTextFontEngine::boundingBox(const QGlyphLayout &glyphs) { QFixed w; - for (int i = 0; i < glyphs.numGlyphs; ++i) - w += glyphs.effectiveAdvance(i); + for (int i = 0; i < glyphs.numGlyphs; ++i) { + w += (fontDef.styleStrategy & QFont::ForceIntegerMetrics) + ? glyphs.effectiveAdvance(i).ceil() + : glyphs.effectiveAdvance(i); + } return glyph_metrics_t(0, -(ascent()), w, ascent()+descent(), w, 0); } glyph_metrics_t QCoreTextFontEngine::boundingBox(glyph_t glyph) @@ -393,33 +404,51 @@ glyph_metrics_t QCoreTextFontEngine::boundingBox(glyph_t glyph) ret.y = -QFixed::fromReal(rect.origin.y) - ret.height; CGSize advances[1]; CTFontGetAdvancesForGlyphs(ctfont, kCTFontHorizontalOrientation, &g, advances, 1); - ret.xoff = QFixed::fromReal(advances[0].width).ceil(); - ret.yoff = QFixed::fromReal(advances[0].height).ceil(); + ret.xoff = QFixed::fromReal(advances[0].width); + ret.yoff = QFixed::fromReal(advances[0].height); + + if (fontDef.styleStrategy & QFont::ForceIntegerMetrics) { + ret.xoff = ret.xoff.ceil(); + ret.yoff = ret.yoff.ceil(); + } + return ret; } QFixed QCoreTextFontEngine::ascent() const { - return QFixed::fromReal(CTFontGetAscent(ctfont)).ceil(); + return (fontDef.styleStrategy & QFont::ForceIntegerMetrics) + ? QFixed::fromReal(CTFontGetAscent(ctfont)).ceil() + : QFixed::fromReal(CTFontGetAscent(ctfont)); } QFixed QCoreTextFontEngine::descent() const { + QFixed d = QFixed::fromReal(CTFontGetDescent(ctfont)); + if (fontDef.styleStrategy & QFont::ForceIntegerMetrics) + d = d.ceil(); + // subtract a pixel to even out the historical +1 in QFontMetrics::height(). // Fix in Qt 5. - return QFixed::fromReal(CTFontGetDescent(ctfont)).ceil() - 1; + return d - 1; } QFixed QCoreTextFontEngine::leading() const { - return QFixed::fromReal(CTFontGetLeading(ctfont)).ceil(); + return (fontDef.styleStrategy & QFont::ForceIntegerMetrics) + ? QFixed::fromReal(CTFontGetLeading(ctfont)).ceil() + : QFixed::fromReal(CTFontGetLeading(ctfont)); } QFixed QCoreTextFontEngine::xHeight() const { - return QFixed::fromReal(CTFontGetXHeight(ctfont)).ceil(); + return (fontDef.styleStrategy & QFont::ForceIntegerMetrics) + ? QFixed::fromReal(CTFontGetXHeight(ctfont)).ceil() + : QFixed::fromReal(CTFontGetXHeight(ctfont)); } QFixed QCoreTextFontEngine::averageCharWidth() const { // ### Need to implement properly and get the information from the OS/2 Table. - return QFontEngine::averageCharWidth(); + return (fontDef.styleStrategy & QFont::ForceIntegerMetrics) + ? QFontEngine::averageCharWidth().ceil() + : QFontEngine::averageCharWidth(); } qreal QCoreTextFontEngine::maxCharWidth() const -- cgit v0.12 From 76267b3608836e1cc46171921caf725cfbd2ecf7 Mon Sep 17 00:00:00 2001 From: Eskil Abrahamsen Blomfeldt Date: Thu, 25 Mar 2010 10:22:53 +0100 Subject: Fix QFontMetrics::height() and QFontMetrics autotest Since the Mac font engine has been fixed to support fractional metrics, we can no longer expect qRound(A + B) to be equal to qRound(A) + qRound(B). The documentation states that height = ascent + descent + 1. To honor this contract, we need to rewrite the implementation of height() to round each metric separately. Same with lineSpacing. The bearingIncludedInBoundingrect() test was wrong. We can guarantee that the italic text is not more narrow than the normal text, but we cannot guarantee that they are never the same width. Reviewed-by: Olivier --- src/gui/text/qfontmetrics.cpp | 4 ++-- tests/auto/qfontmetrics/tst_qfontmetrics.cpp | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/gui/text/qfontmetrics.cpp b/src/gui/text/qfontmetrics.cpp index 13a5704..7f9ae8b 100644 --- a/src/gui/text/qfontmetrics.cpp +++ b/src/gui/text/qfontmetrics.cpp @@ -328,7 +328,7 @@ int QFontMetrics::height() const { QFontEngine *engine = d->engineForScript(QUnicodeTables::Common); Q_ASSERT(engine != 0); - return qRound(engine->ascent() + engine->descent()) + 1; + return qRound(engine->ascent()) + qRound(engine->descent()) + 1; } /*! @@ -356,7 +356,7 @@ int QFontMetrics::lineSpacing() const { QFontEngine *engine = d->engineForScript(QUnicodeTables::Common); Q_ASSERT(engine != 0); - return qRound(engine->leading() + engine->ascent() + engine->descent()) + 1; + return qRound(engine->leading()) + qRound(engine->ascent()) + qRound(engine->descent()) + 1; } /*! diff --git a/tests/auto/qfontmetrics/tst_qfontmetrics.cpp b/tests/auto/qfontmetrics/tst_qfontmetrics.cpp index 46f2b15..5d73764 100644 --- a/tests/auto/qfontmetrics/tst_qfontmetrics.cpp +++ b/tests/auto/qfontmetrics/tst_qfontmetrics.cpp @@ -259,7 +259,7 @@ void tst_QFontMetrics::bearingIncludedInBoundingRect() font.setItalic(false); QRect brectNormal = QFontMetrics(font).boundingRect("ITALIC"); - QVERIFY(brectItalic.width() > brectNormal.width()); + QVERIFY(brectItalic.width() >= brectNormal.width()); } QTEST_MAIN(tst_QFontMetrics) -- cgit v0.12 From 8f601bf85748ca62344c5dbaef2f3dd941a16466 Mon Sep 17 00:00:00 2001 From: Eskil Abrahamsen Blomfeldt Date: Thu, 25 Mar 2010 10:32:49 +0100 Subject: Fix QLabel::sizeHint() The QTextControl case of QLabel calculated the bounding rect of the label by taking the size of the control (floating point) and using toSize() to convert this to an integer QSize. While this would work when the font engine always returned integer values, it is not the correct way to calculate a bounding rect, since the bounding rect needs to contain all the pixels of the text, including the ones that are only partially covered, thus its size should never be rounded down. Reviewed-by: Olivier --- src/gui/widgets/qlabel.cpp | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/gui/widgets/qlabel.cpp b/src/gui/widgets/qlabel.cpp index b81f04f..bdbd0b0 100644 --- a/src/gui/widgets/qlabel.cpp +++ b/src/gui/widgets/qlabel.cpp @@ -53,6 +53,7 @@ #include #include "qlabel_p.h" #include "private/qstylesheetstyle_p.h" +#include QT_BEGIN_NAMESPACE @@ -661,7 +662,9 @@ QSize QLabelPrivate::sizeForWidth(int w) const } else { control->setTextWidth(-1); } - br = QRect(QPoint(0, 0), control->size().toSize()); + + QSizeF controlSize = control->size(); + br = QRect(QPoint(0, 0), QSize(qCeil(controlSize.width()), qCeil(controlSize.height()))); // restore state control->setTextWidth(oldTextWidth); -- cgit v0.12 From 114ccb234d875b5680e54fd828195a00267f6ee1 Mon Sep 17 00:00:00 2001 From: Olivier Goffart Date: Thu, 25 Mar 2010 10:44:39 +0100 Subject: stabilize tst_QTreeView::taskQTBUG_9216_setSizeAndUniformRowHeightsWrongRepaint --- tests/auto/qtreeview/tst_qtreeview.cpp | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/tests/auto/qtreeview/tst_qtreeview.cpp b/tests/auto/qtreeview/tst_qtreeview.cpp index da99368..6871982 100644 --- a/tests/auto/qtreeview/tst_qtreeview.cpp +++ b/tests/auto/qtreeview/tst_qtreeview.cpp @@ -3723,7 +3723,9 @@ public: { QCOMPARE(event->rect(), viewport()->rect()); QTreeView::paintEvent(event); + painted++; } + int painted; }; void tst_QTreeView::taskQTBUG_9216_setSizeAndUniformRowHeightsWrongRepaint() @@ -3736,12 +3738,16 @@ void tst_QTreeView::taskQTBUG_9216_setSizeAndUniformRowHeightsWrongRepaint() view.setUniformRowHeights(true); view.setModel(&model); view.resize(800, 800); + view.painted = 0; view.show(); QTest::qWaitForWindowShown(&view); + QTRY_VERIFY(view.painted > 0); QTest::qWait(100); // This one is needed to make the test fail before the patch. + view.painted = 0; model.setData(model.index(0, 5), QVariant(QSize(100,100)), Qt::SizeHintRole); QTest::qWait(100); + QTRY_VERIFY(view.painted > 0); } QTEST_MAIN(tst_QTreeView) -- cgit v0.12 From 3eed4c454a58b38c895925b74e47a0b1b747df80 Mon Sep 17 00:00:00 2001 From: Yoann Lopes Date: Thu, 25 Mar 2010 11:48:44 +0100 Subject: itemChange() is now called when transformation properties change. When changing transformation properties (i.e., setRotation(), setScale(), setTransformOriginPoint()), itemChange() is now called to allow notification and change of the values. The flag ItemSendsGeometryChanges needs to be set to enable this. Autotest included. Task-number: QTBUG-8112 Reviewed-by: alexis --- src/gui/graphicsview/qgraphicsitem.cpp | 127 ++++++++++++++++++++++++- src/gui/graphicsview/qgraphicsitem.h | 8 +- tests/auto/qgraphicsitem/tst_qgraphicsitem.cpp | 81 +++++++++++++++- 3 files changed, 209 insertions(+), 7 deletions(-) diff --git a/src/gui/graphicsview/qgraphicsitem.cpp b/src/gui/graphicsview/qgraphicsitem.cpp index 948ff28..66b262c 100644 --- a/src/gui/graphicsview/qgraphicsitem.cpp +++ b/src/gui/graphicsview/qgraphicsitem.cpp @@ -381,7 +381,9 @@ \value ItemSendsGeometryChanges The item enables itemChange() notifications for ItemPositionChange, ItemPositionHasChanged, - ItemMatrixChange, ItemTransformChange, and ItemTransformHasChanged. For + ItemMatrixChange, ItemTransformChange, ItemTransformHasChanged, + ItemRotationChange, ItemRotationHasChanged, ItemScaleChange, ItemScaleHasChanged, + ItemTransformOriginPointChange, and ItemTransformOriginPointHasChanged. For performance reasons, these notifications are disabled by default. You must enable this flag to receive notifications for position and transform changes. This flag was introduced in Qt 4.6. @@ -475,6 +477,52 @@ (same as transform()), and QGraphicsItem ignores the return value for this notification (i.e., a read-only notification). + \value ItemRotationChange The item's rotation property changes. This + notification is sent if the ItemSendsGeometryChanges flag is enabled, and + when the item's rotation property changes (i.e., as a result of calling + setRotation()). The value argument is the new rotation (i.e., a double); + to get the old rotation, call rotation(). Do not call setRotation() in + itemChange() as this notification is delivered; instead, you can return + the new rotation from itemChange(). + + \value ItemRotationHasChanged The item's rotation property has changed. + This notification is sent if the ItemSendsGeometryChanges flag is enabled, + and after the item's rotation property has changed. The value argument is + the new rotation (i.e., a double), and QGraphicsItem ignores the return + value for this notification (i.e., a read-only notification). Do not call + setRotation() in itemChange() as this notification is delivered. + + \value ItemScaleChange The item's scale property changes. This notification + is sent if the ItemSendsGeometryChanges flag is enabled, and when the item's + scale property changes (i.e., as a result of calling setScale()). The value + argument is the new scale (i.e., a double); to get the old scale, call + scale(). Do not call setScale() in itemChange() as this notification is + delivered; instead, you can return the new scale from itemChange(). + + \value ItemScaleHasChanged The item's scale property has changed. This + notification is sent if the ItemSendsGeometryChanges flag is enabled, and + after the item's scale property has changed. The value argument is the new + scale (i.e., a double), and QGraphicsItem ignores the return value for this + notification (i.e., a read-only notification). Do not call setScale() in + itemChange() as this notification is delivered. + + \value ItemTransformOriginPointChange The item's transform origin point + property changes. This notification is sent if the ItemSendsGeometryChanges + flag is enabled, and when the item's transform origin point property changes + (i.e., as a result of calling setTransformOriginPoint()). The value argument + is the new origin point (i.e., a QPointF); to get the old origin point, call + transformOriginPoint(). Do not call setTransformOriginPoint() in itemChange() + as this notification is delivered; instead, you can return the new transform + origin point from itemChange(). + + \value ItemTransformOriginPointHasChanged The item's transform origin point + property has changed. This notification is sent if the ItemSendsGeometryChanges + flag is enabled, and after the item's transform origin point property has + changed. The value argument is the new origin point (i.e., a QPointF), and + QGraphicsItem ignores the return value for this notification (i.e., a read-only + notification). Do not call setTransformOriginPoint() in itemChange() as this + notification is delivered. + \value ItemSelectedChange The item's selected state changes. If the item is presently selected, it will become unselected, and vice verca. The value argument is the new selected state (i.e., true or false). Do not call @@ -3722,12 +3770,28 @@ qreal QGraphicsItem::rotation() const void QGraphicsItem::setRotation(qreal angle) { prepareGeometryChange(); + qreal newRotation = angle; + + if (d_ptr->flags & ItemSendsGeometryChanges) { + // Notify the item that the rotation is changing. + const QVariant newRotationVariant(itemChange(ItemRotationChange, angle)); + newRotation = newRotationVariant.toReal(); + } + if (!d_ptr->transformData) d_ptr->transformData = new QGraphicsItemPrivate::TransformData; - d_ptr->transformData->rotation = angle; + + if (d_ptr->transformData->rotation == newRotation) + return; + + d_ptr->transformData->rotation = newRotation; d_ptr->transformData->onlyTransform = false; d_ptr->dirtySceneTransform = 1; + // Send post-notification. + if (d_ptr->flags & ItemSendsGeometryChanges) + itemChange(ItemRotationHasChanged, newRotation); + if (d_ptr->isObject) emit static_cast(this)->rotationChanged(); } @@ -3770,12 +3834,28 @@ qreal QGraphicsItem::scale() const void QGraphicsItem::setScale(qreal factor) { prepareGeometryChange(); + qreal newScale = factor; + + if (d_ptr->flags & ItemSendsGeometryChanges) { + // Notify the item that the scale is changing. + const QVariant newScaleVariant(itemChange(ItemScaleChange, factor)); + newScale = newScaleVariant.toReal(); + } + if (!d_ptr->transformData) d_ptr->transformData = new QGraphicsItemPrivate::TransformData; - d_ptr->transformData->scale = factor; + + if (d_ptr->transformData->scale == newScale) + return; + + d_ptr->transformData->scale = newScale; d_ptr->transformData->onlyTransform = false; d_ptr->dirtySceneTransform = 1; + // Send post-notification. + if (d_ptr->flags & ItemSendsGeometryChanges) + itemChange(ItemScaleHasChanged, newScale); + if (d_ptr->isObject) emit static_cast(this)->scaleChanged(); } @@ -3877,12 +3957,31 @@ QPointF QGraphicsItem::transformOriginPoint() const void QGraphicsItem::setTransformOriginPoint(const QPointF &origin) { prepareGeometryChange(); + QPointF newOrigin = origin; + + if (d_ptr->flags & ItemSendsGeometryChanges) { + // Notify the item that the origin point is changing. + const QVariant newOriginVariant(itemChange(ItemTransformOriginPointChange, + qVariantFromValue(origin))); + newOrigin = newOriginVariant.toPointF(); + } + if (!d_ptr->transformData) d_ptr->transformData = new QGraphicsItemPrivate::TransformData; - d_ptr->transformData->xOrigin = origin.x(); - d_ptr->transformData->yOrigin = origin.y(); + + if (d_ptr->transformData->xOrigin == newOrigin.x() + && d_ptr->transformData->yOrigin == newOrigin.y()) { + return; + } + + d_ptr->transformData->xOrigin = newOrigin.x(); + d_ptr->transformData->yOrigin = newOrigin.y(); d_ptr->transformData->onlyTransform = false; d_ptr->dirtySceneTransform = 1; + + // Send post-notification. + if (d_ptr->flags & ItemSendsGeometryChanges) + itemChange(ItemTransformOriginPointHasChanged, qVariantFromValue(newOrigin)); } /*! @@ -11072,6 +11171,24 @@ QDebug operator<<(QDebug debug, QGraphicsItem::GraphicsItemChange change) case QGraphicsItem::ItemScenePositionHasChanged: str = "ItemScenePositionHasChanged"; break; + case QGraphicsItem::ItemRotationChange: + str = "ItemRotationChange"; + break; + case QGraphicsItem::ItemRotationHasChanged: + str = "ItemRotationHasChanged"; + break; + case QGraphicsItem::ItemScaleChange: + str = "ItemScaleChange"; + break; + case QGraphicsItem::ItemScaleHasChanged: + str = "ItemScaleHasChanged"; + break; + case QGraphicsItem::ItemTransformOriginPointChange: + str = "ItemTransformOriginPointChange"; + break; + case QGraphicsItem::ItemTransformOriginPointHasChanged: + str = "ItemTransformOriginPointHasChanged"; + break; } debug << str; return debug; diff --git a/src/gui/graphicsview/qgraphicsitem.h b/src/gui/graphicsview/qgraphicsitem.h index 56f94a2..117113f 100644 --- a/src/gui/graphicsview/qgraphicsitem.h +++ b/src/gui/graphicsview/qgraphicsitem.h @@ -139,7 +139,13 @@ public: ItemZValueHasChanged, ItemOpacityChange, ItemOpacityHasChanged, - ItemScenePositionHasChanged + ItemScenePositionHasChanged, + ItemRotationChange, + ItemRotationHasChanged, + ItemScaleChange, + ItemScaleHasChanged, + ItemTransformOriginPointChange, + ItemTransformOriginPointHasChanged }; enum CacheMode { diff --git a/tests/auto/qgraphicsitem/tst_qgraphicsitem.cpp b/tests/auto/qgraphicsitem/tst_qgraphicsitem.cpp index 92a7f2e..b408ba2 100644 --- a/tests/auto/qgraphicsitem/tst_qgraphicsitem.cpp +++ b/tests/auto/qgraphicsitem/tst_qgraphicsitem.cpp @@ -4316,6 +4316,21 @@ protected: break; case QGraphicsItem::ItemScenePositionHasChanged: break; + case QGraphicsItem::ItemRotationChange: + oldValues << rotation(); + break; + case QGraphicsItem::ItemRotationHasChanged: + break; + case QGraphicsItem::ItemScaleChange: + oldValues << scale(); + break; + case QGraphicsItem::ItemScaleHasChanged: + break; + case QGraphicsItem::ItemTransformOriginPointChange: + oldValues << transformOriginPoint(); + break; + case QGraphicsItem::ItemTransformOriginPointHasChanged: + break; } return itemChangeReturnValue.isValid() ? itemChangeReturnValue : value; } @@ -4412,6 +4427,48 @@ void tst_QGraphicsItem::itemChange() QCOMPARE(tester.zValue(), qreal(2.0)); } { + // ItemRotationChange / ItemRotationHasChanged + tester.itemChangeReturnValue = qreal(15.0); + tester.setRotation(10.0); + ++changeCount; // notification sent too + ++changeCount; + QCOMPARE(tester.changes.size(), changeCount); + QCOMPARE(tester.changes.at(tester.changes.size() - 2), QGraphicsItem::ItemRotationChange); + QCOMPARE(tester.changes.at(tester.changes.size() - 1), QGraphicsItem::ItemRotationHasChanged); + QCOMPARE(tester.values.at(tester.changes.size() - 2), QVariant(qreal(10.0))); + QCOMPARE(tester.values.at(tester.changes.size() - 1), QVariant(qreal(15.0))); + QCOMPARE(tester.oldValues.last(), QVariant(qreal(0.0))); + QCOMPARE(tester.rotation(), qreal(15.0)); + } + { + // ItemScaleChange / ItemScaleHasChanged + tester.itemChangeReturnValue = qreal(2.0); + tester.setScale(1.5); + ++changeCount; // notification sent too + ++changeCount; + QCOMPARE(tester.changes.size(), changeCount); + QCOMPARE(tester.changes.at(tester.changes.size() - 2), QGraphicsItem::ItemScaleChange); + QCOMPARE(tester.changes.at(tester.changes.size() - 1), QGraphicsItem::ItemScaleHasChanged); + QCOMPARE(tester.values.at(tester.changes.size() - 2), QVariant(qreal(1.5))); + QCOMPARE(tester.values.at(tester.changes.size() - 1), QVariant(qreal(2.0))); + QCOMPARE(tester.oldValues.last(), QVariant(qreal(1.0))); + QCOMPARE(tester.scale(), qreal(2.0)); + } + { + // ItemTransformOriginPointChange / ItemTransformOriginPointHasChanged + tester.itemChangeReturnValue = QPointF(2.0, 2.0); + tester.setTransformOriginPoint(1.0, 1.0); + ++changeCount; // notification sent too + ++changeCount; + QCOMPARE(tester.changes.size(), changeCount); + QCOMPARE(tester.changes.at(tester.changes.size() - 2), QGraphicsItem::ItemTransformOriginPointChange); + QCOMPARE(tester.changes.at(tester.changes.size() - 1), QGraphicsItem::ItemTransformOriginPointHasChanged); + QCOMPARE(tester.values.at(tester.changes.size() - 2), QVariant(QPointF(1.0, 1.0))); + QCOMPARE(tester.values.at(tester.changes.size() - 1), QVariant(QPointF(2.0, 2.0))); + QCOMPARE(tester.oldValues.last(), QVariant(QPointF(0.0, 0.0))); + QCOMPARE(tester.transformOriginPoint(), QPointF(2.0, 2.0)); + } + { // ItemFlagsChange tester.itemChangeReturnValue = QGraphicsItem::ItemIsSelectable; tester.setFlag(QGraphicsItem::ItemIsSelectable, false); @@ -7385,10 +7442,19 @@ void tst_QGraphicsItem::itemSendsGeometryChanges() QTransform x = QTransform().rotate(45); QPointF pos(10, 10); qreal o(0.5); + qreal r(10.0); + qreal s(1.5); + QPointF origin(1.0, 1.0); item.setTransform(x); item.setPos(pos); + item.setRotation(r); + item.setScale(s); + item.setTransformOriginPoint(origin); QCOMPARE(item.transform(), x); QCOMPARE(item.pos(), pos); + QCOMPARE(item.rotation(), r); + QCOMPARE(item.scale(), s); + QCOMPARE(item.transformOriginPoint(), origin); QCOMPARE(item.changes.size(), 0); item.setOpacity(o); @@ -7402,6 +7468,13 @@ void tst_QGraphicsItem::itemSendsGeometryChanges() QCOMPARE(item.transform(), QTransform()); QCOMPARE(item.pos(), QPointF()); QCOMPARE(item.opacity(), o); + item.setRotation(0.0); + item.setScale(1.0); + item.setTransformOriginPoint(0.0, 0.0); + QCOMPARE(item.changes.size(), 14); // rotation + scale + origin + QCOMPARE(item.rotation(), qreal(0.0)); + QCOMPARE(item.scale(), qreal(1.0)); + QCOMPARE(item.transformOriginPoint(), QPointF(0.0, 0.0)); QCOMPARE(item.changes, QList() << QGraphicsItem::ItemOpacityChange @@ -7411,7 +7484,13 @@ void tst_QGraphicsItem::itemSendsGeometryChanges() << QGraphicsItem::ItemTransformChange << QGraphicsItem::ItemTransformHasChanged << QGraphicsItem::ItemPositionChange - << QGraphicsItem::ItemPositionHasChanged); + << QGraphicsItem::ItemPositionHasChanged + << QGraphicsItem::ItemRotationChange + << QGraphicsItem::ItemRotationHasChanged + << QGraphicsItem::ItemScaleChange + << QGraphicsItem::ItemScaleHasChanged + << QGraphicsItem::ItemTransformOriginPointChange + << QGraphicsItem::ItemTransformOriginPointHasChanged); } // Make sure we update moved items correctly. -- cgit v0.12 From ea0b7da7f5c206c436999b35bc2b55fb8863ecfe Mon Sep 17 00:00:00 2001 From: Eskil Abrahamsen Blomfeldt Date: Thu, 25 Mar 2010 12:18:42 +0100 Subject: Fix glyph advance on Mac/Carbon Device metrics was turned on for Mac/Carbon to work around a bug in WebKit that required the font engine to report only integer values. This in turn caused positioning of glyphs to be slightly off compared to native applications. The bug has been fixed in WebKit, so now we can turn off the device metrics flag. Since we are now reporting fractional values as well, we need to round the numbers when the ForceIntegerMetrics style strategy flag is set. Task-number: qtbug-5529 Reviewed-by: Trond --- src/gui/text/qfontengine_mac.mm | 53 +++++++++++++++++++++++++++++++++-------- 1 file changed, 43 insertions(+), 10 deletions(-) diff --git a/src/gui/text/qfontengine_mac.mm b/src/gui/text/qfontengine_mac.mm index fd662e3..3f84544 100644 --- a/src/gui/text/qfontengine_mac.mm +++ b/src/gui/text/qfontengine_mac.mm @@ -53,6 +53,7 @@ #include #include #include +#include #include #include @@ -816,6 +817,7 @@ struct QGlyphLayoutInfo int *mappedFonts; QTextEngine::ShaperFlags flags; QFontEngineMacMulti::ShaperItem *shaperItem; + unsigned int styleStrategy; }; static OSStatus atsuPostLayoutCallback(ATSULayoutOperationSelector selector, ATSULineRef lineRef, URefCon refCon, @@ -885,6 +887,11 @@ static OSStatus atsuPostLayoutCallback(ATSULayoutOperationSelector selector, ATS QFixed yAdvance = FixedToQFixed(baselineDeltas[glyphIdx]); QFixed xAdvance = FixedToQFixed(layoutData[glyphIdx + 1].realPos - layoutData[glyphIdx].realPos); + if (nfo->styleStrategy & QFont::ForceIntegerMetrics) { + yAdvance = yAdvance.ceil(); + xAdvance = xAdvance.ceil(); + } + if (glyphId != 0xffff || i == 0) { if (i < nfo->glyphs->numGlyphs) { @@ -1061,6 +1068,7 @@ bool QFontEngineMacMulti::stringToCMapInternal(const QChar *str, int len, QGlyph nfo.callbackCalled = false; nfo.flags = flags; nfo.shaperItem = shaperItem; + nfo.styleStrategy = fontDef.styleStrategy; int prevNumGlyphs = *nglyphs; @@ -1090,8 +1098,6 @@ bool QFontEngineMacMulti::stringToCMapInternal(const QChar *str, int len, QGlyph | kATSLineDisableAllJustification ; - layopts |= kATSLineUseDeviceMetrics; - if (fontDef.styleStrategy & QFont::NoAntialias) layopts |= kATSLineNoAntiAliasing; @@ -1395,14 +1401,22 @@ void QFontEngineMac::recalcAdvances(QGlyphLayout *glyphs, QTextEngine::ShaperFla for (int i = 0; i < glyphs->numGlyphs; ++i) { glyphs->advances_x[i] = QFixed::fromReal(metrics[i].deviceAdvance.x); glyphs->advances_y[i] = QFixed::fromReal(metrics[i].deviceAdvance.y); + + if (fontDef.styleStrategy & QFont::ForceIntegerMetrics) { + glyphs->advances_x[i] = glyphs->advances_x[i].ceil(); + glyphs->advances_y[i] = glyphs->advances_y[i].ceil(); + } } } glyph_metrics_t QFontEngineMac::boundingBox(const QGlyphLayout &glyphs) { QFixed w; - for (int i = 0; i < glyphs.numGlyphs; ++i) - w += glyphs.effectiveAdvance(i); + for (int i = 0; i < glyphs.numGlyphs; ++i) { + w += (fontDef.styleStrategy & QFont::ForceIntegerMetrics) + ? glyphs.effectiveAdvance(i).ceil() + : glyphs.effectiveAdvance(i); + } return glyph_metrics_t(0, -(ascent()), w, ascent()+descent(), w, 0); } @@ -1427,39 +1441,58 @@ glyph_metrics_t QFontEngineMac::boundingBox(glyph_t glyph) gm.xoff = QFixed::fromReal(metrics.deviceAdvance.x); gm.yoff = QFixed::fromReal(metrics.deviceAdvance.y); + if (fontDef.styleStrategy & QFont::ForceIntegerMetrics) { + gm.x = gm.x.floor(); + gm.y = gm.y.floor(); + gm.xoff = gm.xoff.ceil(); + gm.yoff = gm.yoff.ceil(); + } + return gm; } QFixed QFontEngineMac::ascent() const { - return m_ascent; + return (fontDef.styleStrategy & QFont::ForceIntegerMetrics) + ? m_ascent.ceil() + : m_ascent; } QFixed QFontEngineMac::descent() const { // subtract a pixel to even out the historical +1 in QFontMetrics::height(). // Fix in Qt 5. - return m_descent - 1; + return (fontDef.styleStrategy & QFont::ForceIntegerMetrics) + ? m_descent.ceil() - 1 + : m_descent; } QFixed QFontEngineMac::leading() const { - return m_leading; + return (fontDef.styleStrategy & QFont::ForceIntegerMetrics) + ? m_leading.ceil() + : m_leading; } qreal QFontEngineMac::maxCharWidth() const { - return m_maxCharWidth; + return (fontDef.styleStrategy & QFont::ForceIntegerMetrics) + ? qCeil(m_maxCharWidth) + : m_maxCharWidth; } QFixed QFontEngineMac::xHeight() const { - return m_xHeight; + return (fontDef.styleStrategy & QFont::ForceIntegerMetrics) + ? m_xHeight.ceil() + : m_xHeight; } QFixed QFontEngineMac::averageCharWidth() const { - return m_averageCharWidth; + return (fontDef.styleStrategy & QFont::ForceIntegerMetrics) + ? m_averageCharWidth.ceil() + : m_averageCharWidth; } static void addGlyphsToPathHelper(ATSUStyle style, glyph_t *glyphs, QFixedPoint *positions, int numGlyphs, QPainterPath *path) -- cgit v0.12 From a81b5cf5b4e5388f3bda2aa8c4855d9a1b0bba28 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Trond=20Kjern=C3=A5sen?= Date: Thu, 25 Mar 2010 13:31:16 +0100 Subject: Fixed QPrintPreview text drawing (visible in Assistant). WebKit (which Assistant uses) uses QFont::setPixelSize() to specify the font sizes. Those are treated differently in Qt than fonts specified with setPointSize(). Fonts specified with setPixelSize() should *not* be scaled to compensate for DPI changes between devices, unlike fonts with a pointSize() set. Task-number: QTBUG-9282 Reviewed-by: Eskil --- src/gui/image/qpicture.cpp | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/src/gui/image/qpicture.cpp b/src/gui/image/qpicture.cpp index 3220a67..45b3ed0 100644 --- a/src/gui/image/qpicture.cpp +++ b/src/gui/image/qpicture.cpp @@ -651,7 +651,12 @@ bool QPicture::exec(QPainter *painter, QDataStream &s, int nrecords) s >> dbl; QFont fnt(font, painter->device()); - qreal scale = painter->device()->logicalDpiY() / (dbl*qt_defaultDpiY()); + // Fonts that specify a pixel size should not be scaled - QPicture already + // have a matrix set to compensate for the DPI differences between the + // default Qt DPI and the actual target device DPI, and we have to take that + // into consideration in the case where the font has a pixel size set. + + qreal scale = fnt.pointSize() == -1 ? 1 : painter->device()->logicalDpiY() / (dbl*qt_defaultDpiY()); painter->save(); painter->scale(1/scale, 1/scale); @@ -660,7 +665,7 @@ bool QPicture::exec(QPainter *painter, QDataStream &s, int nrecords) int flags = Qt::TextSingleLine | Qt::TextDontClip | Qt::TextForceLeftToRight; - QSizeF size(scale, scale); + QSizeF size(1, 1); if (justificationWidth > 0) { size.setWidth(justificationWidth*scale); flags |= Qt::TextJustificationForced; -- cgit v0.12 From 70f8e3ed2fea750a6a0fd7e08b10330a04eda6a0 Mon Sep 17 00:00:00 2001 From: Joerg Bornemann Date: Thu, 25 Mar 2010 13:10:30 +0100 Subject: cetest build fix for TCP sync connection Reviewed-by: mauricek --- tools/qtestlib/wince/cetest/cetcpsyncconnection.cpp | 21 +++++++++++++++++++++ tools/qtestlib/wince/cetest/cetcpsyncconnection.h | 3 +++ 2 files changed, 24 insertions(+) diff --git a/tools/qtestlib/wince/cetest/cetcpsyncconnection.cpp b/tools/qtestlib/wince/cetest/cetcpsyncconnection.cpp index 99219f3..5494194 100644 --- a/tools/qtestlib/wince/cetest/cetcpsyncconnection.cpp +++ b/tools/qtestlib/wince/cetest/cetcpsyncconnection.cpp @@ -198,3 +198,24 @@ bool CeTcpSyncConnection::fileCreationTime(const QString &fileName, FILETIME* de file.remove(); return result; } + +bool CeTcpSyncConnection::resetDevice() +{ + qWarning("CeTcpSyncConnection::resetDevice not implemented"); + return false; +} + +bool CeTcpSyncConnection::toggleDevicePower(int *returnValue) +{ + Q_UNUSED(returnValue); + qWarning("CeTcpSyncConnection::toggleDevicePower not implemented"); + return false; +} + +bool CeTcpSyncConnection::setDeviceAwake(bool activate, int *returnValue) +{ + Q_UNUSED(activate); + Q_UNUSED(returnValue); + qWarning("CeTcpSyncConnection::setDeviceAwake not implemented"); + return false; +} diff --git a/tools/qtestlib/wince/cetest/cetcpsyncconnection.h b/tools/qtestlib/wince/cetest/cetcpsyncconnection.h index 77539cc..e603efc 100644 --- a/tools/qtestlib/wince/cetest/cetcpsyncconnection.h +++ b/tools/qtestlib/wince/cetest/cetcpsyncconnection.h @@ -75,6 +75,9 @@ public: bool createDirectory(const QString&, bool deleteBefore=false); bool execute(QString program, QString arguments = QString(), int timeout = -1, int *returnValue = NULL); + bool resetDevice(); + bool toggleDevicePower(int *returnValue = NULL); + bool setDeviceAwake(bool activate, int *returnValue = NULL); private: bool connected; }; -- cgit v0.12 From bd5d323373dbaf9d827126b77895da253128c1e5 Mon Sep 17 00:00:00 2001 From: Joerg Bornemann Date: Thu, 25 Mar 2010 13:42:52 +0100 Subject: cetest build fix Introducing a new define for building qmake without generators. QT_BUILD_QMAKE_NO_GENERATORS is used for cetest and the qmake COM wrapper of the Visual Studio Add-in. Reviewed-by: mauricek --- qmake/project.cpp | 2 ++ tools/qtestlib/wince/cetest/cetest.pro | 3 ++- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/qmake/project.cpp b/qmake/project.cpp index 9e6db10..01a3843 100644 --- a/qmake/project.cpp +++ b/qmake/project.cpp @@ -1507,6 +1507,7 @@ QMakeProject::read(uchar cmd) void QMakeProject::validateModes() { +#if !defined(QT_BUILD_QMAKE_NO_GENERATORS) if (Option::host_mode == Option::HOST_UNKNOWN_MODE || Option::target_mode == Option::TARG_UNKNOWN_MODE) { Option::HOST_MODE host_mode; @@ -1543,6 +1544,7 @@ void QMakeProject::validateModes() } } } +#endif // !defined(QT_BUILD_QMAKE_NO_GENERATORS) } bool diff --git a/tools/qtestlib/wince/cetest/cetest.pro b/tools/qtestlib/wince/cetest/cetest.pro index 2773fe4..4f0baab 100644 --- a/tools/qtestlib/wince/cetest/cetest.pro +++ b/tools/qtestlib/wince/cetest/cetest.pro @@ -13,7 +13,8 @@ DEFINES += QT_BUILD_QMAKE QT_BOOTSTRAPPED QT_NO_CODECS QT_LITE_UNICODE QT QT_NO_STL QT_NO_COMPRESS QT_NO_DATASTREAM \ QT_NO_TEXTCODEC QT_NO_UNICODETABLES QT_NO_THREAD \ QT_NO_SYSTEMLOCALE QT_NO_GEOM_VARIANT \ - QT_NODLL QT_NO_QOBJECT + QT_NODLL QT_NO_QOBJECT \ + QT_BUILD_QMAKE_NO_GENERATORS INCLUDEPATH = \ $$QT_SOURCE_TREE/tools/qtestlib/ce/cetest \ -- cgit v0.12 From 1e6c23469ea78f6ff5a3a546c08ae22a5ba79356 Mon Sep 17 00:00:00 2001 From: unknown Date: Thu, 25 Mar 2010 14:06:42 +0100 Subject: Fixes a deadlock with streaming in Phonon. Deadlock can occur with certain DirectShow filters when stopping a streamed video. Task-number: QTBUG-8420 Merge-request: 2317 Reviewed-by: Pierre Rossi Reviewed-by: Thierry Bastian --- src/3rdparty/phonon/ds9/iodevicereader.cpp | 6 ------ 1 file changed, 6 deletions(-) diff --git a/src/3rdparty/phonon/ds9/iodevicereader.cpp b/src/3rdparty/phonon/ds9/iodevicereader.cpp index 695af59..d706c82 100644 --- a/src/3rdparty/phonon/ds9/iodevicereader.cpp +++ b/src/3rdparty/phonon/ds9/iodevicereader.cpp @@ -107,9 +107,6 @@ namespace Phonon HRESULT read(LONGLONG pos, LONG length, BYTE *buffer, LONG *actual) { Q_ASSERT(!m_mutex.tryLock()); - if (m_mediaGraph->isStopping()) { - return VFW_E_WRONG_STATE; - } if(m_size != 1 && pos + length > m_size) { //it tries to read outside of the boundaries @@ -128,9 +125,6 @@ namespace Phonon int oldSize = m_buffer.size(); while (m_buffer.size() < int(length)) { needData(); - if (m_mediaGraph->isStopping()) { - return VFW_E_WRONG_STATE; - } if (oldSize == m_buffer.size()) { break; //we didn't get any data -- cgit v0.12 From dfbabeca0cb8a9efdb6758c228700eeb5996652c Mon Sep 17 00:00:00 2001 From: Thierry Bastian Date: Thu, 25 Mar 2010 15:52:04 +0100 Subject: Fix warnings and build on mingw --- examples/graphicsview/weatheranchorlayout/main.cpp | 11 +- examples/script/qstetrix/tetrixboard.cpp | 13 +- examples/script/qstetrix/tetrixboard.h | 10 +- src/gui/widgets/qlinecontrol_p.h | 611 +++++---------------- src/multimedia/audio/qaudiooutput_win32_p.cpp | 2 +- src/plugins/imageformats/tiff/qtiffhandler.cpp | 4 +- tools/qdoc3/generator.cpp | 4 +- tools/qdoc3/node.cpp | 6 +- 8 files changed, 164 insertions(+), 497 deletions(-) diff --git a/examples/graphicsview/weatheranchorlayout/main.cpp b/examples/graphicsview/weatheranchorlayout/main.cpp index aa06476..391fdd8 100644 --- a/examples/graphicsview/weatheranchorlayout/main.cpp +++ b/examples/graphicsview/weatheranchorlayout/main.cpp @@ -97,6 +97,8 @@ protected: case Qt::MaximumSize: sh = QSizeF(QWIDGETSIZE_MAX, QWIDGETSIZE_MAX); break; + default: + break; } return sh; } @@ -167,15 +169,6 @@ private: }; -static QGraphicsProxyWidget *createItem(const QString &name = "Unnamed") -{ - QGraphicsProxyWidget *w = new QGraphicsProxyWidget; - w->setWidget(new QPushButton(name)); - w->setData(0, name); - w->setSizePolicy(QSizePolicy::Preferred, QSizePolicy::Preferred); - return w; -} - int main(int argc, char **argv) { Q_INIT_RESOURCE(weatheranchorlayout); diff --git a/examples/script/qstetrix/tetrixboard.cpp b/examples/script/qstetrix/tetrixboard.cpp index 7d44c4c..f35740d 100644 --- a/examples/script/qstetrix/tetrixboard.cpp +++ b/examples/script/qstetrix/tetrixboard.cpp @@ -54,7 +54,12 @@ TetrixBoard::TetrixBoard(QWidget *parent) void TetrixBoard::setNextPieceLabel(QWidget *label) { - nextPieceLabel = qobject_cast(label); + nextPieceLbl = qobject_cast(label); +} + +QLabel *TetrixBoard::nextPieceLabel() const +{ + return nextPieceLbl; } QObject *TetrixBoard::getTimer() @@ -82,16 +87,16 @@ void TetrixBoard::keyPressEvent(QKeyEvent *event) void TetrixBoard::showNextPiece(int width, int height) { - if (!nextPieceLabel) + if (!nextPieceLabel()) return; QPixmap pixmap(width * squareWidth(), height * squareHeight()); QPainter painter(&pixmap); - painter.fillRect(pixmap.rect(), nextPieceLabel->palette().background()); + painter.fillRect(pixmap.rect(), nextPieceLabel()->palette().background()); emit paintNextPieceRequested(&painter); - nextPieceLabel->setPixmap(pixmap); + nextPieceLabel()->setPixmap(pixmap); } void TetrixBoard::drawPauseScreen(QPainter *painter) diff --git a/examples/script/qstetrix/tetrixboard.h b/examples/script/qstetrix/tetrixboard.h index 7a04317..781ec39 100644 --- a/examples/script/qstetrix/tetrixboard.h +++ b/examples/script/qstetrix/tetrixboard.h @@ -45,21 +45,19 @@ #include #include #include - -QT_BEGIN_NAMESPACE -class QLabel; -QT_END_NAMESPACE +#include class TetrixBoard : public QFrame { Q_OBJECT Q_PROPERTY(QObject* timer READ getTimer) - Q_PROPERTY(QWidget* nextPieceLabel WRITE setNextPieceLabel) + Q_PROPERTY(QWidget* nextPieceLabel READ nextPieceLabel WRITE setNextPieceLabel) public: TetrixBoard(QWidget *parent = 0); void setNextPieceLabel(QWidget *label); + QLabel *nextPieceLabel() const; void setBoardWidth(int width); void setBoardHeight(int height); QSize minimumSizeHint() const; @@ -95,7 +93,7 @@ private: int squareHeight() { return contentsRect().height() / BoardHeight; } QTimer *timer; - QPointer nextPieceLabel; + QPointer nextPieceLbl; QImage image; }; diff --git a/src/gui/widgets/qlinecontrol_p.h b/src/gui/widgets/qlinecontrol_p.h index dd82581..5da1831 100644 --- a/src/gui/widgets/qlinecontrol_p.h +++ b/src/gui/widgets/qlinecontrol_p.h @@ -94,136 +94,207 @@ public: delete [] m_maskData; } - int nextMaskBlank(int pos); - int prevMaskBlank(int pos); + int nextMaskBlank(int pos) + { + int c = findInMask(pos, true, false); + m_separator |= (c != pos); + return (c != -1 ? c : m_maxLength); + } + + int prevMaskBlank(int pos) + { + int c = findInMask(pos, false, false); + m_separator |= (c != pos); + return (c != -1 ? c : 0); + } + + bool isUndoAvailable() const { return !m_readOnly && m_undoState; } + bool isRedoAvailable() const { return !m_readOnly && m_undoState < (int)m_history.size(); } + void clearUndo() { m_history.clear(); m_modifiedState = m_undoState = 0; } - bool isUndoAvailable() const; - bool isRedoAvailable() const; - void clearUndo(); - bool isModified() const; - void setModified(bool modified); + bool isModified() const { return m_modifiedState != m_undoState; } + void setModified(bool modified) { m_modifiedState = modified ? -1 : m_undoState; } - bool allSelected() const; - bool hasSelectedText() const; + bool allSelected() const { return !m_text.isEmpty() && m_selstart == 0 && m_selend == (int)m_text.length(); } + bool hasSelectedText() const { return !m_text.isEmpty() && m_selend > m_selstart; } - int width() const; - int height() const; - int ascent() const; - qreal naturalTextWidth() const; + int width() const { return qRound(m_textLayout.lineAt(0).width()) + 1; } + int height() const { return qRound(m_textLayout.lineAt(0).height()) + 1; } + int ascent() const { return m_ascent; } + qreal naturalTextWidth() const { return m_textLayout.lineAt(0).naturalTextWidth(); } void setSelection(int start, int length); - QString selectedText() const; - QString textBeforeSelection() const; - QString textAfterSelection() const; + inline QString selectedText() const { return hasSelectedText() ? m_text.mid(m_selstart, m_selend - m_selstart) : QString(); } + QString textBeforeSelection() const { return hasSelectedText() ? m_text.left(m_selstart) : QString(); } + QString textAfterSelection() const { return hasSelectedText() ? m_text.mid(m_selend) : QString(); } - int selectionStart() const; - int selectionEnd() const; - bool inSelection(int x) const; + int selectionStart() const { return hasSelectedText() ? m_selstart : -1; } + int selectionEnd() const { return hasSelectedText() ? m_selend : -1; } + bool inSelection(int x) const + { + if (m_selstart >= m_selend) + return false; + int pos = xToPos(x, QTextLine::CursorOnCharacter); + return pos >= m_selstart && pos < m_selend; + } - void removeSelection(); + void removeSelection() + { + int priorState = m_undoState; + removeSelectedText(); + finishChange(priorState); + } - int start() const; - int end() const; + int start() const { return 0; } + int end() const { return m_text.length(); } #ifndef QT_NO_CLIPBOARD void copy(QClipboard::Mode mode = QClipboard::Clipboard) const; void paste(QClipboard::Mode mode = QClipboard::Clipboard); #endif - int cursor() const; - int preeditCursor() const; + int cursor() const{ return m_cursor; } + int preeditCursor() const { return m_preeditCursor; } + + int cursorWidth() const { return m_cursorWidth; } + void setCursorWidth(int value) { m_cursorWidth = value; } - int cursorWidth() const; - void setCursorWidth(int value); void moveCursor(int pos, bool mark = false); - void cursorForward(bool mark, int steps); - void cursorWordForward(bool mark); - void cursorWordBackward(bool mark); - void home(bool mark); - void end(bool mark); + void cursorForward(bool mark, int steps) + { + int c = m_cursor; + if (steps > 0) { + while (steps--) + c = m_textLayout.nextCursorPosition(c); + } else if (steps < 0) { + while (steps++) + c = m_textLayout.previousCursorPosition(c); + } + moveCursor(c, mark); + } + + void cursorWordForward(bool mark) { moveCursor(m_textLayout.nextCursorPosition(m_cursor, QTextLayout::SkipWords), mark); } + void cursorWordBackward(bool mark) { moveCursor(m_textLayout.previousCursorPosition(m_cursor, QTextLayout::SkipWords), mark); } + + void home(bool mark) { moveCursor(0, mark); } + void end(bool mark) { moveCursor(text().length(), mark); } int xToPos(int x, QTextLine::CursorPosition = QTextLine::CursorBetweenCharacters) const; QRect cursorRect() const; - qreal cursorToX(int cursor) const; - qreal cursorToX() const; - - bool isReadOnly() const; - void setReadOnly(bool enable); + qreal cursorToX(int cursor) const { return m_textLayout.lineAt(0).cursorToX(cursor); } + qreal cursorToX() const + { + int cursor = m_cursor; + if (m_preeditCursor != -1) + cursor += m_preeditCursor; + return cursorToX(cursor); + } - QString text() const; - void setText(const QString &txt); + bool isReadOnly() const { return m_readOnly; } + void setReadOnly(bool enable) { m_readOnly = enable; } - QString displayText() const; + QString text() const + { + QString res = m_maskData ? stripString(m_text) : m_text; + return (res.isNull() ? QString::fromLatin1("") : res); + } + void setText(const QString &txt) { internalSetText(txt, -1, false); } + QString displayText() const { return m_textLayout.text(); } void backspace(); void del(); - void deselect(); - void selectAll(); + void deselect() { internalDeselect(); finishChange(); } + void selectAll() { m_selstart = m_selend = m_cursor = 0; moveCursor(m_text.length(), true); } + void insert(const QString &); void clear(); - void undo(); - void redo(); + void undo() { internalUndo(); finishChange(-1, true); } + void redo() { internalRedo(); finishChange(); } void selectWordAtPos(int); - uint echoMode() const; - void setEchoMode(uint mode); + uint echoMode() const { return m_echoMode; } + void setEchoMode(uint mode) + { + m_echoMode = mode; + m_passwordEchoEditing = false; + updateDisplayText(); + } - void setMaxLength(int maxLength); - int maxLength() const; + int maxLength() const { return m_maxLength; } + void setMaxLength(int maxLength) + { + if (m_maskData) + return; + m_maxLength = maxLength; + setText(m_text); + } #ifndef QT_NO_VALIDATOR - const QValidator *validator() const; - void setValidator(const QValidator *); + const QValidator *validator() const { return m_validator; } + void setValidator(const QValidator *v) { m_validator = const_cast(v); } #endif #ifndef QT_NO_COMPLETER - QCompleter *completer() const; - void setCompleter(const QCompleter*); + QCompleter *completer() const { return m_completer; } + /* Note that you must set the widget for the completer seperately */ + void setCompleter(const QCompleter *c) { m_completer = const_cast(c); } void complete(int key); #endif - void setCursorPosition(int pos); - int cursorPosition() const; + int cursorPosition() const { return m_cursor; } + void setCursorPosition(int pos) { if (pos <= m_text.length()) moveCursor(qMax(0, pos)); } - bool hasAcceptableInput() const; + bool hasAcceptableInput() const { return hasAcceptableInput(m_text); } bool fixup(); - QString inputMask() const; - void setInputMask(const QString &mask); + QString inputMask() const { return m_maskData ? m_inputMask + QLatin1Char(';') + m_blank : QString(); } + void setInputMask(const QString &mask) + { + parseInputMask(mask); + if (m_maskData) + moveCursor(nextMaskBlank(0)); + } // input methods #ifndef QT_NO_IM - bool composeMode() const; - void setPreeditArea(int cursor, const QString &text); + bool composeMode() const { return !m_textLayout.preeditAreaText().isEmpty(); } + void setPreeditArea(int cursor, const QString &text) { m_textLayout.setPreeditArea(cursor, text); } #endif - QString preeditAreaText() const; + QString preeditAreaText() const { return m_textLayout.preeditAreaText(); } void updatePasswordEchoEditing(bool editing); - bool passwordEchoEditing() const; + bool passwordEchoEditing() const { return m_passwordEchoEditing; } - QChar passwordCharacter() const; - void setPasswordCharacter(const QChar &character); + QChar passwordCharacter() const { return m_passwordCharacter; } + void setPasswordCharacter(const QChar &character) { m_passwordCharacter = character; updateDisplayText(); } - Qt::LayoutDirection layoutDirection() const; - void setLayoutDirection(Qt::LayoutDirection direction); - void setFont(const QFont &font); + Qt::LayoutDirection layoutDirection() const { return m_layoutDirection; } + void setLayoutDirection(Qt::LayoutDirection direction) + { + if (direction != m_layoutDirection) { + m_layoutDirection = direction; + updateDisplayText(); + } + } + + void setFont(const QFont &font) { m_textLayout.setFont(font); updateDisplayText(); } void processInputMethodEvent(QInputMethodEvent *event); void processMouseEvent(QMouseEvent* ev); void processKeyEvent(QKeyEvent* ev); - int cursorBlinkPeriod() const; + int cursorBlinkPeriod() const { return m_blinkPeriod; } void setCursorBlinkPeriod(int msec); - QString cancelText() const; - void setCancelText(const QString &text); + QString cancelText() const { return m_cancelText; } + void setCancelText(const QString &text) { m_cancelText = text; } - const QPalette &palette() const; - void setPalette(const QPalette &); + const QPalette &palette() const { return m_palette; } + void setPalette(const QPalette &p) { m_palette = p; } enum DrawFlags { DrawText = 0x01, @@ -363,406 +434,6 @@ private Q_SLOTS: }; -inline int QLineControl::nextMaskBlank(int pos) -{ - int c = findInMask(pos, true, false); - m_separator |= (c != pos); - return (c != -1 ? c : m_maxLength); -} - -inline int QLineControl::prevMaskBlank(int pos) -{ - int c = findInMask(pos, false, false); - m_separator |= (c != pos); - return (c != -1 ? c : 0); -} - -inline bool QLineControl::isUndoAvailable() const -{ - return !m_readOnly && m_undoState; -} - -inline bool QLineControl::isRedoAvailable() const -{ - return !m_readOnly && m_undoState < (int)m_history.size(); -} - -inline void QLineControl::clearUndo() -{ - m_history.clear(); - m_modifiedState = m_undoState = 0; -} - -inline bool QLineControl::isModified() const -{ - return m_modifiedState != m_undoState; -} - -inline void QLineControl::setModified(bool modified) -{ - m_modifiedState = modified ? -1 : m_undoState; -} - -inline bool QLineControl::allSelected() const -{ - return !m_text.isEmpty() && m_selstart == 0 && m_selend == (int)m_text.length(); -} - -inline bool QLineControl::hasSelectedText() const -{ - return !m_text.isEmpty() && m_selend > m_selstart; -} - -inline int QLineControl::width() const -{ - return qRound(m_textLayout.lineAt(0).width()) + 1; -} - -inline qreal QLineControl::naturalTextWidth() const -{ - return m_textLayout.lineAt(0).naturalTextWidth(); -} - -inline int QLineControl::height() const -{ - return qRound(m_textLayout.lineAt(0).height()) + 1; -} - -inline int QLineControl::ascent() const -{ - return m_ascent; -} - -inline QString QLineControl::selectedText() const -{ - if (hasSelectedText()) - return m_text.mid(m_selstart, m_selend - m_selstart); - return QString(); -} - -inline QString QLineControl::textBeforeSelection() const -{ - if (hasSelectedText()) - return m_text.left(m_selstart); - return QString(); -} - -inline QString QLineControl::textAfterSelection() const -{ - if (hasSelectedText()) - return m_text.mid(m_selend); - return QString(); -} - -inline int QLineControl::selectionStart() const -{ - return hasSelectedText() ? m_selstart : -1; -} - -inline int QLineControl::selectionEnd() const -{ - return hasSelectedText() ? m_selend : -1; -} - -inline int QLineControl::start() const -{ - return 0; -} - -inline int QLineControl::end() const -{ - return m_text.length(); -} - -inline void QLineControl::removeSelection() -{ - int priorState = m_undoState; - removeSelectedText(); - finishChange(priorState); -} - -inline bool QLineControl::inSelection(int x) const -{ - if (m_selstart >= m_selend) - return false; - int pos = xToPos(x, QTextLine::CursorOnCharacter); - return pos >= m_selstart && pos < m_selend; -} - -inline int QLineControl::cursor() const -{ - return m_cursor; -} - -inline int QLineControl::preeditCursor() const -{ - return m_preeditCursor; -} - -inline int QLineControl::cursorWidth() const -{ - return m_cursorWidth; -} - -inline void QLineControl::setCursorWidth(int value) -{ - m_cursorWidth = value; -} - -inline void QLineControl::cursorForward(bool mark, int steps) -{ - int c = m_cursor; - if (steps > 0) { - while (steps--) - c = m_textLayout.nextCursorPosition(c); - } else if (steps < 0) { - while (steps++) - c = m_textLayout.previousCursorPosition(c); - } - moveCursor(c, mark); -} - -inline void QLineControl::cursorWordForward(bool mark) -{ - moveCursor(m_textLayout.nextCursorPosition(m_cursor, QTextLayout::SkipWords), mark); -} - -inline void QLineControl::home(bool mark) -{ - moveCursor(0, mark); -} - -inline void QLineControl::end(bool mark) -{ - moveCursor(text().length(), mark); -} - -inline void QLineControl::cursorWordBackward(bool mark) -{ - moveCursor(m_textLayout.previousCursorPosition(m_cursor, QTextLayout::SkipWords), mark); -} - -inline qreal QLineControl::cursorToX(int cursor) const -{ - return m_textLayout.lineAt(0).cursorToX(cursor); -} - -inline qreal QLineControl::cursorToX() const -{ - int cursor = m_cursor; - if (m_preeditCursor != -1) - cursor += m_preeditCursor; - return cursorToX(cursor); -} - -inline bool QLineControl::isReadOnly() const -{ - return m_readOnly; -} - -inline void QLineControl::setReadOnly(bool enable) -{ - m_readOnly = enable; -} - -inline QString QLineControl::text() const -{ - QString res = m_maskData ? stripString(m_text) : m_text; - return (res.isNull() ? QString::fromLatin1("") : res); -} - -inline void QLineControl::setText(const QString &txt) -{ - internalSetText(txt, -1, false); -} - -inline QString QLineControl::displayText() const -{ - return m_textLayout.text(); -} - -inline void QLineControl::deselect() -{ - internalDeselect(); - finishChange(); -} - -inline void QLineControl::selectAll() -{ - m_selstart = m_selend = m_cursor = 0; - moveCursor(m_text.length(), true); -} - -inline void QLineControl::undo() -{ - internalUndo(); - finishChange(-1, true); -} - -inline void QLineControl::redo() -{ - internalRedo(); - finishChange(); -} - -inline uint QLineControl::echoMode() const -{ - return m_echoMode; -} - -inline void QLineControl::setEchoMode(uint mode) -{ - m_echoMode = mode; - m_passwordEchoEditing = false; - updateDisplayText(); -} - -inline void QLineControl::setMaxLength(int maxLength) -{ - if (m_maskData) - return; - m_maxLength = maxLength; - setText(m_text); -} - -inline int QLineControl::maxLength() const -{ - return m_maxLength; -} - -#ifndef QT_NO_VALIDATOR -inline const QValidator *QLineControl::validator() const -{ - return m_validator; -} - -inline void QLineControl::setValidator(const QValidator *v) -{ - m_validator = const_cast(v); -} -#endif - -#ifndef QT_NO_COMPLETER -inline QCompleter *QLineControl::completer() const -{ - return m_completer; -} - -/* Note that you must set the widget for the completer seperately */ -inline void QLineControl::setCompleter(const QCompleter* c) -{ - m_completer = const_cast(c); -} -#endif - -inline void QLineControl::setCursorPosition(int pos) -{ - if (pos < 0) - pos = 0; - if (pos <= m_text.length()) - moveCursor(pos); -} - -inline int QLineControl::cursorPosition() const -{ - return m_cursor; -} - -inline bool QLineControl::hasAcceptableInput() const -{ - return hasAcceptableInput(m_text); -} - -inline QString QLineControl::inputMask() const -{ - return m_maskData ? m_inputMask + QLatin1Char(';') + m_blank : QString(); -} - -inline void QLineControl::setInputMask(const QString &mask) -{ - parseInputMask(mask); - if (m_maskData) - moveCursor(nextMaskBlank(0)); -} - -// input methods -#ifndef QT_NO_IM -inline bool QLineControl::composeMode() const -{ - return !m_textLayout.preeditAreaText().isEmpty(); -} - -inline void QLineControl::setPreeditArea(int cursor, const QString &text) -{ - m_textLayout.setPreeditArea(cursor, text); -} -#endif - -inline QString QLineControl::preeditAreaText() const -{ - return m_textLayout.preeditAreaText(); -} - -inline bool QLineControl::passwordEchoEditing() const -{ - return m_passwordEchoEditing; -} - -inline QChar QLineControl::passwordCharacter() const -{ - return m_passwordCharacter; -} - -inline void QLineControl::setPasswordCharacter(const QChar &character) -{ - m_passwordCharacter = character; - updateDisplayText(); -} - -inline Qt::LayoutDirection QLineControl::layoutDirection() const -{ - return m_layoutDirection; -} - -inline void QLineControl::setLayoutDirection(Qt::LayoutDirection direction) -{ - if (direction != m_layoutDirection) { - m_layoutDirection = direction; - updateDisplayText(); - } -} - -inline void QLineControl::setFont(const QFont &font) -{ - m_textLayout.setFont(font); - updateDisplayText(); -} - -inline int QLineControl::cursorBlinkPeriod() const -{ - return m_blinkPeriod; -} - -inline QString QLineControl::cancelText() const -{ - return m_cancelText; -} - -inline void QLineControl::setCancelText(const QString &text) -{ - m_cancelText = text; -} - -inline const QPalette & QLineControl::palette() const -{ - return m_palette; -} - -inline void QLineControl::setPalette(const QPalette &p) -{ - m_palette = p; -} - QT_END_NAMESPACE QT_END_HEADER diff --git a/src/multimedia/audio/qaudiooutput_win32_p.cpp b/src/multimedia/audio/qaudiooutput_win32_p.cpp index ab8da53..4bcbd09 100644 --- a/src/multimedia/audio/qaudiooutput_win32_p.cpp +++ b/src/multimedia/audio/qaudiooutput_win32_p.cpp @@ -88,7 +88,7 @@ QAudioOutputPrivate::~QAudioOutputPrivate() DeleteCriticalSection(&waveOutCriticalSection); } -void QT_WIN_CALLBACK QAudioOutputPrivate::waveOutProc( HWAVEOUT hWaveOut, UINT uMsg, +void CALLBACK QAudioOutputPrivate::waveOutProc( HWAVEOUT hWaveOut, UINT uMsg, DWORD dwInstance, DWORD dwParam1, DWORD dwParam2 ) { Q_UNUSED(dwParam1) diff --git a/src/plugins/imageformats/tiff/qtiffhandler.cpp b/src/plugins/imageformats/tiff/qtiffhandler.cpp index 31e0c92..619aa4e 100644 --- a/src/plugins/imageformats/tiff/qtiffhandler.cpp +++ b/src/plugins/imageformats/tiff/qtiffhandler.cpp @@ -385,8 +385,8 @@ static bool checkGrayscale(const QVector &colorTable) const bool increasing = (colorTable.at(0) == 0xff000000); for (int i = 0; i < 256; ++i) { - if (increasing && colorTable.at(i) != qRgb(i, i, i) - || !increasing && colorTable.at(i) != qRgb(255 - i, 255 - i, 255 - i)) + if ((increasing && colorTable.at(i) != qRgb(i, i, i)) + || (!increasing && colorTable.at(i) != qRgb(255 - i, 255 - i, 255 - i))) return false; } return true; diff --git a/tools/qdoc3/generator.cpp b/tools/qdoc3/generator.cpp index 0c6497b..0e90615 100644 --- a/tools/qdoc3/generator.cpp +++ b/tools/qdoc3/generator.cpp @@ -1194,12 +1194,12 @@ void Generator::appendSortedQmlNames(Text& text, QMap classMap; int index = 0; -#ifdef DEBUG_MULTIPLE QDOCCONF_FILES +#ifdef DEBUG_MULTIPLE qDebug() << "Generator::appendSortedQmlNames():" << base->name() << "is inherited by..."; #endif for (int i = 0; i < subs.size(); ++i) { Text t; -#ifdef DEBUG_MULTIPLE QDOCCONF_FILES +#ifdef DEBUG_MULTIPLE qDebug() << " " << subs[i]->name(); #endif appendFullName(t, subs[i], base, marker); diff --git a/tools/qdoc3/node.cpp b/tools/qdoc3/node.cpp index d60ff73..0d27937 100644 --- a/tools/qdoc3/node.cpp +++ b/tools/qdoc3/node.cpp @@ -1297,7 +1297,7 @@ QmlClassNode::QmlClassNode(InnerNode *parent, */ QmlClassNode::~QmlClassNode() { -#ifdef DEBUG_MULTIPLE QDOCCONF_FILES +#ifdef DEBUG_MULTIPLE qDebug() << "Deleting QmlClassNode:" << name(); #endif } @@ -1334,7 +1334,7 @@ QString QmlClassNode::fileBase() const void QmlClassNode::addInheritedBy(const QString& base, Node* sub) { inheritedBy.insert(base,sub); -#ifdef DEBUG_MULTIPLE QDOCCONF_FILES +#ifdef DEBUG_MULTIPLE qDebug() << "QmlClassNode::addInheritedBy(): insert" << base << sub->name() << inheritedBy.size(); #endif } @@ -1347,7 +1347,7 @@ void QmlClassNode::subclasses(const QString& base, NodeList& subs) subs.clear(); if (inheritedBy.count(base) > 0) { subs = inheritedBy.values(base); -#ifdef DEBUG_MULTIPLE QDOCCONF_FILES +#ifdef DEBUG_MULTIPLE qDebug() << "QmlClassNode::subclasses():" << inheritedBy.count(base) << base << "subs:" << subs.size() << "total size:" << inheritedBy.size(); #endif -- cgit v0.12 From b7f48eee301e973fcfae08dfd8997538b6dbe251 Mon Sep 17 00:00:00 2001 From: Olivier Goffart Date: Thu, 25 Mar 2010 19:05:18 +0100 Subject: Fix wrong arguments order in a warning in QObject::moveToThread Task-number: QTBUG-8478 --- src/corelib/kernel/qobject.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/corelib/kernel/qobject.cpp b/src/corelib/kernel/qobject.cpp index 68f34ca..53c5b3b 100644 --- a/src/corelib/kernel/qobject.cpp +++ b/src/corelib/kernel/qobject.cpp @@ -1479,7 +1479,7 @@ void QObject::moveToThread(QThread *targetThread) } else if (d->threadData != currentData) { qWarning("QObject::moveToThread: Current thread (%p) is not the object's thread (%p).\n" "Cannot move to target thread (%p)\n", - d->threadData->thread, currentData->thread, targetData->thread); + currentData->thread, d->threadData->thread, targetData->thread); #ifdef Q_WS_MAC qWarning("On Mac OS X, you might be loading two sets of Qt binaries into the same process. " -- cgit v0.12 From 075918e796b98155b81871f15bf2eb266a783561 Mon Sep 17 00:00:00 2001 From: Olivier Goffart Date: Thu, 25 Mar 2010 21:19:44 +0100 Subject: Fix bad merge --- tools/qdoc3/generator.cpp | 22 +++++++--------------- 1 file changed, 7 insertions(+), 15 deletions(-) diff --git a/tools/qdoc3/generator.cpp b/tools/qdoc3/generator.cpp index c5b150c..3f955bf 100644 --- a/tools/qdoc3/generator.cpp +++ b/tools/qdoc3/generator.cpp @@ -322,11 +322,11 @@ void Generator::generateBody(const Node *node, CodeMarker *marker) bool quiet = false; if (node->type() == Node::Function) { -#if 0 +#if 0 const FunctionNode *func = (const FunctionNode *) node; if (func->isOverload() && func->metaness() != FunctionNode::Ctor) generateOverload(node, marker); -#endif +#endif } else if (node->type() == Node::Fake) { const FakeNode *fake = static_cast(node); @@ -347,7 +347,7 @@ void Generator::generateBody(const Node *node, CodeMarker *marker) if (func->reimplementedFrom() != 0) generateReimplementedFrom(func, marker); } - + if (!generateText(node->doc().body(), node, marker)) if (node->isReimp()) return; @@ -452,7 +452,7 @@ void Generator::generateBody(const Node *node, CodeMarker *marker) // Now we put this at the top, before the other text. if (func->reimplementedFrom() != 0) generateReimplementedFrom(func, marker); -#endif +#endif } } @@ -544,7 +544,7 @@ void Generator::generateInheritedBy(const ClassNode *classe, example is being formatted. It outputs the list of source files comprising the example, and the list of images used by the example. The images are copied into a subtree of - \c{...doc/html/images/used-in-examples/...} + \c{...doc/html/images/used-in-examples/...} */ void Generator::generateFileList(const FakeNode* fake, CodeMarker* marker, @@ -946,7 +946,7 @@ void Generator::generateThreadSafeness(const Node *node, CodeMarker *marker) } ++c; } - if (!exceptions) + if (!exceptions) text << "."; else if (threadSafeness == Node::Reentrant) { if (nonreentrant.isEmpty()) { @@ -1033,7 +1033,7 @@ void Generator::generateOverload(const Node *node, CodeMarker *marker) text << Atom::ParaLeft << "This function overloads "; QString t = node->name() + "()"; - text << Atom::AutoLink << t + text << Atom::AutoLink << t << Atom::ParaRight; generateText(text, node, marker); } @@ -1194,20 +1194,12 @@ void Generator::appendSortedQmlNames(Text& text, QMap classMap; int index = 0; -<<<<<<< HEAD -#ifdef DEBUG_MULTIPLE -======= #ifdef DEBUG_MULTIPLE_QDOCCONF_FILES ->>>>>>> origin/4.7 qDebug() << "Generator::appendSortedQmlNames():" << base->name() << "is inherited by..."; #endif for (int i = 0; i < subs.size(); ++i) { Text t; -<<<<<<< HEAD -#ifdef DEBUG_MULTIPLE -======= #ifdef DEBUG_MULTIPLE_QDOCCONF_FILES ->>>>>>> origin/4.7 qDebug() << " " << subs[i]->name(); #endif appendFullName(t, subs[i], base, marker); -- cgit v0.12 From 7b9fd32139d1e381f45a0655dafbfc98dc9aca39 Mon Sep 17 00:00:00 2001 From: Eskil Abrahamsen Blomfeldt Date: Fri, 26 Mar 2010 09:47:06 +0100 Subject: Fix QItemDelegate::textRectangle The textRectangle should contain all pixels in the text, including those which are only partially covered, so the width and height should never be rounded down. Adding support for fractional font metrics on Mac made this bug visible. Fixes test failure in itemdelegate autotest. Reviewed-by: Olivier --- src/gui/itemviews/qitemdelegate.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/gui/itemviews/qitemdelegate.cpp b/src/gui/itemviews/qitemdelegate.cpp index 7d8e103..25ea4c9 100644 --- a/src/gui/itemviews/qitemdelegate.cpp +++ b/src/gui/itemviews/qitemdelegate.cpp @@ -69,6 +69,7 @@ #include #include #include +#include #include @@ -1148,7 +1149,8 @@ QRect QItemDelegate::textRectangle(QPainter * /*painter*/, const QRect &rect, d->textLayout.setTextOption(d->textOption); d->textLayout.setFont(font); d->textLayout.setText(QItemDelegatePrivate::replaceNewLine(text)); - const QSize size = d->doTextLayout(rect.width()).toSize(); + QSizeF fpSize = d->doTextLayout(rect.width()); + const QSize size = QSize(qCeil(fpSize.width()), qCeil(fpSize.height())); // ###: textRectangle should take style option as argument const int textMargin = QApplication::style()->pixelMetric(QStyle::PM_FocusFrameHMargin) + 1; return QRect(0, 0, size.width() + 2 * textMargin, size.height()); -- cgit v0.12 From 8d5ae9bca2cbe8c5a7f764b8ba325f79c0bbfe62 Mon Sep 17 00:00:00 2001 From: Gunnar Sletta Date: Fri, 26 Mar 2010 10:06:50 +0100 Subject: Safeguard the colortable access when converting corrupted indexed8 Fixes: QTBUG-5510 Reviewed-by: Eskil --- src/gui/image/qimage.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/gui/image/qimage.cpp b/src/gui/image/qimage.cpp index 94307de..233c58d 100644 --- a/src/gui/image/qimage.cpp +++ b/src/gui/image/qimage.cpp @@ -2988,19 +2988,19 @@ static void convert_Indexed8_to_X32(QImageData *dest, const QImageData *src, Qt: colorTable.resize(256); for (int i=0; i<256; ++i) colorTable[i] = qRgb(i, i, i); - } int w = src->width; const uchar *src_data = src->data; uchar *dest_data = dest->data; + int tableSize = colorTable.size() - 1; for (int y = 0; y < src->height; y++) { uint *p = (uint *)dest_data; const uchar *b = src_data; uint *end = p + w; while (p < end) - *p++ = colorTable.at(*b++); + *p++ = colorTable.at(qMin(tableSize, *b++)); src_data += src->bytes_per_line; dest_data += dest->bytes_per_line; -- cgit v0.12 From 348d22c37611066dc7efc9aac820d77bcf3bbbab Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Samuel=20R=C3=B8dal?= Date: Mon, 8 Mar 2010 13:38:08 +0100 Subject: Included ARM NEON optimizations from pixman in Qt. On the N900 16 bit text blending is 30 - 50 % faster, and ARGB32PM on RGB16 image blending now runs in 1/10th of the time it used to. We now make ARGB32PM the default pixmap format for alpha pixmaps instead of ARGB8565PM which is unaligned and bad for performance. The relevant numbers: Mostly opaque pixels: ARGB24 on ARGB24 using QPainter..................: 336,813033 ARGB32 on ARGB32 using QPainter.................: 18,419387 RGB16 on ARGB24 using QPainter..................: 167,301014 RGB16 on ARGB32 using QPainter..................: 17,279372 ARGB24 on RGB16 using QPainter..................: 35,100147 ARGB32PM on RGB16 using QPainter................: 15,924256 No opaque pixels: ARGB24 on ARGB24 using QPainter..................: 412,190765 ARGB32 on ARGB32 using QPainter.................: 16,818389 RGB16 on ARGB24 using QPainter..................: 170,957878 RGB16 on ARGB32 using QPainter..................: 16,742984 ARGB24 on RGB16 using QPainter..................: 93,600482 ARGB32PM on RGB16 using QPainter................: 15,999310 So switching to ARGB32PM should give a boost in all areas. Task-number: QTBUG-6684 Reviewed-by: Gunnar Sletta --- doc/src/legal/3rdparty.qdoc | 39 + src/3rdparty/pixman/README | 26 + src/3rdparty/pixman/pixman-arm-neon-asm.S | 1709 +++++++++++++++++++++++++++++ src/3rdparty/pixman/pixman-arm-neon-asm.h | 906 +++++++++++++++ src/gui/image/qpixmap_raster.cpp | 4 + src/gui/painting/painting.pri | 14 +- src/gui/painting/qblendfunctions.cpp | 8 +- src/gui/painting/qdrawhelper.cpp | 4 + src/gui/painting/qdrawhelper_neon.cpp | 144 ++- src/gui/painting/qdrawhelper_neon_p.h | 15 + 10 files changed, 2820 insertions(+), 49 deletions(-) create mode 100644 src/3rdparty/pixman/README create mode 100644 src/3rdparty/pixman/pixman-arm-neon-asm.S create mode 100644 src/3rdparty/pixman/pixman-arm-neon-asm.h diff --git a/doc/src/legal/3rdparty.qdoc b/doc/src/legal/3rdparty.qdoc index d608038..8d0cd2a 100644 --- a/doc/src/legal/3rdparty.qdoc +++ b/doc/src/legal/3rdparty.qdoc @@ -454,4 +454,43 @@ OF THIS SOFTWARE OR ITS FITNESS FOR ANY PARTICULAR PURPOSE. See \c src/3rdparty/webkit/JavaScriptCore/wtf/dtoa.cpp for license details. + + \section1 Pixman (\c pixman) version 0.17.11 + + \e{pixman is a library that provides low-level pixel manipulation + features such as image compositing and trapezoid rasterization.} -- quoted + from \c src/3rdparty/pixman/README + + We are only using the pixman-arm-neon-asm.h and pixman-arm-neon-asm.S + source files which have the following copyright and license header: + + \hr + + Copyright © 2009 Nokia Corporation + + Permission is hereby granted, free of charge, to any person obtaining a + copy of this software and associated documentation files (the "Software"), + to deal in the Software without restriction, including without limitation + the rights to use, copy, modify, merge, publish, distribute, sublicense, + and/or sell copies of the Software, and to permit persons to whom the + Software is furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice (including the next + paragraph) shall be included in all copies or substantial portions of the + Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER + DEALINGS IN THE SOFTWARE. + + Author: Siarhei Siamashka (siarhei.siamashka@nokia.com) + + \hr + + See \c src/3rdparty/pixman/pixman-arm-neon-asm.h and + \c src/3rdparty/pixman/pixman-arm-neon-asm.S */ diff --git a/src/3rdparty/pixman/README b/src/3rdparty/pixman/README new file mode 100644 index 0000000..843b069 --- /dev/null +++ b/src/3rdparty/pixman/README @@ -0,0 +1,26 @@ +pixman is a library that provides low-level pixel manipulation +features such as image compositing and trapezoid rasterization. + +Please submit bugs & patches to the libpixman bugzilla: + + https://bugs.freedesktop.org/enter_bug.cgi?product=pixman + +All questions regarding this software should be directed to either the +Xorg mailing list: + + http://lists.freedesktop.org/mailman/listinfo/xorg + +or the cairo mailing list: + + http://lists.freedesktop.org/mailman/listinfo/cairo + +The master development code repository can be found at: + + git://anongit.freedesktop.org/git/pixman + + http://gitweb.freedesktop.org/?p=pixman;a=summary + +For more information on the git code manager, see: + + http://wiki.x.org/wiki/GitPage + diff --git a/src/3rdparty/pixman/pixman-arm-neon-asm.S b/src/3rdparty/pixman/pixman-arm-neon-asm.S new file mode 100644 index 0000000..eb8cc4c --- /dev/null +++ b/src/3rdparty/pixman/pixman-arm-neon-asm.S @@ -0,0 +1,1709 @@ +/* + * Copyright © 2009 Nokia Corporation + * + * Permission is hereby granted, free of charge, to any person obtaining a + * copy of this software and associated documentation files (the "Software"), + * to deal in the Software without restriction, including without limitation + * the rights to use, copy, modify, merge, publish, distribute, sublicense, + * and/or sell copies of the Software, and to permit persons to whom the + * Software is furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice (including the next + * paragraph) shall be included in all copies or substantial portions of the + * Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER + * DEALINGS IN THE SOFTWARE. + * + * Author: Siarhei Siamashka (siarhei.siamashka@nokia.com) + */ + +/* + * This file contains implementations of NEON optimized pixel processing + * functions. There is no full and detailed tutorial, but some functions + * (those which are exposing some new or interesting features) are + * extensively commented and can be used as examples. + * + * You may want to have a look at the comments for following functions: + * - pixman_composite_over_8888_0565_asm_neon + * - pixman_composite_over_n_8_0565_asm_neon + */ + +/* Prevent the stack from becoming executable for no reason... */ +#if defined(__linux__) && defined(__ELF__) +.section .note.GNU-stack,"",%progbits +#endif + + .text + .fpu neon + .arch armv7a + .altmacro + +#include "pixman-arm-neon-asm.h" + +/* Global configuration options and preferences */ + +/* + * The code can optionally make use of unaligned memory accesses to improve + * performance of handling leading/trailing pixels for each scanline. + * Configuration variable RESPECT_STRICT_ALIGNMENT can be set to 0 for + * example in linux if unaligned memory accesses are not configured to + * generate.exceptions. + */ +.set RESPECT_STRICT_ALIGNMENT, 1 + +/* + * Set default prefetch type. There is a choice between the following options: + * + * PREFETCH_TYPE_NONE (may be useful for the ARM cores where PLD is set to work + * as NOP to workaround some HW bugs or for whatever other reason) + * + * PREFETCH_TYPE_SIMPLE (may be useful for simple single-issue ARM cores where + * advanced prefetch intruduces heavy overhead) + * + * PREFETCH_TYPE_ADVANCED (useful for superscalar cores such as ARM Cortex-A8 + * which can run ARM and NEON instructions simultaneously so that extra ARM + * instructions do not add (many) extra cycles, but improve prefetch efficiency) + * + * Note: some types of function can't support advanced prefetch and fallback + * to simple one (those which handle 24bpp pixels) + */ +.set PREFETCH_TYPE_DEFAULT, PREFETCH_TYPE_ADVANCED + +/* Prefetch distance in pixels for simple prefetch */ +.set PREFETCH_DISTANCE_SIMPLE, 64 + +/* + * Implementation of pixman_composite_over_8888_0565_asm_neon + * + * This function takes a8r8g8b8 source buffer, r5g6b5 destination buffer and + * performs OVER compositing operation. Function fast_composite_over_8888_0565 + * from pixman-fast-path.c does the same in C and can be used as a reference. + * + * First we need to have some NEON assembly code which can do the actual + * operation on the pixels and provide it to the template macro. + * + * Template macro quite conveniently takes care of emitting all the necessary + * code for memory reading and writing (including quite tricky cases of + * handling unaligned leading/trailing pixels), so we only need to deal with + * the data in NEON registers. + * + * NEON registers allocation in general is recommented to be the following: + * d0, d1, d2, d3 - contain loaded source pixel data + * d4, d5, d6, d7 - contain loaded destination pixels (if they are needed) + * d24, d25, d26, d27 - contain loading mask pixel data (if mask is used) + * d28, d29, d30, d31 - place for storing the result (destination pixels) + * + * As can be seen above, four 64-bit NEON registers are used for keeping + * intermediate pixel data and up to 8 pixels can be processed in one step + * for 32bpp formats (16 pixels for 16bpp, 32 pixels for 8bpp). + * + * This particular function uses the following registers allocation: + * d0, d1, d2, d3 - contain loaded source pixel data + * d4, d5 - contain loaded destination pixels (they are needed) + * d28, d29 - place for storing the result (destination pixels) + */ + +/* + * Step one. We need to have some code to do some arithmetics on pixel data. + * This is implemented as a pair of macros: '*_head' and '*_tail'. When used + * back-to-back, they take pixel data from {d0, d1, d2, d3} and {d4, d5}, + * perform all the needed calculations and write the result to {d28, d29}. + * The rationale for having two macros and not just one will be explained + * later. In practice, any single monolitic function which does the work can + * be split into two parts in any arbitrary way without affecting correctness. + * + * There is one special trick here too. Common template macro can optionally + * make our life a bit easier by doing R, G, B, A color components + * deinterleaving for 32bpp pixel formats (and this feature is used in + * 'pixman_composite_over_8888_0565_asm_neon' function). So it means that + * instead of having 8 packed pixels in {d0, d1, d2, d3} registers, we + * actually use d0 register for blue channel (a vector of eight 8-bit + * values), d1 register for green, d2 for red and d3 for alpha. This + * simple conversion can be also done with a few NEON instructions: + * + * Packed to planar conversion: + * vuzp.8 d0, d1 + * vuzp.8 d2, d3 + * vuzp.8 d1, d3 + * vuzp.8 d0, d2 + * + * Planar to packed conversion: + * vzip.8 d0, d2 + * vzip.8 d1, d3 + * vzip.8 d2, d3 + * vzip.8 d0, d1 + * + * But pixel can be loaded directly in planar format using VLD4.8 NEON + * instruction. It is 1 cycle slower than VLD1.32, so this is not always + * desirable, that's why deinterleaving is optional. + * + * But anyway, here is the code: + */ +.macro pixman_composite_over_8888_0565_process_pixblock_head + /* convert 8 r5g6b5 pixel data from {d4, d5} to planar 8-bit format + and put data into d6 - red, d7 - green, d30 - blue */ + vshrn.u16 d6, q2, #8 + vshrn.u16 d7, q2, #3 + vsli.u16 q2, q2, #5 + vsri.u8 d6, d6, #5 + vmvn.8 d3, d3 /* invert source alpha */ + vsri.u8 d7, d7, #6 + vshrn.u16 d30, q2, #2 + /* now do alpha blending, storing results in 8-bit planar format + into d16 - red, d19 - green, d18 - blue */ + vmull.u8 q10, d3, d6 + vmull.u8 q11, d3, d7 + vmull.u8 q12, d3, d30 + vrshr.u16 q13, q10, #8 + vrshr.u16 q3, q11, #8 + vrshr.u16 q15, q12, #8 + vraddhn.u16 d20, q10, q13 + vraddhn.u16 d23, q11, q3 + vraddhn.u16 d22, q12, q15 +.endm + +.macro pixman_composite_over_8888_0565_process_pixblock_tail + /* ... continue alpha blending */ + vqadd.u8 d16, d2, d20 + vqadd.u8 q9, q0, q11 + /* convert the result to r5g6b5 and store it into {d28, d29} */ + vshll.u8 q14, d16, #8 + vshll.u8 q8, d19, #8 + vshll.u8 q9, d18, #8 + vsri.u16 q14, q8, #5 + vsri.u16 q14, q9, #11 +.endm + +/* + * OK, now we got almost everything that we need. Using the above two + * macros, the work can be done right. But now we want to optimize + * it a bit. ARM Cortex-A8 is an in-order core, and benefits really + * a lot from good code scheduling and software pipelining. + * + * Let's construct some code, which will run in the core main loop. + * Some pseudo-code of the main loop will look like this: + * head + * while (...) { + * tail + * head + * } + * tail + * + * It may look a bit weird, but this setup allows to hide instruction + * latencies better and also utilize dual-issue capability more + * efficiently (make pairs of load-store and ALU instructions). + * + * So what we need now is a '*_tail_head' macro, which will be used + * in the core main loop. A trivial straightforward implementation + * of this macro would look like this: + * + * pixman_composite_over_8888_0565_process_pixblock_tail + * vst1.16 {d28, d29}, [DST_W, :128]! + * vld1.16 {d4, d5}, [DST_R, :128]! + * vld4.32 {d0, d1, d2, d3}, [SRC]! + * pixman_composite_over_8888_0565_process_pixblock_head + * cache_preload 8, 8 + * + * Now it also got some VLD/VST instructions. We simply can't move from + * processing one block of pixels to the other one with just arithmetics. + * The previously processed data needs to be written to memory and new + * data needs to be fetched. Fortunately, this main loop does not deal + * with partial leading/trailing pixels and can load/store a full block + * of pixels in a bulk. Additionally, destination buffer is already + * 16 bytes aligned here (which is good for performance). + * + * New things here are DST_R, DST_W, SRC and MASK identifiers. These + * are the aliases for ARM registers which are used as pointers for + * accessing data. We maintain separate pointers for reading and writing + * destination buffer (DST_R and DST_W). + * + * Another new thing is 'cache_preload' macro. It is used for prefetching + * data into CPU L2 cache and improve performance when dealing with large + * images which are far larger than cache size. It uses one argument + * (actually two, but they need to be the same here) - number of pixels + * in a block. Looking into 'pixman-arm-neon-asm.h' can provide some + * details about this macro. Moreover, if good performance is needed + * the code from this macro needs to be copied into '*_tail_head' macro + * and mixed with the rest of code for optimal instructions scheduling. + * We are actually doing it below. + * + * Now after all the explanations, here is the optimized code. + * Different instruction streams (originaling from '*_head', '*_tail' + * and 'cache_preload' macro) use different indentation levels for + * better readability. Actually taking the code from one of these + * indentation levels and ignoring a few VLD/VST instructions would + * result in exactly the code from '*_head', '*_tail' or 'cache_preload' + * macro! + */ + +#if 1 + +.macro pixman_composite_over_8888_0565_process_pixblock_tail_head + vqadd.u8 d16, d2, d20 + vld1.16 {d4, d5}, [DST_R, :128]! + vqadd.u8 q9, q0, q11 + vshrn.u16 d6, q2, #8 + vld4.8 {d0, d1, d2, d3}, [SRC]! + vshrn.u16 d7, q2, #3 + vsli.u16 q2, q2, #5 + vshll.u8 q14, d16, #8 + PF add PF_X, PF_X, #8 + vshll.u8 q8, d19, #8 + PF tst PF_CTL, #0xF + vsri.u8 d6, d6, #5 + PF addne PF_X, PF_X, #8 + vmvn.8 d3, d3 + PF subne PF_CTL, PF_CTL, #1 + vsri.u8 d7, d7, #6 + vshrn.u16 d30, q2, #2 + vmull.u8 q10, d3, d6 + PF pld, [PF_SRC, PF_X, lsl #src_bpp_shift] + vmull.u8 q11, d3, d7 + vmull.u8 q12, d3, d30 + PF pld, [PF_DST, PF_X, lsl #dst_bpp_shift] + vsri.u16 q14, q8, #5 + PF cmp PF_X, ORIG_W + vshll.u8 q9, d18, #8 + vrshr.u16 q13, q10, #8 + PF subge PF_X, PF_X, ORIG_W + vrshr.u16 q3, q11, #8 + vrshr.u16 q15, q12, #8 + PF subges PF_CTL, PF_CTL, #0x10 + vsri.u16 q14, q9, #11 + PF ldrgeb DUMMY, [PF_SRC, SRC_STRIDE, lsl #src_bpp_shift]! + vraddhn.u16 d20, q10, q13 + vraddhn.u16 d23, q11, q3 + PF ldrgeb DUMMY, [PF_DST, DST_STRIDE, lsl #dst_bpp_shift]! + vraddhn.u16 d22, q12, q15 + vst1.16 {d28, d29}, [DST_W, :128]! +.endm + +#else + +/* If we did not care much about the performance, we would just use this... */ +.macro pixman_composite_over_8888_0565_process_pixblock_tail_head + pixman_composite_over_8888_0565_process_pixblock_tail + vst1.16 {d28, d29}, [DST_W, :128]! + vld1.16 {d4, d5}, [DST_R, :128]! + vld4.32 {d0, d1, d2, d3}, [SRC]! + pixman_composite_over_8888_0565_process_pixblock_head + cache_preload 8, 8 +.endm + +#endif + +/* + * And now the final part. We are using 'generate_composite_function' macro + * to put all the stuff together. We are specifying the name of the function + * which we want to get, number of bits per pixel for the source, mask and + * destination (0 if unused, like mask in this case). Next come some bit + * flags: + * FLAG_DST_READWRITE - tells that the destination buffer is both read + * and written, for write-only buffer we would use + * FLAG_DST_WRITEONLY flag instead + * FLAG_DEINTERLEAVE_32BPP - tells that we prefer to work with planar data + * and separate color channels for 32bpp format. + * The next things are: + * - the number of pixels processed per iteration (8 in this case, because + * that's the maximum what can fit into four 64-bit NEON registers). + * - prefetch distance, measured in pixel blocks. In this case it is 5 times + * by 8 pixels. That would be 40 pixels, or up to 160 bytes. Optimal + * prefetch distance can be selected by running some benchmarks. + * + * After that we specify some macros, these are 'default_init', + * 'default_cleanup' here which are empty (but it is possible to have custom + * init/cleanup macros to be able to save/restore some extra NEON registers + * like d8-d15 or do anything else) followed by + * 'pixman_composite_over_8888_0565_process_pixblock_head', + * 'pixman_composite_over_8888_0565_process_pixblock_tail' and + * 'pixman_composite_over_8888_0565_process_pixblock_tail_head' + * which we got implemented above. + * + * The last part is the NEON registers allocation scheme. + */ +generate_composite_function \ + pixman_composite_over_8888_0565_asm_neon, 32, 0, 16, \ + FLAG_DST_READWRITE | FLAG_DEINTERLEAVE_32BPP, \ + 8, /* number of pixels, processed in a single block */ \ + 5, /* prefetch distance */ \ + default_init, \ + default_cleanup, \ + pixman_composite_over_8888_0565_process_pixblock_head, \ + pixman_composite_over_8888_0565_process_pixblock_tail, \ + pixman_composite_over_8888_0565_process_pixblock_tail_head, \ + 28, /* dst_w_basereg */ \ + 4, /* dst_r_basereg */ \ + 0, /* src_basereg */ \ + 24 /* mask_basereg */ + +/******************************************************************************/ + +.macro pixman_composite_over_n_0565_process_pixblock_head + /* convert 8 r5g6b5 pixel data from {d4, d5} to planar 8-bit format + and put data into d6 - red, d7 - green, d30 - blue */ + vshrn.u16 d6, q2, #8 + vshrn.u16 d7, q2, #3 + vsli.u16 q2, q2, #5 + vsri.u8 d6, d6, #5 + vsri.u8 d7, d7, #6 + vshrn.u16 d30, q2, #2 + /* now do alpha blending, storing results in 8-bit planar format + into d16 - red, d19 - green, d18 - blue */ + vmull.u8 q10, d3, d6 + vmull.u8 q11, d3, d7 + vmull.u8 q12, d3, d30 + vrshr.u16 q13, q10, #8 + vrshr.u16 q3, q11, #8 + vrshr.u16 q15, q12, #8 + vraddhn.u16 d20, q10, q13 + vraddhn.u16 d23, q11, q3 + vraddhn.u16 d22, q12, q15 +.endm + +.macro pixman_composite_over_n_0565_process_pixblock_tail + /* ... continue alpha blending */ + vqadd.u8 d16, d2, d20 + vqadd.u8 q9, q0, q11 + /* convert the result to r5g6b5 and store it into {d28, d29} */ + vshll.u8 q14, d16, #8 + vshll.u8 q8, d19, #8 + vshll.u8 q9, d18, #8 + vsri.u16 q14, q8, #5 + vsri.u16 q14, q9, #11 +.endm + +/* TODO: expand macros and do better instructions scheduling */ +.macro pixman_composite_over_n_0565_process_pixblock_tail_head + pixman_composite_over_n_0565_process_pixblock_tail + vld1.16 {d4, d5}, [DST_R, :128]! + vst1.16 {d28, d29}, [DST_W, :128]! + pixman_composite_over_n_0565_process_pixblock_head +.endm + +.macro pixman_composite_over_n_0565_init + add DUMMY, sp, #ARGS_STACK_OFFSET + vld1.32 {d3[0]}, [DUMMY] + vdup.8 d0, d3[0] + vdup.8 d1, d3[1] + vdup.8 d2, d3[2] + vdup.8 d3, d3[3] + vmvn.8 d3, d3 /* invert source alpha */ +.endm + +generate_composite_function \ + pixman_composite_over_n_0565_asm_neon, 0, 0, 16, \ + FLAG_DST_READWRITE, \ + 8, /* number of pixels, processed in a single block */ \ + 5, /* prefetch distance */ \ + pixman_composite_over_n_0565_init, \ + default_cleanup, \ + pixman_composite_over_n_0565_process_pixblock_head, \ + pixman_composite_over_n_0565_process_pixblock_tail, \ + pixman_composite_over_n_0565_process_pixblock_tail_head, \ + 28, /* dst_w_basereg */ \ + 4, /* dst_r_basereg */ \ + 0, /* src_basereg */ \ + 24 /* mask_basereg */ + +/******************************************************************************/ + +.macro pixman_composite_src_8888_0565_process_pixblock_head + vshll.u8 q8, d1, #8 + vshll.u8 q14, d2, #8 + vshll.u8 q9, d0, #8 +.endm + +.macro pixman_composite_src_8888_0565_process_pixblock_tail + vsri.u16 q14, q8, #5 + vsri.u16 q14, q9, #11 +.endm + +.macro pixman_composite_src_8888_0565_process_pixblock_tail_head + vsri.u16 q14, q8, #5 + PF add PF_X, PF_X, #8 + PF tst PF_CTL, #0xF + vld4.8 {d0, d1, d2, d3}, [SRC]! + PF addne PF_X, PF_X, #8 + PF subne PF_CTL, PF_CTL, #1 + vsri.u16 q14, q9, #11 + PF cmp PF_X, ORIG_W + PF pld, [PF_SRC, PF_X, lsl #src_bpp_shift] + vshll.u8 q8, d1, #8 + vst1.16 {d28, d29}, [DST_W, :128]! + PF subge PF_X, PF_X, ORIG_W + PF subges PF_CTL, PF_CTL, #0x10 + vshll.u8 q14, d2, #8 + PF ldrgeb DUMMY, [PF_SRC, SRC_STRIDE, lsl #src_bpp_shift]! + vshll.u8 q9, d0, #8 +.endm + +generate_composite_function \ + pixman_composite_src_8888_0565_asm_neon, 32, 0, 16, \ + FLAG_DST_WRITEONLY | FLAG_DEINTERLEAVE_32BPP, \ + 8, /* number of pixels, processed in a single block */ \ + 10, /* prefetch distance */ \ + default_init, \ + default_cleanup, \ + pixman_composite_src_8888_0565_process_pixblock_head, \ + pixman_composite_src_8888_0565_process_pixblock_tail, \ + pixman_composite_src_8888_0565_process_pixblock_tail_head + +/******************************************************************************/ + +.macro pixman_composite_src_0565_8888_process_pixblock_head + vshrn.u16 d30, q0, #8 + vshrn.u16 d29, q0, #3 + vsli.u16 q0, q0, #5 + vmov.u8 d31, #255 + vsri.u8 d30, d30, #5 + vsri.u8 d29, d29, #6 + vshrn.u16 d28, q0, #2 +.endm + +.macro pixman_composite_src_0565_8888_process_pixblock_tail +.endm + +/* TODO: expand macros and do better instructions scheduling */ +.macro pixman_composite_src_0565_8888_process_pixblock_tail_head + pixman_composite_src_0565_8888_process_pixblock_tail + vst4.8 {d28, d29, d30, d31}, [DST_W, :128]! + vld1.16 {d0, d1}, [SRC]! + pixman_composite_src_0565_8888_process_pixblock_head + cache_preload 8, 8 +.endm + +generate_composite_function \ + pixman_composite_src_0565_8888_asm_neon, 16, 0, 32, \ + FLAG_DST_WRITEONLY | FLAG_DEINTERLEAVE_32BPP, \ + 8, /* number of pixels, processed in a single block */ \ + 10, /* prefetch distance */ \ + default_init, \ + default_cleanup, \ + pixman_composite_src_0565_8888_process_pixblock_head, \ + pixman_composite_src_0565_8888_process_pixblock_tail, \ + pixman_composite_src_0565_8888_process_pixblock_tail_head + +/******************************************************************************/ + +.macro pixman_composite_add_8000_8000_process_pixblock_head + vqadd.u8 q14, q0, q2 + vqadd.u8 q15, q1, q3 +.endm + +.macro pixman_composite_add_8000_8000_process_pixblock_tail +.endm + +.macro pixman_composite_add_8000_8000_process_pixblock_tail_head + vld1.8 {d0, d1, d2, d3}, [SRC]! + PF add PF_X, PF_X, #32 + PF tst PF_CTL, #0xF + vld1.8 {d4, d5, d6, d7}, [DST_R, :128]! + PF addne PF_X, PF_X, #32 + PF subne PF_CTL, PF_CTL, #1 + vst1.8 {d28, d29, d30, d31}, [DST_W, :128]! + PF cmp PF_X, ORIG_W + PF pld, [PF_SRC, PF_X, lsl #src_bpp_shift] + PF pld, [PF_DST, PF_X, lsl #dst_bpp_shift] + PF subge PF_X, PF_X, ORIG_W + PF subges PF_CTL, PF_CTL, #0x10 + vqadd.u8 q14, q0, q2 + PF ldrgeb DUMMY, [PF_SRC, SRC_STRIDE, lsl #src_bpp_shift]! + PF ldrgeb DUMMY, [PF_DST, DST_STRIDE, lsl #dst_bpp_shift]! + vqadd.u8 q15, q1, q3 +.endm + +generate_composite_function \ + pixman_composite_add_8000_8000_asm_neon, 8, 0, 8, \ + FLAG_DST_READWRITE, \ + 32, /* number of pixels, processed in a single block */ \ + 10, /* prefetch distance */ \ + default_init, \ + default_cleanup, \ + pixman_composite_add_8000_8000_process_pixblock_head, \ + pixman_composite_add_8000_8000_process_pixblock_tail, \ + pixman_composite_add_8000_8000_process_pixblock_tail_head + +/******************************************************************************/ + +.macro pixman_composite_add_8888_8888_process_pixblock_tail_head + vld1.8 {d0, d1, d2, d3}, [SRC]! + PF add PF_X, PF_X, #8 + PF tst PF_CTL, #0xF + vld1.8 {d4, d5, d6, d7}, [DST_R, :128]! + PF addne PF_X, PF_X, #8 + PF subne PF_CTL, PF_CTL, #1 + vst1.8 {d28, d29, d30, d31}, [DST_W, :128]! + PF cmp PF_X, ORIG_W + PF pld, [PF_SRC, PF_X, lsl #src_bpp_shift] + PF pld, [PF_DST, PF_X, lsl #dst_bpp_shift] + PF subge PF_X, PF_X, ORIG_W + PF subges PF_CTL, PF_CTL, #0x10 + vqadd.u8 q14, q0, q2 + PF ldrgeb DUMMY, [PF_SRC, SRC_STRIDE, lsl #src_bpp_shift]! + PF ldrgeb DUMMY, [PF_DST, DST_STRIDE, lsl #dst_bpp_shift]! + vqadd.u8 q15, q1, q3 +.endm + +generate_composite_function \ + pixman_composite_add_8888_8888_asm_neon, 32, 0, 32, \ + FLAG_DST_READWRITE, \ + 8, /* number of pixels, processed in a single block */ \ + 10, /* prefetch distance */ \ + default_init, \ + default_cleanup, \ + pixman_composite_add_8000_8000_process_pixblock_head, \ + pixman_composite_add_8000_8000_process_pixblock_tail, \ + pixman_composite_add_8888_8888_process_pixblock_tail_head + +generate_composite_function_single_scanline \ + pixman_composite_scanline_add_asm_neon, 32, 0, 32, \ + FLAG_DST_READWRITE, \ + 8, /* number of pixels, processed in a single block */ \ + default_init, \ + default_cleanup, \ + pixman_composite_add_8000_8000_process_pixblock_head, \ + pixman_composite_add_8000_8000_process_pixblock_tail, \ + pixman_composite_add_8888_8888_process_pixblock_tail_head + +/******************************************************************************/ + +.macro pixman_composite_over_8888_8888_process_pixblock_head + vmvn.8 d24, d3 /* get inverted alpha */ + /* do alpha blending */ + vmull.u8 q8, d24, d4 + vmull.u8 q9, d24, d5 + vmull.u8 q10, d24, d6 + vmull.u8 q11, d24, d7 +.endm + +.macro pixman_composite_over_8888_8888_process_pixblock_tail + vrshr.u16 q14, q8, #8 + vrshr.u16 q15, q9, #8 + vrshr.u16 q12, q10, #8 + vrshr.u16 q13, q11, #8 + vraddhn.u16 d28, q14, q8 + vraddhn.u16 d29, q15, q9 + vraddhn.u16 d30, q12, q10 + vraddhn.u16 d31, q13, q11 + vqadd.u8 q14, q0, q14 + vqadd.u8 q15, q1, q15 +.endm + +.macro pixman_composite_over_8888_8888_process_pixblock_tail_head + vld4.8 {d4, d5, d6, d7}, [DST_R, :128]! + vrshr.u16 q14, q8, #8 + PF add PF_X, PF_X, #8 + PF tst PF_CTL, #0xF + vrshr.u16 q15, q9, #8 + vrshr.u16 q12, q10, #8 + vrshr.u16 q13, q11, #8 + PF addne PF_X, PF_X, #8 + PF subne PF_CTL, PF_CTL, #1 + vraddhn.u16 d28, q14, q8 + vraddhn.u16 d29, q15, q9 + PF cmp PF_X, ORIG_W + vraddhn.u16 d30, q12, q10 + vraddhn.u16 d31, q13, q11 + vqadd.u8 q14, q0, q14 + vqadd.u8 q15, q1, q15 + vld4.8 {d0, d1, d2, d3}, [SRC]! + PF pld, [PF_SRC, PF_X, lsl #src_bpp_shift] + vmvn.8 d22, d3 + PF pld, [PF_DST, PF_X, lsl #dst_bpp_shift] + vst4.8 {d28, d29, d30, d31}, [DST_W, :128]! + PF subge PF_X, PF_X, ORIG_W + vmull.u8 q8, d22, d4 + PF subges PF_CTL, PF_CTL, #0x10 + vmull.u8 q9, d22, d5 + PF ldrgeb DUMMY, [PF_SRC, SRC_STRIDE, lsl #src_bpp_shift]! + vmull.u8 q10, d22, d6 + PF ldrgeb DUMMY, [PF_DST, DST_STRIDE, lsl #dst_bpp_shift]! + vmull.u8 q11, d22, d7 +.endm + +generate_composite_function \ + pixman_composite_over_8888_8888_asm_neon, 32, 0, 32, \ + FLAG_DST_READWRITE | FLAG_DEINTERLEAVE_32BPP, \ + 8, /* number of pixels, processed in a single block */ \ + 5, /* prefetch distance */ \ + default_init, \ + default_cleanup, \ + pixman_composite_over_8888_8888_process_pixblock_head, \ + pixman_composite_over_8888_8888_process_pixblock_tail, \ + pixman_composite_over_8888_8888_process_pixblock_tail_head + +generate_composite_function_single_scanline \ + pixman_composite_scanline_over_asm_neon, 32, 0, 32, \ + FLAG_DST_READWRITE | FLAG_DEINTERLEAVE_32BPP, \ + 8, /* number of pixels, processed in a single block */ \ + default_init, \ + default_cleanup, \ + pixman_composite_over_8888_8888_process_pixblock_head, \ + pixman_composite_over_8888_8888_process_pixblock_tail, \ + pixman_composite_over_8888_8888_process_pixblock_tail_head + +/******************************************************************************/ + +/* TODO: expand macros and do better instructions scheduling */ +.macro pixman_composite_over_n_8888_process_pixblock_tail_head + pixman_composite_over_8888_8888_process_pixblock_tail + vld4.8 {d4, d5, d6, d7}, [DST_R, :128]! + vst4.8 {d28, d29, d30, d31}, [DST_W, :128]! + pixman_composite_over_8888_8888_process_pixblock_head +.endm + +.macro pixman_composite_over_n_8888_init + add DUMMY, sp, #ARGS_STACK_OFFSET + vld1.32 {d3[0]}, [DUMMY] + vdup.8 d0, d3[0] + vdup.8 d1, d3[1] + vdup.8 d2, d3[2] + vdup.8 d3, d3[3] +.endm + +generate_composite_function \ + pixman_composite_over_n_8888_asm_neon, 0, 0, 32, \ + FLAG_DST_READWRITE | FLAG_DEINTERLEAVE_32BPP, \ + 8, /* number of pixels, processed in a single block */ \ + 5, /* prefetch distance */ \ + pixman_composite_over_n_8888_init, \ + default_cleanup, \ + pixman_composite_over_8888_8888_process_pixblock_head, \ + pixman_composite_over_8888_8888_process_pixblock_tail, \ + pixman_composite_over_n_8888_process_pixblock_tail_head + +/******************************************************************************/ + +.macro pixman_composite_over_reverse_n_8888_process_pixblock_tail_head + vrshr.u16 q14, q8, #8 + PF add PF_X, PF_X, #8 + PF tst PF_CTL, #0xF + vrshr.u16 q15, q9, #8 + vrshr.u16 q12, q10, #8 + vrshr.u16 q13, q11, #8 + PF addne PF_X, PF_X, #8 + PF subne PF_CTL, PF_CTL, #1 + vraddhn.u16 d28, q14, q8 + vraddhn.u16 d29, q15, q9 + PF cmp PF_X, ORIG_W + vraddhn.u16 d30, q12, q10 + vraddhn.u16 d31, q13, q11 + vqadd.u8 q14, q0, q14 + vqadd.u8 q15, q1, q15 + vld4.8 {d0, d1, d2, d3}, [DST_R, :128]! + vmvn.8 d22, d3 + PF pld, [PF_DST, PF_X, lsl #dst_bpp_shift] + vst4.8 {d28, d29, d30, d31}, [DST_W, :128]! + PF subge PF_X, PF_X, ORIG_W + vmull.u8 q8, d22, d4 + PF subges PF_CTL, PF_CTL, #0x10 + vmull.u8 q9, d22, d5 + vmull.u8 q10, d22, d6 + PF ldrgeb DUMMY, [PF_DST, DST_STRIDE, lsl #dst_bpp_shift]! + vmull.u8 q11, d22, d7 +.endm + +.macro pixman_composite_over_reverse_n_8888_init + add DUMMY, sp, #ARGS_STACK_OFFSET + vld1.32 {d7[0]}, [DUMMY] + vdup.8 d4, d7[0] + vdup.8 d5, d7[1] + vdup.8 d6, d7[2] + vdup.8 d7, d7[3] +.endm + +generate_composite_function \ + pixman_composite_over_reverse_n_8888_asm_neon, 0, 0, 32, \ + FLAG_DST_READWRITE | FLAG_DEINTERLEAVE_32BPP, \ + 8, /* number of pixels, processed in a single block */ \ + 5, /* prefetch distance */ \ + pixman_composite_over_reverse_n_8888_init, \ + default_cleanup, \ + pixman_composite_over_8888_8888_process_pixblock_head, \ + pixman_composite_over_8888_8888_process_pixblock_tail, \ + pixman_composite_over_reverse_n_8888_process_pixblock_tail_head, \ + 28, /* dst_w_basereg */ \ + 0, /* dst_r_basereg */ \ + 4, /* src_basereg */ \ + 24 /* mask_basereg */ + +/******************************************************************************/ + +.macro pixman_composite_over_n_8_0565_process_pixblock_head + /* in */ + vmull.u8 q0, d24, d8 + vmull.u8 q1, d24, d9 + vmull.u8 q6, d24, d10 + vmull.u8 q7, d24, d11 + vrshr.u16 q10, q0, #8 + vrshr.u16 q11, q1, #8 + vrshr.u16 q12, q6, #8 + vrshr.u16 q13, q7, #8 + vraddhn.u16 d0, q0, q10 + vraddhn.u16 d1, q1, q11 + vraddhn.u16 d2, q6, q12 + vraddhn.u16 d3, q7, q13 + + vshrn.u16 d6, q2, #8 + vshrn.u16 d7, q2, #3 + vsli.u16 q2, q2, #5 + vsri.u8 d6, d6, #5 + vmvn.8 d3, d3 + vsri.u8 d7, d7, #6 + vshrn.u16 d30, q2, #2 + /* now do alpha blending */ + vmull.u8 q10, d3, d6 + vmull.u8 q11, d3, d7 + vmull.u8 q12, d3, d30 + vrshr.u16 q13, q10, #8 + vrshr.u16 q3, q11, #8 + vrshr.u16 q15, q12, #8 + vraddhn.u16 d20, q10, q13 + vraddhn.u16 d23, q11, q3 + vraddhn.u16 d22, q12, q15 +.endm + +.macro pixman_composite_over_n_8_0565_process_pixblock_tail + vqadd.u8 d16, d2, d20 + vqadd.u8 q9, q0, q11 + /* convert to r5g6b5 */ + vshll.u8 q14, d16, #8 + vshll.u8 q8, d19, #8 + vshll.u8 q9, d18, #8 + vsri.u16 q14, q8, #5 + vsri.u16 q14, q9, #11 +.endm + +/* TODO: expand macros and do better instructions scheduling */ +.macro pixman_composite_over_n_8_0565_process_pixblock_tail_head + pixman_composite_over_n_8_0565_process_pixblock_tail + vst1.16 {d28, d29}, [DST_W, :128]! + vld1.16 {d4, d5}, [DST_R, :128]! + vld1.8 {d24}, [MASK]! + cache_preload 8, 8 + pixman_composite_over_n_8_0565_process_pixblock_head +.endm + +/* + * This function needs a special initialization of solid mask. + * Solid source pixel data is fetched from stack at ARGS_STACK_OFFSET + * offset, split into color components and replicated in d8-d11 + * registers. Additionally, this function needs all the NEON registers, + * so it has to save d8-d15 registers which are callee saved according + * to ABI. These registers are restored from 'cleanup' macro. All the + * other NEON registers are caller saved, so can be clobbered freely + * without introducing any problems. + */ +.macro pixman_composite_over_n_8_0565_init + add DUMMY, sp, #ARGS_STACK_OFFSET + vpush {d8-d15} + vld1.32 {d11[0]}, [DUMMY] + vdup.8 d8, d11[0] + vdup.8 d9, d11[1] + vdup.8 d10, d11[2] + vdup.8 d11, d11[3] +.endm + +.macro pixman_composite_over_n_8_0565_cleanup + vpop {d8-d15} +.endm + +generate_composite_function \ + pixman_composite_over_n_8_0565_asm_neon, 0, 8, 16, \ + FLAG_DST_READWRITE, \ + 8, /* number of pixels, processed in a single block */ \ + 5, /* prefetch distance */ \ + pixman_composite_over_n_8_0565_init, \ + pixman_composite_over_n_8_0565_cleanup, \ + pixman_composite_over_n_8_0565_process_pixblock_head, \ + pixman_composite_over_n_8_0565_process_pixblock_tail, \ + pixman_composite_over_n_8_0565_process_pixblock_tail_head + +/******************************************************************************/ + +.macro pixman_composite_src_0565_0565_process_pixblock_head +.endm + +.macro pixman_composite_src_0565_0565_process_pixblock_tail +.endm + +.macro pixman_composite_src_0565_0565_process_pixblock_tail_head + vst1.16 {d0, d1, d2, d3}, [DST_W, :128]! + vld1.16 {d0, d1, d2, d3}, [SRC]! + cache_preload 16, 16 +.endm + +generate_composite_function \ + pixman_composite_src_0565_0565_asm_neon, 16, 0, 16, \ + FLAG_DST_WRITEONLY, \ + 16, /* number of pixels, processed in a single block */ \ + 10, /* prefetch distance */ \ + default_init, \ + default_cleanup, \ + pixman_composite_src_0565_0565_process_pixblock_head, \ + pixman_composite_src_0565_0565_process_pixblock_tail, \ + pixman_composite_src_0565_0565_process_pixblock_tail_head, \ + 0, /* dst_w_basereg */ \ + 0, /* dst_r_basereg */ \ + 0, /* src_basereg */ \ + 0 /* mask_basereg */ + +/******************************************************************************/ + +.macro pixman_composite_src_n_8_process_pixblock_head +.endm + +.macro pixman_composite_src_n_8_process_pixblock_tail +.endm + +.macro pixman_composite_src_n_8_process_pixblock_tail_head + vst1.8 {d0, d1, d2, d3}, [DST_W, :128]! +.endm + +.macro pixman_composite_src_n_8_init + add DUMMY, sp, #ARGS_STACK_OFFSET + vld1.32 {d0[0]}, [DUMMY] + vsli.u64 d0, d0, #8 + vsli.u64 d0, d0, #16 + vsli.u64 d0, d0, #32 + vmov d1, d0 + vmov q1, q0 +.endm + +.macro pixman_composite_src_n_8_cleanup +.endm + +generate_composite_function \ + pixman_composite_src_n_8_asm_neon, 0, 0, 8, \ + FLAG_DST_WRITEONLY, \ + 32, /* number of pixels, processed in a single block */ \ + 0, /* prefetch distance */ \ + pixman_composite_src_n_8_init, \ + pixman_composite_src_n_8_cleanup, \ + pixman_composite_src_n_8_process_pixblock_head, \ + pixman_composite_src_n_8_process_pixblock_tail, \ + pixman_composite_src_n_8_process_pixblock_tail_head, \ + 0, /* dst_w_basereg */ \ + 0, /* dst_r_basereg */ \ + 0, /* src_basereg */ \ + 0 /* mask_basereg */ + +/******************************************************************************/ + +.macro pixman_composite_src_n_0565_process_pixblock_head +.endm + +.macro pixman_composite_src_n_0565_process_pixblock_tail +.endm + +.macro pixman_composite_src_n_0565_process_pixblock_tail_head + vst1.16 {d0, d1, d2, d3}, [DST_W, :128]! +.endm + +.macro pixman_composite_src_n_0565_init + add DUMMY, sp, #ARGS_STACK_OFFSET + vld1.32 {d0[0]}, [DUMMY] + vsli.u64 d0, d0, #16 + vsli.u64 d0, d0, #32 + vmov d1, d0 + vmov q1, q0 +.endm + +.macro pixman_composite_src_n_0565_cleanup +.endm + +generate_composite_function \ + pixman_composite_src_n_0565_asm_neon, 0, 0, 16, \ + FLAG_DST_WRITEONLY, \ + 16, /* number of pixels, processed in a single block */ \ + 0, /* prefetch distance */ \ + pixman_composite_src_n_0565_init, \ + pixman_composite_src_n_0565_cleanup, \ + pixman_composite_src_n_0565_process_pixblock_head, \ + pixman_composite_src_n_0565_process_pixblock_tail, \ + pixman_composite_src_n_0565_process_pixblock_tail_head, \ + 0, /* dst_w_basereg */ \ + 0, /* dst_r_basereg */ \ + 0, /* src_basereg */ \ + 0 /* mask_basereg */ + +/******************************************************************************/ + +.macro pixman_composite_src_n_8888_process_pixblock_head +.endm + +.macro pixman_composite_src_n_8888_process_pixblock_tail +.endm + +.macro pixman_composite_src_n_8888_process_pixblock_tail_head + vst1.32 {d0, d1, d2, d3}, [DST_W, :128]! +.endm + +.macro pixman_composite_src_n_8888_init + add DUMMY, sp, #ARGS_STACK_OFFSET + vld1.32 {d0[0]}, [DUMMY] + vsli.u64 d0, d0, #32 + vmov d1, d0 + vmov q1, q0 +.endm + +.macro pixman_composite_src_n_8888_cleanup +.endm + +generate_composite_function \ + pixman_composite_src_n_8888_asm_neon, 0, 0, 32, \ + FLAG_DST_WRITEONLY, \ + 8, /* number of pixels, processed in a single block */ \ + 0, /* prefetch distance */ \ + pixman_composite_src_n_8888_init, \ + pixman_composite_src_n_8888_cleanup, \ + pixman_composite_src_n_8888_process_pixblock_head, \ + pixman_composite_src_n_8888_process_pixblock_tail, \ + pixman_composite_src_n_8888_process_pixblock_tail_head, \ + 0, /* dst_w_basereg */ \ + 0, /* dst_r_basereg */ \ + 0, /* src_basereg */ \ + 0 /* mask_basereg */ + +/******************************************************************************/ + +.macro pixman_composite_src_8888_8888_process_pixblock_head +.endm + +.macro pixman_composite_src_8888_8888_process_pixblock_tail +.endm + +.macro pixman_composite_src_8888_8888_process_pixblock_tail_head + vst1.32 {d0, d1, d2, d3}, [DST_W, :128]! + vld1.32 {d0, d1, d2, d3}, [SRC]! + cache_preload 8, 8 +.endm + +generate_composite_function \ + pixman_composite_src_8888_8888_asm_neon, 32, 0, 32, \ + FLAG_DST_WRITEONLY, \ + 8, /* number of pixels, processed in a single block */ \ + 10, /* prefetch distance */ \ + default_init, \ + default_cleanup, \ + pixman_composite_src_8888_8888_process_pixblock_head, \ + pixman_composite_src_8888_8888_process_pixblock_tail, \ + pixman_composite_src_8888_8888_process_pixblock_tail_head, \ + 0, /* dst_w_basereg */ \ + 0, /* dst_r_basereg */ \ + 0, /* src_basereg */ \ + 0 /* mask_basereg */ + +/******************************************************************************/ + +.macro pixman_composite_src_x888_8888_process_pixblock_head + vorr q0, q0, q2 + vorr q1, q1, q2 +.endm + +.macro pixman_composite_src_x888_8888_process_pixblock_tail +.endm + +.macro pixman_composite_src_x888_8888_process_pixblock_tail_head + vst1.32 {d0, d1, d2, d3}, [DST_W, :128]! + vld1.32 {d0, d1, d2, d3}, [SRC]! + vorr q0, q0, q2 + vorr q1, q1, q2 + cache_preload 8, 8 +.endm + +.macro pixman_composite_src_x888_8888_init + vmov.u8 q2, #0xFF + vshl.u32 q2, q2, #24 +.endm + +generate_composite_function \ + pixman_composite_src_x888_8888_asm_neon, 32, 0, 32, \ + FLAG_DST_WRITEONLY, \ + 8, /* number of pixels, processed in a single block */ \ + 10, /* prefetch distance */ \ + pixman_composite_src_x888_8888_init, \ + default_cleanup, \ + pixman_composite_src_x888_8888_process_pixblock_head, \ + pixman_composite_src_x888_8888_process_pixblock_tail, \ + pixman_composite_src_x888_8888_process_pixblock_tail_head, \ + 0, /* dst_w_basereg */ \ + 0, /* dst_r_basereg */ \ + 0, /* src_basereg */ \ + 0 /* mask_basereg */ + +/******************************************************************************/ + +.macro pixman_composite_over_n_8_8888_process_pixblock_head + /* expecting deinterleaved source data in {d8, d9, d10, d11} */ + /* d8 - blue, d9 - green, d10 - red, d11 - alpha */ + /* and destination data in {d4, d5, d6, d7} */ + /* mask is in d24 (d25, d26, d27 are unused) */ + + /* in */ + vmull.u8 q0, d24, d8 + vmull.u8 q1, d24, d9 + vmull.u8 q6, d24, d10 + vmull.u8 q7, d24, d11 + vrshr.u16 q10, q0, #8 + vrshr.u16 q11, q1, #8 + vrshr.u16 q12, q6, #8 + vrshr.u16 q13, q7, #8 + vraddhn.u16 d0, q0, q10 + vraddhn.u16 d1, q1, q11 + vraddhn.u16 d2, q6, q12 + vraddhn.u16 d3, q7, q13 + vmvn.8 d24, d3 /* get inverted alpha */ + /* source: d0 - blue, d1 - green, d2 - red, d3 - alpha */ + /* destination: d4 - blue, d5 - green, d6 - red, d7 - alpha */ + /* now do alpha blending */ + vmull.u8 q8, d24, d4 + vmull.u8 q9, d24, d5 + vmull.u8 q10, d24, d6 + vmull.u8 q11, d24, d7 +.endm + +.macro pixman_composite_over_n_8_8888_process_pixblock_tail + vrshr.u16 q14, q8, #8 + vrshr.u16 q15, q9, #8 + vrshr.u16 q12, q10, #8 + vrshr.u16 q13, q11, #8 + vraddhn.u16 d28, q14, q8 + vraddhn.u16 d29, q15, q9 + vraddhn.u16 d30, q12, q10 + vraddhn.u16 d31, q13, q11 + vqadd.u8 q14, q0, q14 + vqadd.u8 q15, q1, q15 +.endm + +/* TODO: expand macros and do better instructions scheduling */ +.macro pixman_composite_over_n_8_8888_process_pixblock_tail_head + pixman_composite_over_n_8_8888_process_pixblock_tail + vst4.8 {d28, d29, d30, d31}, [DST_W, :128]! + vld4.8 {d4, d5, d6, d7}, [DST_R, :128]! + vld1.8 {d24}, [MASK]! + cache_preload 8, 8 + pixman_composite_over_n_8_8888_process_pixblock_head +.endm + +.macro pixman_composite_over_n_8_8888_init + add DUMMY, sp, #ARGS_STACK_OFFSET + vpush {d8-d15} + vld1.32 {d11[0]}, [DUMMY] + vdup.8 d8, d11[0] + vdup.8 d9, d11[1] + vdup.8 d10, d11[2] + vdup.8 d11, d11[3] +.endm + +.macro pixman_composite_over_n_8_8888_cleanup + vpop {d8-d15} +.endm + +generate_composite_function \ + pixman_composite_over_n_8_8888_asm_neon, 0, 8, 32, \ + FLAG_DST_READWRITE | FLAG_DEINTERLEAVE_32BPP, \ + 8, /* number of pixels, processed in a single block */ \ + 5, /* prefetch distance */ \ + pixman_composite_over_n_8_8888_init, \ + pixman_composite_over_n_8_8888_cleanup, \ + pixman_composite_over_n_8_8888_process_pixblock_head, \ + pixman_composite_over_n_8_8888_process_pixblock_tail, \ + pixman_composite_over_n_8_8888_process_pixblock_tail_head + +/******************************************************************************/ + +.macro pixman_composite_over_n_8888_8888_ca_process_pixblock_head + /* + * 'combine_mask_ca' replacement + * + * input: solid src (n) in {d8, d9, d10, d11} + * dest in {d4, d5, d6, d7 } + * mask in {d24, d25, d26, d27} + * output: updated src in {d0, d1, d2, d3 } + * updated mask in {d24, d25, d26, d3 } + */ + vmull.u8 q0, d24, d8 + vmull.u8 q1, d25, d9 + vmull.u8 q6, d26, d10 + vmull.u8 q7, d27, d11 + vmull.u8 q9, d11, d25 + vmull.u8 q12, d11, d24 + vmull.u8 q13, d11, d26 + vrshr.u16 q8, q0, #8 + vrshr.u16 q10, q1, #8 + vrshr.u16 q11, q6, #8 + vraddhn.u16 d0, q0, q8 + vraddhn.u16 d1, q1, q10 + vraddhn.u16 d2, q6, q11 + vrshr.u16 q11, q12, #8 + vrshr.u16 q8, q9, #8 + vrshr.u16 q6, q13, #8 + vrshr.u16 q10, q7, #8 + vraddhn.u16 d24, q12, q11 + vraddhn.u16 d25, q9, q8 + vraddhn.u16 d26, q13, q6 + vraddhn.u16 d3, q7, q10 + /* + * 'combine_over_ca' replacement + * + * output: updated dest in {d28, d29, d30, d31} + */ + vmvn.8 d24, d24 + vmvn.8 d25, d25 + vmull.u8 q8, d24, d4 + vmull.u8 q9, d25, d5 + vmvn.8 d26, d26 + vmvn.8 d27, d3 + vmull.u8 q10, d26, d6 + vmull.u8 q11, d27, d7 +.endm + +.macro pixman_composite_over_n_8888_8888_ca_process_pixblock_tail + /* ... continue 'combine_over_ca' replacement */ + vrshr.u16 q14, q8, #8 + vrshr.u16 q15, q9, #8 + vrshr.u16 q6, q10, #8 + vrshr.u16 q7, q11, #8 + vraddhn.u16 d28, q14, q8 + vraddhn.u16 d29, q15, q9 + vraddhn.u16 d30, q6, q10 + vraddhn.u16 d31, q7, q11 + vqadd.u8 q14, q0, q14 + vqadd.u8 q15, q1, q15 +.endm + +.macro pixman_composite_over_n_8888_8888_ca_process_pixblock_tail_head + vrshr.u16 q14, q8, #8 + vrshr.u16 q15, q9, #8 + vld4.8 {d4, d5, d6, d7}, [DST_R, :128]! + vrshr.u16 q6, q10, #8 + vrshr.u16 q7, q11, #8 + vraddhn.u16 d28, q14, q8 + vraddhn.u16 d29, q15, q9 + vraddhn.u16 d30, q6, q10 + vraddhn.u16 d31, q7, q11 + vld4.8 {d24, d25, d26, d27}, [MASK]! + vqadd.u8 q14, q0, q14 + vqadd.u8 q15, q1, q15 + cache_preload 8, 8 + pixman_composite_over_n_8888_8888_ca_process_pixblock_head + vst4.8 {d28, d29, d30, d31}, [DST_W, :128]! +.endm + +.macro pixman_composite_over_n_8888_8888_ca_init + add DUMMY, sp, #ARGS_STACK_OFFSET + vpush {d8-d15} + vld1.32 {d11[0]}, [DUMMY] + vdup.8 d8, d11[0] + vdup.8 d9, d11[1] + vdup.8 d10, d11[2] + vdup.8 d11, d11[3] +.endm + +.macro pixman_composite_over_n_8888_8888_ca_cleanup + vpop {d8-d15} +.endm + +generate_composite_function \ + pixman_composite_over_n_8888_8888_ca_asm_neon, 0, 32, 32, \ + FLAG_DST_READWRITE | FLAG_DEINTERLEAVE_32BPP, \ + 8, /* number of pixels, processed in a single block */ \ + 5, /* prefetch distance */ \ + pixman_composite_over_n_8888_8888_ca_init, \ + pixman_composite_over_n_8888_8888_ca_cleanup, \ + pixman_composite_over_n_8888_8888_ca_process_pixblock_head, \ + pixman_composite_over_n_8888_8888_ca_process_pixblock_tail, \ + pixman_composite_over_n_8888_8888_ca_process_pixblock_tail_head + +/******************************************************************************/ + +.macro pixman_composite_add_n_8_8_process_pixblock_head + /* expecting source data in {d8, d9, d10, d11} */ + /* d8 - blue, d9 - green, d10 - red, d11 - alpha */ + /* and destination data in {d4, d5, d6, d7} */ + /* mask is in d24, d25, d26, d27 */ + vmull.u8 q0, d24, d11 + vmull.u8 q1, d25, d11 + vmull.u8 q6, d26, d11 + vmull.u8 q7, d27, d11 + vrshr.u16 q10, q0, #8 + vrshr.u16 q11, q1, #8 + vrshr.u16 q12, q6, #8 + vrshr.u16 q13, q7, #8 + vraddhn.u16 d0, q0, q10 + vraddhn.u16 d1, q1, q11 + vraddhn.u16 d2, q6, q12 + vraddhn.u16 d3, q7, q13 + vqadd.u8 q14, q0, q2 + vqadd.u8 q15, q1, q3 +.endm + +.macro pixman_composite_add_n_8_8_process_pixblock_tail +.endm + +/* TODO: expand macros and do better instructions scheduling */ +.macro pixman_composite_add_n_8_8_process_pixblock_tail_head + pixman_composite_add_n_8_8_process_pixblock_tail + vst1.8 {d28, d29, d30, d31}, [DST_W, :128]! + vld1.8 {d4, d5, d6, d7}, [DST_R, :128]! + vld1.8 {d24, d25, d26, d27}, [MASK]! + cache_preload 32, 32 + pixman_composite_add_n_8_8_process_pixblock_head +.endm + +.macro pixman_composite_add_n_8_8_init + add DUMMY, sp, #ARGS_STACK_OFFSET + vpush {d8-d15} + vld1.32 {d11[0]}, [DUMMY] + vdup.8 d11, d11[3] +.endm + +.macro pixman_composite_add_n_8_8_cleanup + vpop {d8-d15} +.endm + +generate_composite_function \ + pixman_composite_add_n_8_8_asm_neon, 0, 8, 8, \ + FLAG_DST_READWRITE, \ + 32, /* number of pixels, processed in a single block */ \ + 5, /* prefetch distance */ \ + pixman_composite_add_n_8_8_init, \ + pixman_composite_add_n_8_8_cleanup, \ + pixman_composite_add_n_8_8_process_pixblock_head, \ + pixman_composite_add_n_8_8_process_pixblock_tail, \ + pixman_composite_add_n_8_8_process_pixblock_tail_head + +/******************************************************************************/ + +.macro pixman_composite_add_8_8_8_process_pixblock_head + /* expecting source data in {d0, d1, d2, d3} */ + /* destination data in {d4, d5, d6, d7} */ + /* mask in {d24, d25, d26, d27} */ + vmull.u8 q8, d24, d0 + vmull.u8 q9, d25, d1 + vmull.u8 q10, d26, d2 + vmull.u8 q11, d27, d3 + vrshr.u16 q0, q8, #8 + vrshr.u16 q1, q9, #8 + vrshr.u16 q12, q10, #8 + vrshr.u16 q13, q11, #8 + vraddhn.u16 d0, q0, q8 + vraddhn.u16 d1, q1, q9 + vraddhn.u16 d2, q12, q10 + vraddhn.u16 d3, q13, q11 + vqadd.u8 q14, q0, q2 + vqadd.u8 q15, q1, q3 +.endm + +.macro pixman_composite_add_8_8_8_process_pixblock_tail +.endm + +/* TODO: expand macros and do better instructions scheduling */ +.macro pixman_composite_add_8_8_8_process_pixblock_tail_head + pixman_composite_add_8_8_8_process_pixblock_tail + vst1.8 {d28, d29, d30, d31}, [DST_W, :128]! + vld1.8 {d4, d5, d6, d7}, [DST_R, :128]! + vld1.8 {d24, d25, d26, d27}, [MASK]! + vld1.8 {d0, d1, d2, d3}, [SRC]! + cache_preload 32, 32 + pixman_composite_add_8_8_8_process_pixblock_head +.endm + +.macro pixman_composite_add_8_8_8_init +.endm + +.macro pixman_composite_add_8_8_8_cleanup +.endm + +generate_composite_function \ + pixman_composite_add_8_8_8_asm_neon, 8, 8, 8, \ + FLAG_DST_READWRITE, \ + 32, /* number of pixels, processed in a single block */ \ + 5, /* prefetch distance */ \ + pixman_composite_add_8_8_8_init, \ + pixman_composite_add_8_8_8_cleanup, \ + pixman_composite_add_8_8_8_process_pixblock_head, \ + pixman_composite_add_8_8_8_process_pixblock_tail, \ + pixman_composite_add_8_8_8_process_pixblock_tail_head + +/******************************************************************************/ + +.macro pixman_composite_add_8888_8888_8888_process_pixblock_head + /* expecting source data in {d0, d1, d2, d3} */ + /* destination data in {d4, d5, d6, d7} */ + /* mask in {d24, d25, d26, d27} */ + vmull.u8 q8, d27, d0 + vmull.u8 q9, d27, d1 + vmull.u8 q10, d27, d2 + vmull.u8 q11, d27, d3 + vrshr.u16 q0, q8, #8 + vrshr.u16 q1, q9, #8 + vrshr.u16 q12, q10, #8 + vrshr.u16 q13, q11, #8 + vraddhn.u16 d0, q0, q8 + vraddhn.u16 d1, q1, q9 + vraddhn.u16 d2, q12, q10 + vraddhn.u16 d3, q13, q11 + vqadd.u8 q14, q0, q2 + vqadd.u8 q15, q1, q3 +.endm + +.macro pixman_composite_add_8888_8888_8888_process_pixblock_tail +.endm + +/* TODO: expand macros and do better instructions scheduling */ +.macro pixman_composite_add_8888_8888_8888_process_pixblock_tail_head + pixman_composite_add_8888_8888_8888_process_pixblock_tail + vst4.8 {d28, d29, d30, d31}, [DST_W, :128]! + vld4.8 {d4, d5, d6, d7}, [DST_R, :128]! + vld4.8 {d24, d25, d26, d27}, [MASK]! + vld4.8 {d0, d1, d2, d3}, [SRC]! + cache_preload 8, 8 + pixman_composite_add_8888_8888_8888_process_pixblock_head +.endm + +generate_composite_function \ + pixman_composite_add_8888_8888_8888_asm_neon, 32, 32, 32, \ + FLAG_DST_READWRITE | FLAG_DEINTERLEAVE_32BPP, \ + 8, /* number of pixels, processed in a single block */ \ + 10, /* prefetch distance */ \ + default_init, \ + default_cleanup, \ + pixman_composite_add_8888_8888_8888_process_pixblock_head, \ + pixman_composite_add_8888_8888_8888_process_pixblock_tail, \ + pixman_composite_add_8888_8888_8888_process_pixblock_tail_head + +generate_composite_function_single_scanline \ + pixman_composite_scanline_add_mask_asm_neon, 32, 32, 32, \ + FLAG_DST_READWRITE | FLAG_DEINTERLEAVE_32BPP, \ + 8, /* number of pixels, processed in a single block */ \ + default_init, \ + default_cleanup, \ + pixman_composite_add_8888_8888_8888_process_pixblock_head, \ + pixman_composite_add_8888_8888_8888_process_pixblock_tail, \ + pixman_composite_add_8888_8888_8888_process_pixblock_tail_head + +/******************************************************************************/ + +.macro pixman_composite_over_8888_n_8888_process_pixblock_head + /* expecting source data in {d0, d1, d2, d3} */ + /* destination data in {d4, d5, d6, d7} */ + /* solid mask is in d15 */ + + /* 'in' */ + vmull.u8 q8, d15, d3 + vmull.u8 q6, d15, d2 + vmull.u8 q5, d15, d1 + vmull.u8 q4, d15, d0 + vrshr.u16 q13, q8, #8 + vrshr.u16 q12, q6, #8 + vrshr.u16 q11, q5, #8 + vrshr.u16 q10, q4, #8 + vraddhn.u16 d3, q8, q13 + vraddhn.u16 d2, q6, q12 + vraddhn.u16 d1, q5, q11 + vraddhn.u16 d0, q4, q10 + vmvn.8 d24, d3 /* get inverted alpha */ + /* now do alpha blending */ + vmull.u8 q8, d24, d4 + vmull.u8 q9, d24, d5 + vmull.u8 q10, d24, d6 + vmull.u8 q11, d24, d7 +.endm + +.macro pixman_composite_over_8888_n_8888_process_pixblock_tail + vrshr.u16 q14, q8, #8 + vrshr.u16 q15, q9, #8 + vrshr.u16 q12, q10, #8 + vrshr.u16 q13, q11, #8 + vraddhn.u16 d28, q14, q8 + vraddhn.u16 d29, q15, q9 + vraddhn.u16 d30, q12, q10 + vraddhn.u16 d31, q13, q11 + vqadd.u8 q14, q0, q14 + vqadd.u8 q15, q1, q15 +.endm + +/* TODO: expand macros and do better instructions scheduling */ +.macro pixman_composite_over_8888_n_8888_process_pixblock_tail_head + vld4.8 {d4, d5, d6, d7}, [DST_R, :128]! + pixman_composite_over_8888_n_8888_process_pixblock_tail + vld4.8 {d0, d1, d2, d3}, [SRC]! + cache_preload 8, 8 + pixman_composite_over_8888_n_8888_process_pixblock_head + vst4.8 {d28, d29, d30, d31}, [DST_W, :128]! +.endm + +.macro pixman_composite_over_8888_n_8888_init + add DUMMY, sp, #48 + vpush {d8-d15} + vld1.32 {d15[0]}, [DUMMY] + vdup.8 d15, d15[3] +.endm + +.macro pixman_composite_over_8888_n_8888_cleanup + vpop {d8-d15} +.endm + +generate_composite_function \ + pixman_composite_over_8888_n_8888_asm_neon, 32, 0, 32, \ + FLAG_DST_READWRITE | FLAG_DEINTERLEAVE_32BPP, \ + 8, /* number of pixels, processed in a single block */ \ + 5, /* prefetch distance */ \ + pixman_composite_over_8888_n_8888_init, \ + pixman_composite_over_8888_n_8888_cleanup, \ + pixman_composite_over_8888_n_8888_process_pixblock_head, \ + pixman_composite_over_8888_n_8888_process_pixblock_tail, \ + pixman_composite_over_8888_n_8888_process_pixblock_tail_head + +/******************************************************************************/ + +/* TODO: expand macros and do better instructions scheduling */ +.macro pixman_composite_over_8888_8888_8888_process_pixblock_tail_head + vld4.8 {d4, d5, d6, d7}, [DST_R, :128]! + pixman_composite_over_8888_n_8888_process_pixblock_tail + vld4.8 {d0, d1, d2, d3}, [SRC]! + cache_preload 8, 8 + vld4.8 {d12, d13, d14, d15}, [MASK]! + pixman_composite_over_8888_n_8888_process_pixblock_head + vst4.8 {d28, d29, d30, d31}, [DST_W, :128]! +.endm + +.macro pixman_composite_over_8888_8888_8888_init + vpush {d8-d15} +.endm + +.macro pixman_composite_over_8888_8888_8888_cleanup + vpop {d8-d15} +.endm + +generate_composite_function \ + pixman_composite_over_8888_8888_8888_asm_neon, 32, 32, 32, \ + FLAG_DST_READWRITE | FLAG_DEINTERLEAVE_32BPP, \ + 8, /* number of pixels, processed in a single block */ \ + 5, /* prefetch distance */ \ + pixman_composite_over_8888_8888_8888_init, \ + pixman_composite_over_8888_8888_8888_cleanup, \ + pixman_composite_over_8888_n_8888_process_pixblock_head, \ + pixman_composite_over_8888_n_8888_process_pixblock_tail, \ + pixman_composite_over_8888_8888_8888_process_pixblock_tail_head \ + 28, /* dst_w_basereg */ \ + 4, /* dst_r_basereg */ \ + 0, /* src_basereg */ \ + 12 /* mask_basereg */ + +generate_composite_function_single_scanline \ + pixman_composite_scanline_over_mask_asm_neon, 32, 32, 32, \ + FLAG_DST_READWRITE | FLAG_DEINTERLEAVE_32BPP, \ + 8, /* number of pixels, processed in a single block */ \ + pixman_composite_over_8888_8888_8888_init, \ + pixman_composite_over_8888_8888_8888_cleanup, \ + pixman_composite_over_8888_n_8888_process_pixblock_head, \ + pixman_composite_over_8888_n_8888_process_pixblock_tail, \ + pixman_composite_over_8888_8888_8888_process_pixblock_tail_head \ + 28, /* dst_w_basereg */ \ + 4, /* dst_r_basereg */ \ + 0, /* src_basereg */ \ + 12 /* mask_basereg */ + +/******************************************************************************/ + +/* TODO: expand macros and do better instructions scheduling */ +.macro pixman_composite_over_8888_8_8888_process_pixblock_tail_head + vld4.8 {d4, d5, d6, d7}, [DST_R, :128]! + pixman_composite_over_8888_n_8888_process_pixblock_tail + vld4.8 {d0, d1, d2, d3}, [SRC]! + cache_preload 8, 8 + vld1.8 {d15}, [MASK]! + pixman_composite_over_8888_n_8888_process_pixblock_head + vst4.8 {d28, d29, d30, d31}, [DST_W, :128]! +.endm + +.macro pixman_composite_over_8888_8_8888_init + vpush {d8-d15} +.endm + +.macro pixman_composite_over_8888_8_8888_cleanup + vpop {d8-d15} +.endm + +generate_composite_function \ + pixman_composite_over_8888_8_8888_asm_neon, 32, 8, 32, \ + FLAG_DST_READWRITE | FLAG_DEINTERLEAVE_32BPP, \ + 8, /* number of pixels, processed in a single block */ \ + 5, /* prefetch distance */ \ + pixman_composite_over_8888_8_8888_init, \ + pixman_composite_over_8888_8_8888_cleanup, \ + pixman_composite_over_8888_n_8888_process_pixblock_head, \ + pixman_composite_over_8888_n_8888_process_pixblock_tail, \ + pixman_composite_over_8888_8_8888_process_pixblock_tail_head \ + 28, /* dst_w_basereg */ \ + 4, /* dst_r_basereg */ \ + 0, /* src_basereg */ \ + 15 /* mask_basereg */ + +/******************************************************************************/ + +.macro pixman_composite_src_0888_0888_process_pixblock_head +.endm + +.macro pixman_composite_src_0888_0888_process_pixblock_tail +.endm + +.macro pixman_composite_src_0888_0888_process_pixblock_tail_head + vst3.8 {d0, d1, d2}, [DST_W]! + vld3.8 {d0, d1, d2}, [SRC]! + cache_preload 8, 8 +.endm + +generate_composite_function \ + pixman_composite_src_0888_0888_asm_neon, 24, 0, 24, \ + FLAG_DST_WRITEONLY, \ + 8, /* number of pixels, processed in a single block */ \ + 10, /* prefetch distance */ \ + default_init, \ + default_cleanup, \ + pixman_composite_src_0888_0888_process_pixblock_head, \ + pixman_composite_src_0888_0888_process_pixblock_tail, \ + pixman_composite_src_0888_0888_process_pixblock_tail_head, \ + 0, /* dst_w_basereg */ \ + 0, /* dst_r_basereg */ \ + 0, /* src_basereg */ \ + 0 /* mask_basereg */ + +/******************************************************************************/ + +.macro pixman_composite_src_0888_8888_rev_process_pixblock_head + vswp d0, d2 +.endm + +.macro pixman_composite_src_0888_8888_rev_process_pixblock_tail +.endm + +.macro pixman_composite_src_0888_8888_rev_process_pixblock_tail_head + vst4.8 {d0, d1, d2, d3}, [DST_W]! + vld3.8 {d0, d1, d2}, [SRC]! + vswp d0, d2 + cache_preload 8, 8 +.endm + +.macro pixman_composite_src_0888_8888_rev_init + veor d3, d3, d3 +.endm + +generate_composite_function \ + pixman_composite_src_0888_8888_rev_asm_neon, 24, 0, 32, \ + FLAG_DST_WRITEONLY | FLAG_DEINTERLEAVE_32BPP, \ + 8, /* number of pixels, processed in a single block */ \ + 10, /* prefetch distance */ \ + pixman_composite_src_0888_8888_rev_init, \ + default_cleanup, \ + pixman_composite_src_0888_8888_rev_process_pixblock_head, \ + pixman_composite_src_0888_8888_rev_process_pixblock_tail, \ + pixman_composite_src_0888_8888_rev_process_pixblock_tail_head, \ + 0, /* dst_w_basereg */ \ + 0, /* dst_r_basereg */ \ + 0, /* src_basereg */ \ + 0 /* mask_basereg */ + +/******************************************************************************/ + +.macro pixman_composite_src_0888_0565_rev_process_pixblock_head + vshll.u8 q8, d1, #8 + vshll.u8 q9, d2, #8 +.endm + +.macro pixman_composite_src_0888_0565_rev_process_pixblock_tail + vshll.u8 q14, d0, #8 + vsri.u16 q14, q8, #5 + vsri.u16 q14, q9, #11 +.endm + +.macro pixman_composite_src_0888_0565_rev_process_pixblock_tail_head + vshll.u8 q14, d0, #8 + vld3.8 {d0, d1, d2}, [SRC]! + vsri.u16 q14, q8, #5 + vsri.u16 q14, q9, #11 + vshll.u8 q8, d1, #8 + vst1.16 {d28, d29}, [DST_W, :128]! + vshll.u8 q9, d2, #8 +.endm + +generate_composite_function \ + pixman_composite_src_0888_0565_rev_asm_neon, 24, 0, 16, \ + FLAG_DST_WRITEONLY, \ + 8, /* number of pixels, processed in a single block */ \ + 10, /* prefetch distance */ \ + default_init, \ + default_cleanup, \ + pixman_composite_src_0888_0565_rev_process_pixblock_head, \ + pixman_composite_src_0888_0565_rev_process_pixblock_tail, \ + pixman_composite_src_0888_0565_rev_process_pixblock_tail_head, \ + 28, /* dst_w_basereg */ \ + 0, /* dst_r_basereg */ \ + 0, /* src_basereg */ \ + 0 /* mask_basereg */ + +/******************************************************************************/ + +.macro pixman_composite_src_pixbuf_8888_process_pixblock_head + vmull.u8 q8, d3, d0 + vmull.u8 q9, d3, d1 + vmull.u8 q10, d3, d2 +.endm + +.macro pixman_composite_src_pixbuf_8888_process_pixblock_tail + vrshr.u16 q11, q8, #8 + vswp d3, d31 + vrshr.u16 q12, q9, #8 + vrshr.u16 q13, q10, #8 + vraddhn.u16 d30, q11, q8 + vraddhn.u16 d29, q12, q9 + vraddhn.u16 d28, q13, q10 +.endm + +.macro pixman_composite_src_pixbuf_8888_process_pixblock_tail_head + vrshr.u16 q11, q8, #8 + vswp d3, d31 + vrshr.u16 q12, q9, #8 + vrshr.u16 q13, q10, #8 + vld4.8 {d0, d1, d2, d3}, [SRC]! + vraddhn.u16 d30, q11, q8 + PF add PF_X, PF_X, #8 + PF tst PF_CTL, #0xF + PF addne PF_X, PF_X, #8 + PF subne PF_CTL, PF_CTL, #1 + vraddhn.u16 d29, q12, q9 + vraddhn.u16 d28, q13, q10 + vmull.u8 q8, d3, d0 + vmull.u8 q9, d3, d1 + vmull.u8 q10, d3, d2 + vst4.8 {d28, d29, d30, d31}, [DST_W, :128]! + PF cmp PF_X, ORIG_W + PF pld, [PF_SRC, PF_X, lsl #src_bpp_shift] + PF subge PF_X, PF_X, ORIG_W + PF subges PF_CTL, PF_CTL, #0x10 + PF ldrgeb DUMMY, [PF_SRC, SRC_STRIDE, lsl #src_bpp_shift]! +.endm + +generate_composite_function \ + pixman_composite_src_pixbuf_8888_asm_neon, 32, 0, 32, \ + FLAG_DST_WRITEONLY | FLAG_DEINTERLEAVE_32BPP, \ + 8, /* number of pixels, processed in a single block */ \ + 10, /* prefetch distance */ \ + default_init, \ + default_cleanup, \ + pixman_composite_src_pixbuf_8888_process_pixblock_head, \ + pixman_composite_src_pixbuf_8888_process_pixblock_tail, \ + pixman_composite_src_pixbuf_8888_process_pixblock_tail_head, \ + 28, /* dst_w_basereg */ \ + 0, /* dst_r_basereg */ \ + 0, /* src_basereg */ \ + 0 /* mask_basereg */ diff --git a/src/3rdparty/pixman/pixman-arm-neon-asm.h b/src/3rdparty/pixman/pixman-arm-neon-asm.h new file mode 100644 index 0000000..56c3fae --- /dev/null +++ b/src/3rdparty/pixman/pixman-arm-neon-asm.h @@ -0,0 +1,906 @@ +/* + * Copyright © 2009 Nokia Corporation + * + * Permission is hereby granted, free of charge, to any person obtaining a + * copy of this software and associated documentation files (the "Software"), + * to deal in the Software without restriction, including without limitation + * the rights to use, copy, modify, merge, publish, distribute, sublicense, + * and/or sell copies of the Software, and to permit persons to whom the + * Software is furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice (including the next + * paragraph) shall be included in all copies or substantial portions of the + * Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER + * DEALINGS IN THE SOFTWARE. + * + * Author: Siarhei Siamashka (siarhei.siamashka@nokia.com) + */ + +/* + * This file contains a macro ('generate_composite_function') which can + * construct 2D image processing functions, based on a common template. + * Any combinations of source, destination and mask images with 8bpp, + * 16bpp, 24bpp, 32bpp color formats are supported. + * + * This macro takes care of: + * - handling of leading and trailing unaligned pixels + * - doing most of the work related to L2 cache preload + * - encourages the use of software pipelining for better instructions + * scheduling + * + * The user of this macro has to provide some configuration parameters + * (bit depths for the images, prefetch distance, etc.) and a set of + * macros, which should implement basic code chunks responsible for + * pixels processing. See 'pixman-arm-neon-asm.S' file for the usage + * examples. + * + * TODO: + * - try overlapped pixel method (from Ian Rickards) when processing + * exactly two blocks of pixels + * - maybe add an option to do reverse scanline processing + */ + +/* + * Bit flags for 'generate_composite_function' macro which are used + * to tune generated functions behavior. + */ +.set FLAG_DST_WRITEONLY, 0 +.set FLAG_DST_READWRITE, 1 +.set FLAG_DEINTERLEAVE_32BPP, 2 + +/* + * Offset in stack where mask and source pointer/stride can be accessed + * from 'init' macro. This is useful for doing special handling for solid mask. + */ +.set ARGS_STACK_OFFSET, 40 + +/* + * Constants for selecting preferable prefetch type. + */ +.set PREFETCH_TYPE_NONE, 0 /* No prefetch at all */ +.set PREFETCH_TYPE_SIMPLE, 1 /* A simple, fixed-distance-ahead prefetch */ +.set PREFETCH_TYPE_ADVANCED, 2 /* Advanced fine-grained prefetch */ + +/* + * Definitions of supplementary pixld/pixst macros (for partial load/store of + * pixel data). + */ + +.macro pixldst1 op, elem_size, reg1, mem_operand, abits +.if abits > 0 + op&.&elem_size {d®1}, [&mem_operand&, :&abits&]! +.else + op&.&elem_size {d®1}, [&mem_operand&]! +.endif +.endm + +.macro pixldst2 op, elem_size, reg1, reg2, mem_operand, abits +.if abits > 0 + op&.&elem_size {d®1, d®2}, [&mem_operand&, :&abits&]! +.else + op&.&elem_size {d®1, d®2}, [&mem_operand&]! +.endif +.endm + +.macro pixldst4 op, elem_size, reg1, reg2, reg3, reg4, mem_operand, abits +.if abits > 0 + op&.&elem_size {d®1, d®2, d®3, d®4}, [&mem_operand&, :&abits&]! +.else + op&.&elem_size {d®1, d®2, d®3, d®4}, [&mem_operand&]! +.endif +.endm + +.macro pixldst0 op, elem_size, reg1, idx, mem_operand, abits + op&.&elem_size {d®1[idx]}, [&mem_operand&]! +.endm + +.macro pixldst3 op, elem_size, reg1, reg2, reg3, mem_operand + op&.&elem_size {d®1, d®2, d®3}, [&mem_operand&]! +.endm + +.macro pixldst30 op, elem_size, reg1, reg2, reg3, idx, mem_operand + op&.&elem_size {d®1[idx], d®2[idx], d®3[idx]}, [&mem_operand&]! +.endm + +.macro pixldst numbytes, op, elem_size, basereg, mem_operand, abits +.if numbytes == 32 + pixldst4 op, elem_size, %(basereg+4), %(basereg+5), \ + %(basereg+6), %(basereg+7), mem_operand, abits +.elseif numbytes == 16 + pixldst2 op, elem_size, %(basereg+2), %(basereg+3), mem_operand, abits +.elseif numbytes == 8 + pixldst1 op, elem_size, %(basereg+1), mem_operand, abits +.elseif numbytes == 4 + .if !RESPECT_STRICT_ALIGNMENT || (elem_size == 32) + pixldst0 op, 32, %(basereg+0), 1, mem_operand, abits + .elseif elem_size == 16 + pixldst0 op, 16, %(basereg+0), 2, mem_operand, abits + pixldst0 op, 16, %(basereg+0), 3, mem_operand, abits + .else + pixldst0 op, 8, %(basereg+0), 4, mem_operand, abits + pixldst0 op, 8, %(basereg+0), 5, mem_operand, abits + pixldst0 op, 8, %(basereg+0), 6, mem_operand, abits + pixldst0 op, 8, %(basereg+0), 7, mem_operand, abits + .endif +.elseif numbytes == 2 + .if !RESPECT_STRICT_ALIGNMENT || (elem_size == 16) + pixldst0 op, 16, %(basereg+0), 1, mem_operand, abits + .else + pixldst0 op, 8, %(basereg+0), 2, mem_operand, abits + pixldst0 op, 8, %(basereg+0), 3, mem_operand, abits + .endif +.elseif numbytes == 1 + pixldst0 op, 8, %(basereg+0), 1, mem_operand, abits +.else + .error "unsupported size: numbytes" +.endif +.endm + +.macro pixld numpix, bpp, basereg, mem_operand, abits=0 +.if bpp > 0 +.if (bpp == 32) && (numpix == 8) && (DEINTERLEAVE_32BPP_ENABLED != 0) + pixldst4 vld4, 8, %(basereg+4), %(basereg+5), \ + %(basereg+6), %(basereg+7), mem_operand, abits +.elseif (bpp == 24) && (numpix == 8) + pixldst3 vld3, 8, %(basereg+3), %(basereg+4), %(basereg+5), mem_operand +.elseif (bpp == 24) && (numpix == 4) + pixldst30 vld3, 8, %(basereg+0), %(basereg+1), %(basereg+2), 4, mem_operand + pixldst30 vld3, 8, %(basereg+0), %(basereg+1), %(basereg+2), 5, mem_operand + pixldst30 vld3, 8, %(basereg+0), %(basereg+1), %(basereg+2), 6, mem_operand + pixldst30 vld3, 8, %(basereg+0), %(basereg+1), %(basereg+2), 7, mem_operand +.elseif (bpp == 24) && (numpix == 2) + pixldst30 vld3, 8, %(basereg+0), %(basereg+1), %(basereg+2), 2, mem_operand + pixldst30 vld3, 8, %(basereg+0), %(basereg+1), %(basereg+2), 3, mem_operand +.elseif (bpp == 24) && (numpix == 1) + pixldst30 vld3, 8, %(basereg+0), %(basereg+1), %(basereg+2), 1, mem_operand +.else + pixldst %(numpix * bpp / 8), vld1, %(bpp), basereg, mem_operand, abits +.endif +.endif +.endm + +.macro pixst numpix, bpp, basereg, mem_operand, abits=0 +.if bpp > 0 +.if (bpp == 32) && (numpix == 8) && (DEINTERLEAVE_32BPP_ENABLED != 0) + pixldst4 vst4, 8, %(basereg+4), %(basereg+5), \ + %(basereg+6), %(basereg+7), mem_operand, abits +.elseif (bpp == 24) && (numpix == 8) + pixldst3 vst3, 8, %(basereg+3), %(basereg+4), %(basereg+5), mem_operand +.elseif (bpp == 24) && (numpix == 4) + pixldst30 vst3, 8, %(basereg+0), %(basereg+1), %(basereg+2), 4, mem_operand + pixldst30 vst3, 8, %(basereg+0), %(basereg+1), %(basereg+2), 5, mem_operand + pixldst30 vst3, 8, %(basereg+0), %(basereg+1), %(basereg+2), 6, mem_operand + pixldst30 vst3, 8, %(basereg+0), %(basereg+1), %(basereg+2), 7, mem_operand +.elseif (bpp == 24) && (numpix == 2) + pixldst30 vst3, 8, %(basereg+0), %(basereg+1), %(basereg+2), 2, mem_operand + pixldst30 vst3, 8, %(basereg+0), %(basereg+1), %(basereg+2), 3, mem_operand +.elseif (bpp == 24) && (numpix == 1) + pixldst30 vst3, 8, %(basereg+0), %(basereg+1), %(basereg+2), 1, mem_operand +.else + pixldst %(numpix * bpp / 8), vst1, %(bpp), basereg, mem_operand, abits +.endif +.endif +.endm + +.macro pixld_a numpix, bpp, basereg, mem_operand +.if (bpp * numpix) <= 128 + pixld numpix, bpp, basereg, mem_operand, %(bpp * numpix) +.else + pixld numpix, bpp, basereg, mem_operand, 128 +.endif +.endm + +.macro pixst_a numpix, bpp, basereg, mem_operand +.if (bpp * numpix) <= 128 + pixst numpix, bpp, basereg, mem_operand, %(bpp * numpix) +.else + pixst numpix, bpp, basereg, mem_operand, 128 +.endif +.endm + +.macro vuzp8 reg1, reg2 + vuzp.8 d®1, d®2 +.endm + +.macro vzip8 reg1, reg2 + vzip.8 d®1, d®2 +.endm + +/* deinterleave B, G, R, A channels for eight 32bpp pixels in 4 registers */ +.macro pixdeinterleave bpp, basereg +.if (bpp == 32) && (DEINTERLEAVE_32BPP_ENABLED != 0) + vuzp8 %(basereg+0), %(basereg+1) + vuzp8 %(basereg+2), %(basereg+3) + vuzp8 %(basereg+1), %(basereg+3) + vuzp8 %(basereg+0), %(basereg+2) +.endif +.endm + +/* interleave B, G, R, A channels for eight 32bpp pixels in 4 registers */ +.macro pixinterleave bpp, basereg +.if (bpp == 32) && (DEINTERLEAVE_32BPP_ENABLED != 0) + vzip8 %(basereg+0), %(basereg+2) + vzip8 %(basereg+1), %(basereg+3) + vzip8 %(basereg+2), %(basereg+3) + vzip8 %(basereg+0), %(basereg+1) +.endif +.endm + +/* + * This is a macro for implementing cache preload. The main idea is that + * cache preload logic is mostly independent from the rest of pixels + * processing code. It starts at the top left pixel and moves forward + * across pixels and can jump across scanlines. Prefetch distance is + * handled in an 'incremental' way: it starts from 0 and advances to the + * optimal distance over time. After reaching optimal prefetch distance, + * it is kept constant. There are some checks which prevent prefetching + * unneeded pixel lines below the image (but it still can prefetch a bit + * more data on the right side of the image - not a big issue and may + * be actually helpful when rendering text glyphs). Additional trick is + * the use of LDR instruction for prefetch instead of PLD when moving to + * the next line, the point is that we have a high chance of getting TLB + * miss in this case, and PLD would be useless. + * + * This sounds like it may introduce a noticeable overhead (when working with + * fully cached data). But in reality, due to having a separate pipeline and + * instruction queue for NEON unit in ARM Cortex-A8, normal ARM code can + * execute simultaneously with NEON and be completely shadowed by it. Thus + * we get no performance overhead at all (*). This looks like a very nice + * feature of Cortex-A8, if used wisely. We don't have a hardware prefetcher, + * but still can implement some rather advanced prefetch logic in sofware + * for almost zero cost! + * + * (*) The overhead of the prefetcher is visible when running some trivial + * pixels processing like simple copy. Anyway, having prefetch is a must + * when working with the graphics data. + */ +.macro PF a, x:vararg +.if (PREFETCH_TYPE_CURRENT == PREFETCH_TYPE_ADVANCED) + a x +.endif +.endm + +.macro cache_preload std_increment, boost_increment +.if (src_bpp_shift >= 0) || (dst_r_bpp != 0) || (mask_bpp_shift >= 0) +.if regs_shortage + PF ldr ORIG_W, [sp] /* If we are short on regs, ORIG_W is kept on stack */ +.endif +.if std_increment != 0 + PF add PF_X, PF_X, #std_increment +.endif + PF tst PF_CTL, #0xF + PF addne PF_X, PF_X, #boost_increment + PF subne PF_CTL, PF_CTL, #1 + PF cmp PF_X, ORIG_W +.if src_bpp_shift >= 0 + PF pld, [PF_SRC, PF_X, lsl #src_bpp_shift] +.endif +.if dst_r_bpp != 0 + PF pld, [PF_DST, PF_X, lsl #dst_bpp_shift] +.endif +.if mask_bpp_shift >= 0 + PF pld, [PF_MASK, PF_X, lsl #mask_bpp_shift] +.endif + PF subge PF_X, PF_X, ORIG_W + PF subges PF_CTL, PF_CTL, #0x10 +.if src_bpp_shift >= 0 + PF ldrgeb DUMMY, [PF_SRC, SRC_STRIDE, lsl #src_bpp_shift]! +.endif +.if dst_r_bpp != 0 + PF ldrgeb DUMMY, [PF_DST, DST_STRIDE, lsl #dst_bpp_shift]! +.endif +.if mask_bpp_shift >= 0 + PF ldrgeb DUMMY, [PF_MASK, MASK_STRIDE, lsl #mask_bpp_shift]! +.endif +.endif +.endm + +.macro cache_preload_simple +.if (PREFETCH_TYPE_CURRENT == PREFETCH_TYPE_SIMPLE) +.if src_bpp > 0 + pld [SRC, #(PREFETCH_DISTANCE_SIMPLE * src_bpp / 8)] +.endif +.if dst_r_bpp > 0 + pld [DST_R, #(PREFETCH_DISTANCE_SIMPLE * dst_r_bpp / 8)] +.endif +.if mask_bpp > 0 + pld [MASK, #(PREFETCH_DISTANCE_SIMPLE * mask_bpp / 8)] +.endif +.endif +.endm + +/* + * Macro which is used to process leading pixels until destination + * pointer is properly aligned (at 16 bytes boundary). When destination + * buffer uses 16bpp format, this is unnecessary, or even pointless. + */ +.macro ensure_destination_ptr_alignment process_pixblock_head, \ + process_pixblock_tail, \ + process_pixblock_tail_head +.if dst_w_bpp != 24 + tst DST_R, #0xF + beq 2f + +.irp lowbit, 1, 2, 4, 8, 16 +local skip1 +.if (dst_w_bpp <= (lowbit * 8)) && ((lowbit * 8) < (pixblock_size * dst_w_bpp)) +.if lowbit < 16 /* we don't need more than 16-byte alignment */ + tst DST_R, #lowbit + beq 1f +.endif + pixld (lowbit * 8 / dst_w_bpp), src_bpp, src_basereg, SRC + pixld (lowbit * 8 / dst_w_bpp), mask_bpp, mask_basereg, MASK +.if dst_r_bpp > 0 + pixld_a (lowbit * 8 / dst_r_bpp), dst_r_bpp, dst_r_basereg, DST_R +.else + add DST_R, DST_R, #lowbit +.endif + PF add PF_X, PF_X, #(lowbit * 8 / dst_w_bpp) + sub W, W, #(lowbit * 8 / dst_w_bpp) +1: +.endif +.endr + pixdeinterleave src_bpp, src_basereg + pixdeinterleave mask_bpp, mask_basereg + pixdeinterleave dst_r_bpp, dst_r_basereg + + process_pixblock_head + cache_preload 0, pixblock_size + cache_preload_simple + process_pixblock_tail + + pixinterleave dst_w_bpp, dst_w_basereg +.irp lowbit, 1, 2, 4, 8, 16 +.if (dst_w_bpp <= (lowbit * 8)) && ((lowbit * 8) < (pixblock_size * dst_w_bpp)) +.if lowbit < 16 /* we don't need more than 16-byte alignment */ + tst DST_W, #lowbit + beq 1f +.endif + pixst_a (lowbit * 8 / dst_w_bpp), dst_w_bpp, dst_w_basereg, DST_W +1: +.endif +.endr +.endif +2: +.endm + +/* + * Special code for processing up to (pixblock_size - 1) remaining + * trailing pixels. As SIMD processing performs operation on + * pixblock_size pixels, anything smaller than this has to be loaded + * and stored in a special way. Loading and storing of pixel data is + * performed in such a way that we fill some 'slots' in the NEON + * registers (some slots naturally are unused), then perform compositing + * operation as usual. In the end, the data is taken from these 'slots' + * and saved to memory. + * + * cache_preload_flag - allows to suppress prefetch if + * set to 0 + * dst_aligned_flag - selects whether destination buffer + * is aligned + */ +.macro process_trailing_pixels cache_preload_flag, \ + dst_aligned_flag, \ + process_pixblock_head, \ + process_pixblock_tail, \ + process_pixblock_tail_head + tst W, #(pixblock_size - 1) + beq 2f +.irp chunk_size, 16, 8, 4, 2, 1 +.if pixblock_size > chunk_size + tst W, #chunk_size + beq 1f + pixld chunk_size, src_bpp, src_basereg, SRC + pixld chunk_size, mask_bpp, mask_basereg, MASK +.if dst_aligned_flag != 0 + pixld_a chunk_size, dst_r_bpp, dst_r_basereg, DST_R +.else + pixld chunk_size, dst_r_bpp, dst_r_basereg, DST_R +.endif +.if cache_preload_flag != 0 + PF add PF_X, PF_X, #chunk_size +.endif +1: +.endif +.endr + pixdeinterleave src_bpp, src_basereg + pixdeinterleave mask_bpp, mask_basereg + pixdeinterleave dst_r_bpp, dst_r_basereg + + process_pixblock_head +.if cache_preload_flag != 0 + cache_preload 0, pixblock_size + cache_preload_simple +.endif + process_pixblock_tail + pixinterleave dst_w_bpp, dst_w_basereg +.irp chunk_size, 16, 8, 4, 2, 1 +.if pixblock_size > chunk_size + tst W, #chunk_size + beq 1f +.if dst_aligned_flag != 0 + pixst_a chunk_size, dst_w_bpp, dst_w_basereg, DST_W +.else + pixst chunk_size, dst_w_bpp, dst_w_basereg, DST_W +.endif +1: +.endif +.endr +2: +.endm + +/* + * Macro, which performs all the needed operations to switch to the next + * scanline and start the next loop iteration unless all the scanlines + * are already processed. + */ +.macro advance_to_next_scanline start_of_loop_label +.if regs_shortage + ldrd W, [sp] /* load W and H (width and height) from stack */ +.else + mov W, ORIG_W +.endif + add DST_W, DST_W, DST_STRIDE, lsl #dst_bpp_shift +.if src_bpp != 0 + add SRC, SRC, SRC_STRIDE, lsl #src_bpp_shift +.endif +.if mask_bpp != 0 + add MASK, MASK, MASK_STRIDE, lsl #mask_bpp_shift +.endif +.if (dst_w_bpp != 24) + sub DST_W, DST_W, W, lsl #dst_bpp_shift +.endif +.if (src_bpp != 24) && (src_bpp != 0) + sub SRC, SRC, W, lsl #src_bpp_shift +.endif +.if (mask_bpp != 24) && (mask_bpp != 0) + sub MASK, MASK, W, lsl #mask_bpp_shift +.endif + subs H, H, #1 + mov DST_R, DST_W +.if regs_shortage + str H, [sp, #4] /* save updated height to stack */ +.endif + bge start_of_loop_label +.endm + +/* + * Registers are allocated in the following way by default: + * d0, d1, d2, d3 - reserved for loading source pixel data + * d4, d5, d6, d7 - reserved for loading destination pixel data + * d24, d25, d26, d27 - reserved for loading mask pixel data + * d28, d29, d30, d31 - final destination pixel data for writeback to memory + */ +.macro generate_composite_function fname, \ + src_bpp_, \ + mask_bpp_, \ + dst_w_bpp_, \ + flags, \ + pixblock_size_, \ + prefetch_distance, \ + init, \ + cleanup, \ + process_pixblock_head, \ + process_pixblock_tail, \ + process_pixblock_tail_head, \ + dst_w_basereg_ = 28, \ + dst_r_basereg_ = 4, \ + src_basereg_ = 0, \ + mask_basereg_ = 24 + + .func fname + .global fname + /* For ELF format also set function visibility to hidden */ +#ifdef __ELF__ + .hidden fname + .type fname, %function +#endif +fname: + push {r4-r12, lr} /* save all registers */ + +/* + * Select prefetch type for this function. If prefetch distance is + * set to 0 or one of the color formats is 24bpp, SIMPLE prefetch + * has to be used instead of ADVANCED. + */ + .set PREFETCH_TYPE_CURRENT, PREFETCH_TYPE_DEFAULT +.if prefetch_distance == 0 + .set PREFETCH_TYPE_CURRENT, PREFETCH_TYPE_NONE +.elseif (PREFETCH_TYPE_CURRENT > PREFETCH_TYPE_SIMPLE) && \ + ((src_bpp_ == 24) || (mask_bpp_ == 24) || (dst_w_bpp_ == 24)) + .set PREFETCH_TYPE_CURRENT, PREFETCH_TYPE_SIMPLE +.endif + +/* + * Make some macro arguments globally visible and accessible + * from other macros + */ + .set src_bpp, src_bpp_ + .set mask_bpp, mask_bpp_ + .set dst_w_bpp, dst_w_bpp_ + .set pixblock_size, pixblock_size_ + .set dst_w_basereg, dst_w_basereg_ + .set dst_r_basereg, dst_r_basereg_ + .set src_basereg, src_basereg_ + .set mask_basereg, mask_basereg_ + +/* + * Assign symbolic names to registers + */ + W .req r0 /* width (is updated during processing) */ + H .req r1 /* height (is updated during processing) */ + DST_W .req r2 /* destination buffer pointer for writes */ + DST_STRIDE .req r3 /* destination image stride */ + SRC .req r4 /* source buffer pointer */ + SRC_STRIDE .req r5 /* source image stride */ + DST_R .req r6 /* destination buffer pointer for reads */ + + MASK .req r7 /* mask pointer */ + MASK_STRIDE .req r8 /* mask stride */ + + PF_CTL .req r9 /* combined lines counter and prefetch */ + /* distance increment counter */ + PF_X .req r10 /* pixel index in a scanline for current */ + /* pretetch position */ + PF_SRC .req r11 /* pointer to source scanline start */ + /* for prefetch purposes */ + PF_DST .req r12 /* pointer to destination scanline start */ + /* for prefetch purposes */ + PF_MASK .req r14 /* pointer to mask scanline start */ + /* for prefetch purposes */ +/* + * Check whether we have enough registers for all the local variables. + * If we don't have enough registers, original width and height are + * kept on top of stack (and 'regs_shortage' variable is set to indicate + * this for the rest of code). Even if there are enough registers, the + * allocation scheme may be a bit different depending on whether source + * or mask is not used. + */ +.if (PREFETCH_TYPE_CURRENT < PREFETCH_TYPE_ADVANCED) + ORIG_W .req r10 /* saved original width */ + DUMMY .req r12 /* temporary register */ + .set regs_shortage, 0 +.elseif mask_bpp == 0 + ORIG_W .req r7 /* saved original width */ + DUMMY .req r8 /* temporary register */ + .set regs_shortage, 0 +.elseif src_bpp == 0 + ORIG_W .req r4 /* saved original width */ + DUMMY .req r5 /* temporary register */ + .set regs_shortage, 0 +.else + ORIG_W .req r1 /* saved original width */ + DUMMY .req r1 /* temporary register */ + .set regs_shortage, 1 +.endif + + .set mask_bpp_shift, -1 +.if src_bpp == 32 + .set src_bpp_shift, 2 +.elseif src_bpp == 24 + .set src_bpp_shift, 0 +.elseif src_bpp == 16 + .set src_bpp_shift, 1 +.elseif src_bpp == 8 + .set src_bpp_shift, 0 +.elseif src_bpp == 0 + .set src_bpp_shift, -1 +.else + .error "requested src bpp (src_bpp) is not supported" +.endif +.if mask_bpp == 32 + .set mask_bpp_shift, 2 +.elseif mask_bpp == 24 + .set mask_bpp_shift, 0 +.elseif mask_bpp == 8 + .set mask_bpp_shift, 0 +.elseif mask_bpp == 0 + .set mask_bpp_shift, -1 +.else + .error "requested mask bpp (mask_bpp) is not supported" +.endif +.if dst_w_bpp == 32 + .set dst_bpp_shift, 2 +.elseif dst_w_bpp == 24 + .set dst_bpp_shift, 0 +.elseif dst_w_bpp == 16 + .set dst_bpp_shift, 1 +.elseif dst_w_bpp == 8 + .set dst_bpp_shift, 0 +.else + .error "requested dst bpp (dst_w_bpp) is not supported" +.endif + +.if (((flags) & FLAG_DST_READWRITE) != 0) + .set dst_r_bpp, dst_w_bpp +.else + .set dst_r_bpp, 0 +.endif +.if (((flags) & FLAG_DEINTERLEAVE_32BPP) != 0) + .set DEINTERLEAVE_32BPP_ENABLED, 1 +.else + .set DEINTERLEAVE_32BPP_ENABLED, 0 +.endif + +.if prefetch_distance < 0 || prefetch_distance > 15 + .error "invalid prefetch distance (prefetch_distance)" +.endif + +.if src_bpp > 0 + ldr SRC, [sp, #40] +.endif +.if mask_bpp > 0 + ldr MASK, [sp, #48] +.endif + PF mov PF_X, #0 +.if src_bpp > 0 + ldr SRC_STRIDE, [sp, #44] +.endif +.if mask_bpp > 0 + ldr MASK_STRIDE, [sp, #52] +.endif + mov DST_R, DST_W + +.if src_bpp == 24 + sub SRC_STRIDE, SRC_STRIDE, W + sub SRC_STRIDE, SRC_STRIDE, W, lsl #1 +.endif +.if mask_bpp == 24 + sub MASK_STRIDE, MASK_STRIDE, W + sub MASK_STRIDE, MASK_STRIDE, W, lsl #1 +.endif +.if dst_w_bpp == 24 + sub DST_STRIDE, DST_STRIDE, W + sub DST_STRIDE, DST_STRIDE, W, lsl #1 +.endif + +/* + * Setup advanced prefetcher initial state + */ + PF mov PF_SRC, SRC + PF mov PF_DST, DST_R + PF mov PF_MASK, MASK + /* PF_CTL = prefetch_distance | ((h - 1) << 4) */ + PF mov PF_CTL, H, lsl #4 + PF add PF_CTL, #(prefetch_distance - 0x10) + + init +.if regs_shortage + push {r0, r1} +.endif + subs H, H, #1 +.if regs_shortage + str H, [sp, #4] /* save updated height to stack */ +.else + mov ORIG_W, W +.endif + blt 9f + cmp W, #(pixblock_size * 2) + blt 8f +/* + * This is the start of the pipelined loop, which if optimized for + * long scanlines + */ +0: + ensure_destination_ptr_alignment process_pixblock_head, \ + process_pixblock_tail, \ + process_pixblock_tail_head + + /* Implement "head (tail_head) ... (tail_head) tail" loop pattern */ + pixld_a pixblock_size, dst_r_bpp, \ + (dst_r_basereg - pixblock_size * dst_r_bpp / 64), DST_R + pixld pixblock_size, src_bpp, \ + (src_basereg - pixblock_size * src_bpp / 64), SRC + pixld pixblock_size, mask_bpp, \ + (mask_basereg - pixblock_size * mask_bpp / 64), MASK + PF add PF_X, PF_X, #pixblock_size + process_pixblock_head + cache_preload 0, pixblock_size + cache_preload_simple + subs W, W, #(pixblock_size * 2) + blt 2f +1: + process_pixblock_tail_head + cache_preload_simple + subs W, W, #pixblock_size + bge 1b +2: + process_pixblock_tail + pixst_a pixblock_size, dst_w_bpp, \ + (dst_w_basereg - pixblock_size * dst_w_bpp / 64), DST_W + + /* Process the remaining trailing pixels in the scanline */ + process_trailing_pixels 1, 1, \ + process_pixblock_head, \ + process_pixblock_tail, \ + process_pixblock_tail_head + advance_to_next_scanline 0b + +.if regs_shortage + pop {r0, r1} +.endif + cleanup + pop {r4-r12, pc} /* exit */ +/* + * This is the start of the loop, designed to process images with small width + * (less than pixblock_size * 2 pixels). In this case neither pipelining + * nor prefetch are used. + */ +8: + /* Process exactly pixblock_size pixels if needed */ + tst W, #pixblock_size + beq 1f + pixld pixblock_size, dst_r_bpp, \ + (dst_r_basereg - pixblock_size * dst_r_bpp / 64), DST_R + pixld pixblock_size, src_bpp, \ + (src_basereg - pixblock_size * src_bpp / 64), SRC + pixld pixblock_size, mask_bpp, \ + (mask_basereg - pixblock_size * mask_bpp / 64), MASK + process_pixblock_head + process_pixblock_tail + pixst pixblock_size, dst_w_bpp, \ + (dst_w_basereg - pixblock_size * dst_w_bpp / 64), DST_W +1: + /* Process the remaining trailing pixels in the scanline */ + process_trailing_pixels 0, 0, \ + process_pixblock_head, \ + process_pixblock_tail, \ + process_pixblock_tail_head + advance_to_next_scanline 8b +9: +.if regs_shortage + pop {r0, r1} +.endif + cleanup + pop {r4-r12, pc} /* exit */ + + .unreq SRC + .unreq MASK + .unreq DST_R + .unreq DST_W + .unreq ORIG_W + .unreq W + .unreq H + .unreq SRC_STRIDE + .unreq DST_STRIDE + .unreq MASK_STRIDE + .unreq PF_CTL + .unreq PF_X + .unreq PF_SRC + .unreq PF_DST + .unreq PF_MASK + .unreq DUMMY + .endfunc +.endm + +/* + * A simplified variant of function generation template for a single + * scanline processing (for implementing pixman combine functions) + */ +.macro generate_composite_function_single_scanline fname, \ + src_bpp_, \ + mask_bpp_, \ + dst_w_bpp_, \ + flags, \ + pixblock_size_, \ + init, \ + cleanup, \ + process_pixblock_head, \ + process_pixblock_tail, \ + process_pixblock_tail_head, \ + dst_w_basereg_ = 28, \ + dst_r_basereg_ = 4, \ + src_basereg_ = 0, \ + mask_basereg_ = 24 + + .func fname + .global fname + /* For ELF format also set function visibility to hidden */ +#ifdef __ELF__ + .hidden fname + .type fname, %function +#endif +fname: + .set PREFETCH_TYPE_CURRENT, PREFETCH_TYPE_NONE +/* + * Make some macro arguments globally visible and accessible + * from other macros + */ + .set src_bpp, src_bpp_ + .set mask_bpp, mask_bpp_ + .set dst_w_bpp, dst_w_bpp_ + .set pixblock_size, pixblock_size_ + .set dst_w_basereg, dst_w_basereg_ + .set dst_r_basereg, dst_r_basereg_ + .set src_basereg, src_basereg_ + .set mask_basereg, mask_basereg_ +/* + * Assign symbolic names to registers + */ + W .req r0 /* width (is updated during processing) */ + DST_W .req r1 /* destination buffer pointer for writes */ + SRC .req r2 /* source buffer pointer */ + DST_R .req ip /* destination buffer pointer for reads */ + MASK .req r3 /* mask pointer */ + +.if (((flags) & FLAG_DST_READWRITE) != 0) + .set dst_r_bpp, dst_w_bpp +.else + .set dst_r_bpp, 0 +.endif +.if (((flags) & FLAG_DEINTERLEAVE_32BPP) != 0) + .set DEINTERLEAVE_32BPP_ENABLED, 1 +.else + .set DEINTERLEAVE_32BPP_ENABLED, 0 +.endif + + init + mov DST_R, DST_W + + cmp W, #pixblock_size + blt 8f + + ensure_destination_ptr_alignment process_pixblock_head, \ + process_pixblock_tail, \ + process_pixblock_tail_head + + subs W, W, #pixblock_size + blt 7f + + /* Implement "head (tail_head) ... (tail_head) tail" loop pattern */ + pixld_a pixblock_size, dst_r_bpp, \ + (dst_r_basereg - pixblock_size * dst_r_bpp / 64), DST_R + pixld pixblock_size, src_bpp, \ + (src_basereg - pixblock_size * src_bpp / 64), SRC + pixld pixblock_size, mask_bpp, \ + (mask_basereg - pixblock_size * mask_bpp / 64), MASK + process_pixblock_head + subs W, W, #pixblock_size + blt 2f +1: + process_pixblock_tail_head + subs W, W, #pixblock_size + bge 1b +2: + process_pixblock_tail + pixst_a pixblock_size, dst_w_bpp, \ + (dst_w_basereg - pixblock_size * dst_w_bpp / 64), DST_W +7: + /* Process the remaining trailing pixels in the scanline (dst aligned) */ + process_trailing_pixels 0, 1, \ + process_pixblock_head, \ + process_pixblock_tail, \ + process_pixblock_tail_head + + cleanup + bx lr /* exit */ +8: + /* Process the remaining trailing pixels in the scanline (dst unaligned) */ + process_trailing_pixels 0, 0, \ + process_pixblock_head, \ + process_pixblock_tail, \ + process_pixblock_tail_head + + cleanup + bx lr /* exit */ + + .unreq SRC + .unreq MASK + .unreq DST_R + .unreq DST_W + .unreq W + .endfunc +.endm + +.macro default_init +.endm + +.macro default_cleanup +.endm diff --git a/src/gui/image/qpixmap_raster.cpp b/src/gui/image/qpixmap_raster.cpp index 0b1c18d..b183d0d 100644 --- a/src/gui/image/qpixmap_raster.cpp +++ b/src/gui/image/qpixmap_raster.cpp @@ -182,6 +182,7 @@ void QRasterPixmapData::fromImage(const QImage &sourceImage, QImage::Format opaqueFormat = QNativeImage::systemFormat(); QImage::Format alphaFormat = QImage::Format_ARGB32_Premultiplied; +#ifndef QT_HAVE_NEON switch (opaqueFormat) { case QImage::Format_RGB16: alphaFormat = QImage::Format_ARGB8565_Premultiplied; @@ -189,6 +190,7 @@ void QRasterPixmapData::fromImage(const QImage &sourceImage, default: // We don't care about the others... break; } +#endif if (!sourceImage.hasAlphaChannel() || ((flags & Qt::NoOpaqueDetection) == 0 @@ -238,6 +240,7 @@ void QRasterPixmapData::fill(const QColor &color) if (alpha != 255) { if (!image.hasAlphaChannel()) { QImage::Format toFormat; +#ifndef QT_HAVE_NEON if (image.format() == QImage::Format_RGB16) toFormat = QImage::Format_ARGB8565_Premultiplied; else if (image.format() == QImage::Format_RGB666) @@ -247,6 +250,7 @@ void QRasterPixmapData::fill(const QColor &color) else if (image.format() == QImage::Format_RGB444) toFormat = QImage::Format_ARGB4444_Premultiplied; else +#endif toFormat = QImage::Format_ARGB32_Premultiplied; image = QImage(image.width(), image.height(), toFormat); } diff --git a/src/gui/painting/painting.pri b/src/gui/painting/painting.pri index a6cc9c7..e61e07c 100644 --- a/src/gui/painting/painting.pri +++ b/src/gui/painting/painting.pri @@ -379,11 +379,23 @@ symbian { QMAKE_CXXFLAGS.ARMCC *= -O3 } -neon { +neon:*-g++* { DEFINES += QT_HAVE_NEON HEADERS += painting/qdrawhelper_neon_p.h SOURCES += painting/qdrawhelper_neon.cpp QMAKE_CXXFLAGS *= -mfpu=neon + + PIXMAN_NEON_ASM_FILES = ../3rdparty/pixman/pixman-arm-neon-asm.S + + neon_compiler.commands = $$QMAKE_CXX -c + neon_compiler.commands += $(CXXFLAGS) $(INCPATH) ${QMAKE_FILE_IN} -o ${QMAKE_FILE_OUT} + neon_compiler.dependency_type = TYPE_C + neon_compiler.output = ${QMAKE_VAR_OBJECTS_DIR}${QMAKE_FILE_BASE}$${first(QMAKE_EXT_OBJ)} + neon_compiler.input = PIXMAN_NEON_ASM_FILES + neon_compiler.variable_out = OBJECTS + neon_compiler.name = compiling[neon] ${QMAKE_FILE_IN} + silent:neon_compiler.commands = @echo compiling[neon] ${QMAKE_FILE_IN} && $$neon_compiler.commands + QMAKE_EXTRA_COMPILERS += neon_compiler } contains(QT_CONFIG, zlib) { diff --git a/src/gui/painting/qblendfunctions.cpp b/src/gui/painting/qblendfunctions.cpp index dc33896..13bb260 100644 --- a/src/gui/painting/qblendfunctions.cpp +++ b/src/gui/painting/qblendfunctions.cpp @@ -447,10 +447,10 @@ static void qt_blend_argb24_on_rgb16(uchar *destPixels, int dbpl, -static void qt_blend_argb32_on_rgb16_const_alpha(uchar *destPixels, int dbpl, - const uchar *srcPixels, int sbpl, - int w, int h, - int const_alpha) +void qt_blend_argb32_on_rgb16_const_alpha(uchar *destPixels, int dbpl, + const uchar *srcPixels, int sbpl, + int w, int h, + int const_alpha) { quint16 *dst = (quint16 *) destPixels; const quint32 *src = (const quint32 *) srcPixels; diff --git a/src/gui/painting/qdrawhelper.cpp b/src/gui/painting/qdrawhelper.cpp index 1f75ec7..130270b 100644 --- a/src/gui/painting/qdrawhelper.cpp +++ b/src/gui/painting/qdrawhelper.cpp @@ -7961,6 +7961,10 @@ void qInitDrawhelperAsm() qBlendFunctions[QImage::Format_ARGB32_Premultiplied][QImage::Format_RGB32] = qt_blend_rgb32_on_rgb32_neon; qBlendFunctions[QImage::Format_RGB32][QImage::Format_ARGB32_Premultiplied] = qt_blend_argb32_on_argb32_neon; qBlendFunctions[QImage::Format_ARGB32_Premultiplied][QImage::Format_ARGB32_Premultiplied] = qt_blend_argb32_on_argb32_neon; + qBlendFunctions[QImage::Format_RGB16][QImage::Format_ARGB32_Premultiplied] = qt_blend_argb32_on_rgb16_neon; + qBlendFunctions[QImage::Format_ARGB32_Premultiplied][QImage::Format_RGB16] = qt_blend_rgb16_on_argb32_neon; + + qDrawHelper[QImage::Format_RGB16].alphamapBlit = qt_alphamapblit_quint16_neon; } #endif diff --git a/src/gui/painting/qdrawhelper_neon.cpp b/src/gui/painting/qdrawhelper_neon.cpp index 77c5202..ef1b85c 100644 --- a/src/gui/painting/qdrawhelper_neon.cpp +++ b/src/gui/painting/qdrawhelper_neon.cpp @@ -44,6 +44,7 @@ #ifdef QT_HAVE_NEON #include +#include #include QT_BEGIN_NAMESPACE @@ -87,6 +88,79 @@ static inline uint16x8_t qvsource_over_u16(uint16x8_t src16, uint16x8_t dst16, u return vaddq_u16(src16, qvbyte_mul_u16(dst16, alpha16, half)); } +extern "C" void +pixman_composite_over_8888_0565_asm_neon (int32_t w, + int32_t h, + uint16_t *dst, + int32_t dst_stride, + uint32_t *src, + int32_t src_stride); + +extern "C" void +pixman_composite_over_8888_8888_asm_neon (int32_t w, + int32_t h, + uint32_t *dst, + int32_t dst_stride, + uint32_t *src, + int32_t src_stride); + +extern "C" void +pixman_composite_src_0565_8888_asm_neon (int32_t w, + int32_t h, + uint32_t *dst, + int32_t dst_stride, + uint16_t *src, + int32_t src_stride); + +// qblendfunctions.cpp +void qt_blend_argb32_on_rgb16_const_alpha(uchar *destPixels, int dbpl, + const uchar *srcPixels, int sbpl, + int w, int h, + int const_alpha); + +void qt_blend_rgb16_on_argb32_neon(uchar *destPixels, int dbpl, + const uchar *srcPixels, int sbpl, + int w, int h, + int const_alpha) +{ + dbpl /= 4; + sbpl /= 2; + + quint32 *dst = (quint32 *) destPixels; + quint16 *src = (quint16 *) srcPixels; + + if (const_alpha != 256) { + quint8 a = (255 * const_alpha) >> 8; + quint8 ia = 255 - a; + + while (h--) { + for (int x=0; x= 0xff000000) { - // all opaque - vst1q_u32((uint32_t *)&dst[x], src32); - } else if (src[x] | src[x+1] | src[x+2] | src[x+3]) { - uint32x4_t dst32 = vld1q_u32((uint32_t *)&dst[x]); - - const uint8x16_t src8 = vreinterpretq_u8_u32(src32); - const uint8x16_t dst8 = vreinterpretq_u8_u32(dst32); - - const uint8x8_t src8_low = vget_low_u8(src8); - const uint8x8_t dst8_low = vget_low_u8(dst8); - - const uint8x8_t src8_high = vget_high_u8(src8); - const uint8x8_t dst8_high = vget_high_u8(dst8); - - const uint16x8_t src16_low = vmovl_u8(src8_low); - const uint16x8_t dst16_low = vmovl_u8(dst8_low); - - const uint16x8_t src16_high = vmovl_u8(src8_high); - const uint16x8_t dst16_high = vmovl_u8(dst8_high); - - const uint16x8_t result16_low = qvsource_over_u16(src16_low, dst16_low, half, full); - const uint16x8_t result16_high = qvsource_over_u16(src16_high, dst16_high, half, full); - - const uint32x2_t result32_low = vreinterpret_u32_u8(vmovn_u16(result16_low)); - const uint32x2_t result32_high = vreinterpret_u32_u8(vmovn_u16(result16_high)); - - vst1q_u32((uint32_t *)&dst[x], vcombine_u32(result32_low, result32_high)); - } - } - for (; x= 0xff000000) - dst[x] = s; - else if (s != 0) - dst[x] = s + BYTE_MUL(dst[x], qAlpha(~s)); - } - dst = (quint32 *)(((uchar *) dst) + dbpl); - src = (const quint32 *)(((const uchar *) src) + sbpl); - } + pixman_composite_over_8888_8888_asm_neon(w, h, (uint32_t *)destPixels, dbpl / 4, (uint32_t *)srcPixels, sbpl / 4); } else if (const_alpha != 0) { const_alpha = (const_alpha * 255) >> 8; uint16x8_t const_alpha16 = vdupq_n_u16(const_alpha); @@ -254,6 +285,31 @@ void qt_blend_rgb32_on_rgb32_neon(uchar *destPixels, int dbpl, } } +extern "C" void +pixman_composite_over_n_8_0565_asm_neon (int32_t w, + int32_t h, + uint16_t *dst, + int32_t dst_stride, + uint32_t src, + int32_t unused, + uint8_t *mask, + int32_t mask_stride); + + +void qt_alphamapblit_quint16_neon(QRasterBuffer *rasterBuffer, + int x, int y, quint32 color, + const uchar *bitmap, + int mapWidth, int mapHeight, int mapStride, + const QClipData *) +{ + quint16 *dest = reinterpret_cast(rasterBuffer->scanLine(y)) + x; + const int destStride = rasterBuffer->bytesPerLine() / sizeof(quint16); + + uchar *mask = const_cast(bitmap); + + pixman_composite_over_n_8_0565_asm_neon(mapWidth, mapHeight, dest, destStride, color, 0, mask, mapStride); +} + QT_END_NAMESPACE #endif // QT_HAVE_NEON diff --git a/src/gui/painting/qdrawhelper_neon_p.h b/src/gui/painting/qdrawhelper_neon_p.h index 1994441..6f9604f 100644 --- a/src/gui/painting/qdrawhelper_neon_p.h +++ b/src/gui/painting/qdrawhelper_neon_p.h @@ -69,6 +69,21 @@ void qt_blend_rgb32_on_rgb32_neon(uchar *destPixels, int dbpl, int w, int h, int const_alpha); +void qt_blend_argb32_on_rgb16_neon(uchar *destPixels, int dbpl, + const uchar *srcPixels, int sbpl, + int w, int h, + int const_alpha); + +void qt_blend_rgb16_on_argb32_neon(uchar *destPixels, int dbpl, + const uchar *srcPixels, int sbpl, + int w, int h, + int const_alpha); + +void qt_alphamapblit_quint16_neon(QRasterBuffer *rasterBuffer, + int x, int y, quint32 color, + const uchar *bitmap, + int mapWidth, int mapHeight, int mapStride, + const QClipData *clip); #endif // QT_HAVE_NEON QT_END_NAMESPACE -- cgit v0.12 From 0ad22e6cd1cb353e2e1244c1eb7257cb3af9def4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Samuel=20R=C3=B8dal?= Date: Wed, 24 Mar 2010 19:03:47 +0100 Subject: Optimized scaled/transformed image blending for ARGB32PM and RGB16 on RGB16. Before: :/traces/qmlphoneconcept.trace, iterations: 5, frames: 48, min(ms): 1207, median(ms): 1212, stddev: 0,165153 %, max(fps): 39,768020 After: traces/qmlphoneconcept.trace, iterations: 3, frames: 48, min(ms): 884, median(ms): 886, stddev: 0,383097 %, max(fps): 54,298643 Task-number: QTBUG-6684 Reviewed-by: Gunnar Sletta --- src/gui/painting/painting.pri | 6 +- src/gui/painting/qblendfunctions.cpp | 438 ++-------------------------- src/gui/painting/qblendfunctions_p.h | 497 ++++++++++++++++++++++++++++++++ src/gui/painting/qdrawhelper.cpp | 6 + src/gui/painting/qdrawhelper_neon.cpp | 139 +++++++++ src/gui/painting/qdrawhelper_neon_asm.S | 192 ++++++++++++ src/gui/painting/qdrawhelper_neon_p.h | 31 ++ 7 files changed, 890 insertions(+), 419 deletions(-) create mode 100644 src/gui/painting/qblendfunctions_p.h create mode 100644 src/gui/painting/qdrawhelper_neon_asm.S diff --git a/src/gui/painting/painting.pri b/src/gui/painting/painting.pri index e61e07c..ed8ee76 100644 --- a/src/gui/painting/painting.pri +++ b/src/gui/painting/painting.pri @@ -91,6 +91,8 @@ SOURCES += \ HEADERS += \ painting/qpaintengine_raster_p.h \ + painting/qdrawhelper_p.h \ + painting/qblendfunctions_p.h \ painting/qrasterdefs_p.h \ painting/qgrayraster_p.h @@ -385,13 +387,13 @@ neon:*-g++* { SOURCES += painting/qdrawhelper_neon.cpp QMAKE_CXXFLAGS *= -mfpu=neon - PIXMAN_NEON_ASM_FILES = ../3rdparty/pixman/pixman-arm-neon-asm.S + DRAWHELPER_NEON_ASM_FILES = ../3rdparty/pixman/pixman-arm-neon-asm.S painting/qdrawhelper_neon_asm.S neon_compiler.commands = $$QMAKE_CXX -c neon_compiler.commands += $(CXXFLAGS) $(INCPATH) ${QMAKE_FILE_IN} -o ${QMAKE_FILE_OUT} neon_compiler.dependency_type = TYPE_C neon_compiler.output = ${QMAKE_VAR_OBJECTS_DIR}${QMAKE_FILE_BASE}$${first(QMAKE_EXT_OBJ)} - neon_compiler.input = PIXMAN_NEON_ASM_FILES + neon_compiler.input = DRAWHELPER_NEON_ASM_FILES neon_compiler.variable_out = OBJECTS neon_compiler.name = compiling[neon] ${QMAKE_FILE_IN} silent:neon_compiler.commands = @echo compiling[neon] ${QMAKE_FILE_IN} && $$neon_compiler.commands diff --git a/src/gui/painting/qblendfunctions.cpp b/src/gui/painting/qblendfunctions.cpp index 13bb260..24908ce 100644 --- a/src/gui/painting/qblendfunctions.cpp +++ b/src/gui/painting/qblendfunctions.cpp @@ -40,7 +40,7 @@ ****************************************************************************/ #include -#include "qdrawhelper_p.h" +#include "qblendfunctions_p.h" QT_BEGIN_NAMESPACE @@ -88,6 +88,8 @@ static inline quint16 convert_argb32_to_rgb16(quint32 spix) struct Blend_RGB16_on_RGB16_NoAlpha { inline void write(quint16 *dst, quint16 src) { *dst = src; } + + inline void flush(void *) {} }; struct Blend_RGB16_on_RGB16_ConstAlpha { @@ -100,6 +102,8 @@ struct Blend_RGB16_on_RGB16_ConstAlpha { *dst = BYTE_MUL_RGB16(src, m_alpha) + BYTE_MUL_RGB16(*dst, m_ialpha); } + inline void flush(void *) {} + quint32 m_alpha; quint32 m_ialpha; }; @@ -114,6 +118,8 @@ struct Blend_ARGB24_on_RGB16_SourceAlpha { *dst = s; } } + + inline void flush(void *) {} }; struct Blend_ARGB24_on_RGB16_SourceAndConstAlpha { @@ -132,6 +138,8 @@ struct Blend_ARGB24_on_RGB16_SourceAndConstAlpha { } } + inline void flush(void *) {} + quint32 m_alpha; }; @@ -145,6 +153,8 @@ struct Blend_ARGB32_on_RGB16_SourceAlpha { *dst = s; } } + + inline void flush(void *) {} }; struct Blend_ARGB32_on_RGB16_SourceAndConstAlpha { @@ -163,99 +173,11 @@ struct Blend_ARGB32_on_RGB16_SourceAndConstAlpha { } } + inline void flush(void *) {} + quint32 m_alpha; }; -template -void qt_scale_image_16bit(uchar *destPixels, int dbpl, - const uchar *srcPixels, int sbpl, - const QRectF &targetRect, - const QRectF &srcRect, - const QRect &clip, - T blender) -{ - qreal sx = targetRect.width() / (qreal) srcRect.width(); - qreal sy = targetRect.height() / (qreal) srcRect.height(); - - int ix = 0x00010000 / sx; - int iy = 0x00010000 / sy; - -// qDebug() << "scale:" << endl -// << " - target" << targetRect << endl -// << " - source" << srcRect << endl -// << " - clip" << clip << endl -// << " - sx=" << sx << " sy=" << sy << " ix=" << ix << " iy=" << iy; - - int cx1 = clip.x(); - int cx2 = clip.x() + clip.width(); - int cy1 = clip.top(); - int cy2 = clip.y() + clip.height(); - - int tx1 = qRound(targetRect.left()); - int tx2 = qRound(targetRect.right()); - int ty1 = qRound(targetRect.top()); - int ty2 = qRound(targetRect.bottom()); - - if (tx2 < tx1) - qSwap(tx2, tx1); - - if (ty2 < ty1) - qSwap(ty2, ty1); - - if (tx1 < cx1) - tx1 = cx1; - - if (tx2 >= cx2) - tx2 = cx2; - - if (tx1 >= tx2) - return; - - if (ty1 < cy1) - ty1 = cy1; - - if (ty2 >= cy2) - ty2 = cy2; - - if (ty1 >= ty2) - return; - - int h = ty2 - ty1; - int w = tx2 - tx1; - - - quint32 basex; - quint32 srcy; - - if (sx < 0) { - int dstx = qFloor((tx1 + qreal(0.5) - targetRect.right()) * ix) + 1; - basex = quint32(srcRect.right() * 65536) + dstx; - } else { - int dstx = qCeil((tx1 + qreal(0.5) - targetRect.left()) * ix) - 1; - basex = quint32(srcRect.left() * 65536) + dstx; - } - if (sy < 0) { - int dsty = qFloor((ty1 + qreal(0.5) - targetRect.bottom()) * iy) + 1; - srcy = quint32(srcRect.bottom() * 65536) + dsty; - } else { - int dsty = qCeil((ty1 + qreal(0.5) - targetRect.top()) * iy) - 1; - srcy = quint32(srcRect.top() * 65536) + dsty; - } - - quint16 *dst = ((quint16 *) (destPixels + ty1 * dbpl)) + tx1; - - while (h--) { - const SRC *src = (const SRC *) (srcPixels + (srcy >> 16) * sbpl); - int srcx = basex; - for (int x=0; x> 16]); - srcx += ix; - } - dst = (quint16 *)(((uchar *) dst) + dbpl); - srcy += iy; - } -} - void qt_scale_image_rgb16_on_rgb16(uchar *destPixels, int dbpl, const uchar *srcPixels, int sbpl, const QRectF &targetRect, @@ -643,6 +565,8 @@ void qt_blend_rgb32_on_rgb32(uchar *destPixels, int dbpl, struct Blend_RGB32_on_RGB32_NoAlpha { inline void write(quint32 *dst, quint32 src) { *dst = src; } + + inline void flush(void *) {} }; struct Blend_RGB32_on_RGB32_ConstAlpha { @@ -655,6 +579,8 @@ struct Blend_RGB32_on_RGB32_ConstAlpha { *dst = BYTE_MUL(src, m_alpha) + BYTE_MUL(*dst, m_ialpha); } + inline void flush(void *) {} + quint32 m_alpha; quint32 m_ialpha; }; @@ -663,6 +589,8 @@ struct Blend_ARGB32_on_ARGB32_SourceAlpha { inline void write(quint32 *dst, quint32 src) { *dst = src + BYTE_MUL(*dst, qAlpha(~src)); } + + inline void flush(void *) {} }; struct Blend_ARGB32_on_ARGB32_SourceAndConstAlpha { @@ -676,98 +604,12 @@ struct Blend_ARGB32_on_ARGB32_SourceAndConstAlpha { *dst = src + BYTE_MUL(*dst, qAlpha(~src)); } + inline void flush(void *) {} + quint32 m_alpha; quint32 m_ialpha; }; -template void qt_scale_image_32bit(uchar *destPixels, int dbpl, - const uchar *srcPixels, int sbpl, - const QRectF &targetRect, - const QRectF &srcRect, - const QRect &clip, - T blender) -{ - qreal sx = targetRect.width() / (qreal) srcRect.width(); - qreal sy = targetRect.height() / (qreal) srcRect.height(); - - int ix = 0x00010000 / sx; - int iy = 0x00010000 / sy; - -// qDebug() << "scale:" << endl -// << " - target" << targetRect << endl -// << " - source" << srcRect << endl -// << " - clip" << clip << endl -// << " - sx=" << sx << " sy=" << sy << " ix=" << ix << " iy=" << iy; - - int cx1 = clip.x(); - int cx2 = clip.x() + clip.width(); - int cy1 = clip.top(); - int cy2 = clip.y() + clip.height(); - - int tx1 = qRound(targetRect.left()); - int tx2 = qRound(targetRect.right()); - int ty1 = qRound(targetRect.top()); - int ty2 = qRound(targetRect.bottom()); - - if (tx2 < tx1) - qSwap(tx2, tx1); - - if (ty2 < ty1) - qSwap(ty2, ty1); - - if (tx1 < cx1) - tx1 = cx1; - - if (tx2 >= cx2) - tx2 = cx2; - - if (tx1 >= tx2) - return; - - if (ty1 < cy1) - ty1 = cy1; - - if (ty2 >= cy2) - ty2 = cy2; - - if (ty1 >= ty2) - return; - - int h = ty2 - ty1; - int w = tx2 - tx1; - - quint32 basex; - quint32 srcy; - - if (sx < 0) { - int dstx = qFloor((tx1 + qreal(0.5) - targetRect.right()) * ix) + 1; - basex = quint32(srcRect.right() * 65536) + dstx; - } else { - int dstx = qCeil((tx1 + qreal(0.5) - targetRect.left()) * ix) - 1; - basex = quint32(srcRect.left() * 65536) + dstx; - } - if (sy < 0) { - int dsty = qFloor((ty1 + qreal(0.5) - targetRect.bottom()) * iy) + 1; - srcy = quint32(srcRect.bottom() * 65536) + dsty; - } else { - int dsty = qCeil((ty1 + qreal(0.5) - targetRect.top()) * iy) - 1; - srcy = quint32(srcRect.top() * 65536) + dsty; - } - - quint32 *dst = ((quint32 *) (destPixels + ty1 * dbpl)) + tx1; - - while (h--) { - const uint *src = (const quint32 *) (srcPixels + (srcy >> 16) * sbpl); - int srcx = basex; - for (int x=0; x> 16]); - srcx += ix; - } - dst = (quint32 *)(((uchar *) dst) + dbpl); - srcy += iy; - } -} - void qt_scale_image_rgb32_on_rgb32(uchar *destPixels, int dbpl, const uchar *srcPixels, int sbpl, const QRectF &targetRect, @@ -818,244 +660,6 @@ void qt_scale_image_argb32_on_argb32(uchar *destPixels, int dbpl, } } -struct QTransformImageVertex -{ - qreal x, y, u, v; // destination coordinates (x, y) and source coordinates (u, v) -}; - -template -void qt_transform_image_rasterize(DestT *destPixels, int dbpl, - const SrcT *srcPixels, int sbpl, - const QTransformImageVertex &topLeft, const QTransformImageVertex &bottomLeft, - const QTransformImageVertex &topRight, const QTransformImageVertex &bottomRight, - const QRect &sourceRect, - const QRect &clip, - qreal topY, qreal bottomY, - int dudx, int dvdx, int dudy, int dvdy, int u0, int v0, - Blender blender) -{ - int fromY = qMax(qRound(topY), clip.top()); - int toY = qMin(qRound(bottomY), clip.top() + clip.height()); - if (fromY >= toY) - return; - - qreal leftSlope = (bottomLeft.x - topLeft.x) / (bottomLeft.y - topLeft.y); - qreal rightSlope = (bottomRight.x - topRight.x) / (bottomRight.y - topRight.y); - int dx_l = int(leftSlope * 0x10000); - int dx_r = int(rightSlope * 0x10000); - int x_l = int((topLeft.x + (0.5 + fromY - topLeft.y) * leftSlope + 0.5) * 0x10000); - int x_r = int((topRight.x + (0.5 + fromY - topRight.y) * rightSlope + 0.5) * 0x10000); - - int fromX, toX, x1, x2, u, v, i, ii; - DestT *line; - for (int y = fromY; y < toY; ++y) { - line = reinterpret_cast(reinterpret_cast(destPixels) + y * dbpl); - - fromX = qMax(x_l >> 16, clip.left()); - toX = qMin(x_r >> 16, clip.left() + clip.width()); - if (fromX < toX) { - // Because of rounding, we can get source coordinates outside the source image. - // Clamp these coordinates to the source rect to avoid segmentation fault and - // garbage on the screen. - - // Find the first pixel on the current scan line where the source coordinates are within the source rect. - x1 = fromX; - u = x1 * dudx + y * dudy + u0; - v = x1 * dvdx + y * dvdy + v0; - for (; x1 < toX; ++x1) { - int uu = u >> 16; - int vv = v >> 16; - if (uu >= sourceRect.left() && uu < sourceRect.left() + sourceRect.width() - && vv >= sourceRect.top() && vv < sourceRect.top() + sourceRect.height()) { - break; - } - u += dudx; - v += dvdx; - } - - // Find the last pixel on the current scan line where the source coordinates are within the source rect. - x2 = toX; - u = (x2 - 1) * dudx + y * dudy + u0; - v = (x2 - 1) * dvdx + y * dvdy + v0; - for (; x2 > x1; --x2) { - int uu = u >> 16; - int vv = v >> 16; - if (uu >= sourceRect.left() && uu < sourceRect.left() + sourceRect.width() - && vv >= sourceRect.top() && vv < sourceRect.top() + sourceRect.height()) { - break; - } - u -= dudx; - v -= dvdx; - } - - // Set up values at the beginning of the scan line. - u = fromX * dudx + y * dudy + u0; - v = fromX * dvdx + y * dvdy + v0; - line += fromX; - - // Beginning of the scan line, with per-pixel checks. - i = x1 - fromX; - while (i) { - int uu = qBound(sourceRect.left(), u >> 16, sourceRect.left() + sourceRect.width() - 1); - int vv = qBound(sourceRect.top(), v >> 16, sourceRect.top() + sourceRect.height() - 1); - blender.write(line, reinterpret_cast(reinterpret_cast(srcPixels) + vv * sbpl)[uu]); - u += dudx; - v += dvdx; - ++line; - --i; - } - - // Middle of the scan line, without checks. - // Manual loop unrolling. - i = x2 - x1; - ii = i >> 3; - while (ii) { - blender.write(&line[0], reinterpret_cast(reinterpret_cast(srcPixels) + (v >> 16) * sbpl)[u >> 16]); u += dudx; v += dvdx; - blender.write(&line[1], reinterpret_cast(reinterpret_cast(srcPixels) + (v >> 16) * sbpl)[u >> 16]); u += dudx; v += dvdx; - blender.write(&line[2], reinterpret_cast(reinterpret_cast(srcPixels) + (v >> 16) * sbpl)[u >> 16]); u += dudx; v += dvdx; - blender.write(&line[3], reinterpret_cast(reinterpret_cast(srcPixels) + (v >> 16) * sbpl)[u >> 16]); u += dudx; v += dvdx; - blender.write(&line[4], reinterpret_cast(reinterpret_cast(srcPixels) + (v >> 16) * sbpl)[u >> 16]); u += dudx; v += dvdx; - blender.write(&line[5], reinterpret_cast(reinterpret_cast(srcPixels) + (v >> 16) * sbpl)[u >> 16]); u += dudx; v += dvdx; - blender.write(&line[6], reinterpret_cast(reinterpret_cast(srcPixels) + (v >> 16) * sbpl)[u >> 16]); u += dudx; v += dvdx; - blender.write(&line[7], reinterpret_cast(reinterpret_cast(srcPixels) + (v >> 16) * sbpl)[u >> 16]); u += dudx; v += dvdx; - line += 8; - --ii; - } - switch (i & 7) { - case 7: blender.write(line, reinterpret_cast(reinterpret_cast(srcPixels) + (v >> 16) * sbpl)[u >> 16]); u += dudx; v += dvdx; ++line; - case 6: blender.write(line, reinterpret_cast(reinterpret_cast(srcPixels) + (v >> 16) * sbpl)[u >> 16]); u += dudx; v += dvdx; ++line; - case 5: blender.write(line, reinterpret_cast(reinterpret_cast(srcPixels) + (v >> 16) * sbpl)[u >> 16]); u += dudx; v += dvdx; ++line; - case 4: blender.write(line, reinterpret_cast(reinterpret_cast(srcPixels) + (v >> 16) * sbpl)[u >> 16]); u += dudx; v += dvdx; ++line; - case 3: blender.write(line, reinterpret_cast(reinterpret_cast(srcPixels) + (v >> 16) * sbpl)[u >> 16]); u += dudx; v += dvdx; ++line; - case 2: blender.write(line, reinterpret_cast(reinterpret_cast(srcPixels) + (v >> 16) * sbpl)[u >> 16]); u += dudx; v += dvdx; ++line; - case 1: blender.write(line, reinterpret_cast(reinterpret_cast(srcPixels) + (v >> 16) * sbpl)[u >> 16]); u += dudx; v += dvdx; ++line; - } - - // End of the scan line, with per-pixel checks. - i = toX - x2; - while (i) { - int uu = qBound(sourceRect.left(), u >> 16, sourceRect.left() + sourceRect.width() - 1); - int vv = qBound(sourceRect.top(), v >> 16, sourceRect.top() + sourceRect.height() - 1); - blender.write(line, reinterpret_cast(reinterpret_cast(srcPixels) + vv * sbpl)[uu]); - u += dudx; - v += dvdx; - ++line; - --i; - } - } - x_l += dx_l; - x_r += dx_r; - } -} - -template -void qt_transform_image(DestT *destPixels, int dbpl, - const SrcT *srcPixels, int sbpl, - const QRectF &targetRect, - const QRectF &sourceRect, - const QRect &clip, - const QTransform &targetRectTransform, - Blender blender) -{ - enum Corner - { - TopLeft, - TopRight, - BottomRight, - BottomLeft - }; - - // map source rectangle to destination. - QTransformImageVertex v[4]; - v[TopLeft].u = v[BottomLeft].u = sourceRect.left(); - v[TopLeft].v = v[TopRight].v = sourceRect.top(); - v[TopRight].u = v[BottomRight].u = sourceRect.right(); - v[BottomLeft].v = v[BottomRight].v = sourceRect.bottom(); - targetRectTransform.map(targetRect.left(), targetRect.top(), &v[TopLeft].x, &v[TopLeft].y); - targetRectTransform.map(targetRect.right(), targetRect.top(), &v[TopRight].x, &v[TopRight].y); - targetRectTransform.map(targetRect.left(), targetRect.bottom(), &v[BottomLeft].x, &v[BottomLeft].y); - targetRectTransform.map(targetRect.right(), targetRect.bottom(), &v[BottomRight].x, &v[BottomRight].y); - - // find topmost vertex. - int topmost = 0; - for (int i = 1; i < 4; ++i) { - if (v[i].y < v[topmost].y) - topmost = i; - } - // rearrange array such that topmost vertex is at index 0. - switch (topmost) { - case 1: - { - QTransformImageVertex t = v[0]; - for (int i = 0; i < 3; ++i) - v[i] = v[i+1]; - v[3] = t; - } - break; - case 2: - qSwap(v[0], v[2]); - qSwap(v[1], v[3]); - break; - case 3: - { - QTransformImageVertex t = v[3]; - for (int i = 3; i > 0; --i) - v[i] = v[i-1]; - v[0] = t; - } - break; - } - - // if necessary, swap vertex 1 and 3 such that 1 is to the left of 3. - qreal dx1 = v[1].x - v[0].x; - qreal dy1 = v[1].y - v[0].y; - qreal dx2 = v[3].x - v[0].x; - qreal dy2 = v[3].y - v[0].y; - if (dx1 * dy2 - dx2 * dy1 > 0) - qSwap(v[1], v[3]); - - QTransformImageVertex u = {v[1].x - v[0].x, v[1].y - v[0].y, v[1].u - v[0].u, v[1].v - v[0].v}; - QTransformImageVertex w = {v[2].x - v[0].x, v[2].y - v[0].y, v[2].u - v[0].u, v[2].v - v[0].v}; - - qreal det = u.x * w.y - u.y * w.x; - if (det == 0) - return; - - qreal invDet = 1.0 / det; - qreal m11, m12, m21, m22, mdx, mdy; - - m11 = (u.u * w.y - u.y * w.u) * invDet; - m12 = (u.x * w.u - u.u * w.x) * invDet; - m21 = (u.v * w.y - u.y * w.v) * invDet; - m22 = (u.x * w.v - u.v * w.x) * invDet; - mdx = v[0].u - m11 * v[0].x - m12 * v[0].y; - mdy = v[0].v - m21 * v[0].x - m22 * v[0].y; - - int dudx = int(m11 * 0x10000); - int dvdx = int(m21 * 0x10000); - int dudy = int(m12 * 0x10000); - int dvdy = int(m22 * 0x10000); - int u0 = qCeil((0.5 * m11 + 0.5 * m12 + mdx) * 0x10000) - 1; - int v0 = qCeil((0.5 * m21 + 0.5 * m22 + mdy) * 0x10000) - 1; - - int x1 = qFloor(sourceRect.left()); - int y1 = qFloor(sourceRect.top()); - int x2 = qCeil(sourceRect.right()); - int y2 = qCeil(sourceRect.bottom()); - QRect sourceRectI(x1, y1, x2 - x1, y2 - y1); - - // rasterize trapezoids. - if (v[1].y < v[3].y) { - qt_transform_image_rasterize(destPixels, dbpl, srcPixels, sbpl, v[0], v[1], v[0], v[3], sourceRectI, clip, v[0].y, v[1].y, dudx, dvdx, dudy, dvdy, u0, v0, blender); - qt_transform_image_rasterize(destPixels, dbpl, srcPixels, sbpl, v[1], v[2], v[0], v[3], sourceRectI, clip, v[1].y, v[3].y, dudx, dvdx, dudy, dvdy, u0, v0, blender); - qt_transform_image_rasterize(destPixels, dbpl, srcPixels, sbpl, v[1], v[2], v[3], v[2], sourceRectI, clip, v[3].y, v[2].y, dudx, dvdx, dudy, dvdy, u0, v0, blender); - } else { - qt_transform_image_rasterize(destPixels, dbpl, srcPixels, sbpl, v[0], v[1], v[0], v[3], sourceRectI, clip, v[0].y, v[3].y, dudx, dvdx, dudy, dvdy, u0, v0, blender); - qt_transform_image_rasterize(destPixels, dbpl, srcPixels, sbpl, v[0], v[1], v[3], v[2], sourceRectI, clip, v[3].y, v[1].y, dudx, dvdx, dudy, dvdy, u0, v0, blender); - qt_transform_image_rasterize(destPixels, dbpl, srcPixels, sbpl, v[1], v[2], v[3], v[2], sourceRectI, clip, v[1].y, v[2].y, dudx, dvdx, dudy, dvdy, u0, v0, blender); - } -} - void qt_transform_image_rgb16_on_rgb16(uchar *destPixels, int dbpl, const uchar *srcPixels, int sbpl, const QRectF &targetRect, diff --git a/src/gui/painting/qblendfunctions_p.h b/src/gui/painting/qblendfunctions_p.h new file mode 100644 index 0000000..ad754b0 --- /dev/null +++ b/src/gui/painting/qblendfunctions_p.h @@ -0,0 +1,497 @@ +/**************************************************************************** +** +** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies). +** All rights reserved. +** Contact: Nokia Corporation (qt-info@nokia.com) +** +** This file is part of the QtGui module of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:LGPL$ +** No Commercial Usage +** This file contains pre-release code and may not be distributed. +** You may use this file in accordance with the terms and conditions +** contained in the Technology Preview License Agreement accompanying +** this package. +** +** GNU Lesser General Public License Usage +** Alternatively, this file may be used under the terms of the GNU Lesser +** General Public License version 2.1 as published by the Free Software +** Foundation and appearing in the file LICENSE.LGPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU Lesser General Public License version 2.1 requirements +** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. +** +** In addition, as a special exception, Nokia gives you certain additional +** rights. These rights are described in the Nokia Qt LGPL Exception +** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. +** +** If you have questions regarding the use of this file, please contact +** Nokia at qt-info@nokia.com. +** +** +** +** +** +** +** +** +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#ifndef QBLENDFUNCTIONS_P_H +#define QBLENDFUNCTIONS_P_H + +#include +#include "qdrawhelper_p.h" + +QT_BEGIN_NAMESPACE + +// +// W A R N I N G +// ------------- +// +// This file is not part of the Qt API. It exists purely as an +// implementation detail. This header file may change from version to +// version without notice, or even be removed. +// +// We mean it. +// + +template +void qt_scale_image_16bit(uchar *destPixels, int dbpl, + const uchar *srcPixels, int sbpl, + const QRectF &targetRect, + const QRectF &srcRect, + const QRect &clip, + T blender) +{ + qreal sx = targetRect.width() / (qreal) srcRect.width(); + qreal sy = targetRect.height() / (qreal) srcRect.height(); + + int ix = 0x00010000 / sx; + int iy = 0x00010000 / sy; + +// qDebug() << "scale:" << endl +// << " - target" << targetRect << endl +// << " - source" << srcRect << endl +// << " - clip" << clip << endl +// << " - sx=" << sx << " sy=" << sy << " ix=" << ix << " iy=" << iy; + + int cx1 = clip.x(); + int cx2 = clip.x() + clip.width(); + int cy1 = clip.top(); + int cy2 = clip.y() + clip.height(); + + int tx1 = qRound(targetRect.left()); + int tx2 = qRound(targetRect.right()); + int ty1 = qRound(targetRect.top()); + int ty2 = qRound(targetRect.bottom()); + + if (tx2 < tx1) + qSwap(tx2, tx1); + + if (ty2 < ty1) + qSwap(ty2, ty1); + + if (tx1 < cx1) + tx1 = cx1; + + if (tx2 >= cx2) + tx2 = cx2; + + if (tx1 >= tx2) + return; + + if (ty1 < cy1) + ty1 = cy1; + + if (ty2 >= cy2) + ty2 = cy2; + + if (ty1 >= ty2) + return; + + int h = ty2 - ty1; + int w = tx2 - tx1; + + + quint32 basex; + quint32 srcy; + + if (sx < 0) { + int dstx = qFloor((tx1 + qreal(0.5) - targetRect.right()) * ix) + 1; + basex = quint32(srcRect.right() * 65536) + dstx; + } else { + int dstx = qCeil((tx1 + qreal(0.5) - targetRect.left()) * ix) - 1; + basex = quint32(srcRect.left() * 65536) + dstx; + } + if (sy < 0) { + int dsty = qFloor((ty1 + qreal(0.5) - targetRect.bottom()) * iy) + 1; + srcy = quint32(srcRect.bottom() * 65536) + dsty; + } else { + int dsty = qCeil((ty1 + qreal(0.5) - targetRect.top()) * iy) - 1; + srcy = quint32(srcRect.top() * 65536) + dsty; + } + + quint16 *dst = ((quint16 *) (destPixels + ty1 * dbpl)) + tx1; + + while (h--) { + const SRC *src = (const SRC *) (srcPixels + (srcy >> 16) * sbpl); + int srcx = basex; + int x = 0; + for (; x> 16]); srcx += ix; + blender.write(&dst[x+1], src[srcx >> 16]); srcx += ix; + blender.write(&dst[x+2], src[srcx >> 16]); srcx += ix; + blender.write(&dst[x+3], src[srcx >> 16]); srcx += ix; + blender.write(&dst[x+4], src[srcx >> 16]); srcx += ix; + blender.write(&dst[x+5], src[srcx >> 16]); srcx += ix; + blender.write(&dst[x+6], src[srcx >> 16]); srcx += ix; + blender.write(&dst[x+7], src[srcx >> 16]); srcx += ix; + } + for (; x> 16]); + srcx += ix; + } + blender.flush(&dst[x]); + dst = (quint16 *)(((uchar *) dst) + dbpl); + srcy += iy; + } +} + +template void qt_scale_image_32bit(uchar *destPixels, int dbpl, + const uchar *srcPixels, int sbpl, + const QRectF &targetRect, + const QRectF &srcRect, + const QRect &clip, + T blender) +{ + qreal sx = targetRect.width() / (qreal) srcRect.width(); + qreal sy = targetRect.height() / (qreal) srcRect.height(); + + int ix = 0x00010000 / sx; + int iy = 0x00010000 / sy; + +// qDebug() << "scale:" << endl +// << " - target" << targetRect << endl +// << " - source" << srcRect << endl +// << " - clip" << clip << endl +// << " - sx=" << sx << " sy=" << sy << " ix=" << ix << " iy=" << iy; + + int cx1 = clip.x(); + int cx2 = clip.x() + clip.width(); + int cy1 = clip.top(); + int cy2 = clip.y() + clip.height(); + + int tx1 = qRound(targetRect.left()); + int tx2 = qRound(targetRect.right()); + int ty1 = qRound(targetRect.top()); + int ty2 = qRound(targetRect.bottom()); + + if (tx2 < tx1) + qSwap(tx2, tx1); + + if (ty2 < ty1) + qSwap(ty2, ty1); + + if (tx1 < cx1) + tx1 = cx1; + + if (tx2 >= cx2) + tx2 = cx2; + + if (tx1 >= tx2) + return; + + if (ty1 < cy1) + ty1 = cy1; + + if (ty2 >= cy2) + ty2 = cy2; + + if (ty1 >= ty2) + return; + + int h = ty2 - ty1; + int w = tx2 - tx1; + + quint32 basex; + quint32 srcy; + + if (sx < 0) { + int dstx = qFloor((tx1 + qreal(0.5) - targetRect.right()) * ix) + 1; + basex = quint32(srcRect.right() * 65536) + dstx; + } else { + int dstx = qCeil((tx1 + qreal(0.5) - targetRect.left()) * ix) - 1; + basex = quint32(srcRect.left() * 65536) + dstx; + } + if (sy < 0) { + int dsty = qFloor((ty1 + qreal(0.5) - targetRect.bottom()) * iy) + 1; + srcy = quint32(srcRect.bottom() * 65536) + dsty; + } else { + int dsty = qCeil((ty1 + qreal(0.5) - targetRect.top()) * iy) - 1; + srcy = quint32(srcRect.top() * 65536) + dsty; + } + + quint32 *dst = ((quint32 *) (destPixels + ty1 * dbpl)) + tx1; + + while (h--) { + const uint *src = (const quint32 *) (srcPixels + (srcy >> 16) * sbpl); + int srcx = basex; + int x = 0; + for (; x> 16]); + srcx += ix; + } + blender.flush(&dst[x]); + dst = (quint32 *)(((uchar *) dst) + dbpl); + srcy += iy; + } +} + +struct QTransformImageVertex +{ + qreal x, y, u, v; // destination coordinates (x, y) and source coordinates (u, v) +}; + +template +void qt_transform_image_rasterize(DestT *destPixels, int dbpl, + const SrcT *srcPixels, int sbpl, + const QTransformImageVertex &topLeft, const QTransformImageVertex &bottomLeft, + const QTransformImageVertex &topRight, const QTransformImageVertex &bottomRight, + const QRect &sourceRect, + const QRect &clip, + qreal topY, qreal bottomY, + int dudx, int dvdx, int dudy, int dvdy, int u0, int v0, + Blender blender) +{ + int fromY = qMax(qRound(topY), clip.top()); + int toY = qMin(qRound(bottomY), clip.top() + clip.height()); + if (fromY >= toY) + return; + + qreal leftSlope = (bottomLeft.x - topLeft.x) / (bottomLeft.y - topLeft.y); + qreal rightSlope = (bottomRight.x - topRight.x) / (bottomRight.y - topRight.y); + int dx_l = int(leftSlope * 0x10000); + int dx_r = int(rightSlope * 0x10000); + int x_l = int((topLeft.x + (0.5 + fromY - topLeft.y) * leftSlope + 0.5) * 0x10000); + int x_r = int((topRight.x + (0.5 + fromY - topRight.y) * rightSlope + 0.5) * 0x10000); + + int fromX, toX, x1, x2, u, v, i, ii; + DestT *line; + for (int y = fromY; y < toY; ++y) { + line = reinterpret_cast(reinterpret_cast(destPixels) + y * dbpl); + + fromX = qMax(x_l >> 16, clip.left()); + toX = qMin(x_r >> 16, clip.left() + clip.width()); + if (fromX < toX) { + // Because of rounding, we can get source coordinates outside the source image. + // Clamp these coordinates to the source rect to avoid segmentation fault and + // garbage on the screen. + + // Find the first pixel on the current scan line where the source coordinates are within the source rect. + x1 = fromX; + u = x1 * dudx + y * dudy + u0; + v = x1 * dvdx + y * dvdy + v0; + for (; x1 < toX; ++x1) { + int uu = u >> 16; + int vv = v >> 16; + if (uu >= sourceRect.left() && uu < sourceRect.left() + sourceRect.width() + && vv >= sourceRect.top() && vv < sourceRect.top() + sourceRect.height()) { + break; + } + u += dudx; + v += dvdx; + } + + // Find the last pixel on the current scan line where the source coordinates are within the source rect. + x2 = toX; + u = (x2 - 1) * dudx + y * dudy + u0; + v = (x2 - 1) * dvdx + y * dvdy + v0; + for (; x2 > x1; --x2) { + int uu = u >> 16; + int vv = v >> 16; + if (uu >= sourceRect.left() && uu < sourceRect.left() + sourceRect.width() + && vv >= sourceRect.top() && vv < sourceRect.top() + sourceRect.height()) { + break; + } + u -= dudx; + v -= dvdx; + } + + // Set up values at the beginning of the scan line. + u = fromX * dudx + y * dudy + u0; + v = fromX * dvdx + y * dvdy + v0; + line += fromX; + + // Beginning of the scan line, with per-pixel checks. + i = x1 - fromX; + while (i) { + int uu = qBound(sourceRect.left(), u >> 16, sourceRect.left() + sourceRect.width() - 1); + int vv = qBound(sourceRect.top(), v >> 16, sourceRect.top() + sourceRect.height() - 1); + blender.write(line, reinterpret_cast(reinterpret_cast(srcPixels) + vv * sbpl)[uu]); + u += dudx; + v += dvdx; + ++line; + --i; + } + + // Middle of the scan line, without checks. + // Manual loop unrolling. + i = x2 - x1; + ii = i >> 3; + while (ii) { + blender.write(&line[0], reinterpret_cast(reinterpret_cast(srcPixels) + (v >> 16) * sbpl)[u >> 16]); u += dudx; v += dvdx; + blender.write(&line[1], reinterpret_cast(reinterpret_cast(srcPixels) + (v >> 16) * sbpl)[u >> 16]); u += dudx; v += dvdx; + blender.write(&line[2], reinterpret_cast(reinterpret_cast(srcPixels) + (v >> 16) * sbpl)[u >> 16]); u += dudx; v += dvdx; + blender.write(&line[3], reinterpret_cast(reinterpret_cast(srcPixels) + (v >> 16) * sbpl)[u >> 16]); u += dudx; v += dvdx; + blender.write(&line[4], reinterpret_cast(reinterpret_cast(srcPixels) + (v >> 16) * sbpl)[u >> 16]); u += dudx; v += dvdx; + blender.write(&line[5], reinterpret_cast(reinterpret_cast(srcPixels) + (v >> 16) * sbpl)[u >> 16]); u += dudx; v += dvdx; + blender.write(&line[6], reinterpret_cast(reinterpret_cast(srcPixels) + (v >> 16) * sbpl)[u >> 16]); u += dudx; v += dvdx; + blender.write(&line[7], reinterpret_cast(reinterpret_cast(srcPixels) + (v >> 16) * sbpl)[u >> 16]); u += dudx; v += dvdx; + + line += 8; + + --ii; + } + switch (i & 7) { + case 7: blender.write(line, reinterpret_cast(reinterpret_cast(srcPixels) + (v >> 16) * sbpl)[u >> 16]); u += dudx; v += dvdx; ++line; + case 6: blender.write(line, reinterpret_cast(reinterpret_cast(srcPixels) + (v >> 16) * sbpl)[u >> 16]); u += dudx; v += dvdx; ++line; + case 5: blender.write(line, reinterpret_cast(reinterpret_cast(srcPixels) + (v >> 16) * sbpl)[u >> 16]); u += dudx; v += dvdx; ++line; + case 4: blender.write(line, reinterpret_cast(reinterpret_cast(srcPixels) + (v >> 16) * sbpl)[u >> 16]); u += dudx; v += dvdx; ++line; + case 3: blender.write(line, reinterpret_cast(reinterpret_cast(srcPixels) + (v >> 16) * sbpl)[u >> 16]); u += dudx; v += dvdx; ++line; + case 2: blender.write(line, reinterpret_cast(reinterpret_cast(srcPixels) + (v >> 16) * sbpl)[u >> 16]); u += dudx; v += dvdx; ++line; + case 1: blender.write(line, reinterpret_cast(reinterpret_cast(srcPixels) + (v >> 16) * sbpl)[u >> 16]); u += dudx; v += dvdx; ++line; + } + + // End of the scan line, with per-pixel checks. + i = toX - x2; + while (i) { + int uu = qBound(sourceRect.left(), u >> 16, sourceRect.left() + sourceRect.width() - 1); + int vv = qBound(sourceRect.top(), v >> 16, sourceRect.top() + sourceRect.height() - 1); + blender.write(line, reinterpret_cast(reinterpret_cast(srcPixels) + vv * sbpl)[uu]); + u += dudx; + v += dvdx; + ++line; + --i; + } + + blender.flush(line); + } + x_l += dx_l; + x_r += dx_r; + } +} + +template +void qt_transform_image(DestT *destPixels, int dbpl, + const SrcT *srcPixels, int sbpl, + const QRectF &targetRect, + const QRectF &sourceRect, + const QRect &clip, + const QTransform &targetRectTransform, + Blender blender) +{ + enum Corner + { + TopLeft, + TopRight, + BottomRight, + BottomLeft + }; + + // map source rectangle to destination. + QTransformImageVertex v[4]; + v[TopLeft].u = v[BottomLeft].u = sourceRect.left(); + v[TopLeft].v = v[TopRight].v = sourceRect.top(); + v[TopRight].u = v[BottomRight].u = sourceRect.right(); + v[BottomLeft].v = v[BottomRight].v = sourceRect.bottom(); + targetRectTransform.map(targetRect.left(), targetRect.top(), &v[TopLeft].x, &v[TopLeft].y); + targetRectTransform.map(targetRect.right(), targetRect.top(), &v[TopRight].x, &v[TopRight].y); + targetRectTransform.map(targetRect.left(), targetRect.bottom(), &v[BottomLeft].x, &v[BottomLeft].y); + targetRectTransform.map(targetRect.right(), targetRect.bottom(), &v[BottomRight].x, &v[BottomRight].y); + + // find topmost vertex. + int topmost = 0; + for (int i = 1; i < 4; ++i) { + if (v[i].y < v[topmost].y) + topmost = i; + } + // rearrange array such that topmost vertex is at index 0. + switch (topmost) { + case 1: + { + QTransformImageVertex t = v[0]; + for (int i = 0; i < 3; ++i) + v[i] = v[i+1]; + v[3] = t; + } + break; + case 2: + qSwap(v[0], v[2]); + qSwap(v[1], v[3]); + break; + case 3: + { + QTransformImageVertex t = v[3]; + for (int i = 3; i > 0; --i) + v[i] = v[i-1]; + v[0] = t; + } + break; + } + + // if necessary, swap vertex 1 and 3 such that 1 is to the left of 3. + qreal dx1 = v[1].x - v[0].x; + qreal dy1 = v[1].y - v[0].y; + qreal dx2 = v[3].x - v[0].x; + qreal dy2 = v[3].y - v[0].y; + if (dx1 * dy2 - dx2 * dy1 > 0) + qSwap(v[1], v[3]); + + QTransformImageVertex u = {v[1].x - v[0].x, v[1].y - v[0].y, v[1].u - v[0].u, v[1].v - v[0].v}; + QTransformImageVertex w = {v[2].x - v[0].x, v[2].y - v[0].y, v[2].u - v[0].u, v[2].v - v[0].v}; + + qreal det = u.x * w.y - u.y * w.x; + if (det == 0) + return; + + qreal invDet = 1.0 / det; + qreal m11, m12, m21, m22, mdx, mdy; + + m11 = (u.u * w.y - u.y * w.u) * invDet; + m12 = (u.x * w.u - u.u * w.x) * invDet; + m21 = (u.v * w.y - u.y * w.v) * invDet; + m22 = (u.x * w.v - u.v * w.x) * invDet; + mdx = v[0].u - m11 * v[0].x - m12 * v[0].y; + mdy = v[0].v - m21 * v[0].x - m22 * v[0].y; + + int dudx = int(m11 * 0x10000); + int dvdx = int(m21 * 0x10000); + int dudy = int(m12 * 0x10000); + int dvdy = int(m22 * 0x10000); + int u0 = qCeil((0.5 * m11 + 0.5 * m12 + mdx) * 0x10000) - 1; + int v0 = qCeil((0.5 * m21 + 0.5 * m22 + mdy) * 0x10000) - 1; + + int x1 = qFloor(sourceRect.left()); + int y1 = qFloor(sourceRect.top()); + int x2 = qCeil(sourceRect.right()); + int y2 = qCeil(sourceRect.bottom()); + QRect sourceRectI(x1, y1, x2 - x1, y2 - y1); + + // rasterize trapezoids. + if (v[1].y < v[3].y) { + qt_transform_image_rasterize(destPixels, dbpl, srcPixels, sbpl, v[0], v[1], v[0], v[3], sourceRectI, clip, v[0].y, v[1].y, dudx, dvdx, dudy, dvdy, u0, v0, blender); + qt_transform_image_rasterize(destPixels, dbpl, srcPixels, sbpl, v[1], v[2], v[0], v[3], sourceRectI, clip, v[1].y, v[3].y, dudx, dvdx, dudy, dvdy, u0, v0, blender); + qt_transform_image_rasterize(destPixels, dbpl, srcPixels, sbpl, v[1], v[2], v[3], v[2], sourceRectI, clip, v[3].y, v[2].y, dudx, dvdx, dudy, dvdy, u0, v0, blender); + } else { + qt_transform_image_rasterize(destPixels, dbpl, srcPixels, sbpl, v[0], v[1], v[0], v[3], sourceRectI, clip, v[0].y, v[3].y, dudx, dvdx, dudy, dvdy, u0, v0, blender); + qt_transform_image_rasterize(destPixels, dbpl, srcPixels, sbpl, v[0], v[1], v[3], v[2], sourceRectI, clip, v[3].y, v[1].y, dudx, dvdx, dudy, dvdy, u0, v0, blender); + qt_transform_image_rasterize(destPixels, dbpl, srcPixels, sbpl, v[1], v[2], v[3], v[2], sourceRectI, clip, v[1].y, v[2].y, dudx, dvdx, dudy, dvdy, u0, v0, blender); + } +} + +QT_END_NAMESPACE + +#endif // QBLENDFUNCTIONS_P_H diff --git a/src/gui/painting/qdrawhelper.cpp b/src/gui/painting/qdrawhelper.cpp index 130270b..dc3b79b 100644 --- a/src/gui/painting/qdrawhelper.cpp +++ b/src/gui/painting/qdrawhelper.cpp @@ -7964,6 +7964,12 @@ void qInitDrawhelperAsm() qBlendFunctions[QImage::Format_RGB16][QImage::Format_ARGB32_Premultiplied] = qt_blend_argb32_on_rgb16_neon; qBlendFunctions[QImage::Format_ARGB32_Premultiplied][QImage::Format_RGB16] = qt_blend_rgb16_on_argb32_neon; + qScaleFunctions[QImage::Format_RGB16][QImage::Format_ARGB32_Premultiplied] = qt_scale_image_argb32_on_rgb16_neon; + qScaleFunctions[QImage::Format_RGB16][QImage::Format_RGB16] = qt_scale_image_rgb16_on_rgb16_neon; + + qTransformFunctions[QImage::Format_RGB16][QImage::Format_ARGB32_Premultiplied] = qt_transform_image_argb32_on_rgb16_neon; + qTransformFunctions[QImage::Format_RGB16][QImage::Format_RGB16] = qt_transform_image_rgb16_on_rgb16_neon; + qDrawHelper[QImage::Format_RGB16].alphamapBlit = qt_alphamapblit_quint16_neon; } #endif diff --git a/src/gui/painting/qdrawhelper_neon.cpp b/src/gui/painting/qdrawhelper_neon.cpp index ef1b85c..ca1d85f 100644 --- a/src/gui/painting/qdrawhelper_neon.cpp +++ b/src/gui/painting/qdrawhelper_neon.cpp @@ -40,6 +40,8 @@ ****************************************************************************/ #include +#include +#include #ifdef QT_HAVE_NEON @@ -310,6 +312,143 @@ void qt_alphamapblit_quint16_neon(QRasterBuffer *rasterBuffer, pixman_composite_over_n_8_0565_asm_neon(mapWidth, mapHeight, dest, destStride, color, 0, mask, mapStride); } +extern "C" void blend_8_pixels_argb32_on_rgb16_neon(quint16 *dst, const quint32 *src, int const_alpha); +extern "C" void blend_8_pixels_rgb16_on_rgb16_neon(quint16 *dst, const quint16 *src, int const_alpha); + +template +struct Blend_on_RGB16_SourceAndConstAlpha_Neon { + Blend_on_RGB16_SourceAndConstAlpha_Neon(BlendFunc blender, int const_alpha) + : m_index(0) + , m_blender(blender) + , m_const_alpha(const_alpha) + { + } + + inline void write(quint16 *dst, quint32 src) + { + srcBuffer[m_index++] = src; + + if (m_index == 8) { + m_blender(dst - 7, srcBuffer, m_const_alpha); + m_index = 0; + } + } + + inline void flush(quint16 *dst) + { + if (m_index > 0) { + quint16 dstBuffer[8]; + for (int i = 0; i < m_index; ++i) + dstBuffer[i] = dst[i - m_index]; + + m_blender(dstBuffer, srcBuffer, m_const_alpha); + + for (int i = 0; i < m_index; ++i) + dst[i - m_index] = dstBuffer[i]; + + m_index = 0; + } + } + + SRC srcBuffer[8]; + + int m_index; + BlendFunc m_blender; + int m_const_alpha; +}; + +template +Blend_on_RGB16_SourceAndConstAlpha_Neon +Blend_on_RGB16_SourceAndConstAlpha_Neon_create(BlendFunc blender, int const_alpha) +{ + return Blend_on_RGB16_SourceAndConstAlpha_Neon(blender, const_alpha); +} + +void qt_scale_image_argb32_on_rgb16_neon(uchar *destPixels, int dbpl, + const uchar *srcPixels, int sbpl, + const QRectF &targetRect, + const QRectF &sourceRect, + const QRect &clip, + int const_alpha) +{ + if (const_alpha == 0) + return; + + qt_scale_image_16bit(destPixels, dbpl, srcPixels, sbpl, targetRect, sourceRect, clip, + Blend_on_RGB16_SourceAndConstAlpha_Neon_create(blend_8_pixels_argb32_on_rgb16_neon, const_alpha)); +} + +void qt_scale_image_rgb16_on_rgb16(uchar *destPixels, int dbpl, + const uchar *srcPixels, int sbpl, + const QRectF &targetRect, + const QRectF &sourceRect, + const QRect &clip, + int const_alpha); + +void qt_scale_image_rgb16_on_rgb16_neon(uchar *destPixels, int dbpl, + const uchar *srcPixels, int sbpl, + const QRectF &targetRect, + const QRectF &sourceRect, + const QRect &clip, + int const_alpha) +{ + if (const_alpha == 0) + return; + + if (const_alpha == 256) { + qt_scale_image_rgb16_on_rgb16(destPixels, dbpl, srcPixels, sbpl, targetRect, sourceRect, clip, const_alpha); + return; + } + + qt_scale_image_16bit(destPixels, dbpl, srcPixels, sbpl, targetRect, sourceRect, clip, + Blend_on_RGB16_SourceAndConstAlpha_Neon_create(blend_8_pixels_rgb16_on_rgb16_neon, const_alpha)); +} + +extern void qt_transform_image_rgb16_on_rgb16(uchar *destPixels, int dbpl, + const uchar *srcPixels, int sbpl, + const QRectF &targetRect, + const QRectF &sourceRect, + const QRect &clip, + const QTransform &targetRectTransform, + int const_alpha); + +void qt_transform_image_rgb16_on_rgb16_neon(uchar *destPixels, int dbpl, + const uchar *srcPixels, int sbpl, + const QRectF &targetRect, + const QRectF &sourceRect, + const QRect &clip, + const QTransform &targetRectTransform, + int const_alpha) +{ + if (const_alpha == 0) + return; + + if (const_alpha == 256) { + qt_transform_image_rgb16_on_rgb16(destPixels, dbpl, srcPixels, sbpl, targetRect, sourceRect, clip, targetRectTransform, const_alpha); + return; + } + + qt_transform_image(reinterpret_cast(destPixels), dbpl, + reinterpret_cast(srcPixels), sbpl, targetRect, sourceRect, clip, targetRectTransform, + Blend_on_RGB16_SourceAndConstAlpha_Neon_create(blend_8_pixels_rgb16_on_rgb16_neon, const_alpha)); +} + +void qt_transform_image_argb32_on_rgb16_neon(uchar *destPixels, int dbpl, + const uchar *srcPixels, int sbpl, + const QRectF &targetRect, + const QRectF &sourceRect, + const QRect &clip, + const QTransform &targetRectTransform, + int const_alpha) +{ + if (const_alpha == 0) + return; + + qt_transform_image(reinterpret_cast(destPixels), dbpl, + reinterpret_cast(srcPixels), sbpl, targetRect, sourceRect, clip, targetRectTransform, + Blend_on_RGB16_SourceAndConstAlpha_Neon_create(blend_8_pixels_argb32_on_rgb16_neon, const_alpha)); +} + QT_END_NAMESPACE #endif // QT_HAVE_NEON diff --git a/src/gui/painting/qdrawhelper_neon_asm.S b/src/gui/painting/qdrawhelper_neon_asm.S new file mode 100644 index 0000000..9992817 --- /dev/null +++ b/src/gui/painting/qdrawhelper_neon_asm.S @@ -0,0 +1,192 @@ +/**************************************************************************** +** +** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies). +** All rights reserved. +** Contact: Nokia Corporation (qt-info@nokia.com) +** +** This file is part of the QtGui module of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:LGPL$ +** No Commercial Usage +** This file contains pre-release code and may not be distributed. +** You may use this file in accordance with the terms and conditions +** contained in the Technology Preview License Agreement accompanying +** this package. +** +** GNU Lesser General Public License Usage +** Alternatively, this file may be used under the terms of the GNU Lesser +** General Public License version 2.1 as published by the Free Software +** Foundation and appearing in the file LICENSE.LGPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU Lesser General Public License version 2.1 requirements +** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. +** +** In addition, as a special exception, Nokia gives you certain additional +** rights. These rights are described in the Nokia Qt LGPL Exception +** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. +** +** If you have questions regarding the use of this file, please contact +** Nokia at qt-info@nokia.com. +** +** +** +** +** +** +** +** +** $QT_END_LICENSE$ +** +****************************************************************************/ + +/* Prevent the stack from becoming executable for no reason... */ +#if defined(__linux__) && defined(__ELF__) +.section .note.GNU-stack,"",%progbits +#endif + +.text +.fpu neon +.arch armv7a +.altmacro + +/* void blend_8_pixels_argb32_on_rgb16_neon(quint16 *dst, const quint32 *src, int const_alpha) */ + + .func blend_8_pixels_argb32_on_rgb16_neon + .global blend_8_pixels_argb32_on_rgb16_neon + /* For ELF format also set function visibility to hidden */ +#ifdef __ELF__ + .hidden blend_8_pixels_argb32_on_rgb16_neon + .type blend_8_pixels_argb32_on_rgb16_neon, %function +#endif +blend_8_pixels_argb32_on_rgb16_neon: + vld4.8 { d0, d1, d2, d3 }, [r1] + vld1.16 { d4, d5 }, [r0] + + cmp r2, #256 + beq .blend_32_inner + + vdup.8 d6, r2 + + /* multiply by const_alpha */ + vmull.u8 q8, d6, d0 + vmull.u8 q9, d6, d1 + vmull.u8 q10, d6, d2 + vmull.u8 q11, d6, d3 + + vshrn.u16 d0, q8, #8 + vshrn.u16 d1, q9, #8 + vshrn.u16 d2, q10, #8 + vshrn.u16 d3, q11, #8 + +.blend_32_inner: + /* convert 8 r5g6b5 pixel data from {d4, d5} to planar 8-bit format + and put data into d6 - red, d7 - green, d30 - blue */ + vshrn.u16 d6, q2, #8 + vshrn.u16 d7, q2, #3 + vsli.u16 q2, q2, #5 + vsri.u8 d6, d6, #5 + vmvn.8 d3, d3 + vsri.u8 d7, d7, #6 + vshrn.u16 d30, q2, #2 + + pld [r0, #128] + + /* now do alpha blending, storing results in 8-bit planar format + into d16 - red, d19 - green, d18 - blue */ + vmull.u8 q10, d3, d6 + vmull.u8 q11, d3, d7 + vmull.u8 q12, d3, d30 + vrshr.u16 q13, q10, #8 + vrshr.u16 q3, q11, #8 + vrshr.u16 q15, q12, #8 + vraddhn.u16 d20, q10, q13 + vraddhn.u16 d23, q11, q3 + vraddhn.u16 d22, q12, q15 + vqadd.u8 d16, d2, d20 + vqadd.u8 q9, q0, q11 + /* convert the result to r5g6b5 and store it into {d28, d29} */ + vshll.u8 q14, d16, #8 + vshll.u8 q8, d19, #8 + vshll.u8 q9, d18, #8 + vsri.u16 q14, q8, #5 + vsri.u16 q14, q9, #11 + + vst1.16 { d28, d29 }, [r0] + + bx lr + + .endfunc + +/* void blend_8_pixels_rgb16_on_rgb16_neon(quint16 *dst, const quint16 *src, int const_alpha) */ + + .func blend_8_pixels_rgb16_on_rgb16_neon + .global blend_8_pixels_rgb16_on_rgb16_neon + /* For ELF format also set function visibility to hidden */ +#ifdef __ELF__ + .hidden blend_8_pixels_rgb16_on_rgb16_neon + .type blend_8_pixels_rgb16_on_rgb16_neon, %function +#endif +blend_8_pixels_rgb16_on_rgb16_neon: + vld1.16 { d0, d1 }, [r0] + vld1.16 { d2, d3 }, [r1] + + rsb r3, r2, #256 + vdup.8 d4, r2 + vdup.8 d5, r3 + + /* convert 8 r5g6b5 pixel data from {d0, d1} to planar 8-bit format + and put data into d6 - red, d7 - green, d30 - blue */ + vshrn.u16 d6, q0, #8 + vshrn.u16 d7, q0, #3 + vsli.u16 q0, q0, #5 + vsri.u8 d6, d6, #5 + vsri.u8 d7, d7, #6 + vshrn.u16 d30, q0, #2 + + /* same from {d2, d3} into {d26, d27, d28} */ + vshrn.u16 d26, q1, #8 + vshrn.u16 d27, q1, #3 + vsli.u16 q1, q1, #5 + vsri.u8 d26, d26, #5 + vsri.u8 d27, d27, #6 + vshrn.u16 d28, q1, #2 + + /* multiply dst by inv const_alpha */ + vmull.u8 q10, d5, d6 + vmull.u8 q11, d5, d7 + vmull.u8 q12, d5, d30 + + vshrn.u16 d6, q10, #8 + vshrn.u16 d7, q11, #8 + vshrn.u16 d30, q12, #8 + + /* multiply src by const_alpha */ + vmull.u8 q10, d4, d26 + vmull.u8 q11, d4, d27 + vmull.u8 q12, d4, d28 + + vshrn.u16 d26, q10, #8 + vshrn.u16 d27, q11, #8 + vshrn.u16 d28, q12, #8 + + /* preload dst + 128 */ + pld [r0, #128] + + /* add components, storing results in 8-bit planar format + into d16 - red, d19 - green, d18 - blue */ + vadd.u8 d16, d26, d6 + vadd.u8 d19, d27, d7 + vadd.u8 d18, d28, d30 + + /* convert the result to r5g6b5 and store it into {d28, d29} */ + vshll.u8 q14, d16, #8 + vshll.u8 q8, d19, #8 + vshll.u8 q9, d18, #8 + vsri.u16 q14, q8, #5 + vsri.u16 q14, q9, #11 + + vst1.16 { d28, d29 }, [r0] + + bx lr + + .endfunc diff --git a/src/gui/painting/qdrawhelper_neon_p.h b/src/gui/painting/qdrawhelper_neon_p.h index 6f9604f..6f25243 100644 --- a/src/gui/painting/qdrawhelper_neon_p.h +++ b/src/gui/painting/qdrawhelper_neon_p.h @@ -84,6 +84,37 @@ void qt_alphamapblit_quint16_neon(QRasterBuffer *rasterBuffer, const uchar *bitmap, int mapWidth, int mapHeight, int mapStride, const QClipData *clip); + +void qt_scale_image_argb32_on_rgb16_neon(uchar *destPixels, int dbpl, + const uchar *srcPixels, int sbpl, + const QRectF &targetRect, + const QRectF &sourceRect, + const QRect &clip, + int const_alpha); + +void qt_scale_image_rgb16_on_rgb16_neon(uchar *destPixels, int dbpl, + const uchar *srcPixels, int sbpl, + const QRectF &targetRect, + const QRectF &sourceRect, + const QRect &clip, + int const_alpha); + +void qt_transform_image_argb32_on_rgb16_neon(uchar *destPixels, int dbpl, + const uchar *srcPixels, int sbpl, + const QRectF &targetRect, + const QRectF &sourceRect, + const QRect &clip, + const QTransform &targetRectTransform, + int const_alpha); + +void qt_transform_image_rgb16_on_rgb16_neon(uchar *destPixels, int dbpl, + const uchar *srcPixels, int sbpl, + const QRectF &targetRect, + const QRectF &sourceRect, + const QRect &clip, + const QTransform &targetRectTransform, + int const_alpha); + #endif // QT_HAVE_NEON QT_END_NAMESPACE -- cgit v0.12 From fa44a37174f51f3d2786fc6e60d8fa5561a4df6c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Samuel=20R=C3=B8dal?= Date: Thu, 25 Mar 2010 12:14:40 +0100 Subject: Optimized SourceOver and 16 bit dest fetches, dest stores using NEON. This makes for example linear gradient blending on top of RGB16 156 % faster (from 20.4 fps to 52.3 fps in my benchmark). Task-number: QTBUG-6684 Reviewed-by: Gunnar Sletta --- src/gui/painting/qdrawhelper.cpp | 12 ++-- src/gui/painting/qdrawhelper_neon.cpp | 125 +++++++++++++++++++++++++++++++--- src/gui/painting/qdrawhelper_neon_p.h | 12 ++++ 3 files changed, 134 insertions(+), 15 deletions(-) diff --git a/src/gui/painting/qdrawhelper.cpp b/src/gui/painting/qdrawhelper.cpp index dc3b79b..917b910 100644 --- a/src/gui/painting/qdrawhelper.cpp +++ b/src/gui/painting/qdrawhelper.cpp @@ -175,7 +175,7 @@ Q_STATIC_TEMPLATE_FUNCTION uint * QT_FASTCALL destFetch(uint *buffer, QRasterBuf # define SPANFUNC_POINTER_DESTFETCH(Arg) destFetch -static const DestFetchProc destFetchProc[QImage::NImageFormats] = +static DestFetchProc destFetchProc[QImage::NImageFormats] = { 0, // Format_Invalid destFetchMono, // Format_Mono, @@ -323,7 +323,7 @@ Q_STATIC_TEMPLATE_FUNCTION void QT_FASTCALL destStore(QRasterBuffer *rasterBuffe # define SPANFUNC_POINTER_DESTSTORE(DEST) destStore -static const DestStoreProc destStoreProc[QImage::NImageFormats] = +static DestStoreProc destStoreProc[QImage::NImageFormats] = { 0, // Format_Invalid destStoreMono, // Format_Mono, @@ -2827,7 +2827,7 @@ static void QT_FASTCALL rasterop_SourceAndNotDestination(uint *dest, } } -static const CompositionFunctionSolid functionForModeSolid_C[] = { +static CompositionFunctionSolid functionForModeSolid_C[] = { comp_func_solid_SourceOver, comp_func_solid_DestinationOver, comp_func_solid_Clear, @@ -2865,7 +2865,7 @@ static const CompositionFunctionSolid functionForModeSolid_C[] = { static const CompositionFunctionSolid *functionForModeSolid = functionForModeSolid_C; -static const CompositionFunction functionForMode_C[] = { +static CompositionFunction functionForMode_C[] = { comp_func_SourceOver, comp_func_DestinationOver, comp_func_Clear, @@ -7971,6 +7971,10 @@ void qInitDrawhelperAsm() qTransformFunctions[QImage::Format_RGB16][QImage::Format_RGB16] = qt_transform_image_rgb16_on_rgb16_neon; qDrawHelper[QImage::Format_RGB16].alphamapBlit = qt_alphamapblit_quint16_neon; + + functionForMode_C[QPainter::CompositionMode_SourceOver] = qt_blend_argb32_on_argb32_scanline_neon; + destFetchProc[QImage::Format_RGB16] = qt_destFetchRGB16_neon; + destStoreProc[QImage::Format_RGB16] = qt_destStoreRGB16_neon; } #endif diff --git a/src/gui/painting/qdrawhelper_neon.cpp b/src/gui/painting/qdrawhelper_neon.cpp index ca1d85f..946e100 100644 --- a/src/gui/painting/qdrawhelper_neon.cpp +++ b/src/gui/painting/qdrawhelper_neon.cpp @@ -114,6 +114,21 @@ pixman_composite_src_0565_8888_asm_neon (int32_t w, uint16_t *src, int32_t src_stride); +extern "C" void +pixman_composite_over_n_8_0565_asm_neon (int32_t w, + int32_t h, + uint16_t *dst, + int32_t dst_stride, + uint32_t src, + int32_t unused, + uint8_t *mask, + int32_t mask_stride); + +extern "C" void +pixman_composite_scanline_over_asm_neon (int32_t w, + const uint32_t *dst, + const uint32_t *src); + // qblendfunctions.cpp void qt_blend_argb32_on_rgb16_const_alpha(uchar *destPixels, int dbpl, const uchar *srcPixels, int sbpl, @@ -163,6 +178,15 @@ void qt_blend_argb32_on_rgb16_neon(uchar *destPixels, int dbpl, pixman_composite_over_8888_0565_asm_neon(w, h, dst, dbpl / 2, src, sbpl / 4); } +void qt_blend_argb32_on_argb32_scanline_neon(uint *dest, const uint *src, int length, uint const_alpha) +{ + if (const_alpha == 255) { + pixman_composite_scanline_over_asm_neon(length, dest, src); + } else { + qt_blend_argb32_on_argb32_neon((uchar *)dest, 4 * length, (uchar *)src, 4 * length, length, 1, (const_alpha * 256) / 255); + } +} + void qt_blend_argb32_on_argb32_neon(uchar *destPixels, int dbpl, const uchar *srcPixels, int sbpl, int w, int h, @@ -287,17 +311,6 @@ void qt_blend_rgb32_on_rgb32_neon(uchar *destPixels, int dbpl, } } -extern "C" void -pixman_composite_over_n_8_0565_asm_neon (int32_t w, - int32_t h, - uint16_t *dst, - int32_t dst_stride, - uint32_t src, - int32_t unused, - uint8_t *mask, - int32_t mask_stride); - - void qt_alphamapblit_quint16_neon(QRasterBuffer *rasterBuffer, int x, int y, quint32 color, const uchar *bitmap, @@ -449,6 +462,96 @@ void qt_transform_image_argb32_on_rgb16_neon(uchar *destPixels, int dbpl, Blend_on_RGB16_SourceAndConstAlpha_Neon_create(blend_8_pixels_argb32_on_rgb16_neon, const_alpha)); } +static inline void convert_8_pixels_rgb16_to_argb32(quint32 *dst, const quint16 *src) +{ + asm volatile ( + "vld1.16 { d0, d1 }, [%[SRC]]\n\t" + + /* convert 8 r5g6b5 pixel data from {d0, d1} to planar 8-bit format + and put data into d4 - red, d3 - green, d2 - blue */ + "vshrn.u16 d4, q0, #8\n\t" + "vshrn.u16 d3, q0, #3\n\t" + "vsli.u16 q0, q0, #5\n\t" + "vsri.u8 d4, d4, #5\n\t" + "vsri.u8 d3, d3, #6\n\t" + "vshrn.u16 d2, q0, #2\n\t" + + /* fill d5 - alpha with 0xff */ + "mov r2, #255\n\t" + "vdup.8 d5, r2\n\t" + + "vst4.8 { d2, d3, d4, d5 }, [%[DST]]" + : : [DST]"r" (dst), [SRC]"r" (src) + : "memory", "r2", "d0", "d1", "d2", "d3", "d4", "d5" + ); +} + +uint * QT_FASTCALL qt_destFetchRGB16_neon(uint *buffer, QRasterBuffer *rasterBuffer, int x, int y, int length) +{ + const ushort *data = (const ushort *)rasterBuffer->scanLine(y) + x; + + int i = 0; + for (; i < length - 7; i += 8) + convert_8_pixels_rgb16_to_argb32(&buffer[i], &data[i]); + + if (i < length) { + quint16 srcBuffer[8]; + quint32 dstBuffer[8]; + + int tail = length - i; + for (int j = 0; j < tail; ++j) + srcBuffer[j] = data[i + j]; + + convert_8_pixels_rgb16_to_argb32(dstBuffer, srcBuffer); + + for (int j = 0; j < tail; ++j) + buffer[i + j] = dstBuffer[j]; + } + + return buffer; +} + +static inline void convert_8_pixels_argb32_to_rgb16(quint16 *dst, const quint32 *src) +{ + asm volatile ( + "vld4.8 { d0, d1, d2, d3 }, [%[SRC]]\n\t" + + /* convert to r5g6b5 and store it into {d28, d29} */ + "vshll.u8 q14, d2, #8\n\t" + "vshll.u8 q8, d1, #8\n\t" + "vshll.u8 q9, d0, #8\n\t" + "vsri.u16 q14, q8, #5\n\t" + "vsri.u16 q14, q9, #11\n\t" + + "vst1.16 { d28, d29 }, [%[DST]]" + : : [DST]"r" (dst), [SRC]"r" (src) + : "memory", "d0", "d1", "d2", "d3", "d16", "d17", "d18", "d19", "d28", "d29" + ); +} + +void QT_FASTCALL qt_destStoreRGB16_neon(QRasterBuffer *rasterBuffer, int x, int y, const uint *buffer, int length) +{ + quint16 *data = (quint16*)rasterBuffer->scanLine(y) + x; + + int i = 0; + for (; i < length - 7; i += 8) + convert_8_pixels_argb32_to_rgb16(&data[i], &buffer[i]); + + if (i < length) { + quint32 srcBuffer[8]; + quint16 dstBuffer[8]; + + int tail = length - i; + for (int j = 0; j < tail; ++j) + srcBuffer[j] = buffer[i + j]; + + convert_8_pixels_argb32_to_rgb16(dstBuffer, srcBuffer); + + for (int j = 0; j < tail; ++j) + data[i + j] = dstBuffer[j]; + } +} + QT_END_NAMESPACE #endif // QT_HAVE_NEON diff --git a/src/gui/painting/qdrawhelper_neon_p.h b/src/gui/painting/qdrawhelper_neon_p.h index 6f25243..d6a4509 100644 --- a/src/gui/painting/qdrawhelper_neon_p.h +++ b/src/gui/painting/qdrawhelper_neon_p.h @@ -74,6 +74,11 @@ void qt_blend_argb32_on_rgb16_neon(uchar *destPixels, int dbpl, int w, int h, int const_alpha); +void qt_blend_argb32_on_argb32_scanline_neon(uint *dest, + const uint *src, + int length, + uint const_alpha); + void qt_blend_rgb16_on_argb32_neon(uchar *destPixels, int dbpl, const uchar *srcPixels, int sbpl, int w, int h, @@ -115,6 +120,13 @@ void qt_transform_image_rgb16_on_rgb16_neon(uchar *destPixels, int dbpl, const QTransform &targetRectTransform, int const_alpha); +uint * QT_FASTCALL qt_destFetchRGB16_neon(uint *buffer, + QRasterBuffer *rasterBuffer, + int x, int y, int length); + +void QT_FASTCALL qt_destStoreRGB16_neon(QRasterBuffer *rasterBuffer, + int x, int y, const uint *buffer, int length); + #endif // QT_HAVE_NEON QT_END_NAMESPACE -- cgit v0.12 From 5e2b330aaa0ef964d45f9cb60ea258b33d6e7c4a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Samuel=20R=C3=B8dal?= Date: Thu, 25 Mar 2010 15:47:18 +0100 Subject: Optimized ARGB32PM on RGB16 blending with opacity using NEON. Use the blend_8_pixels_argb32_on_rgb16_neon function that was introduced in an earlier commit. Before: traces/qmlsamegame.trace, iterations: 3, frames: 15, min(ms): 63, median(ms): 64, stddev: 1,275776 %, max(fps): 238,095238 After: traces/qmlsamegame.trace, iterations: 3, frames: 15, min(ms): 57, median(ms): 58, stddev: 0,817464 %, max(fps): 263,157895 Task-number: QTBUG-6684 Reviewed-by: Gunnar Sletta --- src/gui/painting/qdrawhelper_neon.cpp | 37 ++++++++++++++++++++++++++++++----- 1 file changed, 32 insertions(+), 5 deletions(-) diff --git a/src/gui/painting/qdrawhelper_neon.cpp b/src/gui/painting/qdrawhelper_neon.cpp index 946e100..ee5f24a 100644 --- a/src/gui/painting/qdrawhelper_neon.cpp +++ b/src/gui/painting/qdrawhelper_neon.cpp @@ -162,19 +162,47 @@ void qt_blend_rgb16_on_argb32_neon(uchar *destPixels, int dbpl, pixman_composite_src_0565_8888_asm_neon(w, h, dst, dbpl, src, sbpl); } +extern "C" void blend_8_pixels_argb32_on_rgb16_neon(quint16 *dst, const quint32 *src, int const_alpha); + void qt_blend_argb32_on_rgb16_neon(uchar *destPixels, int dbpl, const uchar *srcPixels, int sbpl, int w, int h, int const_alpha) { + quint16 *dst = (quint16 *) destPixels; + quint32 *src = (quint32 *) srcPixels; + if (const_alpha != 256) { - qt_blend_argb32_on_rgb16_const_alpha(destPixels, dbpl, srcPixels, sbpl, w, h, const_alpha); + for (int y=0; y -- cgit v0.12 From 41e9adb44137c8839d0d7e131802de198b0e7168 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Samuel=20R=C3=B8dal?= Date: Thu, 18 Mar 2010 14:38:50 +0100 Subject: Paintbuffer single frame profiling. Added new --instrumentframe=X argument which gives a detailed run-down of how many milliseconds each paint command of that frame takes. Reviewed-by: Gunnar Sletta --- src/gui/painting/qpaintbuffer.cpp | 303 ++++++++++++++++++++++++++++++++++++-- src/gui/painting/qpaintbuffer_p.h | 8 +- src/gui/painting/qtransform.cpp | 15 +- tools/qttracereplay/main.cpp | 99 +++++++++++-- 4 files changed, 400 insertions(+), 25 deletions(-) diff --git a/src/gui/painting/qpaintbuffer.cpp b/src/gui/painting/qpaintbuffer.cpp index 39b76c8..ca2077f 100644 --- a/src/gui/painting/qpaintbuffer.cpp +++ b/src/gui/painting/qpaintbuffer.cpp @@ -269,24 +269,304 @@ void QPaintBuffer::draw(QPainter *painter, int frame) const printf("\n"); #endif - if (painter && !painter->isActive()) - return; + processCommands(painter, frameStartIndex(frame), frameEndIndex(frame)); + +#ifdef QPAINTBUFFER_DEBUG_DRAW + qDebug() << "QPaintBuffer::draw() -------------------------------- DONE!"; +#endif +} + +int QPaintBuffer::frameStartIndex(int frame) const +{ + return (frame == 0) ? 0 : d_ptr->frames.at(frame - 1); +} + +int QPaintBuffer::frameEndIndex(int frame) const +{ + return (frame == d_ptr->frames.size()) ? d_ptr->commands.size() : d_ptr->frames.at(frame); +} + +int QPaintBuffer::processCommands(QPainter *painter, int begin, int end) const +{ + if (!painter || !painter->isActive()) + return 0; QPaintEngineEx *xengine = painter->paintEngine()->isExtended() ? (QPaintEngineEx *) painter->paintEngine() : 0; if (xengine) { QPaintEngineExReplayer player; - player.draw(*this, painter, frame); + player.processCommands(*this, painter, begin, end); } else { QPainterReplayer player; - player.draw(*this, painter, frame); + player.processCommands(*this, painter, begin, end); } -#ifdef QPAINTBUFFER_DEBUG_DRAW - qDebug() << "QPaintBuffer::draw() -------------------------------- DONE!"; -#endif + int depth = 0; + for (int i = begin; i < end; ++i) { + const QPaintBufferCommand &cmd = d_ptr->commands.at(i); + if (cmd.id == QPaintBufferPrivate::Cmd_Save) + ++depth; + else if (cmd.id == QPaintBufferPrivate::Cmd_Restore) + --depth; + } + return depth; } +QString QPaintBuffer::commandDescription(int command) const +{ + QString desc; + QDebug debug(&desc); + + const QPaintBufferCommand &cmd = d_ptr->commands.at(command); + + switch (cmd.id) { + case QPaintBufferPrivate::Cmd_Save: { + debug << "Cmd_Save"; + break; } + + case QPaintBufferPrivate::Cmd_Restore: { + debug << "Cmd_Restore"; + break; } + + case QPaintBufferPrivate::Cmd_SetBrush: { + QBrush brush = qVariantValue(d_ptr->variants.at(cmd.offset)); + debug << "Cmd_SetBrush: " << brush; + break; } + + case QPaintBufferPrivate::Cmd_SetBrushOrigin: { + debug << "Cmd_SetBrushOrigin: " << d_ptr->variants.at(cmd.offset).toPointF(); + break; } + + case QPaintBufferPrivate::Cmd_SetCompositionMode: { + QPainter::CompositionMode mode = (QPainter::CompositionMode) cmd.extra; + debug << "ExCmd_SetCompositionMode, mode: " << mode; + break; } + + case QPaintBufferPrivate::Cmd_SetOpacity: { + debug << "ExCmd_SetOpacity: " << d_ptr->variants.at(cmd.offset).toDouble(); + break; } + + case QPaintBufferPrivate::Cmd_DrawVectorPath: { + debug << "ExCmd_DrawVectorPath: size: " << cmd.size +// << ", hints:" << d->ints[cmd.offset2+cmd.size] + << "pts/elms:" << cmd.offset << cmd.offset2; + break; } + + case QPaintBufferPrivate::Cmd_StrokeVectorPath: { + QPen pen = qVariantValue(d_ptr->variants.at(cmd.extra)); + debug << "ExCmd_StrokeVectorPath: size: " << cmd.size +// << ", hints:" << d->ints[cmd.offset2+cmd.size] + << "pts/elms:" << cmd.offset << cmd.offset2 << pen; + break; } + + case QPaintBufferPrivate::Cmd_FillVectorPath: { + QBrush brush = qVariantValue(d_ptr->variants.at(cmd.extra)); + debug << "ExCmd_FillVectorPath: size: " << cmd.size +// << ", hints:" << d->ints[cmd.offset2+cmd.size] + << "pts/elms:" << cmd.offset << cmd.offset2 << brush; + break; } + + case QPaintBufferPrivate::Cmd_FillRectBrush: { + QBrush brush = qVariantValue(d_ptr->variants.at(cmd.extra)); + QRectF *rect = (QRectF *)(d_ptr->floats.constData() + cmd.offset); + debug << "ExCmd_FillRectBrush, offset: " << cmd.offset << " rect: " << *rect << " brush: " << brush; + break; } + + case QPaintBufferPrivate::Cmd_FillRectColor: { + QColor color = qVariantValue(d_ptr->variants.at(cmd.extra)); + QRectF *rect = (QRectF *)(d_ptr->floats.constData() + cmd.offset); + debug << "ExCmd_FillRectBrush, offset: " << cmd.offset << " rect: " << *rect << " color: " << color; + break; } + + case QPaintBufferPrivate::Cmd_DrawPolygonF: { + debug << "ExCmd_DrawPolygonF, offset: " << cmd.offset << " size: " << cmd.size + << " mode: " << cmd.extra + << d_ptr->floats.at(cmd.offset) + << d_ptr->floats.at(cmd.offset+1); + break; } + + case QPaintBufferPrivate::Cmd_DrawPolygonI: { + debug << "ExCmd_DrawPolygonI, offset: " << cmd.offset << " size: " << cmd.size + << " mode: " << cmd.extra + << d_ptr->ints.at(cmd.offset) + << d_ptr->ints.at(cmd.offset+1); + break; } + + case QPaintBufferPrivate::Cmd_DrawEllipseF: { + debug << "ExCmd_DrawEllipseF, offset: " << cmd.offset; + break; } + + case QPaintBufferPrivate::Cmd_DrawLineF: { + debug << "ExCmd_DrawLineF, offset: " << cmd.offset << " size: " << cmd.size; + break; } + + case QPaintBufferPrivate::Cmd_DrawLineI: { + debug << "ExCmd_DrawLineI, offset: " << cmd.offset << " size: " << cmd.size; + break; } + + case QPaintBufferPrivate::Cmd_DrawPointsF: { + debug << "ExCmd_DrawPointsF, offset: " << cmd.offset << " size: " << cmd.size; + break; } + + case QPaintBufferPrivate::Cmd_DrawPointsI: { + debug << "ExCmd_DrawPointsI, offset: " << cmd.offset << " size: " << cmd.size; + break; } + + case QPaintBufferPrivate::Cmd_DrawPolylineF: { + debug << "ExCmd_DrawPolylineF, offset: " << cmd.offset << " size: " << cmd.size; + break; } + + case QPaintBufferPrivate::Cmd_DrawPolylineI: { + debug << "ExCmd_DrawPolylineI, offset: " << cmd.offset << " size: " << cmd.size; + break; } + + case QPaintBufferPrivate::Cmd_DrawRectF: { + debug << "ExCmd_DrawRectF, offset: " << cmd.offset << " size: " << cmd.size; + break; } + + case QPaintBufferPrivate::Cmd_DrawRectI: { + debug << "ExCmd_DrawRectI, offset: " << cmd.offset << " size: " << cmd.size; + break; } + + case QPaintBufferPrivate::Cmd_SetClipEnabled: { + bool clipEnabled = d_ptr->variants.at(cmd.offset).toBool(); + debug << "ExCmd_SetClipEnabled:" << clipEnabled; + break; } + + case QPaintBufferPrivate::Cmd_ClipVectorPath: { + QVectorPathCmd path(d_ptr, cmd); + debug << "ExCmd_ClipVectorPath:" << path().elementCount(); + break; } + + case QPaintBufferPrivate::Cmd_ClipRect: { + QRect rect(QPoint(d_ptr->ints.at(cmd.offset), d_ptr->ints.at(cmd.offset + 1)), + QPoint(d_ptr->ints.at(cmd.offset + 2), d_ptr->ints.at(cmd.offset + 3))); + debug << "ExCmd_ClipRect:" << rect << cmd.extra; + break; } + + case QPaintBufferPrivate::Cmd_ClipRegion: { + QRegion region(d_ptr->variants.at(cmd.offset).value()); + debug << "ExCmd_ClipRegion:" << region.boundingRect() << cmd.extra; + break; } + + case QPaintBufferPrivate::Cmd_SetPen: { + QPen pen = qVariantValue(d_ptr->variants.at(cmd.offset)); + debug << "Cmd_SetPen: " << pen; + break; } + + case QPaintBufferPrivate::Cmd_SetTransform: { + QTransform xform = qVariantValue(d_ptr->variants.at(cmd.offset)); + debug << "Cmd_SetTransform, offset: " << cmd.offset << xform; + break; } + + case QPaintBufferPrivate::Cmd_SetRenderHints: { + debug << "Cmd_SetRenderHints, hints: " << cmd.extra; + break; } + + case QPaintBufferPrivate::Cmd_SetBackgroundMode: { + debug << "Cmd_SetBackgroundMode: " << cmd.extra; + break; } + + case QPaintBufferPrivate::Cmd_DrawConvexPolygonF: { + debug << "Cmd_DrawConvexPolygonF, offset: " << cmd.offset << " size: " << cmd.size; + break; } + + case QPaintBufferPrivate::Cmd_DrawConvexPolygonI: { + debug << "Cmd_DrawConvexPolygonI, offset: " << cmd.offset << " size: " << cmd.size; + break; } + + case QPaintBufferPrivate::Cmd_DrawEllipseI: { + debug << "Cmd_DrawEllipseI, offset: " << cmd.offset; + break; } + + case QPaintBufferPrivate::Cmd_DrawPixmapRect: { + QPixmap pm(d_ptr->variants.at(cmd.offset).value()); + QRectF r(d_ptr->floats.at(cmd.extra), d_ptr->floats.at(cmd.extra+1), + d_ptr->floats.at(cmd.extra+2), d_ptr->floats.at(cmd.extra+3)); + + QRectF sr(d_ptr->floats.at(cmd.extra+4), d_ptr->floats.at(cmd.extra+5), + d_ptr->floats.at(cmd.extra+6), d_ptr->floats.at(cmd.extra+7)); + debug << "Cmd_DrawPixmapRect:" << r << sr << pm.size(); + break; } + + case QPaintBufferPrivate::Cmd_DrawPixmapPos: { + QPixmap pm(d_ptr->variants.at(cmd.offset).value()); + QPointF pos(d_ptr->floats.at(cmd.extra), d_ptr->floats.at(cmd.extra+1)); + debug << "Cmd_DrawPixmapPos:" << pos << pm.size(); + break; } + + case QPaintBufferPrivate::Cmd_DrawTiledPixmap: { + QPixmap pm(d_ptr->variants.at(cmd.offset).value()); + QRectF r(d_ptr->floats.at(cmd.extra), d_ptr->floats.at(cmd.extra+1), + d_ptr->floats.at(cmd.extra+2), d_ptr->floats.at(cmd.extra+3)); + + QPointF offset(d_ptr->floats.at(cmd.extra+4), d_ptr->floats.at(cmd.extra+5)); + debug << "Cmd_DrawTiledPixmap:" << r << offset << pm.size(); + break; } + + case QPaintBufferPrivate::Cmd_DrawImageRect: { + QImage image(d_ptr->variants.at(cmd.offset).value()); + QRectF r(d_ptr->floats.at(cmd.extra), d_ptr->floats.at(cmd.extra+1), + d_ptr->floats.at(cmd.extra+2), d_ptr->floats.at(cmd.extra+3)); + QRectF sr(d_ptr->floats.at(cmd.extra+4), d_ptr->floats.at(cmd.extra+5), + d_ptr->floats.at(cmd.extra+6), d_ptr->floats.at(cmd.extra+7)); + debug << "Cmd_DrawImageRect:" << r << sr << image.size(); + break; } + + case QPaintBufferPrivate::Cmd_DrawImagePos: { + QImage image(d_ptr->variants.at(cmd.offset).value()); + QPointF pos(d_ptr->floats.at(cmd.extra), d_ptr->floats.at(cmd.extra+1)); + debug << "Cmd_DrawImagePos:" << pos << image.size(); + break; } + + case QPaintBufferPrivate::Cmd_DrawText: { + QPointF pos(d_ptr->floats.at(cmd.extra), d_ptr->floats.at(cmd.extra+1)); + QList variants(d_ptr->variants.at(cmd.offset).value >()); + + QFont font(variants.at(0).value()); + QString text(variants.at(1).value()); + + debug << "Cmd_DrawText:" << pos << text << font.family(); + break; } + + case QPaintBufferPrivate::Cmd_DrawTextItem: { + QPointF pos(d_ptr->floats.at(cmd.extra), d_ptr->floats.at(cmd.extra+1)); + QTextItemIntCopy *tiCopy = reinterpret_cast(qVariantValue(d_ptr->variants.at(cmd.offset))); + QTextItemInt &ti = (*tiCopy)(); + QString text(ti.text()); + + QFont font(ti.font()); + font.setUnderline(false); + font.setStrikeOut(false); + font.setOverline(false); + + const QTextItemInt &si = static_cast(ti); + qreal justificationWidth = 0; + if (si.justified) + justificationWidth = si.width.toReal(); + + debug << "Cmd_DrawTextItem:" << pos << " " << text; + break; } + case QPaintBufferPrivate::Cmd_SystemStateChanged: { + QRegion systemClip(d_ptr->variants.at(cmd.offset).value()); + + debug << "Cmd_SystemStateChanged:" << systemClip; + break; } + case QPaintBufferPrivate::Cmd_Translate: { + QPointF delta(d_ptr->floats.at(cmd.extra), d_ptr->floats.at(cmd.extra+1)); + debug << "Cmd_Translate:" << delta; + break; } + case QPaintBufferPrivate::Cmd_DrawStaticText: { + QPointF delta(d_ptr->floats.at(cmd.extra), d_ptr->floats.at(cmd.extra+1)); + QVariantList variants(d_ptr->variants.at(cmd.offset).value()); + + QStaticText text(variants.at(0).value()); + debug << "Cmd_DrawStaticText:" << text.text(); + break; } + } + + return desc; +} QRectF QPaintBuffer::boundingRect() const { @@ -1110,15 +1390,12 @@ void QPainterReplayer::setupTransform(QPainter *_painter) painter->setTransform(m_world_matrix); } -void QPainterReplayer::draw(const QPaintBuffer &buffer, QPainter *_painter, int frame) +void QPainterReplayer::processCommands(const QPaintBuffer &buffer, QPainter *p, int begin, int end) { d = buffer.d_ptr; - setupTransform(_painter); - - int frameStart = (frame == 0) ? 0 : d->frames.at(frame-1); - int frameEnd = (frame == d->frames.size()) ? d->commands.size() : d->frames.at(frame); + painter = p; - for (int cmdIndex=frameStart; cmdIndexcommands.at(cmdIndex); process(cmd); } diff --git a/src/gui/painting/qpaintbuffer_p.h b/src/gui/painting/qpaintbuffer_p.h index 0fde290..4576947 100644 --- a/src/gui/painting/qpaintbuffer_p.h +++ b/src/gui/painting/qpaintbuffer_p.h @@ -78,6 +78,12 @@ public: int numFrames() const; void draw(QPainter *painter, int frame = 0) const; + + int frameStartIndex(int frame) const; + int frameEndIndex(int frame) const; + int processCommands(QPainter *painter, int begin, int end) const; + QString commandDescription(int command) const; + void setBoundingRect(const QRectF &rect); QRectF boundingRect() const; @@ -317,7 +323,7 @@ public: void setupTransform(QPainter *painter); virtual void process(const QPaintBufferCommand &cmd); - void draw(const QPaintBuffer &buffer, QPainter *painter, int frame); + void processCommands(const QPaintBuffer &buffer, QPainter *painter, int begin, int end); protected: QPaintBufferPrivate *d; diff --git a/src/gui/painting/qtransform.cpp b/src/gui/painting/qtransform.cpp index 4f42a58..988d678 100644 --- a/src/gui/painting/qtransform.cpp +++ b/src/gui/painting/qtransform.cpp @@ -1037,8 +1037,18 @@ QDataStream & operator>>(QDataStream &s, QTransform &t) #ifndef QT_NO_DEBUG_STREAM QDebug operator<<(QDebug dbg, const QTransform &m) { - dbg.nospace() << "QTransform(" - << "11=" << m.m11() + static const char *typeStr[] = + { + "TxNone", + "TxTranslate", + "TxScale", + "TxRotate", + "TxShear", + "TxProject" + }; + + dbg.nospace() << "QTransform(type=" << typeStr[m.type()] << ',' + << " 11=" << m.m11() << " 12=" << m.m12() << " 13=" << m.m13() << " 21=" << m.m21() @@ -1048,6 +1058,7 @@ QDebug operator<<(QDebug dbg, const QTransform &m) << " 32=" << m.m32() << " 33=" << m.m33() << ')'; + return dbg.space(); } #endif diff --git a/tools/qttracereplay/main.cpp b/tools/qttracereplay/main.cpp index be7906b..101d512 100644 --- a/tools/qttracereplay/main.cpp +++ b/tools/qttracereplay/main.cpp @@ -49,7 +49,7 @@ class ReplayWidget : public QWidget { Q_OBJECT public: - ReplayWidget(const QString &filename, int from, int to, bool single); + ReplayWidget(const QString &filename, int from, int to, bool single, int frame); void paintEvent(QPaintEvent *event); void resizeEvent(QResizeEvent *event); @@ -66,27 +66,96 @@ public: QTime timer; QList visibleUpdates; - QList iterationTimes; + + QVector iterationTimes; QString filename; int from; int to; bool single; + + int frame; + int currentCommand; }; void ReplayWidget::updateRect() { - if (!visibleUpdates.isEmpty()) + if (frame >= 0 && !updates.isEmpty()) + update(updates.at(frame)); + else if (!visibleUpdates.isEmpty()) update(updates.at(visibleUpdates.at(currentFrame))); } +const int singleFrameRepeatsPerCommand = 100; +const int singleFrameIterations = 4; + void ReplayWidget::paintEvent(QPaintEvent *) { QPainter p(this); + QTimer::singleShot(0, this, SLOT(updateRect())); + // p.setClipRegion(frames.at(currentFrame).updateRegion); + if (frame >= 0) { + int start = buffer.frameStartIndex(frame); + int end = buffer.frameEndIndex(frame); + + iterationTimes.resize(end - start); + + int saveRestoreStackDepth = buffer.processCommands(&p, start, start + currentCommand); + + for (int i = 0; i < saveRestoreStackDepth; ++i) + p.restore(); + + const int repeats = currentIteration >= 3 ? singleFrameRepeatsPerCommand : 1; + + ++currentFrame; + if (currentFrame == repeats) { + currentFrame = 0; + if (currentIteration >= 3) { + iterationTimes[currentCommand - 1] = qMin(iterationTimes[currentCommand - 1], uint(timer.elapsed())); + timer.restart(); + } + + if (currentIteration >= singleFrameIterations + 3) { + printf(" # | ms | description\n"); + printf("------+---------+------------------------------------------------------------\n"); + + qSort(iterationTimes); + + int sum = 0; + for (int i = 0; i < iterationTimes.size(); ++i) { + int delta = iterationTimes.at(i); + if (i > 0) + delta -= iterationTimes.at(i-1); + sum += delta; + qreal deltaF = delta / qreal(repeats); + printf("%.5d | %.5f | %s\n", i, deltaF, qPrintable(buffer.commandDescription(start + i))); + } + printf("Total | %.5f | Total frame time\n", sum / qreal(repeats)); + deleteLater(); + return; + } + + if (start + currentCommand >= end) { + currentCommand = 1; + ++currentIteration; + if (currentIteration == 3) { + timer.start(); + iterationTimes.fill(uint(-1)); + } + if (currentIteration >= 3 && currentIteration < singleFrameIterations + 3) + printf("Profiling iteration %d of %d\n", currentIteration - 2, singleFrameIterations); + } else { + ++currentCommand; + } + } + + return; + } + buffer.draw(&p, visibleUpdates.at(currentFrame)); ++currentFrame; @@ -138,11 +207,9 @@ void ReplayWidget::paintEvent(QPaintEvent *) } } } - - QTimer::singleShot(0, this, SLOT(updateRect())); } -void ReplayWidget::resizeEvent(QResizeEvent *event) +void ReplayWidget::resizeEvent(QResizeEvent *) { visibleUpdates.clear(); @@ -162,13 +229,15 @@ void ReplayWidget::resizeEvent(QResizeEvent *event) } -ReplayWidget::ReplayWidget(const QString &filename_, int from_, int to_, bool single_) +ReplayWidget::ReplayWidget(const QString &filename_, int from_, int to_, bool single_, int frame_) : currentFrame(0) , currentIteration(0) , filename(filename_) , from(from_) , to(to_) , single(single_) + , frame(frame_) + , currentCommand(1) { setWindowTitle(filename); QFile file(filename); @@ -216,7 +285,8 @@ int main(int argc, char **argv) printf("Usage:\n > %s [OPTIONS] [traceFile]\n", argv[0]); printf("OPTIONS\n" " --range=from-to to specify a frame range.\n" - " --singlerun to do only one run (without statistics)\n"); + " --singlerun to do only one run (without statistics)\n" + " --instrumentframe=frame to instrument a single frame\n"); return 1; } @@ -228,6 +298,8 @@ int main(int argc, char **argv) bool single = false; + int frame = -1; + int from = 0; int to = -1; for (int i = 1; i < app.arguments().size() - 1; ++i) { @@ -253,13 +325,22 @@ int main(int argc, char **argv) } } else if (arg == QLatin1String("--singlerun")) { single = true; + } else if (arg.startsWith(QLatin1String("--instrumentframe="))) { + QString rest = arg.mid(18); + bool ok = false; + int frameCandidate = rest.toInt(&ok); + if (ok) { + frame = frameCandidate; + } else { + printf("ERROR: malformed syntax in argument %s\n", qPrintable(arg)); + } } else { printf("Unrecognized argument: %s\n", qPrintable(arg)); return 1; } } - ReplayWidget *widget = new ReplayWidget(app.arguments().last(), from, to, single); + ReplayWidget *widget = new ReplayWidget(app.arguments().last(), from, to, single, frame); if (!widget->updates.isEmpty()) { widget->show(); -- cgit v0.12 From 47472906fd00e0eff820870330d481c4229ee285 Mon Sep 17 00:00:00 2001 From: Eskil Abrahamsen Blomfeldt Date: Fri, 26 Mar 2010 10:43:40 +0100 Subject: Synchronize rich text and plain text code paths in QStaticText Drawing a string as plain text and rich text should have identical results unless special formatting information is added in the html. This means we should not have any implicit margin on the QTextDocument used to paint the text, and we should make up for the fact that the drawStaticText() call currently takes the position of the baseline and QTextDocument::drawContents() takes the top-left corner. Reviewed-by: Gunnar --- src/gui/text/qstatictext.cpp | 6 +++-- tests/auto/qstatictext/tst_qstatictext.cpp | 36 ++++++++++++++++++++++++++++++ 2 files changed, 40 insertions(+), 2 deletions(-) diff --git a/src/gui/text/qstatictext.cpp b/src/gui/text/qstatictext.cpp index 1fabf12..d685cd9 100644 --- a/src/gui/text/qstatictext.cpp +++ b/src/gui/text/qstatictext.cpp @@ -553,12 +553,14 @@ void QStaticTextPrivate::paintText(const QPointF &pos, QPainter *p) } else { QTextDocument document; document.setDefaultFont(font); + document.setDocumentMargin(0.0); document.setHtml(text); - QRectF rect = maximumSize.isValid() ? QRectF(pos, maximumSize) : QRectF(); + QPointF adjustedPos = pos - QPointF(0, QFontMetricsF(font).ascent()); + QRectF rect = maximumSize.isValid() ? QRectF(adjustedPos, maximumSize) : QRectF(); document.adjustSize(); p->save(); - p->translate(pos); + p->translate(adjustedPos); document.drawContents(p, rect); p->restore(); actualSize = document.size(); diff --git a/tests/auto/qstatictext/tst_qstatictext.cpp b/tests/auto/qstatictext/tst_qstatictext.cpp index 16832ad..a038878 100644 --- a/tests/auto/qstatictext/tst_qstatictext.cpp +++ b/tests/auto/qstatictext/tst_qstatictext.cpp @@ -79,6 +79,8 @@ private slots: void projectedPainter(); void rotatedScaledAndTranslatedPainter(); void transformationChanged(); + + void plainTextVsRichText(); }; void tst_QStaticText::init() @@ -482,5 +484,39 @@ void tst_QStaticText::transformationChanged() QCOMPARE(imageDrawStaticText, imageDrawText); } +void tst_QStaticText::plainTextVsRichText() +{ + QPixmap imagePlainText(1000, 1000); + imagePlainText.fill(Qt::white); + { + QPainter p(&imagePlainText); + + QStaticText staticText; + staticText.setText("FOObar"); + staticText.setTextFormat(Qt::PlainText); + + p.drawStaticText(10, 10, staticText); + } + + QPixmap imageRichText(1000, 1000); + imageRichText.fill(Qt::white); + { + QPainter p(&imageRichText); + + QStaticText staticText; + staticText.setText("FOObar"); + staticText.setTextFormat(Qt::RichText); + + p.drawStaticText(10, 10, staticText); + } + +#if defined(DEBUG_SAVE_IMAGE) + imagePlainText.save("plainTextVsRichText_imagePlainText.png"); + imageRichText.save("plainTextVsRichText_imageRichText.png"); +#endif + + QCOMPARE(imagePlainText, imageRichText); +} + QTEST_MAIN(tst_QStaticText) #include "tst_qstatictext.moc" -- cgit v0.12 From df0e6759e8ebc1053f951d3a5398a41156e91913 Mon Sep 17 00:00:00 2001 From: Olivier Goffart Date: Thu, 25 Mar 2010 20:05:35 +0100 Subject: QMetaObject::normalizeType: fix uses of const and template. 'const' was not removed from templated class This even fixes compilation errors if using const return templated types We can change the normalized signature in Qt 4.7 as it has already changed and we have code to check that if moc revision < 5 it will renormalize all the symbols cf commit b881d8fb99972f1bd04ab4c84843cc8d43ddbeed Task-number: QTBUG-7421 Reviewed-by: Brad Reviewed-by: Kent Hansen --- src/corelib/kernel/qmetaobject_p.h | 4 +++- tests/auto/moc/tst_moc.cpp | 11 +++++++++++ tests/auto/qmetaobject/tst_qmetaobject.cpp | 6 ++++++ tests/auto/qobject/tst_qobject.cpp | 20 ++++++++++++++++++++ 4 files changed, 40 insertions(+), 1 deletion(-) diff --git a/src/corelib/kernel/qmetaobject_p.h b/src/corelib/kernel/qmetaobject_p.h index a176149..1f4bd2f 100644 --- a/src/corelib/kernel/qmetaobject_p.h +++ b/src/corelib/kernel/qmetaobject_p.h @@ -196,7 +196,7 @@ static QByteArray normalizeTypeInternal(const char *t, const char *e, bool fixSc if (*(e-1) == '&') { // treat const reference as value t += 6; --e; - } else if (is_ident_char(*(e-1))) { // treat const value as value + } else if (is_ident_char(*(e-1)) || *(e-1) == '>') { // treat const value as value t += 6; } } @@ -294,6 +294,8 @@ static QByteArray normalizeTypeInternal(const char *t, const char *e, bool fixSc if (adjustConst && t != e && *t == '&') { // treat const ref as value ++t; + } else if (adjustConst && !star) { + // treat const as value } else if (!star) { // move const to the front (but not if const comes after a *) result.prepend("const "); diff --git a/tests/auto/moc/tst_moc.cpp b/tests/auto/moc/tst_moc.cpp index 30c2721..8890a15 100644 --- a/tests/auto/moc/tst_moc.cpp +++ b/tests/auto/moc/tst_moc.cpp @@ -1302,6 +1302,17 @@ void tst_Moc::QTBUG5590_dummyProperty() QCOMPARE(o.value2(), 82); } +class QTBUG7421_ReturnConstTemplate: public QObject +{ Q_OBJECT +public slots: + const QList returnConstTemplate1() { return QList(); } + QList const returnConstTemplate2() { return QList(); } + const int returnConstInt() { return 0; } + const QString returnConstString(const QString s) { return s; } + QString const returnConstString2( QString const s) { return s; } +}; + + QTEST_APPLESS_MAIN(tst_Moc) #include "tst_moc.moc" diff --git a/tests/auto/qmetaobject/tst_qmetaobject.cpp b/tests/auto/qmetaobject/tst_qmetaobject.cpp index bb4a0d2..e81607e 100644 --- a/tests/auto/qmetaobject/tst_qmetaobject.cpp +++ b/tests/auto/qmetaobject/tst_qmetaobject.cpp @@ -706,6 +706,12 @@ void tst_QMetaObject::normalizedSignature_data() QTest::newRow("const6") << "void foo(QList)" << "void foo(QList)"; QTest::newRow("const7") << "void foo(QList)" << "void foo(QList)"; QTest::newRow("const8") << "void foo(QList)" << "void foo(QList)"; + QTest::newRow("const9") << "void foo(const Foo)" << "void foo(Foo)"; + QTest::newRow("const10") << "void foo(Fooconst)" << "void foo(Foo)"; + QTest::newRow("const11") << "void foo(Foo *const)" << "void foo(Foo*const)"; + QTest::newRow("const12") << "void foo(Fooconst*const *const)" << "void foo(Foo*const*const)"; + QTest::newRow("const13") << "void foo(const Foo&)" << "void foo(Foo)"; + QTest::newRow("const14") << "void foo(Fooconst&)" << "void foo(Foo)"; } void tst_QMetaObject::normalizedSignature() diff --git a/tests/auto/qobject/tst_qobject.cpp b/tests/auto/qobject/tst_qobject.cpp index 8da3484..08b7c19 100644 --- a/tests/auto/qobject/tst_qobject.cpp +++ b/tests/auto/qobject/tst_qobject.cpp @@ -2088,6 +2088,9 @@ signals: void typePointerConstRefSignal(Class * const &); + void constTemplateSignal1( Template ); + void constTemplateSignal2( Template< const int >); + public slots: void uintPointerSlot(uint *) { } void ulongPointerSlot(ulong *) { } @@ -2124,6 +2127,10 @@ public slots: void typeConstRefSlot(Template const &) {} void typePointerConstRefSlot(Class * const &) {} + + void constTemplateSlot1(Template const) {} + void constTemplateSlot2(const Template ) {} + void constTemplateSlot3(const Template< const int >) {} }; #include "oldnormalizeobject.h" @@ -2526,6 +2533,19 @@ void tst_QObject::normalize() QVERIFY(object.connect(&object, SIGNAL(typePointerConstRefSignal(Class*)), SLOT(typePointerConstRefSlot(Class*)))); + + QVERIFY( connect(&object, SIGNAL(constTemplateSignal1(Template )), + &object , SLOT(constTemplateSlot1 (Template ) ) )); + QVERIFY( connect(&object, SIGNAL(constTemplateSignal1(Template )), + &object , SLOT(constTemplateSlot2 (Template ) ) )); + QVERIFY( connect(&object, SIGNAL(constTemplateSignal2(Template )), + &object , SLOT(constTemplateSlot3(Template ) ) )); + + //type does not match + QTest::ignoreMessage(QtWarningMsg, "QObject::connect: Incompatible sender/receiver arguments\n" + " NormalizeObject::constTemplateSignal1(Template) --> NormalizeObject::constTemplateSlot3(Template)"); + QVERIFY(!connect(&object, SIGNAL(constTemplateSignal1(Template )), + &object , SLOT(constTemplateSlot3(Template ) ) )); } class SiblingDeleter : public QObject -- cgit v0.12 From ff870dbf9106f2bbb2cf64f5aa35fc5917e5f4f2 Mon Sep 17 00:00:00 2001 From: Olivier Goffart Date: Fri, 26 Mar 2010 11:26:42 +0100 Subject: QMetaObject::normalizeType: Fix parsing of type which contains "const" in names Regression since b881d8fb99972f1bd04ab4c84843cc8d43ddbeed Task-number: QTBUG-9354 Reviewed-by: Kent Hansen --- src/corelib/kernel/qmetaobject_p.h | 3 ++- tests/auto/moc/tst_moc.cpp | 9 +++++++++ tests/auto/qmetaobject/tst_qmetaobject.cpp | 8 ++++++++ 3 files changed, 19 insertions(+), 1 deletion(-) diff --git a/src/corelib/kernel/qmetaobject_p.h b/src/corelib/kernel/qmetaobject_p.h index 1f4bd2f..b538787 100644 --- a/src/corelib/kernel/qmetaobject_p.h +++ b/src/corelib/kernel/qmetaobject_p.h @@ -287,7 +287,8 @@ static QByteArray normalizeTypeInternal(const char *t, const char *e, bool fixSc } // cv qualifers can appear after the type as well - if (t != e && (e - t >= 5 && strncmp("const", t, 5) == 0)) { + if (!is_ident_char(c) && t != e && (e - t >= 5 && strncmp("const", t, 5) == 0) + && (e - t == 5 || !is_ident_char(t[5]))) { t += 5; while (t != e && is_space(*t)) ++t; diff --git a/tests/auto/moc/tst_moc.cpp b/tests/auto/moc/tst_moc.cpp index 8890a15..a56d842 100644 --- a/tests/auto/moc/tst_moc.cpp +++ b/tests/auto/moc/tst_moc.cpp @@ -1312,6 +1312,15 @@ public slots: QString const returnConstString2( QString const s) { return s; } }; +class QTBUG9354_constInName: public QObject +{ Q_OBJECT +public slots: + void slotChooseScientificConst0(struct science_constant const &) {}; + void foo(struct science_const const &) {}; + void foo(struct constconst const &) {}; + void foo(struct constconst *) {}; + void foo(struct const_ *) {}; +}; QTEST_APPLESS_MAIN(tst_Moc) #include "tst_moc.moc" diff --git a/tests/auto/qmetaobject/tst_qmetaobject.cpp b/tests/auto/qmetaobject/tst_qmetaobject.cpp index e81607e..c0b1303 100644 --- a/tests/auto/qmetaobject/tst_qmetaobject.cpp +++ b/tests/auto/qmetaobject/tst_qmetaobject.cpp @@ -740,6 +740,14 @@ void tst_QMetaObject::normalizedType_data() QTest::newRow("template7") << "QList >" << "QList >"; QTest::newRow("value1") << "const QString &" << "QString"; QTest::newRow("value2") << "QString const &" << "QString"; + QTest::newRow("constInName1") << "constconst" << "constconst"; + QTest::newRow("constInName2") << "constconst*" << "constconst*"; + QTest::newRow("constInName3") << "const constconst&" << "constconst"; + QTest::newRow("constInName4") << "constconst const*const" << "constconst*const"; + QTest::newRow("class") << "const class foo&" << "foo"; + QTest::newRow("struct") << "const struct foo*" << "const foo*"; + QTest::newRow("struct2") << "struct foo const*" << "const foo*"; + QTest::newRow("enum") << "enum foo" << "foo"; } void tst_QMetaObject::normalizedType() -- cgit v0.12 From fa40e6fd8b719e2edfdbde94ac70431c68e92449 Mon Sep 17 00:00:00 2001 From: Gabriel de Dietrich Date: Fri, 26 Mar 2010 10:54:34 +0100 Subject: Stabilize tst_QTreeView::taskQTBUG_9216_setSizeAndUniformRowHeightsWrongRepaint Non expected paint events and screen size on pulse_qws/linux-x86-g++ seem to be the reason the auto-test fails. Reviewed-by: jeremy --- tests/auto/qtreeview/tst_qtreeview.cpp | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/tests/auto/qtreeview/tst_qtreeview.cpp b/tests/auto/qtreeview/tst_qtreeview.cpp index 6871982..2de189d 100644 --- a/tests/auto/qtreeview/tst_qtreeview.cpp +++ b/tests/auto/qtreeview/tst_qtreeview.cpp @@ -3721,11 +3721,13 @@ class TreeViewQTBUG_9216 : public QTreeView public: void paintEvent(QPaintEvent *event) { - QCOMPARE(event->rect(), viewport()->rect()); + if (doCompare) + QCOMPARE(event->rect(), viewport()->rect()); QTreeView::paintEvent(event); painted++; } int painted; + bool doCompare; }; void tst_QTreeView::taskQTBUG_9216_setSizeAndUniformRowHeightsWrongRepaint() @@ -3737,15 +3739,16 @@ void tst_QTreeView::taskQTBUG_9216_setSizeAndUniformRowHeightsWrongRepaint() TreeViewQTBUG_9216 view; view.setUniformRowHeights(true); view.setModel(&model); - view.resize(800, 800); view.painted = 0; + view.doCompare = false; view.show(); QTest::qWaitForWindowShown(&view); QTRY_VERIFY(view.painted > 0); QTest::qWait(100); // This one is needed to make the test fail before the patch. view.painted = 0; - model.setData(model.index(0, 5), QVariant(QSize(100,100)), Qt::SizeHintRole); + view.doCompare = true; + model.setData(model.index(0, 0), QVariant(QSize(50, 50)), Qt::SizeHintRole); QTest::qWait(100); QTRY_VERIFY(view.painted > 0); } -- cgit v0.12 From 75bb84ac0e6f17446d87a34ae8a644abff6009af Mon Sep 17 00:00:00 2001 From: Tom Cooksey Date: Mon, 22 Mar 2010 10:48:39 +0100 Subject: Implement Texture-From-Pixmap using EGLImage extensions on X11/EGL There's lots of EGLImage extensions, split between EGL and client rendering APIs like OpenGL ES & OpenVG. To implement texture-from- pixmap using EGLImage, both EGL extensions and OpenGL ES extensions are needed. This patch resolves the EGL extension function pointers after the display is initialized in QEgl::display(). These are then exported from QtGui so they can be used in QtOpenGL. The OpenGL ES extension function pointers are resolved using the usual qglextensions.cpp mechanism. Using EGLImage seems to remove a fixed ~10 millisecond overhead per pixmap bind when compared to using EGLSurface. Exact results per bind for 100 QPixmaps are: 8x8 Pixmap: 12 -> 1.71 msecs (EGLSurface -> EGLImage) 64x64 Pixmap: 11.6 -> 1.83 msecs (EGLSurface -> EGLImage) 128x128 Pixmap: 12.8 -> 2.74 msecs (EGLSurface -> EGLImage) 256x256 Pixmap: 16 -> 6.20 msecs (EGLSurface -> EGLImage) Reviewed-By: Trond --- src/gui/egl/qegl.cpp | 9 +++ src/gui/egl/qegl_p.h | 24 ++++++- src/opengl/qgl_egl_p.h | 1 + src/opengl/qgl_x11egl.cpp | 146 ++++++++++++++++++++++++++++++++----------- src/opengl/qglextensions.cpp | 11 ++++ src/opengl/qglextensions_p.h | 36 +++++++++++ 6 files changed, 190 insertions(+), 37 deletions(-) diff --git a/src/gui/egl/qegl.cpp b/src/gui/egl/qegl.cpp index b870523..507fab3 100644 --- a/src/gui/egl/qegl.cpp +++ b/src/gui/egl/qegl.cpp @@ -528,6 +528,9 @@ QEglProperties QEglContext::configProperties() const return QEglProperties(config()); } +_eglCreateImageKHR eglCreateImageKHR = 0; +_eglDestroyImageKHR eglDestroyImageKHR = 0; + EGLDisplay QEgl::display() { static EGLDisplay dpy = EGL_NO_DISPLAY; @@ -549,6 +552,12 @@ EGLDisplay QEgl::display() qWarning() << "QEgl::display(): Cannot initialize EGL display:" << QEgl::errorString(); return EGL_NO_DISPLAY; } + + // Resolve the egl extension function pointers: + if (QEgl::hasExtension("EGL_KHR_image") || QEgl::hasExtension("EGL_KHR_image_base")) { + eglCreateImageKHR = (_eglCreateImageKHR) eglGetProcAddress("eglCreateImageKHR"); + eglDestroyImageKHR = (_eglDestroyImageKHR) eglGetProcAddress("eglDestroyImageKHR"); + } } return dpy; diff --git a/src/gui/egl/qegl_p.h b/src/gui/egl/qegl_p.h index 7dad9fe..b570329 100644 --- a/src/gui/egl/qegl_p.h +++ b/src/gui/egl/qegl_p.h @@ -100,13 +100,34 @@ typedef NativeDisplayType EGLNativeDisplayType; QT_END_INCLUDE_NAMESPACE #include - #include QT_BEGIN_NAMESPACE #define QEGL_NO_CONFIG ((EGLConfig)-1) +#ifndef EGLAPIENTRY +#define EGLAPIENTRY +#endif + +#if !defined(EGL_KHR_image) || !defined(EGL_KHR_image_base) + +typedef void *EGLImageKHR; +#define EGL_NO_IMAGE_KHR ((EGLImageKHR)0) +#define EGL_IMAGE_PRESERVED_KHR 0x30D2 + +typedef EGLImageKHR (EGLAPIENTRY *_eglCreateImageKHR)(EGLDisplay, EGLContext, EGLenum, EGLClientBuffer, EGLint*); +typedef EGLBoolean (EGLAPIENTRY *_eglDestroyImageKHR)(EGLDisplay, EGLImageKHR); + +// Defined in qegl.cpp: +extern Q_GUI_EXPORT _eglCreateImageKHR eglCreateImageKHR; +extern Q_GUI_EXPORT _eglDestroyImageKHR eglDestroyImageKHR; + +#endif // !defined(EGL_KHR_image) || !defined(EGL_KHR_image_base) + +#if !defined(EGL_KHR_image) || !defined(EGL_KHR_image_pixmap) +#define EGL_NATIVE_PIXMAP_KHR 0x30B0 +#endif class QEglProperties; @@ -132,7 +153,6 @@ namespace QEgl { }; Q_DECLARE_FLAGS(ConfigOptions, ConfigOption); - // Most of the time we use the same config for things like widgets & pixmaps, so rather than // go through the eglChooseConfig loop every time, we use defaultConfig, which will return // the config for a particular device/api/option combo. This function assumes that once a diff --git a/src/opengl/qgl_egl_p.h b/src/opengl/qgl_egl_p.h index 43793cd..85d7f32 100644 --- a/src/opengl/qgl_egl_p.h +++ b/src/opengl/qgl_egl_p.h @@ -53,6 +53,7 @@ // We mean it. // +#include #include #include diff --git a/src/opengl/qgl_x11egl.cpp b/src/opengl/qgl_x11egl.cpp index 0954e69..6980281 100644 --- a/src/opengl/qgl_x11egl.cpp +++ b/src/opengl/qgl_x11egl.cpp @@ -367,6 +367,30 @@ QGLTexture *QGLContextPrivate::bindTextureFromNativePixmap(QPixmapData* pd, cons static bool checkedForTFP = false; static bool haveTFP = false; + static bool checkedForEglImageTFP = false; + static bool haveEglImageTFP = false; + + + if (!checkedForEglImageTFP) { + checkedForEglImageTFP = true; + + // We need to be able to create an EGLImage from a native pixmap, which was split + // into a seperate EGL extension, EGL_KHR_image_pixmap. It is possible to have + // eglCreateImageKHR & eglDestroyImageKHR without support for pixmaps, so we must + // check we have the EGLImage from pixmap functionality. + if (QEgl::hasExtension("EGL_KHR_image") || QEgl::hasExtension("EGL_KHR_image_pixmap")) { + Q_ASSERT(eglCreateImageKHR); + Q_ASSERT(eglDestroyImageKHR); + + // Being able to create an EGLImage from a native pixmap is also pretty useless + // without the ability to bind that EGLImage as a texture, which is provided by + // the GL_OES_EGL_image extension, which we try to resolve here: + haveEglImageTFP = qt_resolve_eglimage_gl_extensions(q); + + if (haveEglImageTFP) + qDebug("Found EGL_KHR_image_pixmap & GL_OES_EGL_image extensions (preferred method)!"); + } + } if (!checkedForTFP) { // Check for texture_from_pixmap egl extension @@ -379,61 +403,113 @@ QGLTexture *QGLContextPrivate::bindTextureFromNativePixmap(QPixmapData* pd, cons } } - if (!haveTFP) + if (!haveTFP && !haveEglImageTFP) return 0; - QX11PixmapData *pixmapData = static_cast(pd); + + QX11PixmapData *pixmapData = static_cast(pd); bool hasAlpha = pixmapData->hasAlphaChannel(); + bool pixmapHasValidSurface = false; + bool textureIsBound = false; + GLuint textureId; + glGenTextures(1, &textureId); + glBindTexture(GL_TEXTURE_2D, textureId); - // Check to see if the surface is still valid - if (pixmapData->gl_surface && - hasAlpha != (pixmapData->flags & QX11PixmapData::GlSurfaceCreatedWithAlpha)) + if (haveTFP && pixmapData->gl_surface && + hasAlpha == (pixmapData->flags & QX11PixmapData::GlSurfaceCreatedWithAlpha)) { - // Surface is invalid! - destroyGlSurfaceForPixmap(pixmapData); + pixmapHasValidSurface = true; } - if (pixmapData->gl_surface == 0) { - EGLConfig config = QEgl::defaultConfig(QInternal::Pixmap, - QEgl::OpenGL, - hasAlpha ? QEgl::Translucent : QEgl::NoOptions); + // If we already have a valid EGL surface for the pixmap, we should use it + if (pixmapHasValidSurface) { + EGLBoolean success; + success = eglBindTexImage(QEgl::display(), (EGLSurface)pixmapData->gl_surface, EGL_BACK_BUFFER); + if (success == EGL_FALSE) { + qWarning() << "eglBindTexImage() failed:" << QEgl::errorString(); + eglDestroySurface(QEgl::display(), (EGLSurface)pixmapData->gl_surface); + pixmapData->gl_surface = (void*)EGL_NO_SURFACE; + } else + textureIsBound = true; + } - QPixmap tmpPixmap(pixmapData); //### - pixmapData->gl_surface = (void*)QEgl::createSurface(&tmpPixmap, config); - if (pixmapData->gl_surface == (void*)EGL_NO_SURFACE) { - haveTFP = false; - return 0; - } + // If the pixmap doesn't already have a valid surface, try binding it via EGLImage + // first, as going through EGLImage should be faster and better supported: + if (!textureIsBound && haveEglImageTFP) { + Q_ASSERT(eglCreateImageKHR); + + EGLImageKHR eglImage; + QPixmap tmpPixmap(pd); + + EGLint attribs[] = { + EGL_IMAGE_PRESERVED_KHR, EGL_TRUE, + EGL_NONE + }; + eglImage = eglCreateImageKHR(QEgl::display(), EGL_NO_CONTEXT, EGL_NATIVE_PIXMAP_KHR, + (EGLClientBuffer)QEgl::nativePixmap(&tmpPixmap), attribs); + + QGLContext* ctx = q; + glEGLImageTargetTexture2DOES(GL_TEXTURE_2D, eglImage); + + GLint err = glGetError(); + if (err == GL_NO_ERROR) + textureIsBound = true; + + // Once the egl image is bound, the texture becomes a new sibling image and we can safely + // destroy the EGLImage we created for the pixmap: + if (eglImage != EGL_NO_IMAGE_KHR) + eglDestroyImageKHR(QEgl::display(), eglImage); } - Q_ASSERT(pixmapData->gl_surface); + if (!textureIsBound && haveTFP) { + // Check to see if the surface is still valid + if (pixmapData->gl_surface && + hasAlpha != (pixmapData->flags & QX11PixmapData::GlSurfaceCreatedWithAlpha)) + { + // Surface is invalid! + destroyGlSurfaceForPixmap(pixmapData); + } - GLuint textureId; - glGenTextures(1, &textureId); - glBindTexture(GL_TEXTURE_2D, textureId); + if (pixmapData->gl_surface == 0) { + EGLConfig config = QEgl::defaultConfig(QInternal::Pixmap, + QEgl::OpenGL, + hasAlpha ? QEgl::Translucent : QEgl::NoOptions); - // bind the egl pixmap surface to a texture - EGLBoolean success; - success = eglBindTexImage(eglContext->display(), (EGLSurface)pixmapData->gl_surface, EGL_BACK_BUFFER); - if (success == EGL_FALSE) { - qWarning() << "eglBindTexImage() failed:" << QEgl::errorString(); - eglDestroySurface(eglContext->display(), (EGLSurface)pixmapData->gl_surface); - pixmapData->gl_surface = (void*)EGL_NO_SURFACE; - haveTFP = false; - return 0; + QPixmap tmpPixmap(pixmapData); //### + pixmapData->gl_surface = (void*)QEgl::createSurface(&tmpPixmap, config); + if (pixmapData->gl_surface == (void*)EGL_NO_SURFACE) + return false; + } + + EGLBoolean success; + success = eglBindTexImage(QEgl::display(), (EGLSurface)pixmapData->gl_surface, EGL_BACK_BUFFER); + if (success == EGL_FALSE) { + qWarning() << "eglBindTexImage() failed:" << QEgl::errorString(); + eglDestroySurface(QEgl::display(), (EGLSurface)pixmapData->gl_surface); + pixmapData->gl_surface = (void*)EGL_NO_SURFACE; + haveTFP = false; // If TFP isn't working, disable it's use + } else + textureIsBound = true; } - QGLTexture *texture = new QGLTexture(q, textureId, GL_TEXTURE_2D, options); - pixmapData->flags |= QX11PixmapData::InvertedWhenBoundToTexture; + QGLTexture *texture = 0; - // We assume the cost of bound pixmaps is zero - QGLTextureCache::instance()->insert(q, key, texture, 0); + if (textureIsBound) { + texture = new QGLTexture(q, textureId, GL_TEXTURE_2D, options); + pixmapData->flags |= QX11PixmapData::InvertedWhenBoundToTexture; + + // We assume the cost of bound pixmaps is zero + QGLTextureCache::instance()->insert(q, key, texture, 0); + + glBindTexture(GL_TEXTURE_2D, textureId); + } else + glDeleteTextures(1, &textureId); - glBindTexture(GL_TEXTURE_2D, textureId); return texture; } + void QGLContextPrivate::destroyGlSurfaceForPixmap(QPixmapData* pmd) { Q_ASSERT(pmd->classId() == QPixmapData::X11Class); diff --git a/src/opengl/qglextensions.cpp b/src/opengl/qglextensions.cpp index 02d5501..ef3c4cd 100644 --- a/src/opengl/qglextensions.cpp +++ b/src/opengl/qglextensions.cpp @@ -222,6 +222,17 @@ bool qt_resolve_buffer_extensions(QGLContext *ctx) #endif } +#ifndef QT_NO_EGL +bool qt_resolve_eglimage_gl_extensions(QGLContext *ctx) +{ + if (glEGLImageTargetTexture2DOES || glEGLImageTargetRenderbufferStorageOES) + return true; + glEGLImageTargetTexture2DOES = (_glEGLImageTargetTexture2DOES) ctx->getProcAddress(QLatin1String("glEGLImageTargetTexture2DOES")); + glEGLImageTargetRenderbufferStorageOES = (_glEGLImageTargetRenderbufferStorageOES) ctx->getProcAddress(QLatin1String("glEGLImageTargetRenderbufferStorageOES")); + return glEGLImageTargetTexture2DOES && glEGLImageTargetRenderbufferStorageOES; +} +#endif + bool qt_resolve_glsl_extensions(QGLContext *ctx) { // Geometry shaders are optional... diff --git a/src/opengl/qglextensions_p.h b/src/opengl/qglextensions_p.h index f6926f3..7597b33 100644 --- a/src/opengl/qglextensions_p.h +++ b/src/opengl/qglextensions_p.h @@ -68,6 +68,11 @@ # define APIENTRYP * #endif +#ifndef QT_NO_EGL +// Needed for EGLImageKHR definition: +#include +#endif + #include #ifndef GL_ARB_vertex_buffer_object @@ -210,6 +215,14 @@ typedef void (APIENTRY *_glFramebufferTextureFaceEXT)(GLenum target, GLenum atta typedef void (APIENTRY *_glCompressedTexImage2DARB) (GLenum, GLint, GLenum, GLsizei, GLsizei, GLint, GLsizei, const GLvoid *); +#ifndef QT_NO_EGL +// OES_EGL_image +// Note: We define these to take EGLImage whereas spec says they take a new GLeglImageOES +// type, which the EGL image should be cast to. +typedef void (APIENTRY *_glEGLImageTargetTexture2DOES) (GLenum, EGLImageKHR); +typedef void (APIENTRY *_glEGLImageTargetRenderbufferStorageOES) (GLenum, EGLImageKHR); +#endif + QT_BEGIN_NAMESPACE struct QGLExtensionFuncs @@ -327,6 +340,12 @@ struct QGLExtensionFuncs // Texture compression qt_glCompressedTexImage2DARB = 0; #endif + +#ifndef QT_NO_EGL + // OES_EGL_image + qt_glEGLImageTargetTexture2DOES = 0; + qt_glEGLImageTargetRenderbufferStorageOES = 0; +#endif } @@ -447,6 +466,13 @@ struct QGLExtensionFuncs // Texture compression _glCompressedTexImage2DARB qt_glCompressedTexImage2DARB; #endif + +#ifndef QT_NO_EGL + // OES_EGL_image + _glEGLImageTargetTexture2DOES qt_glEGLImageTargetTexture2DOES; + _glEGLImageTargetRenderbufferStorageOES qt_glEGLImageTargetRenderbufferStorageOES; +#endif + }; @@ -839,6 +865,12 @@ struct QGLExtensionFuncs #define glCompressedTexImage2D QGLContextPrivate::extensionFuncs(ctx).qt_glCompressedTexImage2DARB #endif +#ifndef QT_NO_EGL +// OES_EGL_image +#define glEGLImageTargetTexture2DOES QGLContextPrivate::extensionFuncs(ctx).qt_glEGLImageTargetTexture2DOES +#define glEGLImageTargetRenderbufferStorageOES QGLContextPrivate::extensionFuncs(ctx).qt_glEGLImageTargetRenderbufferStorageOES +#endif + extern bool qt_resolve_framebufferobject_extensions(QGLContext *ctx); bool qt_resolve_buffer_extensions(QGLContext *ctx); @@ -849,6 +881,10 @@ bool qt_resolve_frag_program_extensions(QGLContext *ctx); bool qt_resolve_glsl_extensions(QGLContext *ctx); +#ifndef QT_NO_EGL +bool qt_resolve_eglimage_gl_extensions(QGLContext *ctx); +#endif + QT_END_NAMESPACE #endif // QGL_EXTENSIONS_P_H -- cgit v0.12 From 7488aa544bdfccc0131427669266a93c44501c42 Mon Sep 17 00:00:00 2001 From: Tom Cooksey Date: Mon, 22 Mar 2010 14:21:23 +0100 Subject: Avoid having to create temporary QPixmaps when binding to texture Reviewed-By: TrustMe --- src/opengl/qgl.cpp | 2 +- src/opengl/qgl_p.h | 2 +- src/opengl/qgl_x11.cpp | 6 +++--- src/opengl/qgl_x11egl.cpp | 13 +++++-------- 4 files changed, 10 insertions(+), 13 deletions(-) diff --git a/src/opengl/qgl.cpp b/src/opengl/qgl.cpp index 7aba25a..e56b149 100644 --- a/src/opengl/qgl.cpp +++ b/src/opengl/qgl.cpp @@ -2444,7 +2444,7 @@ QGLTexture *QGLContextPrivate::bindTexture(const QPixmap &pixmap, GLenum target, if (pd->classId() == QPixmapData::X11Class && pd->pixelType() == QPixmapData::PixmapType && xinfo && xinfo->screen() == pixmap.x11Info().screen()) { - texture = bindTextureFromNativePixmap(pd, key, options); + texture = bindTextureFromNativePixmap(const_cast(&pixmap), key, options); if (texture) { texture->options |= QGLContext::MemoryManagedBindOption; texture->boundPixmap = pd; diff --git a/src/opengl/qgl_p.h b/src/opengl/qgl_p.h index 45f8f30..1169533 100644 --- a/src/opengl/qgl_p.h +++ b/src/opengl/qgl_p.h @@ -361,7 +361,7 @@ public: quint32 gpm; int screen; QHash boundPixmaps; - QGLTexture *bindTextureFromNativePixmap(QPixmapData*, const qint64 key, + QGLTexture *bindTextureFromNativePixmap(QPixmap*, const qint64 key, QGLContext::BindOptions options); static void destroyGlSurfaceForPixmap(QPixmapData*); static void unbindPixmapFromTexture(QPixmapData*); diff --git a/src/opengl/qgl_x11.cpp b/src/opengl/qgl_x11.cpp index 4fa1467..e1a202f 100644 --- a/src/opengl/qgl_x11.cpp +++ b/src/opengl/qgl_x11.cpp @@ -1671,7 +1671,7 @@ static bool qt_resolveTextureFromPixmap(QPaintDevice *paintDevice) #endif //defined(GLX_VERSION_1_3) && !defined(Q_OS_HPUX) -QGLTexture *QGLContextPrivate::bindTextureFromNativePixmap(QPixmapData *pmd, const qint64 key, +QGLTexture *QGLContextPrivate::bindTextureFromNativePixmap(QPixmap *pixmap, const qint64 key, QGLContext::BindOptions options) { #if !defined(GLX_VERSION_1_3) || defined(Q_OS_HPUX) @@ -1679,12 +1679,12 @@ QGLTexture *QGLContextPrivate::bindTextureFromNativePixmap(QPixmapData *pmd, con #else Q_Q(QGLContext); - Q_ASSERT(pmd->classId() == QPixmapData::X11Class); + QX11PixmapData *pixmapData = static_cast(pixmap->data_ptr().data()); + Q_ASSERT(pixmapData->classId() == QPixmapData::X11Class); if (!qt_resolveTextureFromPixmap(paintDevice)) return 0; - QX11PixmapData *pixmapData = static_cast(pmd); const QX11Info &x11Info = pixmapData->xinfo; // Store the configs (Can be static because configs aren't dependent on current context) diff --git a/src/opengl/qgl_x11egl.cpp b/src/opengl/qgl_x11egl.cpp index 6980281..af0100b 100644 --- a/src/opengl/qgl_x11egl.cpp +++ b/src/opengl/qgl_x11egl.cpp @@ -354,7 +354,7 @@ void QGLWidgetPrivate::recreateEglSurface(bool force) } -QGLTexture *QGLContextPrivate::bindTextureFromNativePixmap(QPixmapData* pd, const qint64 key, +QGLTexture *QGLContextPrivate::bindTextureFromNativePixmap(QPixmap *pixmap, const qint64 key, QGLContext::BindOptions options) { Q_Q(QGLContext); @@ -363,7 +363,6 @@ QGLTexture *QGLContextPrivate::bindTextureFromNativePixmap(QPixmapData* pd, cons if (!(options & QGLContext::CanFlipNativePixmapBindOption)) return 0; - Q_ASSERT(pd->classId() == QPixmapData::X11Class); static bool checkedForTFP = false; static bool haveTFP = false; @@ -407,8 +406,8 @@ QGLTexture *QGLContextPrivate::bindTextureFromNativePixmap(QPixmapData* pd, cons return 0; - - QX11PixmapData *pixmapData = static_cast(pd); + QX11PixmapData *pixmapData = static_cast(pixmap->data_ptr().data()); + Q_ASSERT(pixmapData->classId() == QPixmapData::X11Class); bool hasAlpha = pixmapData->hasAlphaChannel(); bool pixmapHasValidSurface = false; bool textureIsBound = false; @@ -440,14 +439,13 @@ QGLTexture *QGLContextPrivate::bindTextureFromNativePixmap(QPixmapData* pd, cons Q_ASSERT(eglCreateImageKHR); EGLImageKHR eglImage; - QPixmap tmpPixmap(pd); EGLint attribs[] = { EGL_IMAGE_PRESERVED_KHR, EGL_TRUE, EGL_NONE }; eglImage = eglCreateImageKHR(QEgl::display(), EGL_NO_CONTEXT, EGL_NATIVE_PIXMAP_KHR, - (EGLClientBuffer)QEgl::nativePixmap(&tmpPixmap), attribs); + (EGLClientBuffer)QEgl::nativePixmap(pixmap), attribs); QGLContext* ctx = q; glEGLImageTargetTexture2DOES(GL_TEXTURE_2D, eglImage); @@ -476,8 +474,7 @@ QGLTexture *QGLContextPrivate::bindTextureFromNativePixmap(QPixmapData* pd, cons QEgl::OpenGL, hasAlpha ? QEgl::Translucent : QEgl::NoOptions); - QPixmap tmpPixmap(pixmapData); //### - pixmapData->gl_surface = (void*)QEgl::createSurface(&tmpPixmap, config); + pixmapData->gl_surface = (void*)QEgl::createSurface(pixmap, config); if (pixmapData->gl_surface == (void*)EGL_NO_SURFACE) return false; } -- cgit v0.12 From f8b0da8c12fcdcb9a820b208c27313cea10d8798 Mon Sep 17 00:00:00 2001 From: Tom Cooksey Date: Fri, 26 Mar 2010 13:37:25 +0100 Subject: Remove EGLImage create/destroy resolving from VG pixmap data eglCreateImageKHR and eglDestroyImageKHR are now defined in qegl.cpp and resolved when the display is opened with QEgl::display(). Reviewed-By: Jason Barron --- src/openvg/qpixmapdata_vg.cpp | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/src/openvg/qpixmapdata_vg.cpp b/src/openvg/qpixmapdata_vg.cpp index e66d80b..7550446 100644 --- a/src/openvg/qpixmapdata_vg.cpp +++ b/src/openvg/qpixmapdata_vg.cpp @@ -42,6 +42,7 @@ #include "qpixmapdata_vg_p.h" #include "qpaintengine_vg_p.h" #include +#include #include "qvg_p.h" #include "qvgimagepool_p.h" @@ -49,8 +50,6 @@ #include #ifdef QT_SYMBIAN_SUPPORTS_SGIMAGE #include -typedef EGLImageKHR (*pfnEglCreateImageKHR)(EGLDisplay, EGLContext, EGLenum, EGLClientBuffer, EGLint*); -typedef EGLBoolean (*pfnEglDestroyImageKHR)(EGLDisplay, EGLImageKHR); typedef VGImage (*pfnVgCreateEGLImageTargetKHR)(VGeglImageKHR); #endif // QT_SYMBIAN_SUPPORTS_SGIMAGE @@ -486,8 +485,6 @@ void QVGPixmapData::fromNativeType(void* pixmap, NativeType type) return; } - pfnEglCreateImageKHR eglCreateImageKHR = (pfnEglCreateImageKHR) eglGetProcAddress("eglCreateImageKHR"); - pfnEglDestroyImageKHR eglDestroyImageKHR = (pfnEglDestroyImageKHR) eglGetProcAddress("eglDestroyImageKHR"); pfnVgCreateEGLImageTargetKHR vgCreateEGLImageTargetKHR = (pfnVgCreateEGLImageTargetKHR) eglGetProcAddress("vgCreateEGLImageTargetKHR"); if (eglGetError() != EGL_SUCCESS || !eglCreateImageKHR || !eglDestroyImageKHR || !vgCreateEGLImageTargetKHR) { @@ -607,8 +604,6 @@ void* QVGPixmapData::toNativeType(NativeType type) return 0; } - pfnEglCreateImageKHR eglCreateImageKHR = (pfnEglCreateImageKHR) eglGetProcAddress("eglCreateImageKHR"); - pfnEglDestroyImageKHR eglDestroyImageKHR = (pfnEglDestroyImageKHR) eglGetProcAddress("eglDestroyImageKHR"); pfnVgCreateEGLImageTargetKHR vgCreateEGLImageTargetKHR = (pfnVgCreateEGLImageTargetKHR) eglGetProcAddress("vgCreateEGLImageTargetKHR"); if (eglGetError() != EGL_SUCCESS || !eglCreateImageKHR || !eglDestroyImageKHR || !vgCreateEGLImageTargetKHR) { -- cgit v0.12 From ed8b490ff07afbca5f23aa19d995c017e2823114 Mon Sep 17 00:00:00 2001 From: Joerg Bornemann Date: Fri, 26 Mar 2010 15:04:24 +0100 Subject: cetest: remove source file duplicates from cetest.pro epocroot.cpp and registry.cpp are already in qmake_include.pri --- tools/qtestlib/wince/cetest/cetest.pro | 2 -- 1 file changed, 2 deletions(-) diff --git a/tools/qtestlib/wince/cetest/cetest.pro b/tools/qtestlib/wince/cetest/cetest.pro index 4f0baab..43ed18e 100644 --- a/tools/qtestlib/wince/cetest/cetest.pro +++ b/tools/qtestlib/wince/cetest/cetest.pro @@ -37,8 +37,6 @@ HEADERS += \ SOURCES += \ remoteconnection.cpp \ deployment.cpp \ - symbian/epocroot.cpp \ - windows/registry.cpp \ main.cpp LIBS += ole32.lib advapi32.lib -- cgit v0.12 From 454400ff604bcc3cd720ca0487ab6fd4b77d764c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tor=20Arne=20Vestb=C3=B8?= Date: Fri, 26 Mar 2010 16:11:18 +0100 Subject: Round instead of ceil font metrics when ForceIntegerMetrics is enabled This matches how both the simple and complex paths in WebKit handle float to integer conversion, and looks much better. Reviewed-by: Eskil --- src/gui/text/qfontengine_mac.mm | 48 ++++++++++++++++++++--------------------- 1 file changed, 24 insertions(+), 24 deletions(-) diff --git a/src/gui/text/qfontengine_mac.mm b/src/gui/text/qfontengine_mac.mm index 3f84544..0bfdbc0 100644 --- a/src/gui/text/qfontengine_mac.mm +++ b/src/gui/text/qfontengine_mac.mm @@ -306,8 +306,8 @@ bool QCoreTextFontEngineMulti::stringToCMap(const QChar *str, int len, QGlyphLay outAdvances_y[idx] = QFixed::fromReal(tmpPoints[i + 1].y - tmpPoints[i].y); if (fontDef.styleStrategy & QFont::ForceIntegerMetrics) { - outAdvances_x[idx] = outAdvances_x[idx].ceil(); - outAdvances_y[idx] = outAdvances_y[idx].ceil(); + outAdvances_x[idx] = outAdvances_x[idx].round(); + outAdvances_y[idx] = outAdvances_y[idx].round(); } } CGSize lastGlyphAdvance; @@ -316,7 +316,7 @@ bool QCoreTextFontEngineMulti::stringToCMap(const QChar *str, int len, QGlyphLay outGlyphs[rtl ? 0 : (glyphCount - 1)] = tmpGlyphs[glyphCount - 1] | fontIndex; outAdvances_x[rtl ? 0 : (glyphCount - 1)] = (fontDef.styleStrategy & QFont::ForceIntegerMetrics) - ? QFixed::fromReal(lastGlyphAdvance.width).ceil() + ? QFixed::fromReal(lastGlyphAdvance.width).round() : QFixed::fromReal(lastGlyphAdvance.width); } outGlyphs += glyphCount; @@ -389,7 +389,7 @@ glyph_metrics_t QCoreTextFontEngine::boundingBox(const QGlyphLayout &glyphs) QFixed w; for (int i = 0; i < glyphs.numGlyphs; ++i) { w += (fontDef.styleStrategy & QFont::ForceIntegerMetrics) - ? glyphs.effectiveAdvance(i).ceil() + ? glyphs.effectiveAdvance(i).round() : glyphs.effectiveAdvance(i); } return glyph_metrics_t(0, -(ascent()), w, ascent()+descent(), w, 0); @@ -409,8 +409,8 @@ glyph_metrics_t QCoreTextFontEngine::boundingBox(glyph_t glyph) ret.yoff = QFixed::fromReal(advances[0].height); if (fontDef.styleStrategy & QFont::ForceIntegerMetrics) { - ret.xoff = ret.xoff.ceil(); - ret.yoff = ret.yoff.ceil(); + ret.xoff = ret.xoff.round(); + ret.yoff = ret.yoff.round(); } return ret; @@ -419,14 +419,14 @@ glyph_metrics_t QCoreTextFontEngine::boundingBox(glyph_t glyph) QFixed QCoreTextFontEngine::ascent() const { return (fontDef.styleStrategy & QFont::ForceIntegerMetrics) - ? QFixed::fromReal(CTFontGetAscent(ctfont)).ceil() + ? QFixed::fromReal(CTFontGetAscent(ctfont)).round() : QFixed::fromReal(CTFontGetAscent(ctfont)); } QFixed QCoreTextFontEngine::descent() const { QFixed d = QFixed::fromReal(CTFontGetDescent(ctfont)); if (fontDef.styleStrategy & QFont::ForceIntegerMetrics) - d = d.ceil(); + d = d.round(); // subtract a pixel to even out the historical +1 in QFontMetrics::height(). // Fix in Qt 5. @@ -435,20 +435,20 @@ QFixed QCoreTextFontEngine::descent() const QFixed QCoreTextFontEngine::leading() const { return (fontDef.styleStrategy & QFont::ForceIntegerMetrics) - ? QFixed::fromReal(CTFontGetLeading(ctfont)).ceil() + ? QFixed::fromReal(CTFontGetLeading(ctfont)).round() : QFixed::fromReal(CTFontGetLeading(ctfont)); } QFixed QCoreTextFontEngine::xHeight() const { return (fontDef.styleStrategy & QFont::ForceIntegerMetrics) - ? QFixed::fromReal(CTFontGetXHeight(ctfont)).ceil() + ? QFixed::fromReal(CTFontGetXHeight(ctfont)).round() : QFixed::fromReal(CTFontGetXHeight(ctfont)); } QFixed QCoreTextFontEngine::averageCharWidth() const { // ### Need to implement properly and get the information from the OS/2 Table. return (fontDef.styleStrategy & QFont::ForceIntegerMetrics) - ? QFontEngine::averageCharWidth().ceil() + ? QFontEngine::averageCharWidth().round() : QFontEngine::averageCharWidth(); } @@ -888,8 +888,8 @@ static OSStatus atsuPostLayoutCallback(ATSULayoutOperationSelector selector, ATS QFixed xAdvance = FixedToQFixed(layoutData[glyphIdx + 1].realPos - layoutData[glyphIdx].realPos); if (nfo->styleStrategy & QFont::ForceIntegerMetrics) { - yAdvance = yAdvance.ceil(); - xAdvance = xAdvance.ceil(); + yAdvance = yAdvance.round(); + xAdvance = xAdvance.round(); } if (glyphId != 0xffff || i == 0) { @@ -1403,8 +1403,8 @@ void QFontEngineMac::recalcAdvances(QGlyphLayout *glyphs, QTextEngine::ShaperFla glyphs->advances_y[i] = QFixed::fromReal(metrics[i].deviceAdvance.y); if (fontDef.styleStrategy & QFont::ForceIntegerMetrics) { - glyphs->advances_x[i] = glyphs->advances_x[i].ceil(); - glyphs->advances_y[i] = glyphs->advances_y[i].ceil(); + glyphs->advances_x[i] = glyphs->advances_x[i].round(); + glyphs->advances_y[i] = glyphs->advances_y[i].round(); } } } @@ -1414,7 +1414,7 @@ glyph_metrics_t QFontEngineMac::boundingBox(const QGlyphLayout &glyphs) QFixed w; for (int i = 0; i < glyphs.numGlyphs; ++i) { w += (fontDef.styleStrategy & QFont::ForceIntegerMetrics) - ? glyphs.effectiveAdvance(i).ceil() + ? glyphs.effectiveAdvance(i).round() : glyphs.effectiveAdvance(i); } return glyph_metrics_t(0, -(ascent()), w, ascent()+descent(), w, 0); @@ -1444,8 +1444,8 @@ glyph_metrics_t QFontEngineMac::boundingBox(glyph_t glyph) if (fontDef.styleStrategy & QFont::ForceIntegerMetrics) { gm.x = gm.x.floor(); gm.y = gm.y.floor(); - gm.xoff = gm.xoff.ceil(); - gm.yoff = gm.yoff.ceil(); + gm.xoff = gm.xoff.round(); + gm.yoff = gm.yoff.round(); } return gm; @@ -1454,7 +1454,7 @@ glyph_metrics_t QFontEngineMac::boundingBox(glyph_t glyph) QFixed QFontEngineMac::ascent() const { return (fontDef.styleStrategy & QFont::ForceIntegerMetrics) - ? m_ascent.ceil() + ? m_ascent.round() : m_ascent; } @@ -1463,35 +1463,35 @@ QFixed QFontEngineMac::descent() const // subtract a pixel to even out the historical +1 in QFontMetrics::height(). // Fix in Qt 5. return (fontDef.styleStrategy & QFont::ForceIntegerMetrics) - ? m_descent.ceil() - 1 + ? m_descent.round() - 1 : m_descent; } QFixed QFontEngineMac::leading() const { return (fontDef.styleStrategy & QFont::ForceIntegerMetrics) - ? m_leading.ceil() + ? m_leading.round() : m_leading; } qreal QFontEngineMac::maxCharWidth() const { return (fontDef.styleStrategy & QFont::ForceIntegerMetrics) - ? qCeil(m_maxCharWidth) + ? qRound(m_maxCharWidth) : m_maxCharWidth; } QFixed QFontEngineMac::xHeight() const { return (fontDef.styleStrategy & QFont::ForceIntegerMetrics) - ? m_xHeight.ceil() + ? m_xHeight.round() : m_xHeight; } QFixed QFontEngineMac::averageCharWidth() const { return (fontDef.styleStrategy & QFont::ForceIntegerMetrics) - ? m_averageCharWidth.ceil() + ? m_averageCharWidth.round() : m_averageCharWidth; } -- cgit v0.12 From a44026a3885e1505b9206a4d9a47ea21aa6d6787 Mon Sep 17 00:00:00 2001 From: Tom Cooksey Date: Fri, 26 Mar 2010 16:32:55 +0100 Subject: Fix build on Windows On unix platforms, QT_NO_EGL is defined by configure. However, this is not defined by windows's configure.exe so add it in opengl.pro. Reviewed-By: Brad --- src/opengl/opengl.pro | 1 + 1 file changed, 1 insertion(+) diff --git a/src/opengl/opengl.pro b/src/opengl/opengl.pro index ff42a49..9473343 100644 --- a/src/opengl/opengl.pro +++ b/src/opengl/opengl.pro @@ -116,6 +116,7 @@ mac { LIBS_PRIVATE += -framework AppKit -framework Carbon } win32:!wince*: { + DEFINES += QT_NO_EGL SOURCES += qgl_win.cpp \ qglpixelbuffer_win.cpp } -- cgit v0.12 From 345e299c512094b50868c9ee71cbba83db593444 Mon Sep 17 00:00:00 2001 From: Thierry Bastian Date: Fri, 26 Mar 2010 16:42:04 +0100 Subject: improve mingw 64 bit support --- src/network/ssl/qsslsocket_openssl.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/network/ssl/qsslsocket_openssl.cpp b/src/network/ssl/qsslsocket_openssl.cpp index 4010710..050fb1b 100644 --- a/src/network/ssl/qsslsocket_openssl.cpp +++ b/src/network/ssl/qsslsocket_openssl.cpp @@ -146,7 +146,7 @@ static void locking_function(int mode, int lockNumber, const char *, int) } static unsigned long id_function() { - return (unsigned long)QThread::currentThreadId(); + return (quintptr)QThread::currentThreadId(); } } // extern "C" -- cgit v0.12 From 0e7a43dba248030c673be5deab8ca70d14c0798f Mon Sep 17 00:00:00 2001 From: Tom Cooksey Date: Fri, 26 Mar 2010 16:57:48 +0100 Subject: Define QT_NO_EGL in configure.exe This is the "proper" fix for the windows build failure introduced by 75bb84ac. a44026a3 should be reverted once configure.exe is rebuilt to incorperate this fix. Reviewed-By: Marius Storm-Olsen --- tools/configure/configureapp.cpp | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/tools/configure/configureapp.cpp b/tools/configure/configureapp.cpp index 0b14cba..dfd1196 100644 --- a/tools/configure/configureapp.cpp +++ b/tools/configure/configureapp.cpp @@ -3041,6 +3041,10 @@ void Configure::generateConfigfiles() if(dictionary["S60"] == "no") qconfigList += "QT_NO_S60"; if(dictionary["NATIVE_GESTURES"] == "no") qconfigList += "QT_NO_NATIVE_GESTURES"; + if(dictionary["OPENGL_ES_CM"] == "no" && + dictionary["OPENGL_ES_2"] == "no" && + dictionary["OPENVG"] == "no") qconfigList += "QT_NO_EGL"; + if(dictionary["OPENGL_ES_CM"] == "yes" || dictionary["OPENGL_ES_2"] == "yes") qconfigList += "QT_OPENGL_ES"; -- cgit v0.12 From 8db35fe685d115f136bb2ec0305300dd082b278b Mon Sep 17 00:00:00 2001 From: Lars Knoll Date: Fri, 26 Mar 2010 22:36:34 +0100 Subject: Fix a bug in greek shaping causing infinite loops Update harfbuzz to 33b9cde6a08293d26047734e046c6677a2959adb Reviewed-By: TrustMe AutoTest: qtextscriptengine Task-number: QTBUG-391 --- src/3rdparty/harfbuzz/src/harfbuzz-greek.c | 27 +++++++++------ src/3rdparty/harfbuzz/tests/shaping/main.cpp | 40 ++++++++++++++++++++-- .../qtextscriptengine/tst_qtextscriptengine.cpp | 36 +++++++++++++++++++ 3 files changed, 90 insertions(+), 13 deletions(-) diff --git a/src/3rdparty/harfbuzz/src/harfbuzz-greek.c b/src/3rdparty/harfbuzz/src/harfbuzz-greek.c index 59f3077..2e9b858 100644 --- a/src/3rdparty/harfbuzz/src/harfbuzz-greek.c +++ b/src/3rdparty/harfbuzz/src/harfbuzz-greek.c @@ -77,10 +77,12 @@ static HB_UChar16 compose_0x300(HB_UChar16 base) return 0x1fdd; return 0; } - const hb_greek_decomposition *d = decompose_0x300; - while (d->base && d->base != base) - ++d; - return d->composed; + { + const hb_greek_decomposition *d = decompose_0x300; + while (d->base && d->base != base) + ++d; + return d->composed; + } } static const hb_greek_decomposition decompose_0x301[] = { @@ -115,10 +117,12 @@ static HB_UChar16 compose_0x301(HB_UChar16 base) if (base == 0x1ffe) return 0x1fde; } - const hb_greek_decomposition *d = decompose_0x301; - while (d->base && d->base != base) - ++d; - return d->composed; + { + const hb_greek_decomposition *d = decompose_0x301; + while (d->base && d->base != base) + ++d; + return d->composed; + } } static const hb_greek_decomposition decompose_0x304[] = { @@ -351,8 +355,7 @@ static HB_UChar16 compose_0x345(HB_UChar16 base) */ HB_Bool HB_GreekShape(HB_ShaperItem *shaper_item) { - assert(shaper_item->item.script == HB_Script_Greek); - + const int availableGlyphs = shaper_item->num_glyphs; const HB_UChar16 *uc = shaper_item->string + shaper_item->item.pos; unsigned short *logClusters = shaper_item->log_clusters; HB_GlyphAttributes *attributes = shaper_item->attributes; @@ -363,6 +366,9 @@ HB_Bool HB_GreekShape(HB_ShaperItem *shaper_item) hb_uint32 i; HB_STACKARRAY(HB_UChar16, shapedChars, 2 * shaper_item->item.length); + + assert(shaper_item->item.script == HB_Script_Greek); + *shapedChars = *uc; logClusters[0] = 0; @@ -430,7 +436,6 @@ HB_Bool HB_GreekShape(HB_ShaperItem *shaper_item) #ifndef NO_OPENTYPE if (HB_SelectScript(shaper_item, greek_features)) { - const int availableGlyphs = shaper_item->num_glyphs; HB_OpenTypeShape(shaper_item, /*properties*/0); return HB_OpenTypePosition(shaper_item, availableGlyphs, /*doLogClusters*/TRUE); } diff --git a/src/3rdparty/harfbuzz/tests/shaping/main.cpp b/src/3rdparty/harfbuzz/tests/shaping/main.cpp index b48b0a9..320e8ee 100644 --- a/src/3rdparty/harfbuzz/tests/shaping/main.cpp +++ b/src/3rdparty/harfbuzz/tests/shaping/main.cpp @@ -272,7 +272,6 @@ Shaper::Shaper(FT_Face face, HB_Script script, const QString &str) } -#if defined(Q_WS_X11) static bool decomposedShaping(FT_Face face, HB_Script script, const QChar &ch) { QString uc = QString().append(ch); @@ -318,7 +317,6 @@ static bool decomposedShaping(FT_Face face, HB_Script script, const QChar &ch) qDebug(" decomposed glyph result = %s", str.toLatin1().constData()); return false; } -#endif struct ShapeTable { unsigned short unicode[16]; @@ -382,6 +380,44 @@ void tst_QScriptEngine::greek() continue; QVERIFY( decomposedShaping(face, HB_Script_Greek, QChar(uc)) ); } + FT_Done_Face(face); + } else { + QSKIP("couln't find DejaVu Sans", SkipAll); + } + + + face = loadFace("SBL_grk.ttf"); + if (face) { + for (int uc = 0x1f00; uc <= 0x1fff; ++uc) { + QString str; + str.append(uc); + if (str.normalized(QString::NormalizationForm_D).normalized(QString::NormalizationForm_C) != str) { + //qDebug() << "skipping" << hex << uc; + continue; + } + if (uc == 0x1fc1 || uc == 0x1fed) + continue; + QVERIFY( decomposedShaping(face, HB_Script_Greek, QChar(uc)) ); + + } + + const ShapeTable shape_table [] = { + { { 0x3b1, 0x300, 0x313, 0x0 }, + { 0xb8, 0x3d3, 0x3c7, 0x0 } }, + { { 0x3b1, 0x313, 0x300, 0x0 }, + { 0xd4, 0x0 } }, + + { {0}, {0} } + }; + + + const ShapeTable *s = shape_table; + while (s->unicode[0]) { + QVERIFY( shaping(face, s, HB_Script_Greek) ); + ++s; + } + + FT_Done_Face(face); } else { QSKIP("couln't find DejaVu Sans", SkipAll); } diff --git a/tests/auto/qtextscriptengine/tst_qtextscriptengine.cpp b/tests/auto/qtextscriptengine/tst_qtextscriptengine.cpp index 841f5b9..018c036 100644 --- a/tests/auto/qtextscriptengine/tst_qtextscriptengine.cpp +++ b/tests/auto/qtextscriptengine/tst_qtextscriptengine.cpp @@ -1068,6 +1068,42 @@ void tst_QTextScriptEngine::greek() QSKIP("couln't find DejaVu Sans", SkipAll); } } + + { + if (QFontDatabase().families(QFontDatabase::Any).contains("SBL Greek")) { + QFont f("SBL Greek"); + for (int uc = 0x1f00; uc <= 0x1fff; ++uc) { + QString str; + str.append(uc); + if (str.normalized(QString::NormalizationForm_D).normalized(QString::NormalizationForm_C) != str) { + //qDebug() << "skipping" << hex << uc; + continue; + } + if (uc == 0x1fc1 || uc == 0x1fed) + continue; + QVERIFY( decomposedShaping(f, QChar(uc) ) ); + + } + + const ShapeTable shape_table [] = { + { { 0x3b1, 0x300, 0x313, 0x0 }, + { 0xb8, 0x3d3, 0x3c7, 0x0 } }, + { { 0x3b1, 0x313, 0x300, 0x0 }, + { 0xd4, 0x0 } }, + + { {0}, {0} } + }; + + + const ShapeTable *s = shape_table; + while (s->unicode[0]) { + QVERIFY( shaping(f, s) ); + ++s; + } + } else { + QSKIP("couln't find SBL_grk", SkipAll); + } + } #else QSKIP("X11 specific test", SkipAll); #endif -- cgit v0.12 From d8419cf58ffea2b9cab4986389472c991e2a2f63 Mon Sep 17 00:00:00 2001 From: Tom Cooksey Date: Mon, 29 Mar 2010 08:18:09 +0200 Subject: Protect EGLImage function definitions in #ifdef This should fix the build on Symbian. Reviewed-By: TrustMe --- src/gui/egl/qegl.cpp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/gui/egl/qegl.cpp b/src/gui/egl/qegl.cpp index 507fab3..3417781 100644 --- a/src/gui/egl/qegl.cpp +++ b/src/gui/egl/qegl.cpp @@ -528,8 +528,10 @@ QEglProperties QEglContext::configProperties() const return QEglProperties(config()); } +#if !defined(EGL_KHR_image) || !defined(EGL_KHR_image_base) _eglCreateImageKHR eglCreateImageKHR = 0; _eglDestroyImageKHR eglDestroyImageKHR = 0; +#endif EGLDisplay QEgl::display() { -- cgit v0.12 From 0056c0a654a930fe082787ec7e8579a6e74d9ad5 Mon Sep 17 00:00:00 2001 From: Tom Cooksey Date: Mon, 29 Mar 2010 08:35:39 +0200 Subject: Change ORs to ANDs when checking EGLImage extension defines We should only define the EGLImage functions if both EGL_KHR_image _and_ EGL_KHR_image_base are undefined. Reviewed-By: TrustMe --- src/gui/egl/qegl.cpp | 2 +- src/gui/egl/qegl_p.h | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/gui/egl/qegl.cpp b/src/gui/egl/qegl.cpp index 3417781..9a552cf 100644 --- a/src/gui/egl/qegl.cpp +++ b/src/gui/egl/qegl.cpp @@ -528,7 +528,7 @@ QEglProperties QEglContext::configProperties() const return QEglProperties(config()); } -#if !defined(EGL_KHR_image) || !defined(EGL_KHR_image_base) +#if !defined(EGL_KHR_image) && !defined(EGL_KHR_image_base) _eglCreateImageKHR eglCreateImageKHR = 0; _eglDestroyImageKHR eglDestroyImageKHR = 0; #endif diff --git a/src/gui/egl/qegl_p.h b/src/gui/egl/qegl_p.h index b570329..c659796 100644 --- a/src/gui/egl/qegl_p.h +++ b/src/gui/egl/qegl_p.h @@ -110,7 +110,7 @@ QT_BEGIN_NAMESPACE #define EGLAPIENTRY #endif -#if !defined(EGL_KHR_image) || !defined(EGL_KHR_image_base) +#if !defined(EGL_KHR_image) && !defined(EGL_KHR_image_base) typedef void *EGLImageKHR; #define EGL_NO_IMAGE_KHR ((EGLImageKHR)0) @@ -123,9 +123,9 @@ typedef EGLBoolean (EGLAPIENTRY *_eglDestroyImageKHR)(EGLDisplay, EGLImageKHR); extern Q_GUI_EXPORT _eglCreateImageKHR eglCreateImageKHR; extern Q_GUI_EXPORT _eglDestroyImageKHR eglDestroyImageKHR; -#endif // !defined(EGL_KHR_image) || !defined(EGL_KHR_image_base) +#endif // !defined(EGL_KHR_image) && !defined(EGL_KHR_image_base) -#if !defined(EGL_KHR_image) || !defined(EGL_KHR_image_pixmap) +#if !defined(EGL_KHR_image) && !defined(EGL_KHR_image_pixmap) #define EGL_NATIVE_PIXMAP_KHR 0x30B0 #endif -- cgit v0.12 From 62b082833d904688e44e1bac4849bfa54bf5fe82 Mon Sep 17 00:00:00 2001 From: Tom Cooksey Date: Mon, 29 Mar 2010 12:21:40 +0200 Subject: Don't try to resolve EGLImage function pointers if they are defined We assume the presence of EGL_KHR_image or EGL_KHR_image_base means that the eglCreateImageKHR/eglDestroyImageKHR methods are exported by the EGL library and thus do not need to be resolved. Reviewed-By: TrustMe --- src/gui/egl/qegl.cpp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/gui/egl/qegl.cpp b/src/gui/egl/qegl.cpp index 9a552cf..f36904d 100644 --- a/src/gui/egl/qegl.cpp +++ b/src/gui/egl/qegl.cpp @@ -556,10 +556,12 @@ EGLDisplay QEgl::display() } // Resolve the egl extension function pointers: +#if !defined(EGL_KHR_image) && !defined(EGL_KHR_image_base) if (QEgl::hasExtension("EGL_KHR_image") || QEgl::hasExtension("EGL_KHR_image_base")) { eglCreateImageKHR = (_eglCreateImageKHR) eglGetProcAddress("eglCreateImageKHR"); eglDestroyImageKHR = (_eglDestroyImageKHR) eglGetProcAddress("eglDestroyImageKHR"); } +#endif } return dpy; -- cgit v0.12 From 809583a34cb69367ecb4218f798a5928de9aacec Mon Sep 17 00:00:00 2001 From: Olivier Goffart Date: Mon, 29 Mar 2010 10:34:23 +0200 Subject: QVarLenghtArray: add some API to be consistant to QVector That way it is easier to have QVarLenghtArray as a drop-in replacement for QVector Reviewed-by: Joao --- src/corelib/tools/qvarlengtharray.h | 19 +++++++++++++ src/corelib/tools/qvarlengtharray.qdoc | 32 +++++++++++++++++++++- tests/auto/qvarlengtharray/tst_qvarlengtharray.cpp | 13 +++++++++ 3 files changed, 63 insertions(+), 1 deletion(-) diff --git a/src/corelib/tools/qvarlengtharray.h b/src/corelib/tools/qvarlengtharray.h index aecb66e..9773d4b 100644 --- a/src/corelib/tools/qvarlengtharray.h +++ b/src/corelib/tools/qvarlengtharray.h @@ -107,6 +107,10 @@ public: Q_ASSERT(idx >= 0 && idx < s); return ptr[idx]; } + inline const T &at(int idx) const { return operator[](idx); } + + T value(int i) const; + T value(int i, const T &defaultValue) const; inline void append(const T &t) { if (s == a) // i.e. s != 0 @@ -248,6 +252,21 @@ Q_OUTOFLINE_TEMPLATE void QVarLengthArray::realloc(int asize, int a } } +template +Q_OUTOFLINE_TEMPLATE T QVarLengthArray::value(int i) const +{ + if (i < 0 || i >= size()) { + return T(); + } + return at(i); +} +template +Q_OUTOFLINE_TEMPLATE T QVarLengthArray::value(int i, const T &defaultValue) const +{ + return (i < 0 || i >= size()) ? defaultValue : at(i); +} + + QT_END_NAMESPACE QT_END_HEADER diff --git a/src/corelib/tools/qvarlengtharray.qdoc b/src/corelib/tools/qvarlengtharray.qdoc index bb7a3de..38901e5 100644 --- a/src/corelib/tools/qvarlengtharray.qdoc +++ b/src/corelib/tools/qvarlengtharray.qdoc @@ -197,7 +197,7 @@ \a i must be a valid index position in the array (i.e., 0 <= \a i < size()). - \sa data() + \sa data(), at() */ /*! \fn const T &QVarLengthArray::operator[](int i) const @@ -272,3 +272,33 @@ Constructs a copy of \a other. */ +/*! \fn const T &QVarLengthArray::at(int i) const + + Returns a reference to the item at index position \a i. + + \a i must be a valid index position in the array (i.e., 0 <= \a i + < size()). + + \sa value(), operator[]() +*/ + +/*! \fn T QVarLengthArray::value(int i) const + + Returns the value at index position \a i. + + If the index \a i is out of bounds, the function returns + a \l{default-constructed value}. If you are certain that + \a i is within bounds, you can use at() instead, which is slightly + faster. + + \sa at(), operator[]() +*/ + +/*! \fn T QVarLengthArray::value(int i, const T &defaultValue) const + + \overload + + If the index \a i is out of bounds, the function returns + \a defaultValue. +*/ + diff --git a/tests/auto/qvarlengtharray/tst_qvarlengtharray.cpp b/tests/auto/qvarlengtharray/tst_qvarlengtharray.cpp index 1c43069..5708726 100644 --- a/tests/auto/qvarlengtharray/tst_qvarlengtharray.cpp +++ b/tests/auto/qvarlengtharray/tst_qvarlengtharray.cpp @@ -133,6 +133,12 @@ void tst_QVarLengthArray::oldTests() QVERIFY(sa.data() == &sa[0]); QVERIFY(sa[0] == 0xfee); QVERIFY(sa[10] == 0xff); + QVERIFY(sa.at(0) == 0xfee); + QVERIFY(sa.at(10) == 0xff); + QVERIFY(sa.value(0) == 0xfee); + QVERIFY(sa.value(10) == 0xff); + QVERIFY(sa.value(1000) == 0); + QVERIFY(sa.value(1000, 12) == 12); QVERIFY(sa.size() == 512); sa.reserve(1024); QVERIFY(sa.capacity() == 1024); @@ -168,6 +174,13 @@ void tst_QVarLengthArray::oldTests() QCOMPARE(sa.size(), 12); QCOMPARE(sa[10], QString("hello")); QCOMPARE(sa[11], QString("world")); + QCOMPARE(sa.at(10), QString("hello")); + QCOMPARE(sa.at(11), QString("world")); + QCOMPARE(sa.value(10), QString("hello")); + QCOMPARE(sa.value(11), QString("world")); + QCOMPARE(sa.value(10000), QString()); + QCOMPARE(sa.value(1212112, QString("none")), QString("none")); + QCOMPARE(sa.value(-12, QString("neg")), QString("neg")); sa.append(arr, 1); QCOMPARE(sa.size(), 13); -- cgit v0.12 From d717d2686ecdbeafee1f5cabc6832c8339cfb2b4 Mon Sep 17 00:00:00 2001 From: Eskil Abrahamsen Blomfeldt Date: Fri, 26 Mar 2010 11:56:55 +0100 Subject: Respect QPainter::pen() in QPainter::drawStaticText() QStaticText needs to support changing the pen on the painter to support rich text, but it should not override the pen unless it has been explicitly set in the rich text. We do this by marking the pen as dirty in updateState() when we record the text items. Task-number: QTBUG-8908 Reviewed-by: Gunnar --- src/gui/painting/qpainter.cpp | 2 +- src/gui/text/qstatictext.cpp | 15 ++++- tests/auto/qstatictext/tst_qstatictext.cpp | 90 ++++++++++++++++++++++++++++++ 3 files changed, 103 insertions(+), 4 deletions(-) diff --git a/src/gui/painting/qpainter.cpp b/src/gui/painting/qpainter.cpp index 1c528fe..ac5c8b7 100644 --- a/src/gui/painting/qpainter.cpp +++ b/src/gui/painting/qpainter.cpp @@ -5901,7 +5901,7 @@ void QPainter::drawStaticText(const QPointF &position, const QStaticText &static QColor currentColor = oldPen.color(); for (int i=0; iitemCount; ++i) { QStaticTextItem *item = staticText_d->items + i; - if (currentColor != item->color) { + if (item->color.isValid() && currentColor != item->color) { setPen(item->color); currentColor = item->color; } diff --git a/src/gui/text/qstatictext.cpp b/src/gui/text/qstatictext.cpp index d685cd9..f433c78 100644 --- a/src/gui/text/qstatictext.cpp +++ b/src/gui/text/qstatictext.cpp @@ -388,10 +388,17 @@ namespace { m_expectedItemCount(expectedItemCount), m_expectedGlyphCount(expectedGlyphCount), m_glyphPool(glyphPool), - m_positionPool(positionPool) + m_positionPool(positionPool), + m_dirtyPen(false) { } + virtual void updateState(const QPaintEngineState &newState) + { + if (newState.state() & QPaintEngine::DirtyPen) + m_dirtyPen = true; + } + virtual void drawTextItem(const QPointF &position, const QTextItem &textItem) { const QTextItemInt &ti = static_cast(textItem); @@ -412,7 +419,8 @@ namespace { currentItem->numGlyphs = ti.glyphs.numGlyphs; currentItem->glyphs = m_glyphPool; currentItem->glyphPositions = m_positionPool; - currentItem->color = state->pen().color(); + if (m_dirtyPen) + currentItem->color = state->pen().color(); QTransform matrix = state->transform(); matrix.translate(position.x(), position.y()); @@ -435,7 +443,6 @@ namespace { virtual bool begin(QPaintDevice *) { return true; } virtual bool end() { return true; } - virtual void updateState(const QPaintEngineState &) {} virtual void drawPixmap(const QRectF &, const QPixmap &, const QRectF &) {} virtual Type type() const { @@ -461,6 +468,8 @@ namespace { glyph_t *m_glyphPool; QFixedPoint *m_positionPool; + + bool m_dirtyPen; }; class DrawTextItemDevice: public QPaintDevice diff --git a/tests/auto/qstatictext/tst_qstatictext.cpp b/tests/auto/qstatictext/tst_qstatictext.cpp index a038878..b59c10b 100644 --- a/tests/auto/qstatictext/tst_qstatictext.cpp +++ b/tests/auto/qstatictext/tst_qstatictext.cpp @@ -81,6 +81,10 @@ private slots: void transformationChanged(); void plainTextVsRichText(); + + void setPenPlainText(); + void setPenRichText(); + void richTextOverridesPen(); }; void tst_QStaticText::init() @@ -518,5 +522,91 @@ void tst_QStaticText::plainTextVsRichText() QCOMPARE(imagePlainText, imageRichText); } +void tst_QStaticText::setPenPlainText() +{ + QFont font = QApplication::font(); + font.setStyleStrategy(QFont::NoAntialias); + + QFontMetricsF fm(font); + QPixmap image(qCeil(fm.width("XXXXX")), qCeil(fm.height())); + image.fill(Qt::white); + { + QPainter p(&image); + p.setFont(font); + p.setPen(Qt::green); + + QStaticText staticText("XXXXX"); + staticText.setTextFormat(Qt::PlainText); + p.drawStaticText(0, fm.ascent(), staticText); + } + + QImage img = image.toImage(); + for (int x=0; xXXXXX"); + staticText.setTextFormat(Qt::RichText); + p.drawStaticText(0, fm.ascent(), staticText); + } + + QImage img = image.toImage(); + for (int x=0; xXXXXX"); + staticText.setTextFormat(Qt::RichText); + p.drawStaticText(0, fm.ascent(), staticText); + } + + QImage img = image.toImage(); + for (int x=0; x Date: Fri, 26 Mar 2010 13:38:32 +0100 Subject: Change QStaticText::setMaximumSize() to setTextWidth() To avoid having to precalculate the height of the laid out text, we now only supply a maximum text width to QStaticText. The only usage of the maximum height would be to clip the results, and clipping should be set separately from the QStaticText call, since this has no impact on the layout of the glyphs. The tests have been updated to reflect the change in logic. We also need a consistent way of specifying the position of the text. Before, the position meant "baseline position" for unbroken text and "top left position" for text with a specified layout width. We want to be consistent, and since baseline position makes no sense for multiline text, we standardize on top left position. Task-number: QTBUG-9029 Reviewed-by: Gunnar --- src/gui/painting/qpainter.cpp | 42 +++++++-------- src/gui/painting/qpainter.h | 6 +-- src/gui/text/qstatictext.cpp | 86 +++++++++++++++++------------- src/gui/text/qstatictext.h | 6 +-- src/gui/text/qstatictext_p.h | 7 ++- tests/auto/qstatictext/tst_qstatictext.cpp | 51 +++++++++++------- 6 files changed, 109 insertions(+), 89 deletions(-) diff --git a/src/gui/painting/qpainter.cpp b/src/gui/painting/qpainter.cpp index ac5c8b7..7856881 100644 --- a/src/gui/painting/qpainter.cpp +++ b/src/gui/painting/qpainter.cpp @@ -5762,19 +5762,24 @@ void QPainterPrivate::drawGlyphs(const quint32 *glyphArray, const QPointF *posit /*! - \fn void QPainter::drawStaticText(const QPoint &position, const QStaticText &staticText) + \fn void QPainter::drawStaticText(const QPoint &topLeftPosition, const QStaticText &staticText) \since 4.7 \overload - Draws the \a staticText at the \a position. + Draws the \a staticText at the \a topLeftPosition. + + \note The y-position is used as the top of the font. + */ /*! - \fn void QPainter::drawStaticText(int x, int y, const QStaticText &staticText) + \fn void QPainter::drawStaticText(int left, int top, const QStaticText &staticText) \since 4.7 \overload - Draws the \a staticText at coordinates \a x and \a y. + Draws the \a staticText at coordinates \a left and \a top. + + \note The y-position is used as the top of the font. */ /*! @@ -5802,7 +5807,7 @@ void QPainter::drawText(const QPointF &p, const QString &str) /*! \since 4.7 - Draws the given \a staticText at the given \a position. + Draws the given \a staticText at the given \a topLeftPosition. The text will be drawn using the font and the transformation set on the painter. If the font and/or transformation set on the painter are different from the ones used to initialize @@ -5810,15 +5815,17 @@ void QPainter::drawText(const QPointF &p, const QString &str) QStaticText::prepare() to initialize \a staticText with the font and transformation with which it will later be drawn. - If \a position is not the same as when \a staticText was initialized, or when it was last drawn, - then there will be a slight overhead when translating the text to its new position. + If \a topLeftPosition is not the same as when \a staticText was initialized, or when it was + last drawn, then there will be a slight overhead when translating the text to its new position. - \note If the painter's transformation is not affine, then \a staticText will be drawn using regular - calls to drawText(), losing any potential performance improvement. + \note If the painter's transformation is not affine, then \a staticText will be drawn using + regular calls to drawText(), losing any potential for performance improvement. + + \note The y-position is used as the top of the font. \sa QStaticText */ -void QPainter::drawStaticText(const QPointF &position, const QStaticText &staticText) +void QPainter::drawStaticText(const QPointF &topLeftPosition, const QStaticText &staticText) { Q_D(QPainter); if (!d->engine || staticText.text().isEmpty() || pen().style() == Qt::NoPen) @@ -5830,13 +5837,13 @@ void QPainter::drawStaticText(const QPointF &position, const QStaticText &static // If we don't have an extended paint engine, or if the painter is projected, // we go through standard code path if (d->extended == 0 || !d->state->matrix.isAffine()) { - staticText_d->paintText(position, this); + staticText_d->paintText(topLeftPosition, this); return; } // Don't recalculate entire layout because of translation, rather add the dx and dy // into the position to move each text item the correct distance. - QPointF transformedPosition = position * d->state->matrix; + QPointF transformedPosition = topLeftPosition * d->state->matrix; QTransform matrix = d->state->matrix; // The translation has been applied to transformedPosition. Remove translation @@ -5863,14 +5870,6 @@ void QPainter::drawStaticText(const QPointF &position, const QStaticText &static staticTextNeedsReinit = true; } - bool restoreWhenFinished = false; - if (staticText_d->needsClipRect) { - save(); - setClipRect(QRectF(position, staticText_d->maximumSize)); - - restoreWhenFinished = true; - } - if (font() != staticText_d->font) { staticText_d->font = font(); staticTextNeedsReinit = true; @@ -5910,9 +5909,6 @@ void QPainter::drawStaticText(const QPointF &position, const QStaticText &static if (currentColor != oldPen.color()) setPen(oldPen); - if (restoreWhenFinished) - restore(); - if (matrix.isTranslating()) d->state->matrix = matrix; } diff --git a/src/gui/painting/qpainter.h b/src/gui/painting/qpainter.h index 443925b..edfb67e 100644 --- a/src/gui/painting/qpainter.h +++ b/src/gui/painting/qpainter.h @@ -396,9 +396,9 @@ public: void setLayoutDirection(Qt::LayoutDirection direction); Qt::LayoutDirection layoutDirection() const; - void drawStaticText(const QPointF &p, const QStaticText &staticText); - inline void drawStaticText(const QPoint &p, const QStaticText &staticText); - inline void drawStaticText(int x, int y, const QStaticText &staticText); + void drawStaticText(const QPointF &topLeftPosition, const QStaticText &staticText); + inline void drawStaticText(const QPoint &topLeftPosition, const QStaticText &staticText); + inline void drawStaticText(int left, int top, const QStaticText &staticText); void drawText(const QPointF &p, const QString &s); inline void drawText(const QPoint &p, const QString &s); diff --git a/src/gui/text/qstatictext.cpp b/src/gui/text/qstatictext.cpp index f433c78..977355e 100644 --- a/src/gui/text/qstatictext.cpp +++ b/src/gui/text/qstatictext.cpp @@ -143,11 +143,10 @@ QStaticText::QStaticText() If an invalid size is passed for \a size the text will be unbounded. */ -QStaticText::QStaticText(const QString &text, const QSizeF &size) +QStaticText::QStaticText(const QString &text) : data(new QStaticTextPrivate) { data->text = text; - data->maximumSize = size; data->init(); } @@ -209,7 +208,7 @@ QStaticText &QStaticText::operator=(const QStaticText &other) } /*! - Compares \a other to this QStaticText. Returns true if the texts, fonts and maximum sizes + Compares \a other to this QStaticText. Returns true if the texts, fonts and text widths are equal. */ bool QStaticText::operator==(const QStaticText &other) const @@ -217,7 +216,7 @@ bool QStaticText::operator==(const QStaticText &other) const return (data == other.data || (data->text == other.data->text && data->font == other.data->font - && data->maximumSize == other.data->maximumSize)); + && data->textWidth == other.data->textWidth)); } /*! @@ -315,33 +314,39 @@ QStaticText::PerformanceHint QStaticText::performanceHint() const } /*! - Sets the maximum size of the QStaticText to \a size. + Sets the preferred width for this QStaticText. If the text is wider than the specified width, + it will be broken into multiple lines and grow vertically. If the text cannot be split into + multiple lines, it will be larger than the specified \a textWidth. + + Setting the preferred text width to a negative number will cause the text to be unbounded. + + Use size() to get the actual size of the text. \note This function will cause the layout of the text to be recalculated. - \sa maximumSize(), size() + \sa textWidth(), size() */ -void QStaticText::setMaximumSize(const QSizeF &size) +void QStaticText::setTextWidth(qreal textWidth) { detach(); - data->maximumSize = size; + data->textWidth = textWidth; data->init(); } /*! - Returns the maximum size of the QStaticText. + Returns the preferred width for this QStaticText. - \sa setMaximumSize() + \sa setTextWidth() */ -QSizeF QStaticText::maximumSize() const +qreal QStaticText::textWidth() const { - return data->maximumSize; + return data->textWidth; } /*! Returns the size of the bounding rect for this QStaticText. - \sa maximumSize() + \sa textWidth() */ QSizeF QStaticText::size() const { @@ -349,14 +354,14 @@ QSizeF QStaticText::size() const } QStaticTextPrivate::QStaticTextPrivate() - : items(0), itemCount(0), glyphPool(0), positionPool(0), needsClipRect(false), + : items(0), itemCount(0), glyphPool(0), positionPool(0), textWidth(-1.0), useBackendOptimizations(false), textFormat(Qt::AutoText) { } QStaticTextPrivate::QStaticTextPrivate(const QStaticTextPrivate &other) - : text(other.text), font(other.font), maximumSize(other.maximumSize), matrix(other.matrix), - items(0), itemCount(0), glyphPool(0), positionPool(0), needsClipRect(false), + : text(other.text), font(other.font), textWidth(other.textWidth), matrix(other.matrix), + items(0), itemCount(0), glyphPool(0), positionPool(0), useBackendOptimizations(other.useBackendOptimizations), textFormat(other.textFormat) { } @@ -539,43 +544,50 @@ namespace { }; } -void QStaticTextPrivate::paintText(const QPointF &pos, QPainter *p) +void QStaticTextPrivate::paintText(const QPointF &topLeftPosition, QPainter *p) { bool preferRichText = textFormat == Qt::RichText || (textFormat == Qt::AutoText && Qt::mightBeRichText(text)); if (!preferRichText) { - if (maximumSize.isValid()) { - QRectF boundingRect; - p->drawText(QRectF(pos, maximumSize), Qt::TextWordWrap, text, &boundingRect); - - actualSize = boundingRect.size(); - needsClipRect = boundingRect.width() > maximumSize.width() - || boundingRect.height() > maximumSize.height(); - } else { - p->drawText(pos, text); - needsClipRect = false; - - QFontMetrics fm(font); - actualSize = fm.boundingRect(text).size(); + QTextLayout textLayout; + textLayout.setText(text); + textLayout.setFont(font); + + qreal leading = QFontMetricsF(font).leading(); + qreal height = -leading; + + textLayout.beginLayout(); + while (1) { + QTextLine line = textLayout.createLine(); + if (!line.isValid()) + break; + + if (textWidth >= 0.0) + line.setLineWidth(textWidth); + height += leading; + line.setPosition(QPointF(0.0, height)); + height += line.height(); } + textLayout.endLayout(); + + actualSize = textLayout.boundingRect().size(); + textLayout.draw(p, topLeftPosition); } else { QTextDocument document; document.setDefaultFont(font); document.setDocumentMargin(0.0); + if (textWidth >= 0.0) + document.setTextWidth(textWidth); document.setHtml(text); - QPointF adjustedPos = pos - QPointF(0, QFontMetricsF(font).ascent()); - QRectF rect = maximumSize.isValid() ? QRectF(adjustedPos, maximumSize) : QRectF(); document.adjustSize(); p->save(); - p->translate(adjustedPos); - document.drawContents(p, rect); + p->translate(topLeftPosition); + document.drawContents(p); p->restore(); + actualSize = document.size(); - needsClipRect = maximumSize.isValid() - && (actualSize.width() > maximumSize.width() - || actualSize.height() > maximumSize.height()); } } diff --git a/src/gui/text/qstatictext.h b/src/gui/text/qstatictext.h index 00d42e0..c37194c 100644 --- a/src/gui/text/qstatictext.h +++ b/src/gui/text/qstatictext.h @@ -66,7 +66,7 @@ public: }; QStaticText(); - QStaticText(const QString &text, const QSizeF &maximumSize = QSizeF()); + QStaticText(const QString &text); QStaticText(const QStaticText &other); ~QStaticText(); @@ -76,8 +76,8 @@ public: void setTextFormat(Qt::TextFormat textFormat); Qt::TextFormat textFormat() const; - void setMaximumSize(const QSizeF &maximumSize); - QSizeF maximumSize() const; + void setTextWidth(qreal textWidth); + qreal textWidth() const; QSizeF size() const; diff --git a/src/gui/text/qstatictext_p.h b/src/gui/text/qstatictext_p.h index e758244..3bbc61f 100644 --- a/src/gui/text/qstatictext_p.h +++ b/src/gui/text/qstatictext_p.h @@ -122,7 +122,7 @@ public: QString text; // 4 bytes per text QFont font; // 8 bytes per text - QSizeF maximumSize; // 16 bytes per text + qreal textWidth; // 8 bytes per text QSizeF actualSize; // 16 bytes per text QPointF position; // 16 bytes per text @@ -132,11 +132,10 @@ public: glyph_t *glyphPool; // 4 bytes per text QFixedPoint *positionPool; // 4 bytes per text - unsigned char needsClipRect : 1; // 1 byte per text - unsigned char useBackendOptimizations : 1; + unsigned char useBackendOptimizations : 1; // 1 byte per text unsigned char textFormat : 2; // ================ - // 171 bytes per text + // 163 bytes per text static QStaticTextPrivate *get(const QStaticText *q); }; diff --git a/tests/auto/qstatictext/tst_qstatictext.cpp b/tests/auto/qstatictext/tst_qstatictext.cpp index b59c10b..4e2d906 100644 --- a/tests/auto/qstatictext/tst_qstatictext.cpp +++ b/tests/auto/qstatictext/tst_qstatictext.cpp @@ -50,7 +50,7 @@ #include #include -// #define DEBUG_SAVE_IMAGE +#define DEBUG_SAVE_IMAGE class tst_QStaticText: public QObject { @@ -69,7 +69,7 @@ private slots: void drawToRect_data(); void drawToRect(); void setFont(); - void setMaximumSize(); + void setTextWidth(); void prepareToCorrectData(); void prepareToWrongData(); @@ -127,7 +127,7 @@ void tst_QStaticText::drawToPoint() QStaticText text("Lorem ipsum dolor sit amet, consectetur adipiscing elit."); text.setTextFormat(Qt::PlainText); text.setPerformanceHint(performanceHint); - p.drawStaticText(QPointF(11, 12), text); + p.drawStaticText(QPointF(11, 12 - QFontMetricsF(p.font()).ascent()), text); } QCOMPARE(imageDrawStaticText, imageDrawText); @@ -156,12 +156,19 @@ void tst_QStaticText::drawToRect() imageDrawStaticText.fill(Qt::white); { QPainter p(&imageDrawStaticText); - QStaticText text("Lorem ipsum dolor sit amet, consectetur adipiscing elit.", QSizeF(10, 500)); + QStaticText text("Lorem ipsum dolor sit amet, consectetur adipiscing elit."); + text.setTextWidth(10), + p.setClipRect(QRectF(11, 12, 10, 500)); text.setPerformanceHint(performanceHint); text.setTextFormat(Qt::PlainText); p.drawStaticText(QPointF(11, 12), text); } +#if defined(DEBUG_SAVE_IMAGE) + imageDrawText.save("drawToRect_imageDrawText.png"); + imageDrawStaticText.save("drawToRect_imageDrawStaticText.png"); +#endif + QCOMPARE(imageDrawStaticText, imageDrawText); } @@ -187,7 +194,7 @@ void tst_QStaticText::prepareToCorrectData() QStaticText text("Lorem ipsum dolor sit amet, consectetur adipiscing elit."); text.prepare(transform, p.font()); text.setTextFormat(Qt::PlainText); - p.drawStaticText(QPointF(11, 12), text); + p.drawStaticText(QPointF(11, 12 - QFontMetricsF(p.font()).ascent()), text); } if (!supportsTransformations()) @@ -215,7 +222,7 @@ void tst_QStaticText::prepareToWrongData() QStaticText text("Lorem ipsum dolor sit amet, consectetur adipiscing elit."); text.prepare(transform, p.font()); text.setTextFormat(Qt::PlainText); - p.drawStaticText(QPointF(11, 12), text); + p.drawStaticText(QPointF(11, 12 - QFontMetricsF(p.font()).ascent()), text); } QCOMPARE(imageDrawStaticText, imageDrawText); @@ -232,10 +239,10 @@ void tst_QStaticText::setFont() imageDrawText.fill(Qt::white); { QPainter p(&imageDrawText); - p.drawText(0, 0, "Lorem ipsum dolor sit amet, consectetur adipiscing elit."); + p.drawText(0, 0 + QFontMetrics(p.font()).ascent(), "Lorem ipsum dolor sit amet, consectetur adipiscing elit."); p.setFont(font); - p.drawText(11, 120, "Lorem ipsum dolor sit amet, consectetur adipiscing elit."); + p.drawText(11, 120 + QFontMetrics(p.font()).ascent(), "Lorem ipsum dolor sit amet, consectetur adipiscing elit."); } QPixmap imageDrawStaticText(1000, 1000); @@ -253,10 +260,15 @@ void tst_QStaticText::setFont() p.drawStaticText(11, 120, text); } +#if defined(DEBUG_SAVE_IMAGE) + imageDrawText.save("setFont_imageDrawText.png"); + imageDrawStaticText.save("setFont_imageDrawStaticText.png"); +#endif + QCOMPARE(imageDrawStaticText, imageDrawText); } -void tst_QStaticText::setMaximumSize() +void tst_QStaticText::setTextWidth() { QPixmap imageDrawText(1000, 1000); imageDrawText.fill(Qt::white); @@ -270,7 +282,8 @@ void tst_QStaticText::setMaximumSize() { QPainter p(&imageDrawStaticText); QStaticText text("Lorem ipsum dolor sit amet, consectetur adipiscing elit."); - text.setMaximumSize(QSizeF(10, 500)); + text.setTextWidth(10); + p.setClipRect(QRectF(11, 12, 10, 500)); p.drawStaticText(QPointF(11, 12), text); } @@ -297,7 +310,7 @@ void tst_QStaticText::translatedPainter() QStaticText text("Lorem ipsum dolor sit amet, consectetur adipiscing elit."); text.setTextFormat(Qt::PlainText); - p.drawStaticText(QPointF(11, 12), text); + p.drawStaticText(QPointF(11, 12 - QFontMetricsF(p.font()).ascent()), text); } QCOMPARE(imageDrawStaticText, imageDrawText); @@ -329,7 +342,7 @@ void tst_QStaticText::rotatedPainter() { QPainter p(&imageDrawText); p.rotate(30.0); - p.drawText(0, 0, "Lorem ipsum dolor sit amet, consectetur adipiscing elit."); + p.drawText(0, 0 + QFontMetricsF(p.font()).ascent(), "Lorem ipsum dolor sit amet, consectetur adipiscing elit."); } QPixmap imageDrawStaticText(1000, 1000); @@ -373,7 +386,7 @@ void tst_QStaticText::scaledPainter() QStaticText text("Lorem ipsum dolor sit amet, consectetur adipiscing elit."); text.setTextFormat(Qt::PlainText); - p.drawStaticText(QPointF(11, 12), text); + p.drawStaticText(QPointF(11, 12 - QFontMetricsF(p.font()).ascent()), text); } if (!supportsTransformations()) @@ -404,7 +417,7 @@ void tst_QStaticText::projectedPainter() QStaticText text("Lorem ipsum dolor sit amet, consectetur adipiscing elit."); text.setTextFormat(Qt::PlainText); - p.drawStaticText(QPointF(11, 12), text); + p.drawStaticText(QPointF(11, 12 - QFontMetricsF(p.font()).ascent()), text); } QCOMPARE(imageDrawStaticText, imageDrawText); @@ -434,7 +447,7 @@ void tst_QStaticText::rotatedScaledAndTranslatedPainter() QStaticText text("Lorem ipsum dolor sit amet, consectetur adipiscing elit."); text.setTextFormat(Qt::PlainText); - p.drawStaticText(QPointF(11, 12), text); + p.drawStaticText(QPointF(11, 12 - QFontMetricsF(p.font()).ascent()), text); } #if defined(DEBUG_SAVE_IMAGE) @@ -456,10 +469,10 @@ void tst_QStaticText::transformationChanged() p.rotate(33.0); p.scale(0.5, 0.7); - p.drawText(0, 0, "Lorem ipsum dolor sit amet, consectetur adipiscing elit."); + p.drawText(0, 0 + QFontMetricsF(p.font()).ascent(), "Lorem ipsum dolor sit amet, consectetur adipiscing elit."); p.scale(7.0, 5.0); - p.drawText(0, 0, "Lorem ipsum dolor sit amet, consectetur adipiscing elit."); + p.drawText(0, 0 + QFontMetricsF(p.font()).ascent(), "Lorem ipsum dolor sit amet, consectetur adipiscing elit."); } QPixmap imageDrawStaticText(1000, 1000); @@ -566,7 +579,7 @@ void tst_QStaticText::setPenRichText() QStaticText staticText; staticText.setText("XXXXX"); staticText.setTextFormat(Qt::RichText); - p.drawStaticText(0, fm.ascent(), staticText); + p.drawStaticText(0, 0, staticText); } QImage img = image.toImage(); @@ -595,7 +608,7 @@ void tst_QStaticText::richTextOverridesPen() QStaticText staticText; staticText.setText("XXXXX"); staticText.setTextFormat(Qt::RichText); - p.drawStaticText(0, fm.ascent(), staticText); + p.drawStaticText(0, 0, staticText); } QImage img = image.toImage(); -- cgit v0.12 From 732fbde53bd39d9b99e65e4aad7b028df246fce2 Mon Sep 17 00:00:00 2001 From: Eskil Abrahamsen Blomfeldt Date: Fri, 26 Mar 2010 14:00:46 +0100 Subject: Make QStaticText layout lazy To avoid the unnecessary overhead of doing the text layout every time a part of the QStaticText object is changed, we mark it as invalid instead and do the layout when we have to. This means an overhead on the first paint event for most users. The overhead can be avoided by using the QStaticText::prepare() function and will probably not be noticable anyway, since it's a one-time thing. Task-number: QTBUG-9030 Reviewed-by: Gunnar --- src/gui/painting/qpainter.cpp | 2 +- src/gui/text/qstatictext.cpp | 64 +++++++++++++++++------------- src/gui/text/qstatictext.h | 2 +- src/gui/text/qstatictext_p.h | 6 +++ tests/auto/qstatictext/tst_qstatictext.cpp | 2 +- 5 files changed, 46 insertions(+), 30 deletions(-) diff --git a/src/gui/painting/qpainter.cpp b/src/gui/painting/qpainter.cpp index 7856881..93f2265 100644 --- a/src/gui/painting/qpainter.cpp +++ b/src/gui/painting/qpainter.cpp @@ -5864,7 +5864,7 @@ void QPainter::drawStaticText(const QPointF &topLeftPosition, const QStaticText // If the transform is not identical to the text transform, // we have to relayout the text (for other transformations than plain translation) - bool staticTextNeedsReinit = false; + bool staticTextNeedsReinit = staticText_d->needsRelayout; if (staticText_d->matrix != d->state->matrix) { staticText_d->matrix = d->state->matrix; staticTextNeedsReinit = true; diff --git a/src/gui/text/qstatictext.cpp b/src/gui/text/qstatictext.cpp index 977355e..45252d8 100644 --- a/src/gui/text/qstatictext.cpp +++ b/src/gui/text/qstatictext.cpp @@ -99,20 +99,27 @@ QT_BEGIN_NAMESPACE point with no boundaries, and also when QPainter::drawText() is called with a bounding rectangle. - If a bounding rectangle is not required, create a QStaticText object without setting a maximum - size. The text will then occupy a single line. + If a bounding rectangle is not required, create a QStaticText object without setting a preferred + text width. The text will then occupy a single line. - If you set a maximum size on the QStaticText object, this will bound the text. The text will - be formatted so that no line exceeds the given width. When the object is painted, it will - be clipped at the given size. The position of the text is decided by the argument - passed to QPainter::drawStaticText() and can change from call to call with a minimal impact - on performance. + If you set a text width on the QStaticText object, this will bound the text. The text will + be formatted so that no line exceeds the given width. The text width set for QStaticText will + not automatically be used for clipping. To achieve clipping in addition to line breaks, use + QPainter::setClipRect(). The position of the text is decided by the argument passed to + QPainter::drawStaticText() and can change from call to call with a minimal impact on + performance. QStaticText will attempt to guess the format of the input text using Qt::mightBeRichText(). To force QStaticText to display its contents as either plain text or rich text, use the function QStaticText::setTextFormat() and pass in, respectively, Qt::PlainText and Qt::RichText. + If it's the first time the static text is drawn, or if the static text, or the painter's font + or matrix have been altered since the last time it was drawn, the text's layout has to be + recalculated. This will impose an overhead on the QPainter::drawStaticText() call where the + relayout occurs. To avoid this overhead in the paint event, you can call prepare() ahead of + time to ensure that the layout is calculated. + \sa QPainter::drawText(), QPainter::drawStaticText(), QTextLayout, QTextDocument */ @@ -147,7 +154,7 @@ QStaticText::QStaticText(const QString &text) : data(new QStaticTextPrivate) { data->text = text; - data->init(); + data->invalidate(); } /*! @@ -176,17 +183,17 @@ void QStaticText::detach() } /*! - Prepares the QStaticText object for being painted with the given \a matrix and the given - \a font to avoid overhead when the actual drawStaticText() call is made. + Prepares the QStaticText object for being painted with the given \a matrix and the given \a font + to avoid overhead when the actual drawStaticText() call is made. - When drawStaticText() is called, the layout of the QStaticText will be recalculated if the - painter's font or matrix is different from the one used for the currently cached layout. By - default, QStaticText will use a default constructed QFont and an identity matrix to create - its layout. + When drawStaticText() is called, the layout of the QStaticText will be recalculated if any part + of the QStaticText object has changed since the last time it was drawn. It will also be + recalculated if the painter's font or matrix are not the same as when the QStaticText was last + drawn. - To avoid the overhead of creating the layout the first time you draw the QStaticText with - a painter whose matrix or font are different from the defaults, you can use the prepare() - function and pass in the matrix and font you expect to use when drawing the text. + To avoid the overhead of creating the layout the first time you draw the QStaticText after + making changes, you can use the prepare() function and pass in the \a matrix and \a font you + expect to use when drawing the text. \sa QPainter::setFont(), QPainter::setMatrix() */ @@ -231,7 +238,7 @@ bool QStaticText::operator!=(const QStaticText &other) const /*! Sets the text of the QStaticText to \a text. - \note This function will cause the layout of the text to be recalculated. + \note This function will cause the layout of the text to require recalculation. \sa text() */ @@ -239,7 +246,7 @@ void QStaticText::setText(const QString &text) { detach(); data->text = text; - data->init(); + data->invalidate(); } /*! @@ -249,7 +256,7 @@ void QStaticText::setText(const QString &text) displayed as is, whereas it will be interpreted as HTML if the format is Qt::RichText. HTML tags that alter the font of the text, its color, or its layout are supported by QStaticText. - \note This function will cause the layout of the text to be recalculated. + \note This function will cause the layout of the text to require recalculation. \sa textFormat(), setText(), text() */ @@ -257,7 +264,7 @@ void QStaticText::setTextFormat(Qt::TextFormat textFormat) { detach(); data->textFormat = textFormat; - data->init(); + data->invalidate(); } /*! @@ -288,7 +295,7 @@ QString QStaticText::text() const The default is QStaticText::ModerateCaching. - \note This function will cause the layout of the text to be recalculated. + \note This function will cause the layout of the text to require recalculation. \sa performanceHint() */ @@ -300,7 +307,7 @@ void QStaticText::setPerformanceHint(PerformanceHint performanceHint) } detach(); data->useBackendOptimizations = (performanceHint == AggressiveCaching); - data->init(); + data->invalidate(); } /*! @@ -322,7 +329,7 @@ QStaticText::PerformanceHint QStaticText::performanceHint() const Use size() to get the actual size of the text. - \note This function will cause the layout of the text to be recalculated. + \note This function will cause the layout of the text to require recalculation. \sa textWidth(), size() */ @@ -330,7 +337,7 @@ void QStaticText::setTextWidth(qreal textWidth) { detach(); data->textWidth = textWidth; - data->init(); + data->invalidate(); } /*! @@ -350,18 +357,20 @@ qreal QStaticText::textWidth() const */ QSizeF QStaticText::size() const { + if (data->needsRelayout) + data->init(); return data->actualSize; } QStaticTextPrivate::QStaticTextPrivate() : items(0), itemCount(0), glyphPool(0), positionPool(0), textWidth(-1.0), - useBackendOptimizations(false), textFormat(Qt::AutoText) + needsRelayout(true), useBackendOptimizations(false), textFormat(Qt::AutoText) { } QStaticTextPrivate::QStaticTextPrivate(const QStaticTextPrivate &other) : text(other.text), font(other.font), textWidth(other.textWidth), matrix(other.matrix), - items(0), itemCount(0), glyphPool(0), positionPool(0), + items(0), itemCount(0), glyphPool(0), positionPool(0), needsRelayout(true), useBackendOptimizations(other.useBackendOptimizations), textFormat(other.textFormat) { } @@ -634,6 +643,7 @@ void QStaticTextPrivate::init() paintText(QPointF(0, 0), &painter); } + needsRelayout = false; } QT_END_NAMESPACE diff --git a/src/gui/text/qstatictext.h b/src/gui/text/qstatictext.h index c37194c..f3bef93 100644 --- a/src/gui/text/qstatictext.h +++ b/src/gui/text/qstatictext.h @@ -81,7 +81,7 @@ public: QSizeF size() const; - void prepare(const QTransform &matrix, const QFont &font); + void prepare(const QTransform &matrix = QTransform(), const QFont &font = QFont()); void setPerformanceHint(PerformanceHint performanceHint); PerformanceHint performanceHint() const; diff --git a/src/gui/text/qstatictext_p.h b/src/gui/text/qstatictext_p.h index 3bbc61f..f017ed1 100644 --- a/src/gui/text/qstatictext_p.h +++ b/src/gui/text/qstatictext_p.h @@ -118,6 +118,11 @@ public: void init(); void paintText(const QPointF &pos, QPainter *p); + void invalidate() + { + needsRelayout = true; + } + QAtomicInt ref; // 4 bytes per text QString text; // 4 bytes per text @@ -132,6 +137,7 @@ public: glyph_t *glyphPool; // 4 bytes per text QFixedPoint *positionPool; // 4 bytes per text + unsigned char needsRelayout : 1; unsigned char useBackendOptimizations : 1; // 1 byte per text unsigned char textFormat : 2; // ================ diff --git a/tests/auto/qstatictext/tst_qstatictext.cpp b/tests/auto/qstatictext/tst_qstatictext.cpp index 4e2d906..e7a22b3 100644 --- a/tests/auto/qstatictext/tst_qstatictext.cpp +++ b/tests/auto/qstatictext/tst_qstatictext.cpp @@ -50,7 +50,7 @@ #include #include -#define DEBUG_SAVE_IMAGE +// #define DEBUG_SAVE_IMAGE class tst_QStaticText: public QObject { -- cgit v0.12 From 3bdff93c991bfabcaa729a89a2b171c562633ced Mon Sep 17 00:00:00 2001 From: Eskil Abrahamsen Blomfeldt Date: Fri, 26 Mar 2010 16:56:44 +0100 Subject: Implement proper QStaticText support in QPaintBuffer Use qt_draw_glyphs() to implement a QPaintBuffer::drawStaticText() which will actually replay via drawStaticTextItem() on engines that support it. Task-number: QTBUG-9064 Reviewed-by: Gunnar --- src/gui/painting/qpaintbuffer.cpp | 33 +++++++++++++++++++-------------- src/gui/painting/qpainter.cpp | 10 ++++++++++ 2 files changed, 29 insertions(+), 14 deletions(-) diff --git a/src/gui/painting/qpaintbuffer.cpp b/src/gui/painting/qpaintbuffer.cpp index ca2077f..e1156dc 100644 --- a/src/gui/painting/qpaintbuffer.cpp +++ b/src/gui/painting/qpaintbuffer.cpp @@ -557,11 +557,7 @@ QString QPaintBuffer::commandDescription(int command) const debug << "Cmd_Translate:" << delta; break; } case QPaintBufferPrivate::Cmd_DrawStaticText: { - QPointF delta(d_ptr->floats.at(cmd.extra), d_ptr->floats.at(cmd.extra+1)); - QVariantList variants(d_ptr->variants.at(cmd.offset).value()); - - QStaticText text(variants.at(0).value()); - debug << "Cmd_DrawStaticText:" << text.text(); + debug << "Cmd_DrawStaticText"; break; } } @@ -1272,13 +1268,14 @@ void QPaintBufferEngine::drawTiledPixmap(const QRectF &r, const QPixmap &pm, con void QPaintBufferEngine::drawStaticTextItem(QStaticTextItem *staticTextItem) { - QString text = QString(staticTextItem->chars, staticTextItem->numChars); + QVariantList variants; - QStaticText staticText(text); - staticText.prepare(state()->matrix, staticTextItem->font); + variants << QVariant(staticTextItem->font); + for (int i=0; inumGlyphs; ++i) { + variants.append(staticTextItem->glyphs[i]); + variants.append(staticTextItem->glyphPositions[i].toPointF()); + } - QVariantList variants; - variants << QVariant(staticTextItem->font) << QVariant::fromValue(staticText); buffer->addCommand(QPaintBufferPrivate::Cmd_DrawStaticText, QVariant(variants)); } @@ -1761,11 +1758,19 @@ void QPainterReplayer::process(const QPaintBufferCommand &cmd) QVariantList variants(d->variants.at(cmd.offset).value()); - QFont font(variants.at(0).value()); - QStaticText text(variants.at(0).value()); - + QFont font = variants.at(0).value(); + + QVector glyphs; + QVector positions; + + for (int i=0; i<(variants.size() - 1) / 2; ++i) { + glyphs.append(variants.at(i*2 + 1).toUInt()); + positions.append(variants.at(i*2 + 2).toPointF()); + } + painter->setFont(font); - painter->drawStaticText(QPointF(0, 0), text); + + qt_draw_glyphs(painter, glyphs.constData(), positions.constData(), glyphs.size()); break; } diff --git a/src/gui/painting/qpainter.cpp b/src/gui/painting/qpainter.cpp index 93f2265..7b5fcc2 100644 --- a/src/gui/painting/qpainter.cpp +++ b/src/gui/painting/qpainter.cpp @@ -5720,6 +5720,16 @@ void QPainterPrivate::drawGlyphs(const quint32 *glyphArray, const QPointF *posit QFontEngine *fontEngine = state->font.d->engineForScript(QUnicodeTables::Common); + while (fontEngine->type() == QFontEngine::Multi) { + // Pick engine based on first glyph in array if we are using a multi engine. + // (all glyphs must be for same font) + int engineIdx = 0; + if (glyphCount > 0) + engineIdx = glyphArray[0] >> 24; + + fontEngine = static_cast(fontEngine)->engine(engineIdx); + } + QVarLengthArray positions; for (int i=0; i Date: Mon, 29 Mar 2010 17:51:46 +0200 Subject: Don't detect EGLImage presence by testing function pointers Might fix the Symbian build failures... who knows with Symbian. Reviewed-By: TrustMe --- src/openvg/qpixmapdata_vg.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/openvg/qpixmapdata_vg.cpp b/src/openvg/qpixmapdata_vg.cpp index 7550446..32fabb5 100644 --- a/src/openvg/qpixmapdata_vg.cpp +++ b/src/openvg/qpixmapdata_vg.cpp @@ -487,7 +487,7 @@ void QVGPixmapData::fromNativeType(void* pixmap, NativeType type) pfnVgCreateEGLImageTargetKHR vgCreateEGLImageTargetKHR = (pfnVgCreateEGLImageTargetKHR) eglGetProcAddress("vgCreateEGLImageTargetKHR"); - if (eglGetError() != EGL_SUCCESS || !eglCreateImageKHR || !eglDestroyImageKHR || !vgCreateEGLImageTargetKHR) { + if (eglGetError() != EGL_SUCCESS || !(QEgl::hasExtension("EGL_KHR_image") || QEgl::hasExtension("EGL_KHR_image_pixmap")) || !vgCreateEGLImageTargetKHR) { cleanup(); driver.Close(); return; @@ -606,7 +606,7 @@ void* QVGPixmapData::toNativeType(NativeType type) pfnVgCreateEGLImageTargetKHR vgCreateEGLImageTargetKHR = (pfnVgCreateEGLImageTargetKHR) eglGetProcAddress("vgCreateEGLImageTargetKHR"); - if (eglGetError() != EGL_SUCCESS || !eglCreateImageKHR || !eglDestroyImageKHR || !vgCreateEGLImageTargetKHR) { + if (eglGetError() != EGL_SUCCESS || !(QEgl::hasExtension("EGL_KHR_image") || QEgl::hasExtension("EGL_KHR_image_pixmap")) || !vgCreateEGLImageTargetKHR) { driver.Close(); return 0; } -- cgit v0.12 From 2be0e2ef4ec6702aaaebf7096fd527e2e161334a Mon Sep 17 00:00:00 2001 From: Tom Cooksey Date: Mon, 29 Mar 2010 18:12:15 +0200 Subject: Add some #warnings to debug Symbian EGL build failure This should probably be reverted before we release. Reviewed-By: TrustMe --- src/gui/egl/qegl_p.h | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/src/gui/egl/qegl_p.h b/src/gui/egl/qegl_p.h index c659796..53abe4a 100644 --- a/src/gui/egl/qegl_p.h +++ b/src/gui/egl/qegl_p.h @@ -110,6 +110,30 @@ QT_BEGIN_NAMESPACE #define EGLAPIENTRY #endif +// Try to get some info to debug the symbian build failues: +#ifdef Q_OS_SYMBIAN + +#ifdef EGL_KHR_image +#warning "EGL_KHR_image is defined" +#else +#warning "EGL_KHR_image is NOT defined" +#endif + +#ifdef EGL_KHR_image_base +#warning "EGL_KHR_image_base is defined" +#else +#warning "EGL_KHR_image_base is NOT defined" +#endif + +#ifdef EGL_EGLEXT_PROTOTYPES +#warning "EGL_EGLEXT_PROTOTYPES is defined" +#else +#warning "EGL_EGLEXT_PROTOTYPES NOT not defined" +#endif + +#endif + + #if !defined(EGL_KHR_image) && !defined(EGL_KHR_image_base) typedef void *EGLImageKHR; -- cgit v0.12 From 9e3304246acf5b58a2ce86eed082784da818a8f0 Mon Sep 17 00:00:00 2001 From: Tom Cooksey Date: Mon, 29 Mar 2010 18:49:31 +0200 Subject: Work-around Symbian 10.1's broken egl.h In Symbian 10.1, egl.h itself includes eglext.h. This leads to EGL_KHR_image & EGL_KHR_image_base being defined, but not the actual function prototypes for eglCreateImageKHR/eglDestroyImageKHR. But, because the extension defines were set, Qt assumed (wrongly) that the EGL library would define eglCreateImageKHR. This left these functions undefined. The work-around is to check the define EGL_EGLEXT_PROTOTYPES and still define the function pointers if it isn't set. Reviewed-By: TrustMe --- src/gui/egl/qegl.cpp | 2 +- src/gui/egl/qegl_p.h | 11 ++++++++--- 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/src/gui/egl/qegl.cpp b/src/gui/egl/qegl.cpp index f36904d..498245c 100644 --- a/src/gui/egl/qegl.cpp +++ b/src/gui/egl/qegl.cpp @@ -528,7 +528,7 @@ QEglProperties QEglContext::configProperties() const return QEglProperties(config()); } -#if !defined(EGL_KHR_image) && !defined(EGL_KHR_image_base) +#if (defined(EGL_KHR_image) || defined(EGL_KHR_image_base)) && !defined(EGL_EGLEXT_PROTOTYPES) _eglCreateImageKHR eglCreateImageKHR = 0; _eglDestroyImageKHR eglDestroyImageKHR = 0; #endif diff --git a/src/gui/egl/qegl_p.h b/src/gui/egl/qegl_p.h index 53abe4a..540cd3d 100644 --- a/src/gui/egl/qegl_p.h +++ b/src/gui/egl/qegl_p.h @@ -134,20 +134,25 @@ QT_BEGIN_NAMESPACE #endif +// Declare/define the bits of EGL_KHR_image_base we need: #if !defined(EGL_KHR_image) && !defined(EGL_KHR_image_base) - typedef void *EGLImageKHR; #define EGL_NO_IMAGE_KHR ((EGLImageKHR)0) #define EGL_IMAGE_PRESERVED_KHR 0x30D2 +#endif +// It is possible that something has included eglext.h (like Symbian 10.1's broken egl.h), in +// which case, EGL_KHR_image/EGL_KHR_image_base will be defined. They may have also defined +// the actual function prototypes, but generally EGL_EGLEXT_PROTOTYPES will be defined in that +// case and we shouldn't re-define them here. +#if (defined(EGL_KHR_image) || defined(EGL_KHR_image_base)) && !defined(EGL_EGLEXT_PROTOTYPES) typedef EGLImageKHR (EGLAPIENTRY *_eglCreateImageKHR)(EGLDisplay, EGLContext, EGLenum, EGLClientBuffer, EGLint*); typedef EGLBoolean (EGLAPIENTRY *_eglDestroyImageKHR)(EGLDisplay, EGLImageKHR); // Defined in qegl.cpp: extern Q_GUI_EXPORT _eglCreateImageKHR eglCreateImageKHR; extern Q_GUI_EXPORT _eglDestroyImageKHR eglDestroyImageKHR; - -#endif // !defined(EGL_KHR_image) && !defined(EGL_KHR_image_base) +#endif // (defined(EGL_KHR_image) || defined(EGL_KHR_image_base)) && !defined(EGL_EGLEXT_PROTOTYPES) #if !defined(EGL_KHR_image) && !defined(EGL_KHR_image_pixmap) #define EGL_NATIVE_PIXMAP_KHR 0x30B0 -- cgit v0.12 From f68b3b765cc4ed15766ff9334e12757f87bf3763 Mon Sep 17 00:00:00 2001 From: Alessandro Portale Date: Mon, 29 Mar 2010 19:01:26 +0200 Subject: Adding QFontDatabase::removeAllApplicationFonts() It was missing and not covered by the standard autotests, so its missing was not detected for quite some time. Task-number: QTBUG-8423 Reviewed-By: Shane Kearns --- src/gui/text/qfontdatabase_s60.cpp | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/gui/text/qfontdatabase_s60.cpp b/src/gui/text/qfontdatabase_s60.cpp index 621f666..ef5e0c4 100644 --- a/src/gui/text/qfontdatabase_s60.cpp +++ b/src/gui/text/qfontdatabase_s60.cpp @@ -332,6 +332,11 @@ bool QFontDatabase::removeApplicationFont(int handle) return false; } +bool QFontDatabase::removeAllApplicationFonts() +{ + return false; +} + bool QFontDatabase::supportsThreadedFontRendering() { return false; -- cgit v0.12 From 9181ba917aa4f842e5c3e8febebe363f4dc11c6f Mon Sep 17 00:00:00 2001 From: Alessandro Portale Date: Mon, 29 Mar 2010 19:01:48 +0200 Subject: Exporting QFontDatabase::removeAllApplicationFonts() It was missing and not covered by the standard autotests, so its missing was not detected for quite some time. Task-number: QTBUG-8423 Reviewed-By: Shane Kearns --- src/s60installs/bwins/QtGuiu.def | 3 ++- src/s60installs/eabi/QtGuiu.def | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/src/s60installs/bwins/QtGuiu.def b/src/s60installs/bwins/QtGuiu.def index 2feaffd..34d3e4a 100644 --- a/src/s60installs/bwins/QtGuiu.def +++ b/src/s60installs/bwins/QtGuiu.def @@ -12601,7 +12601,7 @@ EXPORTS ?setPixelFormat@QEglProperties@@QAEXW4Format@QImage@@@Z @ 12600 NONAME ABSENT ; void QEglProperties::setPixelFormat(enum QImage::Format) ?currentContext@QEglContext@@CAPAV1@W4API@QEgl@@@Z @ 12601 NONAME ABSENT ; class QEglContext * QEglContext::currentContext(enum QEgl::API) ?errorString@QEglContext@@SA?AVQString@@H@Z @ 12602 NONAME ABSENT ; class QString QEglContext::errorString(int) - ??0FileInfo@QZipReader@@QAE@ABU01@@Z @ 12603 NONAME ; QZipReader::FileInfo::FileInfo(struct QZipReader::FileInfo const &) + ?removeAllApplicationFonts@QFontDatabase@@SA_NXZ @12603 ; NONAME ; bool QFontDatabase::removeAllApplicationFonts() ??0FileInfo@QZipReader@@QAE@XZ @ 12604 NONAME ; QZipReader::FileInfo::FileInfo(void) ??0QAbstractScrollAreaPrivate@@QAE@XZ @ 12605 NONAME ; QAbstractScrollAreaPrivate::QAbstractScrollAreaPrivate(void) ??0QGraphicsViewPrivate@@QAE@XZ @ 12606 NONAME ; QGraphicsViewPrivate::QGraphicsViewPrivate(void) @@ -12722,4 +12722,5 @@ EXPORTS ?verticalScroll@QGraphicsViewPrivate@@QBE_JXZ @ 12721 NONAME ; long long QGraphicsViewPrivate::verticalScroll(void) const ?viewportEvent@QAbstractScrollAreaPrivate@@QAE_NPAVQEvent@@@Z @ 12722 NONAME ; bool QAbstractScrollAreaPrivate::viewportEvent(class QEvent *) ?visibilityChanged@QToolBar@@IAEX_N@Z @ 12723 NONAME ; void QToolBar::visibilityChanged(bool) + ??0FileInfo@QZipReader@@QAE@ABU01@@Z @ 12724 NONAME ; QZipReader::FileInfo::FileInfo(struct QZipReader::FileInfo const &) diff --git a/src/s60installs/eabi/QtGuiu.def b/src/s60installs/eabi/QtGuiu.def index 7c91264..ba8dec0 100644 --- a/src/s60installs/eabi/QtGuiu.def +++ b/src/s60installs/eabi/QtGuiu.def @@ -11805,7 +11805,7 @@ EXPORTS _ZN24QImagePixmapCleanupHooks34executePixmapDataModificationHooksEP11QPixmapData @ 11804 NONAME _ZN9QS60Style10timerEventEP11QTimerEvent @ 11805 NONAME _ZN9QS60Style11eventFilterEP7QObjectP6QEvent @ 11806 NONAME - _Z14qt_draw_glyphsP8QPainterPKjPK7QPointFi @ 11807 NONAME + _ZN13QFontDatabase25removeAllApplicationFontsEv @ 11807 NONAME _ZN10QZipReader5closeEv @ 11808 NONAME _ZN10QZipReader8FileInfoC1ERKS0_ @ 11809 NONAME _ZN10QZipReader8FileInfoC1Ev @ 11810 NONAME @@ -11926,4 +11926,5 @@ EXPORTS _ZTI26QAbstractScrollAreaPrivate @ 11925 NONAME _ZTV20QGraphicsViewPrivate @ 11926 NONAME _ZTV26QAbstractScrollAreaPrivate @ 11927 NONAME + _Z14qt_draw_glyphsP8QPainterPKjPK7QPointFi @ 11928 NONAME -- cgit v0.12 From 3e5745ea75d73869918889cb374c3d651bed0991 Mon Sep 17 00:00:00 2001 From: Olivier Goffart Date: Mon, 29 Mar 2010 17:36:02 +0200 Subject: QScriptEngine: Fix reentrency involving creation and desctructions of QScriptEngines the currentIdentifierTable table, which is a static thread local variable, could be corrupted. The main change is to fix the QScriptEngine constructor not to alter the currentIdentifierTable This showed a lot of cases where APIShim guards where missings. The problem was seen with creator, related to QTBUG-9426 Reviewed-by: Jedrzej Nowacki --- src/script/api/qscriptengine.cpp | 15 +++-- src/script/api/qscriptvalue.cpp | 78 +++++++++++++++++++------- src/script/api/qscriptvalueiterator.cpp | 11 ++++ tests/auto/qscriptengine/tst_qscriptengine.cpp | 21 +++++++ 4 files changed, 101 insertions(+), 24 deletions(-) diff --git a/src/script/api/qscriptengine.cpp b/src/script/api/qscriptengine.cpp index b322523..70f798e 100644 --- a/src/script/api/qscriptengine.cpp +++ b/src/script/api/qscriptengine.cpp @@ -875,7 +875,7 @@ QScriptEnginePrivate::QScriptEnginePrivate() return; } JSC::initializeThreading(); - + JSC::IdentifierTable *oldTable = JSC::currentIdentifierTable(); globalData = JSC::JSGlobalData::create().releaseRef(); globalData->clientData = new QScript::GlobalClientData(this); JSC::JSGlobalObject *globalObject = new (globalData)QScript::GlobalObject(); @@ -911,11 +911,12 @@ QScriptEnginePrivate::QScriptEnginePrivate() activeAgent = 0; agentLineNumber = -1; processEventsInterval = -1; + JSC::setCurrentIdentifierTable(oldTable); } QScriptEnginePrivate::~QScriptEnginePrivate() { - JSC::setCurrentIdentifierTable(globalData->identifierTable); + QScript::APIShim shim(this); //disconnect all loadedScripts and generate all jsc::debugger::scriptUnload events QHash::const_iterator it; @@ -3277,6 +3278,7 @@ bool QScriptEnginePrivate::hasDemarshalFunction(int type) const bool QScriptEngine::convert(const QScriptValue &value, int type, void *ptr) { Q_D(QScriptEngine); + QScript::APIShim shim(d); return QScriptEnginePrivate::convertValue(d->currentFrame, d->scriptValueToJSCValue(value), type, ptr); } @@ -3289,8 +3291,12 @@ bool QScriptEngine::convertV2(const QScriptValue &value, int type, void *ptr) if (vp) { switch (vp->type) { case QScriptValuePrivate::JavaScriptCore: { - JSC::ExecState *exec = vp->engine ? vp->engine->currentFrame : 0; - return QScriptEnginePrivate::convertValue(exec, vp->jscValue, type, ptr); + if (vp->engine) { + QScript::APIShim shim(vp->engine); + return QScriptEnginePrivate::convertValue(vp->engine->currentFrame, vp->jscValue, type, ptr); + } else { + return QScriptEnginePrivate::convertValue(0, vp->jscValue, type, ptr); + } } case QScriptValuePrivate::Number: return QScriptEnginePrivate::convertNumber(vp->numberValue, type, ptr); @@ -3341,6 +3347,7 @@ void QScriptEngine::registerCustomType(int type, MarshalFunction mf, void QScriptEngine::installTranslatorFunctions(const QScriptValue &object) { Q_D(QScriptEngine); + QScript::APIShim shim(d); JSC::ExecState* exec = d->currentFrame; JSC::JSValue jscObject = d->scriptValueToJSCValue(object); JSC::JSGlobalObject *glob = d->originalGlobalObject(); diff --git a/src/script/api/qscriptvalue.cpp b/src/script/api/qscriptvalue.cpp index 4cd84a4..3aab268 100644 --- a/src/script/api/qscriptvalue.cpp +++ b/src/script/api/qscriptvalue.cpp @@ -561,6 +561,7 @@ QScriptValue QScriptValue::scope() const Q_D(const QScriptValue); if (!d || !d->isObject()) return QScriptValue(); + QScript::APIShim shim(d->engine); // ### make hidden property JSC::JSValue result = d->property("__qt_scope__", QScriptValue::ResolveLocal); return d->engine->scriptValueFromJSCValue(result); @@ -650,11 +651,12 @@ static Type type(const QScriptValue &v) return Object; } -QScriptValue ToPrimitive(const QScriptValue &object, JSC::PreferredPrimitiveType hint = JSC::NoPreference) +static QScriptValue ToPrimitive(const QScriptValue &object, JSC::PreferredPrimitiveType hint = JSC::NoPreference) { Q_ASSERT(object.isObject()); QScriptValuePrivate *pp = QScriptValuePrivate::get(object); Q_ASSERT(pp->engine != 0); + QScript::APIShim shim(pp->engine); JSC::ExecState *exec = pp->engine->currentFrame; JSC::JSValue savedException; QScriptEnginePrivate::saveException(exec, &savedException); @@ -848,6 +850,7 @@ bool QScriptValue::equals(const QScriptValue &other) const if (!eng_p) eng_p = other.d_ptr->engine; if (eng_p) { + QScript::APIShim shim(eng_p); JSC::ExecState *exec = eng_p->currentFrame; JSC::JSValue savedException; QScriptEnginePrivate::saveException(exec, &savedException); @@ -940,9 +943,12 @@ QString QScriptValue::toString() const return QString(); switch (d->type) { case QScriptValuePrivate::JavaScriptCore: { - JSC::ExecState *exec = d->engine ? d->engine->currentFrame : 0; - return QScriptEnginePrivate::toString(exec, d->jscValue); - } + if (d->engine) { + QScript::APIShim shim(d->engine); + return QScriptEnginePrivate::toString(d->engine->currentFrame, d->jscValue); + } else { + return QScriptEnginePrivate::toString(0, d->jscValue); + } } case QScriptValuePrivate::Number: return QScript::ToString(d->numberValue); case QScriptValuePrivate::String: @@ -970,8 +976,12 @@ qsreal QScriptValue::toNumber() const return 0; switch (d->type) { case QScriptValuePrivate::JavaScriptCore: { - JSC::ExecState *exec = d->engine ? d->engine->currentFrame : 0; - return QScriptEnginePrivate::toNumber(exec, d->jscValue); + if (d->engine) { + QScript::APIShim shim(d->engine); + return QScriptEnginePrivate::toNumber(d->engine->currentFrame, d->jscValue); + } else { + return QScriptEnginePrivate::toNumber(0, d->jscValue); + } } case QScriptValuePrivate::Number: return d->numberValue; @@ -993,8 +1003,12 @@ bool QScriptValue::toBoolean() const return false; switch (d->type) { case QScriptValuePrivate::JavaScriptCore: { - JSC::ExecState *exec = d->engine ? d->engine->currentFrame : 0; - return QScriptEnginePrivate::toBool(exec, d->jscValue); + if (d->engine) { + QScript::APIShim shim(d->engine); + return QScriptEnginePrivate::toBool(d->engine->currentFrame, d->jscValue); + } else { + return QScriptEnginePrivate::toBool(0, d->jscValue); + } } case QScriptValuePrivate::Number: return QScript::ToBool(d->numberValue); @@ -1025,8 +1039,12 @@ bool QScriptValue::toBool() const return false; switch (d->type) { case QScriptValuePrivate::JavaScriptCore: { - JSC::ExecState *exec = d->engine ? d->engine->currentFrame : 0; - return QScriptEnginePrivate::toBool(exec, d->jscValue); + if (d->engine) { + QScript::APIShim shim(d->engine); + return QScriptEnginePrivate::toBool(d->engine->currentFrame, d->jscValue); + } else { + return QScriptEnginePrivate::toBool(0, d->jscValue); + } } case QScriptValuePrivate::Number: return QScript::ToBool(d->numberValue); @@ -1055,8 +1073,12 @@ qint32 QScriptValue::toInt32() const return 0; switch (d->type) { case QScriptValuePrivate::JavaScriptCore: { - JSC::ExecState *exec = d->engine ? d->engine->currentFrame : 0; - return QScriptEnginePrivate::toInt32(exec, d->jscValue); + if (d->engine) { + QScript::APIShim shim(d->engine); + return QScriptEnginePrivate::toInt32(d->engine->currentFrame, d->jscValue); + } else { + return QScriptEnginePrivate::toInt32(0, d->jscValue); + } } case QScriptValuePrivate::Number: return QScript::ToInt32(d->numberValue); @@ -1085,8 +1107,12 @@ quint32 QScriptValue::toUInt32() const return 0; switch (d->type) { case QScriptValuePrivate::JavaScriptCore: { - JSC::ExecState *exec = d->engine ? d->engine->currentFrame : 0; - return QScriptEnginePrivate::toUInt32(exec, d->jscValue); + if (d->engine) { + QScript::APIShim shim(d->engine); + return QScriptEnginePrivate::toUInt32(d->engine->currentFrame, d->jscValue); + } else { + return QScriptEnginePrivate::toUInt32(0, d->jscValue); + } } case QScriptValuePrivate::Number: return QScript::ToUInt32(d->numberValue); @@ -1115,8 +1141,12 @@ quint16 QScriptValue::toUInt16() const return 0; switch (d->type) { case QScriptValuePrivate::JavaScriptCore: { - JSC::ExecState *exec = d->engine ? d->engine->currentFrame : 0; - return QScriptEnginePrivate::toUInt16(exec, d->jscValue); + if (d->engine) { + QScript::APIShim shim(d->engine); + return QScriptEnginePrivate::toUInt16(d->engine->currentFrame, d->jscValue); + } else { + return QScriptEnginePrivate::toUInt16(0, d->jscValue); + } } case QScriptValuePrivate::Number: return QScript::ToUInt16(d->numberValue); @@ -1145,8 +1175,12 @@ qsreal QScriptValue::toInteger() const return 0; switch (d->type) { case QScriptValuePrivate::JavaScriptCore: { - JSC::ExecState *exec = d->engine ? d->engine->currentFrame : 0; - return QScriptEnginePrivate::toInteger(exec, d->jscValue); + if (d->engine) { + QScript::APIShim shim(d->engine); + return QScriptEnginePrivate::toInteger(d->engine->currentFrame, d->jscValue); + } else { + return QScriptEnginePrivate::toInteger(0, d->jscValue); + } } case QScriptValuePrivate::Number: return QScript::ToInteger(d->numberValue); @@ -1185,8 +1219,12 @@ QVariant QScriptValue::toVariant() const return QVariant(); switch (d->type) { case QScriptValuePrivate::JavaScriptCore: { - JSC::ExecState *exec = d->engine ? d->engine->currentFrame : 0; - return QScriptEnginePrivate::toVariant(exec, d->jscValue); + if (d->engine) { + QScript::APIShim shim(d->engine); + return QScriptEnginePrivate::toVariant(d->engine->currentFrame, d->jscValue); + } else { + return QScriptEnginePrivate::toVariant(0, d->jscValue); + } } case QScriptValuePrivate::Number: return QVariant(d->numberValue); diff --git a/src/script/api/qscriptvalueiterator.cpp b/src/script/api/qscriptvalueiterator.cpp index 7fd7093..460dddb 100644 --- a/src/script/api/qscriptvalueiterator.cpp +++ b/src/script/api/qscriptvalueiterator.cpp @@ -85,6 +85,17 @@ public: : initialized(false) {} + ~QScriptValueIteratorPrivate() + { + if (!initialized) + return; + QScriptEnginePrivate *eng_p = engine(); + if (!eng_p) + return; + QScript::APIShim shim(eng_p); + propertyNames.clear(); //destroying the identifiers need to be done under the APIShim guard + } + QScriptValuePrivate *object() const { return QScriptValuePrivate::get(objectValue); diff --git a/tests/auto/qscriptengine/tst_qscriptengine.cpp b/tests/auto/qscriptengine/tst_qscriptengine.cpp index 0615b63..3c6c7b2 100644 --- a/tests/auto/qscriptengine/tst_qscriptengine.cpp +++ b/tests/auto/qscriptengine/tst_qscriptengine.cpp @@ -161,6 +161,7 @@ private slots: void qRegExpInport_data(); void qRegExpInport(); + void reentrency(); }; tst_QScriptEngine::tst_QScriptEngine() @@ -4577,5 +4578,25 @@ void tst_QScriptEngine::qRegExpInport() } } +static QScriptValue createAnotherEngine(QScriptContext *, QScriptEngine *) +{ + QScriptEngine eng; + eng.evaluate("function foo(x, y) { return x + y; }" ); + eng.evaluate("hello = 5; world = 6" ); + return eng.evaluate("foo(hello,world)").toInt32(); +} + + +void tst_QScriptEngine::reentrency() +{ + QScriptEngine eng; + eng.globalObject().setProperty("foo", eng.newFunction(createAnotherEngine)); + eng.evaluate("function bar() { return foo(); } hello = 9; function getHello() { return hello; }"); + QCOMPARE(eng.evaluate("foo() + getHello() + foo()").toInt32(), 5+6 + 9 + 5+6); + QCOMPARE(eng.evaluate("foo").call().toInt32(), 5+6); + QCOMPARE(eng.evaluate("hello").toInt32(), 9); + QCOMPARE(eng.evaluate("foo() + hello").toInt32(), 5+6+9); +} + QTEST_MAIN(tst_QScriptEngine) #include "tst_qscriptengine.moc" -- cgit v0.12 From 7e8092fc70357b69835d8edc9e38f3286fe8727f Mon Sep 17 00:00:00 2001 From: Olivier Goffart Date: Mon, 29 Mar 2010 22:48:20 +0200 Subject: QScript: More missing APIShim Fixes crash in tst_QScriptValueIterator::remove on windows --- src/script/api/qscriptvalueiterator.cpp | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/script/api/qscriptvalueiterator.cpp b/src/script/api/qscriptvalueiterator.cpp index 460dddb..ecda5fc 100644 --- a/src/script/api/qscriptvalueiterator.cpp +++ b/src/script/api/qscriptvalueiterator.cpp @@ -292,6 +292,7 @@ QScriptValue QScriptValueIterator::value() const Q_D(const QScriptValueIterator); if (!d || !d->initialized || !d->engine()) return QScriptValue(); + QScript::APIShim shim(d->engine()); JSC::JSValue jsValue = d->object()->property(*d->current); return d->engine()->scriptValueFromJSCValue(jsValue); } @@ -307,6 +308,7 @@ void QScriptValueIterator::setValue(const QScriptValue &value) Q_D(QScriptValueIterator); if (!d || !d->initialized || !d->engine()) return; + QScript::APIShim shim(d->engine()); JSC::JSValue jsValue = d->engine()->scriptValueToJSCValue(value); d->object()->setProperty(*d->current, jsValue); } @@ -322,6 +324,7 @@ QScriptValue::PropertyFlags QScriptValueIterator::flags() const Q_D(const QScriptValueIterator); if (!d || !d->initialized || !d->engine()) return 0; + QScript::APIShim shim(d->engine()); return d->object()->propertyFlags(*d->current); } @@ -336,6 +339,7 @@ void QScriptValueIterator::remove() Q_D(QScriptValueIterator); if (!d || !d->initialized || !d->engine()) return; + QScript::APIShim shim(d->engine()); d->object()->setProperty(*d->current, JSC::JSValue()); d->propertyNames.erase(d->current); } -- cgit v0.12 From bc4fe607fe65dca24460d4f612c5815b4767e988 Mon Sep 17 00:00:00 2001 From: Olivier Goffart Date: Tue, 30 Mar 2010 10:39:21 +0200 Subject: One more test for chinese codecs Relates to QT-2627 --- tests/auto/qtextcodec/tst_qtextcodec.cpp | 39 ++++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) diff --git a/tests/auto/qtextcodec/tst_qtextcodec.cpp b/tests/auto/qtextcodec/tst_qtextcodec.cpp index 1c64ade..4e7123f 100644 --- a/tests/auto/qtextcodec/tst_qtextcodec.cpp +++ b/tests/auto/qtextcodec/tst_qtextcodec.cpp @@ -2178,6 +2178,45 @@ void tst_QTextCodec::moreToFromUnicode_data() { koi8_u_ba.append(x); } QTest::newRow("KOI8-U") << QByteArray("KOI8-U") << koi8_u_ba; + + + QByteArray big5_ba; + for (unsigned char u=0xa1; u<=0xf9; u++) { + if (u==0xc8) { + continue; + } + for (unsigned char v=0x40; v<=0x7e; v++) { + big5_ba.append(u); + big5_ba.append(v); + } + unsigned char v_up; + switch (u) { + case 0xa3: v_up=0xbf; break; + case 0xc7: v_up=0xfc; break; + case 0xf9: v_up=0xd5; break; + default: v_up=0xfe; + } + + for (unsigned char v=0xa1; v<=v_up; v++) { + if (u==0xa2 && (v==0xcc || v==0xce)) { + continue; + } + big5_ba.append(u); + big5_ba.append(v); + } + } + + QTest::newRow("BIG5") << QByteArray("BIG5") << big5_ba; + + QByteArray gb2312_ba; + for (unsigned char u=0xa1; u<=0xf7; u++) { + for (unsigned char v=0xa1; v<=0xfe; v++) { + gb2312_ba.append(u); + gb2312_ba.append(v); + } + } + + QTest::newRow("GB2312") << QByteArray("GB2312") << gb2312_ba; } void tst_QTextCodec::moreToFromUnicode() -- cgit v0.12 From 568475d98d77c3ade027eb88e571ca8b84088002 Mon Sep 17 00:00:00 2001 From: John Layt Date: Tue, 30 Mar 2010 10:55:33 +0200 Subject: Fix QDate::isLeapYear() for years < 1 The current formula for isLeapYear() assumes that years -4, -8, etc are leap years in the Julian Calendar. This is not the case, leap years in fact fall in -1, -5, -9, etc as there is no year 0 in the Julian Calendar (count back 4 years from 4AD to confirm). The julianDayFromDate() and getDateFromJulianDay() functions correctly calculate this, but isValid() uses isLeapYear() and so causes setDate() to incorrectly reject valid dates. Sample test code to round-trip a jd to ymd and back to jd: QDate testDate; QDate loopDate = QDate::fromJulianDay(1); while ( loopDate.toJulianDay() <= 5373484 ) { // <= 9999-12-31 testDate.setDate( loopDate.year(), loopDate.month(), loopDate.day() ); if ( !testDate.isValid() || loopDate != testDate ) { qDebug() << "Round Trip failed : " << loopDate.toJulianDay() << " = " << loopDate.year() << loopDate.month() << loopDate.day() << " = " << testDate.toJulianDay(); } loopDate.addDays(1); } Before the fix, 29 Feb 1 BC (year = -1) and all other BC leap days returned by year() month() day() would result in setDate() failing. After the fix the round trip works fine. Merge-request: 2282 Reviewed-by: Olivier Goffart --- src/corelib/tools/qdatetime.cpp | 5 ++++- tests/auto/qdate/tst_qdate.cpp | 50 ++++++++++++++++++++++++++++++++++------- 2 files changed, 46 insertions(+), 9 deletions(-) diff --git a/src/corelib/tools/qdatetime.cpp b/src/corelib/tools/qdatetime.cpp index 54a4205..3e34d62 100644 --- a/src/corelib/tools/qdatetime.cpp +++ b/src/corelib/tools/qdatetime.cpp @@ -1336,7 +1336,10 @@ bool QDate::isValid(int year, int month, int day) bool QDate::isLeapYear(int y) { if (y < 1582) { - return qAbs(y) % 4 == 0; + if ( y < 1) { // No year 0 in Julian calendar, so -1, -5, -9 etc are leap years + ++y; + } + return y % 4 == 0; } else { return (y % 4 == 0 && y % 100 != 0) || y % 400 == 0; } diff --git a/tests/auto/qdate/tst_qdate.cpp b/tests/auto/qdate/tst_qdate.cpp index 7223291..60772eb 100644 --- a/tests/auto/qdate/tst_qdate.cpp +++ b/tests/auto/qdate/tst_qdate.cpp @@ -99,6 +99,7 @@ private slots: void standaloneShortMonthName() const; void longMonthName() const; void standaloneLongMonthName() const; + void roundtrip() const; }; Q_DECLARE_METATYPE(QDate) @@ -668,17 +669,18 @@ void tst_QDate::toString_format() void tst_QDate::isLeapYear() { - QVERIFY(QDate::isLeapYear(-4444)); - QVERIFY(!QDate::isLeapYear(-4443)); - QVERIFY(QDate::isLeapYear(-8)); - QVERIFY(!QDate::isLeapYear(-7)); - QVERIFY(QDate::isLeapYear(-4)); + QVERIFY(QDate::isLeapYear(-4445)); + QVERIFY(!QDate::isLeapYear(-4444)); + QVERIFY(!QDate::isLeapYear(-6)); + QVERIFY(QDate::isLeapYear(-5)); + QVERIFY(!QDate::isLeapYear(-4)); QVERIFY(!QDate::isLeapYear(-3)); QVERIFY(!QDate::isLeapYear(-2)); - QVERIFY(!QDate::isLeapYear(-1)); - QVERIFY(!QDate::isLeapYear(1)); - QVERIFY(!QDate::isLeapYear(1)); + QVERIFY(QDate::isLeapYear(-1)); + QVERIFY(!QDate::isLeapYear(0)); // Doesn't exist QVERIFY(!QDate::isLeapYear(1)); + QVERIFY(!QDate::isLeapYear(2)); + QVERIFY(!QDate::isLeapYear(3)); QVERIFY(QDate::isLeapYear(4)); QVERIFY(!QDate::isLeapYear(7)); QVERIFY(QDate::isLeapYear(8)); @@ -910,5 +912,37 @@ void tst_QDate::standaloneLongMonthName() const } } +void tst_QDate::roundtrip() const +{ + // Test round trip, this exercises setDate(), isValid(), isLeapYear(), + // year(), month(), day(), julianDayFromDate(), and getDateFromJulianDay() + // to ensure they are internally consistent (but doesn't guarantee correct) + + // Test Julian round trip in both BC and AD + QDate testDate; + QDate loopDate = QDate::fromJulianDay(1684899); // 1 Jan 100 BC + while ( loopDate.toJulianDay() <= 1757948 ) { // 31 Dec 100 AD + testDate.setDate( loopDate.year(), loopDate.month(), loopDate.day() ); + QCOMPARE( loopDate.toJulianDay(), testDate.toJulianDay() ); + loopDate = loopDate.addDays(1); + } + + // Test Julian and Gregorian round trip during changeover period + loopDate = QDate::fromJulianDay(2298153); // 1 Jan 1580 AD + while ( loopDate.toJulianDay() <= 2300334 ) { // 31 Dec 1585 AD + testDate.setDate( loopDate.year(), loopDate.month(), loopDate.day() ); + QCOMPARE( loopDate.toJulianDay(), testDate.toJulianDay() ); + loopDate = loopDate.addDays(1); + } + + // Test Gregorian round trip during current useful period + loopDate = QDate::fromJulianDay(2378497); // 1 Jan 1900 AD + while ( loopDate.toJulianDay() <= 2488433 ) { // 31 Dec 2100 AD + testDate.setDate( loopDate.year(), loopDate.month(), loopDate.day() ); + QCOMPARE( loopDate.toJulianDay(), testDate.toJulianDay() ); + loopDate = loopDate.addDays(1); + } +} + QTEST_APPLESS_MAIN(tst_QDate) #include "tst_qdate.moc" -- cgit v0.12 From fb9493870fa3212b0f7a917aa92a0a30d77f3b1e Mon Sep 17 00:00:00 2001 From: Tom Cooksey Date: Tue, 30 Mar 2010 13:47:13 +0200 Subject: Hack .pro files on windows to define QT_NO_EGL Temporary fix until configure.exe can be re-compiled. Reviewed-By: TrustMe --- src/gui/gui.pro | 1 + tests/auto/qgl/qgl.pro | 1 + tests/auto/qglbuffer/qglbuffer.pro | 2 ++ tests/auto/qglthreads/qglthreads.pro | 2 ++ 4 files changed, 6 insertions(+) diff --git a/src/gui/gui.pro b/src/gui/gui.pro index cbdbb5c..b22f732 100644 --- a/src/gui/gui.pro +++ b/src/gui/gui.pro @@ -41,6 +41,7 @@ include(math3d/math3d.pri) include(effects/effects.pri) contains(QT_CONFIG, egl): include(egl/egl.pri) +win32:!wince*: DEFINES += QT_NO_EGL embedded: QT += network diff --git a/tests/auto/qgl/qgl.pro b/tests/auto/qgl/qgl.pro index 5f058f9..20f8018 100644 --- a/tests/auto/qgl/qgl.pro +++ b/tests/auto/qgl/qgl.pro @@ -7,6 +7,7 @@ requires(contains(QT_CONFIG,opengl)) QT += opengl contains(QT_CONFIG,egl):DEFINES += QGL_EGL +win32:!wince*: DEFINES += QT_NO_EGL SOURCES += tst_qgl.cpp RESOURCES = qgl.qrc diff --git a/tests/auto/qglbuffer/qglbuffer.pro b/tests/auto/qglbuffer/qglbuffer.pro index 07d05bb..5627d2d 100644 --- a/tests/auto/qglbuffer/qglbuffer.pro +++ b/tests/auto/qglbuffer/qglbuffer.pro @@ -6,4 +6,6 @@ load(qttest_p4) requires(contains(QT_CONFIG,opengl)) QT += opengl +win32:!wince*: DEFINES += QT_NO_EGL + SOURCES += tst_qglbuffer.cpp diff --git a/tests/auto/qglthreads/qglthreads.pro b/tests/auto/qglthreads/qglthreads.pro index 73b75d4..883eef2 100644 --- a/tests/auto/qglthreads/qglthreads.pro +++ b/tests/auto/qglthreads/qglthreads.pro @@ -2,6 +2,8 @@ load(qttest_p4) requires(contains(QT_CONFIG,opengl)) QT += opengl +win32:!wince*: DEFINES += QT_NO_EGL + HEADERS += tst_qglthreads.h SOURCES += tst_qglthreads.cpp -- cgit v0.12 From 6e173f50f6b04057040b1e5c4125e3f1b6f885ce Mon Sep 17 00:00:00 2001 From: Eskil Abrahamsen Blomfeldt Date: Tue, 30 Mar 2010 13:57:10 +0200 Subject: Fix setting font for QStaticText on Linux and Mac When using the fallback in QStaticText we have to update its font to the current painter's font, otherwise we will override the painter's font with the one cached in the QStaticText object. Reviewed-by: Olivier --- src/gui/painting/qpainter.cpp | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/gui/painting/qpainter.cpp b/src/gui/painting/qpainter.cpp index 7b5fcc2..898a996 100644 --- a/src/gui/painting/qpainter.cpp +++ b/src/gui/painting/qpainter.cpp @@ -5844,6 +5844,11 @@ void QPainter::drawStaticText(const QPointF &topLeftPosition, const QStaticText QStaticTextPrivate *staticText_d = const_cast(QStaticTextPrivate::get(&staticText)); + if (font() != staticText_d->font) { + staticText_d->font = font(); + staticText_d->needsRelayout = true; + } + // If we don't have an extended paint engine, or if the painter is projected, // we go through standard code path if (d->extended == 0 || !d->state->matrix.isAffine()) { @@ -5880,11 +5885,6 @@ void QPainter::drawStaticText(const QPointF &topLeftPosition, const QStaticText staticTextNeedsReinit = true; } - if (font() != staticText_d->font) { - staticText_d->font = font(); - staticTextNeedsReinit = true; - } - // Recreate the layout of the static text because the matrix or font has changed if (staticTextNeedsReinit) staticText_d->init(); -- cgit v0.12 From 1dece0c73feb0307f90acdc127891fa6313da4cd Mon Sep 17 00:00:00 2001 From: Eskil Abrahamsen Blomfeldt Date: Tue, 30 Mar 2010 14:20:56 +0200 Subject: Support the pen set on the painter in QStaticText when using rich text When using rich text, QStaticText should still respect the painter's pen color as the default. Since QTextDocument does not respect the pen set on the painter, we need to set its default style sheet to include the pen color as well. Reviewed-by: Olivier --- src/gui/text/qstatictext.cpp | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/gui/text/qstatictext.cpp b/src/gui/text/qstatictext.cpp index 45252d8..5f31ef0 100644 --- a/src/gui/text/qstatictext.cpp +++ b/src/gui/text/qstatictext.cpp @@ -584,6 +584,11 @@ void QStaticTextPrivate::paintText(const QPointF &topLeftPosition, QPainter *p) textLayout.draw(p, topLeftPosition); } else { QTextDocument document; + QColor color = p->pen().color(); + document.setDefaultStyleSheet(QString::fromLatin1("body { color: #%1%2%3 }") + .arg(QString::number(color.red(), 16), 2, QLatin1Char('0')) + .arg(QString::number(color.green(), 16), 2, QLatin1Char('0')) + .arg(QString::number(color.blue(), 16), 2, QLatin1Char('0'))); document.setDefaultFont(font); document.setDocumentMargin(0.0); if (textWidth >= 0.0) -- cgit v0.12 From 853894dca607a0266f3c6d23c937dd5f55e551af Mon Sep 17 00:00:00 2001 From: Eskil Abrahamsen Blomfeldt Date: Tue, 30 Mar 2010 14:55:24 +0200 Subject: Fix QStaticText test on Mac Avoid taking fast path in drawText() since this is optimized and does not draw text completely accurate on a floating point font engine. Rather we use the slightly slower but more accurate drawText() which takes a rectangle so that the results are identical to the ones produced by drawStaticText(). Reviewed-by: TrustMe --- tests/auto/qstatictext/tst_qstatictext.cpp | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/tests/auto/qstatictext/tst_qstatictext.cpp b/tests/auto/qstatictext/tst_qstatictext.cpp index e7a22b3..c7801ac 100644 --- a/tests/auto/qstatictext/tst_qstatictext.cpp +++ b/tests/auto/qstatictext/tst_qstatictext.cpp @@ -239,10 +239,10 @@ void tst_QStaticText::setFont() imageDrawText.fill(Qt::white); { QPainter p(&imageDrawText); - p.drawText(0, 0 + QFontMetrics(p.font()).ascent(), "Lorem ipsum dolor sit amet, consectetur adipiscing elit."); + p.drawText(QRectF(0, 0, 1000, 1000), 0, "Lorem ipsum dolor sit amet, consectetur adipiscing elit."); p.setFont(font); - p.drawText(11, 120 + QFontMetrics(p.font()).ascent(), "Lorem ipsum dolor sit amet, consectetur adipiscing elit."); + p.drawText(QRectF(11, 120, 1000, 1000), 0, "Lorem ipsum dolor sit amet, consectetur adipiscing elit."); } QPixmap imageDrawStaticText(1000, 1000); @@ -342,7 +342,7 @@ void tst_QStaticText::rotatedPainter() { QPainter p(&imageDrawText); p.rotate(30.0); - p.drawText(0, 0 + QFontMetricsF(p.font()).ascent(), "Lorem ipsum dolor sit amet, consectetur adipiscing elit."); + p.drawText(QRectF(0, 0, 1000, 100), 0, "Lorem ipsum dolor sit amet, consectetur adipiscing elit."); } QPixmap imageDrawStaticText(1000, 1000); @@ -469,10 +469,10 @@ void tst_QStaticText::transformationChanged() p.rotate(33.0); p.scale(0.5, 0.7); - p.drawText(0, 0 + QFontMetricsF(p.font()).ascent(), "Lorem ipsum dolor sit amet, consectetur adipiscing elit."); + p.drawText(QRectF(0, 0, 1000, 1000), 0, "Lorem ipsum dolor sit amet, consectetur adipiscing elit."); p.scale(7.0, 5.0); - p.drawText(0, 0 + QFontMetricsF(p.font()).ascent(), "Lorem ipsum dolor sit amet, consectetur adipiscing elit."); + p.drawText(QRectF(0, 0, 1000, 1000), 0, "Lorem ipsum dolor sit amet, consectetur adipiscing elit."); } QPixmap imageDrawStaticText(1000, 1000); -- cgit v0.12 From 50ee99bc155e45bb06bffb849a73ff0c3f81c9a9 Mon Sep 17 00:00:00 2001 From: Shane Kearns Date: Tue, 30 Mar 2010 14:30:16 +0100 Subject: Update EABI def files for 4.7 Reviewed-by: Trust Me --- src/s60installs/eabi/QtCoreu.def | 37 + src/s60installs/eabi/QtDeclarativeu.def | 6820 +++++++++++++++---------------- src/s60installs/eabi/QtGuiu.def | 45 +- src/s60installs/eabi/QtMultimediau.def | 30 +- src/s60installs/eabi/QtNetworku.def | 24 +- src/s60installs/eabi/QtScriptu.def | 8 +- 6 files changed, 3456 insertions(+), 3508 deletions(-) diff --git a/src/s60installs/eabi/QtCoreu.def b/src/s60installs/eabi/QtCoreu.def index c648d87..b30d987 100644 --- a/src/s60installs/eabi/QtCoreu.def +++ b/src/s60installs/eabi/QtCoreu.def @@ -3652,4 +3652,41 @@ EXPORTS _Z40QBasicAtomicPointer_fetchAndStoreAcquirePVPvS_ @ 3651 NONAME _Z40QBasicAtomicPointer_fetchAndStoreRelaxedPVPvS_ @ 3652 NONAME _Z40QBasicAtomicPointer_fetchAndStoreReleasePVPvS_ @ 3653 NONAME + _Z14qDecodeDataUrlRK4QUrl @ 3654 NONAME + _Z18qDetectCPUFeaturesv @ 3655 NONAME + _ZN10QByteArray7replaceEiiPKci @ 3656 NONAME + _ZN12QTextDecoderC1EPK10QTextCodec6QFlagsINS0_14ConversionFlagEE @ 3657 NONAME + _ZN12QTextDecoderC2EPK10QTextCodec6QFlagsINS0_14ConversionFlagEE @ 3658 NONAME + _ZN12QTextEncoderC1EPK10QTextCodec6QFlagsINS0_14ConversionFlagEE @ 3659 NONAME + _ZN12QTextEncoderC2EPK10QTextCodec6QFlagsINS0_14ConversionFlagEE @ 3660 NONAME + _ZN13QElapsedTimer10invalidateEv @ 3661 NONAME + _ZN13QElapsedTimer11isMonotonicEv @ 3662 NONAME + _ZN13QElapsedTimer5startEv @ 3663 NONAME + _ZN13QElapsedTimer7restartEv @ 3664 NONAME + _ZN13QElapsedTimer9clockTypeEv @ 3665 NONAME + _ZN20QStateMachinePrivate12clearHistoryEv @ 3666 NONAME + _ZN7QStringC1EPK5QChar @ 3667 NONAME + _ZN7QStringC2EPK5QChar @ 3668 NONAME + _ZN8QVariantC1ERK12QEasingCurve @ 3669 NONAME + _ZN8QVariantC2ERK12QEasingCurve @ 3670 NONAME + _ZN9QDateTime18currentDateTimeUtcEv @ 3671 NONAME + _ZN9QDateTime22currentMsecsSinceEpochEv @ 3672 NONAME + _ZN9QListData11detach_growEPii @ 3673 NONAME + _ZN9QListData6appendEi @ 3674 NONAME + _ZN9QListData6detachEi @ 3675 NONAME + _ZN9QMetaType15registerTypedefEPKci @ 3676 NONAME + _ZN9QMetaType23registerStreamOperatorsEiPFvR11QDataStreamPKvEPFvS1_PvE @ 3677 NONAME + _ZNK10QTextCodec11makeDecoderE6QFlagsINS_14ConversionFlagEE @ 3678 NONAME + _ZNK10QTextCodec11makeEncoderE6QFlagsINS_14ConversionFlagEE @ 3679 NONAME + _ZNK13QElapsedTimer10hasExpiredEx @ 3680 NONAME + _ZNK13QElapsedTimer19msecsSinceReferenceEv @ 3681 NONAME + _ZNK13QElapsedTimer6secsToERKS_ @ 3682 NONAME + _ZNK13QElapsedTimer7elapsedEv @ 3683 NONAME + _ZNK13QElapsedTimer7isValidEv @ 3684 NONAME + _ZNK13QElapsedTimer7msecsToERKS_ @ 3685 NONAME + _ZNK6QState11transitionsEv @ 3686 NONAME + _ZNK8QVariant13toEasingCurveEv @ 3687 NONAME + _ZlsR11QDataStreamRK12QEasingCurve @ 3688 NONAME + _ZltRK13QElapsedTimerS1_ @ 3689 NONAME + _ZrsR11QDataStreamR12QEasingCurve @ 3690 NONAME diff --git a/src/s60installs/eabi/QtDeclarativeu.def b/src/s60installs/eabi/QtDeclarativeu.def index e4fc7a3..c6d3d3f 100644 --- a/src/s60installs/eabi/QtDeclarativeu.def +++ b/src/s60installs/eabi/QtDeclarativeu.def @@ -42,3499 +42,3331 @@ EXPORTS _ZN15QPacketProtocolD0Ev @ 41 NONAME _ZN15QPacketProtocolD1Ev @ 42 NONAME _ZN15QPacketProtocolD2Ev @ 43 NONAME - _ZN15QPerformanceLog11displayDataEv @ 44 NONAME - _ZN15QPerformanceLog5clearEv @ 45 NONAME - _ZN16QDeclarativeBind11qt_metacallEN11QMetaObject4CallEiPPv @ 46 NONAME - _ZN16QDeclarativeBind11qt_metacastEPKc @ 47 NONAME - _ZN16QDeclarativeBind11setPropertyERK7QString @ 48 NONAME - _ZN16QDeclarativeBind16staticMetaObjectE @ 49 NONAME DATA 16 - _ZN16QDeclarativeBind17componentCompleteEv @ 50 NONAME - _ZN16QDeclarativeBind19getStaticMetaObjectEv @ 51 NONAME - _ZN16QDeclarativeBind4evalEv @ 52 NONAME - _ZN16QDeclarativeBind6objectEv @ 53 NONAME - _ZN16QDeclarativeBind7setWhenEb @ 54 NONAME - _ZN16QDeclarativeBind8setValueERK8QVariant @ 55 NONAME - _ZN16QDeclarativeBind9setObjectEP7QObject @ 56 NONAME - _ZN16QDeclarativeBindC1EP7QObject @ 57 NONAME - _ZN16QDeclarativeBindC2EP7QObject @ 58 NONAME - _ZN16QDeclarativeBindD0Ev @ 59 NONAME - _ZN16QDeclarativeBindD1Ev @ 60 NONAME - _ZN16QDeclarativeBindD2Ev @ 61 NONAME - _ZN16QDeclarativeDrag11axisChangedEv @ 62 NONAME - _ZN16QDeclarativeDrag11qt_metacallEN11QMetaObject4CallEiPPv @ 63 NONAME - _ZN16QDeclarativeDrag11qt_metacastEPKc @ 64 NONAME - _ZN16QDeclarativeDrag13targetChangedEv @ 65 NONAME - _ZN16QDeclarativeDrag15maximumXChangedEv @ 66 NONAME - _ZN16QDeclarativeDrag15maximumYChangedEv @ 67 NONAME - _ZN16QDeclarativeDrag15minimumXChangedEv @ 68 NONAME - _ZN16QDeclarativeDrag15minimumYChangedEv @ 69 NONAME - _ZN16QDeclarativeDrag16staticMetaObjectE @ 70 NONAME DATA 16 - _ZN16QDeclarativeDrag19getStaticMetaObjectEv @ 71 NONAME - _ZN16QDeclarativeDrag7setAxisENS_4AxisE @ 72 NONAME - _ZN16QDeclarativeDrag7setXmaxEf @ 73 NONAME - _ZN16QDeclarativeDrag7setXminEf @ 74 NONAME - _ZN16QDeclarativeDrag7setYmaxEf @ 75 NONAME - _ZN16QDeclarativeDrag7setYminEf @ 76 NONAME - _ZN16QDeclarativeDrag9setTargetEP16QDeclarativeItem @ 77 NONAME - _ZN16QDeclarativeDragC1EP7QObject @ 78 NONAME - _ZN16QDeclarativeDragC2EP7QObject @ 79 NONAME - _ZN16QDeclarativeDragD0Ev @ 80 NONAME - _ZN16QDeclarativeDragD1Ev @ 81 NONAME - _ZN16QDeclarativeDragD2Ev @ 82 NONAME - _ZN16QDeclarativeFlow11flowChangedEv @ 83 NONAME - _ZN16QDeclarativeFlow11qt_metacallEN11QMetaObject4CallEiPPv @ 84 NONAME - _ZN16QDeclarativeFlow11qt_metacastEPKc @ 85 NONAME - _ZN16QDeclarativeFlow13doPositioningEv @ 86 NONAME - _ZN16QDeclarativeFlow16staticMetaObjectE @ 87 NONAME DATA 16 - _ZN16QDeclarativeFlow19getStaticMetaObjectEv @ 88 NONAME - _ZN16QDeclarativeFlow7setFlowENS_4FlowE @ 89 NONAME - _ZN16QDeclarativeFlowC1EP16QDeclarativeItem @ 90 NONAME - _ZN16QDeclarativeFlowC2EP16QDeclarativeItem @ 91 NONAME - _ZN16QDeclarativeGrid10setColumnsEi @ 92 NONAME - _ZN16QDeclarativeGrid11qt_metacallEN11QMetaObject4CallEiPPv @ 93 NONAME - _ZN16QDeclarativeGrid11qt_metacastEPKc @ 94 NONAME - _ZN16QDeclarativeGrid11rowsChangedEv @ 95 NONAME - _ZN16QDeclarativeGrid13doPositioningEv @ 96 NONAME - _ZN16QDeclarativeGrid14columnsChangedEv @ 97 NONAME - _ZN16QDeclarativeGrid16staticMetaObjectE @ 98 NONAME DATA 16 - _ZN16QDeclarativeGrid19getStaticMetaObjectEv @ 99 NONAME - _ZN16QDeclarativeGrid7setRowsEi @ 100 NONAME - _ZN16QDeclarativeGridC1EP16QDeclarativeItem @ 101 NONAME - _ZN16QDeclarativeGridC2EP16QDeclarativeItem @ 102 NONAME - _ZN16QDeclarativeInfoC1EPK7QObject @ 103 NONAME - _ZN16QDeclarativeInfoC2EPK7QObject @ 104 NONAME - _ZN16QDeclarativeInfoD1Ev @ 105 NONAME - _ZN16QDeclarativeInfoD2Ev @ 106 NONAME - _ZN16QDeclarativeItem10classBeginEv @ 107 NONAME - _ZN16QDeclarativeItem10fxChildrenEv @ 108 NONAME - _ZN16QDeclarativeItem10itemChangeEN13QGraphicsItem18GraphicsItemChangeERK8QVariant @ 109 NONAME - _ZN16QDeclarativeItem10resetWidthEv @ 110 NONAME - _ZN16QDeclarativeItem10sceneEventEP6QEvent @ 111 NONAME - _ZN16QDeclarativeItem11clipChangedEv @ 112 NONAME - _ZN16QDeclarativeItem11qt_metacallEN11QMetaObject4CallEiPPv @ 113 NONAME - _ZN16QDeclarativeItem11qt_metacastEPKc @ 114 NONAME - _ZN16QDeclarativeItem11resetHeightEv @ 115 NONAME - _ZN16QDeclarativeItem11transitionsEv @ 116 NONAME - _ZN16QDeclarativeItem12childrenRectEv @ 117 NONAME - _ZN16QDeclarativeItem12focusChangedEb @ 118 NONAME - _ZN16QDeclarativeItem12focusChangedEv @ 119 NONAME - _ZN16QDeclarativeItem12stateChangedERK7QString @ 120 NONAME - _ZN16QDeclarativeItem12widthChangedEv @ 121 NONAME - _ZN16QDeclarativeItem13heightChangedEv @ 122 NONAME - _ZN16QDeclarativeItem13keyPressEventEP9QKeyEvent @ 123 NONAME - _ZN16QDeclarativeItem13parentChangedEv @ 124 NONAME - _ZN16QDeclarativeItem13setParentItemEPS_ @ 125 NONAME - _ZN16QDeclarativeItem13smoothChangedEv @ 126 NONAME - _ZN16QDeclarativeItem15childrenChangedEv @ 127 NONAME - _ZN16QDeclarativeItem15geometryChangedERK6QRectFS2_ @ 128 NONAME - _ZN16QDeclarativeItem15keyReleaseEventEP9QKeyEvent @ 129 NONAME - _ZN16QDeclarativeItem16inputMethodEventEP17QInputMethodEvent @ 130 NONAME - _ZN16QDeclarativeItem16setImplicitWidthEf @ 131 NONAME - _ZN16QDeclarativeItem16setKeepMouseGrabEb @ 132 NONAME - _ZN16QDeclarativeItem16staticMetaObjectE @ 133 NONAME DATA 16 - _ZN16QDeclarativeItem17componentCompleteEv @ 134 NONAME - _ZN16QDeclarativeItem17setBaselineOffsetEf @ 135 NONAME - _ZN16QDeclarativeItem17setImplicitHeightEf @ 136 NONAME - _ZN16QDeclarativeItem17wantsFocusChangedEv @ 137 NONAME - _ZN16QDeclarativeItem18setTransformOriginENS_15TransformOriginE @ 138 NONAME - _ZN16QDeclarativeItem19childrenRectChangedEv @ 139 NONAME - _ZN16QDeclarativeItem19getStaticMetaObjectEv @ 140 NONAME - _ZN16QDeclarativeItem21baselineOffsetChangedEv @ 141 NONAME - _ZN16QDeclarativeItem22transformOriginChangedENS_15TransformOriginE @ 142 NONAME - _ZN16QDeclarativeItem4dataEv @ 143 NONAME - _ZN16QDeclarativeItem5eventEP6QEvent @ 144 NONAME - _ZN16QDeclarativeItem5paintEP8QPainterPK24QStyleOptionGraphicsItemP7QWidget @ 145 NONAME - _ZN16QDeclarativeItem6statesEv @ 146 NONAME - _ZN16QDeclarativeItem7anchorsEv @ 147 NONAME - _ZN16QDeclarativeItem7setClipEb @ 148 NONAME - _ZN16QDeclarativeItem8setFocusEb @ 149 NONAME - _ZN16QDeclarativeItem8setStateERK7QString @ 150 NONAME - _ZN16QDeclarativeItem8setWidthEf @ 151 NONAME - _ZN16QDeclarativeItem9resourcesEv @ 152 NONAME - _ZN16QDeclarativeItem9setHeightEf @ 153 NONAME - _ZN16QDeclarativeItem9setSmoothEb @ 154 NONAME - _ZN16QDeclarativeItem9transformEv @ 155 NONAME - _ZN16QDeclarativeItemC1EPS_ @ 156 NONAME - _ZN16QDeclarativeItemC1ER23QDeclarativeItemPrivatePS_ @ 157 NONAME - _ZN16QDeclarativeItemC2EPS_ @ 158 NONAME - _ZN16QDeclarativeItemC2ER23QDeclarativeItemPrivatePS_ @ 159 NONAME - _ZN16QDeclarativeItemD0Ev @ 160 NONAME - _ZN16QDeclarativeItemD1Ev @ 161 NONAME - _ZN16QDeclarativeItemD2Ev @ 162 NONAME - _ZN16QDeclarativePath11interpolateEiRK7QStringf @ 163 NONAME - _ZN16QDeclarativePath11processPathEv @ 164 NONAME - _ZN16QDeclarativePath11qt_metacallEN11QMetaObject4CallEiPPv @ 165 NONAME - _ZN16QDeclarativePath11qt_metacastEPKc @ 166 NONAME - _ZN16QDeclarativePath12pathElementsEv @ 167 NONAME - _ZN16QDeclarativePath16staticMetaObjectE @ 168 NONAME DATA 16 - _ZN16QDeclarativePath17componentCompleteEv @ 169 NONAME - _ZN16QDeclarativePath19getStaticMetaObjectEv @ 170 NONAME - _ZN16QDeclarativePath7changedEv @ 171 NONAME - _ZN16QDeclarativePath8endpointERK7QString @ 172 NONAME - _ZN16QDeclarativePath9setStartXEf @ 173 NONAME - _ZN16QDeclarativePath9setStartYEf @ 174 NONAME - _ZN16QDeclarativePathC1EP7QObject @ 175 NONAME - _ZN16QDeclarativePathC2EP7QObject @ 176 NONAME - _ZN16QDeclarativePathD0Ev @ 177 NONAME - _ZN16QDeclarativePathD1Ev @ 178 NONAME - _ZN16QDeclarativePathD2Ev @ 179 NONAME - _ZN16QDeclarativeText11fontChangedERK5QFont @ 180 NONAME - _ZN16QDeclarativeText11qt_metacallEN11QMetaObject4CallEiPPv @ 181 NONAME - _ZN16QDeclarativeText11qt_metacastEPKc @ 182 NONAME - _ZN16QDeclarativeText11textChangedERK7QString @ 183 NONAME - _ZN16QDeclarativeText11wrapChangedEb @ 184 NONAME - _ZN16QDeclarativeText12colorChangedERK6QColor @ 185 NONAME - _ZN16QDeclarativeText12setElideModeENS_13TextElideModeE @ 186 NONAME - _ZN16QDeclarativeText12styleChangedENS_9TextStyleE @ 187 NONAME - _ZN16QDeclarativeText13linkActivatedERK7QString @ 188 NONAME - _ZN16QDeclarativeText13setStyleColorERK6QColor @ 189 NONAME - _ZN16QDeclarativeText13setTextFormatENS_10TextFormatE @ 190 NONAME - _ZN16QDeclarativeText15geometryChangedERK6QRectFS2_ @ 191 NONAME - _ZN16QDeclarativeText15mousePressEventEP24QGraphicsSceneMouseEvent @ 192 NONAME - _ZN16QDeclarativeText16elideModeChangedENS_13TextElideModeE @ 193 NONAME - _ZN16QDeclarativeText16staticMetaObjectE @ 194 NONAME DATA 16 - _ZN16QDeclarativeText17componentCompleteEv @ 195 NONAME - _ZN16QDeclarativeText17mouseReleaseEventEP24QGraphicsSceneMouseEvent @ 196 NONAME - _ZN16QDeclarativeText17styleColorChangedERK6QColor @ 197 NONAME - _ZN16QDeclarativeText17textFormatChangedENS_10TextFormatE @ 198 NONAME - _ZN16QDeclarativeText19getStaticMetaObjectEv @ 199 NONAME - _ZN16QDeclarativeText24verticalAlignmentChangedENS_10VAlignmentE @ 200 NONAME - _ZN16QDeclarativeText26horizontalAlignmentChangedENS_10HAlignmentE @ 201 NONAME - _ZN16QDeclarativeText5paintEP8QPainterPK24QStyleOptionGraphicsItemP7QWidget @ 202 NONAME - _ZN16QDeclarativeText7setFontERK5QFont @ 203 NONAME - _ZN16QDeclarativeText7setTextERK7QString @ 204 NONAME - _ZN16QDeclarativeText7setWrapEb @ 205 NONAME - _ZN16QDeclarativeText8setColorERK6QColor @ 206 NONAME - _ZN16QDeclarativeText8setStyleENS_9TextStyleE @ 207 NONAME - _ZN16QDeclarativeText9setHAlignENS_10HAlignmentE @ 208 NONAME - _ZN16QDeclarativeText9setVAlignENS_10VAlignmentE @ 209 NONAME - _ZN16QDeclarativeTextC1EP16QDeclarativeItem @ 210 NONAME - _ZN16QDeclarativeTextC2EP16QDeclarativeItem @ 211 NONAME - _ZN16QDeclarativeTextD0Ev @ 212 NONAME - _ZN16QDeclarativeTextD1Ev @ 213 NONAME - _ZN16QDeclarativeTextD2Ev @ 214 NONAME - _ZN16QDeclarativeTypeC1EiRKN19QDeclarativePrivate12RegisterTypeE @ 215 NONAME - _ZN16QDeclarativeTypeC1EiRKN19QDeclarativePrivate17RegisterInterfaceE @ 216 NONAME - _ZN16QDeclarativeTypeC2EiRKN19QDeclarativePrivate12RegisterTypeE @ 217 NONAME - _ZN16QDeclarativeTypeC2EiRKN19QDeclarativePrivate17RegisterInterfaceE @ 218 NONAME - _ZN16QDeclarativeTypeD1Ev @ 219 NONAME - _ZN16QDeclarativeTypeD2Ev @ 220 NONAME - _ZN16QDeclarativeView10paintEventEP11QPaintEvent @ 221 NONAME - _ZN16QDeclarativeView10timerEventEP11QTimerEvent @ 222 NONAME - _ZN16QDeclarativeView11qt_metacallEN11QMetaObject4CallEiPPv @ 223 NONAME - _ZN16QDeclarativeView11qt_metacastEPKc @ 224 NONAME - _ZN16QDeclarativeView11resizeEventEP12QResizeEvent @ 225 NONAME - _ZN16QDeclarativeView11rootContextEv @ 226 NONAME - _ZN16QDeclarativeView11sizeChangedEv @ 227 NONAME - _ZN16QDeclarativeView12sceneResizedE5QSize @ 228 NONAME - _ZN16QDeclarativeView13setResizeModeENS_10ResizeModeE @ 229 NONAME - _ZN16QDeclarativeView13setRootObjectEP7QObject @ 230 NONAME - _ZN16QDeclarativeView13statusChangedENS_6StatusE @ 231 NONAME - _ZN16QDeclarativeView15continueExecuteEv @ 232 NONAME - _ZN16QDeclarativeView16staticMetaObjectE @ 233 NONAME DATA 16 - _ZN16QDeclarativeView19getStaticMetaObjectEv @ 234 NONAME - _ZN16QDeclarativeView6engineEv @ 235 NONAME - _ZN16QDeclarativeView9setSourceERK4QUrl @ 236 NONAME - _ZN16QDeclarativeViewC1EP7QWidget @ 237 NONAME - _ZN16QDeclarativeViewC1ERK4QUrlP7QWidget @ 238 NONAME - _ZN16QDeclarativeViewC2EP7QWidget @ 239 NONAME - _ZN16QDeclarativeViewC2ERK4QUrlP7QWidget @ 240 NONAME - _ZN16QDeclarativeViewD0Ev @ 241 NONAME - _ZN16QDeclarativeViewD1Ev @ 242 NONAME - _ZN16QDeclarativeViewD2Ev @ 243 NONAME - _ZN16QMetaEnumBuilder6addKeyERK10QByteArrayi @ 244 NONAME - _ZN16QMetaEnumBuilder9removeKeyEi @ 245 NONAME - _ZN16QMetaEnumBuilder9setIsFlagEb @ 246 NONAME - _ZN17QDeclarativeCurve11qt_metacallEN11QMetaObject4CallEiPPv @ 247 NONAME - _ZN17QDeclarativeCurve11qt_metacastEPKc @ 248 NONAME - _ZN17QDeclarativeCurve16staticMetaObjectE @ 249 NONAME DATA 16 - _ZN17QDeclarativeCurve19getStaticMetaObjectEv @ 250 NONAME - _ZN17QDeclarativeCurve4setXEf @ 251 NONAME - _ZN17QDeclarativeCurve4setYEf @ 252 NONAME - _ZN17QDeclarativeError14setDescriptionERK7QString @ 253 NONAME - _ZN17QDeclarativeError6setUrlERK4QUrl @ 254 NONAME - _ZN17QDeclarativeError7setLineEi @ 255 NONAME - _ZN17QDeclarativeError9setColumnEi @ 256 NONAME - _ZN17QDeclarativeErrorC1ERKS_ @ 257 NONAME - _ZN17QDeclarativeErrorC1Ev @ 258 NONAME - _ZN17QDeclarativeErrorC2ERKS_ @ 259 NONAME - _ZN17QDeclarativeErrorC2Ev @ 260 NONAME - _ZN17QDeclarativeErrorD1Ev @ 261 NONAME - _ZN17QDeclarativeErrorD2Ev @ 262 NONAME - _ZN17QDeclarativeErroraSERKS_ @ 263 NONAME - _ZN17QDeclarativeImage11qt_metacallEN11QMetaObject4CallEiPPv @ 264 NONAME - _ZN17QDeclarativeImage11qt_metacastEPKc @ 265 NONAME - _ZN17QDeclarativeImage11setFillModeENS_8FillModeE @ 266 NONAME - _ZN17QDeclarativeImage15fillModeChangedEv @ 267 NONAME - _ZN17QDeclarativeImage15geometryChangedERK6QRectFS2_ @ 268 NONAME - _ZN17QDeclarativeImage16staticMetaObjectE @ 269 NONAME DATA 16 - _ZN17QDeclarativeImage19getStaticMetaObjectEv @ 270 NONAME - _ZN17QDeclarativeImage21updatePaintedGeometryEv @ 271 NONAME - _ZN17QDeclarativeImage22paintedGeometryChangedEv @ 272 NONAME - _ZN17QDeclarativeImage5paintEP8QPainterPK24QStyleOptionGraphicsItemP7QWidget @ 273 NONAME - _ZN17QDeclarativeImage9setPixmapERK7QPixmap @ 274 NONAME - _ZN17QDeclarativeImageC1EP16QDeclarativeItem @ 275 NONAME - _ZN17QDeclarativeImageC1ER24QDeclarativeImagePrivateP16QDeclarativeItem @ 276 NONAME - _ZN17QDeclarativeImageC2EP16QDeclarativeItem @ 277 NONAME - _ZN17QDeclarativeImageC2ER24QDeclarativeImagePrivateP16QDeclarativeItem @ 278 NONAME - _ZN17QDeclarativeImageD0Ev @ 279 NONAME - _ZN17QDeclarativeImageD1Ev @ 280 NONAME - _ZN17QDeclarativeImageD2Ev @ 281 NONAME - _ZN17QDeclarativeState10setExtendsERK7QString @ 282 NONAME - _ZN17QDeclarativeState11qt_metacallEN11QMetaObject4CallEiPPv @ 283 NONAME - _ZN17QDeclarativeState11qt_metacastEPKc @ 284 NONAME - _ZN17QDeclarativeState13setStateGroupEP22QDeclarativeStateGroup @ 285 NONAME - _ZN17QDeclarativeState16staticMetaObjectE @ 286 NONAME DATA 16 - _ZN17QDeclarativeState19getStaticMetaObjectEv @ 287 NONAME - _ZN17QDeclarativeState5applyEP22QDeclarativeStateGroupP22QDeclarativeTransitionPS_ @ 288 NONAME - _ZN17QDeclarativeState6cancelEv @ 289 NONAME - _ZN17QDeclarativeState7changesEv @ 290 NONAME - _ZN17QDeclarativeState7setNameERK7QString @ 291 NONAME - _ZN17QDeclarativeState7setWhenEP19QDeclarativeBinding @ 292 NONAME - _ZN17QDeclarativeState9completedEv @ 293 NONAME - _ZN17QDeclarativeStateC1EP7QObject @ 294 NONAME - _ZN17QDeclarativeStateC2EP7QObject @ 295 NONAME - _ZN17QDeclarativeStateD0Ev @ 296 NONAME - _ZN17QDeclarativeStateD1Ev @ 297 NONAME - _ZN17QDeclarativeStateD2Ev @ 298 NONAME - _ZN17QDeclarativeStatelsEP26QDeclarativeStateOperation @ 299 NONAME - _ZN17QDeclarativeTimer10classBeginEv @ 300 NONAME - _ZN17QDeclarativeTimer10setRunningEb @ 301 NONAME - _ZN17QDeclarativeTimer11qt_metacallEN11QMetaObject4CallEiPPv @ 302 NONAME - _ZN17QDeclarativeTimer11qt_metacastEPKc @ 303 NONAME - _ZN17QDeclarativeTimer11setIntervalEi @ 304 NONAME - _ZN17QDeclarativeTimer12setRepeatingEb @ 305 NONAME + _ZN16QDeclarativeBind11qt_metacallEN11QMetaObject4CallEiPPv @ 44 NONAME + _ZN16QDeclarativeBind11qt_metacastEPKc @ 45 NONAME + _ZN16QDeclarativeBind11setPropertyERK7QString @ 46 NONAME + _ZN16QDeclarativeBind16staticMetaObjectE @ 47 NONAME DATA 16 + _ZN16QDeclarativeBind17componentCompleteEv @ 48 NONAME + _ZN16QDeclarativeBind19getStaticMetaObjectEv @ 49 NONAME + _ZN16QDeclarativeBind4evalEv @ 50 NONAME + _ZN16QDeclarativeBind6objectEv @ 51 NONAME + _ZN16QDeclarativeBind7setWhenEb @ 52 NONAME + _ZN16QDeclarativeBind8setValueERK8QVariant @ 53 NONAME + _ZN16QDeclarativeBind9setObjectEP7QObject @ 54 NONAME + _ZN16QDeclarativeBindC1EP7QObject @ 55 NONAME + _ZN16QDeclarativeBindC2EP7QObject @ 56 NONAME + _ZN16QDeclarativeBindD0Ev @ 57 NONAME + _ZN16QDeclarativeBindD1Ev @ 58 NONAME + _ZN16QDeclarativeBindD2Ev @ 59 NONAME + _ZN16QDeclarativeDrag11axisChangedEv @ 60 NONAME + _ZN16QDeclarativeDrag11qt_metacallEN11QMetaObject4CallEiPPv @ 61 NONAME + _ZN16QDeclarativeDrag11qt_metacastEPKc @ 62 NONAME + _ZN16QDeclarativeDrag13targetChangedEv @ 63 NONAME + _ZN16QDeclarativeDrag15maximumXChangedEv @ 64 NONAME + _ZN16QDeclarativeDrag15maximumYChangedEv @ 65 NONAME + _ZN16QDeclarativeDrag15minimumXChangedEv @ 66 NONAME + _ZN16QDeclarativeDrag15minimumYChangedEv @ 67 NONAME + _ZN16QDeclarativeDrag16staticMetaObjectE @ 68 NONAME DATA 16 + _ZN16QDeclarativeDrag19getStaticMetaObjectEv @ 69 NONAME + _ZN16QDeclarativeDrag7setAxisENS_4AxisE @ 70 NONAME + _ZN16QDeclarativeDrag7setXmaxEf @ 71 NONAME + _ZN16QDeclarativeDrag7setXminEf @ 72 NONAME + _ZN16QDeclarativeDrag7setYmaxEf @ 73 NONAME + _ZN16QDeclarativeDrag7setYminEf @ 74 NONAME + _ZN16QDeclarativeDrag9setTargetEP15QGraphicsObject @ 75 NONAME + _ZN16QDeclarativeDragC1EP7QObject @ 76 NONAME + _ZN16QDeclarativeDragC2EP7QObject @ 77 NONAME + _ZN16QDeclarativeDragD0Ev @ 78 NONAME + _ZN16QDeclarativeDragD1Ev @ 79 NONAME + _ZN16QDeclarativeDragD2Ev @ 80 NONAME + _ZN16QDeclarativeFlow11flowChangedEv @ 81 NONAME + _ZN16QDeclarativeFlow11qt_metacallEN11QMetaObject4CallEiPPv @ 82 NONAME + _ZN16QDeclarativeFlow11qt_metacastEPKc @ 83 NONAME + _ZN16QDeclarativeFlow13doPositioningEv @ 84 NONAME + _ZN16QDeclarativeFlow16staticMetaObjectE @ 85 NONAME DATA 16 + _ZN16QDeclarativeFlow19getStaticMetaObjectEv @ 86 NONAME + _ZN16QDeclarativeFlow7setFlowENS_4FlowE @ 87 NONAME + _ZN16QDeclarativeFlowC1EP16QDeclarativeItem @ 88 NONAME + _ZN16QDeclarativeFlowC2EP16QDeclarativeItem @ 89 NONAME + _ZN16QDeclarativeGrid10setColumnsEi @ 90 NONAME + _ZN16QDeclarativeGrid11qt_metacallEN11QMetaObject4CallEiPPv @ 91 NONAME + _ZN16QDeclarativeGrid11qt_metacastEPKc @ 92 NONAME + _ZN16QDeclarativeGrid11rowsChangedEv @ 93 NONAME + _ZN16QDeclarativeGrid13doPositioningEv @ 94 NONAME + _ZN16QDeclarativeGrid14columnsChangedEv @ 95 NONAME + _ZN16QDeclarativeGrid16staticMetaObjectE @ 96 NONAME DATA 16 + _ZN16QDeclarativeGrid19getStaticMetaObjectEv @ 97 NONAME + _ZN16QDeclarativeGrid7setRowsEi @ 98 NONAME + _ZN16QDeclarativeGridC1EP16QDeclarativeItem @ 99 NONAME + _ZN16QDeclarativeGridC2EP16QDeclarativeItem @ 100 NONAME + _ZN16QDeclarativeInfoC1EPK7QObject @ 101 NONAME + _ZN16QDeclarativeInfoC2EPK7QObject @ 102 NONAME + _ZN16QDeclarativeInfoD1Ev @ 103 NONAME + _ZN16QDeclarativeInfoD2Ev @ 104 NONAME + _ZN16QDeclarativeItem10classBeginEv @ 105 NONAME + _ZN16QDeclarativeItem10itemChangeEN13QGraphicsItem18GraphicsItemChangeERK8QVariant @ 106 NONAME + _ZN16QDeclarativeItem10resetWidthEv @ 107 NONAME + _ZN16QDeclarativeItem10sceneEventEP6QEvent @ 108 NONAME + _ZN16QDeclarativeItem11clipChangedEb @ 109 NONAME + _ZN16QDeclarativeItem11qt_metacallEN11QMetaObject4CallEiPPv @ 110 NONAME + _ZN16QDeclarativeItem11qt_metacastEPKc @ 111 NONAME + _ZN16QDeclarativeItem11resetHeightEv @ 112 NONAME + _ZN16QDeclarativeItem11transitionsEv @ 113 NONAME + _ZN16QDeclarativeItem12childrenRectEv @ 114 NONAME + _ZN16QDeclarativeItem12focusChangedEb @ 115 NONAME + _ZN16QDeclarativeItem12stateChangedERK7QString @ 116 NONAME + _ZN16QDeclarativeItem13keyPressEventEP9QKeyEvent @ 117 NONAME + _ZN16QDeclarativeItem13parentChangedEPS_ @ 118 NONAME + _ZN16QDeclarativeItem13setParentItemEPS_ @ 119 NONAME + _ZN16QDeclarativeItem13smoothChangedEb @ 120 NONAME + _ZN16QDeclarativeItem15childrenChangedEv @ 121 NONAME + _ZN16QDeclarativeItem15geometryChangedERK6QRectFS2_ @ 122 NONAME + _ZN16QDeclarativeItem15keyReleaseEventEP9QKeyEvent @ 123 NONAME + _ZN16QDeclarativeItem16inputMethodEventEP17QInputMethodEvent @ 124 NONAME + _ZN16QDeclarativeItem16setImplicitWidthEf @ 125 NONAME + _ZN16QDeclarativeItem16setKeepMouseGrabEb @ 126 NONAME + _ZN16QDeclarativeItem16staticMetaObjectE @ 127 NONAME DATA 16 + _ZN16QDeclarativeItem17componentCompleteEv @ 128 NONAME + _ZN16QDeclarativeItem17setBaselineOffsetEf @ 129 NONAME + _ZN16QDeclarativeItem17setImplicitHeightEf @ 130 NONAME + _ZN16QDeclarativeItem17wantsFocusChangedEb @ 131 NONAME + _ZN16QDeclarativeItem18setTransformOriginENS_15TransformOriginE @ 132 NONAME + _ZN16QDeclarativeItem19childrenRectChangedERK6QRectF @ 133 NONAME + _ZN16QDeclarativeItem19getStaticMetaObjectEv @ 134 NONAME + _ZN16QDeclarativeItem21baselineOffsetChangedEf @ 135 NONAME + _ZN16QDeclarativeItem22transformOriginChangedENS_15TransformOriginE @ 136 NONAME + _ZN16QDeclarativeItem4dataEv @ 137 NONAME + _ZN16QDeclarativeItem5eventEP6QEvent @ 138 NONAME + _ZN16QDeclarativeItem5paintEP8QPainterPK24QStyleOptionGraphicsItemP7QWidget @ 139 NONAME + _ZN16QDeclarativeItem6statesEv @ 140 NONAME + _ZN16QDeclarativeItem7anchorsEv @ 141 NONAME + _ZN16QDeclarativeItem7setClipEb @ 142 NONAME + _ZN16QDeclarativeItem7setSizeERK6QSizeF @ 143 NONAME + _ZN16QDeclarativeItem8setFocusEb @ 144 NONAME + _ZN16QDeclarativeItem8setStateERK7QString @ 145 NONAME + _ZN16QDeclarativeItem8setWidthEf @ 146 NONAME + _ZN16QDeclarativeItem9resourcesEv @ 147 NONAME + _ZN16QDeclarativeItem9setHeightEf @ 148 NONAME + _ZN16QDeclarativeItem9setSmoothEb @ 149 NONAME + _ZN16QDeclarativeItem9transformEv @ 150 NONAME + _ZN16QDeclarativeItemC1EPS_ @ 151 NONAME + _ZN16QDeclarativeItemC1ER23QDeclarativeItemPrivatePS_ @ 152 NONAME + _ZN16QDeclarativeItemC2EPS_ @ 153 NONAME + _ZN16QDeclarativeItemC2ER23QDeclarativeItemPrivatePS_ @ 154 NONAME + _ZN16QDeclarativeItemD0Ev @ 155 NONAME + _ZN16QDeclarativeItemD1Ev @ 156 NONAME + _ZN16QDeclarativeItemD2Ev @ 157 NONAME + _ZN16QDeclarativePath11interpolateEiRK7QStringf @ 158 NONAME + _ZN16QDeclarativePath11processPathEv @ 159 NONAME + _ZN16QDeclarativePath11qt_metacallEN11QMetaObject4CallEiPPv @ 160 NONAME + _ZN16QDeclarativePath11qt_metacastEPKc @ 161 NONAME + _ZN16QDeclarativePath12pathElementsEv @ 162 NONAME + _ZN16QDeclarativePath13startXChangedEv @ 163 NONAME + _ZN16QDeclarativePath13startYChangedEv @ 164 NONAME + _ZN16QDeclarativePath16staticMetaObjectE @ 165 NONAME DATA 16 + _ZN16QDeclarativePath17componentCompleteEv @ 166 NONAME + _ZN16QDeclarativePath19getStaticMetaObjectEv @ 167 NONAME + _ZN16QDeclarativePath7changedEv @ 168 NONAME + _ZN16QDeclarativePath8endpointERK7QString @ 169 NONAME + _ZN16QDeclarativePath9setStartXEf @ 170 NONAME + _ZN16QDeclarativePath9setStartYEf @ 171 NONAME + _ZN16QDeclarativePathC1EP7QObject @ 172 NONAME + _ZN16QDeclarativePathC2EP7QObject @ 173 NONAME + _ZN16QDeclarativePathD0Ev @ 174 NONAME + _ZN16QDeclarativePathD1Ev @ 175 NONAME + _ZN16QDeclarativePathD2Ev @ 176 NONAME + _ZN16QDeclarativeText11fontChangedERK5QFont @ 177 NONAME + _ZN16QDeclarativeText11qt_metacallEN11QMetaObject4CallEiPPv @ 178 NONAME + _ZN16QDeclarativeText11qt_metacastEPKc @ 179 NONAME + _ZN16QDeclarativeText11textChangedERK7QString @ 180 NONAME + _ZN16QDeclarativeText11wrapChangedEb @ 181 NONAME + _ZN16QDeclarativeText12colorChangedERK6QColor @ 182 NONAME + _ZN16QDeclarativeText12setElideModeENS_13TextElideModeE @ 183 NONAME + _ZN16QDeclarativeText12styleChangedENS_9TextStyleE @ 184 NONAME + _ZN16QDeclarativeText13linkActivatedERK7QString @ 185 NONAME + _ZN16QDeclarativeText13setStyleColorERK6QColor @ 186 NONAME + _ZN16QDeclarativeText13setTextFormatENS_10TextFormatE @ 187 NONAME + _ZN16QDeclarativeText15geometryChangedERK6QRectFS2_ @ 188 NONAME + _ZN16QDeclarativeText15mousePressEventEP24QGraphicsSceneMouseEvent @ 189 NONAME + _ZN16QDeclarativeText16elideModeChangedENS_13TextElideModeE @ 190 NONAME + _ZN16QDeclarativeText16staticMetaObjectE @ 191 NONAME DATA 16 + _ZN16QDeclarativeText17componentCompleteEv @ 192 NONAME + _ZN16QDeclarativeText17mouseReleaseEventEP24QGraphicsSceneMouseEvent @ 193 NONAME + _ZN16QDeclarativeText17styleColorChangedERK6QColor @ 194 NONAME + _ZN16QDeclarativeText17textFormatChangedENS_10TextFormatE @ 195 NONAME + _ZN16QDeclarativeText19getStaticMetaObjectEv @ 196 NONAME + _ZN16QDeclarativeText24verticalAlignmentChangedENS_10VAlignmentE @ 197 NONAME + _ZN16QDeclarativeText26horizontalAlignmentChangedENS_10HAlignmentE @ 198 NONAME + _ZN16QDeclarativeText5paintEP8QPainterPK24QStyleOptionGraphicsItemP7QWidget @ 199 NONAME + _ZN16QDeclarativeText7setFontERK5QFont @ 200 NONAME + _ZN16QDeclarativeText7setTextERK7QString @ 201 NONAME + _ZN16QDeclarativeText7setWrapEb @ 202 NONAME + _ZN16QDeclarativeText8setColorERK6QColor @ 203 NONAME + _ZN16QDeclarativeText8setStyleENS_9TextStyleE @ 204 NONAME + _ZN16QDeclarativeText9setHAlignENS_10HAlignmentE @ 205 NONAME + _ZN16QDeclarativeText9setVAlignENS_10VAlignmentE @ 206 NONAME + _ZN16QDeclarativeTextC1EP16QDeclarativeItem @ 207 NONAME + _ZN16QDeclarativeTextC2EP16QDeclarativeItem @ 208 NONAME + _ZN16QDeclarativeTextD0Ev @ 209 NONAME + _ZN16QDeclarativeTextD1Ev @ 210 NONAME + _ZN16QDeclarativeTextD2Ev @ 211 NONAME + _ZN16QDeclarativeTypeC1EiRKN19QDeclarativePrivate12RegisterTypeE @ 212 NONAME + _ZN16QDeclarativeTypeC1EiRKN19QDeclarativePrivate17RegisterInterfaceE @ 213 NONAME + _ZN16QDeclarativeTypeC2EiRKN19QDeclarativePrivate12RegisterTypeE @ 214 NONAME + _ZN16QDeclarativeTypeC2EiRKN19QDeclarativePrivate17RegisterInterfaceE @ 215 NONAME + _ZN16QDeclarativeTypeD1Ev @ 216 NONAME + _ZN16QDeclarativeTypeD2Ev @ 217 NONAME + _ZN16QDeclarativeView10paintEventEP11QPaintEvent @ 218 NONAME + _ZN16QDeclarativeView10timerEventEP11QTimerEvent @ 219 NONAME + _ZN16QDeclarativeView11qt_metacallEN11QMetaObject4CallEiPPv @ 220 NONAME + _ZN16QDeclarativeView11qt_metacastEPKc @ 221 NONAME + _ZN16QDeclarativeView11resizeEventEP12QResizeEvent @ 222 NONAME + _ZN16QDeclarativeView11rootContextEv @ 223 NONAME + _ZN16QDeclarativeView11sizeChangedEv @ 224 NONAME + _ZN16QDeclarativeView12sceneResizedE5QSize @ 225 NONAME + _ZN16QDeclarativeView13setResizeModeENS_10ResizeModeE @ 226 NONAME + _ZN16QDeclarativeView13setRootObjectEP7QObject @ 227 NONAME + _ZN16QDeclarativeView13statusChangedENS_6StatusE @ 228 NONAME + _ZN16QDeclarativeView15continueExecuteEv @ 229 NONAME + _ZN16QDeclarativeView16staticMetaObjectE @ 230 NONAME DATA 16 + _ZN16QDeclarativeView19getStaticMetaObjectEv @ 231 NONAME + _ZN16QDeclarativeView6engineEv @ 232 NONAME + _ZN16QDeclarativeView9setSourceERK4QUrl @ 233 NONAME + _ZN16QDeclarativeViewC1EP7QWidget @ 234 NONAME + _ZN16QDeclarativeViewC1ERK4QUrlP7QWidget @ 235 NONAME + _ZN16QDeclarativeViewC2EP7QWidget @ 236 NONAME + _ZN16QDeclarativeViewC2ERK4QUrlP7QWidget @ 237 NONAME + _ZN16QDeclarativeViewD0Ev @ 238 NONAME + _ZN16QDeclarativeViewD1Ev @ 239 NONAME + _ZN16QDeclarativeViewD2Ev @ 240 NONAME + _ZN16QMetaEnumBuilder6addKeyERK10QByteArrayi @ 241 NONAME + _ZN16QMetaEnumBuilder9removeKeyEi @ 242 NONAME + _ZN16QMetaEnumBuilder9setIsFlagEb @ 243 NONAME + _ZN17QDeclarativeCurve11qt_metacallEN11QMetaObject4CallEiPPv @ 244 NONAME + _ZN17QDeclarativeCurve11qt_metacastEPKc @ 245 NONAME + _ZN17QDeclarativeCurve16staticMetaObjectE @ 246 NONAME DATA 16 + _ZN17QDeclarativeCurve19getStaticMetaObjectEv @ 247 NONAME + _ZN17QDeclarativeCurve4setXEf @ 248 NONAME + _ZN17QDeclarativeCurve4setYEf @ 249 NONAME + _ZN17QDeclarativeError14setDescriptionERK7QString @ 250 NONAME + _ZN17QDeclarativeError6setUrlERK4QUrl @ 251 NONAME + _ZN17QDeclarativeError7setLineEi @ 252 NONAME + _ZN17QDeclarativeError9setColumnEi @ 253 NONAME + _ZN17QDeclarativeErrorC1ERKS_ @ 254 NONAME + _ZN17QDeclarativeErrorC1Ev @ 255 NONAME + _ZN17QDeclarativeErrorC2ERKS_ @ 256 NONAME + _ZN17QDeclarativeErrorC2Ev @ 257 NONAME + _ZN17QDeclarativeErrorD1Ev @ 258 NONAME + _ZN17QDeclarativeErrorD2Ev @ 259 NONAME + _ZN17QDeclarativeErroraSERKS_ @ 260 NONAME + _ZN17QDeclarativeImage11qt_metacallEN11QMetaObject4CallEiPPv @ 261 NONAME + _ZN17QDeclarativeImage11qt_metacastEPKc @ 262 NONAME + _ZN17QDeclarativeImage11setFillModeENS_8FillModeE @ 263 NONAME + _ZN17QDeclarativeImage12pixmapChangeEv @ 264 NONAME + _ZN17QDeclarativeImage13pixmapChangedEv @ 265 NONAME + _ZN17QDeclarativeImage15fillModeChangedEv @ 266 NONAME + _ZN17QDeclarativeImage15geometryChangedERK6QRectFS2_ @ 267 NONAME + _ZN17QDeclarativeImage16staticMetaObjectE @ 268 NONAME DATA 16 + _ZN17QDeclarativeImage19getStaticMetaObjectEv @ 269 NONAME + _ZN17QDeclarativeImage21updatePaintedGeometryEv @ 270 NONAME + _ZN17QDeclarativeImage22paintedGeometryChangedEv @ 271 NONAME + _ZN17QDeclarativeImage5paintEP8QPainterPK24QStyleOptionGraphicsItemP7QWidget @ 272 NONAME + _ZN17QDeclarativeImage9setPixmapERK7QPixmap @ 273 NONAME + _ZN17QDeclarativeImageC1EP16QDeclarativeItem @ 274 NONAME + _ZN17QDeclarativeImageC1ER24QDeclarativeImagePrivateP16QDeclarativeItem @ 275 NONAME + _ZN17QDeclarativeImageC2EP16QDeclarativeItem @ 276 NONAME + _ZN17QDeclarativeImageC2ER24QDeclarativeImagePrivateP16QDeclarativeItem @ 277 NONAME + _ZN17QDeclarativeImageD0Ev @ 278 NONAME + _ZN17QDeclarativeImageD1Ev @ 279 NONAME + _ZN17QDeclarativeImageD2Ev @ 280 NONAME + _ZN17QDeclarativeState10setExtendsERK7QString @ 281 NONAME + _ZN17QDeclarativeState11qt_metacallEN11QMetaObject4CallEiPPv @ 282 NONAME + _ZN17QDeclarativeState11qt_metacastEPKc @ 283 NONAME + _ZN17QDeclarativeState13setStateGroupEP22QDeclarativeStateGroup @ 284 NONAME + _ZN17QDeclarativeState16staticMetaObjectE @ 285 NONAME DATA 16 + _ZN17QDeclarativeState19getStaticMetaObjectEv @ 286 NONAME + _ZN17QDeclarativeState5applyEP22QDeclarativeStateGroupP22QDeclarativeTransitionPS_ @ 287 NONAME + _ZN17QDeclarativeState6cancelEv @ 288 NONAME + _ZN17QDeclarativeState7changesEv @ 289 NONAME + _ZN17QDeclarativeState7setNameERK7QString @ 290 NONAME + _ZN17QDeclarativeState7setWhenEP19QDeclarativeBinding @ 291 NONAME + _ZN17QDeclarativeState9completedEv @ 292 NONAME + _ZN17QDeclarativeStateC1EP7QObject @ 293 NONAME + _ZN17QDeclarativeStateC2EP7QObject @ 294 NONAME + _ZN17QDeclarativeStateD0Ev @ 295 NONAME + _ZN17QDeclarativeStateD1Ev @ 296 NONAME + _ZN17QDeclarativeStateD2Ev @ 297 NONAME + _ZN17QDeclarativeStatelsEP26QDeclarativeStateOperation @ 298 NONAME + _ZN17QDeclarativeTimer10classBeginEv @ 299 NONAME + _ZN17QDeclarativeTimer10setRunningEb @ 300 NONAME + _ZN17QDeclarativeTimer11qt_metacallEN11QMetaObject4CallEiPPv @ 301 NONAME + _ZN17QDeclarativeTimer11qt_metacastEPKc @ 302 NONAME + _ZN17QDeclarativeTimer11setIntervalEi @ 303 NONAME + _ZN17QDeclarativeTimer12setRepeatingEb @ 304 NONAME + _ZN17QDeclarativeTimer13repeatChangedEv @ 305 NONAME _ZN17QDeclarativeTimer14runningChangedEv @ 306 NONAME - _ZN17QDeclarativeTimer16staticMetaObjectE @ 307 NONAME DATA 16 - _ZN17QDeclarativeTimer17componentCompleteEv @ 308 NONAME - _ZN17QDeclarativeTimer19getStaticMetaObjectEv @ 309 NONAME - _ZN17QDeclarativeTimer19setTriggeredOnStartEb @ 310 NONAME - _ZN17QDeclarativeTimer4stopEv @ 311 NONAME - _ZN17QDeclarativeTimer5startEv @ 312 NONAME - _ZN17QDeclarativeTimer6tickedEv @ 313 NONAME - _ZN17QDeclarativeTimer6updateEv @ 314 NONAME - _ZN17QDeclarativeTimer7restartEv @ 315 NONAME - _ZN17QDeclarativeTimer8finishedEv @ 316 NONAME - _ZN17QDeclarativeTimer9triggeredEv @ 317 NONAME - _ZN17QDeclarativeTimerC1EP7QObject @ 318 NONAME - _ZN17QDeclarativeTimerC2EP7QObject @ 319 NONAME - _ZN18QDeclarativeAction17deleteFromBindingEv @ 320 NONAME - _ZN18QDeclarativeActionC1EP7QObjectRK7QStringRK8QVariant @ 321 NONAME - _ZN18QDeclarativeActionC1Ev @ 322 NONAME - _ZN18QDeclarativeActionC2EP7QObjectRK7QStringRK8QVariant @ 323 NONAME - _ZN18QDeclarativeActionC2Ev @ 324 NONAME - _ZN18QDeclarativeColumn11qt_metacallEN11QMetaObject4CallEiPPv @ 325 NONAME - _ZN18QDeclarativeColumn11qt_metacastEPKc @ 326 NONAME - _ZN18QDeclarativeColumn13doPositioningEv @ 327 NONAME - _ZN18QDeclarativeColumn16staticMetaObjectE @ 328 NONAME DATA 16 - _ZN18QDeclarativeColumn19getStaticMetaObjectEv @ 329 NONAME - _ZN18QDeclarativeColumnC1EP16QDeclarativeItem @ 330 NONAME - _ZN18QDeclarativeColumnC2EP16QDeclarativeItem @ 331 NONAME - _ZN18QDeclarativeEngine10setBaseUrlERK4QUrl @ 332 NONAME - _ZN18QDeclarativeEngine11qt_metacallEN11QMetaObject4CallEiPPv @ 333 NONAME - _ZN18QDeclarativeEngine11qt_metacastEPKc @ 334 NONAME - _ZN18QDeclarativeEngine11rootContextEv @ 335 NONAME - _ZN18QDeclarativeEngine13addImportPathERK7QString @ 336 NONAME - _ZN18QDeclarativeEngine15importExtensionERK7QStringS2_ @ 337 NONAME - _ZN18QDeclarativeEngine16addImageProviderERK7QStringP25QDeclarativeImageProvider @ 338 NONAME - _ZN18QDeclarativeEngine16contextForObjectEPK7QObject @ 339 NONAME - _ZN18QDeclarativeEngine16staticMetaObjectE @ 340 NONAME DATA 16 - _ZN18QDeclarativeEngine19clearComponentCacheEv @ 341 NONAME - _ZN18QDeclarativeEngine19getStaticMetaObjectEv @ 342 NONAME - _ZN18QDeclarativeEngine19removeImageProviderERK7QString @ 343 NONAME - _ZN18QDeclarativeEngine19setContextForObjectEP7QObjectP19QDeclarativeContext @ 344 NONAME - _ZN18QDeclarativeEngine21setOfflineStoragePathERK7QString @ 345 NONAME - _ZN18QDeclarativeEngine30setNetworkAccessManagerFactoryEP39QDeclarativeNetworkAccessManagerFactory @ 346 NONAME - _ZN18QDeclarativeEngine4quitEv @ 347 NONAME - _ZN18QDeclarativeEngineC1EP7QObject @ 348 NONAME - _ZN18QDeclarativeEngineC2EP7QObject @ 349 NONAME - _ZN18QDeclarativeEngineD0Ev @ 350 NONAME - _ZN18QDeclarativeEngineD1Ev @ 351 NONAME - _ZN18QDeclarativeEngineD2Ev @ 352 NONAME - _ZN18QDeclarativeLoader10itemChangeEN13QGraphicsItem18GraphicsItemChangeERK8QVariant @ 353 NONAME - _ZN18QDeclarativeLoader11eventFilterEP7QObjectP6QEvent @ 354 NONAME - _ZN18QDeclarativeLoader11itemChangedEv @ 355 NONAME - _ZN18QDeclarativeLoader11qt_metacallEN11QMetaObject4CallEiPPv @ 356 NONAME - _ZN18QDeclarativeLoader11qt_metacastEPKc @ 357 NONAME - _ZN18QDeclarativeLoader13setResizeModeENS_10ResizeModeE @ 358 NONAME - _ZN18QDeclarativeLoader13sourceChangedEv @ 359 NONAME - _ZN18QDeclarativeLoader13statusChangedEv @ 360 NONAME - _ZN18QDeclarativeLoader15geometryChangedERK6QRectFS2_ @ 361 NONAME - _ZN18QDeclarativeLoader15progressChangedEv @ 362 NONAME - _ZN18QDeclarativeLoader16staticMetaObjectE @ 363 NONAME DATA 16 - _ZN18QDeclarativeLoader17resizeModeChangedEv @ 364 NONAME - _ZN18QDeclarativeLoader18setSourceComponentEP21QDeclarativeComponent @ 365 NONAME - _ZN18QDeclarativeLoader19getStaticMetaObjectEv @ 366 NONAME - _ZN18QDeclarativeLoader9setSourceERK4QUrl @ 367 NONAME - _ZN18QDeclarativeLoaderC1EP16QDeclarativeItem @ 368 NONAME - _ZN18QDeclarativeLoaderC2EP16QDeclarativeItem @ 369 NONAME - _ZN18QDeclarativeLoaderD0Ev @ 370 NONAME - _ZN18QDeclarativeLoaderD1Ev @ 371 NONAME - _ZN18QDeclarativeLoaderD2Ev @ 372 NONAME - _ZN18QMetaMethodBuilder13setAttributesEi @ 373 NONAME - _ZN18QMetaMethodBuilder13setReturnTypeERK10QByteArray @ 374 NONAME - _ZN18QMetaMethodBuilder17setParameterNamesERK5QListI10QByteArrayE @ 375 NONAME - _ZN18QMetaMethodBuilder6setTagERK10QByteArray @ 376 NONAME - _ZN18QMetaMethodBuilder9setAccessEN11QMetaMethod6AccessE @ 377 NONAME - _ZN18QMetaObjectBuilder11addPropertyERK10QByteArrayS2_i @ 378 NONAME - _ZN18QMetaObjectBuilder11addPropertyERK13QMetaProperty @ 379 NONAME - _ZN18QMetaObjectBuilder11deserializeER11QDataStreamRK4QMapI10QByteArrayPK11QMetaObjectE @ 380 NONAME - _ZN18QMetaObjectBuilder11indexOfSlotERK10QByteArray @ 381 NONAME - _ZN18QMetaObjectBuilder12addClassInfoERK10QByteArrayS2_ @ 382 NONAME - _ZN18QMetaObjectBuilder12removeMethodEi @ 383 NONAME - _ZN18QMetaObjectBuilder12setClassNameERK10QByteArray @ 384 NONAME - _ZN18QMetaObjectBuilder13addEnumeratorERK10QByteArray @ 385 NONAME - _ZN18QMetaObjectBuilder13addEnumeratorERK9QMetaEnum @ 386 NONAME - _ZN18QMetaObjectBuilder13addMetaObjectEPK11QMetaObject6QFlagsINS_9AddMemberEE @ 387 NONAME - _ZN18QMetaObjectBuilder13indexOfMethodERK10QByteArray @ 388 NONAME - _ZN18QMetaObjectBuilder13indexOfSignalERK10QByteArray @ 389 NONAME - _ZN18QMetaObjectBuilder13setSuperClassEPK11QMetaObject @ 390 NONAME - _ZN18QMetaObjectBuilder14addConstructorERK10QByteArray @ 391 NONAME - _ZN18QMetaObjectBuilder14addConstructorERK11QMetaMethod @ 392 NONAME - _ZN18QMetaObjectBuilder14removePropertyEi @ 393 NONAME - _ZN18QMetaObjectBuilder15indexOfPropertyERK10QByteArray @ 394 NONAME - _ZN18QMetaObjectBuilder15removeClassInfoEi @ 395 NONAME - _ZN18QMetaObjectBuilder16indexOfClassInfoERK10QByteArray @ 396 NONAME - _ZN18QMetaObjectBuilder16removeEnumeratorEi @ 397 NONAME - _ZN18QMetaObjectBuilder17indexOfEnumeratorERK10QByteArray @ 398 NONAME - _ZN18QMetaObjectBuilder17removeConstructorEi @ 399 NONAME - _ZN18QMetaObjectBuilder18indexOfConstructorERK10QByteArray @ 400 NONAME - _ZN18QMetaObjectBuilder19fromRelocatableDataEP11QMetaObjectPKS0_RK10QByteArray @ 401 NONAME - _ZN18QMetaObjectBuilder20addRelatedMetaObjectERKPFRK11QMetaObjectvE @ 402 NONAME - _ZN18QMetaObjectBuilder23removeRelatedMetaObjectEi @ 403 NONAME - _ZN18QMetaObjectBuilder25setStaticMetacallFunctionEPFiN11QMetaObject4CallEiPPvE @ 404 NONAME - _ZN18QMetaObjectBuilder7addSlotERK10QByteArray @ 405 NONAME - _ZN18QMetaObjectBuilder8setFlagsE6QFlagsINS_14MetaObjectFlagEE @ 406 NONAME - _ZN18QMetaObjectBuilder9addMethodERK10QByteArray @ 407 NONAME - _ZN18QMetaObjectBuilder9addMethodERK10QByteArrayS2_ @ 408 NONAME - _ZN18QMetaObjectBuilder9addMethodERK11QMetaMethod @ 409 NONAME - _ZN18QMetaObjectBuilder9addSignalERK10QByteArray @ 410 NONAME - _ZN18QMetaObjectBuilderC1EPK11QMetaObject6QFlagsINS_9AddMemberEE @ 411 NONAME - _ZN18QMetaObjectBuilderC1Ev @ 412 NONAME - _ZN18QMetaObjectBuilderC2EPK11QMetaObject6QFlagsINS_9AddMemberEE @ 413 NONAME - _ZN18QMetaObjectBuilderC2Ev @ 414 NONAME - _ZN18QMetaObjectBuilderD0Ev @ 415 NONAME - _ZN18QMetaObjectBuilderD1Ev @ 416 NONAME - _ZN18QMetaObjectBuilderD2Ev @ 417 NONAME - _ZN19QDeclarativeAnchors10classBeginEv @ 418 NONAME - _ZN19QDeclarativeAnchors10resetRightEv @ 419 NONAME - _ZN19QDeclarativeAnchors10setMarginsEf @ 420 NONAME - _ZN19QDeclarativeAnchors10topChangedEv @ 421 NONAME - _ZN19QDeclarativeAnchors11fillChangedEv @ 422 NONAME - _ZN19QDeclarativeAnchors11leftChangedEv @ 423 NONAME - _ZN19QDeclarativeAnchors11qt_metacallEN11QMetaObject4CallEiPPv @ 424 NONAME - _ZN19QDeclarativeAnchors11qt_metacastEPKc @ 425 NONAME - _ZN19QDeclarativeAnchors11resetBottomEv @ 426 NONAME - _ZN19QDeclarativeAnchors11setBaselineERK22QDeclarativeAnchorLine @ 427 NONAME - _ZN19QDeclarativeAnchors11setCenterInEP16QDeclarativeItem @ 428 NONAME - _ZN19QDeclarativeAnchors12rightChangedEv @ 429 NONAME - _ZN19QDeclarativeAnchors12setTopMarginEf @ 430 NONAME - _ZN19QDeclarativeAnchors13bottomChangedEv @ 431 NONAME - _ZN19QDeclarativeAnchors13resetBaselineEv @ 432 NONAME - _ZN19QDeclarativeAnchors13resetCenterInEv @ 433 NONAME - _ZN19QDeclarativeAnchors13setLeftMarginEf @ 434 NONAME - _ZN19QDeclarativeAnchors14marginsChangedEv @ 435 NONAME - _ZN19QDeclarativeAnchors14setRightMarginEf @ 436 NONAME - _ZN19QDeclarativeAnchors15baselineChangedEv @ 437 NONAME - _ZN19QDeclarativeAnchors15centerInChangedEv @ 438 NONAME - _ZN19QDeclarativeAnchors15setBottomMarginEf @ 439 NONAME - _ZN19QDeclarativeAnchors16staticMetaObjectE @ 440 NONAME DATA 16 - _ZN19QDeclarativeAnchors16topMarginChangedEv @ 441 NONAME - _ZN19QDeclarativeAnchors17componentCompleteEv @ 442 NONAME - _ZN19QDeclarativeAnchors17leftMarginChangedEv @ 443 NONAME - _ZN19QDeclarativeAnchors17setBaselineOffsetEf @ 444 NONAME - _ZN19QDeclarativeAnchors17setVerticalCenterERK22QDeclarativeAnchorLine @ 445 NONAME - _ZN19QDeclarativeAnchors18rightMarginChangedEv @ 446 NONAME - _ZN19QDeclarativeAnchors19bottomMarginChangedEv @ 447 NONAME - _ZN19QDeclarativeAnchors19getStaticMetaObjectEv @ 448 NONAME - _ZN19QDeclarativeAnchors19resetVerticalCenterEv @ 449 NONAME - _ZN19QDeclarativeAnchors19setHorizontalCenterERK22QDeclarativeAnchorLine @ 450 NONAME - _ZN19QDeclarativeAnchors21baselineOffsetChangedEv @ 451 NONAME - _ZN19QDeclarativeAnchors21resetHorizontalCenterEv @ 452 NONAME - _ZN19QDeclarativeAnchors21verticalCenterChangedEv @ 453 NONAME - _ZN19QDeclarativeAnchors23horizontalCenterChangedEv @ 454 NONAME - _ZN19QDeclarativeAnchors23setVerticalCenterOffsetEf @ 455 NONAME - _ZN19QDeclarativeAnchors25setHorizontalCenterOffsetEf @ 456 NONAME - _ZN19QDeclarativeAnchors27verticalCenterOffsetChangedEv @ 457 NONAME - _ZN19QDeclarativeAnchors29horizontalCenterOffsetChangedEv @ 458 NONAME - _ZN19QDeclarativeAnchors6setTopERK22QDeclarativeAnchorLine @ 459 NONAME - _ZN19QDeclarativeAnchors7setFillEP16QDeclarativeItem @ 460 NONAME - _ZN19QDeclarativeAnchors7setLeftERK22QDeclarativeAnchorLine @ 461 NONAME - _ZN19QDeclarativeAnchors8resetTopEv @ 462 NONAME - _ZN19QDeclarativeAnchors8setRightERK22QDeclarativeAnchorLine @ 463 NONAME - _ZN19QDeclarativeAnchors9resetFillEv @ 464 NONAME - _ZN19QDeclarativeAnchors9resetLeftEv @ 465 NONAME - _ZN19QDeclarativeAnchors9setBottomERK22QDeclarativeAnchorLine @ 466 NONAME - _ZN19QDeclarativeAnchorsC1EP16QDeclarativeItemP7QObject @ 467 NONAME - _ZN19QDeclarativeAnchorsC1EP7QObject @ 468 NONAME - _ZN19QDeclarativeAnchorsC2EP16QDeclarativeItemP7QObject @ 469 NONAME - _ZN19QDeclarativeAnchorsC2EP7QObject @ 470 NONAME - _ZN19QDeclarativeAnchorsD0Ev @ 471 NONAME - _ZN19QDeclarativeAnchorsD1Ev @ 472 NONAME - _ZN19QDeclarativeAnchorsD2Ev @ 473 NONAME - _ZN19QDeclarativeContext10setBaseUrlERK4QUrl @ 474 NONAME - _ZN19QDeclarativeContext11qt_metacallEN11QMetaObject4CallEiPPv @ 475 NONAME - _ZN19QDeclarativeContext11qt_metacastEPKc @ 476 NONAME - _ZN19QDeclarativeContext11resolvedUrlERK4QUrl @ 477 NONAME - _ZN19QDeclarativeContext16addDefaultObjectEP7QObject @ 478 NONAME - _ZN19QDeclarativeContext16staticMetaObjectE @ 479 NONAME DATA 16 - _ZN19QDeclarativeContext18setContextPropertyERK7QStringP7QObject @ 480 NONAME - _ZN19QDeclarativeContext18setContextPropertyERK7QStringRK8QVariant @ 481 NONAME - _ZN19QDeclarativeContext19getStaticMetaObjectEv @ 482 NONAME - _ZN19QDeclarativeContextC1EP18QDeclarativeEngineP7QObject @ 483 NONAME - _ZN19QDeclarativeContextC1EP18QDeclarativeEngineb @ 484 NONAME - _ZN19QDeclarativeContextC1EPS_P7QObject @ 485 NONAME - _ZN19QDeclarativeContextC1EPS_P7QObjectb @ 486 NONAME - _ZN19QDeclarativeContextC2EP18QDeclarativeEngineP7QObject @ 487 NONAME - _ZN19QDeclarativeContextC2EP18QDeclarativeEngineb @ 488 NONAME - _ZN19QDeclarativeContextC2EPS_P7QObject @ 489 NONAME - _ZN19QDeclarativeContextC2EPS_P7QObjectb @ 490 NONAME - _ZN19QDeclarativeContextD0Ev @ 491 NONAME - _ZN19QDeclarativeContextD1Ev @ 492 NONAME - _ZN19QDeclarativeContextD2Ev @ 493 NONAME - _ZN19QDeclarativeDomListC1ERKS_ @ 494 NONAME - _ZN19QDeclarativeDomListC1Ev @ 495 NONAME - _ZN19QDeclarativeDomListC2ERKS_ @ 496 NONAME - _ZN19QDeclarativeDomListC2Ev @ 497 NONAME - _ZN19QDeclarativeDomListD1Ev @ 498 NONAME - _ZN19QDeclarativeDomListD2Ev @ 499 NONAME - _ZN19QDeclarativeDomListaSERKS_ @ 500 NONAME - _ZN19QDeclarativePrivate12registerTypeERKNS_12RegisterTypeE @ 501 NONAME - _ZN19QDeclarativePrivate12registerTypeERKNS_17RegisterInterfaceE @ 502 NONAME - _ZN19QDeclarativeWebPage10chooseFileEP9QWebFrameRK7QString @ 503 NONAME - _ZN19QDeclarativeWebPage11qt_metacallEN11QMetaObject4CallEiPPv @ 504 NONAME - _ZN19QDeclarativeWebPage11qt_metacastEPKc @ 505 NONAME - _ZN19QDeclarativeWebPage12createPluginERK7QStringRK4QUrlRK11QStringListS8_ @ 506 NONAME - _ZN19QDeclarativeWebPage12createWindowEN8QWebPage13WebWindowTypeE @ 507 NONAME - _ZN19QDeclarativeWebPage15javaScriptAlertEP9QWebFrameRK7QString @ 508 NONAME - _ZN19QDeclarativeWebPage16javaScriptPromptEP9QWebFrameRK7QStringS4_PS2_ @ 509 NONAME - _ZN19QDeclarativeWebPage16staticMetaObjectE @ 510 NONAME DATA 16 - _ZN19QDeclarativeWebPage17javaScriptConfirmEP9QWebFrameRK7QString @ 511 NONAME - _ZN19QDeclarativeWebPage19getStaticMetaObjectEv @ 512 NONAME - _ZN19QDeclarativeWebPage24javaScriptConsoleMessageERK7QStringiS2_ @ 513 NONAME - _ZN19QDeclarativeWebPage8viewItemEv @ 514 NONAME - _ZN19QDeclarativeWebPageC1EP19QDeclarativeWebView @ 515 NONAME - _ZN19QDeclarativeWebPageC2EP19QDeclarativeWebView @ 516 NONAME - _ZN19QDeclarativeWebPageD0Ev @ 517 NONAME - _ZN19QDeclarativeWebPageD1Ev @ 518 NONAME - _ZN19QDeclarativeWebPageD2Ev @ 519 NONAME - _ZN19QDeclarativeWebView10loadFailedEv @ 520 NONAME - _ZN19QDeclarativeWebView10sceneEventEP6QEvent @ 521 NONAME - _ZN19QDeclarativeWebView10setContentERK10QByteArrayRK7QStringRK4QUrl @ 522 NONAME - _ZN19QDeclarativeWebView10timerEventEP11QTimerEvent @ 523 NONAME - _ZN19QDeclarativeWebView10urlChangedEv @ 524 NONAME - _ZN19QDeclarativeWebView11doubleClickEii @ 525 NONAME - _ZN19QDeclarativeWebView11htmlChangedEv @ 526 NONAME - _ZN19QDeclarativeWebView11iconChangedEv @ 527 NONAME - _ZN19QDeclarativeWebView11loadStartedEv @ 528 NONAME - _ZN19QDeclarativeWebView11qt_metacallEN11QMetaObject4CallEiPPv @ 529 NONAME - _ZN19QDeclarativeWebView11qt_metacastEPKc @ 530 NONAME - _ZN19QDeclarativeWebView12createWindowEN8QWebPage13WebWindowTypeE @ 531 NONAME - _ZN19QDeclarativeWebView12drawContentsEP8QPainterRK5QRect @ 532 NONAME - _ZN19QDeclarativeWebView12focusChangedEb @ 533 NONAME - _ZN19QDeclarativeWebView12loadFinishedEv @ 534 NONAME - _ZN19QDeclarativeWebView12titleChangedERK7QString @ 535 NONAME - _ZN19QDeclarativeWebView13doLoadStartedEv @ 536 NONAME - _ZN19QDeclarativeWebView13heuristicZoomEiif @ 537 NONAME - _ZN19QDeclarativeWebView13initialLayoutEv @ 538 NONAME - _ZN19QDeclarativeWebView13keyPressEventEP9QKeyEvent @ 539 NONAME - _ZN19QDeclarativeWebView13setStatusTextERK7QString @ 540 NONAME - _ZN19QDeclarativeWebView13setZoomFactorEf @ 541 NONAME - _ZN19QDeclarativeWebView13statusChangedENS_6StatusE @ 542 NONAME - _ZN19QDeclarativeWebView14doLoadFinishedEb @ 543 NONAME - _ZN19QDeclarativeWebView14doLoadProgressEi @ 544 NONAME - _ZN19QDeclarativeWebView14hoverMoveEventEP24QGraphicsSceneHoverEvent @ 545 NONAME - _ZN19QDeclarativeWebView14mouseMoveEventEP24QGraphicsSceneMouseEvent @ 546 NONAME - _ZN19QDeclarativeWebView14pageUrlChangedEv @ 547 NONAME - _ZN19QDeclarativeWebView15expandToWebPageEv @ 548 NONAME - _ZN19QDeclarativeWebView15geometryChangedERK6QRectFS2_ @ 549 NONAME - _ZN19QDeclarativeWebView15keyReleaseEventEP9QKeyEvent @ 550 NONAME - _ZN19QDeclarativeWebView15mousePressEventEP24QGraphicsSceneMouseEvent @ 551 NONAME - _ZN19QDeclarativeWebView15progressChangedEv @ 552 NONAME - _ZN19QDeclarativeWebView16setPressGrabTimeEi @ 553 NONAME - _ZN19QDeclarativeWebView16staticMetaObjectE @ 554 NONAME DATA 16 - _ZN19QDeclarativeWebView17componentCompleteEv @ 555 NONAME - _ZN19QDeclarativeWebView17mouseReleaseEventEP24QGraphicsSceneMouseEvent @ 556 NONAME - _ZN19QDeclarativeWebView17setPreferredWidthEi @ 557 NONAME - _ZN19QDeclarativeWebView17statusTextChangedEv @ 558 NONAME - _ZN19QDeclarativeWebView17zoomFactorChangedEv @ 559 NONAME - _ZN19QDeclarativeWebView18evaluateJavaScriptERK7QString @ 560 NONAME - _ZN19QDeclarativeWebView18setNewWindowParentEP16QDeclarativeItem @ 561 NONAME - _ZN19QDeclarativeWebView18setPreferredHeightEi @ 562 NONAME - _ZN19QDeclarativeWebView19getStaticMetaObjectEv @ 563 NONAME - _ZN19QDeclarativeWebView19setRenderingEnabledEb @ 564 NONAME - _ZN19QDeclarativeWebView19windowObjectClearedEv @ 565 NONAME - _ZN19QDeclarativeWebView20pressGrabTimeChangedEv @ 566 NONAME - _ZN19QDeclarativeWebView21mouseDoubleClickEventEP24QGraphicsSceneMouseEvent @ 567 NONAME - _ZN19QDeclarativeWebView21preferredWidthChangedEv @ 568 NONAME - _ZN19QDeclarativeWebView21qmlAttachedPropertiesEP7QObject @ 569 NONAME - _ZN19QDeclarativeWebView21setNewWindowComponentEP21QDeclarativeComponent @ 570 NONAME - _ZN19QDeclarativeWebView22newWindowParentChangedEv @ 571 NONAME - _ZN19QDeclarativeWebView22preferredHeightChangedEv @ 572 NONAME - _ZN19QDeclarativeWebView23javaScriptWindowObjectsEv @ 573 NONAME - _ZN19QDeclarativeWebView23noteContentsSizeChangedERK5QSize @ 574 NONAME - _ZN19QDeclarativeWebView23renderingEnabledChangedEv @ 575 NONAME - _ZN19QDeclarativeWebView25newWindowComponentChangedEv @ 576 NONAME - _ZN19QDeclarativeWebView27sceneMouseEventToMouseEventEP24QGraphicsSceneMouseEvent @ 577 NONAME - _ZN19QDeclarativeWebView31sceneHoverMoveEventToMouseEventEP24QGraphicsSceneHoverEvent @ 578 NONAME - _ZN19QDeclarativeWebView4initEv @ 579 NONAME - _ZN19QDeclarativeWebView4loadERK15QNetworkRequestN21QNetworkAccessManager9OperationERK10QByteArray @ 580 NONAME - _ZN19QDeclarativeWebView5alertERK7QString @ 581 NONAME - _ZN19QDeclarativeWebView6setUrlERK4QUrl @ 582 NONAME - _ZN19QDeclarativeWebView6zoomToEfii @ 583 NONAME - _ZN19QDeclarativeWebView7setHtmlERK7QStringRK4QUrl @ 584 NONAME - _ZN19QDeclarativeWebView7setPageEP8QWebPage @ 585 NONAME - _ZN19QDeclarativeWebView9paintPageERK5QRect @ 586 NONAME - _ZN19QDeclarativeWebViewC1EP16QDeclarativeItem @ 587 NONAME - _ZN19QDeclarativeWebViewC2EP16QDeclarativeItem @ 588 NONAME - _ZN19QDeclarativeWebViewD0Ev @ 589 NONAME - _ZN19QDeclarativeWebViewD1Ev @ 590 NONAME - _ZN19QDeclarativeWebViewD2Ev @ 591 NONAME - _ZN19QListModelInterface10itemsMovedEiii @ 592 NONAME - _ZN19QListModelInterface11qt_metacallEN11QMetaObject4CallEiPPv @ 593 NONAME - _ZN19QListModelInterface11qt_metacastEPKc @ 594 NONAME - _ZN19QListModelInterface12itemsChangedEiiRK5QListIiE @ 595 NONAME - _ZN19QListModelInterface12itemsRemovedEii @ 596 NONAME - _ZN19QListModelInterface13itemsInsertedEii @ 597 NONAME - _ZN19QListModelInterface16staticMetaObjectE @ 598 NONAME DATA 16 - _ZN19QListModelInterface19getStaticMetaObjectEv @ 599 NONAME - _ZN20QDeclarativeBehavior10setEnabledEb @ 600 NONAME - _ZN20QDeclarativeBehavior11qt_metacallEN11QMetaObject4CallEiPPv @ 601 NONAME - _ZN20QDeclarativeBehavior11qt_metacastEPKc @ 602 NONAME - _ZN20QDeclarativeBehavior12setAnimationEP29QDeclarativeAbstractAnimation @ 603 NONAME - _ZN20QDeclarativeBehavior14enabledChangedEv @ 604 NONAME - _ZN20QDeclarativeBehavior16staticMetaObjectE @ 605 NONAME DATA 16 - _ZN20QDeclarativeBehavior19getStaticMetaObjectEv @ 606 NONAME - _ZN20QDeclarativeBehavior5writeERK8QVariant @ 607 NONAME - _ZN20QDeclarativeBehavior9animationEv @ 608 NONAME - _ZN20QDeclarativeBehavior9setTargetERK20QDeclarativeProperty @ 609 NONAME - _ZN20QDeclarativeBehaviorC1EP7QObject @ 610 NONAME - _ZN20QDeclarativeBehaviorC2EP7QObject @ 611 NONAME - _ZN20QDeclarativeBehaviorD0Ev @ 612 NONAME - _ZN20QDeclarativeBehaviorD1Ev @ 613 NONAME - _ZN20QDeclarativeBehaviorD2Ev @ 614 NONAME - _ZN20QDeclarativeCompiler11buildObjectEPN18QDeclarativeParser6ObjectERKNS_14BindingContextE @ 615 NONAME - _ZN20QDeclarativeCompiler11buildScriptEPN18QDeclarativeParser6ObjectES2_ @ 616 NONAME - _ZN20QDeclarativeCompiler11buildSignalEPN18QDeclarativeParser8PropertyEPNS0_6ObjectERKNS_14BindingContextE @ 617 NONAME - _ZN20QDeclarativeCompiler11compileTreeEPN18QDeclarativeParser6ObjectE @ 618 NONAME - _ZN20QDeclarativeCompiler12buildBindingEPN18QDeclarativeParser5ValueEPNS0_8PropertyERKNS_14BindingContextE @ 619 NONAME - _ZN20QDeclarativeCompiler12compileAliasER18QMetaObjectBuilderR10QByteArrayPN18QDeclarativeParser6ObjectERKNS5_15DynamicPropertyE @ 620 NONAME - _ZN20QDeclarativeCompiler12genComponentEPN18QDeclarativeParser6ObjectE @ 621 NONAME - _ZN20QDeclarativeCompiler13buildPropertyEPN18QDeclarativeParser8PropertyEPNS0_6ObjectERKNS_14BindingContextE @ 622 NONAME - _ZN20QDeclarativeCompiler13genObjectBodyEPN18QDeclarativeParser6ObjectE @ 623 NONAME - _ZN20QDeclarativeCompiler14buildComponentEPN18QDeclarativeParser6ObjectERKNS_14BindingContextE @ 624 NONAME - _ZN20QDeclarativeCompiler14buildSubObjectEPN18QDeclarativeParser6ObjectERKNS_14BindingContextE @ 625 NONAME - _ZN20QDeclarativeCompiler14componentStateEPN18QDeclarativeParser6ObjectE @ 626 NONAME - _ZN20QDeclarativeCompiler15buildIdPropertyEPN18QDeclarativeParser8PropertyEPNS0_6ObjectE @ 627 NONAME - _ZN20QDeclarativeCompiler15genContextCacheEv @ 628 NONAME - _ZN20QDeclarativeCompiler15genListPropertyEPN18QDeclarativeParser8PropertyEPNS0_6ObjectE @ 629 NONAME - _ZN20QDeclarativeCompiler15genPropertyDataEPN18QDeclarativeParser8PropertyE @ 630 NONAME - _ZN20QDeclarativeCompiler16buildDynamicMetaEPN18QDeclarativeParser6ObjectENS_15DynamicMetaModeE @ 631 NONAME - _ZN20QDeclarativeCompiler16checkDynamicMetaEPN18QDeclarativeParser6ObjectE @ 632 NONAME - _ZN20QDeclarativeCompiler16componentTypeRefEv @ 633 NONAME - _ZN20QDeclarativeCompiler16findSignalByNameEPK11QMetaObjectRK10QByteArray @ 634 NONAME - _ZN20QDeclarativeCompiler16genValuePropertyEPN18QDeclarativeParser8PropertyEPNS0_6ObjectE @ 635 NONAME - _ZN20QDeclarativeCompiler16genValueTypeDataEPN18QDeclarativeParser8PropertyES2_ @ 636 NONAME - _ZN20QDeclarativeCompiler17buildListPropertyEPN18QDeclarativeParser8PropertyEPNS0_6ObjectERKNS_14BindingContextE @ 637 NONAME - _ZN20QDeclarativeCompiler17doesPropertyExistEPN18QDeclarativeParser8PropertyEPNS0_6ObjectE @ 638 NONAME - _ZN20QDeclarativeCompiler18deferredPropertiesEPN18QDeclarativeParser6ObjectE @ 639 NONAME - _ZN20QDeclarativeCompiler18saveComponentStateEv @ 640 NONAME - _ZN20QDeclarativeCompiler19addBindingReferenceERKNS_16BindingReferenceE @ 641 NONAME - _ZN20QDeclarativeCompiler20buildGroupedPropertyEPN18QDeclarativeParser8PropertyEPNS0_6ObjectERKNS_14BindingContextE @ 642 NONAME - _ZN20QDeclarativeCompiler20genBindingAssignmentEPN18QDeclarativeParser5ValueEPNS0_8PropertyEPNS0_6ObjectES4_ @ 643 NONAME - _ZN20QDeclarativeCompiler20genLiteralAssignmentERK13QMetaPropertyPN18QDeclarativeParser5ValueE @ 644 NONAME - _ZN20QDeclarativeCompiler20isSignalPropertyNameERK10QByteArray @ 645 NONAME - _ZN20QDeclarativeCompiler21buildAttachedPropertyEPN18QDeclarativeParser8PropertyEPNS0_6ObjectERKNS_14BindingContextE @ 646 NONAME - _ZN20QDeclarativeCompiler21genPropertyAssignmentEPN18QDeclarativeParser8PropertyEPNS0_6ObjectES2_ @ 647 NONAME - _ZN20QDeclarativeCompiler21testLiteralAssignmentERK13QMetaPropertyPN18QDeclarativeParser5ValueE @ 648 NONAME - _ZN20QDeclarativeCompiler22buildComponentFromRootEPN18QDeclarativeParser6ObjectERKNS_14BindingContextE @ 649 NONAME - _ZN20QDeclarativeCompiler22buildValueTypePropertyEP7QObjectPN18QDeclarativeParser6ObjectES4_RKNS_14BindingContextE @ 650 NONAME - _ZN20QDeclarativeCompiler22completeComponentBuildEv @ 651 NONAME - _ZN20QDeclarativeCompiler22isAttachedPropertyNameERK10QByteArray @ 652 NONAME - _ZN20QDeclarativeCompiler23buildPropertyAssignmentEPN18QDeclarativeParser8PropertyEPNS0_6ObjectERKNS_14BindingContextE @ 653 NONAME - _ZN20QDeclarativeCompiler24buildPropertyInNamespaceEPN25QDeclarativeEnginePrivate17ImportedNamespaceEPN18QDeclarativeParser8PropertyEPNS3_6ObjectERKNS_14BindingContextE @ 654 NONAME - _ZN20QDeclarativeCompiler25buildScriptStringPropertyEPN18QDeclarativeParser8PropertyEPNS0_6ObjectERKNS_14BindingContextE @ 655 NONAME - _ZN20QDeclarativeCompiler26mergeDynamicMetaPropertiesEPN18QDeclarativeParser6ObjectE @ 656 NONAME - _ZN20QDeclarativeCompiler27testQualifiedEnumAssignmentERK13QMetaPropertyPN18QDeclarativeParser6ObjectEPNS3_5ValueEPb @ 657 NONAME - _ZN20QDeclarativeCompiler29buildPropertyObjectAssignmentEPN18QDeclarativeParser8PropertyEPNS0_6ObjectEPNS0_5ValueERKNS_14BindingContextE @ 658 NONAME - _ZN20QDeclarativeCompiler30buildPropertyLiteralAssignmentEPN18QDeclarativeParser8PropertyEPNS0_6ObjectEPNS0_5ValueERKNS_14BindingContextE @ 659 NONAME - _ZN20QDeclarativeCompiler5addIdERK7QStringPN18QDeclarativeParser6ObjectE @ 660 NONAME - _ZN20QDeclarativeCompiler5resetEP24QDeclarativeCompiledData @ 661 NONAME - _ZN20QDeclarativeCompiler7compileEP18QDeclarativeEngineP29QDeclarativeCompositeTypeDataP24QDeclarativeCompiledData @ 662 NONAME - _ZN20QDeclarativeCompiler9canCoerceEiPN18QDeclarativeParser6ObjectE @ 663 NONAME - _ZN20QDeclarativeCompiler9canCoerceEii @ 664 NONAME - _ZN20QDeclarativeCompiler9dumpStatsEv @ 665 NONAME - _ZN20QDeclarativeCompiler9genObjectEPN18QDeclarativeParser6ObjectE @ 666 NONAME - _ZN20QDeclarativeCompiler9isValidIdERK7QString @ 667 NONAME - _ZN20QDeclarativeCompiler9toQmlTypeEPN18QDeclarativeParser6ObjectE @ 668 NONAME - _ZN20QDeclarativeCompilerC1Ev @ 669 NONAME - _ZN20QDeclarativeCompilerC2Ev @ 670 NONAME - _ZN20QDeclarativeDomValueC1ERKS_ @ 671 NONAME - _ZN20QDeclarativeDomValueC1Ev @ 672 NONAME - _ZN20QDeclarativeDomValueC2ERKS_ @ 673 NONAME - _ZN20QDeclarativeDomValueC2Ev @ 674 NONAME - _ZN20QDeclarativeDomValueD1Ev @ 675 NONAME - _ZN20QDeclarativeDomValueD2Ev @ 676 NONAME - _ZN20QDeclarativeDomValueaSERKS_ @ 677 NONAME - _ZN20QDeclarativeFlipable11qt_metacallEN11QMetaObject4CallEiPPv @ 678 NONAME - _ZN20QDeclarativeFlipable11qt_metacastEPKc @ 679 NONAME - _ZN20QDeclarativeFlipable11sideChangedEv @ 680 NONAME - _ZN20QDeclarativeFlipable16staticMetaObjectE @ 681 NONAME DATA 16 - _ZN20QDeclarativeFlipable19getStaticMetaObjectEv @ 682 NONAME - _ZN20QDeclarativeFlipable4backEv @ 683 NONAME - _ZN20QDeclarativeFlipable5frontEv @ 684 NONAME - _ZN20QDeclarativeFlipable7setBackEP16QDeclarativeItem @ 685 NONAME - _ZN20QDeclarativeFlipable8setFrontEP16QDeclarativeItem @ 686 NONAME - _ZN20QDeclarativeFlipableC1EP16QDeclarativeItem @ 687 NONAME - _ZN20QDeclarativeFlipableC2EP16QDeclarativeItem @ 688 NONAME - _ZN20QDeclarativeFlipableD0Ev @ 689 NONAME - _ZN20QDeclarativeFlipableD1Ev @ 690 NONAME - _ZN20QDeclarativeFlipableD2Ev @ 691 NONAME - _ZN20QDeclarativeGradient11qt_metacallEN11QMetaObject4CallEiPPv @ 692 NONAME - _ZN20QDeclarativeGradient11qt_metacastEPKc @ 693 NONAME - _ZN20QDeclarativeGradient16staticMetaObjectE @ 694 NONAME DATA 16 - _ZN20QDeclarativeGradient19getStaticMetaObjectEv @ 695 NONAME - _ZN20QDeclarativeGradient7updatedEv @ 696 NONAME - _ZN20QDeclarativeGradient8doUpdateEv @ 697 NONAME - _ZN20QDeclarativeGridView10itemsMovedEiii @ 698 NONAME - _ZN20QDeclarativeGridView10modelResetEv @ 699 NONAME - _ZN20QDeclarativeGridView10sizeChangeEv @ 700 NONAME - _ZN20QDeclarativeGridView11createdItemEiP16QDeclarativeItem @ 701 NONAME - _ZN20QDeclarativeGridView11currentItemEv @ 702 NONAME - _ZN20QDeclarativeGridView11qt_metacallEN11QMetaObject4CallEiPPv @ 703 NONAME - _ZN20QDeclarativeGridView11qt_metacastEPKc @ 704 NONAME - _ZN20QDeclarativeGridView11setDelegateEP21QDeclarativeComponent @ 705 NONAME - _ZN20QDeclarativeGridView12countChangedEv @ 706 NONAME - _ZN20QDeclarativeGridView12itemsRemovedEii @ 707 NONAME - _ZN20QDeclarativeGridView12setCellWidthEi @ 708 NONAME - _ZN20QDeclarativeGridView12setHighlightEP21QDeclarativeComponent @ 709 NONAME - _ZN20QDeclarativeGridView13highlightItemEv @ 710 NONAME - _ZN20QDeclarativeGridView13itemsInsertedEii @ 711 NONAME - _ZN20QDeclarativeGridView13keyPressEventEP9QKeyEvent @ 712 NONAME - _ZN20QDeclarativeGridView13setCellHeightEi @ 713 NONAME - _ZN20QDeclarativeGridView13viewportMovedEv @ 714 NONAME - _ZN20QDeclarativeGridView14destroyRemovedEv @ 715 NONAME - _ZN20QDeclarativeGridView14destroyingItemEP16QDeclarativeItem @ 716 NONAME - _ZN20QDeclarativeGridView14setCacheBufferEi @ 717 NONAME - _ZN20QDeclarativeGridView14setWrapEnabledEb @ 718 NONAME - _ZN20QDeclarativeGridView15setCurrentIndexEi @ 719 NONAME - _ZN20QDeclarativeGridView16cellWidthChangedEv @ 720 NONAME - _ZN20QDeclarativeGridView16highlightChangedEv @ 721 NONAME - _ZN20QDeclarativeGridView16staticMetaObjectE @ 722 NONAME DATA 16 - _ZN20QDeclarativeGridView17cellHeightChangedEv @ 723 NONAME - _ZN20QDeclarativeGridView17componentCompleteEv @ 724 NONAME - _ZN20QDeclarativeGridView18moveCurrentIndexUpEv @ 725 NONAME - _ZN20QDeclarativeGridView19currentIndexChangedEv @ 726 NONAME - _ZN20QDeclarativeGridView19getStaticMetaObjectEv @ 727 NONAME - _ZN20QDeclarativeGridView19positionViewAtIndexEi @ 728 NONAME - _ZN20QDeclarativeGridView20moveCurrentIndexDownEv @ 729 NONAME - _ZN20QDeclarativeGridView20moveCurrentIndexLeftEv @ 730 NONAME - _ZN20QDeclarativeGridView21moveCurrentIndexRightEv @ 731 NONAME - _ZN20QDeclarativeGridView21qmlAttachedPropertiesEP7QObject @ 732 NONAME - _ZN20QDeclarativeGridView22trackedPositionChangedEv @ 733 NONAME - _ZN20QDeclarativeGridView30setHighlightFollowsCurrentItemEb @ 734 NONAME - _ZN20QDeclarativeGridView6layoutEv @ 735 NONAME - _ZN20QDeclarativeGridView6refillEv @ 736 NONAME - _ZN20QDeclarativeGridView7setFlowENS_4FlowE @ 737 NONAME - _ZN20QDeclarativeGridView8setModelERK8QVariant @ 738 NONAME - _ZN20QDeclarativeGridViewC1EP16QDeclarativeItem @ 739 NONAME - _ZN20QDeclarativeGridViewC2EP16QDeclarativeItem @ 740 NONAME - _ZN20QDeclarativeGridViewD0Ev @ 741 NONAME - _ZN20QDeclarativeGridViewD1Ev @ 742 NONAME - _ZN20QDeclarativeGridViewD2Ev @ 743 NONAME - _ZN20QDeclarativeListView10itemsMovedEiii @ 744 NONAME - _ZN20QDeclarativeListView10modelResetEv @ 745 NONAME - _ZN20QDeclarativeListView10setSpacingEf @ 746 NONAME - _ZN20QDeclarativeListView11animStoppedEv @ 747 NONAME - _ZN20QDeclarativeListView11createdItemEiP16QDeclarativeItem @ 748 NONAME - _ZN20QDeclarativeListView11currentItemEv @ 749 NONAME - _ZN20QDeclarativeListView11qt_metacallEN11QMetaObject4CallEiPPv @ 750 NONAME - _ZN20QDeclarativeListView11qt_metacastEPKc @ 751 NONAME - _ZN20QDeclarativeListView11setDelegateEP21QDeclarativeComponent @ 752 NONAME - _ZN20QDeclarativeListView11setSnapModeENS_8SnapModeE @ 753 NONAME - _ZN20QDeclarativeListView12countChangedEv @ 754 NONAME - _ZN20QDeclarativeListView12itemsRemovedEii @ 755 NONAME - _ZN20QDeclarativeListView12setHighlightEP21QDeclarativeComponent @ 756 NONAME - _ZN20QDeclarativeListView13highlightItemEv @ 757 NONAME - _ZN20QDeclarativeListView13itemsInsertedEii @ 758 NONAME - _ZN20QDeclarativeListView13keyPressEventEP9QKeyEvent @ 759 NONAME - _ZN20QDeclarativeListView13viewportMovedEv @ 760 NONAME - _ZN20QDeclarativeListView14destroyRemovedEv @ 761 NONAME - _ZN20QDeclarativeListView14destroyingItemEP16QDeclarativeItem @ 762 NONAME - _ZN20QDeclarativeListView14setCacheBufferEi @ 763 NONAME - _ZN20QDeclarativeListView14setOrientationENS_11OrientationE @ 764 NONAME - _ZN20QDeclarativeListView14setWrapEnabledEb @ 765 NONAME - _ZN20QDeclarativeListView14spacingChangedEv @ 766 NONAME - _ZN20QDeclarativeListView15sectionCriteriaEv @ 767 NONAME - _ZN20QDeclarativeListView15setCurrentIndexEi @ 768 NONAME - _ZN20QDeclarativeListView16highlightChangedEv @ 769 NONAME - _ZN20QDeclarativeListView16staticMetaObjectE @ 770 NONAME DATA 16 - _ZN20QDeclarativeListView17componentCompleteEv @ 771 NONAME - _ZN20QDeclarativeListView18orientationChangedEv @ 772 NONAME - _ZN20QDeclarativeListView19currentIndexChangedEv @ 773 NONAME - _ZN20QDeclarativeListView19getStaticMetaObjectEv @ 774 NONAME - _ZN20QDeclarativeListView19positionViewAtIndexEi @ 775 NONAME - _ZN20QDeclarativeListView21currentSectionChangedEv @ 776 NONAME - _ZN20QDeclarativeListView21decrementCurrentIndexEv @ 777 NONAME - _ZN20QDeclarativeListView21incrementCurrentIndexEv @ 778 NONAME - _ZN20QDeclarativeListView21qmlAttachedPropertiesEP7QObject @ 779 NONAME - _ZN20QDeclarativeListView21setHighlightMoveSpeedEf @ 780 NONAME - _ZN20QDeclarativeListView21setHighlightRangeModeENS_18HighlightRangeModeE @ 781 NONAME - _ZN20QDeclarativeListView22trackedPositionChangedEv @ 782 NONAME - _ZN20QDeclarativeListView23setHighlightResizeSpeedEf @ 783 NONAME - _ZN20QDeclarativeListView24setPreferredHighlightEndEf @ 784 NONAME - _ZN20QDeclarativeListView25highlightMoveSpeedChangedEv @ 785 NONAME - _ZN20QDeclarativeListView26setPreferredHighlightBeginEf @ 786 NONAME - _ZN20QDeclarativeListView27highlightResizeSpeedChangedEv @ 787 NONAME - _ZN20QDeclarativeListView30setHighlightFollowsCurrentItemEb @ 788 NONAME - _ZN20QDeclarativeListView6refillEv @ 789 NONAME - _ZN20QDeclarativeListView8setModelERK8QVariant @ 790 NONAME - _ZN20QDeclarativeListView9setFooterEP21QDeclarativeComponent @ 791 NONAME - _ZN20QDeclarativeListView9setHeaderEP21QDeclarativeComponent @ 792 NONAME - _ZN20QDeclarativeListViewC1EP16QDeclarativeItem @ 793 NONAME - _ZN20QDeclarativeListViewC2EP16QDeclarativeItem @ 794 NONAME - _ZN20QDeclarativeListViewD0Ev @ 795 NONAME - _ZN20QDeclarativeListViewD1Ev @ 796 NONAME - _ZN20QDeclarativeListViewD2Ev @ 797 NONAME - _ZN20QDeclarativeMetaType11isInterfaceEi @ 798 NONAME - _ZN20QDeclarativeMetaType12interfaceIIdEi @ 799 NONAME - _ZN20QDeclarativeMetaType12qmlTypeNamesEv @ 800 NONAME - _ZN20QDeclarativeMetaType12typeCategoryEi @ 801 NONAME - _ZN20QDeclarativeMetaType13defaultMethodEP7QObject @ 802 NONAME - _ZN20QDeclarativeMetaType13defaultMethodEPK11QMetaObject @ 803 NONAME - _ZN20QDeclarativeMetaType15defaultPropertyEP7QObject @ 804 NONAME - _ZN20QDeclarativeMetaType15defaultPropertyEPK11QMetaObject @ 805 NONAME - _ZN20QDeclarativeMetaType21customStringConverterEi @ 806 NONAME - _ZN20QDeclarativeMetaType24attachedPropertiesFuncIdEPK11QMetaObject @ 807 NONAME - _ZN20QDeclarativeMetaType26attachedPropertiesFuncByIdEi @ 808 NONAME - _ZN20QDeclarativeMetaType29registerCustomStringConverterEiPF8QVariantRK7QStringE @ 809 NONAME - _ZN20QDeclarativeMetaType4copyEiPvPKv @ 810 NONAME - _ZN20QDeclarativeMetaType6isListEi @ 811 NONAME - _ZN20QDeclarativeMetaType7qmlTypeEPK11QMetaObject @ 812 NONAME - _ZN20QDeclarativeMetaType7qmlTypeERK10QByteArrayii @ 813 NONAME - _ZN20QDeclarativeMetaType7qmlTypeEi @ 814 NONAME - _ZN20QDeclarativeMetaType8listTypeEi @ 815 NONAME - _ZN20QDeclarativeMetaType8qmlTypesEv @ 816 NONAME - _ZN20QDeclarativeMetaType9isQObjectEi @ 817 NONAME - _ZN20QDeclarativeMetaType9toQObjectERK8QVariantPb @ 818 NONAME - _ZN20QDeclarativePathLine11qt_metacallEN11QMetaObject4CallEiPPv @ 819 NONAME - _ZN20QDeclarativePathLine11qt_metacastEPKc @ 820 NONAME - _ZN20QDeclarativePathLine16staticMetaObjectE @ 821 NONAME DATA 16 - _ZN20QDeclarativePathLine19getStaticMetaObjectEv @ 822 NONAME - _ZN20QDeclarativePathLine9addToPathER12QPainterPath @ 823 NONAME - _ZN20QDeclarativePathQuad11qt_metacallEN11QMetaObject4CallEiPPv @ 824 NONAME - _ZN20QDeclarativePathQuad11qt_metacastEPKc @ 825 NONAME - _ZN20QDeclarativePathQuad11setControlXEf @ 826 NONAME - _ZN20QDeclarativePathQuad11setControlYEf @ 827 NONAME - _ZN20QDeclarativePathQuad16staticMetaObjectE @ 828 NONAME DATA 16 - _ZN20QDeclarativePathQuad19getStaticMetaObjectEv @ 829 NONAME - _ZN20QDeclarativePathQuad9addToPathER12QPainterPath @ 830 NONAME - _ZN20QDeclarativePathView10modelResetEv @ 831 NONAME - _ZN20QDeclarativePathView11createdItemEiP16QDeclarativeItem @ 832 NONAME - _ZN20QDeclarativePathView11qt_metacallEN11QMetaObject4CallEiPPv @ 833 NONAME - _ZN20QDeclarativePathView11qt_metacastEPKc @ 834 NONAME - _ZN20QDeclarativePathView11setDelegateEP21QDeclarativeComponent @ 835 NONAME - _ZN20QDeclarativePathView12itemsRemovedEii @ 836 NONAME - _ZN20QDeclarativePathView13itemsInsertedEii @ 837 NONAME - _ZN20QDeclarativePathView13offsetChangedEv @ 838 NONAME - _ZN20QDeclarativePathView13setDragMarginEf @ 839 NONAME - _ZN20QDeclarativePathView14destroyingItemEP16QDeclarativeItem @ 840 NONAME - _ZN20QDeclarativePathView14mouseMoveEventEP24QGraphicsSceneMouseEvent @ 841 NONAME - _ZN20QDeclarativePathView14sendMouseEventEP24QGraphicsSceneMouseEvent @ 842 NONAME - _ZN20QDeclarativePathView15mousePressEventEP24QGraphicsSceneMouseEvent @ 843 NONAME - _ZN20QDeclarativePathView15setCurrentIndexEi @ 844 NONAME - _ZN20QDeclarativePathView15setSnapPositionEf @ 845 NONAME - _ZN20QDeclarativePathView16sceneEventFilterEP13QGraphicsItemP6QEvent @ 846 NONAME - _ZN20QDeclarativePathView16setPathItemCountEi @ 847 NONAME - _ZN20QDeclarativePathView16staticMetaObjectE @ 848 NONAME DATA 16 - _ZN20QDeclarativePathView17componentCompleteEv @ 849 NONAME - _ZN20QDeclarativePathView17mouseReleaseEventEP24QGraphicsSceneMouseEvent @ 850 NONAME - _ZN20QDeclarativePathView18attachedPropertiesE @ 851 NONAME DATA 4 - _ZN20QDeclarativePathView19currentIndexChangedEv @ 852 NONAME - _ZN20QDeclarativePathView19getStaticMetaObjectEv @ 853 NONAME - _ZN20QDeclarativePathView21qmlAttachedPropertiesEP7QObject @ 854 NONAME - _ZN20QDeclarativePathView6refillEv @ 855 NONAME - _ZN20QDeclarativePathView6tickedEv @ 856 NONAME - _ZN20QDeclarativePathView7setPathEP16QDeclarativePath @ 857 NONAME - _ZN20QDeclarativePathView8setModelERK8QVariant @ 858 NONAME - _ZN20QDeclarativePathView9setOffsetEf @ 859 NONAME - _ZN20QDeclarativePathViewC1EP16QDeclarativeItem @ 860 NONAME - _ZN20QDeclarativePathViewC2EP16QDeclarativeItem @ 861 NONAME - _ZN20QDeclarativePathViewD0Ev @ 862 NONAME - _ZN20QDeclarativePathViewD1Ev @ 863 NONAME - _ZN20QDeclarativePathViewD2Ev @ 864 NONAME - _ZN20QDeclarativeProperty4readEP7QObjectRK7QString @ 865 NONAME - _ZN20QDeclarativeProperty4readEP7QObjectRK7QStringP18QDeclarativeEngine @ 866 NONAME - _ZN20QDeclarativeProperty4readEP7QObjectRK7QStringP19QDeclarativeContext @ 867 NONAME - _ZN20QDeclarativeProperty5writeEP7QObjectRK7QStringRK8QVariant @ 868 NONAME - _ZN20QDeclarativeProperty5writeEP7QObjectRK7QStringRK8QVariantP18QDeclarativeEngine @ 869 NONAME - _ZN20QDeclarativeProperty5writeEP7QObjectRK7QStringRK8QVariantP19QDeclarativeContext @ 870 NONAME - _ZN20QDeclarativePropertyC1EP7QObject @ 871 NONAME - _ZN20QDeclarativePropertyC1EP7QObjectP18QDeclarativeEngine @ 872 NONAME - _ZN20QDeclarativePropertyC1EP7QObjectP19QDeclarativeContext @ 873 NONAME - _ZN20QDeclarativePropertyC1EP7QObjectRK7QString @ 874 NONAME - _ZN20QDeclarativePropertyC1EP7QObjectRK7QStringP18QDeclarativeEngine @ 875 NONAME - _ZN20QDeclarativePropertyC1EP7QObjectRK7QStringP19QDeclarativeContext @ 876 NONAME - _ZN20QDeclarativePropertyC1ERKS_ @ 877 NONAME - _ZN20QDeclarativePropertyC1Ev @ 878 NONAME - _ZN20QDeclarativePropertyC2EP7QObject @ 879 NONAME - _ZN20QDeclarativePropertyC2EP7QObjectP18QDeclarativeEngine @ 880 NONAME - _ZN20QDeclarativePropertyC2EP7QObjectP19QDeclarativeContext @ 881 NONAME - _ZN20QDeclarativePropertyC2EP7QObjectRK7QString @ 882 NONAME - _ZN20QDeclarativePropertyC2EP7QObjectRK7QStringP18QDeclarativeEngine @ 883 NONAME - _ZN20QDeclarativePropertyC2EP7QObjectRK7QStringP19QDeclarativeContext @ 884 NONAME - _ZN20QDeclarativePropertyC2ERKS_ @ 885 NONAME - _ZN20QDeclarativePropertyC2Ev @ 886 NONAME - _ZN20QDeclarativePropertyD1Ev @ 887 NONAME - _ZN20QDeclarativePropertyD2Ev @ 888 NONAME - _ZN20QDeclarativePropertyaSERKS_ @ 889 NONAME - _ZN20QDeclarativeRepeater10itemChangeEN13QGraphicsItem18GraphicsItemChangeERK8QVariant @ 890 NONAME - _ZN20QDeclarativeRepeater10itemsMovedEiii @ 891 NONAME - _ZN20QDeclarativeRepeater10modelResetEv @ 892 NONAME - _ZN20QDeclarativeRepeater10regenerateEv @ 893 NONAME - _ZN20QDeclarativeRepeater11qt_metacallEN11QMetaObject4CallEiPPv @ 894 NONAME - _ZN20QDeclarativeRepeater11qt_metacastEPKc @ 895 NONAME - _ZN20QDeclarativeRepeater11setDelegateEP21QDeclarativeComponent @ 896 NONAME - _ZN20QDeclarativeRepeater12countChangedEv @ 897 NONAME - _ZN20QDeclarativeRepeater12itemsRemovedEii @ 898 NONAME - _ZN20QDeclarativeRepeater12modelChangedEv @ 899 NONAME - _ZN20QDeclarativeRepeater13itemsInsertedEii @ 900 NONAME - _ZN20QDeclarativeRepeater15delegateChangedEv @ 901 NONAME - _ZN20QDeclarativeRepeater16staticMetaObjectE @ 902 NONAME DATA 16 - _ZN20QDeclarativeRepeater17componentCompleteEv @ 903 NONAME - _ZN20QDeclarativeRepeater19getStaticMetaObjectEv @ 904 NONAME - _ZN20QDeclarativeRepeater5clearEv @ 905 NONAME - _ZN20QDeclarativeRepeater8setModelERK8QVariant @ 906 NONAME - _ZN20QDeclarativeRepeaterC1EP16QDeclarativeItem @ 907 NONAME - _ZN20QDeclarativeRepeaterC2EP16QDeclarativeItem @ 908 NONAME - _ZN20QDeclarativeRepeaterD0Ev @ 909 NONAME - _ZN20QDeclarativeRepeaterD1Ev @ 910 NONAME - _ZN20QDeclarativeRepeaterD2Ev @ 911 NONAME - _ZN20QDeclarativeTextEdit10updateSizeEv @ 912 NONAME - _ZN20QDeclarativeTextEdit11fontChangedERK5QFont @ 913 NONAME - _ZN20QDeclarativeTextEdit11qt_metacallEN11QMetaObject4CallEiPPv @ 914 NONAME - _ZN20QDeclarativeTextEdit11qt_metacastEPKc @ 915 NONAME - _ZN20QDeclarativeTextEdit11setReadOnlyEb @ 916 NONAME - _ZN20QDeclarativeTextEdit11textChangedERK7QString @ 917 NONAME - _ZN20QDeclarativeTextEdit11wrapChangedEb @ 918 NONAME - _ZN20QDeclarativeTextEdit12colorChangedERK6QColor @ 919 NONAME - _ZN20QDeclarativeTextEdit12drawContentsEP8QPainterRK5QRect @ 920 NONAME - _ZN20QDeclarativeTextEdit12focusChangedEb @ 921 NONAME - _ZN20QDeclarativeTextEdit13keyPressEventEP9QKeyEvent @ 922 NONAME - _ZN20QDeclarativeTextEdit13q_textChangedEv @ 923 NONAME - _ZN20QDeclarativeTextEdit13setTextFormatENS_10TextFormatE @ 924 NONAME - _ZN20QDeclarativeTextEdit13setTextMarginEf @ 925 NONAME - _ZN20QDeclarativeTextEdit14mouseMoveEventEP24QGraphicsSceneMouseEvent @ 926 NONAME - _ZN20QDeclarativeTextEdit14updateImgCacheERK6QRectF @ 927 NONAME - _ZN20QDeclarativeTextEdit15geometryChangedERK6QRectFS2_ @ 928 NONAME - _ZN20QDeclarativeTextEdit15keyReleaseEventEP9QKeyEvent @ 929 NONAME - _ZN20QDeclarativeTextEdit15mousePressEventEP24QGraphicsSceneMouseEvent @ 930 NONAME - _ZN20QDeclarativeTextEdit15readOnlyChangedEb @ 931 NONAME - _ZN20QDeclarativeTextEdit15setFocusOnPressEb @ 932 NONAME - _ZN20QDeclarativeTextEdit15setSelectionEndEi @ 933 NONAME - _ZN20QDeclarativeTextEdit16inputMethodEventEP17QInputMethodEvent @ 934 NONAME - _ZN20QDeclarativeTextEdit16selectionChangedEv @ 935 NONAME - _ZN20QDeclarativeTextEdit16setCursorVisibleEb @ 936 NONAME - _ZN20QDeclarativeTextEdit16staticMetaObjectE @ 937 NONAME DATA 16 - _ZN20QDeclarativeTextEdit17componentCompleteEv @ 938 NONAME - _ZN20QDeclarativeTextEdit17mouseReleaseEventEP24QGraphicsSceneMouseEvent @ 939 NONAME - _ZN20QDeclarativeTextEdit17setCursorDelegateEP21QDeclarativeComponent @ 940 NONAME - _ZN20QDeclarativeTextEdit17setCursorPositionEi @ 941 NONAME - _ZN20QDeclarativeTextEdit17setSelectionColorERK6QColor @ 942 NONAME - _ZN20QDeclarativeTextEdit17setSelectionStartEi @ 943 NONAME - _ZN20QDeclarativeTextEdit17textFormatChangedENS_10TextFormatE @ 944 NONAME - _ZN20QDeclarativeTextEdit17textMarginChangedEf @ 945 NONAME - _ZN20QDeclarativeTextEdit18loadCursorDelegateEv @ 946 NONAME - _ZN20QDeclarativeTextEdit18moveCursorDelegateEv @ 947 NONAME - _ZN20QDeclarativeTextEdit19focusOnPressChangedEb @ 948 NONAME - _ZN20QDeclarativeTextEdit19getStaticMetaObjectEv @ 949 NONAME - _ZN20QDeclarativeTextEdit19selectionEndChangedEv @ 950 NONAME - _ZN20QDeclarativeTextEdit20cursorVisibleChangedEb @ 951 NONAME - _ZN20QDeclarativeTextEdit20setSelectedTextColorERK6QColor @ 952 NONAME - _ZN20QDeclarativeTextEdit21cursorDelegateChangedEv @ 953 NONAME - _ZN20QDeclarativeTextEdit21cursorPositionChangedEv @ 954 NONAME - _ZN20QDeclarativeTextEdit21mouseDoubleClickEventEP24QGraphicsSceneMouseEvent @ 955 NONAME - _ZN20QDeclarativeTextEdit21selectionColorChangedERK6QColor @ 956 NONAME - _ZN20QDeclarativeTextEdit21selectionStartChangedEv @ 957 NONAME - _ZN20QDeclarativeTextEdit22setPersistentSelectionEb @ 958 NONAME - _ZN20QDeclarativeTextEdit22updateSelectionMarkersEv @ 959 NONAME - _ZN20QDeclarativeTextEdit23setTextInteractionFlagsE6QFlagsIN2Qt19TextInteractionFlagEE @ 960 NONAME - _ZN20QDeclarativeTextEdit24selectedTextColorChangedERK6QColor @ 961 NONAME - _ZN20QDeclarativeTextEdit24verticalAlignmentChangedENS_10VAlignmentE @ 962 NONAME - _ZN20QDeclarativeTextEdit26horizontalAlignmentChangedENS_10HAlignmentE @ 963 NONAME - _ZN20QDeclarativeTextEdit26persistentSelectionChangedEb @ 964 NONAME - _ZN20QDeclarativeTextEdit5eventEP6QEvent @ 965 NONAME - _ZN20QDeclarativeTextEdit7setFontERK5QFont @ 966 NONAME - _ZN20QDeclarativeTextEdit7setTextERK7QString @ 967 NONAME - _ZN20QDeclarativeTextEdit7setWrapEb @ 968 NONAME - _ZN20QDeclarativeTextEdit8setColorERK6QColor @ 969 NONAME - _ZN20QDeclarativeTextEdit9selectAllEv @ 970 NONAME - _ZN20QDeclarativeTextEdit9setHAlignENS_10HAlignmentE @ 971 NONAME - _ZN20QDeclarativeTextEdit9setVAlignENS_10VAlignmentE @ 972 NONAME - _ZN20QDeclarativeTextEditC1EP16QDeclarativeItem @ 973 NONAME - _ZN20QDeclarativeTextEditC2EP16QDeclarativeItem @ 974 NONAME - _ZN20QMetaPropertyBuilder10setDynamicEb @ 975 NONAME - _ZN20QMetaPropertyBuilder11setEditableEb @ 976 NONAME - _ZN20QMetaPropertyBuilder11setReadableEb @ 977 NONAME - _ZN20QMetaPropertyBuilder11setWritableEb @ 978 NONAME - _ZN20QMetaPropertyBuilder12setStdCppSetEb @ 979 NONAME - _ZN20QMetaPropertyBuilder13setDesignableEb @ 980 NONAME - _ZN20QMetaPropertyBuilder13setEnumOrFlagEb @ 981 NONAME - _ZN20QMetaPropertyBuilder13setResettableEb @ 982 NONAME - _ZN20QMetaPropertyBuilder13setScriptableEb @ 983 NONAME - _ZN20QMetaPropertyBuilder15setNotifySignalERK18QMetaMethodBuilder @ 984 NONAME - _ZN20QMetaPropertyBuilder18removeNotifySignalEv @ 985 NONAME - _ZN20QMetaPropertyBuilder7setUserEb @ 986 NONAME - _ZN20QMetaPropertyBuilder9setStoredEb @ 987 NONAME - _ZN21QDeclarativeComponent11beginCreateEP19QDeclarativeContext @ 988 NONAME - _ZN21QDeclarativeComponent11qt_metacallEN11QMetaObject4CallEiPPv @ 989 NONAME - _ZN21QDeclarativeComponent11qt_metacastEPKc @ 990 NONAME - _ZN21QDeclarativeComponent12createObjectEv @ 991 NONAME - _ZN21QDeclarativeComponent13statusChangedENS_6StatusE @ 992 NONAME - _ZN21QDeclarativeComponent14completeCreateEv @ 993 NONAME - _ZN21QDeclarativeComponent15progressChangedEf @ 994 NONAME - _ZN21QDeclarativeComponent16staticMetaObjectE @ 995 NONAME DATA 16 - _ZN21QDeclarativeComponent18setCreationContextEP19QDeclarativeContext @ 996 NONAME - _ZN21QDeclarativeComponent19getStaticMetaObjectEv @ 997 NONAME - _ZN21QDeclarativeComponent21qmlAttachedPropertiesEP7QObject @ 998 NONAME - _ZN21QDeclarativeComponent6createEP19QDeclarativeContext @ 999 NONAME - _ZN21QDeclarativeComponent7loadUrlERK4QUrl @ 1000 NONAME - _ZN21QDeclarativeComponent7setDataERK10QByteArrayRK4QUrl @ 1001 NONAME - _ZN21QDeclarativeComponentC1EP18QDeclarativeEngineP24QDeclarativeCompiledDataiiP7QObject @ 1002 NONAME - _ZN21QDeclarativeComponentC1EP18QDeclarativeEngineP7QObject @ 1003 NONAME - _ZN21QDeclarativeComponentC1EP18QDeclarativeEngineRK4QUrlP7QObject @ 1004 NONAME - _ZN21QDeclarativeComponentC1EP18QDeclarativeEngineRK7QStringP7QObject @ 1005 NONAME - _ZN21QDeclarativeComponentC1EP7QObject @ 1006 NONAME - _ZN21QDeclarativeComponentC1ER28QDeclarativeComponentPrivateP7QObject @ 1007 NONAME - _ZN21QDeclarativeComponentC2EP18QDeclarativeEngineP24QDeclarativeCompiledDataiiP7QObject @ 1008 NONAME - _ZN21QDeclarativeComponentC2EP18QDeclarativeEngineP7QObject @ 1009 NONAME - _ZN21QDeclarativeComponentC2EP18QDeclarativeEngineRK4QUrlP7QObject @ 1010 NONAME - _ZN21QDeclarativeComponentC2EP18QDeclarativeEngineRK7QStringP7QObject @ 1011 NONAME - _ZN21QDeclarativeComponentC2EP7QObject @ 1012 NONAME - _ZN21QDeclarativeComponentC2ER28QDeclarativeComponentPrivateP7QObject @ 1013 NONAME - _ZN21QDeclarativeComponentD0Ev @ 1014 NONAME - _ZN21QDeclarativeComponentD1Ev @ 1015 NONAME - _ZN21QDeclarativeComponentD2Ev @ 1016 NONAME - _ZN21QDeclarativeDomImportC1ERKS_ @ 1017 NONAME - _ZN21QDeclarativeDomImportC1Ev @ 1018 NONAME - _ZN21QDeclarativeDomImportC2ERKS_ @ 1019 NONAME - _ZN21QDeclarativeDomImportC2Ev @ 1020 NONAME - _ZN21QDeclarativeDomImportD1Ev @ 1021 NONAME - _ZN21QDeclarativeDomImportD2Ev @ 1022 NONAME - _ZN21QDeclarativeDomImportaSERKS_ @ 1023 NONAME - _ZN21QDeclarativeDomObjectC1ERKS_ @ 1024 NONAME - _ZN21QDeclarativeDomObjectC1Ev @ 1025 NONAME - _ZN21QDeclarativeDomObjectC2ERKS_ @ 1026 NONAME - _ZN21QDeclarativeDomObjectC2Ev @ 1027 NONAME - _ZN21QDeclarativeDomObjectD1Ev @ 1028 NONAME - _ZN21QDeclarativeDomObjectD2Ev @ 1029 NONAME - _ZN21QDeclarativeDomObjectaSERKS_ @ 1030 NONAME - _ZN21QDeclarativeFlickable10flickEndedEv @ 1031 NONAME - _ZN21QDeclarativeFlickable10timerEventEP11QTimerEvent @ 1032 NONAME - _ZN21QDeclarativeFlickable10wheelEventEP24QGraphicsSceneWheelEvent @ 1033 NONAME - _ZN21QDeclarativeFlickable11cancelFlickEv @ 1034 NONAME - _ZN21QDeclarativeFlickable11pageChangedEv @ 1035 NONAME - _ZN21QDeclarativeFlickable11qt_metacallEN11QMetaObject4CallEiPPv @ 1036 NONAME - _ZN21QDeclarativeFlickable11qt_metacastEPKc @ 1037 NONAME - _ZN21QDeclarativeFlickable11setContentXEf @ 1038 NONAME - _ZN21QDeclarativeFlickable11setContentYEf @ 1039 NONAME - _ZN21QDeclarativeFlickable11visibleAreaEv @ 1040 NONAME - _ZN21QDeclarativeFlickable11widthChangeEv @ 1041 NONAME - _ZN21QDeclarativeFlickable12flickStartedEv @ 1042 NONAME - _ZN21QDeclarativeFlickable12heightChangeEv @ 1043 NONAME - _ZN21QDeclarativeFlickable12setOverShootEb @ 1044 NONAME - _ZN21QDeclarativeFlickable13flickableDataEv @ 1045 NONAME - _ZN21QDeclarativeFlickable13movementEndedEv @ 1046 NONAME - _ZN21QDeclarativeFlickable13movingChangedEv @ 1047 NONAME - _ZN21QDeclarativeFlickable13setPressDelayEi @ 1048 NONAME - _ZN21QDeclarativeFlickable13viewportMovedEv @ 1049 NONAME - _ZN21QDeclarativeFlickable14mouseMoveEventEP24QGraphicsSceneMouseEvent @ 1050 NONAME - _ZN21QDeclarativeFlickable14movementEndingEv @ 1051 NONAME - _ZN21QDeclarativeFlickable14sendMouseEventEP24QGraphicsSceneMouseEvent @ 1052 NONAME - _ZN21QDeclarativeFlickable14setInteractiveEb @ 1053 NONAME - _ZN21QDeclarativeFlickable15contentXChangedEv @ 1054 NONAME - _ZN21QDeclarativeFlickable15contentYChangedEv @ 1055 NONAME - _ZN21QDeclarativeFlickable15flickingChangedEv @ 1056 NONAME - _ZN21QDeclarativeFlickable15mousePressEventEP24QGraphicsSceneMouseEvent @ 1057 NONAME - _ZN21QDeclarativeFlickable15movementStartedEv @ 1058 NONAME - _ZN21QDeclarativeFlickable15setContentWidthEf @ 1059 NONAME - _ZN21QDeclarativeFlickable16movementStartingEv @ 1060 NONAME - _ZN21QDeclarativeFlickable16overShootChangedEv @ 1061 NONAME - _ZN21QDeclarativeFlickable16sceneEventFilterEP13QGraphicsItemP6QEvent @ 1062 NONAME - _ZN21QDeclarativeFlickable16setContentHeightEf @ 1063 NONAME - _ZN21QDeclarativeFlickable16staticMetaObjectE @ 1064 NONAME DATA 16 - _ZN21QDeclarativeFlickable17flickableChildrenEv @ 1065 NONAME - _ZN21QDeclarativeFlickable17mouseReleaseEventEP24QGraphicsSceneMouseEvent @ 1066 NONAME - _ZN21QDeclarativeFlickable17pressDelayChangedEv @ 1067 NONAME - _ZN21QDeclarativeFlickable17setFlickDirectionENS_14FlickDirectionE @ 1068 NONAME - _ZN21QDeclarativeFlickable18interactiveChangedEv @ 1069 NONAME - _ZN21QDeclarativeFlickable19contentWidthChangedEv @ 1070 NONAME - _ZN21QDeclarativeFlickable19getStaticMetaObjectEv @ 1071 NONAME - _ZN21QDeclarativeFlickable19isAtBoundaryChangedEv @ 1072 NONAME - _ZN21QDeclarativeFlickable20contentHeightChangedEv @ 1073 NONAME - _ZN21QDeclarativeFlickable20setFlickDecelerationEf @ 1074 NONAME - _ZN21QDeclarativeFlickable21flickDirectionChangedEv @ 1075 NONAME - _ZN21QDeclarativeFlickable23setMaximumFlickVelocityEf @ 1076 NONAME - _ZN21QDeclarativeFlickable23verticalVelocityChangedEv @ 1077 NONAME - _ZN21QDeclarativeFlickable24flickDecelerationChangedEv @ 1078 NONAME - _ZN21QDeclarativeFlickable25horizontalVelocityChangedEv @ 1079 NONAME - _ZN21QDeclarativeFlickable27maximumFlickVelocityChangedEv @ 1080 NONAME - _ZN21QDeclarativeFlickable6tickedEv @ 1081 NONAME - _ZN21QDeclarativeFlickable8viewportEv @ 1082 NONAME - _ZN21QDeclarativeFlickableC1EP16QDeclarativeItem @ 1083 NONAME - _ZN21QDeclarativeFlickableC1ER28QDeclarativeFlickablePrivateP16QDeclarativeItem @ 1084 NONAME - _ZN21QDeclarativeFlickableC2EP16QDeclarativeItem @ 1085 NONAME - _ZN21QDeclarativeFlickableC2ER28QDeclarativeFlickablePrivateP16QDeclarativeItem @ 1086 NONAME - _ZN21QDeclarativeFlickableD0Ev @ 1087 NONAME - _ZN21QDeclarativeFlickableD1Ev @ 1088 NONAME - _ZN21QDeclarativeFlickableD2Ev @ 1089 NONAME - _ZN21QDeclarativeImageBase11qt_metacallEN11QMetaObject4CallEiPPv @ 1090 NONAME - _ZN21QDeclarativeImageBase11qt_metacastEPKc @ 1091 NONAME - _ZN21QDeclarativeImageBase13pixmapChangedEv @ 1092 NONAME - _ZN21QDeclarativeImageBase13sourceChangedERK4QUrl @ 1093 NONAME - _ZN21QDeclarativeImageBase13statusChangedENS_6StatusE @ 1094 NONAME - _ZN21QDeclarativeImageBase15progressChangedEf @ 1095 NONAME - _ZN21QDeclarativeImageBase15requestFinishedEv @ 1096 NONAME - _ZN21QDeclarativeImageBase15requestProgressExx @ 1097 NONAME - _ZN21QDeclarativeImageBase15setAsynchronousEb @ 1098 NONAME - _ZN21QDeclarativeImageBase16staticMetaObjectE @ 1099 NONAME DATA 16 - _ZN21QDeclarativeImageBase17componentCompleteEv @ 1100 NONAME - _ZN21QDeclarativeImageBase19asynchronousChangedEv @ 1101 NONAME - _ZN21QDeclarativeImageBase19getStaticMetaObjectEv @ 1102 NONAME - _ZN21QDeclarativeImageBase4loadEv @ 1103 NONAME - _ZN21QDeclarativeImageBase9setSourceERK4QUrl @ 1104 NONAME - _ZN21QDeclarativeImageBaseC1ER28QDeclarativeImageBasePrivateP16QDeclarativeItem @ 1105 NONAME - _ZN21QDeclarativeImageBaseC2ER28QDeclarativeImageBasePrivateP16QDeclarativeItem @ 1106 NONAME - _ZN21QDeclarativeImageBaseD0Ev @ 1107 NONAME - _ZN21QDeclarativeImageBaseD1Ev @ 1108 NONAME - _ZN21QDeclarativeImageBaseD2Ev @ 1109 NONAME - _ZN21QDeclarativeListModel11qt_metacallEN11QMetaObject4CallEiPPv @ 1110 NONAME - _ZN21QDeclarativeListModel11qt_metacastEPKc @ 1111 NONAME - _ZN21QDeclarativeListModel11setPropertyEiRK7QStringRK8QVariant @ 1112 NONAME - _ZN21QDeclarativeListModel12countChangedEi @ 1113 NONAME - _ZN21QDeclarativeListModel16staticMetaObjectE @ 1114 NONAME DATA 16 - _ZN21QDeclarativeListModel19getStaticMetaObjectEv @ 1115 NONAME - _ZN21QDeclarativeListModel3setEiRK12QScriptValue @ 1116 NONAME - _ZN21QDeclarativeListModel4moveEiii @ 1117 NONAME - _ZN21QDeclarativeListModel5clearEv @ 1118 NONAME - _ZN21QDeclarativeListModel6appendERK12QScriptValue @ 1119 NONAME - _ZN21QDeclarativeListModel6insertEiRK12QScriptValue @ 1120 NONAME - _ZN21QDeclarativeListModel6removeEi @ 1121 NONAME - _ZN21QDeclarativeListModelC1EP7QObject @ 1122 NONAME - _ZN21QDeclarativeListModelC2EP7QObject @ 1123 NONAME - _ZN21QDeclarativeListModelD0Ev @ 1124 NONAME - _ZN21QDeclarativeListModelD1Ev @ 1125 NONAME - _ZN21QDeclarativeListModelD2Ev @ 1126 NONAME - _ZN21QDeclarativeMouseArea10sceneEventEP6QEvent @ 1127 NONAME - _ZN21QDeclarativeMouseArea10setEnabledEb @ 1128 NONAME - _ZN21QDeclarativeMouseArea10setHoveredEb @ 1129 NONAME - _ZN21QDeclarativeMouseArea10setPressedEb @ 1130 NONAME - _ZN21QDeclarativeMouseArea10timerEventEP11QTimerEvent @ 1131 NONAME - _ZN21QDeclarativeMouseArea11qt_metacallEN11QMetaObject4CallEiPPv @ 1132 NONAME - _ZN21QDeclarativeMouseArea11qt_metacastEPKc @ 1133 NONAME - _ZN21QDeclarativeMouseArea12pressAndHoldEP22QDeclarativeMouseEvent @ 1134 NONAME - _ZN21QDeclarativeMouseArea13doubleClickedEP22QDeclarativeMouseEvent @ 1135 NONAME - _ZN21QDeclarativeMouseArea14enabledChangedEv @ 1136 NONAME - _ZN21QDeclarativeMouseArea14hoverMoveEventEP24QGraphicsSceneHoverEvent @ 1137 NONAME - _ZN21QDeclarativeMouseArea14hoveredChangedEv @ 1138 NONAME - _ZN21QDeclarativeMouseArea14mouseMoveEventEP24QGraphicsSceneMouseEvent @ 1139 NONAME - _ZN21QDeclarativeMouseArea14pressedChangedEv @ 1140 NONAME - _ZN21QDeclarativeMouseArea15hoverEnterEventEP24QGraphicsSceneHoverEvent @ 1141 NONAME - _ZN21QDeclarativeMouseArea15hoverLeaveEventEP24QGraphicsSceneHoverEvent @ 1142 NONAME - _ZN21QDeclarativeMouseArea15mousePressEventEP24QGraphicsSceneMouseEvent @ 1143 NONAME - _ZN21QDeclarativeMouseArea15positionChangedEP22QDeclarativeMouseEvent @ 1144 NONAME - _ZN21QDeclarativeMouseArea16staticMetaObjectE @ 1145 NONAME DATA 16 - _ZN21QDeclarativeMouseArea17mouseReleaseEventEP24QGraphicsSceneMouseEvent @ 1146 NONAME - _ZN21QDeclarativeMouseArea18setAcceptedButtonsE6QFlagsIN2Qt11MouseButtonEE @ 1147 NONAME - _ZN21QDeclarativeMouseArea19getStaticMetaObjectEv @ 1148 NONAME - _ZN21QDeclarativeMouseArea21mouseDoubleClickEventEP24QGraphicsSceneMouseEvent @ 1149 NONAME - _ZN21QDeclarativeMouseArea22acceptedButtonsChangedEv @ 1150 NONAME - _ZN21QDeclarativeMouseArea4dragEv @ 1151 NONAME - _ZN21QDeclarativeMouseArea6exitedEv @ 1152 NONAME - _ZN21QDeclarativeMouseArea7clickedEP22QDeclarativeMouseEvent @ 1153 NONAME - _ZN21QDeclarativeMouseArea7enteredEv @ 1154 NONAME - _ZN21QDeclarativeMouseArea7pressedEP22QDeclarativeMouseEvent @ 1155 NONAME - _ZN21QDeclarativeMouseArea8releasedEP22QDeclarativeMouseEvent @ 1156 NONAME - _ZN21QDeclarativeMouseAreaC1EP16QDeclarativeItem @ 1157 NONAME - _ZN21QDeclarativeMouseAreaC2EP16QDeclarativeItem @ 1158 NONAME - _ZN21QDeclarativeMouseAreaD0Ev @ 1159 NONAME - _ZN21QDeclarativeMouseAreaD1Ev @ 1160 NONAME - _ZN21QDeclarativeMouseAreaD2Ev @ 1161 NONAME - _ZN21QDeclarativeParticles11imageLoadedEv @ 1162 NONAME - _ZN21QDeclarativeParticles11qt_metacallEN11QMetaObject4CallEiPPv @ 1163 NONAME - _ZN21QDeclarativeParticles11qt_metacastEPKc @ 1164 NONAME - _ZN21QDeclarativeParticles11setLifeSpanEi @ 1165 NONAME - _ZN21QDeclarativeParticles11setVelocityEf @ 1166 NONAME - _ZN21QDeclarativeParticles12angleChangedEv @ 1167 NONAME - _ZN21QDeclarativeParticles12countChangedEv @ 1168 NONAME - _ZN21QDeclarativeParticles13motionChangedEv @ 1169 NONAME - _ZN21QDeclarativeParticles13sourceChangedEv @ 1170 NONAME - _ZN21QDeclarativeParticles15emittingChangedEv @ 1171 NONAME - _ZN21QDeclarativeParticles15lifeSpanChangedEv @ 1172 NONAME - _ZN21QDeclarativeParticles15setEmissionRateEi @ 1173 NONAME - _ZN21QDeclarativeParticles15velocityChangedEv @ 1174 NONAME - _ZN21QDeclarativeParticles16staticMetaObjectE @ 1175 NONAME DATA 16 - _ZN21QDeclarativeParticles17componentCompleteEv @ 1176 NONAME - _ZN21QDeclarativeParticles17setAngleDeviationEf @ 1177 NONAME - _ZN21QDeclarativeParticles17setFadeInDurationEi @ 1178 NONAME - _ZN21QDeclarativeParticles18setFadeOutDurationEi @ 1179 NONAME - _ZN21QDeclarativeParticles19emissionRateChangedEv @ 1180 NONAME - _ZN21QDeclarativeParticles19getStaticMetaObjectEv @ 1181 NONAME - _ZN21QDeclarativeParticles19setEmissionVarianceEf @ 1182 NONAME - _ZN21QDeclarativeParticles20setLifeSpanDeviationEi @ 1183 NONAME - _ZN21QDeclarativeParticles20setVelocityDeviationEf @ 1184 NONAME - _ZN21QDeclarativeParticles21angleDeviationChangedEv @ 1185 NONAME - _ZN21QDeclarativeParticles21fadeInDurationChangedEv @ 1186 NONAME - _ZN21QDeclarativeParticles22fadeOutDurationChangedEv @ 1187 NONAME - _ZN21QDeclarativeParticles23emissionVarianceChangedEv @ 1188 NONAME - _ZN21QDeclarativeParticles24lifeSpanDeviationChangedEv @ 1189 NONAME - _ZN21QDeclarativeParticles24velocityDeviationChangedEv @ 1190 NONAME - _ZN21QDeclarativeParticles5burstEii @ 1191 NONAME - _ZN21QDeclarativeParticles5paintEP8QPainterPK24QStyleOptionGraphicsItemP7QWidget @ 1192 NONAME - _ZN21QDeclarativeParticles8setAngleEf @ 1193 NONAME - _ZN21QDeclarativeParticles8setCountEi @ 1194 NONAME - _ZN21QDeclarativeParticles9setMotionEP26QDeclarativeParticleMotion @ 1195 NONAME - _ZN21QDeclarativeParticles9setSourceERK4QUrl @ 1196 NONAME - _ZN21QDeclarativeParticlesC1EP16QDeclarativeItem @ 1197 NONAME - _ZN21QDeclarativeParticlesC2EP16QDeclarativeItem @ 1198 NONAME - _ZN21QDeclarativeParticlesD0Ev @ 1199 NONAME - _ZN21QDeclarativeParticlesD1Ev @ 1200 NONAME - _ZN21QDeclarativeParticlesD2Ev @ 1201 NONAME - _ZN21QDeclarativePathCubic11qt_metacallEN11QMetaObject4CallEiPPv @ 1202 NONAME - _ZN21QDeclarativePathCubic11qt_metacastEPKc @ 1203 NONAME - _ZN21QDeclarativePathCubic12setControl1XEf @ 1204 NONAME - _ZN21QDeclarativePathCubic12setControl1YEf @ 1205 NONAME - _ZN21QDeclarativePathCubic12setControl2XEf @ 1206 NONAME - _ZN21QDeclarativePathCubic12setControl2YEf @ 1207 NONAME - _ZN21QDeclarativePathCubic16staticMetaObjectE @ 1208 NONAME DATA 16 - _ZN21QDeclarativePathCubic19getStaticMetaObjectEv @ 1209 NONAME - _ZN21QDeclarativePathCubic9addToPathER12QPainterPath @ 1210 NONAME - _ZN21QDeclarativeRectangle11qt_metacallEN11QMetaObject4CallEiPPv @ 1211 NONAME - _ZN21QDeclarativeRectangle11qt_metacastEPKc @ 1212 NONAME - _ZN21QDeclarativeRectangle11setGradientEP20QDeclarativeGradient @ 1213 NONAME - _ZN21QDeclarativeRectangle12colorChangedEv @ 1214 NONAME - _ZN21QDeclarativeRectangle13radiusChangedEv @ 1215 NONAME - _ZN21QDeclarativeRectangle16staticMetaObjectE @ 1216 NONAME DATA 16 - _ZN21QDeclarativeRectangle19generateRoundedRectEv @ 1217 NONAME - _ZN21QDeclarativeRectangle19getStaticMetaObjectEv @ 1218 NONAME - _ZN21QDeclarativeRectangle20generateBorderedRectEv @ 1219 NONAME - _ZN21QDeclarativeRectangle5paintEP8QPainterPK24QStyleOptionGraphicsItemP7QWidget @ 1220 NONAME - _ZN21QDeclarativeRectangle6borderEv @ 1221 NONAME - _ZN21QDeclarativeRectangle8doUpdateEv @ 1222 NONAME - _ZN21QDeclarativeRectangle8drawRectER8QPainter @ 1223 NONAME - _ZN21QDeclarativeRectangle8setColorERK6QColor @ 1224 NONAME - _ZN21QDeclarativeRectangle9setRadiusEf @ 1225 NONAME - _ZN21QDeclarativeRectangleC1EP16QDeclarativeItem @ 1226 NONAME - _ZN21QDeclarativeRectangleC2EP16QDeclarativeItem @ 1227 NONAME - _ZN21QDeclarativeScaleGrid11qt_metacallEN11QMetaObject4CallEiPPv @ 1228 NONAME - _ZN21QDeclarativeScaleGrid11qt_metacastEPKc @ 1229 NONAME - _ZN21QDeclarativeScaleGrid13borderChangedEv @ 1230 NONAME - _ZN21QDeclarativeScaleGrid16staticMetaObjectE @ 1231 NONAME DATA 16 - _ZN21QDeclarativeScaleGrid19getStaticMetaObjectEv @ 1232 NONAME - _ZN21QDeclarativeScaleGrid6setTopEi @ 1233 NONAME - _ZN21QDeclarativeScaleGrid7setLeftEi @ 1234 NONAME - _ZN21QDeclarativeScaleGrid8setRightEi @ 1235 NONAME - _ZN21QDeclarativeScaleGrid9setBottomEi @ 1236 NONAME - _ZN21QDeclarativeScaleGridC1EP7QObject @ 1237 NONAME - _ZN21QDeclarativeScaleGridC2EP7QObject @ 1238 NONAME - _ZN21QDeclarativeScaleGridD0Ev @ 1239 NONAME - _ZN21QDeclarativeScaleGridD1Ev @ 1240 NONAME - _ZN21QDeclarativeScaleGridD2Ev @ 1241 NONAME - _ZN21QDeclarativeTextInput10moveCursorEv @ 1242 NONAME - _ZN21QDeclarativeTextInput10updateRectERK5QRect @ 1243 NONAME - _ZN21QDeclarativeTextInput10updateSizeEb @ 1244 NONAME - _ZN21QDeclarativeTextInput11fontChangedERK5QFont @ 1245 NONAME - _ZN21QDeclarativeTextInput11qt_metacallEN11QMetaObject4CallEiPPv @ 1246 NONAME - _ZN21QDeclarativeTextInput11qt_metacastEPKc @ 1247 NONAME - _ZN21QDeclarativeTextInput11setEchoModeENS_8EchoModeE @ 1248 NONAME - _ZN21QDeclarativeTextInput11setReadOnlyEb @ 1249 NONAME - _ZN21QDeclarativeTextInput11textChangedEv @ 1250 NONAME - _ZN21QDeclarativeTextInput12colorChangedERK6QColor @ 1251 NONAME - _ZN21QDeclarativeTextInput12createCursorEv @ 1252 NONAME - _ZN21QDeclarativeTextInput12drawContentsEP8QPainterRK5QRect @ 1253 NONAME - _ZN21QDeclarativeTextInput12focusChangedEb @ 1254 NONAME - _ZN21QDeclarativeTextInput12setInputMaskERK7QString @ 1255 NONAME - _ZN21QDeclarativeTextInput12setMaxLengthEi @ 1256 NONAME - _ZN21QDeclarativeTextInput12setValidatorEP10QValidator @ 1257 NONAME - _ZN21QDeclarativeTextInput13keyPressEventEP9QKeyEvent @ 1258 NONAME - _ZN21QDeclarativeTextInput13q_textChangedEv @ 1259 NONAME - _ZN21QDeclarativeTextInput15echoModeChangedENS_8EchoModeE @ 1260 NONAME - _ZN21QDeclarativeTextInput15geometryChangedERK6QRectFS2_ @ 1261 NONAME - _ZN21QDeclarativeTextInput15mousePressEventEP24QGraphicsSceneMouseEvent @ 1262 NONAME - _ZN21QDeclarativeTextInput15readOnlyChangedEb @ 1263 NONAME - _ZN21QDeclarativeTextInput15setFocusOnPressEb @ 1264 NONAME - _ZN21QDeclarativeTextInput15setSelectionEndEi @ 1265 NONAME - _ZN21QDeclarativeTextInput16cursorPosChangedEv @ 1266 NONAME - _ZN21QDeclarativeTextInput16inputMaskChangedERK7QString @ 1267 NONAME - _ZN21QDeclarativeTextInput16selectionChangedEv @ 1268 NONAME - _ZN21QDeclarativeTextInput16setCursorVisibleEb @ 1269 NONAME - _ZN21QDeclarativeTextInput16staticMetaObjectE @ 1270 NONAME DATA 16 - _ZN21QDeclarativeTextInput16validatorChangedEv @ 1271 NONAME - _ZN21QDeclarativeTextInput17mouseReleaseEventEP24QGraphicsSceneMouseEvent @ 1272 NONAME - _ZN21QDeclarativeTextInput17setCursorDelegateEP21QDeclarativeComponent @ 1273 NONAME - _ZN21QDeclarativeTextInput17setCursorPositionEi @ 1274 NONAME - _ZN21QDeclarativeTextInput17setSelectionColorERK6QColor @ 1275 NONAME - _ZN21QDeclarativeTextInput17setSelectionStartEi @ 1276 NONAME - _ZN21QDeclarativeTextInput19focusOnPressChangedEb @ 1277 NONAME - _ZN21QDeclarativeTextInput19getStaticMetaObjectEv @ 1278 NONAME - _ZN21QDeclarativeTextInput19selectedTextChangedEv @ 1279 NONAME - _ZN21QDeclarativeTextInput19selectionEndChangedEv @ 1280 NONAME - _ZN21QDeclarativeTextInput20cursorVisibleChangedEb @ 1281 NONAME - _ZN21QDeclarativeTextInput20maximumLengthChangedEi @ 1282 NONAME - _ZN21QDeclarativeTextInput20setSelectedTextColorERK6QColor @ 1283 NONAME - _ZN21QDeclarativeTextInput21cursorDelegateChangedEv @ 1284 NONAME - _ZN21QDeclarativeTextInput21cursorPositionChangedEv @ 1285 NONAME - _ZN21QDeclarativeTextInput21selectionColorChangedERK6QColor @ 1286 NONAME - _ZN21QDeclarativeTextInput21selectionStartChangedEv @ 1287 NONAME - _ZN21QDeclarativeTextInput22acceptableInputChangedEv @ 1288 NONAME - _ZN21QDeclarativeTextInput24selectedTextColorChangedERK6QColor @ 1289 NONAME - _ZN21QDeclarativeTextInput26horizontalAlignmentChangedENS_10HAlignmentE @ 1290 NONAME - _ZN21QDeclarativeTextInput5eventEP6QEvent @ 1291 NONAME - _ZN21QDeclarativeTextInput6xToPosEi @ 1292 NONAME - _ZN21QDeclarativeTextInput7setFontERK5QFont @ 1293 NONAME - _ZN21QDeclarativeTextInput7setTextERK7QString @ 1294 NONAME - _ZN21QDeclarativeTextInput8acceptedEv @ 1295 NONAME - _ZN21QDeclarativeTextInput8setColorERK6QColor @ 1296 NONAME - _ZN21QDeclarativeTextInput9selectAllEv @ 1297 NONAME - _ZN21QDeclarativeTextInput9setHAlignENS_10HAlignmentE @ 1298 NONAME - _ZN21QDeclarativeTextInputC1EP16QDeclarativeItem @ 1299 NONAME - _ZN21QDeclarativeTextInputC2EP16QDeclarativeItem @ 1300 NONAME - _ZN21QDeclarativeTextInputD0Ev @ 1301 NONAME - _ZN21QDeclarativeTextInputD1Ev @ 1302 NONAME - _ZN21QDeclarativeTextInputD2Ev @ 1303 NONAME - _ZN21QDeclarativeValueType11qt_metacallEN11QMetaObject4CallEiPPv @ 1304 NONAME - _ZN21QDeclarativeValueType11qt_metacastEPKc @ 1305 NONAME - _ZN21QDeclarativeValueType16staticMetaObjectE @ 1306 NONAME DATA 16 - _ZN21QDeclarativeValueType19getStaticMetaObjectEv @ 1307 NONAME - _ZN21QDeclarativeValueTypeC2EP7QObject @ 1308 NONAME - _ZN22QDeclarativeDebugQuery11qt_metacallEN11QMetaObject4CallEiPPv @ 1309 NONAME - _ZN22QDeclarativeDebugQuery11qt_metacastEPKc @ 1310 NONAME - _ZN22QDeclarativeDebugQuery12stateChangedENS_5StateE @ 1311 NONAME - _ZN22QDeclarativeDebugQuery16staticMetaObjectE @ 1312 NONAME DATA 16 - _ZN22QDeclarativeDebugQuery19getStaticMetaObjectEv @ 1313 NONAME - _ZN22QDeclarativeDebugQuery8setStateENS_5StateE @ 1314 NONAME - _ZN22QDeclarativeDebugQueryC1EP7QObject @ 1315 NONAME - _ZN22QDeclarativeDebugQueryC2EP7QObject @ 1316 NONAME - _ZN22QDeclarativeDebugWatch11qt_metacallEN11QMetaObject4CallEiPPv @ 1317 NONAME - _ZN22QDeclarativeDebugWatch11qt_metacastEPKc @ 1318 NONAME - _ZN22QDeclarativeDebugWatch12stateChangedENS_5StateE @ 1319 NONAME - _ZN22QDeclarativeDebugWatch12valueChangedERK10QByteArrayRK8QVariant @ 1320 NONAME - _ZN22QDeclarativeDebugWatch16staticMetaObjectE @ 1321 NONAME DATA 16 - _ZN22QDeclarativeDebugWatch19getStaticMetaObjectEv @ 1322 NONAME - _ZN22QDeclarativeDebugWatch8setStateENS_5StateE @ 1323 NONAME - _ZN22QDeclarativeDebugWatchC1EP7QObject @ 1324 NONAME - _ZN22QDeclarativeDebugWatchC2EP7QObject @ 1325 NONAME - _ZN22QDeclarativeDebugWatchD0Ev @ 1326 NONAME - _ZN22QDeclarativeDebugWatchD1Ev @ 1327 NONAME - _ZN22QDeclarativeDebugWatchD2Ev @ 1328 NONAME - _ZN22QDeclarativeEaseFollow10setEnabledEb @ 1329 NONAME - _ZN22QDeclarativeEaseFollow11qt_metacallEN11QMetaObject4CallEiPPv @ 1330 NONAME - _ZN22QDeclarativeEaseFollow11qt_metacastEPKc @ 1331 NONAME - _ZN22QDeclarativeEaseFollow11setDurationEf @ 1332 NONAME - _ZN22QDeclarativeEaseFollow11setVelocityEf @ 1333 NONAME - _ZN22QDeclarativeEaseFollow13sourceChangedEv @ 1334 NONAME - _ZN22QDeclarativeEaseFollow14enabledChangedEv @ 1335 NONAME - _ZN22QDeclarativeEaseFollow14setSourceValueEf @ 1336 NONAME - _ZN22QDeclarativeEaseFollow15durationChangedEv @ 1337 NONAME - _ZN22QDeclarativeEaseFollow15velocityChangedEv @ 1338 NONAME - _ZN22QDeclarativeEaseFollow16setReversingModeENS_13ReversingModeE @ 1339 NONAME - _ZN22QDeclarativeEaseFollow16staticMetaObjectE @ 1340 NONAME DATA 16 - _ZN22QDeclarativeEaseFollow19getStaticMetaObjectEv @ 1341 NONAME - _ZN22QDeclarativeEaseFollow20reversingModeChangedEv @ 1342 NONAME - _ZN22QDeclarativeEaseFollow20setMaximumEasingTimeEf @ 1343 NONAME - _ZN22QDeclarativeEaseFollow24maximumEasingTimeChangedEv @ 1344 NONAME - _ZN22QDeclarativeEaseFollow9setTargetERK20QDeclarativeProperty @ 1345 NONAME - _ZN22QDeclarativeEaseFollowC1EP7QObject @ 1346 NONAME - _ZN22QDeclarativeEaseFollowC2EP7QObject @ 1347 NONAME - _ZN22QDeclarativeEaseFollowD0Ev @ 1348 NONAME - _ZN22QDeclarativeEaseFollowD1Ev @ 1349 NONAME - _ZN22QDeclarativeEaseFollowD2Ev @ 1350 NONAME - _ZN22QDeclarativeExpression10__q_notifyEv @ 1351 NONAME - _ZN22QDeclarativeExpression10clearErrorEv @ 1352 NONAME - _ZN22QDeclarativeExpression11qt_metacallEN11QMetaObject4CallEiPPv @ 1353 NONAME - _ZN22QDeclarativeExpression11qt_metacastEPKc @ 1354 NONAME - _ZN22QDeclarativeExpression12valueChangedEv @ 1355 NONAME - _ZN22QDeclarativeExpression13setExpressionERK7QString @ 1356 NONAME - _ZN22QDeclarativeExpression16staticMetaObjectE @ 1357 NONAME DATA 16 - _ZN22QDeclarativeExpression17setSourceLocationERK7QStringi @ 1358 NONAME - _ZN22QDeclarativeExpression19getStaticMetaObjectEv @ 1359 NONAME - _ZN22QDeclarativeExpression23setNotifyOnValueChangedEb @ 1360 NONAME - _ZN22QDeclarativeExpression5valueEPb @ 1361 NONAME - _ZN22QDeclarativeExpressionC1EP19QDeclarativeContextPvP20QDeclarativeRefCountP7QObjectRK7QStringiR29QDeclarativeExpressionPrivate @ 1362 NONAME - _ZN22QDeclarativeExpressionC1EP19QDeclarativeContextRK7QStringP7QObject @ 1363 NONAME - _ZN22QDeclarativeExpressionC1EP19QDeclarativeContextRK7QStringP7QObjectR29QDeclarativeExpressionPrivate @ 1364 NONAME - _ZN22QDeclarativeExpressionC1Ev @ 1365 NONAME - _ZN22QDeclarativeExpressionC2EP19QDeclarativeContextPvP20QDeclarativeRefCountP7QObjectRK7QStringiR29QDeclarativeExpressionPrivate @ 1366 NONAME - _ZN22QDeclarativeExpressionC2EP19QDeclarativeContextRK7QStringP7QObject @ 1367 NONAME - _ZN22QDeclarativeExpressionC2EP19QDeclarativeContextRK7QStringP7QObjectR29QDeclarativeExpressionPrivate @ 1368 NONAME - _ZN22QDeclarativeExpressionC2Ev @ 1369 NONAME - _ZN22QDeclarativeExpressionD0Ev @ 1370 NONAME - _ZN22QDeclarativeExpressionD1Ev @ 1371 NONAME - _ZN22QDeclarativeExpressionD2Ev @ 1372 NONAME - _ZN22QDeclarativeFocusPanel10sceneEventEP6QEvent @ 1373 NONAME - _ZN22QDeclarativeFocusPanel11qt_metacallEN11QMetaObject4CallEiPPv @ 1374 NONAME - _ZN22QDeclarativeFocusPanel11qt_metacastEPKc @ 1375 NONAME - _ZN22QDeclarativeFocusPanel13activeChangedEv @ 1376 NONAME - _ZN22QDeclarativeFocusPanel16staticMetaObjectE @ 1377 NONAME DATA 16 - _ZN22QDeclarativeFocusPanel19getStaticMetaObjectEv @ 1378 NONAME - _ZN22QDeclarativeFocusPanelC1EP16QDeclarativeItem @ 1379 NONAME - _ZN22QDeclarativeFocusPanelC2EP16QDeclarativeItem @ 1380 NONAME - _ZN22QDeclarativeFocusPanelD0Ev @ 1381 NONAME - _ZN22QDeclarativeFocusPanelD1Ev @ 1382 NONAME - _ZN22QDeclarativeFocusPanelD2Ev @ 1383 NONAME - _ZN22QDeclarativeFocusScope11qt_metacallEN11QMetaObject4CallEiPPv @ 1384 NONAME - _ZN22QDeclarativeFocusScope11qt_metacastEPKc @ 1385 NONAME - _ZN22QDeclarativeFocusScope16staticMetaObjectE @ 1386 NONAME DATA 16 - _ZN22QDeclarativeFocusScope19getStaticMetaObjectEv @ 1387 NONAME - _ZN22QDeclarativeFocusScopeC1EP16QDeclarativeItem @ 1388 NONAME - _ZN22QDeclarativeFocusScopeC2EP16QDeclarativeItem @ 1389 NONAME - _ZN22QDeclarativeFocusScopeD0Ev @ 1390 NONAME - _ZN22QDeclarativeFocusScopeD1Ev @ 1391 NONAME - _ZN22QDeclarativeFocusScopeD2Ev @ 1392 NONAME - _ZN22QDeclarativeFontLoader11nameChangedEv @ 1393 NONAME - _ZN22QDeclarativeFontLoader11qt_metacallEN11QMetaObject4CallEiPPv @ 1394 NONAME - _ZN22QDeclarativeFontLoader11qt_metacastEPKc @ 1395 NONAME - _ZN22QDeclarativeFontLoader13replyFinishedEv @ 1396 NONAME - _ZN22QDeclarativeFontLoader13statusChangedEv @ 1397 NONAME - _ZN22QDeclarativeFontLoader16staticMetaObjectE @ 1398 NONAME DATA 16 - _ZN22QDeclarativeFontLoader19getStaticMetaObjectEv @ 1399 NONAME - _ZN22QDeclarativeFontLoader7setNameERK7QString @ 1400 NONAME - _ZN22QDeclarativeFontLoader9setSourceERK4QUrl @ 1401 NONAME - _ZN22QDeclarativeFontLoaderC1EP7QObject @ 1402 NONAME - _ZN22QDeclarativeFontLoaderC2EP7QObject @ 1403 NONAME - _ZN22QDeclarativeFontLoaderD0Ev @ 1404 NONAME - _ZN22QDeclarativeFontLoaderD1Ev @ 1405 NONAME - _ZN22QDeclarativeFontLoaderD2Ev @ 1406 NONAME - _ZN22QDeclarativeStateGroup10classBeginEv @ 1407 NONAME - _ZN22QDeclarativeStateGroup11qt_metacallEN11QMetaObject4CallEiPPv @ 1408 NONAME - _ZN22QDeclarativeStateGroup11qt_metacastEPKc @ 1409 NONAME - _ZN22QDeclarativeStateGroup11removeStateEP17QDeclarativeState @ 1410 NONAME - _ZN22QDeclarativeStateGroup12stateChangedERK7QString @ 1411 NONAME - _ZN22QDeclarativeStateGroup14statesPropertyEv @ 1412 NONAME - _ZN22QDeclarativeStateGroup15updateAutoStateEv @ 1413 NONAME - _ZN22QDeclarativeStateGroup16staticMetaObjectE @ 1414 NONAME DATA 16 - _ZN22QDeclarativeStateGroup17componentCompleteEv @ 1415 NONAME - _ZN22QDeclarativeStateGroup19getStaticMetaObjectEv @ 1416 NONAME - _ZN22QDeclarativeStateGroup19transitionsPropertyEv @ 1417 NONAME - _ZN22QDeclarativeStateGroup8setStateERK7QString @ 1418 NONAME - _ZN22QDeclarativeStateGroupC1EP7QObject @ 1419 NONAME - _ZN22QDeclarativeStateGroupC2EP7QObject @ 1420 NONAME - _ZN22QDeclarativeStateGroupD0Ev @ 1421 NONAME - _ZN22QDeclarativeStateGroupD1Ev @ 1422 NONAME - _ZN22QDeclarativeStateGroupD2Ev @ 1423 NONAME - _ZN22QDeclarativeStyledText5parseERK7QStringR11QTextLayout @ 1424 NONAME - _ZN22QDeclarativeStyledTextC1ERK7QStringR11QTextLayout @ 1425 NONAME - _ZN22QDeclarativeStyledTextC2ERK7QStringR11QTextLayout @ 1426 NONAME - _ZN22QDeclarativeStyledTextD1Ev @ 1427 NONAME - _ZN22QDeclarativeStyledTextD2Ev @ 1428 NONAME - _ZN22QDeclarativeTransition10animationsEv @ 1429 NONAME - _ZN22QDeclarativeTransition10setToStateERK7QString @ 1430 NONAME - _ZN22QDeclarativeTransition11qt_metacallEN11QMetaObject4CallEiPPv @ 1431 NONAME - _ZN22QDeclarativeTransition11qt_metacastEPKc @ 1432 NONAME - _ZN22QDeclarativeTransition11setReversedEb @ 1433 NONAME - _ZN22QDeclarativeTransition12setFromStateERK7QString @ 1434 NONAME - _ZN22QDeclarativeTransition13setReversibleEb @ 1435 NONAME - _ZN22QDeclarativeTransition16staticMetaObjectE @ 1436 NONAME DATA 16 - _ZN22QDeclarativeTransition19getStaticMetaObjectEv @ 1437 NONAME - _ZN22QDeclarativeTransition4stopEv @ 1438 NONAME - _ZN22QDeclarativeTransition7prepareER5QListI18QDeclarativeActionERS0_I20QDeclarativePropertyEP29QDeclarativeTransitionManager @ 1439 NONAME - _ZN22QDeclarativeTransitionC1EP7QObject @ 1440 NONAME - _ZN22QDeclarativeTransitionC2EP7QObject @ 1441 NONAME - _ZN22QDeclarativeTransitionD0Ev @ 1442 NONAME - _ZN22QDeclarativeTransitionD1Ev @ 1443 NONAME - _ZN22QDeclarativeTransitionD2Ev @ 1444 NONAME - _ZN23QDeclarativeBorderImage11qt_metacallEN11QMetaObject4CallEiPPv @ 1445 NONAME - _ZN23QDeclarativeBorderImage11qt_metacastEPKc @ 1446 NONAME - _ZN23QDeclarativeBorderImage15requestFinishedEv @ 1447 NONAME - _ZN23QDeclarativeBorderImage16staticMetaObjectE @ 1448 NONAME DATA 16 - _ZN23QDeclarativeBorderImage18sciRequestFinishedEv @ 1449 NONAME - _ZN23QDeclarativeBorderImage18setGridScaledImageERK27QDeclarativeGridScaledImage @ 1450 NONAME - _ZN23QDeclarativeBorderImage19getStaticMetaObjectEv @ 1451 NONAME - _ZN23QDeclarativeBorderImage19setVerticalTileModeENS_8TileModeE @ 1452 NONAME - _ZN23QDeclarativeBorderImage21setHorizontalTileModeENS_8TileModeE @ 1453 NONAME - _ZN23QDeclarativeBorderImage23verticalTileModeChangedEv @ 1454 NONAME - _ZN23QDeclarativeBorderImage25horizontalTileModeChangedEv @ 1455 NONAME - _ZN23QDeclarativeBorderImage4loadEv @ 1456 NONAME - _ZN23QDeclarativeBorderImage5paintEP8QPainterPK24QStyleOptionGraphicsItemP7QWidget @ 1457 NONAME - _ZN23QDeclarativeBorderImage6borderEv @ 1458 NONAME - _ZN23QDeclarativeBorderImage9setSourceERK4QUrl @ 1459 NONAME - _ZN23QDeclarativeBorderImageC1EP16QDeclarativeItem @ 1460 NONAME - _ZN23QDeclarativeBorderImageC2EP16QDeclarativeItem @ 1461 NONAME - _ZN23QDeclarativeBorderImageD0Ev @ 1462 NONAME - _ZN23QDeclarativeBorderImageD1Ev @ 1463 NONAME - _ZN23QDeclarativeBorderImageD2Ev @ 1464 NONAME - _ZN23QDeclarativeConnections11qt_metacallEN11QMetaObject4CallEiPPv @ 1465 NONAME - _ZN23QDeclarativeConnections11qt_metacastEPKc @ 1466 NONAME - _ZN23QDeclarativeConnections13targetChangedEv @ 1467 NONAME - _ZN23QDeclarativeConnections14connectSignalsEv @ 1468 NONAME - _ZN23QDeclarativeConnections16staticMetaObjectE @ 1469 NONAME DATA 16 - _ZN23QDeclarativeConnections17componentCompleteEv @ 1470 NONAME - _ZN23QDeclarativeConnections19getStaticMetaObjectEv @ 1471 NONAME - _ZN23QDeclarativeConnections9setTargetEP7QObject @ 1472 NONAME - _ZN23QDeclarativeConnectionsC1EP7QObject @ 1473 NONAME - _ZN23QDeclarativeConnectionsC2EP7QObject @ 1474 NONAME - _ZN23QDeclarativeConnectionsD0Ev @ 1475 NONAME - _ZN23QDeclarativeConnectionsD1Ev @ 1476 NONAME - _ZN23QDeclarativeConnectionsD2Ev @ 1477 NONAME - _ZN23QDeclarativeDebugClient10setEnabledEb @ 1478 NONAME - _ZN23QDeclarativeDebugClient11qt_metacallEN11QMetaObject4CallEiPPv @ 1479 NONAME - _ZN23QDeclarativeDebugClient11qt_metacastEPKc @ 1480 NONAME - _ZN23QDeclarativeDebugClient11sendMessageERK10QByteArray @ 1481 NONAME - _ZN23QDeclarativeDebugClient15messageReceivedERK10QByteArray @ 1482 NONAME - _ZN23QDeclarativeDebugClient16staticMetaObjectE @ 1483 NONAME DATA 16 - _ZN23QDeclarativeDebugClient19getStaticMetaObjectEv @ 1484 NONAME - _ZN23QDeclarativeDebugClientC1ERK7QStringP27QDeclarativeDebugConnection @ 1485 NONAME - _ZN23QDeclarativeDebugClientC2ERK7QStringP27QDeclarativeDebugConnection @ 1486 NONAME - _ZN23QDeclarativeDomDocument4loadEP18QDeclarativeEngineRK10QByteArrayRK4QUrl @ 1487 NONAME - _ZN23QDeclarativeDomDocumentC1ERKS_ @ 1488 NONAME - _ZN23QDeclarativeDomDocumentC1Ev @ 1489 NONAME - _ZN23QDeclarativeDomDocumentC2ERKS_ @ 1490 NONAME - _ZN23QDeclarativeDomDocumentC2Ev @ 1491 NONAME - _ZN23QDeclarativeDomDocumentD1Ev @ 1492 NONAME - _ZN23QDeclarativeDomDocumentD2Ev @ 1493 NONAME - _ZN23QDeclarativeDomDocumentaSERKS_ @ 1494 NONAME - _ZN23QDeclarativeDomPropertyC1ERKS_ @ 1495 NONAME - _ZN23QDeclarativeDomPropertyC1Ev @ 1496 NONAME - _ZN23QDeclarativeDomPropertyC2ERKS_ @ 1497 NONAME - _ZN23QDeclarativeDomPropertyC2Ev @ 1498 NONAME - _ZN23QDeclarativeDomPropertyD1Ev @ 1499 NONAME - _ZN23QDeclarativeDomPropertyD2Ev @ 1500 NONAME - _ZN23QDeclarativeDomPropertyaSERKS_ @ 1501 NONAME - _ZN23QDeclarativeEngineDebug11qt_metacallEN11QMetaObject4CallEiPPv @ 1502 NONAME - _ZN23QDeclarativeEngineDebug11qt_metacastEPKc @ 1503 NONAME - _ZN23QDeclarativeEngineDebug11queryObjectERK32QDeclarativeDebugObjectReferenceP7QObject @ 1504 NONAME - _ZN23QDeclarativeEngineDebug11removeWatchEP22QDeclarativeDebugWatch @ 1505 NONAME - _ZN23QDeclarativeEngineDebug16staticMetaObjectE @ 1506 NONAME DATA 16 - _ZN23QDeclarativeEngineDebug17queryRootContextsERK32QDeclarativeDebugEngineReferenceP7QObject @ 1507 NONAME - _ZN23QDeclarativeEngineDebug19getStaticMetaObjectEv @ 1508 NONAME - _ZN23QDeclarativeEngineDebug20queryObjectRecursiveERK32QDeclarativeDebugObjectReferenceP7QObject @ 1509 NONAME - _ZN23QDeclarativeEngineDebug21queryAvailableEnginesEP7QObject @ 1510 NONAME - _ZN23QDeclarativeEngineDebug21queryExpressionResultEiRK7QStringP7QObject @ 1511 NONAME - _ZN23QDeclarativeEngineDebug8addWatchERK30QDeclarativeDebugFileReferenceP7QObject @ 1512 NONAME - _ZN23QDeclarativeEngineDebug8addWatchERK32QDeclarativeDebugObjectReferenceP7QObject @ 1513 NONAME - _ZN23QDeclarativeEngineDebug8addWatchERK32QDeclarativeDebugObjectReferenceRK7QStringP7QObject @ 1514 NONAME - _ZN23QDeclarativeEngineDebug8addWatchERK33QDeclarativeDebugContextReferenceRK7QStringP7QObject @ 1515 NONAME - _ZN23QDeclarativeEngineDebug8addWatchERK34QDeclarativeDebugPropertyReferenceP7QObject @ 1516 NONAME - _ZN23QDeclarativeEngineDebugC1EP27QDeclarativeDebugConnectionP7QObject @ 1517 NONAME - _ZN23QDeclarativeEngineDebugC2EP27QDeclarativeDebugConnectionP7QObject @ 1518 NONAME - _ZN23QDeclarativeItemPrivate17setConsistentTimeEi @ 1519 NONAME - _ZN23QDeclarativePaintedItem10clearCacheEv @ 1520 NONAME - _ZN23QDeclarativePaintedItem10dirtyCacheERK5QRect @ 1521 NONAME - _ZN23QDeclarativePaintedItem11qt_metacallEN11QMetaObject4CallEiPPv @ 1522 NONAME - _ZN23QDeclarativePaintedItem11qt_metacastEPKc @ 1523 NONAME - _ZN23QDeclarativePaintedItem12setFillColorERK6QColor @ 1524 NONAME - _ZN23QDeclarativePaintedItem14setCacheFrozenEb @ 1525 NONAME - _ZN23QDeclarativePaintedItem14setSmoothCacheEb @ 1526 NONAME - _ZN23QDeclarativePaintedItem15setContentsSizeERK5QSize @ 1527 NONAME - _ZN23QDeclarativePaintedItem16fillColorChangedEv @ 1528 NONAME - _ZN23QDeclarativePaintedItem16setContentsScaleEf @ 1529 NONAME - _ZN23QDeclarativePaintedItem16staticMetaObjectE @ 1530 NONAME DATA 16 - _ZN23QDeclarativePaintedItem17setPixelCacheSizeEi @ 1531 NONAME - _ZN23QDeclarativePaintedItem19contentsSizeChangedEv @ 1532 NONAME - _ZN23QDeclarativePaintedItem19getStaticMetaObjectEv @ 1533 NONAME - _ZN23QDeclarativePaintedItem20contentsScaleChangedEv @ 1534 NONAME - _ZN23QDeclarativePaintedItem4initEv @ 1535 NONAME - _ZN23QDeclarativePaintedItem5paintEP8QPainterPK24QStyleOptionGraphicsItemP7QWidget @ 1536 NONAME - _ZN23QDeclarativePaintedItemC2EP16QDeclarativeItem @ 1537 NONAME - _ZN23QDeclarativePaintedItemC2ER30QDeclarativePaintedItemPrivateP16QDeclarativeItem @ 1538 NONAME - _ZN23QDeclarativePaintedItemD0Ev @ 1539 NONAME - _ZN23QDeclarativePaintedItemD1Ev @ 1540 NONAME - _ZN23QDeclarativePaintedItemD2Ev @ 1541 NONAME - _ZN23QDeclarativePathElement11qt_metacallEN11QMetaObject4CallEiPPv @ 1542 NONAME - _ZN23QDeclarativePathElement11qt_metacastEPKc @ 1543 NONAME - _ZN23QDeclarativePathElement16staticMetaObjectE @ 1544 NONAME DATA 16 - _ZN23QDeclarativePathElement19getStaticMetaObjectEv @ 1545 NONAME - _ZN23QDeclarativePathElement7changedEv @ 1546 NONAME - _ZN23QDeclarativePathPercent11qt_metacallEN11QMetaObject4CallEiPPv @ 1547 NONAME - _ZN23QDeclarativePathPercent11qt_metacastEPKc @ 1548 NONAME - _ZN23QDeclarativePathPercent16staticMetaObjectE @ 1549 NONAME DATA 16 - _ZN23QDeclarativePathPercent19getStaticMetaObjectEv @ 1550 NONAME - _ZN23QDeclarativePathPercent8setValueEf @ 1551 NONAME - _ZN23QDeclarativePixmapCache15pendingRequestsEv @ 1552 NONAME - _ZN23QDeclarativePixmapCache3getERK4QUrlP7QPixmapb @ 1553 NONAME - _ZN23QDeclarativePixmapCache6cancelERK4QUrlP7QObject @ 1554 NONAME - _ZN23QDeclarativePixmapCache7requestEP18QDeclarativeEngineRK4QUrl @ 1555 NONAME - _ZN23QDeclarativePixmapReply10setLoadingEv @ 1556 NONAME - _ZN23QDeclarativePixmapReply11qt_metacallEN11QMetaObject4CallEiPPv @ 1557 NONAME - _ZN23QDeclarativePixmapReply11qt_metacastEPKc @ 1558 NONAME - _ZN23QDeclarativePixmapReply16downloadProgressExx @ 1559 NONAME - _ZN23QDeclarativePixmapReply16staticMetaObjectE @ 1560 NONAME DATA 16 - _ZN23QDeclarativePixmapReply19getStaticMetaObjectEv @ 1561 NONAME - _ZN23QDeclarativePixmapReply5eventEP6QEvent @ 1562 NONAME - _ZN23QDeclarativePixmapReply6addRefEv @ 1563 NONAME - _ZN23QDeclarativePixmapReply7releaseEb @ 1564 NONAME - _ZN23QDeclarativePixmapReply8finishedEv @ 1565 NONAME - _ZN23QDeclarativePixmapReplyC1EP23QDeclarativeImageReaderRK4QUrl @ 1566 NONAME - _ZN23QDeclarativePixmapReplyC2EP23QDeclarativeImageReaderRK4QUrl @ 1567 NONAME - _ZN23QDeclarativePixmapReplyD0Ev @ 1568 NONAME - _ZN23QDeclarativePixmapReplyD1Ev @ 1569 NONAME - _ZN23QDeclarativePixmapReplyD2Ev @ 1570 NONAME - _ZN23QDeclarativePropertyMap11qt_metacallEN11QMetaObject4CallEiPPv @ 1571 NONAME - _ZN23QDeclarativePropertyMap11qt_metacastEPKc @ 1572 NONAME - _ZN23QDeclarativePropertyMap12valueChangedERK7QString @ 1573 NONAME - _ZN23QDeclarativePropertyMap16staticMetaObjectE @ 1574 NONAME DATA 16 - _ZN23QDeclarativePropertyMap19getStaticMetaObjectEv @ 1575 NONAME - _ZN23QDeclarativePropertyMap5clearERK7QString @ 1576 NONAME - _ZN23QDeclarativePropertyMap6insertERK7QStringRK8QVariant @ 1577 NONAME - _ZN23QDeclarativePropertyMapC1EP7QObject @ 1578 NONAME - _ZN23QDeclarativePropertyMapC2EP7QObject @ 1579 NONAME - _ZN23QDeclarativePropertyMapD0Ev @ 1580 NONAME - _ZN23QDeclarativePropertyMapD1Ev @ 1581 NONAME - _ZN23QDeclarativePropertyMapD2Ev @ 1582 NONAME - _ZN23QDeclarativePropertyMapixERK7QString @ 1583 NONAME - _ZN23QDeclarativeViewSection11qt_metacallEN11QMetaObject4CallEiPPv @ 1584 NONAME - _ZN23QDeclarativeViewSection11qt_metacastEPKc @ 1585 NONAME - _ZN23QDeclarativeViewSection11setCriteriaENS_15SectionCriteriaE @ 1586 NONAME - _ZN23QDeclarativeViewSection11setDelegateEP21QDeclarativeComponent @ 1587 NONAME - _ZN23QDeclarativeViewSection11setPropertyERK7QString @ 1588 NONAME - _ZN23QDeclarativeViewSection13sectionStringERK7QString @ 1589 NONAME - _ZN23QDeclarativeViewSection15delegateChangedEv @ 1590 NONAME - _ZN23QDeclarativeViewSection16staticMetaObjectE @ 1591 NONAME DATA 16 - _ZN23QDeclarativeViewSection19getStaticMetaObjectEv @ 1592 NONAME - _ZN23QDeclarativeViewSection7changedEv @ 1593 NONAME - _ZN23QDeclarativeVisualModel10itemsMovedEiii @ 1594 NONAME - _ZN23QDeclarativeVisualModel10modelResetEv @ 1595 NONAME - _ZN23QDeclarativeVisualModel11createdItemEiP16QDeclarativeItem @ 1596 NONAME - _ZN23QDeclarativeVisualModel11qt_metacallEN11QMetaObject4CallEiPPv @ 1597 NONAME - _ZN23QDeclarativeVisualModel11qt_metacastEPKc @ 1598 NONAME - _ZN23QDeclarativeVisualModel12countChangedEv @ 1599 NONAME - _ZN23QDeclarativeVisualModel12itemsRemovedEii @ 1600 NONAME - _ZN23QDeclarativeVisualModel13itemsInsertedEii @ 1601 NONAME - _ZN23QDeclarativeVisualModel14destroyingItemEP16QDeclarativeItem @ 1602 NONAME - _ZN23QDeclarativeVisualModel16staticMetaObjectE @ 1603 NONAME DATA 16 - _ZN23QDeclarativeVisualModel19getStaticMetaObjectEv @ 1604 NONAME - _ZN24QDeclarativeCustomParser11clearErrorsEv @ 1605 NONAME - _ZN24QDeclarativeCustomParser5errorERK28QDeclarativeCustomParserNodeRK7QString @ 1606 NONAME - _ZN24QDeclarativeCustomParser5errorERK32QDeclarativeCustomParserPropertyRK7QString @ 1607 NONAME - _ZN24QDeclarativeDebugService11idForObjectEP7QObject @ 1608 NONAME - _ZN24QDeclarativeDebugService11objectForIdEi @ 1609 NONAME - _ZN24QDeclarativeDebugService11qt_metacallEN11QMetaObject4CallEiPPv @ 1610 NONAME - _ZN24QDeclarativeDebugService11qt_metacastEPKc @ 1611 NONAME - _ZN24QDeclarativeDebugService11sendMessageERK10QByteArray @ 1612 NONAME - _ZN24QDeclarativeDebugService14enabledChangedEb @ 1613 NONAME - _ZN24QDeclarativeDebugService14objectToStringEP7QObject @ 1614 NONAME - _ZN24QDeclarativeDebugService14waitForClientsEv @ 1615 NONAME - _ZN24QDeclarativeDebugService15messageReceivedERK10QByteArray @ 1616 NONAME - _ZN24QDeclarativeDebugService16staticMetaObjectE @ 1617 NONAME DATA 16 - _ZN24QDeclarativeDebugService18isDebuggingEnabledEv @ 1618 NONAME - _ZN24QDeclarativeDebugService19getStaticMetaObjectEv @ 1619 NONAME - _ZN24QDeclarativeDebugService19notifyOnServerStartEP7QObjectPKc @ 1620 NONAME - _ZN24QDeclarativeDebugServiceC1ERK7QStringP7QObject @ 1621 NONAME - _ZN24QDeclarativeDebugServiceC2ERK7QStringP7QObject @ 1622 NONAME - _ZN24QDeclarativeDomComponentC1ERKS_ @ 1623 NONAME - _ZN24QDeclarativeDomComponentC1Ev @ 1624 NONAME - _ZN24QDeclarativeDomComponentC2ERKS_ @ 1625 NONAME - _ZN24QDeclarativeDomComponentC2Ev @ 1626 NONAME - _ZN24QDeclarativeDomComponentD1Ev @ 1627 NONAME - _ZN24QDeclarativeDomComponentD2Ev @ 1628 NONAME - _ZN24QDeclarativeDomComponentaSERKS_ @ 1629 NONAME - _ZN24QDeclarativeGradientStop11qt_metacallEN11QMetaObject4CallEiPPv @ 1630 NONAME - _ZN24QDeclarativeGradientStop11qt_metacastEPKc @ 1631 NONAME - _ZN24QDeclarativeGradientStop14updateGradientEv @ 1632 NONAME - _ZN24QDeclarativeGradientStop16staticMetaObjectE @ 1633 NONAME DATA 16 - _ZN24QDeclarativeGradientStop19getStaticMetaObjectEv @ 1634 NONAME - _ZN24QDeclarativeListAccessor7setListERK8QVariantP18QDeclarativeEngine @ 1635 NONAME - _ZN24QDeclarativeListAccessorC1Ev @ 1636 NONAME - _ZN24QDeclarativeListAccessorC2Ev @ 1637 NONAME - _ZN24QDeclarativeListAccessorD1Ev @ 1638 NONAME - _ZN24QDeclarativeListAccessorD2Ev @ 1639 NONAME - _ZN24QDeclarativeParentChange11qt_metacallEN11QMetaObject4CallEiPPv @ 1640 NONAME - _ZN24QDeclarativeParentChange11qt_metacastEPKc @ 1641 NONAME - _ZN24QDeclarativeParentChange11setRotationEf @ 1642 NONAME - _ZN24QDeclarativeParentChange12isReversableEv @ 1643 NONAME - _ZN24QDeclarativeParentChange13saveOriginalsEv @ 1644 NONAME - _ZN24QDeclarativeParentChange16staticMetaObjectE @ 1645 NONAME DATA 16 - _ZN24QDeclarativeParentChange17saveCurrentValuesEv @ 1646 NONAME - _ZN24QDeclarativeParentChange19getStaticMetaObjectEv @ 1647 NONAME - _ZN24QDeclarativeParentChange4setXEf @ 1648 NONAME - _ZN24QDeclarativeParentChange4setYEf @ 1649 NONAME - _ZN24QDeclarativeParentChange6rewindEv @ 1650 NONAME - _ZN24QDeclarativeParentChange7actionsEv @ 1651 NONAME - _ZN24QDeclarativeParentChange7executeEv @ 1652 NONAME - _ZN24QDeclarativeParentChange7reverseEv @ 1653 NONAME - _ZN24QDeclarativeParentChange8overrideEP23QDeclarativeActionEvent @ 1654 NONAME - _ZN24QDeclarativeParentChange8setScaleEf @ 1655 NONAME - _ZN24QDeclarativeParentChange8setWidthEf @ 1656 NONAME - _ZN24QDeclarativeParentChange9setHeightEf @ 1657 NONAME - _ZN24QDeclarativeParentChange9setObjectEP16QDeclarativeItem @ 1658 NONAME - _ZN24QDeclarativeParentChange9setParentEP16QDeclarativeItem @ 1659 NONAME - _ZN24QDeclarativeParentChangeC1EP7QObject @ 1660 NONAME - _ZN24QDeclarativeParentChangeC2EP7QObject @ 1661 NONAME - _ZN24QDeclarativeParentChangeD0Ev @ 1662 NONAME - _ZN24QDeclarativeParentChangeD1Ev @ 1663 NONAME - _ZN24QDeclarativeParentChangeD2Ev @ 1664 NONAME - _ZN24QDeclarativeParserStatus10classBeginEv @ 1665 NONAME - _ZN24QDeclarativeParserStatus17componentCompleteEv @ 1666 NONAME - _ZN24QDeclarativeParserStatusC1Ev @ 1667 NONAME - _ZN24QDeclarativeParserStatusC2Ev @ 1668 NONAME - _ZN24QDeclarativeParserStatusD0Ev @ 1669 NONAME - _ZN24QDeclarativeParserStatusD1Ev @ 1670 NONAME - _ZN24QDeclarativeParserStatusD2Ev @ 1671 NONAME - _ZN24QDeclarativeScriptString10setContextEP19QDeclarativeContext @ 1672 NONAME - _ZN24QDeclarativeScriptString14setScopeObjectEP7QObject @ 1673 NONAME - _ZN24QDeclarativeScriptString9setScriptERK7QString @ 1674 NONAME - _ZN24QDeclarativeScriptStringC1ERKS_ @ 1675 NONAME - _ZN24QDeclarativeScriptStringC1Ev @ 1676 NONAME - _ZN24QDeclarativeScriptStringC2ERKS_ @ 1677 NONAME - _ZN24QDeclarativeScriptStringC2Ev @ 1678 NONAME - _ZN24QDeclarativeScriptStringD1Ev @ 1679 NONAME - _ZN24QDeclarativeScriptStringD2Ev @ 1680 NONAME - _ZN24QDeclarativeScriptStringaSERKS_ @ 1681 NONAME - _ZN24QDeclarativeSpringFollow10setDampingEf @ 1682 NONAME - _ZN24QDeclarativeSpringFollow10setEnabledEb @ 1683 NONAME - _ZN24QDeclarativeSpringFollow10setEpsilonEf @ 1684 NONAME - _ZN24QDeclarativeSpringFollow10setModulusEf @ 1685 NONAME - _ZN24QDeclarativeSpringFollow11massChangedEv @ 1686 NONAME - _ZN24QDeclarativeSpringFollow11qt_metacallEN11QMetaObject4CallEiPPv @ 1687 NONAME - _ZN24QDeclarativeSpringFollow11qt_metacastEPKc @ 1688 NONAME - _ZN24QDeclarativeSpringFollow11setVelocityEf @ 1689 NONAME - _ZN24QDeclarativeSpringFollow11syncChangedEv @ 1690 NONAME - _ZN24QDeclarativeSpringFollow12valueChangedEf @ 1691 NONAME - _ZN24QDeclarativeSpringFollow14modulusChangedEv @ 1692 NONAME - _ZN24QDeclarativeSpringFollow14setSourceValueEf @ 1693 NONAME - _ZN24QDeclarativeSpringFollow16staticMetaObjectE @ 1694 NONAME DATA 16 - _ZN24QDeclarativeSpringFollow19getStaticMetaObjectEv @ 1695 NONAME - _ZN24QDeclarativeSpringFollow7setMassEf @ 1696 NONAME - _ZN24QDeclarativeSpringFollow9setSpringEf @ 1697 NONAME - _ZN24QDeclarativeSpringFollow9setTargetERK20QDeclarativeProperty @ 1698 NONAME - _ZN24QDeclarativeSpringFollowC1EP7QObject @ 1699 NONAME - _ZN24QDeclarativeSpringFollowC2EP7QObject @ 1700 NONAME - _ZN24QDeclarativeSpringFollowD0Ev @ 1701 NONAME - _ZN24QDeclarativeSpringFollowD1Ev @ 1702 NONAME - _ZN24QDeclarativeSpringFollowD2Ev @ 1703 NONAME - _ZN24QDeclarativeXmlListModel10classBeginEv @ 1704 NONAME - _ZN24QDeclarativeXmlListModel11qt_metacallEN11QMetaObject4CallEiPPv @ 1705 NONAME - _ZN24QDeclarativeXmlListModel11qt_metacastEPKc @ 1706 NONAME - _ZN24QDeclarativeXmlListModel11roleObjectsEv @ 1707 NONAME - _ZN24QDeclarativeXmlListModel12countChangedEv @ 1708 NONAME - _ZN24QDeclarativeXmlListModel13statusChangedENS_6StatusE @ 1709 NONAME - _ZN24QDeclarativeXmlListModel14queryCompletedEii @ 1710 NONAME - _ZN24QDeclarativeXmlListModel15progressChangedEf @ 1711 NONAME - _ZN24QDeclarativeXmlListModel15requestFinishedEv @ 1712 NONAME - _ZN24QDeclarativeXmlListModel15requestProgressExx @ 1713 NONAME - _ZN24QDeclarativeXmlListModel16staticMetaObjectE @ 1714 NONAME DATA 16 - _ZN24QDeclarativeXmlListModel17componentCompleteEv @ 1715 NONAME - _ZN24QDeclarativeXmlListModel19getStaticMetaObjectEv @ 1716 NONAME - _ZN24QDeclarativeXmlListModel24setNamespaceDeclarationsERK7QString @ 1717 NONAME - _ZN24QDeclarativeXmlListModel6reloadEv @ 1718 NONAME - _ZN24QDeclarativeXmlListModel6setXmlERK7QString @ 1719 NONAME - _ZN24QDeclarativeXmlListModel8setQueryERK7QString @ 1720 NONAME - _ZN24QDeclarativeXmlListModel9setSourceERK4QUrl @ 1721 NONAME - _ZN24QDeclarativeXmlListModelC1EP7QObject @ 1722 NONAME - _ZN24QDeclarativeXmlListModelC2EP7QObject @ 1723 NONAME - _ZN24QDeclarativeXmlListModelD0Ev @ 1724 NONAME - _ZN24QDeclarativeXmlListModelD1Ev @ 1725 NONAME - _ZN24QDeclarativeXmlListModelD2Ev @ 1726 NONAME - _ZN25QDeclarativeAnchorChanges11qt_metacallEN11QMetaObject4CallEiPPv @ 1727 NONAME - _ZN25QDeclarativeAnchorChanges11qt_metacastEPKc @ 1728 NONAME - _ZN25QDeclarativeAnchorChanges11setBaselineERK22QDeclarativeAnchorLine @ 1729 NONAME - _ZN25QDeclarativeAnchorChanges12extraActionsEv @ 1730 NONAME - _ZN25QDeclarativeAnchorChanges12isReversableEv @ 1731 NONAME - _ZN25QDeclarativeAnchorChanges13saveOriginalsEv @ 1732 NONAME - _ZN25QDeclarativeAnchorChanges15changesBindingsEv @ 1733 NONAME - _ZN25QDeclarativeAnchorChanges16staticMetaObjectE @ 1734 NONAME DATA 16 - _ZN25QDeclarativeAnchorChanges17saveCurrentValuesEv @ 1735 NONAME - _ZN25QDeclarativeAnchorChanges17setVerticalCenterERK22QDeclarativeAnchorLine @ 1736 NONAME - _ZN25QDeclarativeAnchorChanges19getStaticMetaObjectEv @ 1737 NONAME - _ZN25QDeclarativeAnchorChanges19setHorizontalCenterERK22QDeclarativeAnchorLine @ 1738 NONAME - _ZN25QDeclarativeAnchorChanges20clearForwardBindingsEv @ 1739 NONAME - _ZN25QDeclarativeAnchorChanges20clearReverseBindingsEv @ 1740 NONAME - _ZN25QDeclarativeAnchorChanges6rewindEv @ 1741 NONAME - _ZN25QDeclarativeAnchorChanges6setTopERK22QDeclarativeAnchorLine @ 1742 NONAME - _ZN25QDeclarativeAnchorChanges7actionsEv @ 1743 NONAME - _ZN25QDeclarativeAnchorChanges7executeEv @ 1744 NONAME - _ZN25QDeclarativeAnchorChanges7reverseEv @ 1745 NONAME - _ZN25QDeclarativeAnchorChanges7setLeftERK22QDeclarativeAnchorLine @ 1746 NONAME - _ZN25QDeclarativeAnchorChanges8overrideEP23QDeclarativeActionEvent @ 1747 NONAME - _ZN25QDeclarativeAnchorChanges8setResetERK7QString @ 1748 NONAME - _ZN25QDeclarativeAnchorChanges8setRightERK22QDeclarativeAnchorLine @ 1749 NONAME - _ZN25QDeclarativeAnchorChanges9setBottomERK22QDeclarativeAnchorLine @ 1750 NONAME - _ZN25QDeclarativeAnchorChanges9setObjectEP16QDeclarativeItem @ 1751 NONAME - _ZN25QDeclarativeAnchorChangesC1EP7QObject @ 1752 NONAME - _ZN25QDeclarativeAnchorChangesC2EP7QObject @ 1753 NONAME - _ZN25QDeclarativeAnchorChangesD0Ev @ 1754 NONAME - _ZN25QDeclarativeAnchorChangesD1Ev @ 1755 NONAME - _ZN25QDeclarativeAnchorChangesD2Ev @ 1756 NONAME - _ZN25QDeclarativeAnimatedImage10setPlayingEb @ 1757 NONAME - _ZN25QDeclarativeAnimatedImage11movieUpdateEv @ 1758 NONAME - _ZN25QDeclarativeAnimatedImage11qt_metacallEN11QMetaObject4CallEiPPv @ 1759 NONAME - _ZN25QDeclarativeAnimatedImage11qt_metacastEPKc @ 1760 NONAME - _ZN25QDeclarativeAnimatedImage12frameChangedEv @ 1761 NONAME - _ZN25QDeclarativeAnimatedImage13pausedChangedEv @ 1762 NONAME - _ZN25QDeclarativeAnimatedImage14playingChangedEv @ 1763 NONAME - _ZN25QDeclarativeAnimatedImage15setCurrentFrameEi @ 1764 NONAME - _ZN25QDeclarativeAnimatedImage16staticMetaObjectE @ 1765 NONAME DATA 16 - _ZN25QDeclarativeAnimatedImage17componentCompleteEv @ 1766 NONAME - _ZN25QDeclarativeAnimatedImage19getStaticMetaObjectEv @ 1767 NONAME - _ZN25QDeclarativeAnimatedImage20movieRequestFinishedEv @ 1768 NONAME - _ZN25QDeclarativeAnimatedImage20playingStatusChangedEv @ 1769 NONAME - _ZN25QDeclarativeAnimatedImage9setPausedEb @ 1770 NONAME - _ZN25QDeclarativeAnimatedImage9setSourceERK4QUrl @ 1771 NONAME - _ZN25QDeclarativeAnimatedImageC1EP16QDeclarativeItem @ 1772 NONAME - _ZN25QDeclarativeAnimatedImageC2EP16QDeclarativeItem @ 1773 NONAME - _ZN25QDeclarativeAnimatedImageD0Ev @ 1774 NONAME - _ZN25QDeclarativeAnimatedImageD1Ev @ 1775 NONAME - _ZN25QDeclarativeAnimatedImageD2Ev @ 1776 NONAME - _ZN25QDeclarativeImageProviderD0Ev @ 1777 NONAME - _ZN25QDeclarativeImageProviderD1Ev @ 1778 NONAME - _ZN25QDeclarativeImageProviderD2Ev @ 1779 NONAME - _ZN25QDeclarativeListReferenceC1EP7QObjectPKcP18QDeclarativeEngine @ 1780 NONAME - _ZN25QDeclarativeListReferenceC1ERKS_ @ 1781 NONAME - _ZN25QDeclarativeListReferenceC1Ev @ 1782 NONAME - _ZN25QDeclarativeListReferenceC2EP7QObjectPKcP18QDeclarativeEngine @ 1783 NONAME - _ZN25QDeclarativeListReferenceC2ERKS_ @ 1784 NONAME - _ZN25QDeclarativeListReferenceC2Ev @ 1785 NONAME - _ZN25QDeclarativeListReferenceD1Ev @ 1786 NONAME - _ZN25QDeclarativeListReferenceD2Ev @ 1787 NONAME - _ZN25QDeclarativeListReferenceaSERKS_ @ 1788 NONAME - _ZN25QDeclarativePathAttribute11qt_metacallEN11QMetaObject4CallEiPPv @ 1789 NONAME - _ZN25QDeclarativePathAttribute11qt_metacastEPKc @ 1790 NONAME - _ZN25QDeclarativePathAttribute16staticMetaObjectE @ 1791 NONAME DATA 16 - _ZN25QDeclarativePathAttribute19getStaticMetaObjectEv @ 1792 NONAME - _ZN25QDeclarativePathAttribute7setNameERK7QString @ 1793 NONAME - _ZN25QDeclarativePathAttribute8setValueEf @ 1794 NONAME - _ZN25QDeclarativeSystemPalette11eventFilterEP7QObjectP6QEvent @ 1795 NONAME - _ZN25QDeclarativeSystemPalette11qt_metacallEN11QMetaObject4CallEiPPv @ 1796 NONAME - _ZN25QDeclarativeSystemPalette11qt_metacastEPKc @ 1797 NONAME - _ZN25QDeclarativeSystemPalette13setColorGroupENS_10ColorGroupE @ 1798 NONAME - _ZN25QDeclarativeSystemPalette14paletteChangedEv @ 1799 NONAME - _ZN25QDeclarativeSystemPalette16staticMetaObjectE @ 1800 NONAME DATA 16 - _ZN25QDeclarativeSystemPalette19getStaticMetaObjectEv @ 1801 NONAME - _ZN25QDeclarativeSystemPalette5eventEP6QEvent @ 1802 NONAME - _ZN25QDeclarativeSystemPaletteC1EP7QObject @ 1803 NONAME - _ZN25QDeclarativeSystemPaletteC2EP7QObject @ 1804 NONAME - _ZN25QDeclarativeSystemPaletteD0Ev @ 1805 NONAME - _ZN25QDeclarativeSystemPaletteD1Ev @ 1806 NONAME - _ZN25QDeclarativeSystemPaletteD2Ev @ 1807 NONAME - _ZN26QDeclarativeBasePositioner10addChangedEv @ 1808 NONAME - _ZN26QDeclarativeBasePositioner10itemChangeEN13QGraphicsItem18GraphicsItemChangeERK8QVariant @ 1809 NONAME - _ZN26QDeclarativeBasePositioner10setSpacingEi @ 1810 NONAME - _ZN26QDeclarativeBasePositioner11moveChangedEv @ 1811 NONAME - _ZN26QDeclarativeBasePositioner11qt_metacallEN11QMetaObject4CallEiPPv @ 1812 NONAME - _ZN26QDeclarativeBasePositioner11qt_metacastEPKc @ 1813 NONAME - _ZN26QDeclarativeBasePositioner14prePositioningEv @ 1814 NONAME - _ZN26QDeclarativeBasePositioner14spacingChangedEv @ 1815 NONAME - _ZN26QDeclarativeBasePositioner16staticMetaObjectE @ 1816 NONAME DATA 16 - _ZN26QDeclarativeBasePositioner17componentCompleteEv @ 1817 NONAME - _ZN26QDeclarativeBasePositioner19getStaticMetaObjectEv @ 1818 NONAME - _ZN26QDeclarativeBasePositioner22finishApplyTransitionsEv @ 1819 NONAME - _ZN26QDeclarativeBasePositioner6setAddEP22QDeclarativeTransition @ 1820 NONAME - _ZN26QDeclarativeBasePositioner7setMoveEP22QDeclarativeTransition @ 1821 NONAME - _ZN26QDeclarativeBasePositioner9positionXEiRKNS_14PositionedItemE @ 1822 NONAME - _ZN26QDeclarativeBasePositioner9positionYEiRKNS_14PositionedItemE @ 1823 NONAME - _ZN26QDeclarativeBasePositionerC2ENS_14PositionerTypeEP16QDeclarativeItem @ 1824 NONAME - _ZN26QDeclarativeBasePositionerC2ER33QDeclarativeBasePositionerPrivateNS_14PositionerTypeEP16QDeclarativeItem @ 1825 NONAME - _ZN26QDeclarativeBasePositionerD0Ev @ 1826 NONAME - _ZN26QDeclarativeBasePositionerD1Ev @ 1827 NONAME - _ZN26QDeclarativeBasePositionerD2Ev @ 1828 NONAME - _ZN26QDeclarativeContextPrivate10context_atEP24QDeclarativeListPropertyI7QObjectEi @ 1829 NONAME - _ZN26QDeclarativeContextPrivate13context_countEP24QDeclarativeListPropertyI7QObjectE @ 1830 NONAME - _ZN26QDeclarativeContextPrivate13setIdPropertyEiP7QObject @ 1831 NONAME - _ZN26QDeclarativeContextPrivate17invalidateEnginesEv @ 1832 NONAME - _ZN26QDeclarativeContextPrivate17setIdPropertyDataEP24QDeclarativeIntegerCache @ 1833 NONAME - _ZN26QDeclarativeContextPrivate18refreshExpressionsEv @ 1834 NONAME - _ZN26QDeclarativeContextPrivate4initEv @ 1835 NONAME - _ZN26QDeclarativeContextPrivate9addScriptERKN18QDeclarativeParser6Object11ScriptBlockEP7QObject @ 1836 NONAME - _ZN26QDeclarativeContextPrivate9destroyedEPNS_12ContextGuardE @ 1837 NONAME - _ZN26QDeclarativeContextPrivateC1Ev @ 1838 NONAME - _ZN26QDeclarativeContextPrivateC2Ev @ 1839 NONAME - _ZN26QDeclarativeDebuggerStatus16setSelectedStateEb @ 1840 NONAME - _ZN26QDeclarativeDebuggerStatusD0Ev @ 1841 NONAME - _ZN26QDeclarativeDebuggerStatusD1Ev @ 1842 NONAME - _ZN26QDeclarativeDebuggerStatusD2Ev @ 1843 NONAME - _ZN26QDeclarativeOpenMetaObject12initialValueEi @ 1844 NONAME - _ZN26QDeclarativeOpenMetaObject12propertyReadEi @ 1845 NONAME - _ZN26QDeclarativeOpenMetaObject13propertyWriteEi @ 1846 NONAME - _ZN26QDeclarativeOpenMetaObject14createPropertyEPKcS1_ @ 1847 NONAME - _ZN26QDeclarativeOpenMetaObject15propertyCreatedEiR20QMetaPropertyBuilder @ 1848 NONAME - _ZN26QDeclarativeOpenMetaObject8metaCallEN11QMetaObject4CallEiPPv @ 1849 NONAME - _ZN26QDeclarativeOpenMetaObject8setValueERK10QByteArrayRK8QVariant @ 1850 NONAME - _ZN26QDeclarativeOpenMetaObject8setValueEiRK8QVariant @ 1851 NONAME - _ZN26QDeclarativeOpenMetaObject9setCachedEb @ 1852 NONAME - _ZN26QDeclarativeOpenMetaObjectC1EP7QObjectP30QDeclarativeOpenMetaObjectTypeb @ 1853 NONAME - _ZN26QDeclarativeOpenMetaObjectC1EP7QObjectb @ 1854 NONAME - _ZN26QDeclarativeOpenMetaObjectC2EP7QObjectP30QDeclarativeOpenMetaObjectTypeb @ 1855 NONAME - _ZN26QDeclarativeOpenMetaObjectC2EP7QObjectb @ 1856 NONAME - _ZN26QDeclarativeOpenMetaObjectD0Ev @ 1857 NONAME - _ZN26QDeclarativeOpenMetaObjectD1Ev @ 1858 NONAME - _ZN26QDeclarativeOpenMetaObjectD2Ev @ 1859 NONAME - _ZN26QDeclarativeOpenMetaObjectixERK10QByteArray @ 1860 NONAME - _ZN26QDeclarativeParticleMotion11qt_metacallEN11QMetaObject4CallEiPPv @ 1861 NONAME - _ZN26QDeclarativeParticleMotion11qt_metacastEPKc @ 1862 NONAME - _ZN26QDeclarativeParticleMotion16staticMetaObjectE @ 1863 NONAME DATA 16 - _ZN26QDeclarativeParticleMotion19getStaticMetaObjectEv @ 1864 NONAME - _ZN26QDeclarativeParticleMotion7advanceER20QDeclarativeParticlei @ 1865 NONAME - _ZN26QDeclarativeParticleMotion7createdER20QDeclarativeParticle @ 1866 NONAME - _ZN26QDeclarativeParticleMotion7destroyER20QDeclarativeParticle @ 1867 NONAME - _ZN26QDeclarativeParticleMotionC1EP7QObject @ 1868 NONAME - _ZN26QDeclarativeParticleMotionC2EP7QObject @ 1869 NONAME - _ZN26QDeclarativeStateOperation11qt_metacallEN11QMetaObject4CallEiPPv @ 1870 NONAME - _ZN26QDeclarativeStateOperation11qt_metacastEPKc @ 1871 NONAME - _ZN26QDeclarativeStateOperation16staticMetaObjectE @ 1872 NONAME DATA 16 - _ZN26QDeclarativeStateOperation19getStaticMetaObjectEv @ 1873 NONAME - _ZN26QDeclarativeStateOperation7actionsEv @ 1874 NONAME - _ZN26QDeclarativeStateOperationC1ER14QObjectPrivateP7QObject @ 1875 NONAME - _ZN26QDeclarativeStateOperationC2ER14QObjectPrivateP7QObject @ 1876 NONAME - _ZN27QDeclarativeDebugConnection11qt_metacallEN11QMetaObject4CallEiPPv @ 1877 NONAME - _ZN27QDeclarativeDebugConnection11qt_metacastEPKc @ 1878 NONAME - _ZN27QDeclarativeDebugConnection16staticMetaObjectE @ 1879 NONAME DATA 16 - _ZN27QDeclarativeDebugConnection19getStaticMetaObjectEv @ 1880 NONAME - _ZN27QDeclarativeDebugConnectionC1EP7QObject @ 1881 NONAME - _ZN27QDeclarativeDebugConnectionC2EP7QObject @ 1882 NONAME - _ZN27QDeclarativeDomValueBindingC1ERKS_ @ 1883 NONAME - _ZN27QDeclarativeDomValueBindingC1Ev @ 1884 NONAME - _ZN27QDeclarativeDomValueBindingC2ERKS_ @ 1885 NONAME - _ZN27QDeclarativeDomValueBindingC2Ev @ 1886 NONAME - _ZN27QDeclarativeDomValueBindingD1Ev @ 1887 NONAME - _ZN27QDeclarativeDomValueBindingD2Ev @ 1888 NONAME - _ZN27QDeclarativeDomValueBindingaSERKS_ @ 1889 NONAME - _ZN27QDeclarativeDomValueLiteralC1ERKS_ @ 1890 NONAME - _ZN27QDeclarativeDomValueLiteralC1Ev @ 1891 NONAME - _ZN27QDeclarativeDomValueLiteralC2ERKS_ @ 1892 NONAME - _ZN27QDeclarativeDomValueLiteralC2Ev @ 1893 NONAME - _ZN27QDeclarativeDomValueLiteralD1Ev @ 1894 NONAME - _ZN27QDeclarativeDomValueLiteralD2Ev @ 1895 NONAME - _ZN27QDeclarativeDomValueLiteralaSERKS_ @ 1896 NONAME - _ZN27QDeclarativeExtensionPlugin11qt_metacallEN11QMetaObject4CallEiPPv @ 1897 NONAME - _ZN27QDeclarativeExtensionPlugin11qt_metacastEPKc @ 1898 NONAME - _ZN27QDeclarativeExtensionPlugin16initializeEngineEP18QDeclarativeEnginePKc @ 1899 NONAME - _ZN27QDeclarativeExtensionPlugin16staticMetaObjectE @ 1900 NONAME DATA 16 - _ZN27QDeclarativeExtensionPlugin19getStaticMetaObjectEv @ 1901 NONAME - _ZN27QDeclarativeExtensionPluginC2EP7QObject @ 1902 NONAME - _ZN27QDeclarativeExtensionPluginD0Ev @ 1903 NONAME - _ZN27QDeclarativeExtensionPluginD1Ev @ 1904 NONAME - _ZN27QDeclarativeExtensionPluginD2Ev @ 1905 NONAME - _ZN27QDeclarativeGridScaledImage12stringToRuleERK7QString @ 1906 NONAME - _ZN27QDeclarativeGridScaledImageC1EP9QIODevice @ 1907 NONAME - _ZN27QDeclarativeGridScaledImageC1ERKS_ @ 1908 NONAME - _ZN27QDeclarativeGridScaledImageC1Ev @ 1909 NONAME - _ZN27QDeclarativeGridScaledImageC2EP9QIODevice @ 1910 NONAME - _ZN27QDeclarativeGridScaledImageC2ERKS_ @ 1911 NONAME - _ZN27QDeclarativeGridScaledImageC2Ev @ 1912 NONAME - _ZN27QDeclarativeGridScaledImageaSERKS_ @ 1913 NONAME - _ZN27QDeclarativeNumberFormatter10classBeginEv @ 1914 NONAME - _ZN27QDeclarativeNumberFormatter11qt_metacallEN11QMetaObject4CallEiPPv @ 1915 NONAME - _ZN27QDeclarativeNumberFormatter11qt_metacastEPKc @ 1916 NONAME - _ZN27QDeclarativeNumberFormatter11textChangedEv @ 1917 NONAME - _ZN27QDeclarativeNumberFormatter16staticMetaObjectE @ 1918 NONAME DATA 16 - _ZN27QDeclarativeNumberFormatter17componentCompleteEv @ 1919 NONAME - _ZN27QDeclarativeNumberFormatter19getStaticMetaObjectEv @ 1920 NONAME - _ZN27QDeclarativeNumberFormatter9setFormatERK7QString @ 1921 NONAME - _ZN27QDeclarativeNumberFormatter9setNumberERKf @ 1922 NONAME - _ZN27QDeclarativeNumberFormatterC1EP7QObject @ 1923 NONAME - _ZN27QDeclarativeNumberFormatterC2EP7QObject @ 1924 NONAME - _ZN27QDeclarativeNumberFormatterD0Ev @ 1925 NONAME - _ZN27QDeclarativeNumberFormatterD1Ev @ 1926 NONAME - _ZN27QDeclarativeNumberFormatterD2Ev @ 1927 NONAME - _ZN27QDeclarativePropertyChanges11qt_metacallEN11QMetaObject4CallEiPPv @ 1928 NONAME - _ZN27QDeclarativePropertyChanges11qt_metacastEPKc @ 1929 NONAME - _ZN27QDeclarativePropertyChanges13setIsExplicitEb @ 1930 NONAME - _ZN27QDeclarativePropertyChanges16staticMetaObjectE @ 1931 NONAME DATA 16 - _ZN27QDeclarativePropertyChanges19getStaticMetaObjectEv @ 1932 NONAME - _ZN27QDeclarativePropertyChanges21setRestoreEntryValuesEb @ 1933 NONAME - _ZN27QDeclarativePropertyChanges7actionsEv @ 1934 NONAME - _ZN27QDeclarativePropertyChanges9setObjectEP7QObject @ 1935 NONAME - _ZN27QDeclarativePropertyChangesC1Ev @ 1936 NONAME - _ZN27QDeclarativePropertyChangesC2Ev @ 1937 NONAME - _ZN27QDeclarativePropertyChangesD0Ev @ 1938 NONAME - _ZN27QDeclarativePropertyChangesD1Ev @ 1939 NONAME - _ZN27QDeclarativePropertyChangesD2Ev @ 1940 NONAME - _ZN27QDeclarativeVisualDataModel11qt_metacallEN11QMetaObject4CallEiPPv @ 1941 NONAME - _ZN27QDeclarativeVisualDataModel11qt_metacastEPKc @ 1942 NONAME - _ZN27QDeclarativeVisualDataModel11setDelegateEP21QDeclarativeComponent @ 1943 NONAME - _ZN27QDeclarativeVisualDataModel11stringValueEiRK7QString @ 1944 NONAME - _ZN27QDeclarativeVisualDataModel12_q_rowsMovedERK11QModelIndexiiS2_i @ 1945 NONAME - _ZN27QDeclarativeVisualDataModel12completeItemEv @ 1946 NONAME - _ZN27QDeclarativeVisualDataModel12setRootIndexERK11QModelIndex @ 1947 NONAME - _ZN27QDeclarativeVisualDataModel13_q_itemsMovedEiii @ 1948 NONAME - _ZN27QDeclarativeVisualDataModel13_q_modelResetEv @ 1949 NONAME - _ZN27QDeclarativeVisualDataModel14_q_dataChangedERK11QModelIndexS2_ @ 1950 NONAME - _ZN27QDeclarativeVisualDataModel14_q_rowsRemovedERK11QModelIndexii @ 1951 NONAME - _ZN27QDeclarativeVisualDataModel14createdPackageEiP19QDeclarativePackage @ 1952 NONAME - _ZN27QDeclarativeVisualDataModel15_q_itemsChangedEiiRK5QListIiE @ 1953 NONAME - _ZN27QDeclarativeVisualDataModel15_q_itemsRemovedEii @ 1954 NONAME - _ZN27QDeclarativeVisualDataModel15_q_rowsInsertedERK11QModelIndexii @ 1955 NONAME - _ZN27QDeclarativeVisualDataModel16_q_itemsInsertedEii @ 1956 NONAME - _ZN27QDeclarativeVisualDataModel16rootIndexChangedEv @ 1957 NONAME - _ZN27QDeclarativeVisualDataModel16staticMetaObjectE @ 1958 NONAME DATA 16 - _ZN27QDeclarativeVisualDataModel17_q_createdPackageEiP19QDeclarativePackage @ 1959 NONAME - _ZN27QDeclarativeVisualDataModel17destroyingPackageEP19QDeclarativePackage @ 1960 NONAME - _ZN27QDeclarativeVisualDataModel19getStaticMetaObjectEv @ 1961 NONAME - _ZN27QDeclarativeVisualDataModel20_q_destroyingPackageEP19QDeclarativePackage @ 1962 NONAME - _ZN27QDeclarativeVisualDataModel4itemEiRK10QByteArrayb @ 1963 NONAME - _ZN27QDeclarativeVisualDataModel4itemEib @ 1964 NONAME - _ZN27QDeclarativeVisualDataModel5partsEv @ 1965 NONAME - _ZN27QDeclarativeVisualDataModel7releaseEP16QDeclarativeItem @ 1966 NONAME - _ZN27QDeclarativeVisualDataModel7setPartERK7QString @ 1967 NONAME - _ZN27QDeclarativeVisualDataModel8evaluateEiRK7QStringP7QObject @ 1968 NONAME - _ZN27QDeclarativeVisualDataModel8setModelERK8QVariant @ 1969 NONAME - _ZN27QDeclarativeVisualDataModelC1EP19QDeclarativeContext @ 1970 NONAME - _ZN27QDeclarativeVisualDataModelC1Ev @ 1971 NONAME - _ZN27QDeclarativeVisualDataModelC2EP19QDeclarativeContext @ 1972 NONAME - _ZN27QDeclarativeVisualDataModelC2Ev @ 1973 NONAME - _ZN27QDeclarativeVisualDataModelD0Ev @ 1974 NONAME - _ZN27QDeclarativeVisualDataModelD1Ev @ 1975 NONAME - _ZN27QDeclarativeVisualDataModelD2Ev @ 1976 NONAME - _ZN27QDeclarativeVisualItemModel11qt_metacallEN11QMetaObject4CallEiPPv @ 1977 NONAME - _ZN27QDeclarativeVisualItemModel11qt_metacastEPKc @ 1978 NONAME - _ZN27QDeclarativeVisualItemModel11stringValueEiRK7QString @ 1979 NONAME - _ZN27QDeclarativeVisualItemModel12completeItemEv @ 1980 NONAME - _ZN27QDeclarativeVisualItemModel15childrenChangedEv @ 1981 NONAME - _ZN27QDeclarativeVisualItemModel16staticMetaObjectE @ 1982 NONAME DATA 16 - _ZN27QDeclarativeVisualItemModel19getStaticMetaObjectEv @ 1983 NONAME - _ZN27QDeclarativeVisualItemModel21qmlAttachedPropertiesEP7QObject @ 1984 NONAME - _ZN27QDeclarativeVisualItemModel4itemEib @ 1985 NONAME - _ZN27QDeclarativeVisualItemModel7releaseEP16QDeclarativeItem @ 1986 NONAME - _ZN27QDeclarativeVisualItemModel8childrenEv @ 1987 NONAME - _ZN27QDeclarativeVisualItemModel8evaluateEiRK7QStringP7QObject @ 1988 NONAME - _ZN27QDeclarativeVisualItemModelC1Ev @ 1989 NONAME - _ZN27QDeclarativeVisualItemModelC2Ev @ 1990 NONAME - _ZN28QDeclarativeCustomParserNodeC1ERKS_ @ 1991 NONAME - _ZN28QDeclarativeCustomParserNodeC1Ev @ 1992 NONAME - _ZN28QDeclarativeCustomParserNodeC2ERKS_ @ 1993 NONAME - _ZN28QDeclarativeCustomParserNodeC2Ev @ 1994 NONAME - _ZN28QDeclarativeCustomParserNodeD1Ev @ 1995 NONAME - _ZN28QDeclarativeCustomParserNodeD2Ev @ 1996 NONAME - _ZN28QDeclarativeCustomParserNodeaSERKS_ @ 1997 NONAME - _ZN28QDeclarativeDebugObjectQuery11qt_metacallEN11QMetaObject4CallEiPPv @ 1998 NONAME - _ZN28QDeclarativeDebugObjectQuery11qt_metacastEPKc @ 1999 NONAME - _ZN28QDeclarativeDebugObjectQuery16staticMetaObjectE @ 2000 NONAME DATA 16 - _ZN28QDeclarativeDebugObjectQuery19getStaticMetaObjectEv @ 2001 NONAME - _ZN28QDeclarativeDebugObjectQueryC1EP7QObject @ 2002 NONAME - _ZN28QDeclarativeDebugObjectQueryC2EP7QObject @ 2003 NONAME - _ZN28QDeclarativeDebugObjectQueryD0Ev @ 2004 NONAME - _ZN28QDeclarativeDebugObjectQueryD1Ev @ 2005 NONAME - _ZN28QDeclarativeDebugObjectQueryD2Ev @ 2006 NONAME - _ZN28QDeclarativeStringConverters14dateFromStringERK7QStringPb @ 2007 NONAME - _ZN28QDeclarativeStringConverters14timeFromStringERK7QStringPb @ 2008 NONAME - _ZN28QDeclarativeStringConverters15colorFromStringERK7QStringPb @ 2009 NONAME - _ZN28QDeclarativeStringConverters15rectFFromStringERK7QStringPb @ 2010 NONAME - _ZN28QDeclarativeStringConverters15sizeFFromStringERK7QStringPb @ 2011 NONAME - _ZN28QDeclarativeStringConverters16pointFFromStringERK7QStringPb @ 2012 NONAME - _ZN28QDeclarativeStringConverters17variantFromStringERK7QString @ 2013 NONAME - _ZN28QDeclarativeStringConverters17variantFromStringERK7QStringiPb @ 2014 NONAME - _ZN28QDeclarativeStringConverters18dateTimeFromStringERK7QStringPb @ 2015 NONAME - _ZN28QDeclarativeStringConverters18vector3DFromStringERK7QStringPb @ 2016 NONAME - _ZN28QDeclarativeValueTypeFactory9valueTypeEi @ 2017 NONAME - _ZN28QDeclarativeValueTypeFactoryC1Ev @ 2018 NONAME - _ZN28QDeclarativeValueTypeFactoryC2Ev @ 2019 NONAME - _ZN28QDeclarativeValueTypeFactoryD1Ev @ 2020 NONAME - _ZN28QDeclarativeValueTypeFactoryD2Ev @ 2021 NONAME - _ZN28QDeclarativeXmlListModelRole11qt_metacallEN11QMetaObject4CallEiPPv @ 2022 NONAME - _ZN28QDeclarativeXmlListModelRole11qt_metacastEPKc @ 2023 NONAME - _ZN28QDeclarativeXmlListModelRole16staticMetaObjectE @ 2024 NONAME DATA 16 - _ZN28QDeclarativeXmlListModelRole19getStaticMetaObjectEv @ 2025 NONAME - _ZN29QDeclarativeDateTimeFormatter10classBeginEv @ 2026 NONAME - _ZN29QDeclarativeDateTimeFormatter11qt_metacallEN11QMetaObject4CallEiPPv @ 2027 NONAME - _ZN29QDeclarativeDateTimeFormatter11qt_metacastEPKc @ 2028 NONAME - _ZN29QDeclarativeDateTimeFormatter11setDateTimeERK9QDateTime @ 2029 NONAME - _ZN29QDeclarativeDateTimeFormatter11textChangedEv @ 2030 NONAME - _ZN29QDeclarativeDateTimeFormatter12setLongStyleEb @ 2031 NONAME - _ZN29QDeclarativeDateTimeFormatter13setDateFormatERK7QString @ 2032 NONAME - _ZN29QDeclarativeDateTimeFormatter13setTimeFormatERK7QString @ 2033 NONAME - _ZN29QDeclarativeDateTimeFormatter16staticMetaObjectE @ 2034 NONAME DATA 16 - _ZN29QDeclarativeDateTimeFormatter17componentCompleteEv @ 2035 NONAME - _ZN29QDeclarativeDateTimeFormatter17setDateTimeFormatERK7QString @ 2036 NONAME - _ZN29QDeclarativeDateTimeFormatter19getStaticMetaObjectEv @ 2037 NONAME - _ZN29QDeclarativeDateTimeFormatter7setDateERK5QDate @ 2038 NONAME - _ZN29QDeclarativeDateTimeFormatter7setTimeERK5QTime @ 2039 NONAME - _ZN29QDeclarativeDateTimeFormatterC1EP7QObject @ 2040 NONAME - _ZN29QDeclarativeDateTimeFormatterC2EP7QObject @ 2041 NONAME - _ZN29QDeclarativeDateTimeFormatterD0Ev @ 2042 NONAME - _ZN29QDeclarativeDateTimeFormatterD1Ev @ 2043 NONAME - _ZN29QDeclarativeDateTimeFormatterD2Ev @ 2044 NONAME - _ZN29QDeclarativeDebugEnginesQuery11qt_metacallEN11QMetaObject4CallEiPPv @ 2045 NONAME - _ZN29QDeclarativeDebugEnginesQuery11qt_metacastEPKc @ 2046 NONAME - _ZN29QDeclarativeDebugEnginesQuery16staticMetaObjectE @ 2047 NONAME DATA 16 - _ZN29QDeclarativeDebugEnginesQuery19getStaticMetaObjectEv @ 2048 NONAME - _ZN29QDeclarativeDebugEnginesQueryC1EP7QObject @ 2049 NONAME - _ZN29QDeclarativeDebugEnginesQueryC2EP7QObject @ 2050 NONAME - _ZN29QDeclarativeDebugEnginesQueryD0Ev @ 2051 NONAME - _ZN29QDeclarativeDebugEnginesQueryD1Ev @ 2052 NONAME - _ZN29QDeclarativeDebugEnginesQueryD2Ev @ 2053 NONAME - _ZN29QDeclarativeStateChangeScript11qt_metacallEN11QMetaObject4CallEiPPv @ 2054 NONAME - _ZN29QDeclarativeStateChangeScript11qt_metacastEPKc @ 2055 NONAME - _ZN29QDeclarativeStateChangeScript16staticMetaObjectE @ 2056 NONAME DATA 16 - _ZN29QDeclarativeStateChangeScript19getStaticMetaObjectEv @ 2057 NONAME - _ZN29QDeclarativeStateChangeScript7actionsEv @ 2058 NONAME - _ZN29QDeclarativeStateChangeScript7executeEv @ 2059 NONAME - _ZN29QDeclarativeStateChangeScript7setNameERK7QString @ 2060 NONAME - _ZN29QDeclarativeStateChangeScript9setScriptERK24QDeclarativeScriptString @ 2061 NONAME - _ZN29QDeclarativeStateChangeScriptC1EP7QObject @ 2062 NONAME - _ZN29QDeclarativeStateChangeScriptC2EP7QObject @ 2063 NONAME - _ZN29QDeclarativeStateChangeScriptD0Ev @ 2064 NONAME - _ZN29QDeclarativeStateChangeScriptD1Ev @ 2065 NONAME - _ZN29QDeclarativeStateChangeScriptD2Ev @ 2066 NONAME - _ZN30QDeclarativeDebugFileReference13setLineNumberEi @ 2067 NONAME - _ZN30QDeclarativeDebugFileReference15setColumnNumberEi @ 2068 NONAME - _ZN30QDeclarativeDebugFileReference6setUrlERK4QUrl @ 2069 NONAME - _ZN30QDeclarativeDebugFileReferenceC1ERKS_ @ 2070 NONAME - _ZN30QDeclarativeDebugFileReferenceC1Ev @ 2071 NONAME - _ZN30QDeclarativeDebugFileReferenceC2ERKS_ @ 2072 NONAME - _ZN30QDeclarativeDebugFileReferenceC2Ev @ 2073 NONAME - _ZN30QDeclarativeDebugFileReferenceaSERKS_ @ 2074 NONAME - _ZN30QDeclarativeDebugPropertyWatch11qt_metacallEN11QMetaObject4CallEiPPv @ 2075 NONAME - _ZN30QDeclarativeDebugPropertyWatch11qt_metacastEPKc @ 2076 NONAME - _ZN30QDeclarativeDebugPropertyWatch16staticMetaObjectE @ 2077 NONAME DATA 16 - _ZN30QDeclarativeDebugPropertyWatch19getStaticMetaObjectEv @ 2078 NONAME - _ZN30QDeclarativeDebugPropertyWatchC1EP7QObject @ 2079 NONAME - _ZN30QDeclarativeDebugPropertyWatchC2EP7QObject @ 2080 NONAME - _ZN30QDeclarativeDomDynamicPropertyC1ERKS_ @ 2081 NONAME - _ZN30QDeclarativeDomDynamicPropertyC1Ev @ 2082 NONAME - _ZN30QDeclarativeDomDynamicPropertyC2ERKS_ @ 2083 NONAME - _ZN30QDeclarativeDomDynamicPropertyC2Ev @ 2084 NONAME - _ZN30QDeclarativeDomDynamicPropertyD1Ev @ 2085 NONAME - _ZN30QDeclarativeDomDynamicPropertyD2Ev @ 2086 NONAME - _ZN30QDeclarativeDomDynamicPropertyaSERKS_ @ 2087 NONAME - _ZN30QDeclarativeOpenMetaObjectType14createPropertyERK10QByteArray @ 2088 NONAME - _ZN30QDeclarativeOpenMetaObjectType15propertyCreatedEiR20QMetaPropertyBuilder @ 2089 NONAME - _ZN30QDeclarativeOpenMetaObjectTypeC1EPK11QMetaObjectP18QDeclarativeEngine @ 2090 NONAME - _ZN30QDeclarativeOpenMetaObjectTypeC2EPK11QMetaObjectP18QDeclarativeEngine @ 2091 NONAME - _ZN30QDeclarativeOpenMetaObjectTypeD0Ev @ 2092 NONAME - _ZN30QDeclarativeOpenMetaObjectTypeD1Ev @ 2093 NONAME - _ZN30QDeclarativeOpenMetaObjectTypeD2Ev @ 2094 NONAME - _ZN31QDeclarativeDomValueValueSourceC1ERKS_ @ 2095 NONAME - _ZN31QDeclarativeDomValueValueSourceC1Ev @ 2096 NONAME - _ZN31QDeclarativeDomValueValueSourceC2ERKS_ @ 2097 NONAME - _ZN31QDeclarativeDomValueValueSourceC2Ev @ 2098 NONAME - _ZN31QDeclarativeDomValueValueSourceD1Ev @ 2099 NONAME - _ZN31QDeclarativeDomValueValueSourceD2Ev @ 2100 NONAME - _ZN31QDeclarativeDomValueValueSourceaSERKS_ @ 2101 NONAME - _ZN31QDeclarativePropertyValueSourceC2Ev @ 2102 NONAME - _ZN31QDeclarativePropertyValueSourceD0Ev @ 2103 NONAME - _ZN31QDeclarativePropertyValueSourceD1Ev @ 2104 NONAME - _ZN31QDeclarativePropertyValueSourceD2Ev @ 2105 NONAME - _ZN32QDeclarativeCustomParserPropertyC1ERKS_ @ 2106 NONAME - _ZN32QDeclarativeCustomParserPropertyC1Ev @ 2107 NONAME - _ZN32QDeclarativeCustomParserPropertyC2ERKS_ @ 2108 NONAME - _ZN32QDeclarativeCustomParserPropertyC2Ev @ 2109 NONAME - _ZN32QDeclarativeCustomParserPropertyD1Ev @ 2110 NONAME - _ZN32QDeclarativeCustomParserPropertyD2Ev @ 2111 NONAME - _ZN32QDeclarativeCustomParserPropertyaSERKS_ @ 2112 NONAME - _ZN32QDeclarativeDebugEngineReferenceC1ERKS_ @ 2113 NONAME - _ZN32QDeclarativeDebugEngineReferenceC1Ei @ 2114 NONAME - _ZN32QDeclarativeDebugEngineReferenceC1Ev @ 2115 NONAME - _ZN32QDeclarativeDebugEngineReferenceC2ERKS_ @ 2116 NONAME - _ZN32QDeclarativeDebugEngineReferenceC2Ei @ 2117 NONAME - _ZN32QDeclarativeDebugEngineReferenceC2Ev @ 2118 NONAME - _ZN32QDeclarativeDebugEngineReferenceaSERKS_ @ 2119 NONAME - _ZN32QDeclarativeDebugExpressionQuery11qt_metacallEN11QMetaObject4CallEiPPv @ 2120 NONAME - _ZN32QDeclarativeDebugExpressionQuery11qt_metacastEPKc @ 2121 NONAME - _ZN32QDeclarativeDebugExpressionQuery16staticMetaObjectE @ 2122 NONAME DATA 16 - _ZN32QDeclarativeDebugExpressionQuery19getStaticMetaObjectEv @ 2123 NONAME - _ZN32QDeclarativeDebugExpressionQueryC1EP7QObject @ 2124 NONAME - _ZN32QDeclarativeDebugExpressionQueryC2EP7QObject @ 2125 NONAME - _ZN32QDeclarativeDebugExpressionQueryD0Ev @ 2126 NONAME - _ZN32QDeclarativeDebugExpressionQueryD1Ev @ 2127 NONAME - _ZN32QDeclarativeDebugExpressionQueryD2Ev @ 2128 NONAME - _ZN32QDeclarativeDebugObjectReferenceC1ERKS_ @ 2129 NONAME - _ZN32QDeclarativeDebugObjectReferenceC1Ei @ 2130 NONAME - _ZN32QDeclarativeDebugObjectReferenceC1Ev @ 2131 NONAME - _ZN32QDeclarativeDebugObjectReferenceC2ERKS_ @ 2132 NONAME - _ZN32QDeclarativeDebugObjectReferenceC2Ei @ 2133 NONAME - _ZN32QDeclarativeDebugObjectReferenceC2Ev @ 2134 NONAME - _ZN32QDeclarativeDebugObjectReferenceaSERKS_ @ 2135 NONAME - _ZN32QDeclarativeParticleMotionLinear11qt_metacallEN11QMetaObject4CallEiPPv @ 2136 NONAME - _ZN32QDeclarativeParticleMotionLinear11qt_metacastEPKc @ 2137 NONAME - _ZN32QDeclarativeParticleMotionLinear16staticMetaObjectE @ 2138 NONAME DATA 16 - _ZN32QDeclarativeParticleMotionLinear19getStaticMetaObjectEv @ 2139 NONAME - _ZN32QDeclarativeParticleMotionLinear7advanceER20QDeclarativeParticlei @ 2140 NONAME - _ZN32QDeclarativeParticleMotionWander11paceChangedEv @ 2141 NONAME - _ZN32QDeclarativeParticleMotionWander11qt_metacallEN11QMetaObject4CallEiPPv @ 2142 NONAME - _ZN32QDeclarativeParticleMotionWander11qt_metacastEPKc @ 2143 NONAME - _ZN32QDeclarativeParticleMotionWander12setXVarianceEf @ 2144 NONAME - _ZN32QDeclarativeParticleMotionWander12setYVarianceEf @ 2145 NONAME - _ZN32QDeclarativeParticleMotionWander16staticMetaObjectE @ 2146 NONAME DATA 16 - _ZN32QDeclarativeParticleMotionWander16xvarianceChangedEv @ 2147 NONAME - _ZN32QDeclarativeParticleMotionWander16yvarianceChangedEv @ 2148 NONAME - _ZN32QDeclarativeParticleMotionWander19getStaticMetaObjectEv @ 2149 NONAME - _ZN32QDeclarativeParticleMotionWander7advanceER20QDeclarativeParticlei @ 2150 NONAME - _ZN32QDeclarativeParticleMotionWander7createdER20QDeclarativeParticle @ 2151 NONAME - _ZN32QDeclarativeParticleMotionWander7destroyER20QDeclarativeParticle @ 2152 NONAME - _ZN32QDeclarativeParticleMotionWander7setPaceEf @ 2153 NONAME - _ZN33QDeclarativeDebugContextReferenceC1ERKS_ @ 2154 NONAME - _ZN33QDeclarativeDebugContextReferenceC1Ev @ 2155 NONAME - _ZN33QDeclarativeDebugContextReferenceC2ERKS_ @ 2156 NONAME - _ZN33QDeclarativeDebugContextReferenceC2Ev @ 2157 NONAME - _ZN33QDeclarativeDebugContextReferenceaSERKS_ @ 2158 NONAME - _ZN33QDeclarativeDebugRootContextQuery11qt_metacallEN11QMetaObject4CallEiPPv @ 2159 NONAME - _ZN33QDeclarativeDebugRootContextQuery11qt_metacastEPKc @ 2160 NONAME - _ZN33QDeclarativeDebugRootContextQuery16staticMetaObjectE @ 2161 NONAME DATA 16 - _ZN33QDeclarativeDebugRootContextQuery19getStaticMetaObjectEv @ 2162 NONAME - _ZN33QDeclarativeDebugRootContextQueryC1EP7QObject @ 2163 NONAME - _ZN33QDeclarativeDebugRootContextQueryC2EP7QObject @ 2164 NONAME - _ZN33QDeclarativeDebugRootContextQueryD0Ev @ 2165 NONAME - _ZN33QDeclarativeDebugRootContextQueryD1Ev @ 2166 NONAME - _ZN33QDeclarativeDebugRootContextQueryD2Ev @ 2167 NONAME - _ZN33QDeclarativeParticleMotionGravity11qt_metacallEN11QMetaObject4CallEiPPv @ 2168 NONAME - _ZN33QDeclarativeParticleMotionGravity11qt_metacastEPKc @ 2169 NONAME - _ZN33QDeclarativeParticleMotionGravity13setXAttractorEf @ 2170 NONAME - _ZN33QDeclarativeParticleMotionGravity13setYAttractorEf @ 2171 NONAME - _ZN33QDeclarativeParticleMotionGravity15setAccelerationEf @ 2172 NONAME - _ZN33QDeclarativeParticleMotionGravity16staticMetaObjectE @ 2173 NONAME DATA 16 - _ZN33QDeclarativeParticleMotionGravity17xattractorChangedEv @ 2174 NONAME - _ZN33QDeclarativeParticleMotionGravity17yattractorChangedEv @ 2175 NONAME - _ZN33QDeclarativeParticleMotionGravity19accelerationChangedEv @ 2176 NONAME - _ZN33QDeclarativeParticleMotionGravity19getStaticMetaObjectEv @ 2177 NONAME - _ZN33QDeclarativeParticleMotionGravity7advanceER20QDeclarativeParticlei @ 2178 NONAME - _ZN34QDeclarativeDebugPropertyReferenceC1ERKS_ @ 2179 NONAME - _ZN34QDeclarativeDebugPropertyReferenceC1Ev @ 2180 NONAME - _ZN34QDeclarativeDebugPropertyReferenceC2ERKS_ @ 2181 NONAME - _ZN34QDeclarativeDebugPropertyReferenceC2Ev @ 2182 NONAME - _ZN34QDeclarativeDebugPropertyReferenceaSERKS_ @ 2183 NONAME - _ZN35QDeclarativeGraphicsObjectContainer10itemChangeEN13QGraphicsItem18GraphicsItemChangeERK8QVariant @ 2184 NONAME - _ZN35QDeclarativeGraphicsObjectContainer11eventFilterEP7QObjectP6QEvent @ 2185 NONAME - _ZN35QDeclarativeGraphicsObjectContainer11qt_metacallEN11QMetaObject4CallEiPPv @ 2186 NONAME - _ZN35QDeclarativeGraphicsObjectContainer11qt_metacastEPKc @ 2187 NONAME - _ZN35QDeclarativeGraphicsObjectContainer16staticMetaObjectE @ 2188 NONAME DATA 16 - _ZN35QDeclarativeGraphicsObjectContainer17setGraphicsObjectEP15QGraphicsObject @ 2189 NONAME - _ZN35QDeclarativeGraphicsObjectContainer19getStaticMetaObjectEv @ 2190 NONAME - _ZN35QDeclarativeGraphicsObjectContainer23setSynchronizedResizingEb @ 2191 NONAME - _ZN35QDeclarativeGraphicsObjectContainerC1EP16QDeclarativeItem @ 2192 NONAME - _ZN35QDeclarativeGraphicsObjectContainerC2EP16QDeclarativeItem @ 2193 NONAME - _ZN35QDeclarativeGraphicsObjectContainerD0Ev @ 2194 NONAME - _ZN35QDeclarativeGraphicsObjectContainerD1Ev @ 2195 NONAME - _ZN35QDeclarativeGraphicsObjectContainerD2Ev @ 2196 NONAME - _ZN36QDeclarativeDomValueValueInterceptorC1ERKS_ @ 2197 NONAME - _ZN36QDeclarativeDomValueValueInterceptorC1Ev @ 2198 NONAME - _ZN36QDeclarativeDomValueValueInterceptorC2ERKS_ @ 2199 NONAME - _ZN36QDeclarativeDomValueValueInterceptorC2Ev @ 2200 NONAME - _ZN36QDeclarativeDomValueValueInterceptorD1Ev @ 2201 NONAME - _ZN36QDeclarativeDomValueValueInterceptorD2Ev @ 2202 NONAME - _ZN36QDeclarativeDomValueValueInterceptoraSERKS_ @ 2203 NONAME - _ZN36QDeclarativePropertyValueInterceptorC2Ev @ 2204 NONAME - _ZN36QDeclarativePropertyValueInterceptorD0Ev @ 2205 NONAME - _ZN36QDeclarativePropertyValueInterceptorD1Ev @ 2206 NONAME - _ZN36QDeclarativePropertyValueInterceptorD2Ev @ 2207 NONAME - _ZN38QDeclarativeDebugObjectExpressionWatch11qt_metacallEN11QMetaObject4CallEiPPv @ 2208 NONAME - _ZN38QDeclarativeDebugObjectExpressionWatch11qt_metacastEPKc @ 2209 NONAME - _ZN38QDeclarativeDebugObjectExpressionWatch16staticMetaObjectE @ 2210 NONAME DATA 16 - _ZN38QDeclarativeDebugObjectExpressionWatch19getStaticMetaObjectEv @ 2211 NONAME - _ZN38QDeclarativeDebugObjectExpressionWatchC1EP7QObject @ 2212 NONAME - _ZN38QDeclarativeDebugObjectExpressionWatchC2EP7QObject @ 2213 NONAME - _ZN39QDeclarativeNetworkAccessManagerFactoryD0Ev @ 2214 NONAME - _ZN39QDeclarativeNetworkAccessManagerFactoryD1Ev @ 2215 NONAME - _ZN39QDeclarativeNetworkAccessManagerFactoryD2Ev @ 2216 NONAME - _ZN7QPacket5clearEv @ 2217 NONAME - _ZN7QPacketC1ERK10QByteArray @ 2218 NONAME - _ZN7QPacketC1ERKS_ @ 2219 NONAME - _ZN7QPacketC1Ev @ 2220 NONAME - _ZN7QPacketC2ERK10QByteArray @ 2221 NONAME - _ZN7QPacketC2ERKS_ @ 2222 NONAME - _ZN7QPacketC2Ev @ 2223 NONAME - _ZN7QPacketD0Ev @ 2224 NONAME - _ZN7QPacketD1Ev @ 2225 NONAME - _ZN7QPacketD2Ev @ 2226 NONAME - _ZNK15QDeclarativePen10metaObjectEv @ 2227 NONAME - _ZNK15QDeclarativeRow10metaObjectEv @ 2228 NONAME - _ZNK15QPacketProtocol10metaObjectEv @ 2229 NONAME - _ZNK15QPacketProtocol16packetsAvailableEv @ 2230 NONAME - _ZNK15QPacketProtocol17maximumPacketSizeEv @ 2231 NONAME - _ZNK16QDeclarativeBind10metaObjectEv @ 2232 NONAME - _ZNK16QDeclarativeBind4whenEv @ 2233 NONAME - _ZNK16QDeclarativeBind5valueEv @ 2234 NONAME - _ZNK16QDeclarativeBind8propertyEv @ 2235 NONAME - _ZNK16QDeclarativeDrag10metaObjectEv @ 2236 NONAME - _ZNK16QDeclarativeDrag4axisEv @ 2237 NONAME - _ZNK16QDeclarativeDrag4xmaxEv @ 2238 NONAME - _ZNK16QDeclarativeDrag4xminEv @ 2239 NONAME - _ZNK16QDeclarativeDrag4ymaxEv @ 2240 NONAME - _ZNK16QDeclarativeDrag4yminEv @ 2241 NONAME - _ZNK16QDeclarativeDrag6targetEv @ 2242 NONAME - _ZNK16QDeclarativeFlow10metaObjectEv @ 2243 NONAME - _ZNK16QDeclarativeFlow4flowEv @ 2244 NONAME - _ZNK16QDeclarativeGrid10metaObjectEv @ 2245 NONAME - _ZNK16QDeclarativeItem10metaObjectEv @ 2246 NONAME - _ZNK16QDeclarativeItem10parentItemEv @ 2247 NONAME - _ZNK16QDeclarativeItem10wantsFocusEv @ 2248 NONAME - _ZNK16QDeclarativeItem10widthValidEv @ 2249 NONAME - _ZNK16QDeclarativeItem11heightValidEv @ 2250 NONAME - _ZNK16QDeclarativeItem12boundingRectEv @ 2251 NONAME - _ZNK16QDeclarativeItem13implicitWidthEv @ 2252 NONAME - _ZNK16QDeclarativeItem13keepMouseGrabEv @ 2253 NONAME - _ZNK16QDeclarativeItem14baselineOffsetEv @ 2254 NONAME - _ZNK16QDeclarativeItem14implicitHeightEv @ 2255 NONAME - _ZNK16QDeclarativeItem14verticalCenterEv @ 2256 NONAME - _ZNK16QDeclarativeItem15transformOriginEv @ 2257 NONAME - _ZNK16QDeclarativeItem16horizontalCenterEv @ 2258 NONAME - _ZNK16QDeclarativeItem16inputMethodQueryEN2Qt16InputMethodQueryE @ 2259 NONAME - _ZNK16QDeclarativeItem19isComponentCompleteEv @ 2260 NONAME - _ZNK16QDeclarativeItem3topEv @ 2261 NONAME - _ZNK16QDeclarativeItem4clipEv @ 2262 NONAME - _ZNK16QDeclarativeItem4leftEv @ 2263 NONAME - _ZNK16QDeclarativeItem5rightEv @ 2264 NONAME - _ZNK16QDeclarativeItem5stateEv @ 2265 NONAME - _ZNK16QDeclarativeItem5widthEv @ 2266 NONAME - _ZNK16QDeclarativeItem6bottomEv @ 2267 NONAME - _ZNK16QDeclarativeItem6heightEv @ 2268 NONAME - _ZNK16QDeclarativeItem6smoothEv @ 2269 NONAME - _ZNK16QDeclarativeItem8baselineEv @ 2270 NONAME - _ZNK16QDeclarativeItem8hasFocusEv @ 2271 NONAME - _ZNK16QDeclarativePath10attributesEv @ 2272 NONAME - _ZNK16QDeclarativePath10metaObjectEv @ 2273 NONAME - _ZNK16QDeclarativePath11attributeAtERK7QStringf @ 2274 NONAME - _ZNK16QDeclarativePath16createPointCacheEv @ 2275 NONAME - _ZNK16QDeclarativePath4pathEv @ 2276 NONAME - _ZNK16QDeclarativePath6startXEv @ 2277 NONAME - _ZNK16QDeclarativePath6startYEv @ 2278 NONAME - _ZNK16QDeclarativePath7pointAtEf @ 2279 NONAME - _ZNK16QDeclarativePath8isClosedEv @ 2280 NONAME - _ZNK16QDeclarativeText10metaObjectEv @ 2281 NONAME - _ZNK16QDeclarativeText10styleColorEv @ 2282 NONAME - _ZNK16QDeclarativeText10textFormatEv @ 2283 NONAME - _ZNK16QDeclarativeText4fontEv @ 2284 NONAME - _ZNK16QDeclarativeText4textEv @ 2285 NONAME - _ZNK16QDeclarativeText4wrapEv @ 2286 NONAME - _ZNK16QDeclarativeText5colorEv @ 2287 NONAME - _ZNK16QDeclarativeText5styleEv @ 2288 NONAME - _ZNK16QDeclarativeText6hAlignEv @ 2289 NONAME - _ZNK16QDeclarativeText6vAlignEv @ 2290 NONAME - _ZNK16QDeclarativeText9elideModeEv @ 2291 NONAME - _ZNK16QDeclarativeType10metaObjectEv @ 2292 NONAME - _ZNK16QDeclarativeType11isInterfaceEv @ 2293 NONAME - _ZNK16QDeclarativeType11qListTypeIdEv @ 2294 NONAME - _ZNK16QDeclarativeType11qmlTypeNameEv @ 2295 NONAME - _ZNK16QDeclarativeType12customParserEv @ 2296 NONAME - _ZNK16QDeclarativeType12interfaceIIdEv @ 2297 NONAME - _ZNK16QDeclarativeType12majorVersionEv @ 2298 NONAME - _ZNK16QDeclarativeType12minorVersionEv @ 2299 NONAME - _ZNK16QDeclarativeType14baseMetaObjectEv @ 2300 NONAME - _ZNK16QDeclarativeType16parserStatusCastEv @ 2301 NONAME - _ZNK16QDeclarativeType18availableInVersionEii @ 2302 NONAME - _ZNK16QDeclarativeType22attachedPropertiesTypeEv @ 2303 NONAME - _ZNK16QDeclarativeType23propertyValueSourceCastEv @ 2304 NONAME - _ZNK16QDeclarativeType26attachedPropertiesFunctionEv @ 2305 NONAME - _ZNK16QDeclarativeType28propertyValueInterceptorCastEv @ 2306 NONAME - _ZNK16QDeclarativeType5indexEv @ 2307 NONAME - _ZNK16QDeclarativeType6createEv @ 2308 NONAME - _ZNK16QDeclarativeType6typeIdEv @ 2309 NONAME - _ZNK16QDeclarativeType8typeNameEv @ 2310 NONAME - _ZNK16QDeclarativeView10metaObjectEv @ 2311 NONAME - _ZNK16QDeclarativeView10resizeModeEv @ 2312 NONAME - _ZNK16QDeclarativeView10rootObjectEv @ 2313 NONAME - _ZNK16QDeclarativeView6errorsEv @ 2314 NONAME - _ZNK16QDeclarativeView6sourceEv @ 2315 NONAME - _ZNK16QDeclarativeView6statusEv @ 2316 NONAME - _ZNK16QDeclarativeView8sizeHintEv @ 2317 NONAME - _ZNK16QMetaEnumBuilder3keyEi @ 2318 NONAME - _ZNK16QMetaEnumBuilder4nameEv @ 2319 NONAME - _ZNK16QMetaEnumBuilder5valueEi @ 2320 NONAME - _ZNK16QMetaEnumBuilder6d_funcEv @ 2321 NONAME - _ZNK16QMetaEnumBuilder6isFlagEv @ 2322 NONAME - _ZNK16QMetaEnumBuilder8keyCountEv @ 2323 NONAME - _ZNK17QDeclarativeCurve10metaObjectEv @ 2324 NONAME - _ZNK17QDeclarativeCurve1xEv @ 2325 NONAME - _ZNK17QDeclarativeCurve1yEv @ 2326 NONAME - _ZNK17QDeclarativeError11descriptionEv @ 2327 NONAME - _ZNK17QDeclarativeError3urlEv @ 2328 NONAME - _ZNK17QDeclarativeError4lineEv @ 2329 NONAME - _ZNK17QDeclarativeError6columnEv @ 2330 NONAME - _ZNK17QDeclarativeError7isValidEv @ 2331 NONAME - _ZNK17QDeclarativeError8toStringEv @ 2332 NONAME - _ZNK17QDeclarativeImage10metaObjectEv @ 2333 NONAME - _ZNK17QDeclarativeImage12paintedWidthEv @ 2334 NONAME - _ZNK17QDeclarativeImage13paintedHeightEv @ 2335 NONAME - _ZNK17QDeclarativeImage6pixmapEv @ 2336 NONAME - _ZNK17QDeclarativeImage8fillModeEv @ 2337 NONAME - _ZNK17QDeclarativeState10metaObjectEv @ 2338 NONAME - _ZNK17QDeclarativeState10stateGroupEv @ 2339 NONAME - _ZNK17QDeclarativeState11isWhenKnownEv @ 2340 NONAME - _ZNK17QDeclarativeState11operationAtEi @ 2341 NONAME - _ZNK17QDeclarativeState14operationCountEv @ 2342 NONAME - _ZNK17QDeclarativeState4nameEv @ 2343 NONAME - _ZNK17QDeclarativeState4whenEv @ 2344 NONAME - _ZNK17QDeclarativeState7extendsEv @ 2345 NONAME - _ZNK17QDeclarativeTimer10metaObjectEv @ 2346 NONAME - _ZNK17QDeclarativeTimer11isRepeatingEv @ 2347 NONAME - _ZNK17QDeclarativeTimer16triggeredOnStartEv @ 2348 NONAME - _ZNK17QDeclarativeTimer8intervalEv @ 2349 NONAME - _ZNK17QDeclarativeTimer9isRunningEv @ 2350 NONAME - _ZNK18QDeclarativeColumn10metaObjectEv @ 2351 NONAME - _ZNK18QDeclarativeEngine10metaObjectEv @ 2352 NONAME - _ZNK18QDeclarativeEngine13imageProviderERK7QString @ 2353 NONAME - _ZNK18QDeclarativeEngine18offlineStoragePathEv @ 2354 NONAME - _ZNK18QDeclarativeEngine20networkAccessManagerEv @ 2355 NONAME - _ZNK18QDeclarativeEngine27networkAccessManagerFactoryEv @ 2356 NONAME - _ZNK18QDeclarativeEngine7baseUrlEv @ 2357 NONAME - _ZNK18QDeclarativeLoader10metaObjectEv @ 2358 NONAME - _ZNK18QDeclarativeLoader10resizeModeEv @ 2359 NONAME - _ZNK18QDeclarativeLoader15sourceComponentEv @ 2360 NONAME - _ZNK18QDeclarativeLoader4itemEv @ 2361 NONAME - _ZNK18QDeclarativeLoader6sourceEv @ 2362 NONAME - _ZNK18QDeclarativeLoader6statusEv @ 2363 NONAME - _ZNK18QDeclarativeLoader8progressEv @ 2364 NONAME - _ZNK18QMetaMethodBuilder10attributesEv @ 2365 NONAME - _ZNK18QMetaMethodBuilder10methodTypeEv @ 2366 NONAME - _ZNK18QMetaMethodBuilder10returnTypeEv @ 2367 NONAME - _ZNK18QMetaMethodBuilder14parameterNamesEv @ 2368 NONAME - _ZNK18QMetaMethodBuilder3tagEv @ 2369 NONAME - _ZNK18QMetaMethodBuilder5indexEv @ 2370 NONAME - _ZNK18QMetaMethodBuilder6accessEv @ 2371 NONAME - _ZNK18QMetaMethodBuilder6d_funcEv @ 2372 NONAME - _ZNK18QMetaMethodBuilder9signatureEv @ 2373 NONAME - _ZNK18QMetaObjectBuilder10enumeratorEi @ 2374 NONAME - _ZNK18QMetaObjectBuilder10superClassEv @ 2375 NONAME - _ZNK18QMetaObjectBuilder11constructorEi @ 2376 NONAME - _ZNK18QMetaObjectBuilder11methodCountEv @ 2377 NONAME - _ZNK18QMetaObjectBuilder12toMetaObjectEv @ 2378 NONAME - _ZNK18QMetaObjectBuilder13classInfoNameEi @ 2379 NONAME - _ZNK18QMetaObjectBuilder13propertyCountEv @ 2380 NONAME - _ZNK18QMetaObjectBuilder14classInfoCountEv @ 2381 NONAME - _ZNK18QMetaObjectBuilder14classInfoValueEi @ 2382 NONAME - _ZNK18QMetaObjectBuilder15enumeratorCountEv @ 2383 NONAME - _ZNK18QMetaObjectBuilder16constructorCountEv @ 2384 NONAME - _ZNK18QMetaObjectBuilder17relatedMetaObjectEi @ 2385 NONAME - _ZNK18QMetaObjectBuilder17toRelocatableDataEPb @ 2386 NONAME - _ZNK18QMetaObjectBuilder22relatedMetaObjectCountEv @ 2387 NONAME - _ZNK18QMetaObjectBuilder22staticMetacallFunctionEv @ 2388 NONAME - _ZNK18QMetaObjectBuilder5flagsEv @ 2389 NONAME - _ZNK18QMetaObjectBuilder6methodEi @ 2390 NONAME - _ZNK18QMetaObjectBuilder8propertyEi @ 2391 NONAME - _ZNK18QMetaObjectBuilder9classNameEv @ 2392 NONAME - _ZNK18QMetaObjectBuilder9serializeER11QDataStream @ 2393 NONAME - _ZNK19QDeclarativeAnchors10leftMarginEv @ 2394 NONAME - _ZNK19QDeclarativeAnchors10metaObjectEv @ 2395 NONAME - _ZNK19QDeclarativeAnchors11rightMarginEv @ 2396 NONAME - _ZNK19QDeclarativeAnchors11usedAnchorsEv @ 2397 NONAME - _ZNK19QDeclarativeAnchors12bottomMarginEv @ 2398 NONAME - _ZNK19QDeclarativeAnchors14baselineOffsetEv @ 2399 NONAME - _ZNK19QDeclarativeAnchors14verticalCenterEv @ 2400 NONAME - _ZNK19QDeclarativeAnchors16horizontalCenterEv @ 2401 NONAME - _ZNK19QDeclarativeAnchors20verticalCenterOffsetEv @ 2402 NONAME - _ZNK19QDeclarativeAnchors22horizontalCenterOffsetEv @ 2403 NONAME - _ZNK19QDeclarativeAnchors3topEv @ 2404 NONAME - _ZNK19QDeclarativeAnchors4fillEv @ 2405 NONAME - _ZNK19QDeclarativeAnchors4leftEv @ 2406 NONAME - _ZNK19QDeclarativeAnchors5rightEv @ 2407 NONAME - _ZNK19QDeclarativeAnchors6bottomEv @ 2408 NONAME - _ZNK19QDeclarativeAnchors7marginsEv @ 2409 NONAME - _ZNK19QDeclarativeAnchors8baselineEv @ 2410 NONAME - _ZNK19QDeclarativeAnchors8centerInEv @ 2411 NONAME - _ZNK19QDeclarativeAnchors9topMarginEv @ 2412 NONAME - _ZNK19QDeclarativeContext10metaObjectEv @ 2413 NONAME - _ZNK19QDeclarativeContext13parentContextEv @ 2414 NONAME - _ZNK19QDeclarativeContext15contextPropertyERK7QString @ 2415 NONAME - _ZNK19QDeclarativeContext6engineEv @ 2416 NONAME - _ZNK19QDeclarativeContext7baseUrlEv @ 2417 NONAME - _ZNK19QDeclarativeDomList14commaPositionsEv @ 2418 NONAME - _ZNK19QDeclarativeDomList6lengthEv @ 2419 NONAME - _ZNK19QDeclarativeDomList6valuesEv @ 2420 NONAME - _ZNK19QDeclarativeDomList8positionEv @ 2421 NONAME - _ZNK19QDeclarativeWebPage10metaObjectEv @ 2422 NONAME - _ZNK19QDeclarativeWebView10backActionEv @ 2423 NONAME - _ZNK19QDeclarativeWebView10metaObjectEv @ 2424 NONAME - _ZNK19QDeclarativeWebView10statusTextEv @ 2425 NONAME - _ZNK19QDeclarativeWebView10stopActionEv @ 2426 NONAME - _ZNK19QDeclarativeWebView10zoomFactorEv @ 2427 NONAME - _ZNK19QDeclarativeWebView12reloadActionEv @ 2428 NONAME - _ZNK19QDeclarativeWebView13elementAreaAtEiiii @ 2429 NONAME - _ZNK19QDeclarativeWebView13forwardActionEv @ 2430 NONAME - _ZNK19QDeclarativeWebView13pressGrabTimeEv @ 2431 NONAME - _ZNK19QDeclarativeWebView14preferredWidthEv @ 2432 NONAME - _ZNK19QDeclarativeWebView14settingsObjectEv @ 2433 NONAME - _ZNK19QDeclarativeWebView15newWindowParentEv @ 2434 NONAME - _ZNK19QDeclarativeWebView15preferredHeightEv @ 2435 NONAME - _ZNK19QDeclarativeWebView16renderingEnabledEv @ 2436 NONAME - _ZNK19QDeclarativeWebView18newWindowComponentEv @ 2437 NONAME - _ZNK19QDeclarativeWebView3urlEv @ 2438 NONAME - _ZNK19QDeclarativeWebView4htmlEv @ 2439 NONAME - _ZNK19QDeclarativeWebView4iconEv @ 2440 NONAME - _ZNK19QDeclarativeWebView4pageEv @ 2441 NONAME - _ZNK19QDeclarativeWebView5titleEv @ 2442 NONAME - _ZNK19QDeclarativeWebView6statusEv @ 2443 NONAME - _ZNK19QDeclarativeWebView7historyEv @ 2444 NONAME - _ZNK19QDeclarativeWebView8progressEv @ 2445 NONAME - _ZNK19QDeclarativeWebView8settingsEv @ 2446 NONAME - _ZNK19QListModelInterface10metaObjectEv @ 2447 NONAME - _ZNK20QDeclarativeBehavior10metaObjectEv @ 2448 NONAME - _ZNK20QDeclarativeBehavior7enabledEv @ 2449 NONAME - _ZNK20QDeclarativeCompiler6errorsEv @ 2450 NONAME - _ZNK20QDeclarativeCompiler7isErrorEv @ 2451 NONAME - _ZNK20QDeclarativeDomValue13isValueSourceEv @ 2452 NONAME - _ZNK20QDeclarativeDomValue13toValueSourceEv @ 2453 NONAME - _ZNK20QDeclarativeDomValue18isValueInterceptorEv @ 2454 NONAME - _ZNK20QDeclarativeDomValue18toValueInterceptorEv @ 2455 NONAME - _ZNK20QDeclarativeDomValue4typeEv @ 2456 NONAME - _ZNK20QDeclarativeDomValue6isListEv @ 2457 NONAME - _ZNK20QDeclarativeDomValue6lengthEv @ 2458 NONAME - _ZNK20QDeclarativeDomValue6toListEv @ 2459 NONAME - _ZNK20QDeclarativeDomValue8isObjectEv @ 2460 NONAME - _ZNK20QDeclarativeDomValue8positionEv @ 2461 NONAME - _ZNK20QDeclarativeDomValue8toObjectEv @ 2462 NONAME - _ZNK20QDeclarativeDomValue9isBindingEv @ 2463 NONAME - _ZNK20QDeclarativeDomValue9isInvalidEv @ 2464 NONAME - _ZNK20QDeclarativeDomValue9isLiteralEv @ 2465 NONAME - _ZNK20QDeclarativeDomValue9toBindingEv @ 2466 NONAME - _ZNK20QDeclarativeDomValue9toLiteralEv @ 2467 NONAME - _ZNK20QDeclarativeFlipable10metaObjectEv @ 2468 NONAME - _ZNK20QDeclarativeFlipable4sideEv @ 2469 NONAME - _ZNK20QDeclarativeGradient10metaObjectEv @ 2470 NONAME - _ZNK20QDeclarativeGradient8gradientEv @ 2471 NONAME - _ZNK20QDeclarativeGridView10cellHeightEv @ 2472 NONAME - _ZNK20QDeclarativeGridView10maxXExtentEv @ 2473 NONAME - _ZNK20QDeclarativeGridView10maxYExtentEv @ 2474 NONAME - _ZNK20QDeclarativeGridView10metaObjectEv @ 2475 NONAME - _ZNK20QDeclarativeGridView10minXExtentEv @ 2476 NONAME - _ZNK20QDeclarativeGridView10minYExtentEv @ 2477 NONAME - _ZNK20QDeclarativeGridView11cacheBufferEv @ 2478 NONAME - _ZNK20QDeclarativeGridView12currentIndexEv @ 2479 NONAME - _ZNK20QDeclarativeGridView13isWrapEnabledEv @ 2480 NONAME - _ZNK20QDeclarativeGridView27highlightFollowsCurrentItemEv @ 2481 NONAME - _ZNK20QDeclarativeGridView4flowEv @ 2482 NONAME - _ZNK20QDeclarativeGridView5countEv @ 2483 NONAME - _ZNK20QDeclarativeGridView5modelEv @ 2484 NONAME - _ZNK20QDeclarativeGridView8delegateEv @ 2485 NONAME - _ZNK20QDeclarativeGridView9cellWidthEv @ 2486 NONAME - _ZNK20QDeclarativeGridView9highlightEv @ 2487 NONAME - _ZNK20QDeclarativeListView10maxXExtentEv @ 2488 NONAME - _ZNK20QDeclarativeListView10maxYExtentEv @ 2489 NONAME - _ZNK20QDeclarativeListView10metaObjectEv @ 2490 NONAME - _ZNK20QDeclarativeListView10minXExtentEv @ 2491 NONAME - _ZNK20QDeclarativeListView10minYExtentEv @ 2492 NONAME - _ZNK20QDeclarativeListView11cacheBufferEv @ 2493 NONAME - _ZNK20QDeclarativeListView11orientationEv @ 2494 NONAME - _ZNK20QDeclarativeListView12currentIndexEv @ 2495 NONAME - _ZNK20QDeclarativeListView13isWrapEnabledEv @ 2496 NONAME - _ZNK20QDeclarativeListView14currentSectionEv @ 2497 NONAME - _ZNK20QDeclarativeListView18highlightMoveSpeedEv @ 2498 NONAME - _ZNK20QDeclarativeListView18highlightRangeModeEv @ 2499 NONAME - _ZNK20QDeclarativeListView20highlightResizeSpeedEv @ 2500 NONAME - _ZNK20QDeclarativeListView21preferredHighlightEndEv @ 2501 NONAME - _ZNK20QDeclarativeListView23preferredHighlightBeginEv @ 2502 NONAME - _ZNK20QDeclarativeListView27highlightFollowsCurrentItemEv @ 2503 NONAME - _ZNK20QDeclarativeListView5countEv @ 2504 NONAME - _ZNK20QDeclarativeListView5modelEv @ 2505 NONAME - _ZNK20QDeclarativeListView6footerEv @ 2506 NONAME - _ZNK20QDeclarativeListView6headerEv @ 2507 NONAME - _ZNK20QDeclarativeListView7spacingEv @ 2508 NONAME - _ZNK20QDeclarativeListView8delegateEv @ 2509 NONAME - _ZNK20QDeclarativeListView8snapModeEv @ 2510 NONAME - _ZNK20QDeclarativeListView9highlightEv @ 2511 NONAME - _ZNK20QDeclarativePathLine10metaObjectEv @ 2512 NONAME - _ZNK20QDeclarativePathQuad10metaObjectEv @ 2513 NONAME - _ZNK20QDeclarativePathQuad8controlXEv @ 2514 NONAME - _ZNK20QDeclarativePathQuad8controlYEv @ 2515 NONAME - _ZNK20QDeclarativePathView10dragMarginEv @ 2516 NONAME - _ZNK20QDeclarativePathView10metaObjectEv @ 2517 NONAME - _ZNK20QDeclarativePathView12currentIndexEv @ 2518 NONAME - _ZNK20QDeclarativePathView12snapPositionEv @ 2519 NONAME - _ZNK20QDeclarativePathView13pathItemCountEv @ 2520 NONAME - _ZNK20QDeclarativePathView4pathEv @ 2521 NONAME - _ZNK20QDeclarativePathView5countEv @ 2522 NONAME - _ZNK20QDeclarativePathView5modelEv @ 2523 NONAME - _ZNK20QDeclarativePathView6offsetEv @ 2524 NONAME - _ZNK20QDeclarativePathView8delegateEv @ 2525 NONAME - _ZNK20QDeclarativeProperty10isPropertyEv @ 2526 NONAME - _ZNK20QDeclarativeProperty10isWritableEv @ 2527 NONAME - _ZNK20QDeclarativeProperty12isDesignableEv @ 2528 NONAME - _ZNK20QDeclarativeProperty12isResettableEv @ 2529 NONAME - _ZNK20QDeclarativeProperty12propertyTypeEv @ 2530 NONAME - _ZNK20QDeclarativeProperty15hasNotifySignalEv @ 2531 NONAME - _ZNK20QDeclarativeProperty16isSignalPropertyEv @ 2532 NONAME - _ZNK20QDeclarativeProperty16propertyTypeNameEv @ 2533 NONAME - _ZNK20QDeclarativeProperty17needsNotifySignalEv @ 2534 NONAME - _ZNK20QDeclarativeProperty19connectNotifySignalEP7QObjectPKc @ 2535 NONAME - _ZNK20QDeclarativeProperty19connectNotifySignalEP7QObjecti @ 2536 NONAME - _ZNK20QDeclarativeProperty20propertyTypeCategoryEv @ 2537 NONAME - _ZNK20QDeclarativeProperty4nameEv @ 2538 NONAME - _ZNK20QDeclarativeProperty4readEv @ 2539 NONAME - _ZNK20QDeclarativeProperty4typeEv @ 2540 NONAME - _ZNK20QDeclarativeProperty5indexEv @ 2541 NONAME - _ZNK20QDeclarativeProperty5resetEv @ 2542 NONAME - _ZNK20QDeclarativeProperty5writeERK8QVariant @ 2543 NONAME - _ZNK20QDeclarativeProperty6methodEv @ 2544 NONAME - _ZNK20QDeclarativeProperty6objectEv @ 2545 NONAME - _ZNK20QDeclarativeProperty7isValidEv @ 2546 NONAME - _ZNK20QDeclarativeProperty8propertyEv @ 2547 NONAME - _ZNK20QDeclarativePropertyeqERKS_ @ 2548 NONAME - _ZNK20QDeclarativeRepeater10metaObjectEv @ 2549 NONAME - _ZNK20QDeclarativeRepeater5countEv @ 2550 NONAME - _ZNK20QDeclarativeRepeater5modelEv @ 2551 NONAME - _ZNK20QDeclarativeRepeater8delegateEv @ 2552 NONAME - _ZNK20QDeclarativeTextEdit10cursorRectEv @ 2553 NONAME - _ZNK20QDeclarativeTextEdit10isReadOnlyEv @ 2554 NONAME - _ZNK20QDeclarativeTextEdit10metaObjectEv @ 2555 NONAME - _ZNK20QDeclarativeTextEdit10textFormatEv @ 2556 NONAME - _ZNK20QDeclarativeTextEdit10textMarginEv @ 2557 NONAME - _ZNK20QDeclarativeTextEdit12focusOnPressEv @ 2558 NONAME - _ZNK20QDeclarativeTextEdit12selectedTextEv @ 2559 NONAME - _ZNK20QDeclarativeTextEdit12selectionEndEv @ 2560 NONAME - _ZNK20QDeclarativeTextEdit14cursorDelegateEv @ 2561 NONAME - _ZNK20QDeclarativeTextEdit14cursorPositionEv @ 2562 NONAME - _ZNK20QDeclarativeTextEdit14selectionColorEv @ 2563 NONAME - _ZNK20QDeclarativeTextEdit14selectionStartEv @ 2564 NONAME - _ZNK20QDeclarativeTextEdit15isCursorVisibleEv @ 2565 NONAME - _ZNK20QDeclarativeTextEdit16inputMethodQueryEN2Qt16InputMethodQueryE @ 2566 NONAME - _ZNK20QDeclarativeTextEdit17selectedTextColorEv @ 2567 NONAME - _ZNK20QDeclarativeTextEdit19persistentSelectionEv @ 2568 NONAME - _ZNK20QDeclarativeTextEdit20textInteractionFlagsEv @ 2569 NONAME - _ZNK20QDeclarativeTextEdit4fontEv @ 2570 NONAME - _ZNK20QDeclarativeTextEdit4textEv @ 2571 NONAME - _ZNK20QDeclarativeTextEdit4wrapEv @ 2572 NONAME - _ZNK20QDeclarativeTextEdit5colorEv @ 2573 NONAME - _ZNK20QDeclarativeTextEdit6hAlignEv @ 2574 NONAME - _ZNK20QDeclarativeTextEdit6vAlignEv @ 2575 NONAME - _ZNK20QMetaPropertyBuilder10isEditableEv @ 2576 NONAME - _ZNK20QMetaPropertyBuilder10isReadableEv @ 2577 NONAME - _ZNK20QMetaPropertyBuilder10isWritableEv @ 2578 NONAME - _ZNK20QMetaPropertyBuilder12hasStdCppSetEv @ 2579 NONAME - _ZNK20QMetaPropertyBuilder12isDesignableEv @ 2580 NONAME - _ZNK20QMetaPropertyBuilder12isEnumOrFlagEv @ 2581 NONAME - _ZNK20QMetaPropertyBuilder12isResettableEv @ 2582 NONAME - _ZNK20QMetaPropertyBuilder12isScriptableEv @ 2583 NONAME - _ZNK20QMetaPropertyBuilder12notifySignalEv @ 2584 NONAME - _ZNK20QMetaPropertyBuilder15hasNotifySignalEv @ 2585 NONAME - _ZNK20QMetaPropertyBuilder4nameEv @ 2586 NONAME - _ZNK20QMetaPropertyBuilder4typeEv @ 2587 NONAME - _ZNK20QMetaPropertyBuilder6d_funcEv @ 2588 NONAME - _ZNK20QMetaPropertyBuilder6isUserEv @ 2589 NONAME - _ZNK20QMetaPropertyBuilder8isStoredEv @ 2590 NONAME - _ZNK20QMetaPropertyBuilder9isDynamicEv @ 2591 NONAME - _ZNK21QDeclarativeComponent10metaObjectEv @ 2592 NONAME - _ZNK21QDeclarativeComponent12errorsStringEv @ 2593 NONAME - _ZNK21QDeclarativeComponent15creationContextEv @ 2594 NONAME - _ZNK21QDeclarativeComponent3urlEv @ 2595 NONAME - _ZNK21QDeclarativeComponent6errorsEv @ 2596 NONAME - _ZNK21QDeclarativeComponent6isNullEv @ 2597 NONAME - _ZNK21QDeclarativeComponent6statusEv @ 2598 NONAME - _ZNK21QDeclarativeComponent7isErrorEv @ 2599 NONAME - _ZNK21QDeclarativeComponent7isReadyEv @ 2600 NONAME - _ZNK21QDeclarativeComponent8progressEv @ 2601 NONAME - _ZNK21QDeclarativeComponent9isLoadingEv @ 2602 NONAME - _ZNK21QDeclarativeDomImport3uriEv @ 2603 NONAME - _ZNK21QDeclarativeDomImport4typeEv @ 2604 NONAME - _ZNK21QDeclarativeDomImport7versionEv @ 2605 NONAME - _ZNK21QDeclarativeDomImport9qualifierEv @ 2606 NONAME - _ZNK21QDeclarativeDomObject10objectTypeEv @ 2607 NONAME - _ZNK21QDeclarativeDomObject10propertiesEv @ 2608 NONAME - _ZNK21QDeclarativeDomObject11isComponentEv @ 2609 NONAME - _ZNK21QDeclarativeDomObject11toComponentEv @ 2610 NONAME - _ZNK21QDeclarativeDomObject12isCustomTypeEv @ 2611 NONAME - _ZNK21QDeclarativeDomObject14customTypeDataEv @ 2612 NONAME - _ZNK21QDeclarativeDomObject15dynamicPropertyERK10QByteArray @ 2613 NONAME - _ZNK21QDeclarativeDomObject15objectClassNameEv @ 2614 NONAME - _ZNK21QDeclarativeDomObject17dynamicPropertiesEv @ 2615 NONAME - _ZNK21QDeclarativeDomObject22objectTypeMajorVersionEv @ 2616 NONAME - _ZNK21QDeclarativeDomObject22objectTypeMinorVersionEv @ 2617 NONAME - _ZNK21QDeclarativeDomObject3urlEv @ 2618 NONAME - _ZNK21QDeclarativeDomObject6lengthEv @ 2619 NONAME - _ZNK21QDeclarativeDomObject7isValidEv @ 2620 NONAME - _ZNK21QDeclarativeDomObject8objectIdEv @ 2621 NONAME - _ZNK21QDeclarativeDomObject8positionEv @ 2622 NONAME - _ZNK21QDeclarativeDomObject8propertyERK10QByteArray @ 2623 NONAME - _ZNK21QDeclarativeFlickable10isFlickingEv @ 2624 NONAME - _ZNK21QDeclarativeFlickable10maxXExtentEv @ 2625 NONAME - _ZNK21QDeclarativeFlickable10maxYExtentEv @ 2626 NONAME - _ZNK21QDeclarativeFlickable10metaObjectEv @ 2627 NONAME - _ZNK21QDeclarativeFlickable10minXExtentEv @ 2628 NONAME - _ZNK21QDeclarativeFlickable10minYExtentEv @ 2629 NONAME - _ZNK21QDeclarativeFlickable10pressDelayEv @ 2630 NONAME - _ZNK21QDeclarativeFlickable12contentWidthEv @ 2631 NONAME - _ZNK21QDeclarativeFlickable13contentHeightEv @ 2632 NONAME - _ZNK21QDeclarativeFlickable13isInteractiveEv @ 2633 NONAME - _ZNK21QDeclarativeFlickable14flickDirectionEv @ 2634 NONAME - _ZNK21QDeclarativeFlickable14isAtXBeginningEv @ 2635 NONAME - _ZNK21QDeclarativeFlickable14isAtYBeginningEv @ 2636 NONAME - _ZNK21QDeclarativeFlickable16verticalVelocityEv @ 2637 NONAME - _ZNK21QDeclarativeFlickable17flickDecelerationEv @ 2638 NONAME - _ZNK21QDeclarativeFlickable18horizontalVelocityEv @ 2639 NONAME - _ZNK21QDeclarativeFlickable20maximumFlickVelocityEv @ 2640 NONAME - _ZNK21QDeclarativeFlickable6vWidthEv @ 2641 NONAME - _ZNK21QDeclarativeFlickable6xflickEv @ 2642 NONAME - _ZNK21QDeclarativeFlickable6yflickEv @ 2643 NONAME - _ZNK21QDeclarativeFlickable7vHeightEv @ 2644 NONAME - _ZNK21QDeclarativeFlickable8contentXEv @ 2645 NONAME - _ZNK21QDeclarativeFlickable8contentYEv @ 2646 NONAME - _ZNK21QDeclarativeFlickable8isAtXEndEv @ 2647 NONAME - _ZNK21QDeclarativeFlickable8isAtYEndEv @ 2648 NONAME - _ZNK21QDeclarativeFlickable8isMovingEv @ 2649 NONAME - _ZNK21QDeclarativeFlickable9overShootEv @ 2650 NONAME - _ZNK21QDeclarativeImageBase10metaObjectEv @ 2651 NONAME - _ZNK21QDeclarativeImageBase12asynchronousEv @ 2652 NONAME - _ZNK21QDeclarativeImageBase6sourceEv @ 2653 NONAME - _ZNK21QDeclarativeImageBase6statusEv @ 2654 NONAME - _ZNK21QDeclarativeImageBase8progressEv @ 2655 NONAME - _ZNK21QDeclarativeListModel10checkRolesEv @ 2656 NONAME - _ZNK21QDeclarativeListModel10metaObjectEv @ 2657 NONAME - _ZNK21QDeclarativeListModel12valueForNodeEP9ModelNode @ 2658 NONAME - _ZNK21QDeclarativeListModel3getEi @ 2659 NONAME - _ZNK21QDeclarativeListModel4dataEiRK5QListIiE @ 2660 NONAME - _ZNK21QDeclarativeListModel4dataEii @ 2661 NONAME - _ZNK21QDeclarativeListModel5countEv @ 2662 NONAME - _ZNK21QDeclarativeListModel5rolesEv @ 2663 NONAME - _ZNK21QDeclarativeListModel7addRoleERK7QString @ 2664 NONAME - _ZNK21QDeclarativeListModel8toStringEi @ 2665 NONAME - _ZNK21QDeclarativeMouseArea10metaObjectEv @ 2666 NONAME - _ZNK21QDeclarativeMouseArea14pressedButtonsEv @ 2667 NONAME - _ZNK21QDeclarativeMouseArea15acceptedButtonsEv @ 2668 NONAME - _ZNK21QDeclarativeMouseArea6mouseXEv @ 2669 NONAME - _ZNK21QDeclarativeMouseArea6mouseYEv @ 2670 NONAME - _ZNK21QDeclarativeMouseArea7hoveredEv @ 2671 NONAME - _ZNK21QDeclarativeMouseArea7pressedEv @ 2672 NONAME - _ZNK21QDeclarativeMouseArea9isEnabledEv @ 2673 NONAME - _ZNK21QDeclarativeParticles10metaObjectEv @ 2674 NONAME - _ZNK21QDeclarativeParticles12emissionRateEv @ 2675 NONAME - _ZNK21QDeclarativeParticles14angleDeviationEv @ 2676 NONAME - _ZNK21QDeclarativeParticles14fadeInDurationEv @ 2677 NONAME - _ZNK21QDeclarativeParticles15fadeOutDurationEv @ 2678 NONAME - _ZNK21QDeclarativeParticles16emissionVarianceEv @ 2679 NONAME - _ZNK21QDeclarativeParticles17lifeSpanDeviationEv @ 2680 NONAME - _ZNK21QDeclarativeParticles17velocityDeviationEv @ 2681 NONAME - _ZNK21QDeclarativeParticles5angleEv @ 2682 NONAME - _ZNK21QDeclarativeParticles5countEv @ 2683 NONAME - _ZNK21QDeclarativeParticles6motionEv @ 2684 NONAME - _ZNK21QDeclarativeParticles6sourceEv @ 2685 NONAME - _ZNK21QDeclarativeParticles8lifeSpanEv @ 2686 NONAME - _ZNK21QDeclarativeParticles8velocityEv @ 2687 NONAME - _ZNK21QDeclarativePathCubic10metaObjectEv @ 2688 NONAME - _ZNK21QDeclarativePathCubic9control1XEv @ 2689 NONAME - _ZNK21QDeclarativePathCubic9control1YEv @ 2690 NONAME - _ZNK21QDeclarativePathCubic9control2XEv @ 2691 NONAME - _ZNK21QDeclarativePathCubic9control2YEv @ 2692 NONAME - _ZNK21QDeclarativeRectangle10metaObjectEv @ 2693 NONAME - _ZNK21QDeclarativeRectangle12boundingRectEv @ 2694 NONAME - _ZNK21QDeclarativeRectangle5colorEv @ 2695 NONAME - _ZNK21QDeclarativeRectangle6radiusEv @ 2696 NONAME - _ZNK21QDeclarativeRectangle8gradientEv @ 2697 NONAME - _ZNK21QDeclarativeScaleGrid10metaObjectEv @ 2698 NONAME - _ZNK21QDeclarativeScaleGrid6isNullEv @ 2699 NONAME - _ZNK21QDeclarativeTextInput10cursorRectEv @ 2700 NONAME - _ZNK21QDeclarativeTextInput10isReadOnlyEv @ 2701 NONAME - _ZNK21QDeclarativeTextInput10metaObjectEv @ 2702 NONAME - _ZNK21QDeclarativeTextInput12focusOnPressEv @ 2703 NONAME - _ZNK21QDeclarativeTextInput12selectedTextEv @ 2704 NONAME - _ZNK21QDeclarativeTextInput12selectionEndEv @ 2705 NONAME - _ZNK21QDeclarativeTextInput14cursorDelegateEv @ 2706 NONAME - _ZNK21QDeclarativeTextInput14cursorPositionEv @ 2707 NONAME - _ZNK21QDeclarativeTextInput14selectionColorEv @ 2708 NONAME - _ZNK21QDeclarativeTextInput14selectionStartEv @ 2709 NONAME - _ZNK21QDeclarativeTextInput15isCursorVisibleEv @ 2710 NONAME - _ZNK21QDeclarativeTextInput16inputMethodQueryEN2Qt16InputMethodQueryE @ 2711 NONAME - _ZNK21QDeclarativeTextInput17selectedTextColorEv @ 2712 NONAME - _ZNK21QDeclarativeTextInput18hasAcceptableInputEv @ 2713 NONAME - _ZNK21QDeclarativeTextInput4fontEv @ 2714 NONAME - _ZNK21QDeclarativeTextInput4textEv @ 2715 NONAME - _ZNK21QDeclarativeTextInput5colorEv @ 2716 NONAME - _ZNK21QDeclarativeTextInput6hAlignEv @ 2717 NONAME - _ZNK21QDeclarativeTextInput8echoModeEv @ 2718 NONAME - _ZNK21QDeclarativeTextInput9inputMaskEv @ 2719 NONAME - _ZNK21QDeclarativeTextInput9maxLengthEv @ 2720 NONAME - _ZNK21QDeclarativeTextInput9validatorEv @ 2721 NONAME - _ZNK21QDeclarativeValueType10metaObjectEv @ 2722 NONAME - _ZNK22QDeclarativeDebugQuery10metaObjectEv @ 2723 NONAME - _ZNK22QDeclarativeDebugQuery5stateEv @ 2724 NONAME - _ZNK22QDeclarativeDebugQuery9isWaitingEv @ 2725 NONAME - _ZNK22QDeclarativeDebugWatch10metaObjectEv @ 2726 NONAME - _ZNK22QDeclarativeDebugWatch13objectDebugIdEv @ 2727 NONAME - _ZNK22QDeclarativeDebugWatch5stateEv @ 2728 NONAME - _ZNK22QDeclarativeDebugWatch7queryIdEv @ 2729 NONAME - _ZNK22QDeclarativeEaseFollow10metaObjectEv @ 2730 NONAME - _ZNK22QDeclarativeEaseFollow11sourceValueEv @ 2731 NONAME - _ZNK22QDeclarativeEaseFollow13reversingModeEv @ 2732 NONAME - _ZNK22QDeclarativeEaseFollow17maximumEasingTimeEv @ 2733 NONAME - _ZNK22QDeclarativeEaseFollow7enabledEv @ 2734 NONAME - _ZNK22QDeclarativeEaseFollow8durationEv @ 2735 NONAME - _ZNK22QDeclarativeEaseFollow8velocityEv @ 2736 NONAME - _ZNK22QDeclarativeExpression10expressionEv @ 2737 NONAME - _ZNK22QDeclarativeExpression10lineNumberEv @ 2738 NONAME - _ZNK22QDeclarativeExpression10metaObjectEv @ 2739 NONAME - _ZNK22QDeclarativeExpression10sourceFileEv @ 2740 NONAME - _ZNK22QDeclarativeExpression11scopeObjectEv @ 2741 NONAME - _ZNK22QDeclarativeExpression20notifyOnValueChangedEv @ 2742 NONAME - _ZNK22QDeclarativeExpression5errorEv @ 2743 NONAME - _ZNK22QDeclarativeExpression6engineEv @ 2744 NONAME - _ZNK22QDeclarativeExpression7contextEv @ 2745 NONAME - _ZNK22QDeclarativeExpression8hasErrorEv @ 2746 NONAME - _ZNK22QDeclarativeFocusPanel10metaObjectEv @ 2747 NONAME - _ZNK22QDeclarativeFocusScope10metaObjectEv @ 2748 NONAME - _ZNK22QDeclarativeFontLoader10metaObjectEv @ 2749 NONAME - _ZNK22QDeclarativeFontLoader4nameEv @ 2750 NONAME - _ZNK22QDeclarativeFontLoader6sourceEv @ 2751 NONAME - _ZNK22QDeclarativeFontLoader6statusEv @ 2752 NONAME - _ZNK22QDeclarativeStateGroup10metaObjectEv @ 2753 NONAME - _ZNK22QDeclarativeStateGroup5stateEv @ 2754 NONAME - _ZNK22QDeclarativeStateGroup6statesEv @ 2755 NONAME - _ZNK22QDeclarativeStateGroup9findStateERK7QString @ 2756 NONAME - _ZNK22QDeclarativeTransition10metaObjectEv @ 2757 NONAME - _ZNK22QDeclarativeTransition10reversibleEv @ 2758 NONAME - _ZNK22QDeclarativeTransition7toStateEv @ 2759 NONAME - _ZNK22QDeclarativeTransition9fromStateEv @ 2760 NONAME - _ZNK23QDeclarativeBorderImage10metaObjectEv @ 2761 NONAME - _ZNK23QDeclarativeBorderImage16verticalTileModeEv @ 2762 NONAME - _ZNK23QDeclarativeBorderImage18horizontalTileModeEv @ 2763 NONAME - _ZNK23QDeclarativeConnections10metaObjectEv @ 2764 NONAME - _ZNK23QDeclarativeConnections6targetEv @ 2765 NONAME - _ZNK23QDeclarativeDebugClient10metaObjectEv @ 2766 NONAME - _ZNK23QDeclarativeDebugClient11isConnectedEv @ 2767 NONAME - _ZNK23QDeclarativeDebugClient4nameEv @ 2768 NONAME - _ZNK23QDeclarativeDebugClient9isEnabledEv @ 2769 NONAME - _ZNK23QDeclarativeDomDocument10rootObjectEv @ 2770 NONAME - _ZNK23QDeclarativeDomDocument6errorsEv @ 2771 NONAME - _ZNK23QDeclarativeDomDocument7importsEv @ 2772 NONAME - _ZNK23QDeclarativeDomProperty12propertyNameEv @ 2773 NONAME - _ZNK23QDeclarativeDomProperty17isDefaultPropertyEv @ 2774 NONAME - _ZNK23QDeclarativeDomProperty17propertyNamePartsEv @ 2775 NONAME - _ZNK23QDeclarativeDomProperty5valueEv @ 2776 NONAME - _ZNK23QDeclarativeDomProperty6lengthEv @ 2777 NONAME - _ZNK23QDeclarativeDomProperty7isValidEv @ 2778 NONAME - _ZNK23QDeclarativeDomProperty8positionEv @ 2779 NONAME - _ZNK23QDeclarativeEngineDebug10metaObjectEv @ 2780 NONAME - _ZNK23QDeclarativePaintedItem10metaObjectEv @ 2781 NONAME - _ZNK23QDeclarativePaintedItem11smoothCacheEv @ 2782 NONAME - _ZNK23QDeclarativePaintedItem12contentsSizeEv @ 2783 NONAME - _ZNK23QDeclarativePaintedItem13contentsScaleEv @ 2784 NONAME - _ZNK23QDeclarativePaintedItem14pixelCacheSizeEv @ 2785 NONAME - _ZNK23QDeclarativePaintedItem9fillColorEv @ 2786 NONAME - _ZNK23QDeclarativePathElement10metaObjectEv @ 2787 NONAME - _ZNK23QDeclarativePathPercent10metaObjectEv @ 2788 NONAME - _ZNK23QDeclarativePathPercent5valueEv @ 2789 NONAME - _ZNK23QDeclarativePixmapReply10metaObjectEv @ 2790 NONAME - _ZNK23QDeclarativePixmapReply3urlEv @ 2791 NONAME - _ZNK23QDeclarativePixmapReply6statusEv @ 2792 NONAME - _ZNK23QDeclarativePixmapReply9isLoadingEv @ 2793 NONAME - _ZNK23QDeclarativePropertyMap10metaObjectEv @ 2794 NONAME - _ZNK23QDeclarativePropertyMap4keysEv @ 2795 NONAME - _ZNK23QDeclarativePropertyMap4sizeEv @ 2796 NONAME - _ZNK23QDeclarativePropertyMap5countEv @ 2797 NONAME - _ZNK23QDeclarativePropertyMap5valueERK7QString @ 2798 NONAME - _ZNK23QDeclarativePropertyMap7isEmptyEv @ 2799 NONAME - _ZNK23QDeclarativePropertyMap8containsERK7QString @ 2800 NONAME - _ZNK23QDeclarativePropertyMapixERK7QString @ 2801 NONAME - _ZNK23QDeclarativeViewSection10metaObjectEv @ 2802 NONAME - _ZNK23QDeclarativeVisualModel10metaObjectEv @ 2803 NONAME - _ZNK24QDeclarativeDebugService10metaObjectEv @ 2804 NONAME - _ZNK24QDeclarativeDebugService4nameEv @ 2805 NONAME - _ZNK24QDeclarativeDebugService9isEnabledEv @ 2806 NONAME - _ZNK24QDeclarativeDomComponent13componentRootEv @ 2807 NONAME - _ZNK24QDeclarativeGradientStop10metaObjectEv @ 2808 NONAME - _ZNK24QDeclarativeListAccessor2atEi @ 2809 NONAME - _ZNK24QDeclarativeListAccessor4listEv @ 2810 NONAME - _ZNK24QDeclarativeListAccessor5countEv @ 2811 NONAME - _ZNK24QDeclarativeListAccessor7isValidEv @ 2812 NONAME - _ZNK24QDeclarativeParentChange10metaObjectEv @ 2813 NONAME - _ZNK24QDeclarativeParentChange10scaleIsSetEv @ 2814 NONAME - _ZNK24QDeclarativeParentChange10widthIsSetEv @ 2815 NONAME - _ZNK24QDeclarativeParentChange11heightIsSetEv @ 2816 NONAME - _ZNK24QDeclarativeParentChange13rotationIsSetEv @ 2817 NONAME - _ZNK24QDeclarativeParentChange14originalParentEv @ 2818 NONAME - _ZNK24QDeclarativeParentChange1xEv @ 2819 NONAME - _ZNK24QDeclarativeParentChange1yEv @ 2820 NONAME - _ZNK24QDeclarativeParentChange5scaleEv @ 2821 NONAME - _ZNK24QDeclarativeParentChange5widthEv @ 2822 NONAME - _ZNK24QDeclarativeParentChange6heightEv @ 2823 NONAME - _ZNK24QDeclarativeParentChange6objectEv @ 2824 NONAME - _ZNK24QDeclarativeParentChange6parentEv @ 2825 NONAME - _ZNK24QDeclarativeParentChange6xIsSetEv @ 2826 NONAME - _ZNK24QDeclarativeParentChange6yIsSetEv @ 2827 NONAME - _ZNK24QDeclarativeParentChange8rotationEv @ 2828 NONAME - _ZNK24QDeclarativeParentChange8typeNameEv @ 2829 NONAME - _ZNK24QDeclarativeScriptString11scopeObjectEv @ 2830 NONAME - _ZNK24QDeclarativeScriptString6scriptEv @ 2831 NONAME - _ZNK24QDeclarativeScriptString7contextEv @ 2832 NONAME - _ZNK24QDeclarativeSpringFollow10metaObjectEv @ 2833 NONAME - _ZNK24QDeclarativeSpringFollow11sourceValueEv @ 2834 NONAME - _ZNK24QDeclarativeSpringFollow4massEv @ 2835 NONAME - _ZNK24QDeclarativeSpringFollow5valueEv @ 2836 NONAME - _ZNK24QDeclarativeSpringFollow6inSyncEv @ 2837 NONAME - _ZNK24QDeclarativeSpringFollow6springEv @ 2838 NONAME - _ZNK24QDeclarativeSpringFollow7dampingEv @ 2839 NONAME - _ZNK24QDeclarativeSpringFollow7enabledEv @ 2840 NONAME - _ZNK24QDeclarativeSpringFollow7epsilonEv @ 2841 NONAME - _ZNK24QDeclarativeSpringFollow7modulusEv @ 2842 NONAME - _ZNK24QDeclarativeSpringFollow8velocityEv @ 2843 NONAME - _ZNK24QDeclarativeXmlListModel10metaObjectEv @ 2844 NONAME - _ZNK24QDeclarativeXmlListModel21namespaceDeclarationsEv @ 2845 NONAME - _ZNK24QDeclarativeXmlListModel3xmlEv @ 2846 NONAME - _ZNK24QDeclarativeXmlListModel4dataEiRK5QListIiE @ 2847 NONAME - _ZNK24QDeclarativeXmlListModel4dataEii @ 2848 NONAME - _ZNK24QDeclarativeXmlListModel5countEv @ 2849 NONAME - _ZNK24QDeclarativeXmlListModel5queryEv @ 2850 NONAME - _ZNK24QDeclarativeXmlListModel5rolesEv @ 2851 NONAME - _ZNK24QDeclarativeXmlListModel6sourceEv @ 2852 NONAME - _ZNK24QDeclarativeXmlListModel6statusEv @ 2853 NONAME - _ZNK24QDeclarativeXmlListModel8progressEv @ 2854 NONAME - _ZNK24QDeclarativeXmlListModel8toStringEi @ 2855 NONAME - _ZNK25QDeclarativeAnchorChanges10metaObjectEv @ 2856 NONAME - _ZNK25QDeclarativeAnchorChanges14verticalCenterEv @ 2857 NONAME - _ZNK25QDeclarativeAnchorChanges16horizontalCenterEv @ 2858 NONAME - _ZNK25QDeclarativeAnchorChanges3topEv @ 2859 NONAME - _ZNK25QDeclarativeAnchorChanges4leftEv @ 2860 NONAME - _ZNK25QDeclarativeAnchorChanges5resetEv @ 2861 NONAME - _ZNK25QDeclarativeAnchorChanges5rightEv @ 2862 NONAME - _ZNK25QDeclarativeAnchorChanges6bottomEv @ 2863 NONAME - _ZNK25QDeclarativeAnchorChanges6objectEv @ 2864 NONAME - _ZNK25QDeclarativeAnchorChanges8baselineEv @ 2865 NONAME - _ZNK25QDeclarativeAnchorChanges8typeNameEv @ 2866 NONAME - _ZNK25QDeclarativeAnimatedImage10frameCountEv @ 2867 NONAME - _ZNK25QDeclarativeAnimatedImage10metaObjectEv @ 2868 NONAME - _ZNK25QDeclarativeAnimatedImage12currentFrameEv @ 2869 NONAME - _ZNK25QDeclarativeAnimatedImage8isPausedEv @ 2870 NONAME - _ZNK25QDeclarativeAnimatedImage9isPlayingEv @ 2871 NONAME - _ZNK25QDeclarativeListReference15listElementTypeEv @ 2872 NONAME - _ZNK25QDeclarativeListReference2atEi @ 2873 NONAME - _ZNK25QDeclarativeListReference5canAtEv @ 2874 NONAME - _ZNK25QDeclarativeListReference5clearEv @ 2875 NONAME - _ZNK25QDeclarativeListReference5countEv @ 2876 NONAME - _ZNK25QDeclarativeListReference6appendEP7QObject @ 2877 NONAME - _ZNK25QDeclarativeListReference6objectEv @ 2878 NONAME - _ZNK25QDeclarativeListReference7isValidEv @ 2879 NONAME - _ZNK25QDeclarativeListReference8canClearEv @ 2880 NONAME - _ZNK25QDeclarativeListReference8canCountEv @ 2881 NONAME - _ZNK25QDeclarativeListReference9canAppendEv @ 2882 NONAME - _ZNK25QDeclarativePathAttribute10metaObjectEv @ 2883 NONAME - _ZNK25QDeclarativePathAttribute4nameEv @ 2884 NONAME - _ZNK25QDeclarativePathAttribute5valueEv @ 2885 NONAME - _ZNK25QDeclarativeSystemPalette10buttonTextEv @ 2886 NONAME - _ZNK25QDeclarativeSystemPalette10colorGroupEv @ 2887 NONAME - _ZNK25QDeclarativeSystemPalette10metaObjectEv @ 2888 NONAME - _ZNK25QDeclarativeSystemPalette10windowTextEv @ 2889 NONAME - _ZNK25QDeclarativeSystemPalette13alternateBaseEv @ 2890 NONAME - _ZNK25QDeclarativeSystemPalette15highlightedTextEv @ 2891 NONAME - _ZNK25QDeclarativeSystemPalette3midEv @ 2892 NONAME - _ZNK25QDeclarativeSystemPalette4baseEv @ 2893 NONAME - _ZNK25QDeclarativeSystemPalette4darkEv @ 2894 NONAME - _ZNK25QDeclarativeSystemPalette4textEv @ 2895 NONAME - _ZNK25QDeclarativeSystemPalette5lightEv @ 2896 NONAME - _ZNK25QDeclarativeSystemPalette6buttonEv @ 2897 NONAME - _ZNK25QDeclarativeSystemPalette6shadowEv @ 2898 NONAME - _ZNK25QDeclarativeSystemPalette6windowEv @ 2899 NONAME - _ZNK25QDeclarativeSystemPalette8midlightEv @ 2900 NONAME - _ZNK25QDeclarativeSystemPalette9highlightEv @ 2901 NONAME - _ZNK26QDeclarativeBasePositioner10metaObjectEv @ 2902 NONAME - _ZNK26QDeclarativeBasePositioner3addEv @ 2903 NONAME - _ZNK26QDeclarativeBasePositioner4moveEv @ 2904 NONAME - _ZNK26QDeclarativeBasePositioner7spacingEv @ 2905 NONAME - _ZNK26QDeclarativeOpenMetaObject4nameEi @ 2906 NONAME - _ZNK26QDeclarativeOpenMetaObject4typeEv @ 2907 NONAME - _ZNK26QDeclarativeOpenMetaObject5countEv @ 2908 NONAME - _ZNK26QDeclarativeOpenMetaObject5valueERK10QByteArray @ 2909 NONAME - _ZNK26QDeclarativeOpenMetaObject5valueEi @ 2910 NONAME - _ZNK26QDeclarativeOpenMetaObject6objectEv @ 2911 NONAME - _ZNK26QDeclarativeOpenMetaObject6parentEv @ 2912 NONAME - _ZNK26QDeclarativeParticleMotion10metaObjectEv @ 2913 NONAME - _ZNK26QDeclarativeStateOperation10metaObjectEv @ 2914 NONAME - _ZNK27QDeclarativeDebugConnection10metaObjectEv @ 2915 NONAME - _ZNK27QDeclarativeDebugConnection11isConnectedEv @ 2916 NONAME - _ZNK27QDeclarativeDomValueBinding7bindingEv @ 2917 NONAME - _ZNK27QDeclarativeDomValueLiteral7literalEv @ 2918 NONAME - _ZNK27QDeclarativeExtensionPlugin10metaObjectEv @ 2919 NONAME - _ZNK27QDeclarativeGridScaledImage10gridBottomEv @ 2920 NONAME - _ZNK27QDeclarativeGridScaledImage7gridTopEv @ 2921 NONAME - _ZNK27QDeclarativeGridScaledImage7isValidEv @ 2922 NONAME - _ZNK27QDeclarativeGridScaledImage8gridLeftEv @ 2923 NONAME - _ZNK27QDeclarativeGridScaledImage9gridRightEv @ 2924 NONAME - _ZNK27QDeclarativeGridScaledImage9pixmapUrlEv @ 2925 NONAME - _ZNK27QDeclarativeNumberFormatter10metaObjectEv @ 2926 NONAME - _ZNK27QDeclarativeNumberFormatter4textEv @ 2927 NONAME - _ZNK27QDeclarativeNumberFormatter6formatEv @ 2928 NONAME - _ZNK27QDeclarativeNumberFormatter6numberEv @ 2929 NONAME - _ZNK27QDeclarativePropertyChanges10isExplicitEv @ 2930 NONAME - _ZNK27QDeclarativePropertyChanges10metaObjectEv @ 2931 NONAME - _ZNK27QDeclarativePropertyChanges18restoreEntryValuesEv @ 2932 NONAME - _ZNK27QDeclarativePropertyChanges6objectEv @ 2933 NONAME - _ZNK27QDeclarativeVisualDataModel10metaObjectEv @ 2934 NONAME - _ZNK27QDeclarativeVisualDataModel4partEv @ 2935 NONAME - _ZNK27QDeclarativeVisualDataModel5countEv @ 2936 NONAME - _ZNK27QDeclarativeVisualDataModel5modelEv @ 2937 NONAME - _ZNK27QDeclarativeVisualDataModel7indexOfEP16QDeclarativeItemP7QObject @ 2938 NONAME - _ZNK27QDeclarativeVisualDataModel8delegateEv @ 2939 NONAME - _ZNK27QDeclarativeVisualDataModel9rootIndexEv @ 2940 NONAME - _ZNK27QDeclarativeVisualItemModel10metaObjectEv @ 2941 NONAME - _ZNK27QDeclarativeVisualItemModel5countEv @ 2942 NONAME - _ZNK27QDeclarativeVisualItemModel7indexOfEP16QDeclarativeItemP7QObject @ 2943 NONAME - _ZNK27QDeclarativeVisualItemModel7isValidEv @ 2944 NONAME - _ZNK28QDeclarativeCustomParserNode10propertiesEv @ 2945 NONAME - _ZNK28QDeclarativeCustomParserNode4nameEv @ 2946 NONAME - _ZNK28QDeclarativeCustomParserNode8locationEv @ 2947 NONAME - _ZNK28QDeclarativeDebugObjectQuery10metaObjectEv @ 2948 NONAME - _ZNK28QDeclarativeDebugObjectQuery6objectEv @ 2949 NONAME - _ZNK28QDeclarativeXmlListModelRole10metaObjectEv @ 2950 NONAME - _ZNK29QDeclarativeDateTimeFormatter10dateFormatEv @ 2951 NONAME - _ZNK29QDeclarativeDateTimeFormatter10metaObjectEv @ 2952 NONAME - _ZNK29QDeclarativeDateTimeFormatter10timeFormatEv @ 2953 NONAME - _ZNK29QDeclarativeDateTimeFormatter12dateTimeTextEv @ 2954 NONAME - _ZNK29QDeclarativeDateTimeFormatter14dateTimeFormatEv @ 2955 NONAME - _ZNK29QDeclarativeDateTimeFormatter4dateEv @ 2956 NONAME - _ZNK29QDeclarativeDateTimeFormatter4timeEv @ 2957 NONAME - _ZNK29QDeclarativeDateTimeFormatter8dateTextEv @ 2958 NONAME - _ZNK29QDeclarativeDateTimeFormatter8dateTimeEv @ 2959 NONAME - _ZNK29QDeclarativeDateTimeFormatter8timeTextEv @ 2960 NONAME - _ZNK29QDeclarativeDateTimeFormatter9longStyleEv @ 2961 NONAME - _ZNK29QDeclarativeDebugEnginesQuery10metaObjectEv @ 2962 NONAME - _ZNK29QDeclarativeDebugEnginesQuery7enginesEv @ 2963 NONAME - _ZNK29QDeclarativeStateChangeScript10metaObjectEv @ 2964 NONAME - _ZNK29QDeclarativeStateChangeScript4nameEv @ 2965 NONAME - _ZNK29QDeclarativeStateChangeScript6scriptEv @ 2966 NONAME - _ZNK29QDeclarativeStateChangeScript8typeNameEv @ 2967 NONAME - _ZNK30QDeclarativeDebugFileReference10lineNumberEv @ 2968 NONAME - _ZNK30QDeclarativeDebugFileReference12columnNumberEv @ 2969 NONAME - _ZNK30QDeclarativeDebugFileReference3urlEv @ 2970 NONAME - _ZNK30QDeclarativeDebugPropertyWatch10metaObjectEv @ 2971 NONAME - _ZNK30QDeclarativeDebugPropertyWatch4nameEv @ 2972 NONAME - _ZNK30QDeclarativeDomDynamicProperty12defaultValueEv @ 2973 NONAME - _ZNK30QDeclarativeDomDynamicProperty12propertyNameEv @ 2974 NONAME - _ZNK30QDeclarativeDomDynamicProperty12propertyTypeEv @ 2975 NONAME - _ZNK30QDeclarativeDomDynamicProperty16propertyTypeNameEv @ 2976 NONAME - _ZNK30QDeclarativeDomDynamicProperty17isDefaultPropertyEv @ 2977 NONAME - _ZNK30QDeclarativeDomDynamicProperty6lengthEv @ 2978 NONAME - _ZNK30QDeclarativeDomDynamicProperty7isAliasEv @ 2979 NONAME - _ZNK30QDeclarativeDomDynamicProperty7isValidEv @ 2980 NONAME - _ZNK30QDeclarativeDomDynamicProperty8positionEv @ 2981 NONAME - _ZNK30QDeclarativeOpenMetaObjectType12signalOffsetEv @ 2982 NONAME - _ZNK30QDeclarativeOpenMetaObjectType14propertyOffsetEv @ 2983 NONAME - _ZNK31QDeclarativeDomValueValueSource6objectEv @ 2984 NONAME - _ZNK32QDeclarativeCustomParserProperty14assignedValuesEv @ 2985 NONAME - _ZNK32QDeclarativeCustomParserProperty4nameEv @ 2986 NONAME - _ZNK32QDeclarativeCustomParserProperty6isListEv @ 2987 NONAME - _ZNK32QDeclarativeCustomParserProperty8locationEv @ 2988 NONAME - _ZNK32QDeclarativeDebugEngineReference4nameEv @ 2989 NONAME - _ZNK32QDeclarativeDebugEngineReference7debugIdEv @ 2990 NONAME - _ZNK32QDeclarativeDebugExpressionQuery10expressionEv @ 2991 NONAME - _ZNK32QDeclarativeDebugExpressionQuery10metaObjectEv @ 2992 NONAME - _ZNK32QDeclarativeDebugExpressionQuery6resultEv @ 2993 NONAME - _ZNK32QDeclarativeDebugObjectReference10propertiesEv @ 2994 NONAME - _ZNK32QDeclarativeDebugObjectReference14contextDebugIdEv @ 2995 NONAME - _ZNK32QDeclarativeDebugObjectReference4nameEv @ 2996 NONAME - _ZNK32QDeclarativeDebugObjectReference6sourceEv @ 2997 NONAME - _ZNK32QDeclarativeDebugObjectReference7debugIdEv @ 2998 NONAME - _ZNK32QDeclarativeDebugObjectReference8childrenEv @ 2999 NONAME - _ZNK32QDeclarativeDebugObjectReference9classNameEv @ 3000 NONAME - _ZNK32QDeclarativeParticleMotionLinear10metaObjectEv @ 3001 NONAME - _ZNK32QDeclarativeParticleMotionWander10metaObjectEv @ 3002 NONAME - _ZNK33QDeclarativeDebugContextReference4nameEv @ 3003 NONAME - _ZNK33QDeclarativeDebugContextReference7debugIdEv @ 3004 NONAME - _ZNK33QDeclarativeDebugContextReference7objectsEv @ 3005 NONAME - _ZNK33QDeclarativeDebugContextReference8contextsEv @ 3006 NONAME - _ZNK33QDeclarativeDebugRootContextQuery10metaObjectEv @ 3007 NONAME - _ZNK33QDeclarativeDebugRootContextQuery11rootContextEv @ 3008 NONAME - _ZNK33QDeclarativeParticleMotionGravity10metaObjectEv @ 3009 NONAME - _ZNK34QDeclarativeDebugPropertyReference13objectDebugIdEv @ 3010 NONAME - _ZNK34QDeclarativeDebugPropertyReference13valueTypeNameEv @ 3011 NONAME - _ZNK34QDeclarativeDebugPropertyReference15hasNotifySignalEv @ 3012 NONAME - _ZNK34QDeclarativeDebugPropertyReference4nameEv @ 3013 NONAME - _ZNK34QDeclarativeDebugPropertyReference5valueEv @ 3014 NONAME - _ZNK34QDeclarativeDebugPropertyReference7bindingEv @ 3015 NONAME - _ZNK35QDeclarativeGraphicsObjectContainer10metaObjectEv @ 3016 NONAME - _ZNK35QDeclarativeGraphicsObjectContainer14graphicsObjectEv @ 3017 NONAME - _ZNK35QDeclarativeGraphicsObjectContainer20synchronizedResizingEv @ 3018 NONAME - _ZNK36QDeclarativeDomValueValueInterceptor6objectEv @ 3019 NONAME - _ZNK38QDeclarativeDebugObjectExpressionWatch10expressionEv @ 3020 NONAME - _ZNK38QDeclarativeDebugObjectExpressionWatch10metaObjectEv @ 3021 NONAME - _ZNK7QPacket7isEmptyEv @ 3022 NONAME - _ZTI15QDeclarativePen @ 3023 NONAME - _ZTI15QDeclarativeRow @ 3024 NONAME - _ZTI15QPacketAutoSend @ 3025 NONAME - _ZTI15QPacketProtocol @ 3026 NONAME - _ZTI16QDeclarativeBind @ 3027 NONAME - _ZTI16QDeclarativeDrag @ 3028 NONAME - _ZTI16QDeclarativeFlow @ 3029 NONAME - _ZTI16QDeclarativeGrid @ 3030 NONAME - _ZTI16QDeclarativeItem @ 3031 NONAME - _ZTI16QDeclarativePath @ 3032 NONAME - _ZTI16QDeclarativeText @ 3033 NONAME - _ZTI16QDeclarativeView @ 3034 NONAME - _ZTI17QDeclarativeCurve @ 3035 NONAME - _ZTI17QDeclarativeImage @ 3036 NONAME - _ZTI17QDeclarativeState @ 3037 NONAME - _ZTI17QDeclarativeTimer @ 3038 NONAME - _ZTI18QDeclarativeColumn @ 3039 NONAME - _ZTI18QDeclarativeEngine @ 3040 NONAME - _ZTI18QDeclarativeLoader @ 3041 NONAME - _ZTI18QMetaObjectBuilder @ 3042 NONAME - _ZTI19QDeclarativeAnchors @ 3043 NONAME - _ZTI19QDeclarativeContext @ 3044 NONAME - _ZTI19QDeclarativeWebPage @ 3045 NONAME - _ZTI19QDeclarativeWebView @ 3046 NONAME - _ZTI19QListModelInterface @ 3047 NONAME - _ZTI20QDeclarativeBehavior @ 3048 NONAME - _ZTI20QDeclarativeFlipable @ 3049 NONAME - _ZTI20QDeclarativeGradient @ 3050 NONAME - _ZTI20QDeclarativeGridView @ 3051 NONAME - _ZTI20QDeclarativeListView @ 3052 NONAME - _ZTI20QDeclarativePathLine @ 3053 NONAME - _ZTI20QDeclarativePathQuad @ 3054 NONAME - _ZTI20QDeclarativePathView @ 3055 NONAME - _ZTI20QDeclarativeRepeater @ 3056 NONAME - _ZTI20QDeclarativeTextEdit @ 3057 NONAME - _ZTI21QDeclarativeComponent @ 3058 NONAME - _ZTI21QDeclarativeFlickable @ 3059 NONAME - _ZTI21QDeclarativeImageBase @ 3060 NONAME - _ZTI21QDeclarativeListModel @ 3061 NONAME - _ZTI21QDeclarativeMouseArea @ 3062 NONAME - _ZTI21QDeclarativeParticles @ 3063 NONAME - _ZTI21QDeclarativePathCubic @ 3064 NONAME - _ZTI21QDeclarativeRectangle @ 3065 NONAME - _ZTI21QDeclarativeScaleGrid @ 3066 NONAME - _ZTI21QDeclarativeTextInput @ 3067 NONAME - _ZTI21QDeclarativeValueType @ 3068 NONAME - _ZTI22QDeclarativeDebugQuery @ 3069 NONAME - _ZTI22QDeclarativeDebugWatch @ 3070 NONAME - _ZTI22QDeclarativeEaseFollow @ 3071 NONAME - _ZTI22QDeclarativeExpression @ 3072 NONAME - _ZTI22QDeclarativeFocusPanel @ 3073 NONAME - _ZTI22QDeclarativeFocusScope @ 3074 NONAME - _ZTI22QDeclarativeFontLoader @ 3075 NONAME - _ZTI22QDeclarativeStateGroup @ 3076 NONAME - _ZTI22QDeclarativeTransition @ 3077 NONAME - _ZTI23QDeclarativeBorderImage @ 3078 NONAME - _ZTI23QDeclarativeConnections @ 3079 NONAME - _ZTI23QDeclarativeDebugClient @ 3080 NONAME - _ZTI23QDeclarativeEngineDebug @ 3081 NONAME - _ZTI23QDeclarativePaintedItem @ 3082 NONAME - _ZTI23QDeclarativePathElement @ 3083 NONAME - _ZTI23QDeclarativePathPercent @ 3084 NONAME - _ZTI23QDeclarativePixmapReply @ 3085 NONAME - _ZTI23QDeclarativePropertyMap @ 3086 NONAME - _ZTI23QDeclarativeViewSection @ 3087 NONAME - _ZTI23QDeclarativeVisualModel @ 3088 NONAME - _ZTI24QDeclarativeCustomParser @ 3089 NONAME - _ZTI24QDeclarativeDebugService @ 3090 NONAME - _ZTI24QDeclarativeGradientStop @ 3091 NONAME - _ZTI24QDeclarativeParentChange @ 3092 NONAME - _ZTI24QDeclarativeParserStatus @ 3093 NONAME - _ZTI24QDeclarativeSpringFollow @ 3094 NONAME - _ZTI24QDeclarativeXmlListModel @ 3095 NONAME - _ZTI25QDeclarativeAnchorChanges @ 3096 NONAME - _ZTI25QDeclarativeAnimatedImage @ 3097 NONAME - _ZTI25QDeclarativeImageProvider @ 3098 NONAME - _ZTI25QDeclarativePathAttribute @ 3099 NONAME - _ZTI25QDeclarativeSystemPalette @ 3100 NONAME - _ZTI26QDeclarativeBasePositioner @ 3101 NONAME - _ZTI26QDeclarativeContextPrivate @ 3102 NONAME - _ZTI26QDeclarativeDebuggerStatus @ 3103 NONAME - _ZTI26QDeclarativeOpenMetaObject @ 3104 NONAME - _ZTI26QDeclarativeParticleMotion @ 3105 NONAME - _ZTI26QDeclarativeStateOperation @ 3106 NONAME - _ZTI27QDeclarativeDebugConnection @ 3107 NONAME - _ZTI27QDeclarativeExtensionPlugin @ 3108 NONAME - _ZTI27QDeclarativeNumberFormatter @ 3109 NONAME - _ZTI27QDeclarativePropertyChanges @ 3110 NONAME - _ZTI27QDeclarativeVisualDataModel @ 3111 NONAME - _ZTI27QDeclarativeVisualItemModel @ 3112 NONAME - _ZTI28QDeclarativeDebugObjectQuery @ 3113 NONAME - _ZTI28QDeclarativeXmlListModelRole @ 3114 NONAME - _ZTI29QDeclarativeDateTimeFormatter @ 3115 NONAME - _ZTI29QDeclarativeDebugEnginesQuery @ 3116 NONAME - _ZTI29QDeclarativeStateChangeScript @ 3117 NONAME - _ZTI30QDeclarativeDebugPropertyWatch @ 3118 NONAME - _ZTI30QDeclarativeExtensionInterface @ 3119 NONAME - _ZTI30QDeclarativeOpenMetaObjectType @ 3120 NONAME - _ZTI31QDeclarativePropertyValueSource @ 3121 NONAME - _ZTI32QDeclarativeDebugExpressionQuery @ 3122 NONAME - _ZTI32QDeclarativeParticleMotionLinear @ 3123 NONAME - _ZTI32QDeclarativeParticleMotionWander @ 3124 NONAME - _ZTI33QDeclarativeDebugRootContextQuery @ 3125 NONAME - _ZTI33QDeclarativeParticleMotionGravity @ 3126 NONAME - _ZTI35QDeclarativeGraphicsObjectContainer @ 3127 NONAME - _ZTI36QDeclarativePropertyValueInterceptor @ 3128 NONAME - _ZTI38QDeclarativeDebugObjectExpressionWatch @ 3129 NONAME - _ZTI39QDeclarativeNetworkAccessManagerFactory @ 3130 NONAME - _ZTI7QPacket @ 3131 NONAME - _ZTV15QDeclarativePen @ 3132 NONAME - _ZTV15QDeclarativeRow @ 3133 NONAME - _ZTV15QPacketAutoSend @ 3134 NONAME - _ZTV15QPacketProtocol @ 3135 NONAME - _ZTV16QDeclarativeBind @ 3136 NONAME - _ZTV16QDeclarativeDrag @ 3137 NONAME - _ZTV16QDeclarativeFlow @ 3138 NONAME - _ZTV16QDeclarativeGrid @ 3139 NONAME - _ZTV16QDeclarativeItem @ 3140 NONAME - _ZTV16QDeclarativePath @ 3141 NONAME - _ZTV16QDeclarativeText @ 3142 NONAME - _ZTV16QDeclarativeView @ 3143 NONAME - _ZTV17QDeclarativeCurve @ 3144 NONAME - _ZTV17QDeclarativeImage @ 3145 NONAME - _ZTV17QDeclarativeState @ 3146 NONAME - _ZTV17QDeclarativeTimer @ 3147 NONAME - _ZTV18QDeclarativeColumn @ 3148 NONAME - _ZTV18QDeclarativeEngine @ 3149 NONAME - _ZTV18QDeclarativeLoader @ 3150 NONAME - _ZTV18QMetaObjectBuilder @ 3151 NONAME - _ZTV19QDeclarativeAnchors @ 3152 NONAME - _ZTV19QDeclarativeContext @ 3153 NONAME - _ZTV19QDeclarativeWebPage @ 3154 NONAME - _ZTV19QDeclarativeWebView @ 3155 NONAME - _ZTV19QListModelInterface @ 3156 NONAME - _ZTV20QDeclarativeBehavior @ 3157 NONAME - _ZTV20QDeclarativeFlipable @ 3158 NONAME - _ZTV20QDeclarativeGradient @ 3159 NONAME - _ZTV20QDeclarativeGridView @ 3160 NONAME - _ZTV20QDeclarativeListView @ 3161 NONAME - _ZTV20QDeclarativePathLine @ 3162 NONAME - _ZTV20QDeclarativePathQuad @ 3163 NONAME - _ZTV20QDeclarativePathView @ 3164 NONAME - _ZTV20QDeclarativeRepeater @ 3165 NONAME - _ZTV20QDeclarativeTextEdit @ 3166 NONAME - _ZTV21QDeclarativeComponent @ 3167 NONAME - _ZTV21QDeclarativeFlickable @ 3168 NONAME - _ZTV21QDeclarativeImageBase @ 3169 NONAME - _ZTV21QDeclarativeListModel @ 3170 NONAME - _ZTV21QDeclarativeMouseArea @ 3171 NONAME - _ZTV21QDeclarativeParticles @ 3172 NONAME - _ZTV21QDeclarativePathCubic @ 3173 NONAME - _ZTV21QDeclarativeRectangle @ 3174 NONAME - _ZTV21QDeclarativeScaleGrid @ 3175 NONAME - _ZTV21QDeclarativeTextInput @ 3176 NONAME - _ZTV21QDeclarativeValueType @ 3177 NONAME - _ZTV22QDeclarativeDebugQuery @ 3178 NONAME - _ZTV22QDeclarativeDebugWatch @ 3179 NONAME - _ZTV22QDeclarativeEaseFollow @ 3180 NONAME - _ZTV22QDeclarativeExpression @ 3181 NONAME - _ZTV22QDeclarativeFocusPanel @ 3182 NONAME - _ZTV22QDeclarativeFocusScope @ 3183 NONAME - _ZTV22QDeclarativeFontLoader @ 3184 NONAME - _ZTV22QDeclarativeStateGroup @ 3185 NONAME - _ZTV22QDeclarativeTransition @ 3186 NONAME - _ZTV23QDeclarativeBorderImage @ 3187 NONAME - _ZTV23QDeclarativeConnections @ 3188 NONAME - _ZTV23QDeclarativeDebugClient @ 3189 NONAME - _ZTV23QDeclarativeEngineDebug @ 3190 NONAME - _ZTV23QDeclarativePaintedItem @ 3191 NONAME - _ZTV23QDeclarativePathElement @ 3192 NONAME - _ZTV23QDeclarativePathPercent @ 3193 NONAME - _ZTV23QDeclarativePixmapReply @ 3194 NONAME - _ZTV23QDeclarativePropertyMap @ 3195 NONAME - _ZTV23QDeclarativeViewSection @ 3196 NONAME - _ZTV23QDeclarativeVisualModel @ 3197 NONAME - _ZTV24QDeclarativeCustomParser @ 3198 NONAME - _ZTV24QDeclarativeDebugService @ 3199 NONAME - _ZTV24QDeclarativeGradientStop @ 3200 NONAME - _ZTV24QDeclarativeParentChange @ 3201 NONAME - _ZTV24QDeclarativeParserStatus @ 3202 NONAME - _ZTV24QDeclarativeSpringFollow @ 3203 NONAME - _ZTV24QDeclarativeXmlListModel @ 3204 NONAME - _ZTV25QDeclarativeAnchorChanges @ 3205 NONAME - _ZTV25QDeclarativeAnimatedImage @ 3206 NONAME - _ZTV25QDeclarativeImageProvider @ 3207 NONAME - _ZTV25QDeclarativePathAttribute @ 3208 NONAME - _ZTV25QDeclarativeSystemPalette @ 3209 NONAME - _ZTV26QDeclarativeBasePositioner @ 3210 NONAME - _ZTV26QDeclarativeContextPrivate @ 3211 NONAME - _ZTV26QDeclarativeDebuggerStatus @ 3212 NONAME - _ZTV26QDeclarativeOpenMetaObject @ 3213 NONAME - _ZTV26QDeclarativeParticleMotion @ 3214 NONAME - _ZTV26QDeclarativeStateOperation @ 3215 NONAME - _ZTV27QDeclarativeDebugConnection @ 3216 NONAME - _ZTV27QDeclarativeExtensionPlugin @ 3217 NONAME - _ZTV27QDeclarativeNumberFormatter @ 3218 NONAME - _ZTV27QDeclarativePropertyChanges @ 3219 NONAME - _ZTV27QDeclarativeVisualDataModel @ 3220 NONAME - _ZTV27QDeclarativeVisualItemModel @ 3221 NONAME - _ZTV28QDeclarativeDebugObjectQuery @ 3222 NONAME - _ZTV28QDeclarativeXmlListModelRole @ 3223 NONAME - _ZTV29QDeclarativeDateTimeFormatter @ 3224 NONAME - _ZTV29QDeclarativeDebugEnginesQuery @ 3225 NONAME - _ZTV29QDeclarativeStateChangeScript @ 3226 NONAME - _ZTV30QDeclarativeDebugPropertyWatch @ 3227 NONAME - _ZTV30QDeclarativeOpenMetaObjectType @ 3228 NONAME - _ZTV31QDeclarativePropertyValueSource @ 3229 NONAME - _ZTV32QDeclarativeDebugExpressionQuery @ 3230 NONAME - _ZTV32QDeclarativeParticleMotionLinear @ 3231 NONAME - _ZTV32QDeclarativeParticleMotionWander @ 3232 NONAME - _ZTV33QDeclarativeDebugRootContextQuery @ 3233 NONAME - _ZTV33QDeclarativeParticleMotionGravity @ 3234 NONAME - _ZTV35QDeclarativeGraphicsObjectContainer @ 3235 NONAME - _ZTV36QDeclarativePropertyValueInterceptor @ 3236 NONAME - _ZTV38QDeclarativeDebugObjectExpressionWatch @ 3237 NONAME - _ZTV39QDeclarativeNetworkAccessManagerFactory @ 3238 NONAME - _ZTV7QPacket @ 3239 NONAME - _ZThn16_N16QDeclarativeItem10classBeginEv @ 3240 NONAME - _ZThn16_N16QDeclarativeItem17componentCompleteEv @ 3241 NONAME - _ZThn16_N16QDeclarativeItemD0Ev @ 3242 NONAME - _ZThn16_N16QDeclarativeItemD1Ev @ 3243 NONAME - _ZThn16_N16QDeclarativeText17componentCompleteEv @ 3244 NONAME - _ZThn16_N16QDeclarativeTextD0Ev @ 3245 NONAME - _ZThn16_N16QDeclarativeTextD1Ev @ 3246 NONAME - _ZThn16_N17QDeclarativeImageD0Ev @ 3247 NONAME - _ZThn16_N17QDeclarativeImageD1Ev @ 3248 NONAME - _ZThn16_N18QDeclarativeLoaderD0Ev @ 3249 NONAME - _ZThn16_N18QDeclarativeLoaderD1Ev @ 3250 NONAME - _ZThn16_N19QDeclarativeWebView17componentCompleteEv @ 3251 NONAME - _ZThn16_N19QDeclarativeWebViewD0Ev @ 3252 NONAME - _ZThn16_N19QDeclarativeWebViewD1Ev @ 3253 NONAME - _ZThn16_N20QDeclarativeFlipableD0Ev @ 3254 NONAME - _ZThn16_N20QDeclarativeFlipableD1Ev @ 3255 NONAME - _ZThn16_N20QDeclarativeGridView17componentCompleteEv @ 3256 NONAME - _ZThn16_N20QDeclarativeGridViewD0Ev @ 3257 NONAME - _ZThn16_N20QDeclarativeGridViewD1Ev @ 3258 NONAME - _ZThn16_N20QDeclarativeListView17componentCompleteEv @ 3259 NONAME - _ZThn16_N20QDeclarativeListViewD0Ev @ 3260 NONAME - _ZThn16_N20QDeclarativeListViewD1Ev @ 3261 NONAME - _ZThn16_N20QDeclarativePathView17componentCompleteEv @ 3262 NONAME - _ZThn16_N20QDeclarativePathViewD0Ev @ 3263 NONAME - _ZThn16_N20QDeclarativePathViewD1Ev @ 3264 NONAME - _ZThn16_N20QDeclarativeRepeater17componentCompleteEv @ 3265 NONAME - _ZThn16_N20QDeclarativeRepeaterD0Ev @ 3266 NONAME - _ZThn16_N20QDeclarativeRepeaterD1Ev @ 3267 NONAME - _ZThn16_N20QDeclarativeTextEdit17componentCompleteEv @ 3268 NONAME - _ZThn16_N21QDeclarativeFlickableD0Ev @ 3269 NONAME - _ZThn16_N21QDeclarativeFlickableD1Ev @ 3270 NONAME - _ZThn16_N21QDeclarativeImageBase17componentCompleteEv @ 3271 NONAME - _ZThn16_N21QDeclarativeImageBaseD0Ev @ 3272 NONAME - _ZThn16_N21QDeclarativeImageBaseD1Ev @ 3273 NONAME - _ZThn16_N21QDeclarativeMouseAreaD0Ev @ 3274 NONAME - _ZThn16_N21QDeclarativeMouseAreaD1Ev @ 3275 NONAME - _ZThn16_N21QDeclarativeParticles17componentCompleteEv @ 3276 NONAME - _ZThn16_N21QDeclarativeParticlesD0Ev @ 3277 NONAME - _ZThn16_N21QDeclarativeParticlesD1Ev @ 3278 NONAME - _ZThn16_N21QDeclarativeTextInputD0Ev @ 3279 NONAME - _ZThn16_N21QDeclarativeTextInputD1Ev @ 3280 NONAME - _ZThn16_N22QDeclarativeFocusPanelD0Ev @ 3281 NONAME - _ZThn16_N22QDeclarativeFocusPanelD1Ev @ 3282 NONAME - _ZThn16_N22QDeclarativeFocusScopeD0Ev @ 3283 NONAME - _ZThn16_N22QDeclarativeFocusScopeD1Ev @ 3284 NONAME - _ZThn16_N23QDeclarativeBorderImageD0Ev @ 3285 NONAME - _ZThn16_N23QDeclarativeBorderImageD1Ev @ 3286 NONAME - _ZThn16_N23QDeclarativePaintedItemD0Ev @ 3287 NONAME - _ZThn16_N23QDeclarativePaintedItemD1Ev @ 3288 NONAME - _ZThn16_N25QDeclarativeAnimatedImage17componentCompleteEv @ 3289 NONAME - _ZThn16_N25QDeclarativeAnimatedImageD0Ev @ 3290 NONAME - _ZThn16_N25QDeclarativeAnimatedImageD1Ev @ 3291 NONAME - _ZThn16_N26QDeclarativeBasePositioner17componentCompleteEv @ 3292 NONAME - _ZThn16_N26QDeclarativeBasePositionerD0Ev @ 3293 NONAME - _ZThn16_N26QDeclarativeBasePositionerD1Ev @ 3294 NONAME - _ZThn16_N35QDeclarativeGraphicsObjectContainerD0Ev @ 3295 NONAME - _ZThn16_N35QDeclarativeGraphicsObjectContainerD1Ev @ 3296 NONAME - _ZThn8_N16QDeclarativeBind17componentCompleteEv @ 3297 NONAME - _ZThn8_N16QDeclarativeBindD0Ev @ 3298 NONAME - _ZThn8_N16QDeclarativeBindD1Ev @ 3299 NONAME - _ZThn8_N16QDeclarativeItem10itemChangeEN13QGraphicsItem18GraphicsItemChangeERK8QVariant @ 3300 NONAME - _ZThn8_N16QDeclarativeItem10sceneEventEP6QEvent @ 3301 NONAME - _ZThn8_N16QDeclarativeItem13keyPressEventEP9QKeyEvent @ 3302 NONAME - _ZThn8_N16QDeclarativeItem15keyReleaseEventEP9QKeyEvent @ 3303 NONAME - _ZThn8_N16QDeclarativeItem16inputMethodEventEP17QInputMethodEvent @ 3304 NONAME - _ZThn8_N16QDeclarativeItem5paintEP8QPainterPK24QStyleOptionGraphicsItemP7QWidget @ 3305 NONAME - _ZThn8_N16QDeclarativeItemD0Ev @ 3306 NONAME - _ZThn8_N16QDeclarativeItemD1Ev @ 3307 NONAME - _ZThn8_N16QDeclarativePath17componentCompleteEv @ 3308 NONAME - _ZThn8_N16QDeclarativePathD0Ev @ 3309 NONAME - _ZThn8_N16QDeclarativePathD1Ev @ 3310 NONAME - _ZThn8_N16QDeclarativeText15mousePressEventEP24QGraphicsSceneMouseEvent @ 3311 NONAME - _ZThn8_N16QDeclarativeText17mouseReleaseEventEP24QGraphicsSceneMouseEvent @ 3312 NONAME - _ZThn8_N16QDeclarativeText5paintEP8QPainterPK24QStyleOptionGraphicsItemP7QWidget @ 3313 NONAME - _ZThn8_N16QDeclarativeTextD0Ev @ 3314 NONAME - _ZThn8_N16QDeclarativeTextD1Ev @ 3315 NONAME - _ZThn8_N16QDeclarativeViewD0Ev @ 3316 NONAME - _ZThn8_N16QDeclarativeViewD1Ev @ 3317 NONAME - _ZThn8_N17QDeclarativeImage5paintEP8QPainterPK24QStyleOptionGraphicsItemP7QWidget @ 3318 NONAME - _ZThn8_N17QDeclarativeImageD0Ev @ 3319 NONAME - _ZThn8_N17QDeclarativeImageD1Ev @ 3320 NONAME - _ZThn8_N17QDeclarativeTimer10classBeginEv @ 3321 NONAME - _ZThn8_N17QDeclarativeTimer17componentCompleteEv @ 3322 NONAME - _ZThn8_N18QDeclarativeLoader10itemChangeEN13QGraphicsItem18GraphicsItemChangeERK8QVariant @ 3323 NONAME - _ZThn8_N18QDeclarativeLoaderD0Ev @ 3324 NONAME - _ZThn8_N18QDeclarativeLoaderD1Ev @ 3325 NONAME - _ZThn8_N19QDeclarativeWebView10sceneEventEP6QEvent @ 3326 NONAME - _ZThn8_N19QDeclarativeWebView13keyPressEventEP9QKeyEvent @ 3327 NONAME - _ZThn8_N19QDeclarativeWebView14hoverMoveEventEP24QGraphicsSceneHoverEvent @ 3328 NONAME - _ZThn8_N19QDeclarativeWebView14mouseMoveEventEP24QGraphicsSceneMouseEvent @ 3329 NONAME - _ZThn8_N19QDeclarativeWebView15keyReleaseEventEP9QKeyEvent @ 3330 NONAME - _ZThn8_N19QDeclarativeWebView15mousePressEventEP24QGraphicsSceneMouseEvent @ 3331 NONAME - _ZThn8_N19QDeclarativeWebView17mouseReleaseEventEP24QGraphicsSceneMouseEvent @ 3332 NONAME - _ZThn8_N19QDeclarativeWebView21mouseDoubleClickEventEP24QGraphicsSceneMouseEvent @ 3333 NONAME - _ZThn8_N19QDeclarativeWebViewD0Ev @ 3334 NONAME - _ZThn8_N19QDeclarativeWebViewD1Ev @ 3335 NONAME - _ZThn8_N20QDeclarativeBehavior5writeERK8QVariant @ 3336 NONAME - _ZThn8_N20QDeclarativeBehavior9setTargetERK20QDeclarativeProperty @ 3337 NONAME - _ZThn8_N20QDeclarativeBehaviorD0Ev @ 3338 NONAME - _ZThn8_N20QDeclarativeBehaviorD1Ev @ 3339 NONAME - _ZThn8_N20QDeclarativeFlipableD0Ev @ 3340 NONAME - _ZThn8_N20QDeclarativeFlipableD1Ev @ 3341 NONAME - _ZThn8_N20QDeclarativeGridView13keyPressEventEP9QKeyEvent @ 3342 NONAME - _ZThn8_N20QDeclarativeGridViewD0Ev @ 3343 NONAME - _ZThn8_N20QDeclarativeGridViewD1Ev @ 3344 NONAME - _ZThn8_N20QDeclarativeListView13keyPressEventEP9QKeyEvent @ 3345 NONAME - _ZThn8_N20QDeclarativeListViewD0Ev @ 3346 NONAME - _ZThn8_N20QDeclarativeListViewD1Ev @ 3347 NONAME - _ZThn8_N20QDeclarativePathView14mouseMoveEventEP24QGraphicsSceneMouseEvent @ 3348 NONAME - _ZThn8_N20QDeclarativePathView15mousePressEventEP24QGraphicsSceneMouseEvent @ 3349 NONAME - _ZThn8_N20QDeclarativePathView16sceneEventFilterEP13QGraphicsItemP6QEvent @ 3350 NONAME - _ZThn8_N20QDeclarativePathView17mouseReleaseEventEP24QGraphicsSceneMouseEvent @ 3351 NONAME - _ZThn8_N20QDeclarativePathViewD0Ev @ 3352 NONAME - _ZThn8_N20QDeclarativePathViewD1Ev @ 3353 NONAME - _ZThn8_N20QDeclarativeRepeater10itemChangeEN13QGraphicsItem18GraphicsItemChangeERK8QVariant @ 3354 NONAME - _ZThn8_N20QDeclarativeRepeaterD0Ev @ 3355 NONAME - _ZThn8_N20QDeclarativeRepeaterD1Ev @ 3356 NONAME - _ZThn8_N20QDeclarativeTextEdit13keyPressEventEP9QKeyEvent @ 3357 NONAME - _ZThn8_N20QDeclarativeTextEdit14mouseMoveEventEP24QGraphicsSceneMouseEvent @ 3358 NONAME - _ZThn8_N20QDeclarativeTextEdit15keyReleaseEventEP9QKeyEvent @ 3359 NONAME - _ZThn8_N20QDeclarativeTextEdit15mousePressEventEP24QGraphicsSceneMouseEvent @ 3360 NONAME - _ZThn8_N20QDeclarativeTextEdit16inputMethodEventEP17QInputMethodEvent @ 3361 NONAME - _ZThn8_N20QDeclarativeTextEdit17mouseReleaseEventEP24QGraphicsSceneMouseEvent @ 3362 NONAME - _ZThn8_N20QDeclarativeTextEdit21mouseDoubleClickEventEP24QGraphicsSceneMouseEvent @ 3363 NONAME - _ZThn8_N21QDeclarativeFlickable10wheelEventEP24QGraphicsSceneWheelEvent @ 3364 NONAME - _ZThn8_N21QDeclarativeFlickable14mouseMoveEventEP24QGraphicsSceneMouseEvent @ 3365 NONAME - _ZThn8_N21QDeclarativeFlickable15mousePressEventEP24QGraphicsSceneMouseEvent @ 3366 NONAME - _ZThn8_N21QDeclarativeFlickable16sceneEventFilterEP13QGraphicsItemP6QEvent @ 3367 NONAME - _ZThn8_N21QDeclarativeFlickable17mouseReleaseEventEP24QGraphicsSceneMouseEvent @ 3368 NONAME - _ZThn8_N21QDeclarativeFlickableD0Ev @ 3369 NONAME - _ZThn8_N21QDeclarativeFlickableD1Ev @ 3370 NONAME - _ZThn8_N21QDeclarativeImageBaseD0Ev @ 3371 NONAME - _ZThn8_N21QDeclarativeImageBaseD1Ev @ 3372 NONAME - _ZThn8_N21QDeclarativeMouseArea10sceneEventEP6QEvent @ 3373 NONAME - _ZThn8_N21QDeclarativeMouseArea14hoverMoveEventEP24QGraphicsSceneHoverEvent @ 3374 NONAME - _ZThn8_N21QDeclarativeMouseArea14mouseMoveEventEP24QGraphicsSceneMouseEvent @ 3375 NONAME - _ZThn8_N21QDeclarativeMouseArea15hoverEnterEventEP24QGraphicsSceneHoverEvent @ 3376 NONAME - _ZThn8_N21QDeclarativeMouseArea15hoverLeaveEventEP24QGraphicsSceneHoverEvent @ 3377 NONAME - _ZThn8_N21QDeclarativeMouseArea15mousePressEventEP24QGraphicsSceneMouseEvent @ 3378 NONAME - _ZThn8_N21QDeclarativeMouseArea17mouseReleaseEventEP24QGraphicsSceneMouseEvent @ 3379 NONAME - _ZThn8_N21QDeclarativeMouseArea21mouseDoubleClickEventEP24QGraphicsSceneMouseEvent @ 3380 NONAME - _ZThn8_N21QDeclarativeMouseAreaD0Ev @ 3381 NONAME - _ZThn8_N21QDeclarativeMouseAreaD1Ev @ 3382 NONAME - _ZThn8_N21QDeclarativeParticles5paintEP8QPainterPK24QStyleOptionGraphicsItemP7QWidget @ 3383 NONAME - _ZThn8_N21QDeclarativeParticlesD0Ev @ 3384 NONAME - _ZThn8_N21QDeclarativeParticlesD1Ev @ 3385 NONAME - _ZThn8_N21QDeclarativeRectangle5paintEP8QPainterPK24QStyleOptionGraphicsItemP7QWidget @ 3386 NONAME - _ZThn8_N21QDeclarativeTextInput13keyPressEventEP9QKeyEvent @ 3387 NONAME - _ZThn8_N21QDeclarativeTextInput15mousePressEventEP24QGraphicsSceneMouseEvent @ 3388 NONAME - _ZThn8_N21QDeclarativeTextInput17mouseReleaseEventEP24QGraphicsSceneMouseEvent @ 3389 NONAME - _ZThn8_N21QDeclarativeTextInputD0Ev @ 3390 NONAME - _ZThn8_N21QDeclarativeTextInputD1Ev @ 3391 NONAME - _ZThn8_N22QDeclarativeEaseFollow9setTargetERK20QDeclarativeProperty @ 3392 NONAME - _ZThn8_N22QDeclarativeEaseFollowD0Ev @ 3393 NONAME - _ZThn8_N22QDeclarativeEaseFollowD1Ev @ 3394 NONAME - _ZThn8_N22QDeclarativeFocusPanel10sceneEventEP6QEvent @ 3395 NONAME - _ZThn8_N22QDeclarativeFocusPanelD0Ev @ 3396 NONAME - _ZThn8_N22QDeclarativeFocusPanelD1Ev @ 3397 NONAME - _ZThn8_N22QDeclarativeFocusScopeD0Ev @ 3398 NONAME - _ZThn8_N22QDeclarativeFocusScopeD1Ev @ 3399 NONAME - _ZThn8_N22QDeclarativeStateGroup10classBeginEv @ 3400 NONAME - _ZThn8_N22QDeclarativeStateGroup17componentCompleteEv @ 3401 NONAME - _ZThn8_N22QDeclarativeStateGroupD0Ev @ 3402 NONAME - _ZThn8_N22QDeclarativeStateGroupD1Ev @ 3403 NONAME - _ZThn8_N23QDeclarativeBorderImage5paintEP8QPainterPK24QStyleOptionGraphicsItemP7QWidget @ 3404 NONAME - _ZThn8_N23QDeclarativeBorderImageD0Ev @ 3405 NONAME - _ZThn8_N23QDeclarativeBorderImageD1Ev @ 3406 NONAME - _ZThn8_N23QDeclarativeConnections17componentCompleteEv @ 3407 NONAME - _ZThn8_N23QDeclarativeConnectionsD0Ev @ 3408 NONAME - _ZThn8_N23QDeclarativeConnectionsD1Ev @ 3409 NONAME - _ZThn8_N23QDeclarativePaintedItem5paintEP8QPainterPK24QStyleOptionGraphicsItemP7QWidget @ 3410 NONAME - _ZThn8_N23QDeclarativePaintedItemD0Ev @ 3411 NONAME - _ZThn8_N23QDeclarativePaintedItemD1Ev @ 3412 NONAME - _ZThn8_N24QDeclarativeParentChange12isReversableEv @ 3413 NONAME - _ZThn8_N24QDeclarativeParentChange13saveOriginalsEv @ 3414 NONAME - _ZThn8_N24QDeclarativeParentChange17saveCurrentValuesEv @ 3415 NONAME - _ZThn8_N24QDeclarativeParentChange6rewindEv @ 3416 NONAME - _ZThn8_N24QDeclarativeParentChange7executeEv @ 3417 NONAME - _ZThn8_N24QDeclarativeParentChange7reverseEv @ 3418 NONAME - _ZThn8_N24QDeclarativeParentChange8overrideEP23QDeclarativeActionEvent @ 3419 NONAME - _ZThn8_N24QDeclarativeParentChangeD0Ev @ 3420 NONAME - _ZThn8_N24QDeclarativeParentChangeD1Ev @ 3421 NONAME - _ZThn8_N24QDeclarativeSpringFollow9setTargetERK20QDeclarativeProperty @ 3422 NONAME - _ZThn8_N24QDeclarativeSpringFollowD0Ev @ 3423 NONAME - _ZThn8_N24QDeclarativeSpringFollowD1Ev @ 3424 NONAME - _ZThn8_N24QDeclarativeXmlListModel10classBeginEv @ 3425 NONAME - _ZThn8_N24QDeclarativeXmlListModel17componentCompleteEv @ 3426 NONAME - _ZThn8_N24QDeclarativeXmlListModelD0Ev @ 3427 NONAME - _ZThn8_N24QDeclarativeXmlListModelD1Ev @ 3428 NONAME - _ZThn8_N25QDeclarativeAnchorChanges12extraActionsEv @ 3429 NONAME - _ZThn8_N25QDeclarativeAnchorChanges12isReversableEv @ 3430 NONAME - _ZThn8_N25QDeclarativeAnchorChanges13saveOriginalsEv @ 3431 NONAME - _ZThn8_N25QDeclarativeAnchorChanges15changesBindingsEv @ 3432 NONAME - _ZThn8_N25QDeclarativeAnchorChanges17saveCurrentValuesEv @ 3433 NONAME - _ZThn8_N25QDeclarativeAnchorChanges20clearForwardBindingsEv @ 3434 NONAME - _ZThn8_N25QDeclarativeAnchorChanges20clearReverseBindingsEv @ 3435 NONAME - _ZThn8_N25QDeclarativeAnchorChanges6rewindEv @ 3436 NONAME - _ZThn8_N25QDeclarativeAnchorChanges7executeEv @ 3437 NONAME - _ZThn8_N25QDeclarativeAnchorChanges7reverseEv @ 3438 NONAME - _ZThn8_N25QDeclarativeAnchorChanges8overrideEP23QDeclarativeActionEvent @ 3439 NONAME - _ZThn8_N25QDeclarativeAnchorChangesD0Ev @ 3440 NONAME - _ZThn8_N25QDeclarativeAnchorChangesD1Ev @ 3441 NONAME - _ZThn8_N25QDeclarativeAnimatedImageD0Ev @ 3442 NONAME - _ZThn8_N25QDeclarativeAnimatedImageD1Ev @ 3443 NONAME - _ZThn8_N26QDeclarativeBasePositioner10itemChangeEN13QGraphicsItem18GraphicsItemChangeERK8QVariant @ 3444 NONAME - _ZThn8_N26QDeclarativeBasePositionerD0Ev @ 3445 NONAME - _ZThn8_N26QDeclarativeBasePositionerD1Ev @ 3446 NONAME - _ZThn8_N27QDeclarativeExtensionPlugin16initializeEngineEP18QDeclarativeEnginePKc @ 3447 NONAME - _ZThn8_N27QDeclarativeExtensionPluginD0Ev @ 3448 NONAME - _ZThn8_N27QDeclarativeExtensionPluginD1Ev @ 3449 NONAME - _ZThn8_N27QDeclarativeNumberFormatter10classBeginEv @ 3450 NONAME - _ZThn8_N27QDeclarativeNumberFormatter17componentCompleteEv @ 3451 NONAME - _ZThn8_N27QDeclarativeNumberFormatterD0Ev @ 3452 NONAME - _ZThn8_N27QDeclarativeNumberFormatterD1Ev @ 3453 NONAME - _ZThn8_N29QDeclarativeDateTimeFormatter10classBeginEv @ 3454 NONAME - _ZThn8_N29QDeclarativeDateTimeFormatter17componentCompleteEv @ 3455 NONAME - _ZThn8_N29QDeclarativeDateTimeFormatterD0Ev @ 3456 NONAME - _ZThn8_N29QDeclarativeDateTimeFormatterD1Ev @ 3457 NONAME - _ZThn8_N29QDeclarativeStateChangeScript7executeEv @ 3458 NONAME - _ZThn8_N29QDeclarativeStateChangeScriptD0Ev @ 3459 NONAME - _ZThn8_N29QDeclarativeStateChangeScriptD1Ev @ 3460 NONAME - _ZThn8_N35QDeclarativeGraphicsObjectContainer10itemChangeEN13QGraphicsItem18GraphicsItemChangeERK8QVariant @ 3461 NONAME - _ZThn8_N35QDeclarativeGraphicsObjectContainerD0Ev @ 3462 NONAME - _ZThn8_N35QDeclarativeGraphicsObjectContainerD1Ev @ 3463 NONAME - _ZThn8_NK16QDeclarativeItem12boundingRectEv @ 3464 NONAME - _ZThn8_NK16QDeclarativeItem16inputMethodQueryEN2Qt16InputMethodQueryE @ 3465 NONAME - _ZThn8_NK20QDeclarativeTextEdit16inputMethodQueryEN2Qt16InputMethodQueryE @ 3466 NONAME - _ZThn8_NK21QDeclarativeRectangle12boundingRectEv @ 3467 NONAME - _ZThn8_NK21QDeclarativeTextInput16inputMethodQueryEN2Qt16InputMethodQueryE @ 3468 NONAME - _ZThn8_NK24QDeclarativeParentChange8typeNameEv @ 3469 NONAME - _ZThn8_NK25QDeclarativeAnchorChanges8typeNameEv @ 3470 NONAME - _ZThn8_NK29QDeclarativeStateChangeScript8typeNameEv @ 3471 NONAME - _Zls6QDebugP16QDeclarativeItem @ 3472 NONAME - _Zls6QDebugRK17QDeclarativeError @ 3473 NONAME - _ZlsR11QDataStreamRKN29QDeclarativeEngineDebugServer22QDeclarativeObjectDataE @ 3474 NONAME - _ZlsR11QDataStreamRKN29QDeclarativeEngineDebugServer26QDeclarativeObjectPropertyE @ 3475 NONAME - _ZrsR11QDataStreamRN29QDeclarativeEngineDebugServer22QDeclarativeObjectDataE @ 3476 NONAME - _ZrsR11QDataStreamRN29QDeclarativeEngineDebugServer26QDeclarativeObjectPropertyE @ 3477 NONAME - _ZN19QDeclarativeBinding10setEnabledEb6QFlagsIN27QDeclarativePropertyPrivate9WriteFlagEE @ 3478 NONAME - _ZN19QDeclarativeBinding11qt_metacallEN11QMetaObject4CallEiPPv @ 3479 NONAME - _ZN19QDeclarativeBinding11qt_metacastEPKc @ 3480 NONAME - _ZN19QDeclarativeBinding13propertyIndexEv @ 3481 NONAME - _ZN19QDeclarativeBinding16staticMetaObjectE @ 3482 NONAME DATA 16 - _ZN19QDeclarativeBinding19getStaticMetaObjectEv @ 3483 NONAME - _ZN19QDeclarativeBinding6updateE6QFlagsIN27QDeclarativePropertyPrivate9WriteFlagEE @ 3484 NONAME - _ZN19QDeclarativeBinding9setTargetERK20QDeclarativeProperty @ 3485 NONAME - _ZN19QDeclarativeBindingC1EPvP20QDeclarativeRefCountP7QObjectP19QDeclarativeContextRK7QStringiS4_ @ 3486 NONAME - _ZN19QDeclarativeBindingC1ERK7QStringP7QObjectP19QDeclarativeContextS4_ @ 3487 NONAME - _ZN19QDeclarativeBindingC2EPvP20QDeclarativeRefCountP7QObjectP19QDeclarativeContextRK7QStringiS4_ @ 3488 NONAME - _ZN19QDeclarativeBindingC2ERK7QStringP7QObjectP19QDeclarativeContextS4_ @ 3489 NONAME - _ZN19QDeclarativeBindingD0Ev @ 3490 NONAME - _ZN19QDeclarativeBindingD1Ev @ 3491 NONAME - _ZN19QDeclarativeBindingD2Ev @ 3492 NONAME - _ZN27QDeclarativeAbstractBinding10setEnabledEb6QFlagsIN27QDeclarativePropertyPrivate9WriteFlagEE @ 3493 NONAME - _ZN27QDeclarativeAbstractBinding11addToObjectEP7QObject @ 3494 NONAME - _ZN27QDeclarativeAbstractBinding16removeFromObjectEv @ 3495 NONAME - _ZN27QDeclarativeAbstractBinding5clearEv @ 3496 NONAME - _ZN27QDeclarativeAbstractBinding7destroyEv @ 3497 NONAME - _ZN27QDeclarativeAbstractBindingC2Ev @ 3498 NONAME - _ZN27QDeclarativeAbstractBindingD0Ev @ 3499 NONAME - _ZN27QDeclarativeAbstractBindingD1Ev @ 3500 NONAME - _ZN27QDeclarativeAbstractBindingD2Ev @ 3501 NONAME - _ZN27QDeclarativePropertyPrivate10canConvertEPK11QMetaObjectS2_ @ 3502 NONAME - _ZN27QDeclarativePropertyPrivate10setBindingEP7QObjectRKN25QDeclarativePropertyCache4DataEP27QDeclarativeAbstractBinding6QFlagsINS_9WriteFlagEE @ 3503 NONAME - _ZN27QDeclarativePropertyPrivate10setBindingERK20QDeclarativePropertyP27QDeclarativeAbstractBinding6QFlagsINS_9WriteFlagEE @ 3504 NONAME - _ZN27QDeclarativePropertyPrivate11initDefaultEP7QObject @ 3505 NONAME - _ZN27QDeclarativePropertyPrivate12initPropertyEP7QObjectRK7QString @ 3506 NONAME - _ZN27QDeclarativePropertyPrivate12savePropertyEPK11QMetaObjecti @ 3507 NONAME - _ZN27QDeclarativePropertyPrivate13saveValueTypeEPK11QMetaObjectiS2_i @ 3508 NONAME - _ZN27QDeclarativePropertyPrivate16signalExpressionERK20QDeclarativeProperty @ 3509 NONAME - _ZN27QDeclarativePropertyPrivate17readValuePropertyEv @ 3510 NONAME - _ZN27QDeclarativePropertyPrivate17writeEnumPropertyERK13QMetaPropertyiP7QObjectRK8QVarianti @ 3511 NONAME - _ZN27QDeclarativePropertyPrivate18valueTypeCoreIndexERK20QDeclarativeProperty @ 3512 NONAME - _ZN27QDeclarativePropertyPrivate18writeValuePropertyERK8QVariant6QFlagsINS_9WriteFlagEE @ 3513 NONAME - _ZN27QDeclarativePropertyPrivate19setSignalExpressionERK20QDeclarativePropertyP22QDeclarativeExpression @ 3514 NONAME - _ZN27QDeclarativePropertyPrivate20rawMetaObjectForTypeEP25QDeclarativeEnginePrivatei @ 3515 NONAME - _ZN27QDeclarativePropertyPrivate5equalEPK11QMetaObjectS2_ @ 3516 NONAME - _ZN27QDeclarativePropertyPrivate5writeEP7QObjectRKN25QDeclarativePropertyCache4DataERK8QVariantP19QDeclarativeContext6QFlagsINS_9WriteFlagEE @ 3517 NONAME - _ZN27QDeclarativePropertyPrivate5writeERK20QDeclarativePropertyRK8QVariant6QFlagsINS_9WriteFlagEE @ 3518 NONAME - _ZN27QDeclarativePropertyPrivate7bindingERK20QDeclarativeProperty @ 3519 NONAME - _ZN27QDeclarativePropertyPrivate7restoreERK10QByteArrayP7QObjectP19QDeclarativeContext @ 3520 NONAME - _ZNK19QDeclarativeBinding10expressionEv @ 3521 NONAME - _ZNK19QDeclarativeBinding10metaObjectEv @ 3522 NONAME - _ZNK19QDeclarativeBinding7enabledEv @ 3523 NONAME - _ZNK19QDeclarativeBinding8propertyEv @ 3524 NONAME - _ZNK27QDeclarativeAbstractBinding10expressionEv @ 3525 NONAME - _ZNK27QDeclarativePropertyPrivate11isValueTypeEv @ 3526 NONAME - _ZNK27QDeclarativePropertyPrivate12propertyTypeEv @ 3527 NONAME - _ZNK27QDeclarativePropertyPrivate20propertyTypeCategoryEv @ 3528 NONAME - _ZTI19QDeclarativeBinding @ 3529 NONAME - _ZTI27QDeclarativeAbstractBinding @ 3530 NONAME - _ZTV19QDeclarativeBinding @ 3531 NONAME - _ZTV27QDeclarativeAbstractBinding @ 3532 NONAME - _ZThn8_N19QDeclarativeBinding10setEnabledEb6QFlagsIN27QDeclarativePropertyPrivate9WriteFlagEE @ 3533 NONAME - _ZThn8_N19QDeclarativeBinding13propertyIndexEv @ 3534 NONAME - _ZThn8_N19QDeclarativeBinding6updateE6QFlagsIN27QDeclarativePropertyPrivate9WriteFlagEE @ 3535 NONAME - _ZThn8_N19QDeclarativeBindingD0Ev @ 3536 NONAME - _ZThn8_N19QDeclarativeBindingD1Ev @ 3537 NONAME - _ZThn8_NK19QDeclarativeBinding10expressionEv @ 3538 NONAME + _ZN17QDeclarativeTimer15intervalChangedEv @ 307 NONAME + _ZN17QDeclarativeTimer16staticMetaObjectE @ 308 NONAME DATA 16 + _ZN17QDeclarativeTimer17componentCompleteEv @ 309 NONAME + _ZN17QDeclarativeTimer19getStaticMetaObjectEv @ 310 NONAME + _ZN17QDeclarativeTimer19setTriggeredOnStartEb @ 311 NONAME + _ZN17QDeclarativeTimer23triggeredOnStartChangedEv @ 312 NONAME + _ZN17QDeclarativeTimer4stopEv @ 313 NONAME + _ZN17QDeclarativeTimer5startEv @ 314 NONAME + _ZN17QDeclarativeTimer6tickedEv @ 315 NONAME + _ZN17QDeclarativeTimer6updateEv @ 316 NONAME + _ZN17QDeclarativeTimer7restartEv @ 317 NONAME + _ZN17QDeclarativeTimer8finishedEv @ 318 NONAME + _ZN17QDeclarativeTimer9triggeredEv @ 319 NONAME + _ZN17QDeclarativeTimerC1EP7QObject @ 320 NONAME + _ZN17QDeclarativeTimerC2EP7QObject @ 321 NONAME + _ZN18QDeclarativeAction17deleteFromBindingEv @ 322 NONAME + _ZN18QDeclarativeActionC1EP7QObjectRK7QStringRK8QVariant @ 323 NONAME + _ZN18QDeclarativeActionC1Ev @ 324 NONAME + _ZN18QDeclarativeActionC2EP7QObjectRK7QStringRK8QVariant @ 325 NONAME + _ZN18QDeclarativeActionC2Ev @ 326 NONAME + _ZN18QDeclarativeColumn11qt_metacallEN11QMetaObject4CallEiPPv @ 327 NONAME + _ZN18QDeclarativeColumn11qt_metacastEPKc @ 328 NONAME + _ZN18QDeclarativeColumn13doPositioningEv @ 329 NONAME + _ZN18QDeclarativeColumn16staticMetaObjectE @ 330 NONAME DATA 16 + _ZN18QDeclarativeColumn19getStaticMetaObjectEv @ 331 NONAME + _ZN18QDeclarativeColumnC1EP16QDeclarativeItem @ 332 NONAME + _ZN18QDeclarativeColumnC2EP16QDeclarativeItem @ 333 NONAME + _ZN18QDeclarativeEngine10setBaseUrlERK4QUrl @ 334 NONAME + _ZN18QDeclarativeEngine11qt_metacallEN11QMetaObject4CallEiPPv @ 335 NONAME + _ZN18QDeclarativeEngine11qt_metacastEPKc @ 336 NONAME + _ZN18QDeclarativeEngine11rootContextEv @ 337 NONAME + _ZN18QDeclarativeEngine13addImportPathERK7QString @ 338 NONAME + _ZN18QDeclarativeEngine15importExtensionERK7QStringS2_ @ 339 NONAME + _ZN18QDeclarativeEngine15objectOwnershipEP7QObject @ 340 NONAME + _ZN18QDeclarativeEngine16addImageProviderERK7QStringP25QDeclarativeImageProvider @ 341 NONAME + _ZN18QDeclarativeEngine16contextForObjectEPK7QObject @ 342 NONAME + _ZN18QDeclarativeEngine16staticMetaObjectE @ 343 NONAME DATA 16 + _ZN18QDeclarativeEngine17setImportPathListERK11QStringList @ 344 NONAME + _ZN18QDeclarativeEngine18setObjectOwnershipEP7QObjectNS_15ObjectOwnershipE @ 345 NONAME + _ZN18QDeclarativeEngine19clearComponentCacheEv @ 346 NONAME + _ZN18QDeclarativeEngine19getStaticMetaObjectEv @ 347 NONAME + _ZN18QDeclarativeEngine19removeImageProviderERK7QString @ 348 NONAME + _ZN18QDeclarativeEngine19setContextForObjectEP7QObjectP19QDeclarativeContext @ 349 NONAME + _ZN18QDeclarativeEngine21setOfflineStoragePathERK7QString @ 350 NONAME + _ZN18QDeclarativeEngine30setNetworkAccessManagerFactoryEP39QDeclarativeNetworkAccessManagerFactory @ 351 NONAME + _ZN18QDeclarativeEngine4quitEv @ 352 NONAME + _ZN18QDeclarativeEngineC1EP7QObject @ 353 NONAME + _ZN18QDeclarativeEngineC2EP7QObject @ 354 NONAME + _ZN18QDeclarativeEngineD0Ev @ 355 NONAME + _ZN18QDeclarativeEngineD1Ev @ 356 NONAME + _ZN18QDeclarativeEngineD2Ev @ 357 NONAME + _ZN18QDeclarativeLoader10itemChangeEN13QGraphicsItem18GraphicsItemChangeERK8QVariant @ 358 NONAME + _ZN18QDeclarativeLoader11eventFilterEP7QObjectP6QEvent @ 359 NONAME + _ZN18QDeclarativeLoader11itemChangedEv @ 360 NONAME + _ZN18QDeclarativeLoader11qt_metacallEN11QMetaObject4CallEiPPv @ 361 NONAME + _ZN18QDeclarativeLoader11qt_metacastEPKc @ 362 NONAME + _ZN18QDeclarativeLoader13setResizeModeENS_10ResizeModeE @ 363 NONAME + _ZN18QDeclarativeLoader13sourceChangedEv @ 364 NONAME + _ZN18QDeclarativeLoader13statusChangedEv @ 365 NONAME + _ZN18QDeclarativeLoader15geometryChangedERK6QRectFS2_ @ 366 NONAME + _ZN18QDeclarativeLoader15progressChangedEv @ 367 NONAME + _ZN18QDeclarativeLoader16staticMetaObjectE @ 368 NONAME DATA 16 + _ZN18QDeclarativeLoader17resizeModeChangedEv @ 369 NONAME + _ZN18QDeclarativeLoader18setSourceComponentEP21QDeclarativeComponent @ 370 NONAME + _ZN18QDeclarativeLoader19getStaticMetaObjectEv @ 371 NONAME + _ZN18QDeclarativeLoader9setSourceERK4QUrl @ 372 NONAME + _ZN18QDeclarativeLoaderC1EP16QDeclarativeItem @ 373 NONAME + _ZN18QDeclarativeLoaderC2EP16QDeclarativeItem @ 374 NONAME + _ZN18QDeclarativeLoaderD0Ev @ 375 NONAME + _ZN18QDeclarativeLoaderD1Ev @ 376 NONAME + _ZN18QDeclarativeLoaderD2Ev @ 377 NONAME + _ZN18QMetaMethodBuilder13setAttributesEi @ 378 NONAME + _ZN18QMetaMethodBuilder13setReturnTypeERK10QByteArray @ 379 NONAME + _ZN18QMetaMethodBuilder17setParameterNamesERK5QListI10QByteArrayE @ 380 NONAME + _ZN18QMetaMethodBuilder6setTagERK10QByteArray @ 381 NONAME + _ZN18QMetaMethodBuilder9setAccessEN11QMetaMethod6AccessE @ 382 NONAME + _ZN18QMetaObjectBuilder11addPropertyERK10QByteArrayS2_i @ 383 NONAME + _ZN18QMetaObjectBuilder11addPropertyERK13QMetaProperty @ 384 NONAME + _ZN18QMetaObjectBuilder11deserializeER11QDataStreamRK4QMapI10QByteArrayPK11QMetaObjectE @ 385 NONAME + _ZN18QMetaObjectBuilder11indexOfSlotERK10QByteArray @ 386 NONAME + _ZN18QMetaObjectBuilder12addClassInfoERK10QByteArrayS2_ @ 387 NONAME + _ZN18QMetaObjectBuilder12removeMethodEi @ 388 NONAME + _ZN18QMetaObjectBuilder12setClassNameERK10QByteArray @ 389 NONAME + _ZN18QMetaObjectBuilder13addEnumeratorERK10QByteArray @ 390 NONAME + _ZN18QMetaObjectBuilder13addEnumeratorERK9QMetaEnum @ 391 NONAME + _ZN18QMetaObjectBuilder13addMetaObjectEPK11QMetaObject6QFlagsINS_9AddMemberEE @ 392 NONAME + _ZN18QMetaObjectBuilder13indexOfMethodERK10QByteArray @ 393 NONAME + _ZN18QMetaObjectBuilder13indexOfSignalERK10QByteArray @ 394 NONAME + _ZN18QMetaObjectBuilder13setSuperClassEPK11QMetaObject @ 395 NONAME + _ZN18QMetaObjectBuilder14addConstructorERK10QByteArray @ 396 NONAME + _ZN18QMetaObjectBuilder14addConstructorERK11QMetaMethod @ 397 NONAME + _ZN18QMetaObjectBuilder14removePropertyEi @ 398 NONAME + _ZN18QMetaObjectBuilder15indexOfPropertyERK10QByteArray @ 399 NONAME + _ZN18QMetaObjectBuilder15removeClassInfoEi @ 400 NONAME + _ZN18QMetaObjectBuilder16indexOfClassInfoERK10QByteArray @ 401 NONAME + _ZN18QMetaObjectBuilder16removeEnumeratorEi @ 402 NONAME + _ZN18QMetaObjectBuilder17indexOfEnumeratorERK10QByteArray @ 403 NONAME + _ZN18QMetaObjectBuilder17removeConstructorEi @ 404 NONAME + _ZN18QMetaObjectBuilder18indexOfConstructorERK10QByteArray @ 405 NONAME + _ZN18QMetaObjectBuilder19fromRelocatableDataEP11QMetaObjectPKS0_RK10QByteArray @ 406 NONAME + _ZN18QMetaObjectBuilder20addRelatedMetaObjectERKPFRK11QMetaObjectvE @ 407 NONAME + _ZN18QMetaObjectBuilder23removeRelatedMetaObjectEi @ 408 NONAME + _ZN18QMetaObjectBuilder25setStaticMetacallFunctionEPFiN11QMetaObject4CallEiPPvE @ 409 NONAME + _ZN18QMetaObjectBuilder7addSlotERK10QByteArray @ 410 NONAME + _ZN18QMetaObjectBuilder8setFlagsE6QFlagsINS_14MetaObjectFlagEE @ 411 NONAME + _ZN18QMetaObjectBuilder9addMethodERK10QByteArray @ 412 NONAME + _ZN18QMetaObjectBuilder9addMethodERK10QByteArrayS2_ @ 413 NONAME + _ZN18QMetaObjectBuilder9addMethodERK11QMetaMethod @ 414 NONAME + _ZN18QMetaObjectBuilder9addSignalERK10QByteArray @ 415 NONAME + _ZN18QMetaObjectBuilderC1EPK11QMetaObject6QFlagsINS_9AddMemberEE @ 416 NONAME + _ZN18QMetaObjectBuilderC1Ev @ 417 NONAME + _ZN18QMetaObjectBuilderC2EPK11QMetaObject6QFlagsINS_9AddMemberEE @ 418 NONAME + _ZN18QMetaObjectBuilderC2Ev @ 419 NONAME + _ZN18QMetaObjectBuilderD0Ev @ 420 NONAME + _ZN18QMetaObjectBuilderD1Ev @ 421 NONAME + _ZN18QMetaObjectBuilderD2Ev @ 422 NONAME + _ZN19QDeclarativeAnchors10classBeginEv @ 423 NONAME + _ZN19QDeclarativeAnchors10resetRightEv @ 424 NONAME + _ZN19QDeclarativeAnchors10setMarginsEf @ 425 NONAME + _ZN19QDeclarativeAnchors10topChangedEv @ 426 NONAME + _ZN19QDeclarativeAnchors11fillChangedEv @ 427 NONAME + _ZN19QDeclarativeAnchors11leftChangedEv @ 428 NONAME + _ZN19QDeclarativeAnchors11qt_metacallEN11QMetaObject4CallEiPPv @ 429 NONAME + _ZN19QDeclarativeAnchors11qt_metacastEPKc @ 430 NONAME + _ZN19QDeclarativeAnchors11resetBottomEv @ 431 NONAME + _ZN19QDeclarativeAnchors11setBaselineERK22QDeclarativeAnchorLine @ 432 NONAME + _ZN19QDeclarativeAnchors11setCenterInEP16QDeclarativeItem @ 433 NONAME + _ZN19QDeclarativeAnchors12rightChangedEv @ 434 NONAME + _ZN19QDeclarativeAnchors12setTopMarginEf @ 435 NONAME + _ZN19QDeclarativeAnchors13bottomChangedEv @ 436 NONAME + _ZN19QDeclarativeAnchors13resetBaselineEv @ 437 NONAME + _ZN19QDeclarativeAnchors13resetCenterInEv @ 438 NONAME + _ZN19QDeclarativeAnchors13setLeftMarginEf @ 439 NONAME + _ZN19QDeclarativeAnchors14marginsChangedEv @ 440 NONAME + _ZN19QDeclarativeAnchors14setRightMarginEf @ 441 NONAME + _ZN19QDeclarativeAnchors15baselineChangedEv @ 442 NONAME + _ZN19QDeclarativeAnchors15centerInChangedEv @ 443 NONAME + _ZN19QDeclarativeAnchors15setBottomMarginEf @ 444 NONAME + _ZN19QDeclarativeAnchors16staticMetaObjectE @ 445 NONAME DATA 16 + _ZN19QDeclarativeAnchors16topMarginChangedEv @ 446 NONAME + _ZN19QDeclarativeAnchors17componentCompleteEv @ 447 NONAME + _ZN19QDeclarativeAnchors17leftMarginChangedEv @ 448 NONAME + _ZN19QDeclarativeAnchors17setBaselineOffsetEf @ 449 NONAME + _ZN19QDeclarativeAnchors17setVerticalCenterERK22QDeclarativeAnchorLine @ 450 NONAME + _ZN19QDeclarativeAnchors18rightMarginChangedEv @ 451 NONAME + _ZN19QDeclarativeAnchors19bottomMarginChangedEv @ 452 NONAME + _ZN19QDeclarativeAnchors19getStaticMetaObjectEv @ 453 NONAME + _ZN19QDeclarativeAnchors19resetVerticalCenterEv @ 454 NONAME + _ZN19QDeclarativeAnchors19setHorizontalCenterERK22QDeclarativeAnchorLine @ 455 NONAME + _ZN19QDeclarativeAnchors21baselineOffsetChangedEv @ 456 NONAME + _ZN19QDeclarativeAnchors21resetHorizontalCenterEv @ 457 NONAME + _ZN19QDeclarativeAnchors21verticalCenterChangedEv @ 458 NONAME + _ZN19QDeclarativeAnchors23horizontalCenterChangedEv @ 459 NONAME + _ZN19QDeclarativeAnchors23setVerticalCenterOffsetEf @ 460 NONAME + _ZN19QDeclarativeAnchors25setHorizontalCenterOffsetEf @ 461 NONAME + _ZN19QDeclarativeAnchors27verticalCenterOffsetChangedEv @ 462 NONAME + _ZN19QDeclarativeAnchors29horizontalCenterOffsetChangedEv @ 463 NONAME + _ZN19QDeclarativeAnchors6setTopERK22QDeclarativeAnchorLine @ 464 NONAME + _ZN19QDeclarativeAnchors7setFillEP16QDeclarativeItem @ 465 NONAME + _ZN19QDeclarativeAnchors7setLeftERK22QDeclarativeAnchorLine @ 466 NONAME + _ZN19QDeclarativeAnchors8resetTopEv @ 467 NONAME + _ZN19QDeclarativeAnchors8setRightERK22QDeclarativeAnchorLine @ 468 NONAME + _ZN19QDeclarativeAnchors9resetFillEv @ 469 NONAME + _ZN19QDeclarativeAnchors9resetLeftEv @ 470 NONAME + _ZN19QDeclarativeAnchors9setBottomERK22QDeclarativeAnchorLine @ 471 NONAME + _ZN19QDeclarativeAnchorsC1EP16QDeclarativeItemP7QObject @ 472 NONAME + _ZN19QDeclarativeAnchorsC1EP7QObject @ 473 NONAME + _ZN19QDeclarativeAnchorsC2EP16QDeclarativeItemP7QObject @ 474 NONAME + _ZN19QDeclarativeAnchorsC2EP7QObject @ 475 NONAME + _ZN19QDeclarativeAnchorsD0Ev @ 476 NONAME + _ZN19QDeclarativeAnchorsD1Ev @ 477 NONAME + _ZN19QDeclarativeAnchorsD2Ev @ 478 NONAME + _ZN19QDeclarativeBinding10setEnabledEb6QFlagsIN27QDeclarativePropertyPrivate9WriteFlagEE @ 479 NONAME + _ZN19QDeclarativeBinding11qt_metacallEN11QMetaObject4CallEiPPv @ 480 NONAME + _ZN19QDeclarativeBinding11qt_metacastEPKc @ 481 NONAME + _ZN19QDeclarativeBinding13propertyIndexEv @ 482 NONAME + _ZN19QDeclarativeBinding16staticMetaObjectE @ 483 NONAME DATA 16 + _ZN19QDeclarativeBinding19getStaticMetaObjectEv @ 484 NONAME + _ZN19QDeclarativeBinding6updateE6QFlagsIN27QDeclarativePropertyPrivate9WriteFlagEE @ 485 NONAME + _ZN19QDeclarativeBinding9setTargetERK20QDeclarativeProperty @ 486 NONAME + _ZN19QDeclarativeBindingC1EPvP20QDeclarativeRefCountP7QObjectP23QDeclarativeContextDataRK7QStringiS4_ @ 487 NONAME + _ZN19QDeclarativeBindingC1ERK7QStringP7QObjectP19QDeclarativeContextS4_ @ 488 NONAME + _ZN19QDeclarativeBindingC1ERK7QStringP7QObjectP23QDeclarativeContextDataS4_ @ 489 NONAME + _ZN19QDeclarativeBindingC2EPvP20QDeclarativeRefCountP7QObjectP23QDeclarativeContextDataRK7QStringiS4_ @ 490 NONAME + _ZN19QDeclarativeBindingC2ERK7QStringP7QObjectP19QDeclarativeContextS4_ @ 491 NONAME + _ZN19QDeclarativeBindingC2ERK7QStringP7QObjectP23QDeclarativeContextDataS4_ @ 492 NONAME + _ZN19QDeclarativeBindingD0Ev @ 493 NONAME + _ZN19QDeclarativeBindingD1Ev @ 494 NONAME + _ZN19QDeclarativeBindingD2Ev @ 495 NONAME + _ZN19QDeclarativeContext10setBaseUrlERK4QUrl @ 496 NONAME + _ZN19QDeclarativeContext11qt_metacallEN11QMetaObject4CallEiPPv @ 497 NONAME + _ZN19QDeclarativeContext11qt_metacastEPKc @ 498 NONAME + _ZN19QDeclarativeContext11resolvedUrlERK4QUrl @ 499 NONAME + _ZN19QDeclarativeContext16setContextObjectEP7QObject @ 500 NONAME + _ZN19QDeclarativeContext16staticMetaObjectE @ 501 NONAME DATA 16 + _ZN19QDeclarativeContext18setContextPropertyERK7QStringP7QObject @ 502 NONAME + _ZN19QDeclarativeContext18setContextPropertyERK7QStringRK8QVariant @ 503 NONAME + _ZN19QDeclarativeContext19getStaticMetaObjectEv @ 504 NONAME + _ZN19QDeclarativeContextC1EP18QDeclarativeEngineP7QObject @ 505 NONAME + _ZN19QDeclarativeContextC1EP18QDeclarativeEngineb @ 506 NONAME + _ZN19QDeclarativeContextC1EP23QDeclarativeContextData @ 507 NONAME + _ZN19QDeclarativeContextC1EPS_P7QObject @ 508 NONAME + _ZN19QDeclarativeContextC2EP18QDeclarativeEngineP7QObject @ 509 NONAME + _ZN19QDeclarativeContextC2EP18QDeclarativeEngineb @ 510 NONAME + _ZN19QDeclarativeContextC2EP23QDeclarativeContextData @ 511 NONAME + _ZN19QDeclarativeContextC2EPS_P7QObject @ 512 NONAME + _ZN19QDeclarativeContextD0Ev @ 513 NONAME + _ZN19QDeclarativeContextD1Ev @ 514 NONAME + _ZN19QDeclarativeContextD2Ev @ 515 NONAME + _ZN19QDeclarativeDomListC1ERKS_ @ 516 NONAME + _ZN19QDeclarativeDomListC1Ev @ 517 NONAME + _ZN19QDeclarativeDomListC2ERKS_ @ 518 NONAME + _ZN19QDeclarativeDomListC2Ev @ 519 NONAME + _ZN19QDeclarativeDomListD1Ev @ 520 NONAME + _ZN19QDeclarativeDomListD2Ev @ 521 NONAME + _ZN19QDeclarativeDomListaSERKS_ @ 522 NONAME + _ZN19QDeclarativePrivate12registerTypeERKNS_12RegisterTypeE @ 523 NONAME + _ZN19QDeclarativePrivate12registerTypeERKNS_17RegisterInterfaceE @ 524 NONAME + _ZN19QListModelInterface10itemsMovedEiii @ 525 NONAME + _ZN19QListModelInterface11qt_metacallEN11QMetaObject4CallEiPPv @ 526 NONAME + _ZN19QListModelInterface11qt_metacastEPKc @ 527 NONAME + _ZN19QListModelInterface12itemsChangedEiiRK5QListIiE @ 528 NONAME + _ZN19QListModelInterface12itemsRemovedEii @ 529 NONAME + _ZN19QListModelInterface13itemsInsertedEii @ 530 NONAME + _ZN19QListModelInterface16staticMetaObjectE @ 531 NONAME DATA 16 + _ZN19QListModelInterface19getStaticMetaObjectEv @ 532 NONAME + _ZN20QDeclarativeBehavior10setEnabledEb @ 533 NONAME + _ZN20QDeclarativeBehavior11qt_metacallEN11QMetaObject4CallEiPPv @ 534 NONAME + _ZN20QDeclarativeBehavior11qt_metacastEPKc @ 535 NONAME + _ZN20QDeclarativeBehavior12setAnimationEP29QDeclarativeAbstractAnimation @ 536 NONAME + _ZN20QDeclarativeBehavior14enabledChangedEv @ 537 NONAME + _ZN20QDeclarativeBehavior16staticMetaObjectE @ 538 NONAME DATA 16 + _ZN20QDeclarativeBehavior19getStaticMetaObjectEv @ 539 NONAME + _ZN20QDeclarativeBehavior5writeERK8QVariant @ 540 NONAME + _ZN20QDeclarativeBehavior9animationEv @ 541 NONAME + _ZN20QDeclarativeBehavior9setTargetERK20QDeclarativeProperty @ 542 NONAME + _ZN20QDeclarativeBehaviorC1EP7QObject @ 543 NONAME + _ZN20QDeclarativeBehaviorC2EP7QObject @ 544 NONAME + _ZN20QDeclarativeBehaviorD0Ev @ 545 NONAME + _ZN20QDeclarativeBehaviorD1Ev @ 546 NONAME + _ZN20QDeclarativeBehaviorD2Ev @ 547 NONAME + _ZN20QDeclarativeCompiler11buildObjectEPN18QDeclarativeParser6ObjectERKNS_14BindingContextE @ 548 NONAME + _ZN20QDeclarativeCompiler11buildScriptEPN18QDeclarativeParser6ObjectES2_ @ 549 NONAME + _ZN20QDeclarativeCompiler11buildSignalEPN18QDeclarativeParser8PropertyEPNS0_6ObjectERKNS_14BindingContextE @ 550 NONAME + _ZN20QDeclarativeCompiler11compileTreeEPN18QDeclarativeParser6ObjectE @ 551 NONAME + _ZN20QDeclarativeCompiler12buildBindingEPN18QDeclarativeParser5ValueEPNS0_8PropertyERKNS_14BindingContextE @ 552 NONAME + _ZN20QDeclarativeCompiler12checkValidIdEPN18QDeclarativeParser5ValueERK7QString @ 553 NONAME + _ZN20QDeclarativeCompiler12compileAliasER18QMetaObjectBuilderR10QByteArrayPN18QDeclarativeParser6ObjectERKNS5_15DynamicPropertyE @ 554 NONAME + _ZN20QDeclarativeCompiler12genComponentEPN18QDeclarativeParser6ObjectE @ 555 NONAME + _ZN20QDeclarativeCompiler13buildPropertyEPN18QDeclarativeParser8PropertyEPNS0_6ObjectERKNS_14BindingContextE @ 556 NONAME + _ZN20QDeclarativeCompiler13genObjectBodyEPN18QDeclarativeParser6ObjectE @ 557 NONAME + _ZN20QDeclarativeCompiler14buildComponentEPN18QDeclarativeParser6ObjectERKNS_14BindingContextE @ 558 NONAME + _ZN20QDeclarativeCompiler14buildSubObjectEPN18QDeclarativeParser6ObjectERKNS_14BindingContextE @ 559 NONAME + _ZN20QDeclarativeCompiler14componentStateEPN18QDeclarativeParser6ObjectE @ 560 NONAME + _ZN20QDeclarativeCompiler15buildIdPropertyEPN18QDeclarativeParser8PropertyEPNS0_6ObjectE @ 561 NONAME + _ZN20QDeclarativeCompiler15genContextCacheEv @ 562 NONAME + _ZN20QDeclarativeCompiler15genListPropertyEPN18QDeclarativeParser8PropertyEPNS0_6ObjectE @ 563 NONAME + _ZN20QDeclarativeCompiler15genPropertyDataEPN18QDeclarativeParser8PropertyE @ 564 NONAME + _ZN20QDeclarativeCompiler16buildDynamicMetaEPN18QDeclarativeParser6ObjectENS_15DynamicMetaModeE @ 565 NONAME + _ZN20QDeclarativeCompiler16checkDynamicMetaEPN18QDeclarativeParser6ObjectE @ 566 NONAME + _ZN20QDeclarativeCompiler16componentTypeRefEv @ 567 NONAME + _ZN20QDeclarativeCompiler16findSignalByNameEPK11QMetaObjectRK10QByteArray @ 568 NONAME + _ZN20QDeclarativeCompiler16genValuePropertyEPN18QDeclarativeParser8PropertyEPNS0_6ObjectE @ 569 NONAME + _ZN20QDeclarativeCompiler16genValueTypeDataEPN18QDeclarativeParser8PropertyES2_ @ 570 NONAME + _ZN20QDeclarativeCompiler17buildListPropertyEPN18QDeclarativeParser8PropertyEPNS0_6ObjectERKNS_14BindingContextE @ 571 NONAME + _ZN20QDeclarativeCompiler17doesPropertyExistEPN18QDeclarativeParser8PropertyEPNS0_6ObjectE @ 572 NONAME + _ZN20QDeclarativeCompiler18deferredPropertiesEPN18QDeclarativeParser6ObjectE @ 573 NONAME + _ZN20QDeclarativeCompiler18saveComponentStateEv @ 574 NONAME + _ZN20QDeclarativeCompiler19addBindingReferenceERKNS_16BindingReferenceE @ 575 NONAME + _ZN20QDeclarativeCompiler20buildGroupedPropertyEPN18QDeclarativeParser8PropertyEPNS0_6ObjectERKNS_14BindingContextE @ 576 NONAME + _ZN20QDeclarativeCompiler20genBindingAssignmentEPN18QDeclarativeParser5ValueEPNS0_8PropertyEPNS0_6ObjectES4_ @ 577 NONAME + _ZN20QDeclarativeCompiler20genLiteralAssignmentERK13QMetaPropertyPN18QDeclarativeParser5ValueE @ 578 NONAME + _ZN20QDeclarativeCompiler20isSignalPropertyNameERK10QByteArray @ 579 NONAME + _ZN20QDeclarativeCompiler21buildAttachedPropertyEPN18QDeclarativeParser8PropertyEPNS0_6ObjectERKNS_14BindingContextE @ 580 NONAME + _ZN20QDeclarativeCompiler21genPropertyAssignmentEPN18QDeclarativeParser8PropertyEPNS0_6ObjectES2_ @ 581 NONAME + _ZN20QDeclarativeCompiler21testLiteralAssignmentERK13QMetaPropertyPN18QDeclarativeParser5ValueE @ 582 NONAME + _ZN20QDeclarativeCompiler22buildComponentFromRootEPN18QDeclarativeParser6ObjectERKNS_14BindingContextE @ 583 NONAME + _ZN20QDeclarativeCompiler22buildValueTypePropertyEP7QObjectPN18QDeclarativeParser6ObjectES4_RKNS_14BindingContextE @ 584 NONAME + _ZN20QDeclarativeCompiler22completeComponentBuildEv @ 585 NONAME + _ZN20QDeclarativeCompiler22isAttachedPropertyNameERK10QByteArray @ 586 NONAME + _ZN20QDeclarativeCompiler23buildPropertyAssignmentEPN18QDeclarativeParser8PropertyEPNS0_6ObjectERKNS_14BindingContextE @ 587 NONAME + _ZN20QDeclarativeCompiler24buildPropertyInNamespaceEPN25QDeclarativeEnginePrivate17ImportedNamespaceEPN18QDeclarativeParser8PropertyEPNS3_6ObjectERKNS_14BindingContextE @ 588 NONAME + _ZN20QDeclarativeCompiler25buildPropertyOnAssignmentEPN18QDeclarativeParser8PropertyEPNS0_6ObjectES4_PNS0_5ValueERKNS_14BindingContextE @ 589 NONAME + _ZN20QDeclarativeCompiler25buildScriptStringPropertyEPN18QDeclarativeParser8PropertyEPNS0_6ObjectERKNS_14BindingContextE @ 590 NONAME + _ZN20QDeclarativeCompiler26mergeDynamicMetaPropertiesEPN18QDeclarativeParser6ObjectE @ 591 NONAME + _ZN20QDeclarativeCompiler27testQualifiedEnumAssignmentERK13QMetaPropertyPN18QDeclarativeParser6ObjectEPNS3_5ValueEPb @ 592 NONAME + _ZN20QDeclarativeCompiler29buildPropertyObjectAssignmentEPN18QDeclarativeParser8PropertyEPNS0_6ObjectEPNS0_5ValueERKNS_14BindingContextE @ 593 NONAME + _ZN20QDeclarativeCompiler30buildPropertyLiteralAssignmentEPN18QDeclarativeParser8PropertyEPNS0_6ObjectEPNS0_5ValueERKNS_14BindingContextE @ 594 NONAME + _ZN20QDeclarativeCompiler5addIdERK7QStringPN18QDeclarativeParser6ObjectE @ 595 NONAME + _ZN20QDeclarativeCompiler5resetEP24QDeclarativeCompiledData @ 596 NONAME + _ZN20QDeclarativeCompiler7compileEP18QDeclarativeEngineP29QDeclarativeCompositeTypeDataP24QDeclarativeCompiledData @ 597 NONAME + _ZN20QDeclarativeCompiler9canCoerceEiPN18QDeclarativeParser6ObjectE @ 598 NONAME + _ZN20QDeclarativeCompiler9canCoerceEii @ 599 NONAME + _ZN20QDeclarativeCompiler9dumpStatsEv @ 600 NONAME + _ZN20QDeclarativeCompiler9genObjectEPN18QDeclarativeParser6ObjectE @ 601 NONAME + _ZN20QDeclarativeCompiler9toQmlTypeEPN18QDeclarativeParser6ObjectE @ 602 NONAME + _ZN20QDeclarativeCompilerC1Ev @ 603 NONAME + _ZN20QDeclarativeCompilerC2Ev @ 604 NONAME + _ZN20QDeclarativeDomValueC1ERKS_ @ 605 NONAME + _ZN20QDeclarativeDomValueC1Ev @ 606 NONAME + _ZN20QDeclarativeDomValueC2ERKS_ @ 607 NONAME + _ZN20QDeclarativeDomValueC2Ev @ 608 NONAME + _ZN20QDeclarativeDomValueD1Ev @ 609 NONAME + _ZN20QDeclarativeDomValueD2Ev @ 610 NONAME + _ZN20QDeclarativeDomValueaSERKS_ @ 611 NONAME + _ZN20QDeclarativeFlipable11qt_metacallEN11QMetaObject4CallEiPPv @ 612 NONAME + _ZN20QDeclarativeFlipable11qt_metacastEPKc @ 613 NONAME + _ZN20QDeclarativeFlipable11sideChangedEv @ 614 NONAME + _ZN20QDeclarativeFlipable16staticMetaObjectE @ 615 NONAME DATA 16 + _ZN20QDeclarativeFlipable19getStaticMetaObjectEv @ 616 NONAME + _ZN20QDeclarativeFlipable4backEv @ 617 NONAME + _ZN20QDeclarativeFlipable5frontEv @ 618 NONAME + _ZN20QDeclarativeFlipable7setBackEP15QGraphicsObject @ 619 NONAME + _ZN20QDeclarativeFlipable8setFrontEP15QGraphicsObject @ 620 NONAME + _ZN20QDeclarativeFlipableC1EP16QDeclarativeItem @ 621 NONAME + _ZN20QDeclarativeFlipableC2EP16QDeclarativeItem @ 622 NONAME + _ZN20QDeclarativeFlipableD0Ev @ 623 NONAME + _ZN20QDeclarativeFlipableD1Ev @ 624 NONAME + _ZN20QDeclarativeFlipableD2Ev @ 625 NONAME + _ZN20QDeclarativeGradient11qt_metacallEN11QMetaObject4CallEiPPv @ 626 NONAME + _ZN20QDeclarativeGradient11qt_metacastEPKc @ 627 NONAME + _ZN20QDeclarativeGradient16staticMetaObjectE @ 628 NONAME DATA 16 + _ZN20QDeclarativeGradient19getStaticMetaObjectEv @ 629 NONAME + _ZN20QDeclarativeGradient7updatedEv @ 630 NONAME + _ZN20QDeclarativeGradient8doUpdateEv @ 631 NONAME + _ZN20QDeclarativeGridView10itemsMovedEiii @ 632 NONAME + _ZN20QDeclarativeGridView10modelResetEv @ 633 NONAME + _ZN20QDeclarativeGridView11createdItemEiP16QDeclarativeItem @ 634 NONAME + _ZN20QDeclarativeGridView11currentItemEv @ 635 NONAME + _ZN20QDeclarativeGridView11flowChangedEv @ 636 NONAME + _ZN20QDeclarativeGridView11qt_metacallEN11QMetaObject4CallEiPPv @ 637 NONAME + _ZN20QDeclarativeGridView11qt_metacastEPKc @ 638 NONAME + _ZN20QDeclarativeGridView11setDelegateEP21QDeclarativeComponent @ 639 NONAME + _ZN20QDeclarativeGridView11setSnapModeENS_8SnapModeE @ 640 NONAME + _ZN20QDeclarativeGridView12countChangedEv @ 641 NONAME + _ZN20QDeclarativeGridView12itemsRemovedEii @ 642 NONAME + _ZN20QDeclarativeGridView12modelChangedEv @ 643 NONAME + _ZN20QDeclarativeGridView12setCellWidthEi @ 644 NONAME + _ZN20QDeclarativeGridView12setHighlightEP21QDeclarativeComponent @ 645 NONAME + _ZN20QDeclarativeGridView13highlightItemEv @ 646 NONAME + _ZN20QDeclarativeGridView13itemsInsertedEii @ 647 NONAME + _ZN20QDeclarativeGridView13keyPressEventEP9QKeyEvent @ 648 NONAME + _ZN20QDeclarativeGridView13setCellHeightEi @ 649 NONAME + _ZN20QDeclarativeGridView13viewportMovedEv @ 650 NONAME + _ZN20QDeclarativeGridView14destroyRemovedEv @ 651 NONAME + _ZN20QDeclarativeGridView14destroyingItemEP16QDeclarativeItem @ 652 NONAME + _ZN20QDeclarativeGridView14setCacheBufferEi @ 653 NONAME + _ZN20QDeclarativeGridView14setWrapEnabledEb @ 654 NONAME + _ZN20QDeclarativeGridView15delegateChangedEv @ 655 NONAME + _ZN20QDeclarativeGridView15setCurrentIndexEi @ 656 NONAME + _ZN20QDeclarativeGridView15snapModeChangedEv @ 657 NONAME + _ZN20QDeclarativeGridView16cellWidthChangedEv @ 658 NONAME + _ZN20QDeclarativeGridView16highlightChangedEv @ 659 NONAME + _ZN20QDeclarativeGridView16staticMetaObjectE @ 660 NONAME DATA 16 + _ZN20QDeclarativeGridView17cellHeightChangedEv @ 661 NONAME + _ZN20QDeclarativeGridView17componentCompleteEv @ 662 NONAME + _ZN20QDeclarativeGridView18cacheBufferChangedEv @ 663 NONAME + _ZN20QDeclarativeGridView18moveCurrentIndexUpEv @ 664 NONAME + _ZN20QDeclarativeGridView19currentIndexChangedEv @ 665 NONAME + _ZN20QDeclarativeGridView19getStaticMetaObjectEv @ 666 NONAME + _ZN20QDeclarativeGridView19positionViewAtIndexEii @ 667 NONAME + _ZN20QDeclarativeGridView20highlightItemChangedEv @ 668 NONAME + _ZN20QDeclarativeGridView20moveCurrentIndexDownEv @ 669 NONAME + _ZN20QDeclarativeGridView20moveCurrentIndexLeftEv @ 670 NONAME + _ZN20QDeclarativeGridView21moveCurrentIndexRightEv @ 671 NONAME + _ZN20QDeclarativeGridView21qmlAttachedPropertiesEP7QObject @ 672 NONAME + _ZN20QDeclarativeGridView21setHighlightRangeModeENS_18HighlightRangeModeE @ 673 NONAME + _ZN20QDeclarativeGridView22trackedPositionChangedEv @ 674 NONAME + _ZN20QDeclarativeGridView24setPreferredHighlightEndEf @ 675 NONAME + _ZN20QDeclarativeGridView25highlightRangeModeChangedEv @ 676 NONAME + _ZN20QDeclarativeGridView25keyNavigationWrapsChangedEv @ 677 NONAME + _ZN20QDeclarativeGridView26setPreferredHighlightBeginEf @ 678 NONAME + _ZN20QDeclarativeGridView28preferredHighlightEndChangedEv @ 679 NONAME + _ZN20QDeclarativeGridView30preferredHighlightBeginChangedEv @ 680 NONAME + _ZN20QDeclarativeGridView30setHighlightFollowsCurrentItemEb @ 681 NONAME + _ZN20QDeclarativeGridView5eventEP6QEvent @ 682 NONAME + _ZN20QDeclarativeGridView6refillEv @ 683 NONAME + _ZN20QDeclarativeGridView7setFlowENS_4FlowE @ 684 NONAME + _ZN20QDeclarativeGridView8setModelERK8QVariant @ 685 NONAME + _ZN20QDeclarativeGridViewC1EP16QDeclarativeItem @ 686 NONAME + _ZN20QDeclarativeGridViewC2EP16QDeclarativeItem @ 687 NONAME + _ZN20QDeclarativeGridViewD0Ev @ 688 NONAME + _ZN20QDeclarativeGridViewD1Ev @ 689 NONAME + _ZN20QDeclarativeGridViewD2Ev @ 690 NONAME + _ZN20QDeclarativeListView10itemsMovedEiii @ 691 NONAME + _ZN20QDeclarativeListView10modelResetEv @ 692 NONAME + _ZN20QDeclarativeListView10setSpacingEf @ 693 NONAME + _ZN20QDeclarativeListView11animStoppedEv @ 694 NONAME + _ZN20QDeclarativeListView11createdItemEiP16QDeclarativeItem @ 695 NONAME + _ZN20QDeclarativeListView11currentItemEv @ 696 NONAME + _ZN20QDeclarativeListView11qt_metacallEN11QMetaObject4CallEiPPv @ 697 NONAME + _ZN20QDeclarativeListView11qt_metacastEPKc @ 698 NONAME + _ZN20QDeclarativeListView11setDelegateEP21QDeclarativeComponent @ 699 NONAME + _ZN20QDeclarativeListView11setSnapModeENS_8SnapModeE @ 700 NONAME + _ZN20QDeclarativeListView12countChangedEv @ 701 NONAME + _ZN20QDeclarativeListView12itemsRemovedEii @ 702 NONAME + _ZN20QDeclarativeListView12modelChangedEv @ 703 NONAME + _ZN20QDeclarativeListView12setHighlightEP21QDeclarativeComponent @ 704 NONAME + _ZN20QDeclarativeListView13footerChangedEv @ 705 NONAME + _ZN20QDeclarativeListView13headerChangedEv @ 706 NONAME + _ZN20QDeclarativeListView13highlightItemEv @ 707 NONAME + _ZN20QDeclarativeListView13itemsInsertedEii @ 708 NONAME + _ZN20QDeclarativeListView13keyPressEventEP9QKeyEvent @ 709 NONAME + _ZN20QDeclarativeListView13viewportMovedEv @ 710 NONAME + _ZN20QDeclarativeListView14destroyRemovedEv @ 711 NONAME + _ZN20QDeclarativeListView14destroyingItemEP16QDeclarativeItem @ 712 NONAME + _ZN20QDeclarativeListView14setCacheBufferEi @ 713 NONAME + _ZN20QDeclarativeListView14setOrientationENS_11OrientationE @ 714 NONAME + _ZN20QDeclarativeListView14setWrapEnabledEb @ 715 NONAME + _ZN20QDeclarativeListView14spacingChangedEv @ 716 NONAME + _ZN20QDeclarativeListView15delegateChangedEv @ 717 NONAME + _ZN20QDeclarativeListView15sectionCriteriaEv @ 718 NONAME + _ZN20QDeclarativeListView15setCurrentIndexEi @ 719 NONAME + _ZN20QDeclarativeListView15snapModeChangedEv @ 720 NONAME + _ZN20QDeclarativeListView16highlightChangedEv @ 721 NONAME + _ZN20QDeclarativeListView16staticMetaObjectE @ 722 NONAME DATA 16 + _ZN20QDeclarativeListView17componentCompleteEv @ 723 NONAME + _ZN20QDeclarativeListView18cacheBufferChangedEv @ 724 NONAME + _ZN20QDeclarativeListView18orientationChangedEv @ 725 NONAME + _ZN20QDeclarativeListView19currentIndexChangedEv @ 726 NONAME + _ZN20QDeclarativeListView19getStaticMetaObjectEv @ 727 NONAME + _ZN20QDeclarativeListView19positionViewAtIndexEii @ 728 NONAME + _ZN20QDeclarativeListView20highlightItemChangedEv @ 729 NONAME + _ZN20QDeclarativeListView21currentSectionChangedEv @ 730 NONAME + _ZN20QDeclarativeListView21decrementCurrentIndexEv @ 731 NONAME + _ZN20QDeclarativeListView21incrementCurrentIndexEv @ 732 NONAME + _ZN20QDeclarativeListView21qmlAttachedPropertiesEP7QObject @ 733 NONAME + _ZN20QDeclarativeListView21setHighlightMoveSpeedEf @ 734 NONAME + _ZN20QDeclarativeListView21setHighlightRangeModeENS_18HighlightRangeModeE @ 735 NONAME + _ZN20QDeclarativeListView22trackedPositionChangedEv @ 736 NONAME + _ZN20QDeclarativeListView23setHighlightResizeSpeedEf @ 737 NONAME + _ZN20QDeclarativeListView24setPreferredHighlightEndEf @ 738 NONAME + _ZN20QDeclarativeListView25highlightMoveSpeedChangedEv @ 739 NONAME + _ZN20QDeclarativeListView25highlightRangeModeChangedEv @ 740 NONAME + _ZN20QDeclarativeListView25keyNavigationWrapsChangedEv @ 741 NONAME + _ZN20QDeclarativeListView26setPreferredHighlightBeginEf @ 742 NONAME + _ZN20QDeclarativeListView27highlightResizeSpeedChangedEv @ 743 NONAME + _ZN20QDeclarativeListView28preferredHighlightEndChangedEv @ 744 NONAME + _ZN20QDeclarativeListView30preferredHighlightBeginChangedEv @ 745 NONAME + _ZN20QDeclarativeListView30setHighlightFollowsCurrentItemEb @ 746 NONAME + _ZN20QDeclarativeListView34highlightFollowsCurrentItemChangedEv @ 747 NONAME + _ZN20QDeclarativeListView5eventEP6QEvent @ 748 NONAME + _ZN20QDeclarativeListView6refillEv @ 749 NONAME + _ZN20QDeclarativeListView8setModelERK8QVariant @ 750 NONAME + _ZN20QDeclarativeListView9setFooterEP21QDeclarativeComponent @ 751 NONAME + _ZN20QDeclarativeListView9setHeaderEP21QDeclarativeComponent @ 752 NONAME + _ZN20QDeclarativeListViewC1EP16QDeclarativeItem @ 753 NONAME + _ZN20QDeclarativeListViewC2EP16QDeclarativeItem @ 754 NONAME + _ZN20QDeclarativeListViewD0Ev @ 755 NONAME + _ZN20QDeclarativeListViewD1Ev @ 756 NONAME + _ZN20QDeclarativeListViewD2Ev @ 757 NONAME + _ZN20QDeclarativeMetaType11isInterfaceEi @ 758 NONAME + _ZN20QDeclarativeMetaType12interfaceIIdEi @ 759 NONAME + _ZN20QDeclarativeMetaType12qmlTypeNamesEv @ 760 NONAME + _ZN20QDeclarativeMetaType12typeCategoryEi @ 761 NONAME + _ZN20QDeclarativeMetaType13defaultMethodEP7QObject @ 762 NONAME + _ZN20QDeclarativeMetaType13defaultMethodEPK11QMetaObject @ 763 NONAME + _ZN20QDeclarativeMetaType15defaultPropertyEP7QObject @ 764 NONAME + _ZN20QDeclarativeMetaType15defaultPropertyEPK11QMetaObject @ 765 NONAME + _ZN20QDeclarativeMetaType21customStringConverterEi @ 766 NONAME + _ZN20QDeclarativeMetaType24attachedPropertiesFuncIdEPK11QMetaObject @ 767 NONAME + _ZN20QDeclarativeMetaType26attachedPropertiesFuncByIdEi @ 768 NONAME + _ZN20QDeclarativeMetaType29registerCustomStringConverterEiPF8QVariantRK7QStringE @ 769 NONAME + _ZN20QDeclarativeMetaType4copyEiPvPKv @ 770 NONAME + _ZN20QDeclarativeMetaType6isListEi @ 771 NONAME + _ZN20QDeclarativeMetaType7qmlTypeEPK11QMetaObject @ 772 NONAME + _ZN20QDeclarativeMetaType7qmlTypeERK10QByteArrayii @ 773 NONAME + _ZN20QDeclarativeMetaType7qmlTypeEi @ 774 NONAME + _ZN20QDeclarativeMetaType8isModuleERK10QByteArrayii @ 775 NONAME + _ZN20QDeclarativeMetaType8listTypeEi @ 776 NONAME + _ZN20QDeclarativeMetaType8qmlTypesEv @ 777 NONAME + _ZN20QDeclarativeMetaType9isQObjectEi @ 778 NONAME + _ZN20QDeclarativeMetaType9toQObjectERK8QVariantPb @ 779 NONAME + _ZN20QDeclarativePathLine11qt_metacallEN11QMetaObject4CallEiPPv @ 780 NONAME + _ZN20QDeclarativePathLine11qt_metacastEPKc @ 781 NONAME + _ZN20QDeclarativePathLine16staticMetaObjectE @ 782 NONAME DATA 16 + _ZN20QDeclarativePathLine19getStaticMetaObjectEv @ 783 NONAME + _ZN20QDeclarativePathLine9addToPathER12QPainterPath @ 784 NONAME + _ZN20QDeclarativePathQuad11qt_metacallEN11QMetaObject4CallEiPPv @ 785 NONAME + _ZN20QDeclarativePathQuad11qt_metacastEPKc @ 786 NONAME + _ZN20QDeclarativePathQuad11setControlXEf @ 787 NONAME + _ZN20QDeclarativePathQuad11setControlYEf @ 788 NONAME + _ZN20QDeclarativePathQuad16staticMetaObjectE @ 789 NONAME DATA 16 + _ZN20QDeclarativePathQuad19getStaticMetaObjectEv @ 790 NONAME + _ZN20QDeclarativePathQuad9addToPathER12QPainterPath @ 791 NONAME + _ZN20QDeclarativePathView10itemsMovedEiii @ 792 NONAME + _ZN20QDeclarativePathView10modelResetEv @ 793 NONAME + _ZN20QDeclarativePathView11createdItemEiP16QDeclarativeItem @ 794 NONAME + _ZN20QDeclarativePathView11pathChangedEv @ 795 NONAME + _ZN20QDeclarativePathView11qt_metacallEN11QMetaObject4CallEiPPv @ 796 NONAME + _ZN20QDeclarativePathView11qt_metacastEPKc @ 797 NONAME + _ZN20QDeclarativePathView11setDelegateEP21QDeclarativeComponent @ 798 NONAME + _ZN20QDeclarativePathView12countChangedEv @ 799 NONAME + _ZN20QDeclarativePathView12itemsRemovedEii @ 800 NONAME + _ZN20QDeclarativePathView12modelChangedEv @ 801 NONAME + _ZN20QDeclarativePathView12setHighlightEP21QDeclarativeComponent @ 802 NONAME + _ZN20QDeclarativePathView13highlightItemEv @ 803 NONAME + _ZN20QDeclarativePathView13itemsInsertedEii @ 804 NONAME + _ZN20QDeclarativePathView13offsetChangedEv @ 805 NONAME + _ZN20QDeclarativePathView13setDragMarginEf @ 806 NONAME + _ZN20QDeclarativePathView14destroyingItemEP16QDeclarativeItem @ 807 NONAME + _ZN20QDeclarativePathView14mouseMoveEventEP24QGraphicsSceneMouseEvent @ 808 NONAME + _ZN20QDeclarativePathView14sendMouseEventEP24QGraphicsSceneMouseEvent @ 809 NONAME + _ZN20QDeclarativePathView14setInteractiveEb @ 810 NONAME + _ZN20QDeclarativePathView15delegateChangedEv @ 811 NONAME + _ZN20QDeclarativePathView15mousePressEventEP24QGraphicsSceneMouseEvent @ 812 NONAME + _ZN20QDeclarativePathView15setCurrentIndexEi @ 813 NONAME + _ZN20QDeclarativePathView16highlightChangedEv @ 814 NONAME + _ZN20QDeclarativePathView16sceneEventFilterEP13QGraphicsItemP6QEvent @ 815 NONAME + _ZN20QDeclarativePathView16setPathItemCountEi @ 816 NONAME + _ZN20QDeclarativePathView16staticMetaObjectE @ 817 NONAME DATA 16 + _ZN20QDeclarativePathView17componentCompleteEv @ 818 NONAME + _ZN20QDeclarativePathView17dragMarginChangedEv @ 819 NONAME + _ZN20QDeclarativePathView17mouseReleaseEventEP24QGraphicsSceneMouseEvent @ 820 NONAME + _ZN20QDeclarativePathView18interactiveChangedEv @ 821 NONAME + _ZN20QDeclarativePathView19currentIndexChangedEv @ 822 NONAME + _ZN20QDeclarativePathView19getStaticMetaObjectEv @ 823 NONAME + _ZN20QDeclarativePathView19snapPositionChangedEv @ 824 NONAME + _ZN20QDeclarativePathView20highlightItemChangedEv @ 825 NONAME + _ZN20QDeclarativePathView20pathItemCountChangedEv @ 826 NONAME + _ZN20QDeclarativePathView20setFlickDecelerationEf @ 827 NONAME + _ZN20QDeclarativePathView21qmlAttachedPropertiesEP7QObject @ 828 NONAME + _ZN20QDeclarativePathView21setHighlightRangeModeENS_18HighlightRangeModeE @ 829 NONAME + _ZN20QDeclarativePathView24flickDecelerationChangedEv @ 830 NONAME + _ZN20QDeclarativePathView24setPreferredHighlightEndEf @ 831 NONAME + _ZN20QDeclarativePathView25highlightRangeModeChangedEv @ 832 NONAME + _ZN20QDeclarativePathView26setPreferredHighlightBeginEf @ 833 NONAME + _ZN20QDeclarativePathView28preferredHighlightEndChangedEv @ 834 NONAME + _ZN20QDeclarativePathView30preferredHighlightBeginChangedEv @ 835 NONAME + _ZN20QDeclarativePathView6refillEv @ 836 NONAME + _ZN20QDeclarativePathView6tickedEv @ 837 NONAME + _ZN20QDeclarativePathView7setPathEP16QDeclarativePath @ 838 NONAME + _ZN20QDeclarativePathView8setModelERK8QVariant @ 839 NONAME + _ZN20QDeclarativePathView9setOffsetEf @ 840 NONAME + _ZN20QDeclarativePathViewC1EP16QDeclarativeItem @ 841 NONAME + _ZN20QDeclarativePathViewC2EP16QDeclarativeItem @ 842 NONAME + _ZN20QDeclarativePathViewD0Ev @ 843 NONAME + _ZN20QDeclarativePathViewD1Ev @ 844 NONAME + _ZN20QDeclarativePathViewD2Ev @ 845 NONAME + _ZN20QDeclarativeProperty4readEP7QObjectRK7QString @ 846 NONAME + _ZN20QDeclarativeProperty4readEP7QObjectRK7QStringP18QDeclarativeEngine @ 847 NONAME + _ZN20QDeclarativeProperty4readEP7QObjectRK7QStringP19QDeclarativeContext @ 848 NONAME + _ZN20QDeclarativeProperty5writeEP7QObjectRK7QStringRK8QVariant @ 849 NONAME + _ZN20QDeclarativeProperty5writeEP7QObjectRK7QStringRK8QVariantP18QDeclarativeEngine @ 850 NONAME + _ZN20QDeclarativeProperty5writeEP7QObjectRK7QStringRK8QVariantP19QDeclarativeContext @ 851 NONAME + _ZN20QDeclarativePropertyC1EP7QObject @ 852 NONAME + _ZN20QDeclarativePropertyC1EP7QObjectP18QDeclarativeEngine @ 853 NONAME + _ZN20QDeclarativePropertyC1EP7QObjectP19QDeclarativeContext @ 854 NONAME + _ZN20QDeclarativePropertyC1EP7QObjectRK7QString @ 855 NONAME + _ZN20QDeclarativePropertyC1EP7QObjectRK7QStringP18QDeclarativeEngine @ 856 NONAME + _ZN20QDeclarativePropertyC1EP7QObjectRK7QStringP19QDeclarativeContext @ 857 NONAME + _ZN20QDeclarativePropertyC1ERKS_ @ 858 NONAME + _ZN20QDeclarativePropertyC1Ev @ 859 NONAME + _ZN20QDeclarativePropertyC2EP7QObject @ 860 NONAME + _ZN20QDeclarativePropertyC2EP7QObjectP18QDeclarativeEngine @ 861 NONAME + _ZN20QDeclarativePropertyC2EP7QObjectP19QDeclarativeContext @ 862 NONAME + _ZN20QDeclarativePropertyC2EP7QObjectRK7QString @ 863 NONAME + _ZN20QDeclarativePropertyC2EP7QObjectRK7QStringP18QDeclarativeEngine @ 864 NONAME + _ZN20QDeclarativePropertyC2EP7QObjectRK7QStringP19QDeclarativeContext @ 865 NONAME + _ZN20QDeclarativePropertyC2ERKS_ @ 866 NONAME + _ZN20QDeclarativePropertyC2Ev @ 867 NONAME + _ZN20QDeclarativePropertyD1Ev @ 868 NONAME + _ZN20QDeclarativePropertyD2Ev @ 869 NONAME + _ZN20QDeclarativePropertyaSERKS_ @ 870 NONAME + _ZN20QDeclarativeRepeater10itemChangeEN13QGraphicsItem18GraphicsItemChangeERK8QVariant @ 871 NONAME + _ZN20QDeclarativeRepeater10itemsMovedEiii @ 872 NONAME + _ZN20QDeclarativeRepeater10modelResetEv @ 873 NONAME + _ZN20QDeclarativeRepeater10regenerateEv @ 874 NONAME + _ZN20QDeclarativeRepeater11qt_metacallEN11QMetaObject4CallEiPPv @ 875 NONAME + _ZN20QDeclarativeRepeater11qt_metacastEPKc @ 876 NONAME + _ZN20QDeclarativeRepeater11setDelegateEP21QDeclarativeComponent @ 877 NONAME + _ZN20QDeclarativeRepeater12countChangedEv @ 878 NONAME + _ZN20QDeclarativeRepeater12itemsRemovedEii @ 879 NONAME + _ZN20QDeclarativeRepeater12modelChangedEv @ 880 NONAME + _ZN20QDeclarativeRepeater13itemsInsertedEii @ 881 NONAME + _ZN20QDeclarativeRepeater15delegateChangedEv @ 882 NONAME + _ZN20QDeclarativeRepeater16staticMetaObjectE @ 883 NONAME DATA 16 + _ZN20QDeclarativeRepeater17componentCompleteEv @ 884 NONAME + _ZN20QDeclarativeRepeater19getStaticMetaObjectEv @ 885 NONAME + _ZN20QDeclarativeRepeater5clearEv @ 886 NONAME + _ZN20QDeclarativeRepeater8setModelERK8QVariant @ 887 NONAME + _ZN20QDeclarativeRepeaterC1EP16QDeclarativeItem @ 888 NONAME + _ZN20QDeclarativeRepeaterC2EP16QDeclarativeItem @ 889 NONAME + _ZN20QDeclarativeRepeaterD0Ev @ 890 NONAME + _ZN20QDeclarativeRepeaterD1Ev @ 891 NONAME + _ZN20QDeclarativeRepeaterD2Ev @ 892 NONAME + _ZN20QDeclarativeTextEdit10updateSizeEv @ 893 NONAME + _ZN20QDeclarativeTextEdit11fontChangedERK5QFont @ 894 NONAME + _ZN20QDeclarativeTextEdit11qt_metacallEN11QMetaObject4CallEiPPv @ 895 NONAME + _ZN20QDeclarativeTextEdit11qt_metacastEPKc @ 896 NONAME + _ZN20QDeclarativeTextEdit11setReadOnlyEb @ 897 NONAME + _ZN20QDeclarativeTextEdit11textChangedERK7QString @ 898 NONAME + _ZN20QDeclarativeTextEdit11wrapChangedEb @ 899 NONAME + _ZN20QDeclarativeTextEdit12colorChangedERK6QColor @ 900 NONAME + _ZN20QDeclarativeTextEdit12drawContentsEP8QPainterRK5QRect @ 901 NONAME + _ZN20QDeclarativeTextEdit13keyPressEventEP9QKeyEvent @ 902 NONAME + _ZN20QDeclarativeTextEdit13q_textChangedEv @ 903 NONAME + _ZN20QDeclarativeTextEdit13setTextFormatENS_10TextFormatE @ 904 NONAME + _ZN20QDeclarativeTextEdit13setTextMarginEf @ 905 NONAME + _ZN20QDeclarativeTextEdit14mouseMoveEventEP24QGraphicsSceneMouseEvent @ 906 NONAME + _ZN20QDeclarativeTextEdit14updateImgCacheERK6QRectF @ 907 NONAME + _ZN20QDeclarativeTextEdit15geometryChangedERK6QRectFS2_ @ 908 NONAME + _ZN20QDeclarativeTextEdit15keyReleaseEventEP9QKeyEvent @ 909 NONAME + _ZN20QDeclarativeTextEdit15mousePressEventEP24QGraphicsSceneMouseEvent @ 910 NONAME + _ZN20QDeclarativeTextEdit15readOnlyChangedEb @ 911 NONAME + _ZN20QDeclarativeTextEdit15setFocusOnPressEb @ 912 NONAME + _ZN20QDeclarativeTextEdit15setSelectionEndEi @ 913 NONAME + _ZN20QDeclarativeTextEdit16inputMethodEventEP17QInputMethodEvent @ 914 NONAME + _ZN20QDeclarativeTextEdit16selectionChangedEv @ 915 NONAME + _ZN20QDeclarativeTextEdit16setCursorVisibleEb @ 916 NONAME + _ZN20QDeclarativeTextEdit16staticMetaObjectE @ 917 NONAME DATA 16 + _ZN20QDeclarativeTextEdit17componentCompleteEv @ 918 NONAME + _ZN20QDeclarativeTextEdit17mouseReleaseEventEP24QGraphicsSceneMouseEvent @ 919 NONAME + _ZN20QDeclarativeTextEdit17setCursorDelegateEP21QDeclarativeComponent @ 920 NONAME + _ZN20QDeclarativeTextEdit17setCursorPositionEi @ 921 NONAME + _ZN20QDeclarativeTextEdit17setSelectionColorERK6QColor @ 922 NONAME + _ZN20QDeclarativeTextEdit17setSelectionStartEi @ 923 NONAME + _ZN20QDeclarativeTextEdit17textFormatChangedENS_10TextFormatE @ 924 NONAME + _ZN20QDeclarativeTextEdit17textMarginChangedEf @ 925 NONAME + _ZN20QDeclarativeTextEdit18loadCursorDelegateEv @ 926 NONAME + _ZN20QDeclarativeTextEdit18moveCursorDelegateEv @ 927 NONAME + _ZN20QDeclarativeTextEdit19focusOnPressChangedEb @ 928 NONAME + _ZN20QDeclarativeTextEdit19getStaticMetaObjectEv @ 929 NONAME + _ZN20QDeclarativeTextEdit19selectionEndChangedEv @ 930 NONAME + _ZN20QDeclarativeTextEdit20cursorVisibleChangedEb @ 931 NONAME + _ZN20QDeclarativeTextEdit20setSelectedTextColorERK6QColor @ 932 NONAME + _ZN20QDeclarativeTextEdit21cursorDelegateChangedEv @ 933 NONAME + _ZN20QDeclarativeTextEdit21cursorPositionChangedEv @ 934 NONAME + _ZN20QDeclarativeTextEdit21mouseDoubleClickEventEP24QGraphicsSceneMouseEvent @ 935 NONAME + _ZN20QDeclarativeTextEdit21selectionColorChangedERK6QColor @ 936 NONAME + _ZN20QDeclarativeTextEdit21selectionStartChangedEv @ 937 NONAME + _ZN20QDeclarativeTextEdit22setPersistentSelectionEb @ 938 NONAME + _ZN20QDeclarativeTextEdit22updateSelectionMarkersEv @ 939 NONAME + _ZN20QDeclarativeTextEdit23setTextInteractionFlagsE6QFlagsIN2Qt19TextInteractionFlagEE @ 940 NONAME + _ZN20QDeclarativeTextEdit24selectedTextColorChangedERK6QColor @ 941 NONAME + _ZN20QDeclarativeTextEdit24verticalAlignmentChangedENS_10VAlignmentE @ 942 NONAME + _ZN20QDeclarativeTextEdit26horizontalAlignmentChangedENS_10HAlignmentE @ 943 NONAME + _ZN20QDeclarativeTextEdit26persistentSelectionChangedEb @ 944 NONAME + _ZN20QDeclarativeTextEdit5eventEP6QEvent @ 945 NONAME + _ZN20QDeclarativeTextEdit7setFontERK5QFont @ 946 NONAME + _ZN20QDeclarativeTextEdit7setTextERK7QString @ 947 NONAME + _ZN20QDeclarativeTextEdit7setWrapEb @ 948 NONAME + _ZN20QDeclarativeTextEdit8setColorERK6QColor @ 949 NONAME + _ZN20QDeclarativeTextEdit9selectAllEv @ 950 NONAME + _ZN20QDeclarativeTextEdit9setHAlignENS_10HAlignmentE @ 951 NONAME + _ZN20QDeclarativeTextEdit9setVAlignENS_10VAlignmentE @ 952 NONAME + _ZN20QDeclarativeTextEditC1EP16QDeclarativeItem @ 953 NONAME + _ZN20QDeclarativeTextEditC2EP16QDeclarativeItem @ 954 NONAME + _ZN20QMetaPropertyBuilder10setDynamicEb @ 955 NONAME + _ZN20QMetaPropertyBuilder11setEditableEb @ 956 NONAME + _ZN20QMetaPropertyBuilder11setReadableEb @ 957 NONAME + _ZN20QMetaPropertyBuilder11setWritableEb @ 958 NONAME + _ZN20QMetaPropertyBuilder12setStdCppSetEb @ 959 NONAME + _ZN20QMetaPropertyBuilder13setDesignableEb @ 960 NONAME + _ZN20QMetaPropertyBuilder13setEnumOrFlagEb @ 961 NONAME + _ZN20QMetaPropertyBuilder13setResettableEb @ 962 NONAME + _ZN20QMetaPropertyBuilder13setScriptableEb @ 963 NONAME + _ZN20QMetaPropertyBuilder15setNotifySignalERK18QMetaMethodBuilder @ 964 NONAME + _ZN20QMetaPropertyBuilder18removeNotifySignalEv @ 965 NONAME + _ZN20QMetaPropertyBuilder7setUserEb @ 966 NONAME + _ZN20QMetaPropertyBuilder9setStoredEb @ 967 NONAME + _ZN21QDeclarativeComponent11beginCreateEP19QDeclarativeContext @ 968 NONAME + _ZN21QDeclarativeComponent11qt_metacallEN11QMetaObject4CallEiPPv @ 969 NONAME + _ZN21QDeclarativeComponent11qt_metacastEPKc @ 970 NONAME + _ZN21QDeclarativeComponent12createObjectEv @ 971 NONAME + _ZN21QDeclarativeComponent13statusChangedENS_6StatusE @ 972 NONAME + _ZN21QDeclarativeComponent14completeCreateEv @ 973 NONAME + _ZN21QDeclarativeComponent15progressChangedEf @ 974 NONAME + _ZN21QDeclarativeComponent16staticMetaObjectE @ 975 NONAME DATA 16 + _ZN21QDeclarativeComponent19getStaticMetaObjectEv @ 976 NONAME + _ZN21QDeclarativeComponent21qmlAttachedPropertiesEP7QObject @ 977 NONAME + _ZN21QDeclarativeComponent6createEP19QDeclarativeContext @ 978 NONAME + _ZN21QDeclarativeComponent7loadUrlERK4QUrl @ 979 NONAME + _ZN21QDeclarativeComponent7setDataERK10QByteArrayRK4QUrl @ 980 NONAME + _ZN21QDeclarativeComponentC1EP18QDeclarativeEngineP24QDeclarativeCompiledDataiiP7QObject @ 981 NONAME + _ZN21QDeclarativeComponentC1EP18QDeclarativeEngineP7QObject @ 982 NONAME + _ZN21QDeclarativeComponentC1EP18QDeclarativeEngineRK4QUrlP7QObject @ 983 NONAME + _ZN21QDeclarativeComponentC1EP18QDeclarativeEngineRK7QStringP7QObject @ 984 NONAME + _ZN21QDeclarativeComponentC1EP7QObject @ 985 NONAME + _ZN21QDeclarativeComponentC1ER28QDeclarativeComponentPrivateP7QObject @ 986 NONAME + _ZN21QDeclarativeComponentC2EP18QDeclarativeEngineP24QDeclarativeCompiledDataiiP7QObject @ 987 NONAME + _ZN21QDeclarativeComponentC2EP18QDeclarativeEngineP7QObject @ 988 NONAME + _ZN21QDeclarativeComponentC2EP18QDeclarativeEngineRK4QUrlP7QObject @ 989 NONAME + _ZN21QDeclarativeComponentC2EP18QDeclarativeEngineRK7QStringP7QObject @ 990 NONAME + _ZN21QDeclarativeComponentC2EP7QObject @ 991 NONAME + _ZN21QDeclarativeComponentC2ER28QDeclarativeComponentPrivateP7QObject @ 992 NONAME + _ZN21QDeclarativeComponentD0Ev @ 993 NONAME + _ZN21QDeclarativeComponentD1Ev @ 994 NONAME + _ZN21QDeclarativeComponentD2Ev @ 995 NONAME + _ZN21QDeclarativeDomImportC1ERKS_ @ 996 NONAME + _ZN21QDeclarativeDomImportC1Ev @ 997 NONAME + _ZN21QDeclarativeDomImportC2ERKS_ @ 998 NONAME + _ZN21QDeclarativeDomImportC2Ev @ 999 NONAME + _ZN21QDeclarativeDomImportD1Ev @ 1000 NONAME + _ZN21QDeclarativeDomImportD2Ev @ 1001 NONAME + _ZN21QDeclarativeDomImportaSERKS_ @ 1002 NONAME + _ZN21QDeclarativeDomObjectC1ERKS_ @ 1003 NONAME + _ZN21QDeclarativeDomObjectC1Ev @ 1004 NONAME + _ZN21QDeclarativeDomObjectC2ERKS_ @ 1005 NONAME + _ZN21QDeclarativeDomObjectC2Ev @ 1006 NONAME + _ZN21QDeclarativeDomObjectD1Ev @ 1007 NONAME + _ZN21QDeclarativeDomObjectD2Ev @ 1008 NONAME + _ZN21QDeclarativeDomObjectaSERKS_ @ 1009 NONAME + _ZN21QDeclarativeFlickable10flickEndedEv @ 1010 NONAME + _ZN21QDeclarativeFlickable10timerEventEP11QTimerEvent @ 1011 NONAME + _ZN21QDeclarativeFlickable10wheelEventEP24QGraphicsSceneWheelEvent @ 1012 NONAME + _ZN21QDeclarativeFlickable11cancelFlickEv @ 1013 NONAME + _ZN21QDeclarativeFlickable11pageChangedEv @ 1014 NONAME + _ZN21QDeclarativeFlickable11qt_metacallEN11QMetaObject4CallEiPPv @ 1015 NONAME + _ZN21QDeclarativeFlickable11qt_metacastEPKc @ 1016 NONAME + _ZN21QDeclarativeFlickable11setContentXEf @ 1017 NONAME + _ZN21QDeclarativeFlickable11setContentYEf @ 1018 NONAME + _ZN21QDeclarativeFlickable11visibleAreaEv @ 1019 NONAME + _ZN21QDeclarativeFlickable12flickStartedEv @ 1020 NONAME + _ZN21QDeclarativeFlickable12setOverShootEb @ 1021 NONAME + _ZN21QDeclarativeFlickable13flickableDataEv @ 1022 NONAME + _ZN21QDeclarativeFlickable13movementEndedEv @ 1023 NONAME + _ZN21QDeclarativeFlickable13movingChangedEv @ 1024 NONAME + _ZN21QDeclarativeFlickable13setPressDelayEi @ 1025 NONAME + _ZN21QDeclarativeFlickable13viewportMovedEv @ 1026 NONAME + _ZN21QDeclarativeFlickable14mouseMoveEventEP24QGraphicsSceneMouseEvent @ 1027 NONAME + _ZN21QDeclarativeFlickable14movementEndingEv @ 1028 NONAME + _ZN21QDeclarativeFlickable14sendMouseEventEP24QGraphicsSceneMouseEvent @ 1029 NONAME + _ZN21QDeclarativeFlickable14setInteractiveEb @ 1030 NONAME + _ZN21QDeclarativeFlickable15contentXChangedEv @ 1031 NONAME + _ZN21QDeclarativeFlickable15contentYChangedEv @ 1032 NONAME + _ZN21QDeclarativeFlickable15flickingChangedEv @ 1033 NONAME + _ZN21QDeclarativeFlickable15geometryChangedERK6QRectFS2_ @ 1034 NONAME + _ZN21QDeclarativeFlickable15mousePressEventEP24QGraphicsSceneMouseEvent @ 1035 NONAME + _ZN21QDeclarativeFlickable15movementStartedEv @ 1036 NONAME + _ZN21QDeclarativeFlickable15setContentWidthEf @ 1037 NONAME + _ZN21QDeclarativeFlickable16movementStartingEv @ 1038 NONAME + _ZN21QDeclarativeFlickable16overShootChangedEv @ 1039 NONAME + _ZN21QDeclarativeFlickable16sceneEventFilterEP13QGraphicsItemP6QEvent @ 1040 NONAME + _ZN21QDeclarativeFlickable16setContentHeightEf @ 1041 NONAME + _ZN21QDeclarativeFlickable16staticMetaObjectE @ 1042 NONAME DATA 16 + _ZN21QDeclarativeFlickable17flickableChildrenEv @ 1043 NONAME + _ZN21QDeclarativeFlickable17mouseReleaseEventEP24QGraphicsSceneMouseEvent @ 1044 NONAME + _ZN21QDeclarativeFlickable17pressDelayChangedEv @ 1045 NONAME + _ZN21QDeclarativeFlickable17setFlickDirectionENS_14FlickDirectionE @ 1046 NONAME + _ZN21QDeclarativeFlickable18interactiveChangedEv @ 1047 NONAME + _ZN21QDeclarativeFlickable19contentWidthChangedEv @ 1048 NONAME + _ZN21QDeclarativeFlickable19getStaticMetaObjectEv @ 1049 NONAME + _ZN21QDeclarativeFlickable19isAtBoundaryChangedEv @ 1050 NONAME + _ZN21QDeclarativeFlickable20contentHeightChangedEv @ 1051 NONAME + _ZN21QDeclarativeFlickable20setFlickDecelerationEf @ 1052 NONAME + _ZN21QDeclarativeFlickable21flickDirectionChangedEv @ 1053 NONAME + _ZN21QDeclarativeFlickable23setMaximumFlickVelocityEf @ 1054 NONAME + _ZN21QDeclarativeFlickable23verticalVelocityChangedEv @ 1055 NONAME + _ZN21QDeclarativeFlickable24flickDecelerationChangedEv @ 1056 NONAME + _ZN21QDeclarativeFlickable25horizontalVelocityChangedEv @ 1057 NONAME + _ZN21QDeclarativeFlickable27maximumFlickVelocityChangedEv @ 1058 NONAME + _ZN21QDeclarativeFlickable6tickedEv @ 1059 NONAME + _ZN21QDeclarativeFlickable8viewportEv @ 1060 NONAME + _ZN21QDeclarativeFlickableC1EP16QDeclarativeItem @ 1061 NONAME + _ZN21QDeclarativeFlickableC1ER28QDeclarativeFlickablePrivateP16QDeclarativeItem @ 1062 NONAME + _ZN21QDeclarativeFlickableC2EP16QDeclarativeItem @ 1063 NONAME + _ZN21QDeclarativeFlickableC2ER28QDeclarativeFlickablePrivateP16QDeclarativeItem @ 1064 NONAME + _ZN21QDeclarativeFlickableD0Ev @ 1065 NONAME + _ZN21QDeclarativeFlickableD1Ev @ 1066 NONAME + _ZN21QDeclarativeFlickableD2Ev @ 1067 NONAME + _ZN21QDeclarativeImageBase11qt_metacallEN11QMetaObject4CallEiPPv @ 1068 NONAME + _ZN21QDeclarativeImageBase11qt_metacastEPKc @ 1069 NONAME + _ZN21QDeclarativeImageBase12pixmapChangeEv @ 1070 NONAME + _ZN21QDeclarativeImageBase13setSourceSizeERK5QSize @ 1071 NONAME + _ZN21QDeclarativeImageBase13sourceChangedERK4QUrl @ 1072 NONAME + _ZN21QDeclarativeImageBase13statusChangedENS_6StatusE @ 1073 NONAME + _ZN21QDeclarativeImageBase15progressChangedEf @ 1074 NONAME + _ZN21QDeclarativeImageBase15requestFinishedEv @ 1075 NONAME + _ZN21QDeclarativeImageBase15requestProgressExx @ 1076 NONAME + _ZN21QDeclarativeImageBase15setAsynchronousEb @ 1077 NONAME + _ZN21QDeclarativeImageBase16staticMetaObjectE @ 1078 NONAME DATA 16 + _ZN21QDeclarativeImageBase17componentCompleteEv @ 1079 NONAME + _ZN21QDeclarativeImageBase17sourceSizeChangedEv @ 1080 NONAME + _ZN21QDeclarativeImageBase19asynchronousChangedEv @ 1081 NONAME + _ZN21QDeclarativeImageBase19getStaticMetaObjectEv @ 1082 NONAME + _ZN21QDeclarativeImageBase4loadEv @ 1083 NONAME + _ZN21QDeclarativeImageBase9setSourceERK4QUrl @ 1084 NONAME + _ZN21QDeclarativeImageBaseC1ER28QDeclarativeImageBasePrivateP16QDeclarativeItem @ 1085 NONAME + _ZN21QDeclarativeImageBaseC2ER28QDeclarativeImageBasePrivateP16QDeclarativeItem @ 1086 NONAME + _ZN21QDeclarativeImageBaseD0Ev @ 1087 NONAME + _ZN21QDeclarativeImageBaseD1Ev @ 1088 NONAME + _ZN21QDeclarativeImageBaseD2Ev @ 1089 NONAME + _ZN21QDeclarativeListModel11qt_metacallEN11QMetaObject4CallEiPPv @ 1090 NONAME + _ZN21QDeclarativeListModel11qt_metacastEPKc @ 1091 NONAME + _ZN21QDeclarativeListModel11setPropertyEiRK7QStringRK8QVariant @ 1092 NONAME + _ZN21QDeclarativeListModel12countChangedEv @ 1093 NONAME + _ZN21QDeclarativeListModel16staticMetaObjectE @ 1094 NONAME DATA 16 + _ZN21QDeclarativeListModel19getStaticMetaObjectEv @ 1095 NONAME + _ZN21QDeclarativeListModel3setEiRK12QScriptValue @ 1096 NONAME + _ZN21QDeclarativeListModel4moveEiii @ 1097 NONAME + _ZN21QDeclarativeListModel4syncEv @ 1098 NONAME + _ZN21QDeclarativeListModel5agentEv @ 1099 NONAME + _ZN21QDeclarativeListModel5clearEv @ 1100 NONAME + _ZN21QDeclarativeListModel6appendERK12QScriptValue @ 1101 NONAME + _ZN21QDeclarativeListModel6insertEiRK12QScriptValue @ 1102 NONAME + _ZN21QDeclarativeListModel6removeEi @ 1103 NONAME + _ZN21QDeclarativeListModel7flattenEv @ 1104 NONAME + _ZN21QDeclarativeListModelC1EP7QObject @ 1105 NONAME + _ZN21QDeclarativeListModelC1EbP7QObject @ 1106 NONAME + _ZN21QDeclarativeListModelC2EP7QObject @ 1107 NONAME + _ZN21QDeclarativeListModelC2EbP7QObject @ 1108 NONAME + _ZN21QDeclarativeListModelD0Ev @ 1109 NONAME + _ZN21QDeclarativeListModelD1Ev @ 1110 NONAME + _ZN21QDeclarativeListModelD2Ev @ 1111 NONAME + _ZN21QDeclarativeMouseArea10sceneEventEP6QEvent @ 1112 NONAME + _ZN21QDeclarativeMouseArea10setEnabledEb @ 1113 NONAME + _ZN21QDeclarativeMouseArea10setHoveredEb @ 1114 NONAME + _ZN21QDeclarativeMouseArea10setPressedEb @ 1115 NONAME + _ZN21QDeclarativeMouseArea10timerEventEP11QTimerEvent @ 1116 NONAME + _ZN21QDeclarativeMouseArea11qt_metacallEN11QMetaObject4CallEiPPv @ 1117 NONAME + _ZN21QDeclarativeMouseArea11qt_metacastEPKc @ 1118 NONAME + _ZN21QDeclarativeMouseArea12pressAndHoldEP22QDeclarativeMouseEvent @ 1119 NONAME + _ZN21QDeclarativeMouseArea13doubleClickedEP22QDeclarativeMouseEvent @ 1120 NONAME + _ZN21QDeclarativeMouseArea14enabledChangedEv @ 1121 NONAME + _ZN21QDeclarativeMouseArea14hoverMoveEventEP24QGraphicsSceneHoverEvent @ 1122 NONAME + _ZN21QDeclarativeMouseArea14hoveredChangedEv @ 1123 NONAME + _ZN21QDeclarativeMouseArea14mouseMoveEventEP24QGraphicsSceneMouseEvent @ 1124 NONAME + _ZN21QDeclarativeMouseArea14pressedChangedEv @ 1125 NONAME + _ZN21QDeclarativeMouseArea15hoverEnterEventEP24QGraphicsSceneHoverEvent @ 1126 NONAME + _ZN21QDeclarativeMouseArea15hoverLeaveEventEP24QGraphicsSceneHoverEvent @ 1127 NONAME + _ZN21QDeclarativeMouseArea15mousePressEventEP24QGraphicsSceneMouseEvent @ 1128 NONAME + _ZN21QDeclarativeMouseArea15positionChangedEP22QDeclarativeMouseEvent @ 1129 NONAME + _ZN21QDeclarativeMouseArea16staticMetaObjectE @ 1130 NONAME DATA 16 + _ZN21QDeclarativeMouseArea17mouseReleaseEventEP24QGraphicsSceneMouseEvent @ 1131 NONAME + _ZN21QDeclarativeMouseArea18setAcceptedButtonsE6QFlagsIN2Qt11MouseButtonEE @ 1132 NONAME + _ZN21QDeclarativeMouseArea19getStaticMetaObjectEv @ 1133 NONAME + _ZN21QDeclarativeMouseArea21mouseDoubleClickEventEP24QGraphicsSceneMouseEvent @ 1134 NONAME + _ZN21QDeclarativeMouseArea22acceptedButtonsChangedEv @ 1135 NONAME + _ZN21QDeclarativeMouseArea4dragEv @ 1136 NONAME + _ZN21QDeclarativeMouseArea6exitedEv @ 1137 NONAME + _ZN21QDeclarativeMouseArea7clickedEP22QDeclarativeMouseEvent @ 1138 NONAME + _ZN21QDeclarativeMouseArea7enteredEv @ 1139 NONAME + _ZN21QDeclarativeMouseArea7pressedEP22QDeclarativeMouseEvent @ 1140 NONAME + _ZN21QDeclarativeMouseArea8releasedEP22QDeclarativeMouseEvent @ 1141 NONAME + _ZN21QDeclarativeMouseAreaC1EP16QDeclarativeItem @ 1142 NONAME + _ZN21QDeclarativeMouseAreaC2EP16QDeclarativeItem @ 1143 NONAME + _ZN21QDeclarativeMouseAreaD0Ev @ 1144 NONAME + _ZN21QDeclarativeMouseAreaD1Ev @ 1145 NONAME + _ZN21QDeclarativeMouseAreaD2Ev @ 1146 NONAME + _ZN21QDeclarativePathCubic11qt_metacallEN11QMetaObject4CallEiPPv @ 1147 NONAME + _ZN21QDeclarativePathCubic11qt_metacastEPKc @ 1148 NONAME + _ZN21QDeclarativePathCubic12setControl1XEf @ 1149 NONAME + _ZN21QDeclarativePathCubic12setControl1YEf @ 1150 NONAME + _ZN21QDeclarativePathCubic12setControl2XEf @ 1151 NONAME + _ZN21QDeclarativePathCubic12setControl2YEf @ 1152 NONAME + _ZN21QDeclarativePathCubic16staticMetaObjectE @ 1153 NONAME DATA 16 + _ZN21QDeclarativePathCubic19getStaticMetaObjectEv @ 1154 NONAME + _ZN21QDeclarativePathCubic9addToPathER12QPainterPath @ 1155 NONAME + _ZN21QDeclarativeRectangle11qt_metacallEN11QMetaObject4CallEiPPv @ 1156 NONAME + _ZN21QDeclarativeRectangle11qt_metacastEPKc @ 1157 NONAME + _ZN21QDeclarativeRectangle11setGradientEP20QDeclarativeGradient @ 1158 NONAME + _ZN21QDeclarativeRectangle12colorChangedEv @ 1159 NONAME + _ZN21QDeclarativeRectangle13radiusChangedEv @ 1160 NONAME + _ZN21QDeclarativeRectangle16staticMetaObjectE @ 1161 NONAME DATA 16 + _ZN21QDeclarativeRectangle19generateRoundedRectEv @ 1162 NONAME + _ZN21QDeclarativeRectangle19getStaticMetaObjectEv @ 1163 NONAME + _ZN21QDeclarativeRectangle20generateBorderedRectEv @ 1164 NONAME + _ZN21QDeclarativeRectangle5paintEP8QPainterPK24QStyleOptionGraphicsItemP7QWidget @ 1165 NONAME + _ZN21QDeclarativeRectangle6borderEv @ 1166 NONAME + _ZN21QDeclarativeRectangle8doUpdateEv @ 1167 NONAME + _ZN21QDeclarativeRectangle8drawRectER8QPainter @ 1168 NONAME + _ZN21QDeclarativeRectangle8setColorERK6QColor @ 1169 NONAME + _ZN21QDeclarativeRectangle9setRadiusEf @ 1170 NONAME + _ZN21QDeclarativeRectangleC1EP16QDeclarativeItem @ 1171 NONAME + _ZN21QDeclarativeRectangleC2EP16QDeclarativeItem @ 1172 NONAME + _ZN21QDeclarativeScaleGrid11qt_metacallEN11QMetaObject4CallEiPPv @ 1173 NONAME + _ZN21QDeclarativeScaleGrid11qt_metacastEPKc @ 1174 NONAME + _ZN21QDeclarativeScaleGrid13borderChangedEv @ 1175 NONAME + _ZN21QDeclarativeScaleGrid16staticMetaObjectE @ 1176 NONAME DATA 16 + _ZN21QDeclarativeScaleGrid19getStaticMetaObjectEv @ 1177 NONAME + _ZN21QDeclarativeScaleGrid6setTopEi @ 1178 NONAME + _ZN21QDeclarativeScaleGrid7setLeftEi @ 1179 NONAME + _ZN21QDeclarativeScaleGrid8setRightEi @ 1180 NONAME + _ZN21QDeclarativeScaleGrid9setBottomEi @ 1181 NONAME + _ZN21QDeclarativeScaleGridC1EP7QObject @ 1182 NONAME + _ZN21QDeclarativeScaleGridC2EP7QObject @ 1183 NONAME + _ZN21QDeclarativeScaleGridD0Ev @ 1184 NONAME + _ZN21QDeclarativeScaleGridD1Ev @ 1185 NONAME + _ZN21QDeclarativeScaleGridD2Ev @ 1186 NONAME + _ZN21QDeclarativeTextInput10moveCursorEv @ 1187 NONAME + _ZN21QDeclarativeTextInput10updateRectERK5QRect @ 1188 NONAME + _ZN21QDeclarativeTextInput10updateSizeEb @ 1189 NONAME + _ZN21QDeclarativeTextInput11fontChangedERK5QFont @ 1190 NONAME + _ZN21QDeclarativeTextInput11qt_metacallEN11QMetaObject4CallEiPPv @ 1191 NONAME + _ZN21QDeclarativeTextInput11qt_metacastEPKc @ 1192 NONAME + _ZN21QDeclarativeTextInput11setEchoModeENS_8EchoModeE @ 1193 NONAME + _ZN21QDeclarativeTextInput11setReadOnlyEb @ 1194 NONAME + _ZN21QDeclarativeTextInput11textChangedEv @ 1195 NONAME + _ZN21QDeclarativeTextInput12colorChangedERK6QColor @ 1196 NONAME + _ZN21QDeclarativeTextInput12createCursorEv @ 1197 NONAME + _ZN21QDeclarativeTextInput12drawContentsEP8QPainterRK5QRect @ 1198 NONAME + _ZN21QDeclarativeTextInput12setInputMaskERK7QString @ 1199 NONAME + _ZN21QDeclarativeTextInput12setMaxLengthEi @ 1200 NONAME + _ZN21QDeclarativeTextInput12setValidatorEP10QValidator @ 1201 NONAME + _ZN21QDeclarativeTextInput13keyPressEventEP9QKeyEvent @ 1202 NONAME + _ZN21QDeclarativeTextInput13q_textChangedEv @ 1203 NONAME + _ZN21QDeclarativeTextInput15echoModeChangedENS_8EchoModeE @ 1204 NONAME + _ZN21QDeclarativeTextInput15geometryChangedERK6QRectFS2_ @ 1205 NONAME + _ZN21QDeclarativeTextInput15mousePressEventEP24QGraphicsSceneMouseEvent @ 1206 NONAME + _ZN21QDeclarativeTextInput15readOnlyChangedEb @ 1207 NONAME + _ZN21QDeclarativeTextInput15setFocusOnPressEb @ 1208 NONAME + _ZN21QDeclarativeTextInput15setSelectionEndEi @ 1209 NONAME + _ZN21QDeclarativeTextInput16cursorPosChangedEv @ 1210 NONAME + _ZN21QDeclarativeTextInput16inputMaskChangedERK7QString @ 1211 NONAME + _ZN21QDeclarativeTextInput16selectionChangedEv @ 1212 NONAME + _ZN21QDeclarativeTextInput16setCursorVisibleEb @ 1213 NONAME + _ZN21QDeclarativeTextInput16staticMetaObjectE @ 1214 NONAME DATA 16 + _ZN21QDeclarativeTextInput16validatorChangedEv @ 1215 NONAME + _ZN21QDeclarativeTextInput17mouseReleaseEventEP24QGraphicsSceneMouseEvent @ 1216 NONAME + _ZN21QDeclarativeTextInput17setCursorDelegateEP21QDeclarativeComponent @ 1217 NONAME + _ZN21QDeclarativeTextInput17setCursorPositionEi @ 1218 NONAME + _ZN21QDeclarativeTextInput17setSelectionColorERK6QColor @ 1219 NONAME + _ZN21QDeclarativeTextInput17setSelectionStartEi @ 1220 NONAME + _ZN21QDeclarativeTextInput19focusOnPressChangedEb @ 1221 NONAME + _ZN21QDeclarativeTextInput19getStaticMetaObjectEv @ 1222 NONAME + _ZN21QDeclarativeTextInput19selectedTextChangedEv @ 1223 NONAME + _ZN21QDeclarativeTextInput19selectionEndChangedEv @ 1224 NONAME + _ZN21QDeclarativeTextInput20cursorVisibleChangedEb @ 1225 NONAME + _ZN21QDeclarativeTextInput20maximumLengthChangedEi @ 1226 NONAME + _ZN21QDeclarativeTextInput20setSelectedTextColorERK6QColor @ 1227 NONAME + _ZN21QDeclarativeTextInput21cursorDelegateChangedEv @ 1228 NONAME + _ZN21QDeclarativeTextInput21cursorPositionChangedEv @ 1229 NONAME + _ZN21QDeclarativeTextInput21selectionColorChangedERK6QColor @ 1230 NONAME + _ZN21QDeclarativeTextInput21selectionStartChangedEv @ 1231 NONAME + _ZN21QDeclarativeTextInput22acceptableInputChangedEv @ 1232 NONAME + _ZN21QDeclarativeTextInput24selectedTextColorChangedERK6QColor @ 1233 NONAME + _ZN21QDeclarativeTextInput26horizontalAlignmentChangedENS_10HAlignmentE @ 1234 NONAME + _ZN21QDeclarativeTextInput5eventEP6QEvent @ 1235 NONAME + _ZN21QDeclarativeTextInput6xToPosEi @ 1236 NONAME + _ZN21QDeclarativeTextInput7setFontERK5QFont @ 1237 NONAME + _ZN21QDeclarativeTextInput7setTextERK7QString @ 1238 NONAME + _ZN21QDeclarativeTextInput8acceptedEv @ 1239 NONAME + _ZN21QDeclarativeTextInput8setColorERK6QColor @ 1240 NONAME + _ZN21QDeclarativeTextInput9selectAllEv @ 1241 NONAME + _ZN21QDeclarativeTextInput9setHAlignENS_10HAlignmentE @ 1242 NONAME + _ZN21QDeclarativeTextInputC1EP16QDeclarativeItem @ 1243 NONAME + _ZN21QDeclarativeTextInputC2EP16QDeclarativeItem @ 1244 NONAME + _ZN21QDeclarativeTextInputD0Ev @ 1245 NONAME + _ZN21QDeclarativeTextInputD1Ev @ 1246 NONAME + _ZN21QDeclarativeTextInputD2Ev @ 1247 NONAME + _ZN21QDeclarativeTranslate11qt_metacallEN11QMetaObject4CallEiPPv @ 1248 NONAME + _ZN21QDeclarativeTranslate11qt_metacastEPKc @ 1249 NONAME + _ZN21QDeclarativeTranslate15positionChangedEv @ 1250 NONAME + _ZN21QDeclarativeTranslate16staticMetaObjectE @ 1251 NONAME DATA 16 + _ZN21QDeclarativeTranslate19getStaticMetaObjectEv @ 1252 NONAME + _ZN21QDeclarativeTranslate4setXEf @ 1253 NONAME + _ZN21QDeclarativeTranslate4setYEf @ 1254 NONAME + _ZN21QDeclarativeTranslateC1EP7QObject @ 1255 NONAME + _ZN21QDeclarativeTranslateC2EP7QObject @ 1256 NONAME + _ZN21QDeclarativeTranslateD0Ev @ 1257 NONAME + _ZN21QDeclarativeTranslateD1Ev @ 1258 NONAME + _ZN21QDeclarativeTranslateD2Ev @ 1259 NONAME + _ZN21QDeclarativeValueType11qt_metacallEN11QMetaObject4CallEiPPv @ 1260 NONAME + _ZN21QDeclarativeValueType11qt_metacastEPKc @ 1261 NONAME + _ZN21QDeclarativeValueType16staticMetaObjectE @ 1262 NONAME DATA 16 + _ZN21QDeclarativeValueType19getStaticMetaObjectEv @ 1263 NONAME + _ZN21QDeclarativeValueTypeC2EP7QObject @ 1264 NONAME + _ZN22QDeclarativeDebugQuery11qt_metacallEN11QMetaObject4CallEiPPv @ 1265 NONAME + _ZN22QDeclarativeDebugQuery11qt_metacastEPKc @ 1266 NONAME + _ZN22QDeclarativeDebugQuery12stateChangedENS_5StateE @ 1267 NONAME + _ZN22QDeclarativeDebugQuery16staticMetaObjectE @ 1268 NONAME DATA 16 + _ZN22QDeclarativeDebugQuery19getStaticMetaObjectEv @ 1269 NONAME + _ZN22QDeclarativeDebugQuery8setStateENS_5StateE @ 1270 NONAME + _ZN22QDeclarativeDebugQueryC1EP7QObject @ 1271 NONAME + _ZN22QDeclarativeDebugQueryC2EP7QObject @ 1272 NONAME + _ZN22QDeclarativeDebugWatch11qt_metacallEN11QMetaObject4CallEiPPv @ 1273 NONAME + _ZN22QDeclarativeDebugWatch11qt_metacastEPKc @ 1274 NONAME + _ZN22QDeclarativeDebugWatch12stateChangedENS_5StateE @ 1275 NONAME + _ZN22QDeclarativeDebugWatch12valueChangedERK10QByteArrayRK8QVariant @ 1276 NONAME + _ZN22QDeclarativeDebugWatch16staticMetaObjectE @ 1277 NONAME DATA 16 + _ZN22QDeclarativeDebugWatch19getStaticMetaObjectEv @ 1278 NONAME + _ZN22QDeclarativeDebugWatch8setStateENS_5StateE @ 1279 NONAME + _ZN22QDeclarativeDebugWatchC1EP7QObject @ 1280 NONAME + _ZN22QDeclarativeDebugWatchC2EP7QObject @ 1281 NONAME + _ZN22QDeclarativeDebugWatchD0Ev @ 1282 NONAME + _ZN22QDeclarativeDebugWatchD1Ev @ 1283 NONAME + _ZN22QDeclarativeDebugWatchD2Ev @ 1284 NONAME + _ZN22QDeclarativeExpression10__q_notifyEv @ 1285 NONAME + _ZN22QDeclarativeExpression10clearErrorEv @ 1286 NONAME + _ZN22QDeclarativeExpression11qt_metacallEN11QMetaObject4CallEiPPv @ 1287 NONAME + _ZN22QDeclarativeExpression11qt_metacastEPKc @ 1288 NONAME + _ZN22QDeclarativeExpression12valueChangedEv @ 1289 NONAME + _ZN22QDeclarativeExpression13setExpressionERK7QString @ 1290 NONAME + _ZN22QDeclarativeExpression16staticMetaObjectE @ 1291 NONAME DATA 16 + _ZN22QDeclarativeExpression17setSourceLocationERK7QStringi @ 1292 NONAME + _ZN22QDeclarativeExpression19getStaticMetaObjectEv @ 1293 NONAME + _ZN22QDeclarativeExpression23setNotifyOnValueChangedEb @ 1294 NONAME + _ZN22QDeclarativeExpression5valueEPb @ 1295 NONAME + _ZN22QDeclarativeExpressionC1EP19QDeclarativeContextRK7QStringP7QObject @ 1296 NONAME + _ZN22QDeclarativeExpressionC1EP23QDeclarativeContextDataPvP20QDeclarativeRefCountP7QObjectRK7QStringiR29QDeclarativeExpressionPrivate @ 1297 NONAME + _ZN22QDeclarativeExpressionC1EP23QDeclarativeContextDataRK7QStringP7QObject @ 1298 NONAME + _ZN22QDeclarativeExpressionC1EP23QDeclarativeContextDataRK7QStringP7QObjectR29QDeclarativeExpressionPrivate @ 1299 NONAME + _ZN22QDeclarativeExpressionC1Ev @ 1300 NONAME + _ZN22QDeclarativeExpressionC2EP19QDeclarativeContextRK7QStringP7QObject @ 1301 NONAME + _ZN22QDeclarativeExpressionC2EP23QDeclarativeContextDataPvP20QDeclarativeRefCountP7QObjectRK7QStringiR29QDeclarativeExpressionPrivate @ 1302 NONAME + _ZN22QDeclarativeExpressionC2EP23QDeclarativeContextDataRK7QStringP7QObject @ 1303 NONAME + _ZN22QDeclarativeExpressionC2EP23QDeclarativeContextDataRK7QStringP7QObjectR29QDeclarativeExpressionPrivate @ 1304 NONAME + _ZN22QDeclarativeExpressionC2Ev @ 1305 NONAME + _ZN22QDeclarativeExpressionD0Ev @ 1306 NONAME + _ZN22QDeclarativeExpressionD1Ev @ 1307 NONAME + _ZN22QDeclarativeExpressionD2Ev @ 1308 NONAME + _ZN22QDeclarativeFocusPanel10sceneEventEP6QEvent @ 1309 NONAME + _ZN22QDeclarativeFocusPanel11qt_metacallEN11QMetaObject4CallEiPPv @ 1310 NONAME + _ZN22QDeclarativeFocusPanel11qt_metacastEPKc @ 1311 NONAME + _ZN22QDeclarativeFocusPanel13activeChangedEv @ 1312 NONAME + _ZN22QDeclarativeFocusPanel16staticMetaObjectE @ 1313 NONAME DATA 16 + _ZN22QDeclarativeFocusPanel19getStaticMetaObjectEv @ 1314 NONAME + _ZN22QDeclarativeFocusPanelC1EP16QDeclarativeItem @ 1315 NONAME + _ZN22QDeclarativeFocusPanelC2EP16QDeclarativeItem @ 1316 NONAME + _ZN22QDeclarativeFocusPanelD0Ev @ 1317 NONAME + _ZN22QDeclarativeFocusPanelD1Ev @ 1318 NONAME + _ZN22QDeclarativeFocusPanelD2Ev @ 1319 NONAME + _ZN22QDeclarativeFocusScope11qt_metacallEN11QMetaObject4CallEiPPv @ 1320 NONAME + _ZN22QDeclarativeFocusScope11qt_metacastEPKc @ 1321 NONAME + _ZN22QDeclarativeFocusScope16staticMetaObjectE @ 1322 NONAME DATA 16 + _ZN22QDeclarativeFocusScope19getStaticMetaObjectEv @ 1323 NONAME + _ZN22QDeclarativeFocusScopeC1EP16QDeclarativeItem @ 1324 NONAME + _ZN22QDeclarativeFocusScopeC2EP16QDeclarativeItem @ 1325 NONAME + _ZN22QDeclarativeFocusScopeD0Ev @ 1326 NONAME + _ZN22QDeclarativeFocusScopeD1Ev @ 1327 NONAME + _ZN22QDeclarativeFocusScopeD2Ev @ 1328 NONAME + _ZN22QDeclarativeFontLoader11nameChangedEv @ 1329 NONAME + _ZN22QDeclarativeFontLoader11qt_metacallEN11QMetaObject4CallEiPPv @ 1330 NONAME + _ZN22QDeclarativeFontLoader11qt_metacastEPKc @ 1331 NONAME + _ZN22QDeclarativeFontLoader13replyFinishedEv @ 1332 NONAME + _ZN22QDeclarativeFontLoader13statusChangedEv @ 1333 NONAME + _ZN22QDeclarativeFontLoader16staticMetaObjectE @ 1334 NONAME DATA 16 + _ZN22QDeclarativeFontLoader19getStaticMetaObjectEv @ 1335 NONAME + _ZN22QDeclarativeFontLoader7setNameERK7QString @ 1336 NONAME + _ZN22QDeclarativeFontLoader9setSourceERK4QUrl @ 1337 NONAME + _ZN22QDeclarativeFontLoaderC1EP7QObject @ 1338 NONAME + _ZN22QDeclarativeFontLoaderC2EP7QObject @ 1339 NONAME + _ZN22QDeclarativeFontLoaderD0Ev @ 1340 NONAME + _ZN22QDeclarativeFontLoaderD1Ev @ 1341 NONAME + _ZN22QDeclarativeFontLoaderD2Ev @ 1342 NONAME + _ZN22QDeclarativeStateGroup10classBeginEv @ 1343 NONAME + _ZN22QDeclarativeStateGroup11qt_metacallEN11QMetaObject4CallEiPPv @ 1344 NONAME + _ZN22QDeclarativeStateGroup11qt_metacastEPKc @ 1345 NONAME + _ZN22QDeclarativeStateGroup11removeStateEP17QDeclarativeState @ 1346 NONAME + _ZN22QDeclarativeStateGroup12stateChangedERK7QString @ 1347 NONAME + _ZN22QDeclarativeStateGroup14statesPropertyEv @ 1348 NONAME + _ZN22QDeclarativeStateGroup15updateAutoStateEv @ 1349 NONAME + _ZN22QDeclarativeStateGroup16staticMetaObjectE @ 1350 NONAME DATA 16 + _ZN22QDeclarativeStateGroup17componentCompleteEv @ 1351 NONAME + _ZN22QDeclarativeStateGroup19getStaticMetaObjectEv @ 1352 NONAME + _ZN22QDeclarativeStateGroup19transitionsPropertyEv @ 1353 NONAME + _ZN22QDeclarativeStateGroup8setStateERK7QString @ 1354 NONAME + _ZN22QDeclarativeStateGroupC1EP7QObject @ 1355 NONAME + _ZN22QDeclarativeStateGroupC2EP7QObject @ 1356 NONAME + _ZN22QDeclarativeStateGroupD0Ev @ 1357 NONAME + _ZN22QDeclarativeStateGroupD1Ev @ 1358 NONAME + _ZN22QDeclarativeStateGroupD2Ev @ 1359 NONAME + _ZN22QDeclarativeStyledText5parseERK7QStringR11QTextLayout @ 1360 NONAME + _ZN22QDeclarativeStyledTextC1ERK7QStringR11QTextLayout @ 1361 NONAME + _ZN22QDeclarativeStyledTextC2ERK7QStringR11QTextLayout @ 1362 NONAME + _ZN22QDeclarativeStyledTextD1Ev @ 1363 NONAME + _ZN22QDeclarativeStyledTextD2Ev @ 1364 NONAME + _ZN22QDeclarativeTransition10animationsEv @ 1365 NONAME + _ZN22QDeclarativeTransition10setToStateERK7QString @ 1366 NONAME + _ZN22QDeclarativeTransition11fromChangedEv @ 1367 NONAME + _ZN22QDeclarativeTransition11qt_metacallEN11QMetaObject4CallEiPPv @ 1368 NONAME + _ZN22QDeclarativeTransition11qt_metacastEPKc @ 1369 NONAME + _ZN22QDeclarativeTransition11setReversedEb @ 1370 NONAME + _ZN22QDeclarativeTransition12setFromStateERK7QString @ 1371 NONAME + _ZN22QDeclarativeTransition13setReversibleEb @ 1372 NONAME + _ZN22QDeclarativeTransition16staticMetaObjectE @ 1373 NONAME DATA 16 + _ZN22QDeclarativeTransition17reversibleChangedEv @ 1374 NONAME + _ZN22QDeclarativeTransition19getStaticMetaObjectEv @ 1375 NONAME + _ZN22QDeclarativeTransition4stopEv @ 1376 NONAME + _ZN22QDeclarativeTransition7prepareER5QListI18QDeclarativeActionERS0_I20QDeclarativePropertyEP29QDeclarativeTransitionManager @ 1377 NONAME + _ZN22QDeclarativeTransition9toChangedEv @ 1378 NONAME + _ZN22QDeclarativeTransitionC1EP7QObject @ 1379 NONAME + _ZN22QDeclarativeTransitionC2EP7QObject @ 1380 NONAME + _ZN22QDeclarativeTransitionD0Ev @ 1381 NONAME + _ZN22QDeclarativeTransitionD1Ev @ 1382 NONAME + _ZN22QDeclarativeTransitionD2Ev @ 1383 NONAME + _ZN23QDeclarativeBorderImage11qt_metacallEN11QMetaObject4CallEiPPv @ 1384 NONAME + _ZN23QDeclarativeBorderImage11qt_metacastEPKc @ 1385 NONAME + _ZN23QDeclarativeBorderImage15requestFinishedEv @ 1386 NONAME + _ZN23QDeclarativeBorderImage16staticMetaObjectE @ 1387 NONAME DATA 16 + _ZN23QDeclarativeBorderImage18sciRequestFinishedEv @ 1388 NONAME + _ZN23QDeclarativeBorderImage18setGridScaledImageERK27QDeclarativeGridScaledImage @ 1389 NONAME + _ZN23QDeclarativeBorderImage19getStaticMetaObjectEv @ 1390 NONAME + _ZN23QDeclarativeBorderImage19setVerticalTileModeENS_8TileModeE @ 1391 NONAME + _ZN23QDeclarativeBorderImage21setHorizontalTileModeENS_8TileModeE @ 1392 NONAME + _ZN23QDeclarativeBorderImage23verticalTileModeChangedEv @ 1393 NONAME + _ZN23QDeclarativeBorderImage25horizontalTileModeChangedEv @ 1394 NONAME + _ZN23QDeclarativeBorderImage4loadEv @ 1395 NONAME + _ZN23QDeclarativeBorderImage5paintEP8QPainterPK24QStyleOptionGraphicsItemP7QWidget @ 1396 NONAME + _ZN23QDeclarativeBorderImage6borderEv @ 1397 NONAME + _ZN23QDeclarativeBorderImage9setSourceERK4QUrl @ 1398 NONAME + _ZN23QDeclarativeBorderImageC1EP16QDeclarativeItem @ 1399 NONAME + _ZN23QDeclarativeBorderImageC2EP16QDeclarativeItem @ 1400 NONAME + _ZN23QDeclarativeBorderImageD0Ev @ 1401 NONAME + _ZN23QDeclarativeBorderImageD1Ev @ 1402 NONAME + _ZN23QDeclarativeBorderImageD2Ev @ 1403 NONAME + _ZN23QDeclarativeConnections11qt_metacallEN11QMetaObject4CallEiPPv @ 1404 NONAME + _ZN23QDeclarativeConnections11qt_metacastEPKc @ 1405 NONAME + _ZN23QDeclarativeConnections13targetChangedEv @ 1406 NONAME + _ZN23QDeclarativeConnections14connectSignalsEv @ 1407 NONAME + _ZN23QDeclarativeConnections16staticMetaObjectE @ 1408 NONAME DATA 16 + _ZN23QDeclarativeConnections17componentCompleteEv @ 1409 NONAME + _ZN23QDeclarativeConnections19getStaticMetaObjectEv @ 1410 NONAME + _ZN23QDeclarativeConnections9setTargetEP7QObject @ 1411 NONAME + _ZN23QDeclarativeConnectionsC1EP7QObject @ 1412 NONAME + _ZN23QDeclarativeConnectionsC2EP7QObject @ 1413 NONAME + _ZN23QDeclarativeConnectionsD0Ev @ 1414 NONAME + _ZN23QDeclarativeConnectionsD1Ev @ 1415 NONAME + _ZN23QDeclarativeConnectionsD2Ev @ 1416 NONAME + _ZN23QDeclarativeDebugClient10setEnabledEb @ 1417 NONAME + _ZN23QDeclarativeDebugClient11qt_metacallEN11QMetaObject4CallEiPPv @ 1418 NONAME + _ZN23QDeclarativeDebugClient11qt_metacastEPKc @ 1419 NONAME + _ZN23QDeclarativeDebugClient11sendMessageERK10QByteArray @ 1420 NONAME + _ZN23QDeclarativeDebugClient15messageReceivedERK10QByteArray @ 1421 NONAME + _ZN23QDeclarativeDebugClient16staticMetaObjectE @ 1422 NONAME DATA 16 + _ZN23QDeclarativeDebugClient19getStaticMetaObjectEv @ 1423 NONAME + _ZN23QDeclarativeDebugClientC1ERK7QStringP27QDeclarativeDebugConnection @ 1424 NONAME + _ZN23QDeclarativeDebugClientC2ERK7QStringP27QDeclarativeDebugConnection @ 1425 NONAME + _ZN23QDeclarativeDomDocument4loadEP18QDeclarativeEngineRK10QByteArrayRK4QUrl @ 1426 NONAME + _ZN23QDeclarativeDomDocumentC1ERKS_ @ 1427 NONAME + _ZN23QDeclarativeDomDocumentC1Ev @ 1428 NONAME + _ZN23QDeclarativeDomDocumentC2ERKS_ @ 1429 NONAME + _ZN23QDeclarativeDomDocumentC2Ev @ 1430 NONAME + _ZN23QDeclarativeDomDocumentD1Ev @ 1431 NONAME + _ZN23QDeclarativeDomDocumentD2Ev @ 1432 NONAME + _ZN23QDeclarativeDomDocumentaSERKS_ @ 1433 NONAME + _ZN23QDeclarativeDomPropertyC1ERKS_ @ 1434 NONAME + _ZN23QDeclarativeDomPropertyC1Ev @ 1435 NONAME + _ZN23QDeclarativeDomPropertyC2ERKS_ @ 1436 NONAME + _ZN23QDeclarativeDomPropertyC2Ev @ 1437 NONAME + _ZN23QDeclarativeDomPropertyD1Ev @ 1438 NONAME + _ZN23QDeclarativeDomPropertyD2Ev @ 1439 NONAME + _ZN23QDeclarativeDomPropertyaSERKS_ @ 1440 NONAME + _ZN23QDeclarativeEngineDebug11qt_metacallEN11QMetaObject4CallEiPPv @ 1441 NONAME + _ZN23QDeclarativeEngineDebug11qt_metacastEPKc @ 1442 NONAME + _ZN23QDeclarativeEngineDebug11queryObjectERK32QDeclarativeDebugObjectReferenceP7QObject @ 1443 NONAME + _ZN23QDeclarativeEngineDebug11removeWatchEP22QDeclarativeDebugWatch @ 1444 NONAME + _ZN23QDeclarativeEngineDebug16staticMetaObjectE @ 1445 NONAME DATA 16 + _ZN23QDeclarativeEngineDebug17queryRootContextsERK32QDeclarativeDebugEngineReferenceP7QObject @ 1446 NONAME + _ZN23QDeclarativeEngineDebug19getStaticMetaObjectEv @ 1447 NONAME + _ZN23QDeclarativeEngineDebug20queryObjectRecursiveERK32QDeclarativeDebugObjectReferenceP7QObject @ 1448 NONAME + _ZN23QDeclarativeEngineDebug21queryAvailableEnginesEP7QObject @ 1449 NONAME + _ZN23QDeclarativeEngineDebug21queryExpressionResultEiRK7QStringP7QObject @ 1450 NONAME + _ZN23QDeclarativeEngineDebug8addWatchERK30QDeclarativeDebugFileReferenceP7QObject @ 1451 NONAME + _ZN23QDeclarativeEngineDebug8addWatchERK32QDeclarativeDebugObjectReferenceP7QObject @ 1452 NONAME + _ZN23QDeclarativeEngineDebug8addWatchERK32QDeclarativeDebugObjectReferenceRK7QStringP7QObject @ 1453 NONAME + _ZN23QDeclarativeEngineDebug8addWatchERK33QDeclarativeDebugContextReferenceRK7QStringP7QObject @ 1454 NONAME + _ZN23QDeclarativeEngineDebug8addWatchERK34QDeclarativeDebugPropertyReferenceP7QObject @ 1455 NONAME + _ZN23QDeclarativeEngineDebugC1EP27QDeclarativeDebugConnectionP7QObject @ 1456 NONAME + _ZN23QDeclarativeEngineDebugC2EP27QDeclarativeDebugConnectionP7QObject @ 1457 NONAME + _ZN23QDeclarativeItemPrivate10resetWidthEv @ 1458 NONAME + _ZN23QDeclarativeItemPrivate11currentTimeEv @ 1459 NONAME + _ZN23QDeclarativeItemPrivate11data_appendEP24QDeclarativeListPropertyI7QObjectEPS1_ @ 1460 NONAME + _ZN23QDeclarativeItemPrivate11resetHeightEv @ 1461 NONAME + _ZN23QDeclarativeItemPrivate12focusChangedEb @ 1462 NONAME + _ZN23QDeclarativeItemPrivate12resources_atEP24QDeclarativeListPropertyI7QObjectEi @ 1463 NONAME + _ZN23QDeclarativeItemPrivate12transform_atEP24QDeclarativeListPropertyI18QGraphicsTransformEi @ 1464 NONAME + _ZN23QDeclarativeItemPrivate14consistentTimeE @ 1465 NONAME DATA 4 + _ZN23QDeclarativeItemPrivate14parentPropertyEP7QObjectPvP28QDeclarativeNotifierEndpoint @ 1466 NONAME + _ZN23QDeclarativeItemPrivate15resources_countEP24QDeclarativeListPropertyI7QObjectE @ 1467 NONAME + _ZN23QDeclarativeItemPrivate15transform_clearEP24QDeclarativeListPropertyI18QGraphicsTransformE @ 1468 NONAME + _ZN23QDeclarativeItemPrivate15transform_countEP24QDeclarativeListPropertyI18QGraphicsTransformE @ 1469 NONAME + _ZN23QDeclarativeItemPrivate16resources_appendEP24QDeclarativeListPropertyI7QObjectEPS1_ @ 1470 NONAME + _ZN23QDeclarativeItemPrivate16transform_appendEP24QDeclarativeListPropertyI18QGraphicsTransformEPS1_ @ 1471 NONAME + _ZN23QDeclarativeItemPrivate17setConsistentTimeEi @ 1472 NONAME + _ZN23QDeclarativeItemPrivate24removeItemChangeListenerEP30QDeclarativeItemChangeListener6QFlagsINS_10ChangeTypeEE @ 1473 NONAME + _ZN23QDeclarativeItemPrivate5startER5QTime @ 1474 NONAME + _ZN23QDeclarativeItemPrivate6statesEv @ 1475 NONAME + _ZN23QDeclarativeItemPrivate7elapsedER5QTime @ 1476 NONAME + _ZN23QDeclarativeItemPrivate7restartER5QTime @ 1477 NONAME + _ZN23QDeclarativeItemPrivate8setWidthEf @ 1478 NONAME + _ZN23QDeclarativeItemPrivate9setHeightEf @ 1479 NONAME + _ZN23QDeclarativePaintedItem10clearCacheEv @ 1480 NONAME + _ZN23QDeclarativePaintedItem10dirtyCacheERK5QRect @ 1481 NONAME + _ZN23QDeclarativePaintedItem11qt_metacallEN11QMetaObject4CallEiPPv @ 1482 NONAME + _ZN23QDeclarativePaintedItem11qt_metacastEPKc @ 1483 NONAME + _ZN23QDeclarativePaintedItem12setFillColorERK6QColor @ 1484 NONAME + _ZN23QDeclarativePaintedItem14setCacheFrozenEb @ 1485 NONAME + _ZN23QDeclarativePaintedItem14setSmoothCacheEb @ 1486 NONAME + _ZN23QDeclarativePaintedItem15setContentsSizeERK5QSize @ 1487 NONAME + _ZN23QDeclarativePaintedItem16fillColorChangedEv @ 1488 NONAME + _ZN23QDeclarativePaintedItem16setContentsScaleEf @ 1489 NONAME + _ZN23QDeclarativePaintedItem16staticMetaObjectE @ 1490 NONAME DATA 16 + _ZN23QDeclarativePaintedItem17setPixelCacheSizeEi @ 1491 NONAME + _ZN23QDeclarativePaintedItem19contentsSizeChangedEv @ 1492 NONAME + _ZN23QDeclarativePaintedItem19getStaticMetaObjectEv @ 1493 NONAME + _ZN23QDeclarativePaintedItem20contentsScaleChangedEv @ 1494 NONAME + _ZN23QDeclarativePaintedItem4initEv @ 1495 NONAME + _ZN23QDeclarativePaintedItem5paintEP8QPainterPK24QStyleOptionGraphicsItemP7QWidget @ 1496 NONAME + _ZN23QDeclarativePaintedItemC2EP16QDeclarativeItem @ 1497 NONAME + _ZN23QDeclarativePaintedItemC2ER30QDeclarativePaintedItemPrivateP16QDeclarativeItem @ 1498 NONAME + _ZN23QDeclarativePaintedItemD0Ev @ 1499 NONAME + _ZN23QDeclarativePaintedItemD1Ev @ 1500 NONAME + _ZN23QDeclarativePaintedItemD2Ev @ 1501 NONAME + _ZN23QDeclarativePathElement11qt_metacallEN11QMetaObject4CallEiPPv @ 1502 NONAME + _ZN23QDeclarativePathElement11qt_metacastEPKc @ 1503 NONAME + _ZN23QDeclarativePathElement16staticMetaObjectE @ 1504 NONAME DATA 16 + _ZN23QDeclarativePathElement19getStaticMetaObjectEv @ 1505 NONAME + _ZN23QDeclarativePathElement7changedEv @ 1506 NONAME + _ZN23QDeclarativePathPercent11qt_metacallEN11QMetaObject4CallEiPPv @ 1507 NONAME + _ZN23QDeclarativePathPercent11qt_metacastEPKc @ 1508 NONAME + _ZN23QDeclarativePathPercent16staticMetaObjectE @ 1509 NONAME DATA 16 + _ZN23QDeclarativePathPercent19getStaticMetaObjectEv @ 1510 NONAME + _ZN23QDeclarativePathPercent8setValueEf @ 1511 NONAME + _ZN23QDeclarativePixmapCache15pendingRequestsEv @ 1512 NONAME + _ZN23QDeclarativePixmapCache3getERK4QUrlP7QPixmapP5QSizebii @ 1513 NONAME + _ZN23QDeclarativePixmapCache6cancelERK4QUrlP7QObject @ 1514 NONAME + _ZN23QDeclarativePixmapCache7requestEP18QDeclarativeEngineRK4QUrlii @ 1515 NONAME + _ZN23QDeclarativePixmapReply10setLoadingEv @ 1516 NONAME + _ZN23QDeclarativePixmapReply11qt_metacallEN11QMetaObject4CallEiPPv @ 1517 NONAME + _ZN23QDeclarativePixmapReply11qt_metacastEPKc @ 1518 NONAME + _ZN23QDeclarativePixmapReply16downloadProgressExx @ 1519 NONAME + _ZN23QDeclarativePixmapReply16staticMetaObjectE @ 1520 NONAME DATA 16 + _ZN23QDeclarativePixmapReply19getStaticMetaObjectEv @ 1521 NONAME + _ZN23QDeclarativePixmapReply5eventEP6QEvent @ 1522 NONAME + _ZN23QDeclarativePixmapReply6addRefEv @ 1523 NONAME + _ZN23QDeclarativePixmapReply7releaseEb @ 1524 NONAME + _ZN23QDeclarativePixmapReply8finishedEv @ 1525 NONAME + _ZN23QDeclarativePixmapReplyC1EP23QDeclarativeImageReaderRK4QUrlii @ 1526 NONAME + _ZN23QDeclarativePixmapReplyC2EP23QDeclarativeImageReaderRK4QUrlii @ 1527 NONAME + _ZN23QDeclarativePixmapReplyD0Ev @ 1528 NONAME + _ZN23QDeclarativePixmapReplyD1Ev @ 1529 NONAME + _ZN23QDeclarativePixmapReplyD2Ev @ 1530 NONAME + _ZN23QDeclarativePropertyMap11qt_metacallEN11QMetaObject4CallEiPPv @ 1531 NONAME + _ZN23QDeclarativePropertyMap11qt_metacastEPKc @ 1532 NONAME + _ZN23QDeclarativePropertyMap12valueChangedERK7QStringRK8QVariant @ 1533 NONAME + _ZN23QDeclarativePropertyMap16staticMetaObjectE @ 1534 NONAME DATA 16 + _ZN23QDeclarativePropertyMap19getStaticMetaObjectEv @ 1535 NONAME + _ZN23QDeclarativePropertyMap5clearERK7QString @ 1536 NONAME + _ZN23QDeclarativePropertyMap6insertERK7QStringRK8QVariant @ 1537 NONAME + _ZN23QDeclarativePropertyMapC1EP7QObject @ 1538 NONAME + _ZN23QDeclarativePropertyMapC2EP7QObject @ 1539 NONAME + _ZN23QDeclarativePropertyMapD0Ev @ 1540 NONAME + _ZN23QDeclarativePropertyMapD1Ev @ 1541 NONAME + _ZN23QDeclarativePropertyMapD2Ev @ 1542 NONAME + _ZN23QDeclarativePropertyMapixERK7QString @ 1543 NONAME + _ZN23QDeclarativeViewSection11qt_metacallEN11QMetaObject4CallEiPPv @ 1544 NONAME + _ZN23QDeclarativeViewSection11qt_metacastEPKc @ 1545 NONAME + _ZN23QDeclarativeViewSection11setCriteriaENS_15SectionCriteriaE @ 1546 NONAME + _ZN23QDeclarativeViewSection11setDelegateEP21QDeclarativeComponent @ 1547 NONAME + _ZN23QDeclarativeViewSection11setPropertyERK7QString @ 1548 NONAME + _ZN23QDeclarativeViewSection13sectionStringERK7QString @ 1549 NONAME + _ZN23QDeclarativeViewSection15delegateChangedEv @ 1550 NONAME + _ZN23QDeclarativeViewSection16staticMetaObjectE @ 1551 NONAME DATA 16 + _ZN23QDeclarativeViewSection19getStaticMetaObjectEv @ 1552 NONAME + _ZN23QDeclarativeViewSection7changedEv @ 1553 NONAME + _ZN23QDeclarativeVisualModel10itemsMovedEiii @ 1554 NONAME + _ZN23QDeclarativeVisualModel10modelResetEv @ 1555 NONAME + _ZN23QDeclarativeVisualModel11createdItemEiP16QDeclarativeItem @ 1556 NONAME + _ZN23QDeclarativeVisualModel11qt_metacallEN11QMetaObject4CallEiPPv @ 1557 NONAME + _ZN23QDeclarativeVisualModel11qt_metacastEPKc @ 1558 NONAME + _ZN23QDeclarativeVisualModel12countChangedEv @ 1559 NONAME + _ZN23QDeclarativeVisualModel12itemsRemovedEii @ 1560 NONAME + _ZN23QDeclarativeVisualModel13itemsInsertedEii @ 1561 NONAME + _ZN23QDeclarativeVisualModel14destroyingItemEP16QDeclarativeItem @ 1562 NONAME + _ZN23QDeclarativeVisualModel16staticMetaObjectE @ 1563 NONAME DATA 16 + _ZN23QDeclarativeVisualModel19getStaticMetaObjectEv @ 1564 NONAME + _ZN24QDeclarativeCustomParser11clearErrorsEv @ 1565 NONAME + _ZN24QDeclarativeCustomParser5errorERK28QDeclarativeCustomParserNodeRK7QString @ 1566 NONAME + _ZN24QDeclarativeCustomParser5errorERK32QDeclarativeCustomParserPropertyRK7QString @ 1567 NONAME + _ZN24QDeclarativeDebugService11idForObjectEP7QObject @ 1568 NONAME + _ZN24QDeclarativeDebugService11objectForIdEi @ 1569 NONAME + _ZN24QDeclarativeDebugService11qt_metacallEN11QMetaObject4CallEiPPv @ 1570 NONAME + _ZN24QDeclarativeDebugService11qt_metacastEPKc @ 1571 NONAME + _ZN24QDeclarativeDebugService11sendMessageERK10QByteArray @ 1572 NONAME + _ZN24QDeclarativeDebugService14enabledChangedEb @ 1573 NONAME + _ZN24QDeclarativeDebugService14objectToStringEP7QObject @ 1574 NONAME + _ZN24QDeclarativeDebugService14waitForClientsEv @ 1575 NONAME + _ZN24QDeclarativeDebugService15messageReceivedERK10QByteArray @ 1576 NONAME + _ZN24QDeclarativeDebugService16staticMetaObjectE @ 1577 NONAME DATA 16 + _ZN24QDeclarativeDebugService18isDebuggingEnabledEv @ 1578 NONAME + _ZN24QDeclarativeDebugService19getStaticMetaObjectEv @ 1579 NONAME + _ZN24QDeclarativeDebugService19notifyOnServerStartEP7QObjectPKc @ 1580 NONAME + _ZN24QDeclarativeDebugServiceC1ERK7QStringP7QObject @ 1581 NONAME + _ZN24QDeclarativeDebugServiceC2ERK7QStringP7QObject @ 1582 NONAME + _ZN24QDeclarativeDomComponentC1ERKS_ @ 1583 NONAME + _ZN24QDeclarativeDomComponentC1Ev @ 1584 NONAME + _ZN24QDeclarativeDomComponentC2ERKS_ @ 1585 NONAME + _ZN24QDeclarativeDomComponentC2Ev @ 1586 NONAME + _ZN24QDeclarativeDomComponentD1Ev @ 1587 NONAME + _ZN24QDeclarativeDomComponentD2Ev @ 1588 NONAME + _ZN24QDeclarativeDomComponentaSERKS_ @ 1589 NONAME + _ZN24QDeclarativeGradientStop11qt_metacallEN11QMetaObject4CallEiPPv @ 1590 NONAME + _ZN24QDeclarativeGradientStop11qt_metacastEPKc @ 1591 NONAME + _ZN24QDeclarativeGradientStop14updateGradientEv @ 1592 NONAME + _ZN24QDeclarativeGradientStop16staticMetaObjectE @ 1593 NONAME DATA 16 + _ZN24QDeclarativeGradientStop19getStaticMetaObjectEv @ 1594 NONAME + _ZN24QDeclarativeListAccessor7setListERK8QVariantP18QDeclarativeEngine @ 1595 NONAME + _ZN24QDeclarativeListAccessorC1Ev @ 1596 NONAME + _ZN24QDeclarativeListAccessorC2Ev @ 1597 NONAME + _ZN24QDeclarativeListAccessorD1Ev @ 1598 NONAME + _ZN24QDeclarativeListAccessorD2Ev @ 1599 NONAME + _ZN24QDeclarativeParentChange11qt_metacallEN11QMetaObject4CallEiPPv @ 1600 NONAME + _ZN24QDeclarativeParentChange11qt_metacastEPKc @ 1601 NONAME + _ZN24QDeclarativeParentChange11setRotationEf @ 1602 NONAME + _ZN24QDeclarativeParentChange12isReversableEv @ 1603 NONAME + _ZN24QDeclarativeParentChange13copyOriginalsEP23QDeclarativeActionEvent @ 1604 NONAME + _ZN24QDeclarativeParentChange13saveOriginalsEv @ 1605 NONAME + _ZN24QDeclarativeParentChange16staticMetaObjectE @ 1606 NONAME DATA 16 + _ZN24QDeclarativeParentChange17saveCurrentValuesEv @ 1607 NONAME + _ZN24QDeclarativeParentChange19getStaticMetaObjectEv @ 1608 NONAME + _ZN24QDeclarativeParentChange4setXEf @ 1609 NONAME + _ZN24QDeclarativeParentChange4setYEf @ 1610 NONAME + _ZN24QDeclarativeParentChange6rewindEv @ 1611 NONAME + _ZN24QDeclarativeParentChange7actionsEv @ 1612 NONAME + _ZN24QDeclarativeParentChange7executeEv @ 1613 NONAME + _ZN24QDeclarativeParentChange7reverseEv @ 1614 NONAME + _ZN24QDeclarativeParentChange8overrideEP23QDeclarativeActionEvent @ 1615 NONAME + _ZN24QDeclarativeParentChange8setScaleEf @ 1616 NONAME + _ZN24QDeclarativeParentChange8setWidthEf @ 1617 NONAME + _ZN24QDeclarativeParentChange9setHeightEf @ 1618 NONAME + _ZN24QDeclarativeParentChange9setObjectEP16QDeclarativeItem @ 1619 NONAME + _ZN24QDeclarativeParentChange9setParentEP16QDeclarativeItem @ 1620 NONAME + _ZN24QDeclarativeParentChangeC1EP7QObject @ 1621 NONAME + _ZN24QDeclarativeParentChangeC2EP7QObject @ 1622 NONAME + _ZN24QDeclarativeParentChangeD0Ev @ 1623 NONAME + _ZN24QDeclarativeParentChangeD1Ev @ 1624 NONAME + _ZN24QDeclarativeParentChangeD2Ev @ 1625 NONAME + _ZN24QDeclarativeParserStatus10classBeginEv @ 1626 NONAME + _ZN24QDeclarativeParserStatus17componentCompleteEv @ 1627 NONAME + _ZN24QDeclarativeParserStatusC1Ev @ 1628 NONAME + _ZN24QDeclarativeParserStatusC2Ev @ 1629 NONAME + _ZN24QDeclarativeParserStatusD0Ev @ 1630 NONAME + _ZN24QDeclarativeParserStatusD1Ev @ 1631 NONAME + _ZN24QDeclarativeParserStatusD2Ev @ 1632 NONAME + _ZN24QDeclarativeScriptString10setContextEP19QDeclarativeContext @ 1633 NONAME + _ZN24QDeclarativeScriptString14setScopeObjectEP7QObject @ 1634 NONAME + _ZN24QDeclarativeScriptString9setScriptERK7QString @ 1635 NONAME + _ZN24QDeclarativeScriptStringC1ERKS_ @ 1636 NONAME + _ZN24QDeclarativeScriptStringC1Ev @ 1637 NONAME + _ZN24QDeclarativeScriptStringC2ERKS_ @ 1638 NONAME + _ZN24QDeclarativeScriptStringC2Ev @ 1639 NONAME + _ZN24QDeclarativeScriptStringD1Ev @ 1640 NONAME + _ZN24QDeclarativeScriptStringD2Ev @ 1641 NONAME + _ZN24QDeclarativeScriptStringaSERKS_ @ 1642 NONAME + _ZN24QDeclarativeSpringFollow10setDampingEf @ 1643 NONAME + _ZN24QDeclarativeSpringFollow10setEnabledEb @ 1644 NONAME + _ZN24QDeclarativeSpringFollow10setEpsilonEf @ 1645 NONAME + _ZN24QDeclarativeSpringFollow10setModulusEf @ 1646 NONAME + _ZN24QDeclarativeSpringFollow11massChangedEv @ 1647 NONAME + _ZN24QDeclarativeSpringFollow11qt_metacallEN11QMetaObject4CallEiPPv @ 1648 NONAME + _ZN24QDeclarativeSpringFollow11qt_metacastEPKc @ 1649 NONAME + _ZN24QDeclarativeSpringFollow11setVelocityEf @ 1650 NONAME + _ZN24QDeclarativeSpringFollow11syncChangedEv @ 1651 NONAME + _ZN24QDeclarativeSpringFollow12valueChangedEf @ 1652 NONAME + _ZN24QDeclarativeSpringFollow14modulusChangedEv @ 1653 NONAME + _ZN24QDeclarativeSpringFollow14setSourceValueEf @ 1654 NONAME + _ZN24QDeclarativeSpringFollow16staticMetaObjectE @ 1655 NONAME DATA 16 + _ZN24QDeclarativeSpringFollow19getStaticMetaObjectEv @ 1656 NONAME + _ZN24QDeclarativeSpringFollow7setMassEf @ 1657 NONAME + _ZN24QDeclarativeSpringFollow9setSpringEf @ 1658 NONAME + _ZN24QDeclarativeSpringFollow9setTargetERK20QDeclarativeProperty @ 1659 NONAME + _ZN24QDeclarativeSpringFollowC1EP7QObject @ 1660 NONAME + _ZN24QDeclarativeSpringFollowC2EP7QObject @ 1661 NONAME + _ZN24QDeclarativeSpringFollowD0Ev @ 1662 NONAME + _ZN24QDeclarativeSpringFollowD1Ev @ 1663 NONAME + _ZN24QDeclarativeSpringFollowD2Ev @ 1664 NONAME + _ZN24QDeclarativeWorkerScript11qt_metacallEN11QMetaObject4CallEiPPv @ 1665 NONAME + _ZN24QDeclarativeWorkerScript11qt_metacastEPKc @ 1666 NONAME + _ZN24QDeclarativeWorkerScript11sendMessageERK12QScriptValue @ 1667 NONAME + _ZN24QDeclarativeWorkerScript13sourceChangedEv @ 1668 NONAME + _ZN24QDeclarativeWorkerScript16staticMetaObjectE @ 1669 NONAME DATA 16 + _ZN24QDeclarativeWorkerScript17componentCompleteEv @ 1670 NONAME + _ZN24QDeclarativeWorkerScript19getStaticMetaObjectEv @ 1671 NONAME + _ZN24QDeclarativeWorkerScript5eventEP6QEvent @ 1672 NONAME + _ZN24QDeclarativeWorkerScript7messageERK12QScriptValue @ 1673 NONAME + _ZN24QDeclarativeWorkerScript9setSourceERK4QUrl @ 1674 NONAME + _ZN24QDeclarativeWorkerScriptC1EP7QObject @ 1675 NONAME + _ZN24QDeclarativeWorkerScriptC2EP7QObject @ 1676 NONAME + _ZN24QDeclarativeWorkerScriptD0Ev @ 1677 NONAME + _ZN24QDeclarativeWorkerScriptD1Ev @ 1678 NONAME + _ZN24QDeclarativeWorkerScriptD2Ev @ 1679 NONAME + _ZN24QDeclarativeXmlListModel10classBeginEv @ 1680 NONAME + _ZN24QDeclarativeXmlListModel10xmlChangedEv @ 1681 NONAME + _ZN24QDeclarativeXmlListModel11dataClearedEv @ 1682 NONAME + _ZN24QDeclarativeXmlListModel11qt_metacallEN11QMetaObject4CallEiPPv @ 1683 NONAME + _ZN24QDeclarativeXmlListModel11qt_metacastEPKc @ 1684 NONAME + _ZN24QDeclarativeXmlListModel11roleObjectsEv @ 1685 NONAME + _ZN24QDeclarativeXmlListModel12countChangedEv @ 1686 NONAME + _ZN24QDeclarativeXmlListModel12queryChangedEv @ 1687 NONAME + _ZN24QDeclarativeXmlListModel13sourceChangedEv @ 1688 NONAME + _ZN24QDeclarativeXmlListModel13statusChangedENS_6StatusE @ 1689 NONAME + _ZN24QDeclarativeXmlListModel14queryCompletedERK26QDeclarativeXmlQueryResult @ 1690 NONAME + _ZN24QDeclarativeXmlListModel15progressChangedEf @ 1691 NONAME + _ZN24QDeclarativeXmlListModel15requestFinishedEv @ 1692 NONAME + _ZN24QDeclarativeXmlListModel15requestProgressExx @ 1693 NONAME + _ZN24QDeclarativeXmlListModel16staticMetaObjectE @ 1694 NONAME DATA 16 + _ZN24QDeclarativeXmlListModel17componentCompleteEv @ 1695 NONAME + _ZN24QDeclarativeXmlListModel19getStaticMetaObjectEv @ 1696 NONAME + _ZN24QDeclarativeXmlListModel24setNamespaceDeclarationsERK7QString @ 1697 NONAME + _ZN24QDeclarativeXmlListModel28namespaceDeclarationsChangedEv @ 1698 NONAME + _ZN24QDeclarativeXmlListModel6reloadEv @ 1699 NONAME + _ZN24QDeclarativeXmlListModel6setXmlERK7QString @ 1700 NONAME + _ZN24QDeclarativeXmlListModel8setQueryERK7QString @ 1701 NONAME + _ZN24QDeclarativeXmlListModel9setSourceERK4QUrl @ 1702 NONAME + _ZN24QDeclarativeXmlListModelC1EP7QObject @ 1703 NONAME + _ZN24QDeclarativeXmlListModelC2EP7QObject @ 1704 NONAME + _ZN24QDeclarativeXmlListModelD0Ev @ 1705 NONAME + _ZN24QDeclarativeXmlListModelD1Ev @ 1706 NONAME + _ZN24QDeclarativeXmlListModelD2Ev @ 1707 NONAME + _ZN25QDeclarativeAnchorChanges11qt_metacallEN11QMetaObject4CallEiPPv @ 1708 NONAME + _ZN25QDeclarativeAnchorChanges11qt_metacastEPKc @ 1709 NONAME + _ZN25QDeclarativeAnchorChanges12isReversableEv @ 1710 NONAME + _ZN25QDeclarativeAnchorChanges13clearBindingsEv @ 1711 NONAME + _ZN25QDeclarativeAnchorChanges13copyOriginalsEP23QDeclarativeActionEvent @ 1712 NONAME + _ZN25QDeclarativeAnchorChanges13saveOriginalsEv @ 1713 NONAME + _ZN25QDeclarativeAnchorChanges15changesBindingsEv @ 1714 NONAME + _ZN25QDeclarativeAnchorChanges16saveTargetValuesEv @ 1715 NONAME + _ZN25QDeclarativeAnchorChanges16staticMetaObjectE @ 1716 NONAME DATA 16 + _ZN25QDeclarativeAnchorChanges17additionalActionsEv @ 1717 NONAME + _ZN25QDeclarativeAnchorChanges17saveCurrentValuesEv @ 1718 NONAME + _ZN25QDeclarativeAnchorChanges19getStaticMetaObjectEv @ 1719 NONAME + _ZN25QDeclarativeAnchorChanges6rewindEv @ 1720 NONAME + _ZN25QDeclarativeAnchorChanges7actionsEv @ 1721 NONAME + _ZN25QDeclarativeAnchorChanges7anchorsEv @ 1722 NONAME + _ZN25QDeclarativeAnchorChanges7executeEv @ 1723 NONAME + _ZN25QDeclarativeAnchorChanges7reverseEv @ 1724 NONAME + _ZN25QDeclarativeAnchorChanges8overrideEP23QDeclarativeActionEvent @ 1725 NONAME + _ZN25QDeclarativeAnchorChanges9setObjectEP16QDeclarativeItem @ 1726 NONAME + _ZN25QDeclarativeAnchorChangesC1EP7QObject @ 1727 NONAME + _ZN25QDeclarativeAnchorChangesC2EP7QObject @ 1728 NONAME + _ZN25QDeclarativeAnchorChangesD0Ev @ 1729 NONAME + _ZN25QDeclarativeAnchorChangesD1Ev @ 1730 NONAME + _ZN25QDeclarativeAnchorChangesD2Ev @ 1731 NONAME + _ZN25QDeclarativeAnimatedImage10setPlayingEb @ 1732 NONAME + _ZN25QDeclarativeAnimatedImage11movieUpdateEv @ 1733 NONAME + _ZN25QDeclarativeAnimatedImage11qt_metacallEN11QMetaObject4CallEiPPv @ 1734 NONAME + _ZN25QDeclarativeAnimatedImage11qt_metacastEPKc @ 1735 NONAME + _ZN25QDeclarativeAnimatedImage12frameChangedEv @ 1736 NONAME + _ZN25QDeclarativeAnimatedImage13pausedChangedEv @ 1737 NONAME + _ZN25QDeclarativeAnimatedImage14playingChangedEv @ 1738 NONAME + _ZN25QDeclarativeAnimatedImage15setCurrentFrameEi @ 1739 NONAME + _ZN25QDeclarativeAnimatedImage16staticMetaObjectE @ 1740 NONAME DATA 16 + _ZN25QDeclarativeAnimatedImage17componentCompleteEv @ 1741 NONAME + _ZN25QDeclarativeAnimatedImage19getStaticMetaObjectEv @ 1742 NONAME + _ZN25QDeclarativeAnimatedImage20movieRequestFinishedEv @ 1743 NONAME + _ZN25QDeclarativeAnimatedImage20playingStatusChangedEv @ 1744 NONAME + _ZN25QDeclarativeAnimatedImage9setPausedEb @ 1745 NONAME + _ZN25QDeclarativeAnimatedImage9setSourceERK4QUrl @ 1746 NONAME + _ZN25QDeclarativeAnimatedImageC1EP16QDeclarativeItem @ 1747 NONAME + _ZN25QDeclarativeAnimatedImageC2EP16QDeclarativeItem @ 1748 NONAME + _ZN25QDeclarativeAnimatedImageD0Ev @ 1749 NONAME + _ZN25QDeclarativeAnimatedImageD1Ev @ 1750 NONAME + _ZN25QDeclarativeAnimatedImageD2Ev @ 1751 NONAME + _ZN25QDeclarativeImageProviderD0Ev @ 1752 NONAME + _ZN25QDeclarativeImageProviderD1Ev @ 1753 NONAME + _ZN25QDeclarativeImageProviderD2Ev @ 1754 NONAME + _ZN25QDeclarativeListReferenceC1EP7QObjectPKcP18QDeclarativeEngine @ 1755 NONAME + _ZN25QDeclarativeListReferenceC1ERKS_ @ 1756 NONAME + _ZN25QDeclarativeListReferenceC1Ev @ 1757 NONAME + _ZN25QDeclarativeListReferenceC2EP7QObjectPKcP18QDeclarativeEngine @ 1758 NONAME + _ZN25QDeclarativeListReferenceC2ERKS_ @ 1759 NONAME + _ZN25QDeclarativeListReferenceC2Ev @ 1760 NONAME + _ZN25QDeclarativeListReferenceD1Ev @ 1761 NONAME + _ZN25QDeclarativeListReferenceD2Ev @ 1762 NONAME + _ZN25QDeclarativeListReferenceaSERKS_ @ 1763 NONAME + _ZN25QDeclarativePathAttribute11nameChangedEv @ 1764 NONAME + _ZN25QDeclarativePathAttribute11qt_metacallEN11QMetaObject4CallEiPPv @ 1765 NONAME + _ZN25QDeclarativePathAttribute11qt_metacastEPKc @ 1766 NONAME + _ZN25QDeclarativePathAttribute16staticMetaObjectE @ 1767 NONAME DATA 16 + _ZN25QDeclarativePathAttribute19getStaticMetaObjectEv @ 1768 NONAME + _ZN25QDeclarativePathAttribute7setNameERK7QString @ 1769 NONAME + _ZN25QDeclarativePathAttribute8setValueEf @ 1770 NONAME + _ZN25QDeclarativeSystemPalette11eventFilterEP7QObjectP6QEvent @ 1771 NONAME + _ZN25QDeclarativeSystemPalette11qt_metacallEN11QMetaObject4CallEiPPv @ 1772 NONAME + _ZN25QDeclarativeSystemPalette11qt_metacastEPKc @ 1773 NONAME + _ZN25QDeclarativeSystemPalette13setColorGroupENS_10ColorGroupE @ 1774 NONAME + _ZN25QDeclarativeSystemPalette14paletteChangedEv @ 1775 NONAME + _ZN25QDeclarativeSystemPalette16staticMetaObjectE @ 1776 NONAME DATA 16 + _ZN25QDeclarativeSystemPalette19getStaticMetaObjectEv @ 1777 NONAME + _ZN25QDeclarativeSystemPalette5eventEP6QEvent @ 1778 NONAME + _ZN25QDeclarativeSystemPaletteC1EP7QObject @ 1779 NONAME + _ZN25QDeclarativeSystemPaletteC2EP7QObject @ 1780 NONAME + _ZN25QDeclarativeSystemPaletteD0Ev @ 1781 NONAME + _ZN25QDeclarativeSystemPaletteD1Ev @ 1782 NONAME + _ZN25QDeclarativeSystemPaletteD2Ev @ 1783 NONAME + _ZN26QDeclarativeBasePositioner10addChangedEv @ 1784 NONAME + _ZN26QDeclarativeBasePositioner10itemChangeEN13QGraphicsItem18GraphicsItemChangeERK8QVariant @ 1785 NONAME + _ZN26QDeclarativeBasePositioner10setSpacingEi @ 1786 NONAME + _ZN26QDeclarativeBasePositioner11moveChangedEv @ 1787 NONAME + _ZN26QDeclarativeBasePositioner11qt_metacallEN11QMetaObject4CallEiPPv @ 1788 NONAME + _ZN26QDeclarativeBasePositioner11qt_metacastEPKc @ 1789 NONAME + _ZN26QDeclarativeBasePositioner14prePositioningEv @ 1790 NONAME + _ZN26QDeclarativeBasePositioner14spacingChangedEv @ 1791 NONAME + _ZN26QDeclarativeBasePositioner16staticMetaObjectE @ 1792 NONAME DATA 16 + _ZN26QDeclarativeBasePositioner17componentCompleteEv @ 1793 NONAME + _ZN26QDeclarativeBasePositioner19getStaticMetaObjectEv @ 1794 NONAME + _ZN26QDeclarativeBasePositioner22finishApplyTransitionsEv @ 1795 NONAME + _ZN26QDeclarativeBasePositioner6setAddEP22QDeclarativeTransition @ 1796 NONAME + _ZN26QDeclarativeBasePositioner7setMoveEP22QDeclarativeTransition @ 1797 NONAME + _ZN26QDeclarativeBasePositioner9positionXEiRKNS_14PositionedItemE @ 1798 NONAME + _ZN26QDeclarativeBasePositioner9positionYEiRKNS_14PositionedItemE @ 1799 NONAME + _ZN26QDeclarativeBasePositionerC2ENS_14PositionerTypeEP16QDeclarativeItem @ 1800 NONAME + _ZN26QDeclarativeBasePositionerC2ER33QDeclarativeBasePositionerPrivateNS_14PositionerTypeEP16QDeclarativeItem @ 1801 NONAME + _ZN26QDeclarativeBasePositionerD0Ev @ 1802 NONAME + _ZN26QDeclarativeBasePositionerD1Ev @ 1803 NONAME + _ZN26QDeclarativeBasePositionerD2Ev @ 1804 NONAME + _ZN26QDeclarativeDebuggerStatus16setSelectedStateEb @ 1805 NONAME + _ZN26QDeclarativeDebuggerStatusD0Ev @ 1806 NONAME + _ZN26QDeclarativeDebuggerStatusD1Ev @ 1807 NONAME + _ZN26QDeclarativeDebuggerStatusD2Ev @ 1808 NONAME + _ZN26QDeclarativeOpenMetaObject12initialValueEi @ 1809 NONAME + _ZN26QDeclarativeOpenMetaObject12propertyReadEi @ 1810 NONAME + _ZN26QDeclarativeOpenMetaObject13propertyWriteEi @ 1811 NONAME + _ZN26QDeclarativeOpenMetaObject14createPropertyEPKcS1_ @ 1812 NONAME + _ZN26QDeclarativeOpenMetaObject15propertyCreatedEiR20QMetaPropertyBuilder @ 1813 NONAME + _ZN26QDeclarativeOpenMetaObject15propertyWrittenEi @ 1814 NONAME + _ZN26QDeclarativeOpenMetaObject8metaCallEN11QMetaObject4CallEiPPv @ 1815 NONAME + _ZN26QDeclarativeOpenMetaObject8setValueERK10QByteArrayRK8QVariant @ 1816 NONAME + _ZN26QDeclarativeOpenMetaObject8setValueEiRK8QVariant @ 1817 NONAME + _ZN26QDeclarativeOpenMetaObject9setCachedEb @ 1818 NONAME + _ZN26QDeclarativeOpenMetaObjectC1EP7QObjectP30QDeclarativeOpenMetaObjectTypeb @ 1819 NONAME + _ZN26QDeclarativeOpenMetaObjectC1EP7QObjectb @ 1820 NONAME + _ZN26QDeclarativeOpenMetaObjectC2EP7QObjectP30QDeclarativeOpenMetaObjectTypeb @ 1821 NONAME + _ZN26QDeclarativeOpenMetaObjectC2EP7QObjectb @ 1822 NONAME + _ZN26QDeclarativeOpenMetaObjectD0Ev @ 1823 NONAME + _ZN26QDeclarativeOpenMetaObjectD1Ev @ 1824 NONAME + _ZN26QDeclarativeOpenMetaObjectD2Ev @ 1825 NONAME + _ZN26QDeclarativeOpenMetaObjectixERK10QByteArray @ 1826 NONAME + _ZN26QDeclarativeOpenMetaObjectixEi @ 1827 NONAME + _ZN26QDeclarativeStateOperation11qt_metacallEN11QMetaObject4CallEiPPv @ 1828 NONAME + _ZN26QDeclarativeStateOperation11qt_metacastEPKc @ 1829 NONAME + _ZN26QDeclarativeStateOperation16staticMetaObjectE @ 1830 NONAME DATA 16 + _ZN26QDeclarativeStateOperation19getStaticMetaObjectEv @ 1831 NONAME + _ZN26QDeclarativeStateOperation7actionsEv @ 1832 NONAME + _ZN26QDeclarativeStateOperationC1ER14QObjectPrivateP7QObject @ 1833 NONAME + _ZN26QDeclarativeStateOperationC2ER14QObjectPrivateP7QObject @ 1834 NONAME + _ZN27QDeclarativeAbstractBinding10setEnabledEb6QFlagsIN27QDeclarativePropertyPrivate9WriteFlagEE @ 1835 NONAME + _ZN27QDeclarativeAbstractBinding11addToObjectEP7QObject @ 1836 NONAME + _ZN27QDeclarativeAbstractBinding16removeFromObjectEv @ 1837 NONAME + _ZN27QDeclarativeAbstractBinding5clearEv @ 1838 NONAME + _ZN27QDeclarativeAbstractBinding7destroyEv @ 1839 NONAME + _ZN27QDeclarativeAbstractBindingC2Ev @ 1840 NONAME + _ZN27QDeclarativeAbstractBindingD0Ev @ 1841 NONAME + _ZN27QDeclarativeAbstractBindingD1Ev @ 1842 NONAME + _ZN27QDeclarativeAbstractBindingD2Ev @ 1843 NONAME + _ZN27QDeclarativeDebugConnection11qt_metacallEN11QMetaObject4CallEiPPv @ 1844 NONAME + _ZN27QDeclarativeDebugConnection11qt_metacastEPKc @ 1845 NONAME + _ZN27QDeclarativeDebugConnection16staticMetaObjectE @ 1846 NONAME DATA 16 + _ZN27QDeclarativeDebugConnection19getStaticMetaObjectEv @ 1847 NONAME + _ZN27QDeclarativeDebugConnectionC1EP7QObject @ 1848 NONAME + _ZN27QDeclarativeDebugConnectionC2EP7QObject @ 1849 NONAME + _ZN27QDeclarativeDomValueBindingC1ERKS_ @ 1850 NONAME + _ZN27QDeclarativeDomValueBindingC1Ev @ 1851 NONAME + _ZN27QDeclarativeDomValueBindingC2ERKS_ @ 1852 NONAME + _ZN27QDeclarativeDomValueBindingC2Ev @ 1853 NONAME + _ZN27QDeclarativeDomValueBindingD1Ev @ 1854 NONAME + _ZN27QDeclarativeDomValueBindingD2Ev @ 1855 NONAME + _ZN27QDeclarativeDomValueBindingaSERKS_ @ 1856 NONAME + _ZN27QDeclarativeDomValueLiteralC1ERKS_ @ 1857 NONAME + _ZN27QDeclarativeDomValueLiteralC1Ev @ 1858 NONAME + _ZN27QDeclarativeDomValueLiteralC2ERKS_ @ 1859 NONAME + _ZN27QDeclarativeDomValueLiteralC2Ev @ 1860 NONAME + _ZN27QDeclarativeDomValueLiteralD1Ev @ 1861 NONAME + _ZN27QDeclarativeDomValueLiteralD2Ev @ 1862 NONAME + _ZN27QDeclarativeDomValueLiteralaSERKS_ @ 1863 NONAME + _ZN27QDeclarativeExtensionPlugin11qt_metacallEN11QMetaObject4CallEiPPv @ 1864 NONAME + _ZN27QDeclarativeExtensionPlugin11qt_metacastEPKc @ 1865 NONAME + _ZN27QDeclarativeExtensionPlugin16initializeEngineEP18QDeclarativeEnginePKc @ 1866 NONAME + _ZN27QDeclarativeExtensionPlugin16staticMetaObjectE @ 1867 NONAME DATA 16 + _ZN27QDeclarativeExtensionPlugin19getStaticMetaObjectEv @ 1868 NONAME + _ZN27QDeclarativeExtensionPluginC2EP7QObject @ 1869 NONAME + _ZN27QDeclarativeExtensionPluginD0Ev @ 1870 NONAME + _ZN27QDeclarativeExtensionPluginD1Ev @ 1871 NONAME + _ZN27QDeclarativeExtensionPluginD2Ev @ 1872 NONAME + _ZN27QDeclarativeGridScaledImage12stringToRuleERK7QString @ 1873 NONAME + _ZN27QDeclarativeGridScaledImageC1EP9QIODevice @ 1874 NONAME + _ZN27QDeclarativeGridScaledImageC1ERKS_ @ 1875 NONAME + _ZN27QDeclarativeGridScaledImageC1Ev @ 1876 NONAME + _ZN27QDeclarativeGridScaledImageC2EP9QIODevice @ 1877 NONAME + _ZN27QDeclarativeGridScaledImageC2ERKS_ @ 1878 NONAME + _ZN27QDeclarativeGridScaledImageC2Ev @ 1879 NONAME + _ZN27QDeclarativeGridScaledImageaSERKS_ @ 1880 NONAME + _ZN27QDeclarativePropertyChanges11qt_metacallEN11QMetaObject4CallEiPPv @ 1881 NONAME + _ZN27QDeclarativePropertyChanges11qt_metacastEPKc @ 1882 NONAME + _ZN27QDeclarativePropertyChanges13setIsExplicitEb @ 1883 NONAME + _ZN27QDeclarativePropertyChanges16staticMetaObjectE @ 1884 NONAME DATA 16 + _ZN27QDeclarativePropertyChanges19getStaticMetaObjectEv @ 1885 NONAME + _ZN27QDeclarativePropertyChanges21setRestoreEntryValuesEb @ 1886 NONAME + _ZN27QDeclarativePropertyChanges7actionsEv @ 1887 NONAME + _ZN27QDeclarativePropertyChanges9setObjectEP7QObject @ 1888 NONAME + _ZN27QDeclarativePropertyChangesC1Ev @ 1889 NONAME + _ZN27QDeclarativePropertyChangesC2Ev @ 1890 NONAME + _ZN27QDeclarativePropertyChangesD0Ev @ 1891 NONAME + _ZN27QDeclarativePropertyChangesD1Ev @ 1892 NONAME + _ZN27QDeclarativePropertyChangesD2Ev @ 1893 NONAME + _ZN27QDeclarativePropertyPrivate10canConvertEPK11QMetaObjectS2_ @ 1894 NONAME + _ZN27QDeclarativePropertyPrivate10setBindingEP7QObjectiiP27QDeclarativeAbstractBinding6QFlagsINS_9WriteFlagEE @ 1895 NONAME + _ZN27QDeclarativePropertyPrivate10setBindingERK20QDeclarativePropertyP27QDeclarativeAbstractBinding6QFlagsINS_9WriteFlagEE @ 1896 NONAME + _ZN27QDeclarativePropertyPrivate11initDefaultEP7QObject @ 1897 NONAME + _ZN27QDeclarativePropertyPrivate12bindingIndexERK20QDeclarativeProperty @ 1898 NONAME + _ZN27QDeclarativePropertyPrivate12initPropertyEP7QObjectRK7QString @ 1899 NONAME + _ZN27QDeclarativePropertyPrivate12savePropertyEPK11QMetaObjecti @ 1900 NONAME + _ZN27QDeclarativePropertyPrivate13saveValueTypeEPK11QMetaObjectiS2_i @ 1901 NONAME + _ZN27QDeclarativePropertyPrivate16signalExpressionERK20QDeclarativeProperty @ 1902 NONAME + _ZN27QDeclarativePropertyPrivate17readValuePropertyEv @ 1903 NONAME + _ZN27QDeclarativePropertyPrivate17writeEnumPropertyERK13QMetaPropertyiP7QObjectRK8QVarianti @ 1904 NONAME + _ZN27QDeclarativePropertyPrivate18valueTypeCoreIndexERK20QDeclarativeProperty @ 1905 NONAME + _ZN27QDeclarativePropertyPrivate18writeValuePropertyERK8QVariant6QFlagsINS_9WriteFlagEE @ 1906 NONAME + _ZN27QDeclarativePropertyPrivate19setSignalExpressionERK20QDeclarativePropertyP22QDeclarativeExpression @ 1907 NONAME + _ZN27QDeclarativePropertyPrivate20rawMetaObjectForTypeEP25QDeclarativeEnginePrivatei @ 1908 NONAME + _ZN27QDeclarativePropertyPrivate5equalEPK11QMetaObjectS2_ @ 1909 NONAME + _ZN27QDeclarativePropertyPrivate5writeEP7QObjectRKN25QDeclarativePropertyCache4DataERK8QVariantP23QDeclarativeContextData6QFlagsINS_9WriteFlagEE @ 1910 NONAME + _ZN27QDeclarativePropertyPrivate5writeERK20QDeclarativePropertyRK8QVariant6QFlagsINS_9WriteFlagEE @ 1911 NONAME + _ZN27QDeclarativePropertyPrivate7bindingERK20QDeclarativeProperty @ 1912 NONAME + _ZN27QDeclarativePropertyPrivate7restoreERK10QByteArrayP7QObjectP23QDeclarativeContextData @ 1913 NONAME + _ZN27QDeclarativeVisualDataModel11qt_metacallEN11QMetaObject4CallEiPPv @ 1914 NONAME + _ZN27QDeclarativeVisualDataModel11qt_metacastEPKc @ 1915 NONAME + _ZN27QDeclarativeVisualDataModel11setDelegateEP21QDeclarativeComponent @ 1916 NONAME + _ZN27QDeclarativeVisualDataModel11stringValueEiRK7QString @ 1917 NONAME + _ZN27QDeclarativeVisualDataModel12_q_rowsMovedERK11QModelIndexiiS2_i @ 1918 NONAME + _ZN27QDeclarativeVisualDataModel12completeItemEv @ 1919 NONAME + _ZN27QDeclarativeVisualDataModel12setRootIndexERK11QModelIndex @ 1920 NONAME + _ZN27QDeclarativeVisualDataModel13_q_itemsMovedEiii @ 1921 NONAME + _ZN27QDeclarativeVisualDataModel13_q_modelResetEv @ 1922 NONAME + _ZN27QDeclarativeVisualDataModel14_q_dataChangedERK11QModelIndexS2_ @ 1923 NONAME + _ZN27QDeclarativeVisualDataModel14_q_rowsRemovedERK11QModelIndexii @ 1924 NONAME + _ZN27QDeclarativeVisualDataModel14createdPackageEiP19QDeclarativePackage @ 1925 NONAME + _ZN27QDeclarativeVisualDataModel15_q_itemsChangedEiiRK5QListIiE @ 1926 NONAME + _ZN27QDeclarativeVisualDataModel15_q_itemsRemovedEii @ 1927 NONAME + _ZN27QDeclarativeVisualDataModel15_q_rowsInsertedERK11QModelIndexii @ 1928 NONAME + _ZN27QDeclarativeVisualDataModel16_q_itemsInsertedEii @ 1929 NONAME + _ZN27QDeclarativeVisualDataModel16rootIndexChangedEv @ 1930 NONAME + _ZN27QDeclarativeVisualDataModel16staticMetaObjectE @ 1931 NONAME DATA 16 + _ZN27QDeclarativeVisualDataModel17_q_createdPackageEiP19QDeclarativePackage @ 1932 NONAME + _ZN27QDeclarativeVisualDataModel17destroyingPackageEP19QDeclarativePackage @ 1933 NONAME + _ZN27QDeclarativeVisualDataModel19getStaticMetaObjectEv @ 1934 NONAME + _ZN27QDeclarativeVisualDataModel20_q_destroyingPackageEP19QDeclarativePackage @ 1935 NONAME + _ZN27QDeclarativeVisualDataModel4itemEiRK10QByteArrayb @ 1936 NONAME + _ZN27QDeclarativeVisualDataModel4itemEib @ 1937 NONAME + _ZN27QDeclarativeVisualDataModel5partsEv @ 1938 NONAME + _ZN27QDeclarativeVisualDataModel7releaseEP16QDeclarativeItem @ 1939 NONAME + _ZN27QDeclarativeVisualDataModel7setPartERK7QString @ 1940 NONAME + _ZN27QDeclarativeVisualDataModel8evaluateEiRK7QStringP7QObject @ 1941 NONAME + _ZN27QDeclarativeVisualDataModel8setModelERK8QVariant @ 1942 NONAME + _ZN27QDeclarativeVisualDataModelC1EP19QDeclarativeContext @ 1943 NONAME + _ZN27QDeclarativeVisualDataModelC1Ev @ 1944 NONAME + _ZN27QDeclarativeVisualDataModelC2EP19QDeclarativeContext @ 1945 NONAME + _ZN27QDeclarativeVisualDataModelC2Ev @ 1946 NONAME + _ZN27QDeclarativeVisualDataModelD0Ev @ 1947 NONAME + _ZN27QDeclarativeVisualDataModelD1Ev @ 1948 NONAME + _ZN27QDeclarativeVisualDataModelD2Ev @ 1949 NONAME + _ZN27QDeclarativeVisualItemModel11qt_metacallEN11QMetaObject4CallEiPPv @ 1950 NONAME + _ZN27QDeclarativeVisualItemModel11qt_metacastEPKc @ 1951 NONAME + _ZN27QDeclarativeVisualItemModel11stringValueEiRK7QString @ 1952 NONAME + _ZN27QDeclarativeVisualItemModel12completeItemEv @ 1953 NONAME + _ZN27QDeclarativeVisualItemModel15childrenChangedEv @ 1954 NONAME + _ZN27QDeclarativeVisualItemModel16staticMetaObjectE @ 1955 NONAME DATA 16 + _ZN27QDeclarativeVisualItemModel19getStaticMetaObjectEv @ 1956 NONAME + _ZN27QDeclarativeVisualItemModel21qmlAttachedPropertiesEP7QObject @ 1957 NONAME + _ZN27QDeclarativeVisualItemModel4itemEib @ 1958 NONAME + _ZN27QDeclarativeVisualItemModel7releaseEP16QDeclarativeItem @ 1959 NONAME + _ZN27QDeclarativeVisualItemModel8childrenEv @ 1960 NONAME + _ZN27QDeclarativeVisualItemModel8evaluateEiRK7QStringP7QObject @ 1961 NONAME + _ZN27QDeclarativeVisualItemModelC1Ev @ 1962 NONAME + _ZN27QDeclarativeVisualItemModelC2Ev @ 1963 NONAME + _ZN28QDeclarativeCustomParserNodeC1ERKS_ @ 1964 NONAME + _ZN28QDeclarativeCustomParserNodeC1Ev @ 1965 NONAME + _ZN28QDeclarativeCustomParserNodeC2ERKS_ @ 1966 NONAME + _ZN28QDeclarativeCustomParserNodeC2Ev @ 1967 NONAME + _ZN28QDeclarativeCustomParserNodeD1Ev @ 1968 NONAME + _ZN28QDeclarativeCustomParserNodeD2Ev @ 1969 NONAME + _ZN28QDeclarativeCustomParserNodeaSERKS_ @ 1970 NONAME + _ZN28QDeclarativeDebugObjectQuery11qt_metacallEN11QMetaObject4CallEiPPv @ 1971 NONAME + _ZN28QDeclarativeDebugObjectQuery11qt_metacastEPKc @ 1972 NONAME + _ZN28QDeclarativeDebugObjectQuery16staticMetaObjectE @ 1973 NONAME DATA 16 + _ZN28QDeclarativeDebugObjectQuery19getStaticMetaObjectEv @ 1974 NONAME + _ZN28QDeclarativeDebugObjectQueryC1EP7QObject @ 1975 NONAME + _ZN28QDeclarativeDebugObjectQueryC2EP7QObject @ 1976 NONAME + _ZN28QDeclarativeDebugObjectQueryD0Ev @ 1977 NONAME + _ZN28QDeclarativeDebugObjectQueryD1Ev @ 1978 NONAME + _ZN28QDeclarativeDebugObjectQueryD2Ev @ 1979 NONAME + _ZN28QDeclarativeStringConverters14dateFromStringERK7QStringPb @ 1980 NONAME + _ZN28QDeclarativeStringConverters14timeFromStringERK7QStringPb @ 1981 NONAME + _ZN28QDeclarativeStringConverters15colorFromStringERK7QStringPb @ 1982 NONAME + _ZN28QDeclarativeStringConverters15rectFFromStringERK7QStringPb @ 1983 NONAME + _ZN28QDeclarativeStringConverters15sizeFFromStringERK7QStringPb @ 1984 NONAME + _ZN28QDeclarativeStringConverters16pointFFromStringERK7QStringPb @ 1985 NONAME + _ZN28QDeclarativeStringConverters17variantFromStringERK7QString @ 1986 NONAME + _ZN28QDeclarativeStringConverters17variantFromStringERK7QStringiPb @ 1987 NONAME + _ZN28QDeclarativeStringConverters18dateTimeFromStringERK7QStringPb @ 1988 NONAME + _ZN28QDeclarativeStringConverters18vector3DFromStringERK7QStringPb @ 1989 NONAME + _ZN28QDeclarativeValueTypeFactory11isValueTypeEi @ 1990 NONAME + _ZN28QDeclarativeValueTypeFactory18registerValueTypesEv @ 1991 NONAME + _ZN28QDeclarativeValueTypeFactory9valueTypeEi @ 1992 NONAME + _ZN28QDeclarativeValueTypeFactoryC1Ev @ 1993 NONAME + _ZN28QDeclarativeValueTypeFactoryC2Ev @ 1994 NONAME + _ZN28QDeclarativeValueTypeFactoryD1Ev @ 1995 NONAME + _ZN28QDeclarativeValueTypeFactoryD2Ev @ 1996 NONAME + _ZN28QDeclarativeXmlListModelRole11nameChangedEv @ 1997 NONAME + _ZN28QDeclarativeXmlListModelRole11qt_metacallEN11QMetaObject4CallEiPPv @ 1998 NONAME + _ZN28QDeclarativeXmlListModelRole11qt_metacastEPKc @ 1999 NONAME + _ZN28QDeclarativeXmlListModelRole12isKeyChangedEv @ 2000 NONAME + _ZN28QDeclarativeXmlListModelRole12queryChangedEv @ 2001 NONAME + _ZN28QDeclarativeXmlListModelRole16staticMetaObjectE @ 2002 NONAME DATA 16 + _ZN28QDeclarativeXmlListModelRole19getStaticMetaObjectEv @ 2003 NONAME + _ZN29QDeclarativeDebugEnginesQuery11qt_metacallEN11QMetaObject4CallEiPPv @ 2004 NONAME + _ZN29QDeclarativeDebugEnginesQuery11qt_metacastEPKc @ 2005 NONAME + _ZN29QDeclarativeDebugEnginesQuery16staticMetaObjectE @ 2006 NONAME DATA 16 + _ZN29QDeclarativeDebugEnginesQuery19getStaticMetaObjectEv @ 2007 NONAME + _ZN29QDeclarativeDebugEnginesQueryC1EP7QObject @ 2008 NONAME + _ZN29QDeclarativeDebugEnginesQueryC2EP7QObject @ 2009 NONAME + _ZN29QDeclarativeDebugEnginesQueryD0Ev @ 2010 NONAME + _ZN29QDeclarativeDebugEnginesQueryD1Ev @ 2011 NONAME + _ZN29QDeclarativeDebugEnginesQueryD2Ev @ 2012 NONAME + _ZN29QDeclarativeSmoothedAnimation10transitionER5QListI18QDeclarativeActionERS0_I20QDeclarativePropertyEN29QDeclarativeAbstractAnimation19TransitionDirectionE @ 2013 NONAME + _ZN29QDeclarativeSmoothedAnimation11qtAnimationEv @ 2014 NONAME + _ZN29QDeclarativeSmoothedAnimation11qt_metacallEN11QMetaObject4CallEiPPv @ 2015 NONAME + _ZN29QDeclarativeSmoothedAnimation11qt_metacastEPKc @ 2016 NONAME + _ZN29QDeclarativeSmoothedAnimation11setDurationEi @ 2017 NONAME + _ZN29QDeclarativeSmoothedAnimation11setVelocityEf @ 2018 NONAME + _ZN29QDeclarativeSmoothedAnimation15velocityChangedEv @ 2019 NONAME + _ZN29QDeclarativeSmoothedAnimation16setReversingModeENS_13ReversingModeE @ 2020 NONAME + _ZN29QDeclarativeSmoothedAnimation16staticMetaObjectE @ 2021 NONAME DATA 16 + _ZN29QDeclarativeSmoothedAnimation19getStaticMetaObjectEv @ 2022 NONAME + _ZN29QDeclarativeSmoothedAnimation20reversingModeChangedEv @ 2023 NONAME + _ZN29QDeclarativeSmoothedAnimation20setMaximumEasingTimeEi @ 2024 NONAME + _ZN29QDeclarativeSmoothedAnimation24maximumEasingTimeChangedEv @ 2025 NONAME + _ZN29QDeclarativeSmoothedAnimationC1EP7QObject @ 2026 NONAME + _ZN29QDeclarativeSmoothedAnimationC2EP7QObject @ 2027 NONAME + _ZN29QDeclarativeSmoothedAnimationD0Ev @ 2028 NONAME + _ZN29QDeclarativeSmoothedAnimationD1Ev @ 2029 NONAME + _ZN29QDeclarativeSmoothedAnimationD2Ev @ 2030 NONAME + _ZN29QDeclarativeStateChangeScript11qt_metacallEN11QMetaObject4CallEiPPv @ 2031 NONAME + _ZN29QDeclarativeStateChangeScript11qt_metacastEPKc @ 2032 NONAME + _ZN29QDeclarativeStateChangeScript16staticMetaObjectE @ 2033 NONAME DATA 16 + _ZN29QDeclarativeStateChangeScript19getStaticMetaObjectEv @ 2034 NONAME + _ZN29QDeclarativeStateChangeScript7actionsEv @ 2035 NONAME + _ZN29QDeclarativeStateChangeScript7executeEv @ 2036 NONAME + _ZN29QDeclarativeStateChangeScript7setNameERK7QString @ 2037 NONAME + _ZN29QDeclarativeStateChangeScript9setScriptERK24QDeclarativeScriptString @ 2038 NONAME + _ZN29QDeclarativeStateChangeScriptC1EP7QObject @ 2039 NONAME + _ZN29QDeclarativeStateChangeScriptC2EP7QObject @ 2040 NONAME + _ZN29QDeclarativeStateChangeScriptD0Ev @ 2041 NONAME + _ZN29QDeclarativeStateChangeScriptD1Ev @ 2042 NONAME + _ZN29QDeclarativeStateChangeScriptD2Ev @ 2043 NONAME + _ZN30QDeclarativeDebugFileReference13setLineNumberEi @ 2044 NONAME + _ZN30QDeclarativeDebugFileReference15setColumnNumberEi @ 2045 NONAME + _ZN30QDeclarativeDebugFileReference6setUrlERK4QUrl @ 2046 NONAME + _ZN30QDeclarativeDebugFileReferenceC1ERKS_ @ 2047 NONAME + _ZN30QDeclarativeDebugFileReferenceC1Ev @ 2048 NONAME + _ZN30QDeclarativeDebugFileReferenceC2ERKS_ @ 2049 NONAME + _ZN30QDeclarativeDebugFileReferenceC2Ev @ 2050 NONAME + _ZN30QDeclarativeDebugFileReferenceaSERKS_ @ 2051 NONAME + _ZN30QDeclarativeDebugPropertyWatch11qt_metacallEN11QMetaObject4CallEiPPv @ 2052 NONAME + _ZN30QDeclarativeDebugPropertyWatch11qt_metacastEPKc @ 2053 NONAME + _ZN30QDeclarativeDebugPropertyWatch16staticMetaObjectE @ 2054 NONAME DATA 16 + _ZN30QDeclarativeDebugPropertyWatch19getStaticMetaObjectEv @ 2055 NONAME + _ZN30QDeclarativeDebugPropertyWatchC1EP7QObject @ 2056 NONAME + _ZN30QDeclarativeDebugPropertyWatchC2EP7QObject @ 2057 NONAME + _ZN30QDeclarativeDomDynamicPropertyC1ERKS_ @ 2058 NONAME + _ZN30QDeclarativeDomDynamicPropertyC1Ev @ 2059 NONAME + _ZN30QDeclarativeDomDynamicPropertyC2ERKS_ @ 2060 NONAME + _ZN30QDeclarativeDomDynamicPropertyC2Ev @ 2061 NONAME + _ZN30QDeclarativeDomDynamicPropertyD1Ev @ 2062 NONAME + _ZN30QDeclarativeDomDynamicPropertyD2Ev @ 2063 NONAME + _ZN30QDeclarativeDomDynamicPropertyaSERKS_ @ 2064 NONAME + _ZN30QDeclarativeOpenMetaObjectType14createPropertyERK10QByteArray @ 2065 NONAME + _ZN30QDeclarativeOpenMetaObjectType15propertyCreatedEiR20QMetaPropertyBuilder @ 2066 NONAME + _ZN30QDeclarativeOpenMetaObjectTypeC1EPK11QMetaObjectP18QDeclarativeEngine @ 2067 NONAME + _ZN30QDeclarativeOpenMetaObjectTypeC2EPK11QMetaObjectP18QDeclarativeEngine @ 2068 NONAME + _ZN30QDeclarativeOpenMetaObjectTypeD0Ev @ 2069 NONAME + _ZN30QDeclarativeOpenMetaObjectTypeD1Ev @ 2070 NONAME + _ZN30QDeclarativeOpenMetaObjectTypeD2Ev @ 2071 NONAME + _ZN31QDeclarativeDomValueValueSourceC1ERKS_ @ 2072 NONAME + _ZN31QDeclarativeDomValueValueSourceC1Ev @ 2073 NONAME + _ZN31QDeclarativeDomValueValueSourceC2ERKS_ @ 2074 NONAME + _ZN31QDeclarativeDomValueValueSourceC2Ev @ 2075 NONAME + _ZN31QDeclarativeDomValueValueSourceD1Ev @ 2076 NONAME + _ZN31QDeclarativeDomValueValueSourceD2Ev @ 2077 NONAME + _ZN31QDeclarativeDomValueValueSourceaSERKS_ @ 2078 NONAME + _ZN31QDeclarativePropertyValueSourceC2Ev @ 2079 NONAME + _ZN31QDeclarativePropertyValueSourceD0Ev @ 2080 NONAME + _ZN31QDeclarativePropertyValueSourceD1Ev @ 2081 NONAME + _ZN31QDeclarativePropertyValueSourceD2Ev @ 2082 NONAME + _ZN32QDeclarativeCustomParserPropertyC1ERKS_ @ 2083 NONAME + _ZN32QDeclarativeCustomParserPropertyC1Ev @ 2084 NONAME + _ZN32QDeclarativeCustomParserPropertyC2ERKS_ @ 2085 NONAME + _ZN32QDeclarativeCustomParserPropertyC2Ev @ 2086 NONAME + _ZN32QDeclarativeCustomParserPropertyD1Ev @ 2087 NONAME + _ZN32QDeclarativeCustomParserPropertyD2Ev @ 2088 NONAME + _ZN32QDeclarativeCustomParserPropertyaSERKS_ @ 2089 NONAME + _ZN32QDeclarativeDebugEngineReferenceC1ERKS_ @ 2090 NONAME + _ZN32QDeclarativeDebugEngineReferenceC1Ei @ 2091 NONAME + _ZN32QDeclarativeDebugEngineReferenceC1Ev @ 2092 NONAME + _ZN32QDeclarativeDebugEngineReferenceC2ERKS_ @ 2093 NONAME + _ZN32QDeclarativeDebugEngineReferenceC2Ei @ 2094 NONAME + _ZN32QDeclarativeDebugEngineReferenceC2Ev @ 2095 NONAME + _ZN32QDeclarativeDebugEngineReferenceaSERKS_ @ 2096 NONAME + _ZN32QDeclarativeDebugExpressionQuery11qt_metacallEN11QMetaObject4CallEiPPv @ 2097 NONAME + _ZN32QDeclarativeDebugExpressionQuery11qt_metacastEPKc @ 2098 NONAME + _ZN32QDeclarativeDebugExpressionQuery16staticMetaObjectE @ 2099 NONAME DATA 16 + _ZN32QDeclarativeDebugExpressionQuery19getStaticMetaObjectEv @ 2100 NONAME + _ZN32QDeclarativeDebugExpressionQueryC1EP7QObject @ 2101 NONAME + _ZN32QDeclarativeDebugExpressionQueryC2EP7QObject @ 2102 NONAME + _ZN32QDeclarativeDebugExpressionQueryD0Ev @ 2103 NONAME + _ZN32QDeclarativeDebugExpressionQueryD1Ev @ 2104 NONAME + _ZN32QDeclarativeDebugExpressionQueryD2Ev @ 2105 NONAME + _ZN32QDeclarativeDebugObjectReferenceC1ERKS_ @ 2106 NONAME + _ZN32QDeclarativeDebugObjectReferenceC1Ei @ 2107 NONAME + _ZN32QDeclarativeDebugObjectReferenceC1Ev @ 2108 NONAME + _ZN32QDeclarativeDebugObjectReferenceC2ERKS_ @ 2109 NONAME + _ZN32QDeclarativeDebugObjectReferenceC2Ei @ 2110 NONAME + _ZN32QDeclarativeDebugObjectReferenceC2Ev @ 2111 NONAME + _ZN32QDeclarativeDebugObjectReferenceaSERKS_ @ 2112 NONAME + _ZN33QDeclarativeDebugContextReferenceC1ERKS_ @ 2113 NONAME + _ZN33QDeclarativeDebugContextReferenceC1Ev @ 2114 NONAME + _ZN33QDeclarativeDebugContextReferenceC2ERKS_ @ 2115 NONAME + _ZN33QDeclarativeDebugContextReferenceC2Ev @ 2116 NONAME + _ZN33QDeclarativeDebugContextReferenceaSERKS_ @ 2117 NONAME + _ZN33QDeclarativeDebugRootContextQuery11qt_metacallEN11QMetaObject4CallEiPPv @ 2118 NONAME + _ZN33QDeclarativeDebugRootContextQuery11qt_metacastEPKc @ 2119 NONAME + _ZN33QDeclarativeDebugRootContextQuery16staticMetaObjectE @ 2120 NONAME DATA 16 + _ZN33QDeclarativeDebugRootContextQuery19getStaticMetaObjectEv @ 2121 NONAME + _ZN33QDeclarativeDebugRootContextQueryC1EP7QObject @ 2122 NONAME + _ZN33QDeclarativeDebugRootContextQueryC2EP7QObject @ 2123 NONAME + _ZN33QDeclarativeDebugRootContextQueryD0Ev @ 2124 NONAME + _ZN33QDeclarativeDebugRootContextQueryD1Ev @ 2125 NONAME + _ZN33QDeclarativeDebugRootContextQueryD2Ev @ 2126 NONAME + _ZN34QDeclarativeDebugPropertyReferenceC1ERKS_ @ 2127 NONAME + _ZN34QDeclarativeDebugPropertyReferenceC1Ev @ 2128 NONAME + _ZN34QDeclarativeDebugPropertyReferenceC2ERKS_ @ 2129 NONAME + _ZN34QDeclarativeDebugPropertyReferenceC2Ev @ 2130 NONAME + _ZN34QDeclarativeDebugPropertyReferenceaSERKS_ @ 2131 NONAME + _ZN35QDeclarativeGraphicsObjectContainer10itemChangeEN13QGraphicsItem18GraphicsItemChangeERK8QVariant @ 2132 NONAME + _ZN35QDeclarativeGraphicsObjectContainer11eventFilterEP7QObjectP6QEvent @ 2133 NONAME + _ZN35QDeclarativeGraphicsObjectContainer11qt_metacallEN11QMetaObject4CallEiPPv @ 2134 NONAME + _ZN35QDeclarativeGraphicsObjectContainer11qt_metacastEPKc @ 2135 NONAME + _ZN35QDeclarativeGraphicsObjectContainer16staticMetaObjectE @ 2136 NONAME DATA 16 + _ZN35QDeclarativeGraphicsObjectContainer17setGraphicsObjectEP15QGraphicsObject @ 2137 NONAME + _ZN35QDeclarativeGraphicsObjectContainer19getStaticMetaObjectEv @ 2138 NONAME + _ZN35QDeclarativeGraphicsObjectContainer23setSynchronizedResizingEb @ 2139 NONAME + _ZN35QDeclarativeGraphicsObjectContainerC1EP16QDeclarativeItem @ 2140 NONAME + _ZN35QDeclarativeGraphicsObjectContainerC2EP16QDeclarativeItem @ 2141 NONAME + _ZN35QDeclarativeGraphicsObjectContainerD0Ev @ 2142 NONAME + _ZN35QDeclarativeGraphicsObjectContainerD1Ev @ 2143 NONAME + _ZN35QDeclarativeGraphicsObjectContainerD2Ev @ 2144 NONAME + _ZN36QDeclarativeDomValueValueInterceptorC1ERKS_ @ 2145 NONAME + _ZN36QDeclarativeDomValueValueInterceptorC1Ev @ 2146 NONAME + _ZN36QDeclarativeDomValueValueInterceptorC2ERKS_ @ 2147 NONAME + _ZN36QDeclarativeDomValueValueInterceptorC2Ev @ 2148 NONAME + _ZN36QDeclarativeDomValueValueInterceptorD1Ev @ 2149 NONAME + _ZN36QDeclarativeDomValueValueInterceptorD2Ev @ 2150 NONAME + _ZN36QDeclarativeDomValueValueInterceptoraSERKS_ @ 2151 NONAME + _ZN36QDeclarativePropertyValueInterceptorC2Ev @ 2152 NONAME + _ZN36QDeclarativePropertyValueInterceptorD0Ev @ 2153 NONAME + _ZN36QDeclarativePropertyValueInterceptorD1Ev @ 2154 NONAME + _ZN36QDeclarativePropertyValueInterceptorD2Ev @ 2155 NONAME + _ZN38QDeclarativeDebugObjectExpressionWatch11qt_metacallEN11QMetaObject4CallEiPPv @ 2156 NONAME + _ZN38QDeclarativeDebugObjectExpressionWatch11qt_metacastEPKc @ 2157 NONAME + _ZN38QDeclarativeDebugObjectExpressionWatch16staticMetaObjectE @ 2158 NONAME DATA 16 + _ZN38QDeclarativeDebugObjectExpressionWatch19getStaticMetaObjectEv @ 2159 NONAME + _ZN38QDeclarativeDebugObjectExpressionWatchC1EP7QObject @ 2160 NONAME + _ZN38QDeclarativeDebugObjectExpressionWatchC2EP7QObject @ 2161 NONAME + _ZN39QDeclarativeNetworkAccessManagerFactoryD0Ev @ 2162 NONAME + _ZN39QDeclarativeNetworkAccessManagerFactoryD1Ev @ 2163 NONAME + _ZN39QDeclarativeNetworkAccessManagerFactoryD2Ev @ 2164 NONAME + _ZN7QPacket5clearEv @ 2165 NONAME + _ZN7QPacketC1ERK10QByteArray @ 2166 NONAME + _ZN7QPacketC1ERKS_ @ 2167 NONAME + _ZN7QPacketC1Ev @ 2168 NONAME + _ZN7QPacketC2ERK10QByteArray @ 2169 NONAME + _ZN7QPacketC2ERKS_ @ 2170 NONAME + _ZN7QPacketC2Ev @ 2171 NONAME + _ZN7QPacketD0Ev @ 2172 NONAME + _ZN7QPacketD1Ev @ 2173 NONAME + _ZN7QPacketD2Ev @ 2174 NONAME + _ZNK15QDeclarativePen10metaObjectEv @ 2175 NONAME + _ZNK15QDeclarativeRow10metaObjectEv @ 2176 NONAME + _ZNK15QPacketProtocol10metaObjectEv @ 2177 NONAME + _ZNK15QPacketProtocol16packetsAvailableEv @ 2178 NONAME + _ZNK15QPacketProtocol17maximumPacketSizeEv @ 2179 NONAME + _ZNK16QDeclarativeBind10metaObjectEv @ 2180 NONAME + _ZNK16QDeclarativeBind4whenEv @ 2181 NONAME + _ZNK16QDeclarativeBind5valueEv @ 2182 NONAME + _ZNK16QDeclarativeBind8propertyEv @ 2183 NONAME + _ZNK16QDeclarativeDrag10metaObjectEv @ 2184 NONAME + _ZNK16QDeclarativeDrag4axisEv @ 2185 NONAME + _ZNK16QDeclarativeDrag4xmaxEv @ 2186 NONAME + _ZNK16QDeclarativeDrag4xminEv @ 2187 NONAME + _ZNK16QDeclarativeDrag4ymaxEv @ 2188 NONAME + _ZNK16QDeclarativeDrag4yminEv @ 2189 NONAME + _ZNK16QDeclarativeDrag6targetEv @ 2190 NONAME + _ZNK16QDeclarativeFlow10metaObjectEv @ 2191 NONAME + _ZNK16QDeclarativeFlow4flowEv @ 2192 NONAME + _ZNK16QDeclarativeGrid10metaObjectEv @ 2193 NONAME + _ZNK16QDeclarativeItem10metaObjectEv @ 2194 NONAME + _ZNK16QDeclarativeItem10parentItemEv @ 2195 NONAME + _ZNK16QDeclarativeItem10wantsFocusEv @ 2196 NONAME + _ZNK16QDeclarativeItem10widthValidEv @ 2197 NONAME + _ZNK16QDeclarativeItem11heightValidEv @ 2198 NONAME + _ZNK16QDeclarativeItem11mapFromItemERK12QScriptValueff @ 2199 NONAME + _ZNK16QDeclarativeItem12boundingRectEv @ 2200 NONAME + _ZNK16QDeclarativeItem13implicitWidthEv @ 2201 NONAME + _ZNK16QDeclarativeItem13keepMouseGrabEv @ 2202 NONAME + _ZNK16QDeclarativeItem14baselineOffsetEv @ 2203 NONAME + _ZNK16QDeclarativeItem14implicitHeightEv @ 2204 NONAME + _ZNK16QDeclarativeItem14verticalCenterEv @ 2205 NONAME + _ZNK16QDeclarativeItem15transformOriginEv @ 2206 NONAME + _ZNK16QDeclarativeItem16horizontalCenterEv @ 2207 NONAME + _ZNK16QDeclarativeItem16inputMethodQueryEN2Qt16InputMethodQueryE @ 2208 NONAME + _ZNK16QDeclarativeItem19isComponentCompleteEv @ 2209 NONAME + _ZNK16QDeclarativeItem3topEv @ 2210 NONAME + _ZNK16QDeclarativeItem4clipEv @ 2211 NONAME + _ZNK16QDeclarativeItem4leftEv @ 2212 NONAME + _ZNK16QDeclarativeItem5rightEv @ 2213 NONAME + _ZNK16QDeclarativeItem5stateEv @ 2214 NONAME + _ZNK16QDeclarativeItem5widthEv @ 2215 NONAME + _ZNK16QDeclarativeItem6bottomEv @ 2216 NONAME + _ZNK16QDeclarativeItem6heightEv @ 2217 NONAME + _ZNK16QDeclarativeItem6smoothEv @ 2218 NONAME + _ZNK16QDeclarativeItem8baselineEv @ 2219 NONAME + _ZNK16QDeclarativeItem8hasFocusEv @ 2220 NONAME + _ZNK16QDeclarativeItem9mapToItemERK12QScriptValueff @ 2221 NONAME + _ZNK16QDeclarativePath10attributesEv @ 2222 NONAME + _ZNK16QDeclarativePath10metaObjectEv @ 2223 NONAME + _ZNK16QDeclarativePath11attributeAtERK7QStringf @ 2224 NONAME + _ZNK16QDeclarativePath16createPointCacheEv @ 2225 NONAME + _ZNK16QDeclarativePath4pathEv @ 2226 NONAME + _ZNK16QDeclarativePath6startXEv @ 2227 NONAME + _ZNK16QDeclarativePath6startYEv @ 2228 NONAME + _ZNK16QDeclarativePath7pointAtEf @ 2229 NONAME + _ZNK16QDeclarativePath8isClosedEv @ 2230 NONAME + _ZNK16QDeclarativeText10metaObjectEv @ 2231 NONAME + _ZNK16QDeclarativeText10styleColorEv @ 2232 NONAME + _ZNK16QDeclarativeText10textFormatEv @ 2233 NONAME + _ZNK16QDeclarativeText4fontEv @ 2234 NONAME + _ZNK16QDeclarativeText4textEv @ 2235 NONAME + _ZNK16QDeclarativeText4wrapEv @ 2236 NONAME + _ZNK16QDeclarativeText5colorEv @ 2237 NONAME + _ZNK16QDeclarativeText5styleEv @ 2238 NONAME + _ZNK16QDeclarativeText6hAlignEv @ 2239 NONAME + _ZNK16QDeclarativeText6vAlignEv @ 2240 NONAME + _ZNK16QDeclarativeText9elideModeEv @ 2241 NONAME + _ZNK16QDeclarativeType10metaObjectEv @ 2242 NONAME + _ZNK16QDeclarativeType11isCreatableEv @ 2243 NONAME + _ZNK16QDeclarativeType11isInterfaceEv @ 2244 NONAME + _ZNK16QDeclarativeType11qListTypeIdEv @ 2245 NONAME + _ZNK16QDeclarativeType11qmlTypeNameEv @ 2246 NONAME + _ZNK16QDeclarativeType12customParserEv @ 2247 NONAME + _ZNK16QDeclarativeType12interfaceIIdEv @ 2248 NONAME + _ZNK16QDeclarativeType12majorVersionEv @ 2249 NONAME + _ZNK16QDeclarativeType12minorVersionEv @ 2250 NONAME + _ZNK16QDeclarativeType14baseMetaObjectEv @ 2251 NONAME + _ZNK16QDeclarativeType16parserStatusCastEv @ 2252 NONAME + _ZNK16QDeclarativeType18availableInVersionEii @ 2253 NONAME + _ZNK16QDeclarativeType22attachedPropertiesTypeEv @ 2254 NONAME + _ZNK16QDeclarativeType23propertyValueSourceCastEv @ 2255 NONAME + _ZNK16QDeclarativeType26attachedPropertiesFunctionEv @ 2256 NONAME + _ZNK16QDeclarativeType28propertyValueInterceptorCastEv @ 2257 NONAME + _ZNK16QDeclarativeType5indexEv @ 2258 NONAME + _ZNK16QDeclarativeType6createEPP7QObjectPPvj @ 2259 NONAME + _ZNK16QDeclarativeType6createEv @ 2260 NONAME + _ZNK16QDeclarativeType6typeIdEv @ 2261 NONAME + _ZNK16QDeclarativeType8typeNameEv @ 2262 NONAME + _ZNK16QDeclarativeView10metaObjectEv @ 2263 NONAME + _ZNK16QDeclarativeView10resizeModeEv @ 2264 NONAME + _ZNK16QDeclarativeView10rootObjectEv @ 2265 NONAME + _ZNK16QDeclarativeView6errorsEv @ 2266 NONAME + _ZNK16QDeclarativeView6sourceEv @ 2267 NONAME + _ZNK16QDeclarativeView6statusEv @ 2268 NONAME + _ZNK16QDeclarativeView8sizeHintEv @ 2269 NONAME + _ZNK16QMetaEnumBuilder3keyEi @ 2270 NONAME + _ZNK16QMetaEnumBuilder4nameEv @ 2271 NONAME + _ZNK16QMetaEnumBuilder5valueEi @ 2272 NONAME + _ZNK16QMetaEnumBuilder6d_funcEv @ 2273 NONAME + _ZNK16QMetaEnumBuilder6isFlagEv @ 2274 NONAME + _ZNK16QMetaEnumBuilder8keyCountEv @ 2275 NONAME + _ZNK17QDeclarativeCurve10metaObjectEv @ 2276 NONAME + _ZNK17QDeclarativeCurve1xEv @ 2277 NONAME + _ZNK17QDeclarativeCurve1yEv @ 2278 NONAME + _ZNK17QDeclarativeError11descriptionEv @ 2279 NONAME + _ZNK17QDeclarativeError3urlEv @ 2280 NONAME + _ZNK17QDeclarativeError4lineEv @ 2281 NONAME + _ZNK17QDeclarativeError6columnEv @ 2282 NONAME + _ZNK17QDeclarativeError7isValidEv @ 2283 NONAME + _ZNK17QDeclarativeError8toStringEv @ 2284 NONAME + _ZNK17QDeclarativeImage10metaObjectEv @ 2285 NONAME + _ZNK17QDeclarativeImage12paintedWidthEv @ 2286 NONAME + _ZNK17QDeclarativeImage13paintedHeightEv @ 2287 NONAME + _ZNK17QDeclarativeImage6pixmapEv @ 2288 NONAME + _ZNK17QDeclarativeImage8fillModeEv @ 2289 NONAME + _ZNK17QDeclarativeState10metaObjectEv @ 2290 NONAME + _ZNK17QDeclarativeState10stateGroupEv @ 2291 NONAME + _ZNK17QDeclarativeState11isWhenKnownEv @ 2292 NONAME + _ZNK17QDeclarativeState11operationAtEi @ 2293 NONAME + _ZNK17QDeclarativeState14operationCountEv @ 2294 NONAME + _ZNK17QDeclarativeState4nameEv @ 2295 NONAME + _ZNK17QDeclarativeState4whenEv @ 2296 NONAME + _ZNK17QDeclarativeState7extendsEv @ 2297 NONAME + _ZNK17QDeclarativeTimer10metaObjectEv @ 2298 NONAME + _ZNK17QDeclarativeTimer11isRepeatingEv @ 2299 NONAME + _ZNK17QDeclarativeTimer16triggeredOnStartEv @ 2300 NONAME + _ZNK17QDeclarativeTimer8intervalEv @ 2301 NONAME + _ZNK17QDeclarativeTimer9isRunningEv @ 2302 NONAME + _ZNK18QDeclarativeColumn10metaObjectEv @ 2303 NONAME + _ZNK18QDeclarativeEngine10metaObjectEv @ 2304 NONAME + _ZNK18QDeclarativeEngine13imageProviderERK7QString @ 2305 NONAME + _ZNK18QDeclarativeEngine14importPathListEv @ 2306 NONAME + _ZNK18QDeclarativeEngine18offlineStoragePathEv @ 2307 NONAME + _ZNK18QDeclarativeEngine20networkAccessManagerEv @ 2308 NONAME + _ZNK18QDeclarativeEngine27networkAccessManagerFactoryEv @ 2309 NONAME + _ZNK18QDeclarativeEngine7baseUrlEv @ 2310 NONAME + _ZNK18QDeclarativeLoader10metaObjectEv @ 2311 NONAME + _ZNK18QDeclarativeLoader10resizeModeEv @ 2312 NONAME + _ZNK18QDeclarativeLoader15sourceComponentEv @ 2313 NONAME + _ZNK18QDeclarativeLoader4itemEv @ 2314 NONAME + _ZNK18QDeclarativeLoader6sourceEv @ 2315 NONAME + _ZNK18QDeclarativeLoader6statusEv @ 2316 NONAME + _ZNK18QDeclarativeLoader8progressEv @ 2317 NONAME + _ZNK18QMetaMethodBuilder10attributesEv @ 2318 NONAME + _ZNK18QMetaMethodBuilder10methodTypeEv @ 2319 NONAME + _ZNK18QMetaMethodBuilder10returnTypeEv @ 2320 NONAME + _ZNK18QMetaMethodBuilder14parameterNamesEv @ 2321 NONAME + _ZNK18QMetaMethodBuilder3tagEv @ 2322 NONAME + _ZNK18QMetaMethodBuilder5indexEv @ 2323 NONAME + _ZNK18QMetaMethodBuilder6accessEv @ 2324 NONAME + _ZNK18QMetaMethodBuilder6d_funcEv @ 2325 NONAME + _ZNK18QMetaMethodBuilder9signatureEv @ 2326 NONAME + _ZNK18QMetaObjectBuilder10enumeratorEi @ 2327 NONAME + _ZNK18QMetaObjectBuilder10superClassEv @ 2328 NONAME + _ZNK18QMetaObjectBuilder11constructorEi @ 2329 NONAME + _ZNK18QMetaObjectBuilder11methodCountEv @ 2330 NONAME + _ZNK18QMetaObjectBuilder12toMetaObjectEv @ 2331 NONAME + _ZNK18QMetaObjectBuilder13classInfoNameEi @ 2332 NONAME + _ZNK18QMetaObjectBuilder13propertyCountEv @ 2333 NONAME + _ZNK18QMetaObjectBuilder14classInfoCountEv @ 2334 NONAME + _ZNK18QMetaObjectBuilder14classInfoValueEi @ 2335 NONAME + _ZNK18QMetaObjectBuilder15enumeratorCountEv @ 2336 NONAME + _ZNK18QMetaObjectBuilder16constructorCountEv @ 2337 NONAME + _ZNK18QMetaObjectBuilder17relatedMetaObjectEi @ 2338 NONAME + _ZNK18QMetaObjectBuilder17toRelocatableDataEPb @ 2339 NONAME + _ZNK18QMetaObjectBuilder22relatedMetaObjectCountEv @ 2340 NONAME + _ZNK18QMetaObjectBuilder22staticMetacallFunctionEv @ 2341 NONAME + _ZNK18QMetaObjectBuilder5flagsEv @ 2342 NONAME + _ZNK18QMetaObjectBuilder6methodEi @ 2343 NONAME + _ZNK18QMetaObjectBuilder8propertyEi @ 2344 NONAME + _ZNK18QMetaObjectBuilder9classNameEv @ 2345 NONAME + _ZNK18QMetaObjectBuilder9serializeER11QDataStream @ 2346 NONAME + _ZNK19QDeclarativeAnchors10leftMarginEv @ 2347 NONAME + _ZNK19QDeclarativeAnchors10metaObjectEv @ 2348 NONAME + _ZNK19QDeclarativeAnchors11rightMarginEv @ 2349 NONAME + _ZNK19QDeclarativeAnchors11usedAnchorsEv @ 2350 NONAME + _ZNK19QDeclarativeAnchors12bottomMarginEv @ 2351 NONAME + _ZNK19QDeclarativeAnchors14baselineOffsetEv @ 2352 NONAME + _ZNK19QDeclarativeAnchors14verticalCenterEv @ 2353 NONAME + _ZNK19QDeclarativeAnchors16horizontalCenterEv @ 2354 NONAME + _ZNK19QDeclarativeAnchors20verticalCenterOffsetEv @ 2355 NONAME + _ZNK19QDeclarativeAnchors22horizontalCenterOffsetEv @ 2356 NONAME + _ZNK19QDeclarativeAnchors3topEv @ 2357 NONAME + _ZNK19QDeclarativeAnchors4fillEv @ 2358 NONAME + _ZNK19QDeclarativeAnchors4leftEv @ 2359 NONAME + _ZNK19QDeclarativeAnchors5rightEv @ 2360 NONAME + _ZNK19QDeclarativeAnchors6bottomEv @ 2361 NONAME + _ZNK19QDeclarativeAnchors7marginsEv @ 2362 NONAME + _ZNK19QDeclarativeAnchors8baselineEv @ 2363 NONAME + _ZNK19QDeclarativeAnchors8centerInEv @ 2364 NONAME + _ZNK19QDeclarativeAnchors9topMarginEv @ 2365 NONAME + _ZNK19QDeclarativeBinding10expressionEv @ 2366 NONAME + _ZNK19QDeclarativeBinding10metaObjectEv @ 2367 NONAME + _ZNK19QDeclarativeBinding7enabledEv @ 2368 NONAME + _ZNK19QDeclarativeBinding8propertyEv @ 2369 NONAME + _ZNK19QDeclarativeContext10metaObjectEv @ 2370 NONAME + _ZNK19QDeclarativeContext13contextObjectEv @ 2371 NONAME + _ZNK19QDeclarativeContext13parentContextEv @ 2372 NONAME + _ZNK19QDeclarativeContext15contextPropertyERK7QString @ 2373 NONAME + _ZNK19QDeclarativeContext6engineEv @ 2374 NONAME + _ZNK19QDeclarativeContext7baseUrlEv @ 2375 NONAME + _ZNK19QDeclarativeDomList14commaPositionsEv @ 2376 NONAME + _ZNK19QDeclarativeDomList6lengthEv @ 2377 NONAME + _ZNK19QDeclarativeDomList6valuesEv @ 2378 NONAME + _ZNK19QDeclarativeDomList8positionEv @ 2379 NONAME + _ZNK19QListModelInterface10metaObjectEv @ 2380 NONAME + _ZNK20QDeclarativeBehavior10metaObjectEv @ 2381 NONAME + _ZNK20QDeclarativeBehavior7enabledEv @ 2382 NONAME + _ZNK20QDeclarativeCompiler12evaluateEnumERK10QByteArray @ 2383 NONAME + _ZNK20QDeclarativeCompiler6errorsEv @ 2384 NONAME + _ZNK20QDeclarativeCompiler7isErrorEv @ 2385 NONAME + _ZNK20QDeclarativeDomValue13isValueSourceEv @ 2386 NONAME + _ZNK20QDeclarativeDomValue13toValueSourceEv @ 2387 NONAME + _ZNK20QDeclarativeDomValue18isValueInterceptorEv @ 2388 NONAME + _ZNK20QDeclarativeDomValue18toValueInterceptorEv @ 2389 NONAME + _ZNK20QDeclarativeDomValue4typeEv @ 2390 NONAME + _ZNK20QDeclarativeDomValue6isListEv @ 2391 NONAME + _ZNK20QDeclarativeDomValue6lengthEv @ 2392 NONAME + _ZNK20QDeclarativeDomValue6toListEv @ 2393 NONAME + _ZNK20QDeclarativeDomValue8isObjectEv @ 2394 NONAME + _ZNK20QDeclarativeDomValue8positionEv @ 2395 NONAME + _ZNK20QDeclarativeDomValue8toObjectEv @ 2396 NONAME + _ZNK20QDeclarativeDomValue9isBindingEv @ 2397 NONAME + _ZNK20QDeclarativeDomValue9isInvalidEv @ 2398 NONAME + _ZNK20QDeclarativeDomValue9isLiteralEv @ 2399 NONAME + _ZNK20QDeclarativeDomValue9toBindingEv @ 2400 NONAME + _ZNK20QDeclarativeDomValue9toLiteralEv @ 2401 NONAME + _ZNK20QDeclarativeFlipable10metaObjectEv @ 2402 NONAME + _ZNK20QDeclarativeFlipable4sideEv @ 2403 NONAME + _ZNK20QDeclarativeGradient10metaObjectEv @ 2404 NONAME + _ZNK20QDeclarativeGradient8gradientEv @ 2405 NONAME + _ZNK20QDeclarativeGridView10cellHeightEv @ 2406 NONAME + _ZNK20QDeclarativeGridView10maxXExtentEv @ 2407 NONAME + _ZNK20QDeclarativeGridView10maxYExtentEv @ 2408 NONAME + _ZNK20QDeclarativeGridView10metaObjectEv @ 2409 NONAME + _ZNK20QDeclarativeGridView10minXExtentEv @ 2410 NONAME + _ZNK20QDeclarativeGridView10minYExtentEv @ 2411 NONAME + _ZNK20QDeclarativeGridView11cacheBufferEv @ 2412 NONAME + _ZNK20QDeclarativeGridView12currentIndexEv @ 2413 NONAME + _ZNK20QDeclarativeGridView13isWrapEnabledEv @ 2414 NONAME + _ZNK20QDeclarativeGridView18highlightRangeModeEv @ 2415 NONAME + _ZNK20QDeclarativeGridView21preferredHighlightEndEv @ 2416 NONAME + _ZNK20QDeclarativeGridView23preferredHighlightBeginEv @ 2417 NONAME + _ZNK20QDeclarativeGridView27highlightFollowsCurrentItemEv @ 2418 NONAME + _ZNK20QDeclarativeGridView4flowEv @ 2419 NONAME + _ZNK20QDeclarativeGridView5countEv @ 2420 NONAME + _ZNK20QDeclarativeGridView5modelEv @ 2421 NONAME + _ZNK20QDeclarativeGridView7indexAtEii @ 2422 NONAME + _ZNK20QDeclarativeGridView8delegateEv @ 2423 NONAME + _ZNK20QDeclarativeGridView8snapModeEv @ 2424 NONAME + _ZNK20QDeclarativeGridView9cellWidthEv @ 2425 NONAME + _ZNK20QDeclarativeGridView9highlightEv @ 2426 NONAME + _ZNK20QDeclarativeListView10maxXExtentEv @ 2427 NONAME + _ZNK20QDeclarativeListView10maxYExtentEv @ 2428 NONAME + _ZNK20QDeclarativeListView10metaObjectEv @ 2429 NONAME + _ZNK20QDeclarativeListView10minXExtentEv @ 2430 NONAME + _ZNK20QDeclarativeListView10minYExtentEv @ 2431 NONAME + _ZNK20QDeclarativeListView11cacheBufferEv @ 2432 NONAME + _ZNK20QDeclarativeListView11orientationEv @ 2433 NONAME + _ZNK20QDeclarativeListView12currentIndexEv @ 2434 NONAME + _ZNK20QDeclarativeListView13isWrapEnabledEv @ 2435 NONAME + _ZNK20QDeclarativeListView14currentSectionEv @ 2436 NONAME + _ZNK20QDeclarativeListView18highlightMoveSpeedEv @ 2437 NONAME + _ZNK20QDeclarativeListView18highlightRangeModeEv @ 2438 NONAME + _ZNK20QDeclarativeListView20highlightResizeSpeedEv @ 2439 NONAME + _ZNK20QDeclarativeListView21preferredHighlightEndEv @ 2440 NONAME + _ZNK20QDeclarativeListView23preferredHighlightBeginEv @ 2441 NONAME + _ZNK20QDeclarativeListView27highlightFollowsCurrentItemEv @ 2442 NONAME + _ZNK20QDeclarativeListView5countEv @ 2443 NONAME + _ZNK20QDeclarativeListView5modelEv @ 2444 NONAME + _ZNK20QDeclarativeListView6footerEv @ 2445 NONAME + _ZNK20QDeclarativeListView6headerEv @ 2446 NONAME + _ZNK20QDeclarativeListView7indexAtEii @ 2447 NONAME + _ZNK20QDeclarativeListView7spacingEv @ 2448 NONAME + _ZNK20QDeclarativeListView8delegateEv @ 2449 NONAME + _ZNK20QDeclarativeListView8snapModeEv @ 2450 NONAME + _ZNK20QDeclarativeListView9highlightEv @ 2451 NONAME + _ZNK20QDeclarativePathLine10metaObjectEv @ 2452 NONAME + _ZNK20QDeclarativePathQuad10metaObjectEv @ 2453 NONAME + _ZNK20QDeclarativePathQuad8controlXEv @ 2454 NONAME + _ZNK20QDeclarativePathQuad8controlYEv @ 2455 NONAME + _ZNK20QDeclarativePathView10dragMarginEv @ 2456 NONAME + _ZNK20QDeclarativePathView10metaObjectEv @ 2457 NONAME + _ZNK20QDeclarativePathView12currentIndexEv @ 2458 NONAME + _ZNK20QDeclarativePathView13isInteractiveEv @ 2459 NONAME + _ZNK20QDeclarativePathView13pathItemCountEv @ 2460 NONAME + _ZNK20QDeclarativePathView17flickDecelerationEv @ 2461 NONAME + _ZNK20QDeclarativePathView18highlightRangeModeEv @ 2462 NONAME + _ZNK20QDeclarativePathView21preferredHighlightEndEv @ 2463 NONAME + _ZNK20QDeclarativePathView23preferredHighlightBeginEv @ 2464 NONAME + _ZNK20QDeclarativePathView4pathEv @ 2465 NONAME + _ZNK20QDeclarativePathView5countEv @ 2466 NONAME + _ZNK20QDeclarativePathView5modelEv @ 2467 NONAME + _ZNK20QDeclarativePathView6offsetEv @ 2468 NONAME + _ZNK20QDeclarativePathView8delegateEv @ 2469 NONAME + _ZNK20QDeclarativePathView9highlightEv @ 2470 NONAME + _ZNK20QDeclarativeProperty10isPropertyEv @ 2471 NONAME + _ZNK20QDeclarativeProperty10isWritableEv @ 2472 NONAME + _ZNK20QDeclarativeProperty12isDesignableEv @ 2473 NONAME + _ZNK20QDeclarativeProperty12isResettableEv @ 2474 NONAME + _ZNK20QDeclarativeProperty12propertyTypeEv @ 2475 NONAME + _ZNK20QDeclarativeProperty15hasNotifySignalEv @ 2476 NONAME + _ZNK20QDeclarativeProperty16isSignalPropertyEv @ 2477 NONAME + _ZNK20QDeclarativeProperty16propertyTypeNameEv @ 2478 NONAME + _ZNK20QDeclarativeProperty17needsNotifySignalEv @ 2479 NONAME + _ZNK20QDeclarativeProperty19connectNotifySignalEP7QObjectPKc @ 2480 NONAME + _ZNK20QDeclarativeProperty19connectNotifySignalEP7QObjecti @ 2481 NONAME + _ZNK20QDeclarativeProperty20propertyTypeCategoryEv @ 2482 NONAME + _ZNK20QDeclarativeProperty4nameEv @ 2483 NONAME + _ZNK20QDeclarativeProperty4readEv @ 2484 NONAME + _ZNK20QDeclarativeProperty4typeEv @ 2485 NONAME + _ZNK20QDeclarativeProperty5indexEv @ 2486 NONAME + _ZNK20QDeclarativeProperty5resetEv @ 2487 NONAME + _ZNK20QDeclarativeProperty5writeERK8QVariant @ 2488 NONAME + _ZNK20QDeclarativeProperty6methodEv @ 2489 NONAME + _ZNK20QDeclarativeProperty6objectEv @ 2490 NONAME + _ZNK20QDeclarativeProperty7isValidEv @ 2491 NONAME + _ZNK20QDeclarativeProperty8propertyEv @ 2492 NONAME + _ZNK20QDeclarativePropertyeqERKS_ @ 2493 NONAME + _ZNK20QDeclarativeRepeater10metaObjectEv @ 2494 NONAME + _ZNK20QDeclarativeRepeater5countEv @ 2495 NONAME + _ZNK20QDeclarativeRepeater5modelEv @ 2496 NONAME + _ZNK20QDeclarativeRepeater8delegateEv @ 2497 NONAME + _ZNK20QDeclarativeTextEdit10cursorRectEv @ 2498 NONAME + _ZNK20QDeclarativeTextEdit10isReadOnlyEv @ 2499 NONAME + _ZNK20QDeclarativeTextEdit10metaObjectEv @ 2500 NONAME + _ZNK20QDeclarativeTextEdit10textFormatEv @ 2501 NONAME + _ZNK20QDeclarativeTextEdit10textMarginEv @ 2502 NONAME + _ZNK20QDeclarativeTextEdit12focusOnPressEv @ 2503 NONAME + _ZNK20QDeclarativeTextEdit12selectedTextEv @ 2504 NONAME + _ZNK20QDeclarativeTextEdit12selectionEndEv @ 2505 NONAME + _ZNK20QDeclarativeTextEdit14cursorDelegateEv @ 2506 NONAME + _ZNK20QDeclarativeTextEdit14cursorPositionEv @ 2507 NONAME + _ZNK20QDeclarativeTextEdit14selectionColorEv @ 2508 NONAME + _ZNK20QDeclarativeTextEdit14selectionStartEv @ 2509 NONAME + _ZNK20QDeclarativeTextEdit15isCursorVisibleEv @ 2510 NONAME + _ZNK20QDeclarativeTextEdit16inputMethodQueryEN2Qt16InputMethodQueryE @ 2511 NONAME + _ZNK20QDeclarativeTextEdit17selectedTextColorEv @ 2512 NONAME + _ZNK20QDeclarativeTextEdit19persistentSelectionEv @ 2513 NONAME + _ZNK20QDeclarativeTextEdit20textInteractionFlagsEv @ 2514 NONAME + _ZNK20QDeclarativeTextEdit4fontEv @ 2515 NONAME + _ZNK20QDeclarativeTextEdit4textEv @ 2516 NONAME + _ZNK20QDeclarativeTextEdit4wrapEv @ 2517 NONAME + _ZNK20QDeclarativeTextEdit5colorEv @ 2518 NONAME + _ZNK20QDeclarativeTextEdit6hAlignEv @ 2519 NONAME + _ZNK20QDeclarativeTextEdit6vAlignEv @ 2520 NONAME + _ZNK20QMetaPropertyBuilder10isEditableEv @ 2521 NONAME + _ZNK20QMetaPropertyBuilder10isReadableEv @ 2522 NONAME + _ZNK20QMetaPropertyBuilder10isWritableEv @ 2523 NONAME + _ZNK20QMetaPropertyBuilder12hasStdCppSetEv @ 2524 NONAME + _ZNK20QMetaPropertyBuilder12isDesignableEv @ 2525 NONAME + _ZNK20QMetaPropertyBuilder12isEnumOrFlagEv @ 2526 NONAME + _ZNK20QMetaPropertyBuilder12isResettableEv @ 2527 NONAME + _ZNK20QMetaPropertyBuilder12isScriptableEv @ 2528 NONAME + _ZNK20QMetaPropertyBuilder12notifySignalEv @ 2529 NONAME + _ZNK20QMetaPropertyBuilder15hasNotifySignalEv @ 2530 NONAME + _ZNK20QMetaPropertyBuilder4nameEv @ 2531 NONAME + _ZNK20QMetaPropertyBuilder4typeEv @ 2532 NONAME + _ZNK20QMetaPropertyBuilder6d_funcEv @ 2533 NONAME + _ZNK20QMetaPropertyBuilder6isUserEv @ 2534 NONAME + _ZNK20QMetaPropertyBuilder8isStoredEv @ 2535 NONAME + _ZNK20QMetaPropertyBuilder9isDynamicEv @ 2536 NONAME + _ZNK21QDeclarativeComponent10metaObjectEv @ 2537 NONAME + _ZNK21QDeclarativeComponent12errorsStringEv @ 2538 NONAME + _ZNK21QDeclarativeComponent15creationContextEv @ 2539 NONAME + _ZNK21QDeclarativeComponent3urlEv @ 2540 NONAME + _ZNK21QDeclarativeComponent6errorsEv @ 2541 NONAME + _ZNK21QDeclarativeComponent6isNullEv @ 2542 NONAME + _ZNK21QDeclarativeComponent6statusEv @ 2543 NONAME + _ZNK21QDeclarativeComponent7isErrorEv @ 2544 NONAME + _ZNK21QDeclarativeComponent7isReadyEv @ 2545 NONAME + _ZNK21QDeclarativeComponent8progressEv @ 2546 NONAME + _ZNK21QDeclarativeComponent9isLoadingEv @ 2547 NONAME + _ZNK21QDeclarativeDomImport3uriEv @ 2548 NONAME + _ZNK21QDeclarativeDomImport4typeEv @ 2549 NONAME + _ZNK21QDeclarativeDomImport7versionEv @ 2550 NONAME + _ZNK21QDeclarativeDomImport9qualifierEv @ 2551 NONAME + _ZNK21QDeclarativeDomObject10objectTypeEv @ 2552 NONAME + _ZNK21QDeclarativeDomObject10propertiesEv @ 2553 NONAME + _ZNK21QDeclarativeDomObject11isComponentEv @ 2554 NONAME + _ZNK21QDeclarativeDomObject11toComponentEv @ 2555 NONAME + _ZNK21QDeclarativeDomObject12isCustomTypeEv @ 2556 NONAME + _ZNK21QDeclarativeDomObject14customTypeDataEv @ 2557 NONAME + _ZNK21QDeclarativeDomObject15dynamicPropertyERK10QByteArray @ 2558 NONAME + _ZNK21QDeclarativeDomObject15objectClassNameEv @ 2559 NONAME + _ZNK21QDeclarativeDomObject17dynamicPropertiesEv @ 2560 NONAME + _ZNK21QDeclarativeDomObject22objectTypeMajorVersionEv @ 2561 NONAME + _ZNK21QDeclarativeDomObject22objectTypeMinorVersionEv @ 2562 NONAME + _ZNK21QDeclarativeDomObject3urlEv @ 2563 NONAME + _ZNK21QDeclarativeDomObject6lengthEv @ 2564 NONAME + _ZNK21QDeclarativeDomObject7isValidEv @ 2565 NONAME + _ZNK21QDeclarativeDomObject8objectIdEv @ 2566 NONAME + _ZNK21QDeclarativeDomObject8positionEv @ 2567 NONAME + _ZNK21QDeclarativeDomObject8propertyERK10QByteArray @ 2568 NONAME + _ZNK21QDeclarativeFlickable10isFlickingEv @ 2569 NONAME + _ZNK21QDeclarativeFlickable10maxXExtentEv @ 2570 NONAME + _ZNK21QDeclarativeFlickable10maxYExtentEv @ 2571 NONAME + _ZNK21QDeclarativeFlickable10metaObjectEv @ 2572 NONAME + _ZNK21QDeclarativeFlickable10minXExtentEv @ 2573 NONAME + _ZNK21QDeclarativeFlickable10minYExtentEv @ 2574 NONAME + _ZNK21QDeclarativeFlickable10pressDelayEv @ 2575 NONAME + _ZNK21QDeclarativeFlickable12contentWidthEv @ 2576 NONAME + _ZNK21QDeclarativeFlickable13contentHeightEv @ 2577 NONAME + _ZNK21QDeclarativeFlickable13isInteractiveEv @ 2578 NONAME + _ZNK21QDeclarativeFlickable14flickDirectionEv @ 2579 NONAME + _ZNK21QDeclarativeFlickable14isAtXBeginningEv @ 2580 NONAME + _ZNK21QDeclarativeFlickable14isAtYBeginningEv @ 2581 NONAME + _ZNK21QDeclarativeFlickable16verticalVelocityEv @ 2582 NONAME + _ZNK21QDeclarativeFlickable17flickDecelerationEv @ 2583 NONAME + _ZNK21QDeclarativeFlickable18horizontalVelocityEv @ 2584 NONAME + _ZNK21QDeclarativeFlickable20maximumFlickVelocityEv @ 2585 NONAME + _ZNK21QDeclarativeFlickable6vWidthEv @ 2586 NONAME + _ZNK21QDeclarativeFlickable6xflickEv @ 2587 NONAME + _ZNK21QDeclarativeFlickable6yflickEv @ 2588 NONAME + _ZNK21QDeclarativeFlickable7vHeightEv @ 2589 NONAME + _ZNK21QDeclarativeFlickable8contentXEv @ 2590 NONAME + _ZNK21QDeclarativeFlickable8contentYEv @ 2591 NONAME + _ZNK21QDeclarativeFlickable8isAtXEndEv @ 2592 NONAME + _ZNK21QDeclarativeFlickable8isAtYEndEv @ 2593 NONAME + _ZNK21QDeclarativeFlickable8isMovingEv @ 2594 NONAME + _ZNK21QDeclarativeFlickable9overShootEv @ 2595 NONAME + _ZNK21QDeclarativeImageBase10metaObjectEv @ 2596 NONAME + _ZNK21QDeclarativeImageBase10sourceSizeEv @ 2597 NONAME + _ZNK21QDeclarativeImageBase12asynchronousEv @ 2598 NONAME + _ZNK21QDeclarativeImageBase6sourceEv @ 2599 NONAME + _ZNK21QDeclarativeImageBase6statusEv @ 2600 NONAME + _ZNK21QDeclarativeImageBase8progressEv @ 2601 NONAME + _ZNK21QDeclarativeListModel10metaObjectEv @ 2602 NONAME + _ZNK21QDeclarativeListModel3getEi @ 2603 NONAME + _ZNK21QDeclarativeListModel4dataEiRK5QListIiE @ 2604 NONAME + _ZNK21QDeclarativeListModel4dataEii @ 2605 NONAME + _ZNK21QDeclarativeListModel5countEv @ 2606 NONAME + _ZNK21QDeclarativeListModel5rolesEv @ 2607 NONAME + _ZNK21QDeclarativeListModel8toStringEi @ 2608 NONAME + _ZNK21QDeclarativeMouseArea10metaObjectEv @ 2609 NONAME + _ZNK21QDeclarativeMouseArea14pressedButtonsEv @ 2610 NONAME + _ZNK21QDeclarativeMouseArea15acceptedButtonsEv @ 2611 NONAME + _ZNK21QDeclarativeMouseArea6mouseXEv @ 2612 NONAME + _ZNK21QDeclarativeMouseArea6mouseYEv @ 2613 NONAME + _ZNK21QDeclarativeMouseArea7hoveredEv @ 2614 NONAME + _ZNK21QDeclarativeMouseArea7pressedEv @ 2615 NONAME + _ZNK21QDeclarativeMouseArea9isEnabledEv @ 2616 NONAME + _ZNK21QDeclarativePathCubic10metaObjectEv @ 2617 NONAME + _ZNK21QDeclarativePathCubic9control1XEv @ 2618 NONAME + _ZNK21QDeclarativePathCubic9control1YEv @ 2619 NONAME + _ZNK21QDeclarativePathCubic9control2XEv @ 2620 NONAME + _ZNK21QDeclarativePathCubic9control2YEv @ 2621 NONAME + _ZNK21QDeclarativeRectangle10metaObjectEv @ 2622 NONAME + _ZNK21QDeclarativeRectangle12boundingRectEv @ 2623 NONAME + _ZNK21QDeclarativeRectangle5colorEv @ 2624 NONAME + _ZNK21QDeclarativeRectangle6radiusEv @ 2625 NONAME + _ZNK21QDeclarativeRectangle8gradientEv @ 2626 NONAME + _ZNK21QDeclarativeScaleGrid10metaObjectEv @ 2627 NONAME + _ZNK21QDeclarativeScaleGrid6isNullEv @ 2628 NONAME + _ZNK21QDeclarativeTextInput10cursorRectEv @ 2629 NONAME + _ZNK21QDeclarativeTextInput10isReadOnlyEv @ 2630 NONAME + _ZNK21QDeclarativeTextInput10metaObjectEv @ 2631 NONAME + _ZNK21QDeclarativeTextInput12focusOnPressEv @ 2632 NONAME + _ZNK21QDeclarativeTextInput12selectedTextEv @ 2633 NONAME + _ZNK21QDeclarativeTextInput12selectionEndEv @ 2634 NONAME + _ZNK21QDeclarativeTextInput14cursorDelegateEv @ 2635 NONAME + _ZNK21QDeclarativeTextInput14cursorPositionEv @ 2636 NONAME + _ZNK21QDeclarativeTextInput14selectionColorEv @ 2637 NONAME + _ZNK21QDeclarativeTextInput14selectionStartEv @ 2638 NONAME + _ZNK21QDeclarativeTextInput15isCursorVisibleEv @ 2639 NONAME + _ZNK21QDeclarativeTextInput16inputMethodQueryEN2Qt16InputMethodQueryE @ 2640 NONAME + _ZNK21QDeclarativeTextInput17selectedTextColorEv @ 2641 NONAME + _ZNK21QDeclarativeTextInput18hasAcceptableInputEv @ 2642 NONAME + _ZNK21QDeclarativeTextInput4fontEv @ 2643 NONAME + _ZNK21QDeclarativeTextInput4textEv @ 2644 NONAME + _ZNK21QDeclarativeTextInput5colorEv @ 2645 NONAME + _ZNK21QDeclarativeTextInput6hAlignEv @ 2646 NONAME + _ZNK21QDeclarativeTextInput8echoModeEv @ 2647 NONAME + _ZNK21QDeclarativeTextInput9inputMaskEv @ 2648 NONAME + _ZNK21QDeclarativeTextInput9maxLengthEv @ 2649 NONAME + _ZNK21QDeclarativeTextInput9validatorEv @ 2650 NONAME + _ZNK21QDeclarativeTranslate10metaObjectEv @ 2651 NONAME + _ZNK21QDeclarativeTranslate1xEv @ 2652 NONAME + _ZNK21QDeclarativeTranslate1yEv @ 2653 NONAME + _ZNK21QDeclarativeTranslate7applyToEP10QMatrix4x4 @ 2654 NONAME + _ZNK21QDeclarativeValueType10metaObjectEv @ 2655 NONAME + _ZNK22QDeclarativeDebugQuery10metaObjectEv @ 2656 NONAME + _ZNK22QDeclarativeDebugQuery5stateEv @ 2657 NONAME + _ZNK22QDeclarativeDebugQuery9isWaitingEv @ 2658 NONAME + _ZNK22QDeclarativeDebugWatch10metaObjectEv @ 2659 NONAME + _ZNK22QDeclarativeDebugWatch13objectDebugIdEv @ 2660 NONAME + _ZNK22QDeclarativeDebugWatch5stateEv @ 2661 NONAME + _ZNK22QDeclarativeDebugWatch7queryIdEv @ 2662 NONAME + _ZNK22QDeclarativeExpression10expressionEv @ 2663 NONAME + _ZNK22QDeclarativeExpression10lineNumberEv @ 2664 NONAME + _ZNK22QDeclarativeExpression10metaObjectEv @ 2665 NONAME + _ZNK22QDeclarativeExpression10sourceFileEv @ 2666 NONAME + _ZNK22QDeclarativeExpression11scopeObjectEv @ 2667 NONAME + _ZNK22QDeclarativeExpression20notifyOnValueChangedEv @ 2668 NONAME + _ZNK22QDeclarativeExpression5errorEv @ 2669 NONAME + _ZNK22QDeclarativeExpression6engineEv @ 2670 NONAME + _ZNK22QDeclarativeExpression7contextEv @ 2671 NONAME + _ZNK22QDeclarativeExpression8hasErrorEv @ 2672 NONAME + _ZNK22QDeclarativeFocusPanel10metaObjectEv @ 2673 NONAME + _ZNK22QDeclarativeFocusScope10metaObjectEv @ 2674 NONAME + _ZNK22QDeclarativeFontLoader10metaObjectEv @ 2675 NONAME + _ZNK22QDeclarativeFontLoader4nameEv @ 2676 NONAME + _ZNK22QDeclarativeFontLoader6sourceEv @ 2677 NONAME + _ZNK22QDeclarativeFontLoader6statusEv @ 2678 NONAME + _ZNK22QDeclarativeStateGroup10metaObjectEv @ 2679 NONAME + _ZNK22QDeclarativeStateGroup5stateEv @ 2680 NONAME + _ZNK22QDeclarativeStateGroup6statesEv @ 2681 NONAME + _ZNK22QDeclarativeStateGroup9findStateERK7QString @ 2682 NONAME + _ZNK22QDeclarativeTransition10metaObjectEv @ 2683 NONAME + _ZNK22QDeclarativeTransition10reversibleEv @ 2684 NONAME + _ZNK22QDeclarativeTransition7toStateEv @ 2685 NONAME + _ZNK22QDeclarativeTransition9fromStateEv @ 2686 NONAME + _ZNK23QDeclarativeBorderImage10metaObjectEv @ 2687 NONAME + _ZNK23QDeclarativeBorderImage16verticalTileModeEv @ 2688 NONAME + _ZNK23QDeclarativeBorderImage18horizontalTileModeEv @ 2689 NONAME + _ZNK23QDeclarativeConnections10metaObjectEv @ 2690 NONAME + _ZNK23QDeclarativeConnections6targetEv @ 2691 NONAME + _ZNK23QDeclarativeDebugClient10metaObjectEv @ 2692 NONAME + _ZNK23QDeclarativeDebugClient11isConnectedEv @ 2693 NONAME + _ZNK23QDeclarativeDebugClient4nameEv @ 2694 NONAME + _ZNK23QDeclarativeDebugClient9isEnabledEv @ 2695 NONAME + _ZNK23QDeclarativeDomDocument10rootObjectEv @ 2696 NONAME + _ZNK23QDeclarativeDomDocument6errorsEv @ 2697 NONAME + _ZNK23QDeclarativeDomDocument7importsEv @ 2698 NONAME + _ZNK23QDeclarativeDomProperty12propertyNameEv @ 2699 NONAME + _ZNK23QDeclarativeDomProperty17isDefaultPropertyEv @ 2700 NONAME + _ZNK23QDeclarativeDomProperty17propertyNamePartsEv @ 2701 NONAME + _ZNK23QDeclarativeDomProperty5valueEv @ 2702 NONAME + _ZNK23QDeclarativeDomProperty6lengthEv @ 2703 NONAME + _ZNK23QDeclarativeDomProperty7isValidEv @ 2704 NONAME + _ZNK23QDeclarativeDomProperty8positionEv @ 2705 NONAME + _ZNK23QDeclarativeEngineDebug10metaObjectEv @ 2706 NONAME + _ZNK23QDeclarativeItemPrivate22computeTransformOriginEv @ 2707 NONAME + _ZNK23QDeclarativeItemPrivate5widthEv @ 2708 NONAME + _ZNK23QDeclarativeItemPrivate6heightEv @ 2709 NONAME + _ZNK23QDeclarativePaintedItem10metaObjectEv @ 2710 NONAME + _ZNK23QDeclarativePaintedItem11smoothCacheEv @ 2711 NONAME + _ZNK23QDeclarativePaintedItem12contentsSizeEv @ 2712 NONAME + _ZNK23QDeclarativePaintedItem13contentsScaleEv @ 2713 NONAME + _ZNK23QDeclarativePaintedItem14pixelCacheSizeEv @ 2714 NONAME + _ZNK23QDeclarativePaintedItem9fillColorEv @ 2715 NONAME + _ZNK23QDeclarativePathElement10metaObjectEv @ 2716 NONAME + _ZNK23QDeclarativePathPercent10metaObjectEv @ 2717 NONAME + _ZNK23QDeclarativePathPercent5valueEv @ 2718 NONAME + _ZNK23QDeclarativePixmapReply10metaObjectEv @ 2719 NONAME + _ZNK23QDeclarativePixmapReply11forcedWidthEv @ 2720 NONAME + _ZNK23QDeclarativePixmapReply12forcedHeightEv @ 2721 NONAME + _ZNK23QDeclarativePixmapReply12implicitSizeEv @ 2722 NONAME + _ZNK23QDeclarativePixmapReply3urlEv @ 2723 NONAME + _ZNK23QDeclarativePixmapReply6statusEv @ 2724 NONAME + _ZNK23QDeclarativePixmapReply9isLoadingEv @ 2725 NONAME + _ZNK23QDeclarativePropertyMap10metaObjectEv @ 2726 NONAME + _ZNK23QDeclarativePropertyMap4keysEv @ 2727 NONAME + _ZNK23QDeclarativePropertyMap4sizeEv @ 2728 NONAME + _ZNK23QDeclarativePropertyMap5countEv @ 2729 NONAME + _ZNK23QDeclarativePropertyMap5valueERK7QString @ 2730 NONAME + _ZNK23QDeclarativePropertyMap7isEmptyEv @ 2731 NONAME + _ZNK23QDeclarativePropertyMap8containsERK7QString @ 2732 NONAME + _ZNK23QDeclarativePropertyMapixERK7QString @ 2733 NONAME + _ZNK23QDeclarativeViewSection10metaObjectEv @ 2734 NONAME + _ZNK23QDeclarativeVisualModel10metaObjectEv @ 2735 NONAME + _ZNK24QDeclarativeCustomParser12evaluateEnumERK10QByteArray @ 2736 NONAME + _ZNK24QDeclarativeDebugService10metaObjectEv @ 2737 NONAME + _ZNK24QDeclarativeDebugService4nameEv @ 2738 NONAME + _ZNK24QDeclarativeDebugService9isEnabledEv @ 2739 NONAME + _ZNK24QDeclarativeDomComponent13componentRootEv @ 2740 NONAME + _ZNK24QDeclarativeGradientStop10metaObjectEv @ 2741 NONAME + _ZNK24QDeclarativeListAccessor2atEi @ 2742 NONAME + _ZNK24QDeclarativeListAccessor4listEv @ 2743 NONAME + _ZNK24QDeclarativeListAccessor5countEv @ 2744 NONAME + _ZNK24QDeclarativeListAccessor7isValidEv @ 2745 NONAME + _ZNK24QDeclarativeParentChange10metaObjectEv @ 2746 NONAME + _ZNK24QDeclarativeParentChange10scaleIsSetEv @ 2747 NONAME + _ZNK24QDeclarativeParentChange10widthIsSetEv @ 2748 NONAME + _ZNK24QDeclarativeParentChange11heightIsSetEv @ 2749 NONAME + _ZNK24QDeclarativeParentChange13rotationIsSetEv @ 2750 NONAME + _ZNK24QDeclarativeParentChange14originalParentEv @ 2751 NONAME + _ZNK24QDeclarativeParentChange1xEv @ 2752 NONAME + _ZNK24QDeclarativeParentChange1yEv @ 2753 NONAME + _ZNK24QDeclarativeParentChange5scaleEv @ 2754 NONAME + _ZNK24QDeclarativeParentChange5widthEv @ 2755 NONAME + _ZNK24QDeclarativeParentChange6heightEv @ 2756 NONAME + _ZNK24QDeclarativeParentChange6objectEv @ 2757 NONAME + _ZNK24QDeclarativeParentChange6parentEv @ 2758 NONAME + _ZNK24QDeclarativeParentChange6xIsSetEv @ 2759 NONAME + _ZNK24QDeclarativeParentChange6yIsSetEv @ 2760 NONAME + _ZNK24QDeclarativeParentChange8rotationEv @ 2761 NONAME + _ZNK24QDeclarativeParentChange8typeNameEv @ 2762 NONAME + _ZNK24QDeclarativeScriptString11scopeObjectEv @ 2763 NONAME + _ZNK24QDeclarativeScriptString6scriptEv @ 2764 NONAME + _ZNK24QDeclarativeScriptString7contextEv @ 2765 NONAME + _ZNK24QDeclarativeSpringFollow10metaObjectEv @ 2766 NONAME + _ZNK24QDeclarativeSpringFollow11sourceValueEv @ 2767 NONAME + _ZNK24QDeclarativeSpringFollow4massEv @ 2768 NONAME + _ZNK24QDeclarativeSpringFollow5valueEv @ 2769 NONAME + _ZNK24QDeclarativeSpringFollow6inSyncEv @ 2770 NONAME + _ZNK24QDeclarativeSpringFollow6springEv @ 2771 NONAME + _ZNK24QDeclarativeSpringFollow7dampingEv @ 2772 NONAME + _ZNK24QDeclarativeSpringFollow7enabledEv @ 2773 NONAME + _ZNK24QDeclarativeSpringFollow7epsilonEv @ 2774 NONAME + _ZNK24QDeclarativeSpringFollow7modulusEv @ 2775 NONAME + _ZNK24QDeclarativeSpringFollow8velocityEv @ 2776 NONAME + _ZNK24QDeclarativeWorkerScript10metaObjectEv @ 2777 NONAME + _ZNK24QDeclarativeWorkerScript6sourceEv @ 2778 NONAME + _ZNK24QDeclarativeXmlListModel10metaObjectEv @ 2779 NONAME + _ZNK24QDeclarativeXmlListModel21namespaceDeclarationsEv @ 2780 NONAME + _ZNK24QDeclarativeXmlListModel3xmlEv @ 2781 NONAME + _ZNK24QDeclarativeXmlListModel4dataEiRK5QListIiE @ 2782 NONAME + _ZNK24QDeclarativeXmlListModel4dataEii @ 2783 NONAME + _ZNK24QDeclarativeXmlListModel5countEv @ 2784 NONAME + _ZNK24QDeclarativeXmlListModel5queryEv @ 2785 NONAME + _ZNK24QDeclarativeXmlListModel5rolesEv @ 2786 NONAME + _ZNK24QDeclarativeXmlListModel6sourceEv @ 2787 NONAME + _ZNK24QDeclarativeXmlListModel6statusEv @ 2788 NONAME + _ZNK24QDeclarativeXmlListModel8progressEv @ 2789 NONAME + _ZNK24QDeclarativeXmlListModel8toStringEi @ 2790 NONAME + _ZNK25QDeclarativeAnchorChanges10metaObjectEv @ 2791 NONAME + _ZNK25QDeclarativeAnchorChanges6objectEv @ 2792 NONAME + _ZNK25QDeclarativeAnchorChanges8typeNameEv @ 2793 NONAME + _ZNK25QDeclarativeAnimatedImage10frameCountEv @ 2794 NONAME + _ZNK25QDeclarativeAnimatedImage10metaObjectEv @ 2795 NONAME + _ZNK25QDeclarativeAnimatedImage12currentFrameEv @ 2796 NONAME + _ZNK25QDeclarativeAnimatedImage8isPausedEv @ 2797 NONAME + _ZNK25QDeclarativeAnimatedImage9isPlayingEv @ 2798 NONAME + _ZNK25QDeclarativeListReference15listElementTypeEv @ 2799 NONAME + _ZNK25QDeclarativeListReference2atEi @ 2800 NONAME + _ZNK25QDeclarativeListReference5canAtEv @ 2801 NONAME + _ZNK25QDeclarativeListReference5clearEv @ 2802 NONAME + _ZNK25QDeclarativeListReference5countEv @ 2803 NONAME + _ZNK25QDeclarativeListReference6appendEP7QObject @ 2804 NONAME + _ZNK25QDeclarativeListReference6objectEv @ 2805 NONAME + _ZNK25QDeclarativeListReference7isValidEv @ 2806 NONAME + _ZNK25QDeclarativeListReference8canClearEv @ 2807 NONAME + _ZNK25QDeclarativeListReference8canCountEv @ 2808 NONAME + _ZNK25QDeclarativeListReference9canAppendEv @ 2809 NONAME + _ZNK25QDeclarativePathAttribute10metaObjectEv @ 2810 NONAME + _ZNK25QDeclarativePathAttribute4nameEv @ 2811 NONAME + _ZNK25QDeclarativePathAttribute5valueEv @ 2812 NONAME + _ZNK25QDeclarativeSystemPalette10buttonTextEv @ 2813 NONAME + _ZNK25QDeclarativeSystemPalette10colorGroupEv @ 2814 NONAME + _ZNK25QDeclarativeSystemPalette10metaObjectEv @ 2815 NONAME + _ZNK25QDeclarativeSystemPalette10windowTextEv @ 2816 NONAME + _ZNK25QDeclarativeSystemPalette13alternateBaseEv @ 2817 NONAME + _ZNK25QDeclarativeSystemPalette15highlightedTextEv @ 2818 NONAME + _ZNK25QDeclarativeSystemPalette3midEv @ 2819 NONAME + _ZNK25QDeclarativeSystemPalette4baseEv @ 2820 NONAME + _ZNK25QDeclarativeSystemPalette4darkEv @ 2821 NONAME + _ZNK25QDeclarativeSystemPalette4textEv @ 2822 NONAME + _ZNK25QDeclarativeSystemPalette5lightEv @ 2823 NONAME + _ZNK25QDeclarativeSystemPalette6buttonEv @ 2824 NONAME + _ZNK25QDeclarativeSystemPalette6shadowEv @ 2825 NONAME + _ZNK25QDeclarativeSystemPalette6windowEv @ 2826 NONAME + _ZNK25QDeclarativeSystemPalette8midlightEv @ 2827 NONAME + _ZNK25QDeclarativeSystemPalette9highlightEv @ 2828 NONAME + _ZNK26QDeclarativeBasePositioner10metaObjectEv @ 2829 NONAME + _ZNK26QDeclarativeBasePositioner3addEv @ 2830 NONAME + _ZNK26QDeclarativeBasePositioner4moveEv @ 2831 NONAME + _ZNK26QDeclarativeBasePositioner7spacingEv @ 2832 NONAME + _ZNK26QDeclarativeOpenMetaObject4nameEi @ 2833 NONAME + _ZNK26QDeclarativeOpenMetaObject4typeEv @ 2834 NONAME + _ZNK26QDeclarativeOpenMetaObject5countEv @ 2835 NONAME + _ZNK26QDeclarativeOpenMetaObject5valueERK10QByteArray @ 2836 NONAME + _ZNK26QDeclarativeOpenMetaObject5valueEi @ 2837 NONAME + _ZNK26QDeclarativeOpenMetaObject6objectEv @ 2838 NONAME + _ZNK26QDeclarativeOpenMetaObject6parentEv @ 2839 NONAME + _ZNK26QDeclarativeStateOperation10metaObjectEv @ 2840 NONAME + _ZNK27QDeclarativeAbstractBinding10expressionEv @ 2841 NONAME + _ZNK27QDeclarativeDebugConnection10metaObjectEv @ 2842 NONAME + _ZNK27QDeclarativeDebugConnection11isConnectedEv @ 2843 NONAME + _ZNK27QDeclarativeDomValueBinding7bindingEv @ 2844 NONAME + _ZNK27QDeclarativeDomValueLiteral7literalEv @ 2845 NONAME + _ZNK27QDeclarativeExtensionPlugin10metaObjectEv @ 2846 NONAME + _ZNK27QDeclarativeGridScaledImage10gridBottomEv @ 2847 NONAME + _ZNK27QDeclarativeGridScaledImage7gridTopEv @ 2848 NONAME + _ZNK27QDeclarativeGridScaledImage7isValidEv @ 2849 NONAME + _ZNK27QDeclarativeGridScaledImage8gridLeftEv @ 2850 NONAME + _ZNK27QDeclarativeGridScaledImage9gridRightEv @ 2851 NONAME + _ZNK27QDeclarativeGridScaledImage9pixmapUrlEv @ 2852 NONAME + _ZNK27QDeclarativePropertyChanges10isExplicitEv @ 2853 NONAME + _ZNK27QDeclarativePropertyChanges10metaObjectEv @ 2854 NONAME + _ZNK27QDeclarativePropertyChanges18restoreEntryValuesEv @ 2855 NONAME + _ZNK27QDeclarativePropertyChanges6objectEv @ 2856 NONAME + _ZNK27QDeclarativePropertyPrivate11isValueTypeEv @ 2857 NONAME + _ZNK27QDeclarativePropertyPrivate12propertyTypeEv @ 2858 NONAME + _ZNK27QDeclarativePropertyPrivate20propertyTypeCategoryEv @ 2859 NONAME + _ZNK27QDeclarativeVisualDataModel10metaObjectEv @ 2860 NONAME + _ZNK27QDeclarativeVisualDataModel4partEv @ 2861 NONAME + _ZNK27QDeclarativeVisualDataModel5countEv @ 2862 NONAME + _ZNK27QDeclarativeVisualDataModel5modelEv @ 2863 NONAME + _ZNK27QDeclarativeVisualDataModel7indexOfEP16QDeclarativeItemP7QObject @ 2864 NONAME + _ZNK27QDeclarativeVisualDataModel8delegateEv @ 2865 NONAME + _ZNK27QDeclarativeVisualDataModel9rootIndexEv @ 2866 NONAME + _ZNK27QDeclarativeVisualItemModel10metaObjectEv @ 2867 NONAME + _ZNK27QDeclarativeVisualItemModel5countEv @ 2868 NONAME + _ZNK27QDeclarativeVisualItemModel7indexOfEP16QDeclarativeItemP7QObject @ 2869 NONAME + _ZNK27QDeclarativeVisualItemModel7isValidEv @ 2870 NONAME + _ZNK28QDeclarativeCustomParserNode10propertiesEv @ 2871 NONAME + _ZNK28QDeclarativeCustomParserNode4nameEv @ 2872 NONAME + _ZNK28QDeclarativeCustomParserNode8locationEv @ 2873 NONAME + _ZNK28QDeclarativeDebugObjectQuery10metaObjectEv @ 2874 NONAME + _ZNK28QDeclarativeDebugObjectQuery6objectEv @ 2875 NONAME + _ZNK28QDeclarativeValueTypeFactoryixEi @ 2876 NONAME + _ZNK28QDeclarativeXmlListModelRole10metaObjectEv @ 2877 NONAME + _ZNK29QDeclarativeDebugEnginesQuery10metaObjectEv @ 2878 NONAME + _ZNK29QDeclarativeDebugEnginesQuery7enginesEv @ 2879 NONAME + _ZNK29QDeclarativeSmoothedAnimation10metaObjectEv @ 2880 NONAME + _ZNK29QDeclarativeSmoothedAnimation13reversingModeEv @ 2881 NONAME + _ZNK29QDeclarativeSmoothedAnimation17maximumEasingTimeEv @ 2882 NONAME + _ZNK29QDeclarativeSmoothedAnimation8durationEv @ 2883 NONAME + _ZNK29QDeclarativeSmoothedAnimation8velocityEv @ 2884 NONAME + _ZNK29QDeclarativeStateChangeScript10metaObjectEv @ 2885 NONAME + _ZNK29QDeclarativeStateChangeScript4nameEv @ 2886 NONAME + _ZNK29QDeclarativeStateChangeScript6scriptEv @ 2887 NONAME + _ZNK29QDeclarativeStateChangeScript8typeNameEv @ 2888 NONAME + _ZNK30QDeclarativeDebugFileReference10lineNumberEv @ 2889 NONAME + _ZNK30QDeclarativeDebugFileReference12columnNumberEv @ 2890 NONAME + _ZNK30QDeclarativeDebugFileReference3urlEv @ 2891 NONAME + _ZNK30QDeclarativeDebugPropertyWatch10metaObjectEv @ 2892 NONAME + _ZNK30QDeclarativeDebugPropertyWatch4nameEv @ 2893 NONAME + _ZNK30QDeclarativeDomDynamicProperty12defaultValueEv @ 2894 NONAME + _ZNK30QDeclarativeDomDynamicProperty12propertyNameEv @ 2895 NONAME + _ZNK30QDeclarativeDomDynamicProperty12propertyTypeEv @ 2896 NONAME + _ZNK30QDeclarativeDomDynamicProperty16propertyTypeNameEv @ 2897 NONAME + _ZNK30QDeclarativeDomDynamicProperty17isDefaultPropertyEv @ 2898 NONAME + _ZNK30QDeclarativeDomDynamicProperty6lengthEv @ 2899 NONAME + _ZNK30QDeclarativeDomDynamicProperty7isAliasEv @ 2900 NONAME + _ZNK30QDeclarativeDomDynamicProperty7isValidEv @ 2901 NONAME + _ZNK30QDeclarativeDomDynamicProperty8positionEv @ 2902 NONAME + _ZNK30QDeclarativeOpenMetaObjectType12signalOffsetEv @ 2903 NONAME + _ZNK30QDeclarativeOpenMetaObjectType14propertyOffsetEv @ 2904 NONAME + _ZNK31QDeclarativeDomValueValueSource6objectEv @ 2905 NONAME + _ZNK32QDeclarativeCustomParserProperty14assignedValuesEv @ 2906 NONAME + _ZNK32QDeclarativeCustomParserProperty4nameEv @ 2907 NONAME + _ZNK32QDeclarativeCustomParserProperty6isListEv @ 2908 NONAME + _ZNK32QDeclarativeCustomParserProperty8locationEv @ 2909 NONAME + _ZNK32QDeclarativeDebugEngineReference4nameEv @ 2910 NONAME + _ZNK32QDeclarativeDebugEngineReference7debugIdEv @ 2911 NONAME + _ZNK32QDeclarativeDebugExpressionQuery10expressionEv @ 2912 NONAME + _ZNK32QDeclarativeDebugExpressionQuery10metaObjectEv @ 2913 NONAME + _ZNK32QDeclarativeDebugExpressionQuery6resultEv @ 2914 NONAME + _ZNK32QDeclarativeDebugObjectReference10propertiesEv @ 2915 NONAME + _ZNK32QDeclarativeDebugObjectReference14contextDebugIdEv @ 2916 NONAME + _ZNK32QDeclarativeDebugObjectReference4nameEv @ 2917 NONAME + _ZNK32QDeclarativeDebugObjectReference6sourceEv @ 2918 NONAME + _ZNK32QDeclarativeDebugObjectReference7debugIdEv @ 2919 NONAME + _ZNK32QDeclarativeDebugObjectReference8childrenEv @ 2920 NONAME + _ZNK32QDeclarativeDebugObjectReference8idStringEv @ 2921 NONAME + _ZNK32QDeclarativeDebugObjectReference9classNameEv @ 2922 NONAME + _ZNK33QDeclarativeDebugContextReference4nameEv @ 2923 NONAME + _ZNK33QDeclarativeDebugContextReference7debugIdEv @ 2924 NONAME + _ZNK33QDeclarativeDebugContextReference7objectsEv @ 2925 NONAME + _ZNK33QDeclarativeDebugContextReference8contextsEv @ 2926 NONAME + _ZNK33QDeclarativeDebugRootContextQuery10metaObjectEv @ 2927 NONAME + _ZNK33QDeclarativeDebugRootContextQuery11rootContextEv @ 2928 NONAME + _ZNK34QDeclarativeDebugPropertyReference13objectDebugIdEv @ 2929 NONAME + _ZNK34QDeclarativeDebugPropertyReference13valueTypeNameEv @ 2930 NONAME + _ZNK34QDeclarativeDebugPropertyReference15hasNotifySignalEv @ 2931 NONAME + _ZNK34QDeclarativeDebugPropertyReference4nameEv @ 2932 NONAME + _ZNK34QDeclarativeDebugPropertyReference5valueEv @ 2933 NONAME + _ZNK34QDeclarativeDebugPropertyReference7bindingEv @ 2934 NONAME + _ZNK35QDeclarativeGraphicsObjectContainer10metaObjectEv @ 2935 NONAME + _ZNK35QDeclarativeGraphicsObjectContainer14graphicsObjectEv @ 2936 NONAME + _ZNK35QDeclarativeGraphicsObjectContainer20synchronizedResizingEv @ 2937 NONAME + _ZNK36QDeclarativeDomValueValueInterceptor6objectEv @ 2938 NONAME + _ZNK38QDeclarativeDebugObjectExpressionWatch10expressionEv @ 2939 NONAME + _ZNK38QDeclarativeDebugObjectExpressionWatch10metaObjectEv @ 2940 NONAME + _ZNK7QPacket7isEmptyEv @ 2941 NONAME + _ZTI15QDeclarativePen @ 2942 NONAME + _ZTI15QDeclarativeRow @ 2943 NONAME + _ZTI15QPacketAutoSend @ 2944 NONAME + _ZTI15QPacketProtocol @ 2945 NONAME + _ZTI16QDeclarativeBind @ 2946 NONAME + _ZTI16QDeclarativeDrag @ 2947 NONAME + _ZTI16QDeclarativeFlow @ 2948 NONAME + _ZTI16QDeclarativeGrid @ 2949 NONAME + _ZTI16QDeclarativeItem @ 2950 NONAME + _ZTI16QDeclarativePath @ 2951 NONAME + _ZTI16QDeclarativeText @ 2952 NONAME + _ZTI16QDeclarativeView @ 2953 NONAME + _ZTI17QDeclarativeCurve @ 2954 NONAME + _ZTI17QDeclarativeImage @ 2955 NONAME + _ZTI17QDeclarativeState @ 2956 NONAME + _ZTI17QDeclarativeTimer @ 2957 NONAME + _ZTI18QDeclarativeColumn @ 2958 NONAME + _ZTI18QDeclarativeEngine @ 2959 NONAME + _ZTI18QDeclarativeLoader @ 2960 NONAME + _ZTI18QMetaObjectBuilder @ 2961 NONAME + _ZTI19QDeclarativeAnchors @ 2962 NONAME + _ZTI19QDeclarativeBinding @ 2963 NONAME + _ZTI19QDeclarativeContext @ 2964 NONAME + _ZTI19QListModelInterface @ 2965 NONAME + _ZTI20QDeclarativeBehavior @ 2966 NONAME + _ZTI20QDeclarativeFlipable @ 2967 NONAME + _ZTI20QDeclarativeGradient @ 2968 NONAME + _ZTI20QDeclarativeGridView @ 2969 NONAME + _ZTI20QDeclarativeListView @ 2970 NONAME + _ZTI20QDeclarativePathLine @ 2971 NONAME + _ZTI20QDeclarativePathQuad @ 2972 NONAME + _ZTI20QDeclarativePathView @ 2973 NONAME + _ZTI20QDeclarativeRepeater @ 2974 NONAME + _ZTI20QDeclarativeTextEdit @ 2975 NONAME + _ZTI21QDeclarativeComponent @ 2976 NONAME + _ZTI21QDeclarativeFlickable @ 2977 NONAME + _ZTI21QDeclarativeImageBase @ 2978 NONAME + _ZTI21QDeclarativeListModel @ 2979 NONAME + _ZTI21QDeclarativeMouseArea @ 2980 NONAME + _ZTI21QDeclarativePathCubic @ 2981 NONAME + _ZTI21QDeclarativeRectangle @ 2982 NONAME + _ZTI21QDeclarativeScaleGrid @ 2983 NONAME + _ZTI21QDeclarativeTextInput @ 2984 NONAME + _ZTI21QDeclarativeTranslate @ 2985 NONAME + _ZTI21QDeclarativeValueType @ 2986 NONAME + _ZTI22QDeclarativeDebugQuery @ 2987 NONAME + _ZTI22QDeclarativeDebugWatch @ 2988 NONAME + _ZTI22QDeclarativeExpression @ 2989 NONAME + _ZTI22QDeclarativeFocusPanel @ 2990 NONAME + _ZTI22QDeclarativeFocusScope @ 2991 NONAME + _ZTI22QDeclarativeFontLoader @ 2992 NONAME + _ZTI22QDeclarativeStateGroup @ 2993 NONAME + _ZTI22QDeclarativeTransition @ 2994 NONAME + _ZTI23QDeclarativeBorderImage @ 2995 NONAME + _ZTI23QDeclarativeConnections @ 2996 NONAME + _ZTI23QDeclarativeDebugClient @ 2997 NONAME + _ZTI23QDeclarativeEngineDebug @ 2998 NONAME + _ZTI23QDeclarativeItemPrivate @ 2999 NONAME + _ZTI23QDeclarativePaintedItem @ 3000 NONAME + _ZTI23QDeclarativePathElement @ 3001 NONAME + _ZTI23QDeclarativePathPercent @ 3002 NONAME + _ZTI23QDeclarativePixmapReply @ 3003 NONAME + _ZTI23QDeclarativePropertyMap @ 3004 NONAME + _ZTI23QDeclarativeViewSection @ 3005 NONAME + _ZTI23QDeclarativeVisualModel @ 3006 NONAME + _ZTI24QDeclarativeCustomParser @ 3007 NONAME + _ZTI24QDeclarativeDebugService @ 3008 NONAME + _ZTI24QDeclarativeGradientStop @ 3009 NONAME + _ZTI24QDeclarativeParentChange @ 3010 NONAME + _ZTI24QDeclarativeParserStatus @ 3011 NONAME + _ZTI24QDeclarativeSpringFollow @ 3012 NONAME + _ZTI24QDeclarativeWorkerScript @ 3013 NONAME + _ZTI24QDeclarativeXmlListModel @ 3014 NONAME + _ZTI25QDeclarativeAnchorChanges @ 3015 NONAME + _ZTI25QDeclarativeAnimatedImage @ 3016 NONAME + _ZTI25QDeclarativeImageProvider @ 3017 NONAME + _ZTI25QDeclarativePathAttribute @ 3018 NONAME + _ZTI25QDeclarativeSystemPalette @ 3019 NONAME + _ZTI26QDeclarativeBasePositioner @ 3020 NONAME + _ZTI26QDeclarativeDebuggerStatus @ 3021 NONAME + _ZTI26QDeclarativeOpenMetaObject @ 3022 NONAME + _ZTI26QDeclarativeStateOperation @ 3023 NONAME + _ZTI27QDeclarativeAbstractBinding @ 3024 NONAME + _ZTI27QDeclarativeDebugConnection @ 3025 NONAME + _ZTI27QDeclarativeExtensionPlugin @ 3026 NONAME + _ZTI27QDeclarativePropertyChanges @ 3027 NONAME + _ZTI27QDeclarativeVisualDataModel @ 3028 NONAME + _ZTI27QDeclarativeVisualItemModel @ 3029 NONAME + _ZTI28QDeclarativeDebugObjectQuery @ 3030 NONAME + _ZTI28QDeclarativeXmlListModelRole @ 3031 NONAME + _ZTI29QDeclarativeDebugEnginesQuery @ 3032 NONAME + _ZTI29QDeclarativeSmoothedAnimation @ 3033 NONAME + _ZTI29QDeclarativeStateChangeScript @ 3034 NONAME + _ZTI30QDeclarativeDebugPropertyWatch @ 3035 NONAME + _ZTI30QDeclarativeExtensionInterface @ 3036 NONAME + _ZTI30QDeclarativeOpenMetaObjectType @ 3037 NONAME + _ZTI31QDeclarativePropertyValueSource @ 3038 NONAME + _ZTI32QDeclarativeDebugExpressionQuery @ 3039 NONAME + _ZTI33QDeclarativeDebugRootContextQuery @ 3040 NONAME + _ZTI35QDeclarativeGraphicsObjectContainer @ 3041 NONAME + _ZTI36QDeclarativePropertyValueInterceptor @ 3042 NONAME + _ZTI38QDeclarativeDebugObjectExpressionWatch @ 3043 NONAME + _ZTI39QDeclarativeNetworkAccessManagerFactory @ 3044 NONAME + _ZTI7QPacket @ 3045 NONAME + _ZTV15QDeclarativePen @ 3046 NONAME + _ZTV15QDeclarativeRow @ 3047 NONAME + _ZTV15QPacketAutoSend @ 3048 NONAME + _ZTV15QPacketProtocol @ 3049 NONAME + _ZTV16QDeclarativeBind @ 3050 NONAME + _ZTV16QDeclarativeDrag @ 3051 NONAME + _ZTV16QDeclarativeFlow @ 3052 NONAME + _ZTV16QDeclarativeGrid @ 3053 NONAME + _ZTV16QDeclarativeItem @ 3054 NONAME + _ZTV16QDeclarativePath @ 3055 NONAME + _ZTV16QDeclarativeText @ 3056 NONAME + _ZTV16QDeclarativeView @ 3057 NONAME + _ZTV17QDeclarativeCurve @ 3058 NONAME + _ZTV17QDeclarativeImage @ 3059 NONAME + _ZTV17QDeclarativeState @ 3060 NONAME + _ZTV17QDeclarativeTimer @ 3061 NONAME + _ZTV18QDeclarativeColumn @ 3062 NONAME + _ZTV18QDeclarativeEngine @ 3063 NONAME + _ZTV18QDeclarativeLoader @ 3064 NONAME + _ZTV18QMetaObjectBuilder @ 3065 NONAME + _ZTV19QDeclarativeAnchors @ 3066 NONAME + _ZTV19QDeclarativeBinding @ 3067 NONAME + _ZTV19QDeclarativeContext @ 3068 NONAME + _ZTV19QListModelInterface @ 3069 NONAME + _ZTV20QDeclarativeBehavior @ 3070 NONAME + _ZTV20QDeclarativeFlipable @ 3071 NONAME + _ZTV20QDeclarativeGradient @ 3072 NONAME + _ZTV20QDeclarativeGridView @ 3073 NONAME + _ZTV20QDeclarativeListView @ 3074 NONAME + _ZTV20QDeclarativePathLine @ 3075 NONAME + _ZTV20QDeclarativePathQuad @ 3076 NONAME + _ZTV20QDeclarativePathView @ 3077 NONAME + _ZTV20QDeclarativeRepeater @ 3078 NONAME + _ZTV20QDeclarativeTextEdit @ 3079 NONAME + _ZTV21QDeclarativeComponent @ 3080 NONAME + _ZTV21QDeclarativeFlickable @ 3081 NONAME + _ZTV21QDeclarativeImageBase @ 3082 NONAME + _ZTV21QDeclarativeListModel @ 3083 NONAME + _ZTV21QDeclarativeMouseArea @ 3084 NONAME + _ZTV21QDeclarativePathCubic @ 3085 NONAME + _ZTV21QDeclarativeRectangle @ 3086 NONAME + _ZTV21QDeclarativeScaleGrid @ 3087 NONAME + _ZTV21QDeclarativeTextInput @ 3088 NONAME + _ZTV21QDeclarativeTranslate @ 3089 NONAME + _ZTV21QDeclarativeValueType @ 3090 NONAME + _ZTV22QDeclarativeDebugQuery @ 3091 NONAME + _ZTV22QDeclarativeDebugWatch @ 3092 NONAME + _ZTV22QDeclarativeExpression @ 3093 NONAME + _ZTV22QDeclarativeFocusPanel @ 3094 NONAME + _ZTV22QDeclarativeFocusScope @ 3095 NONAME + _ZTV22QDeclarativeFontLoader @ 3096 NONAME + _ZTV22QDeclarativeStateGroup @ 3097 NONAME + _ZTV22QDeclarativeTransition @ 3098 NONAME + _ZTV23QDeclarativeBorderImage @ 3099 NONAME + _ZTV23QDeclarativeConnections @ 3100 NONAME + _ZTV23QDeclarativeDebugClient @ 3101 NONAME + _ZTV23QDeclarativeEngineDebug @ 3102 NONAME + _ZTV23QDeclarativeItemPrivate @ 3103 NONAME + _ZTV23QDeclarativePaintedItem @ 3104 NONAME + _ZTV23QDeclarativePathElement @ 3105 NONAME + _ZTV23QDeclarativePathPercent @ 3106 NONAME + _ZTV23QDeclarativePixmapReply @ 3107 NONAME + _ZTV23QDeclarativePropertyMap @ 3108 NONAME + _ZTV23QDeclarativeViewSection @ 3109 NONAME + _ZTV23QDeclarativeVisualModel @ 3110 NONAME + _ZTV24QDeclarativeCustomParser @ 3111 NONAME + _ZTV24QDeclarativeDebugService @ 3112 NONAME + _ZTV24QDeclarativeGradientStop @ 3113 NONAME + _ZTV24QDeclarativeParentChange @ 3114 NONAME + _ZTV24QDeclarativeParserStatus @ 3115 NONAME + _ZTV24QDeclarativeSpringFollow @ 3116 NONAME + _ZTV24QDeclarativeWorkerScript @ 3117 NONAME + _ZTV24QDeclarativeXmlListModel @ 3118 NONAME + _ZTV25QDeclarativeAnchorChanges @ 3119 NONAME + _ZTV25QDeclarativeAnimatedImage @ 3120 NONAME + _ZTV25QDeclarativeImageProvider @ 3121 NONAME + _ZTV25QDeclarativePathAttribute @ 3122 NONAME + _ZTV25QDeclarativeSystemPalette @ 3123 NONAME + _ZTV26QDeclarativeBasePositioner @ 3124 NONAME + _ZTV26QDeclarativeDebuggerStatus @ 3125 NONAME + _ZTV26QDeclarativeOpenMetaObject @ 3126 NONAME + _ZTV26QDeclarativeStateOperation @ 3127 NONAME + _ZTV27QDeclarativeAbstractBinding @ 3128 NONAME + _ZTV27QDeclarativeDebugConnection @ 3129 NONAME + _ZTV27QDeclarativeExtensionPlugin @ 3130 NONAME + _ZTV27QDeclarativePropertyChanges @ 3131 NONAME + _ZTV27QDeclarativeVisualDataModel @ 3132 NONAME + _ZTV27QDeclarativeVisualItemModel @ 3133 NONAME + _ZTV28QDeclarativeDebugObjectQuery @ 3134 NONAME + _ZTV28QDeclarativeXmlListModelRole @ 3135 NONAME + _ZTV29QDeclarativeDebugEnginesQuery @ 3136 NONAME + _ZTV29QDeclarativeSmoothedAnimation @ 3137 NONAME + _ZTV29QDeclarativeStateChangeScript @ 3138 NONAME + _ZTV30QDeclarativeDebugPropertyWatch @ 3139 NONAME + _ZTV30QDeclarativeOpenMetaObjectType @ 3140 NONAME + _ZTV31QDeclarativePropertyValueSource @ 3141 NONAME + _ZTV32QDeclarativeDebugExpressionQuery @ 3142 NONAME + _ZTV33QDeclarativeDebugRootContextQuery @ 3143 NONAME + _ZTV35QDeclarativeGraphicsObjectContainer @ 3144 NONAME + _ZTV36QDeclarativePropertyValueInterceptor @ 3145 NONAME + _ZTV38QDeclarativeDebugObjectExpressionWatch @ 3146 NONAME + _ZTV39QDeclarativeNetworkAccessManagerFactory @ 3147 NONAME + _ZTV7QPacket @ 3148 NONAME + _ZThn12_N29QDeclarativeSmoothedAnimationD0Ev @ 3149 NONAME + _ZThn12_N29QDeclarativeSmoothedAnimationD1Ev @ 3150 NONAME + _ZThn16_N16QDeclarativeItem10classBeginEv @ 3151 NONAME + _ZThn16_N16QDeclarativeItem17componentCompleteEv @ 3152 NONAME + _ZThn16_N16QDeclarativeItemD0Ev @ 3153 NONAME + _ZThn16_N16QDeclarativeItemD1Ev @ 3154 NONAME + _ZThn16_N16QDeclarativeText17componentCompleteEv @ 3155 NONAME + _ZThn16_N16QDeclarativeTextD0Ev @ 3156 NONAME + _ZThn16_N16QDeclarativeTextD1Ev @ 3157 NONAME + _ZThn16_N17QDeclarativeImageD0Ev @ 3158 NONAME + _ZThn16_N17QDeclarativeImageD1Ev @ 3159 NONAME + _ZThn16_N18QDeclarativeLoaderD0Ev @ 3160 NONAME + _ZThn16_N18QDeclarativeLoaderD1Ev @ 3161 NONAME + _ZThn16_N20QDeclarativeFlipableD0Ev @ 3162 NONAME + _ZThn16_N20QDeclarativeFlipableD1Ev @ 3163 NONAME + _ZThn16_N20QDeclarativeGridView17componentCompleteEv @ 3164 NONAME + _ZThn16_N20QDeclarativeGridViewD0Ev @ 3165 NONAME + _ZThn16_N20QDeclarativeGridViewD1Ev @ 3166 NONAME + _ZThn16_N20QDeclarativeListView17componentCompleteEv @ 3167 NONAME + _ZThn16_N20QDeclarativeListViewD0Ev @ 3168 NONAME + _ZThn16_N20QDeclarativeListViewD1Ev @ 3169 NONAME + _ZThn16_N20QDeclarativePathView17componentCompleteEv @ 3170 NONAME + _ZThn16_N20QDeclarativePathViewD0Ev @ 3171 NONAME + _ZThn16_N20QDeclarativePathViewD1Ev @ 3172 NONAME + _ZThn16_N20QDeclarativeRepeater17componentCompleteEv @ 3173 NONAME + _ZThn16_N20QDeclarativeRepeaterD0Ev @ 3174 NONAME + _ZThn16_N20QDeclarativeRepeaterD1Ev @ 3175 NONAME + _ZThn16_N20QDeclarativeTextEdit17componentCompleteEv @ 3176 NONAME + _ZThn16_N21QDeclarativeFlickableD0Ev @ 3177 NONAME + _ZThn16_N21QDeclarativeFlickableD1Ev @ 3178 NONAME + _ZThn16_N21QDeclarativeImageBase17componentCompleteEv @ 3179 NONAME + _ZThn16_N21QDeclarativeImageBaseD0Ev @ 3180 NONAME + _ZThn16_N21QDeclarativeImageBaseD1Ev @ 3181 NONAME + _ZThn16_N21QDeclarativeMouseAreaD0Ev @ 3182 NONAME + _ZThn16_N21QDeclarativeMouseAreaD1Ev @ 3183 NONAME + _ZThn16_N21QDeclarativeTextInputD0Ev @ 3184 NONAME + _ZThn16_N21QDeclarativeTextInputD1Ev @ 3185 NONAME + _ZThn16_N22QDeclarativeFocusPanelD0Ev @ 3186 NONAME + _ZThn16_N22QDeclarativeFocusPanelD1Ev @ 3187 NONAME + _ZThn16_N22QDeclarativeFocusScopeD0Ev @ 3188 NONAME + _ZThn16_N22QDeclarativeFocusScopeD1Ev @ 3189 NONAME + _ZThn16_N23QDeclarativeBorderImageD0Ev @ 3190 NONAME + _ZThn16_N23QDeclarativeBorderImageD1Ev @ 3191 NONAME + _ZThn16_N23QDeclarativePaintedItemD0Ev @ 3192 NONAME + _ZThn16_N23QDeclarativePaintedItemD1Ev @ 3193 NONAME + _ZThn16_N25QDeclarativeAnimatedImage17componentCompleteEv @ 3194 NONAME + _ZThn16_N25QDeclarativeAnimatedImageD0Ev @ 3195 NONAME + _ZThn16_N25QDeclarativeAnimatedImageD1Ev @ 3196 NONAME + _ZThn16_N26QDeclarativeBasePositioner17componentCompleteEv @ 3197 NONAME + _ZThn16_N26QDeclarativeBasePositionerD0Ev @ 3198 NONAME + _ZThn16_N26QDeclarativeBasePositionerD1Ev @ 3199 NONAME + _ZThn16_N35QDeclarativeGraphicsObjectContainerD0Ev @ 3200 NONAME + _ZThn16_N35QDeclarativeGraphicsObjectContainerD1Ev @ 3201 NONAME + _ZThn8_N16QDeclarativeBind17componentCompleteEv @ 3202 NONAME + _ZThn8_N16QDeclarativeBindD0Ev @ 3203 NONAME + _ZThn8_N16QDeclarativeBindD1Ev @ 3204 NONAME + _ZThn8_N16QDeclarativeItem10itemChangeEN13QGraphicsItem18GraphicsItemChangeERK8QVariant @ 3205 NONAME + _ZThn8_N16QDeclarativeItem10sceneEventEP6QEvent @ 3206 NONAME + _ZThn8_N16QDeclarativeItem13keyPressEventEP9QKeyEvent @ 3207 NONAME + _ZThn8_N16QDeclarativeItem15keyReleaseEventEP9QKeyEvent @ 3208 NONAME + _ZThn8_N16QDeclarativeItem16inputMethodEventEP17QInputMethodEvent @ 3209 NONAME + _ZThn8_N16QDeclarativeItem5paintEP8QPainterPK24QStyleOptionGraphicsItemP7QWidget @ 3210 NONAME + _ZThn8_N16QDeclarativeItemD0Ev @ 3211 NONAME + _ZThn8_N16QDeclarativeItemD1Ev @ 3212 NONAME + _ZThn8_N16QDeclarativePath17componentCompleteEv @ 3213 NONAME + _ZThn8_N16QDeclarativePathD0Ev @ 3214 NONAME + _ZThn8_N16QDeclarativePathD1Ev @ 3215 NONAME + _ZThn8_N16QDeclarativeText15mousePressEventEP24QGraphicsSceneMouseEvent @ 3216 NONAME + _ZThn8_N16QDeclarativeText17mouseReleaseEventEP24QGraphicsSceneMouseEvent @ 3217 NONAME + _ZThn8_N16QDeclarativeText5paintEP8QPainterPK24QStyleOptionGraphicsItemP7QWidget @ 3218 NONAME + _ZThn8_N16QDeclarativeTextD0Ev @ 3219 NONAME + _ZThn8_N16QDeclarativeTextD1Ev @ 3220 NONAME + _ZThn8_N16QDeclarativeViewD0Ev @ 3221 NONAME + _ZThn8_N16QDeclarativeViewD1Ev @ 3222 NONAME + _ZThn8_N17QDeclarativeImage5paintEP8QPainterPK24QStyleOptionGraphicsItemP7QWidget @ 3223 NONAME + _ZThn8_N17QDeclarativeImageD0Ev @ 3224 NONAME + _ZThn8_N17QDeclarativeImageD1Ev @ 3225 NONAME + _ZThn8_N17QDeclarativeTimer10classBeginEv @ 3226 NONAME + _ZThn8_N17QDeclarativeTimer17componentCompleteEv @ 3227 NONAME + _ZThn8_N18QDeclarativeLoader10itemChangeEN13QGraphicsItem18GraphicsItemChangeERK8QVariant @ 3228 NONAME + _ZThn8_N18QDeclarativeLoaderD0Ev @ 3229 NONAME + _ZThn8_N18QDeclarativeLoaderD1Ev @ 3230 NONAME + _ZThn8_N19QDeclarativeBinding10setEnabledEb6QFlagsIN27QDeclarativePropertyPrivate9WriteFlagEE @ 3231 NONAME + _ZThn8_N19QDeclarativeBinding13propertyIndexEv @ 3232 NONAME + _ZThn8_N19QDeclarativeBinding6updateE6QFlagsIN27QDeclarativePropertyPrivate9WriteFlagEE @ 3233 NONAME + _ZThn8_N19QDeclarativeBindingD0Ev @ 3234 NONAME + _ZThn8_N19QDeclarativeBindingD1Ev @ 3235 NONAME + _ZThn8_N20QDeclarativeBehavior5writeERK8QVariant @ 3236 NONAME + _ZThn8_N20QDeclarativeBehavior9setTargetERK20QDeclarativeProperty @ 3237 NONAME + _ZThn8_N20QDeclarativeBehaviorD0Ev @ 3238 NONAME + _ZThn8_N20QDeclarativeBehaviorD1Ev @ 3239 NONAME + _ZThn8_N20QDeclarativeFlipableD0Ev @ 3240 NONAME + _ZThn8_N20QDeclarativeFlipableD1Ev @ 3241 NONAME + _ZThn8_N20QDeclarativeGridView13keyPressEventEP9QKeyEvent @ 3242 NONAME + _ZThn8_N20QDeclarativeGridViewD0Ev @ 3243 NONAME + _ZThn8_N20QDeclarativeGridViewD1Ev @ 3244 NONAME + _ZThn8_N20QDeclarativeListView13keyPressEventEP9QKeyEvent @ 3245 NONAME + _ZThn8_N20QDeclarativeListViewD0Ev @ 3246 NONAME + _ZThn8_N20QDeclarativeListViewD1Ev @ 3247 NONAME + _ZThn8_N20QDeclarativePathView14mouseMoveEventEP24QGraphicsSceneMouseEvent @ 3248 NONAME + _ZThn8_N20QDeclarativePathView15mousePressEventEP24QGraphicsSceneMouseEvent @ 3249 NONAME + _ZThn8_N20QDeclarativePathView16sceneEventFilterEP13QGraphicsItemP6QEvent @ 3250 NONAME + _ZThn8_N20QDeclarativePathView17mouseReleaseEventEP24QGraphicsSceneMouseEvent @ 3251 NONAME + _ZThn8_N20QDeclarativePathViewD0Ev @ 3252 NONAME + _ZThn8_N20QDeclarativePathViewD1Ev @ 3253 NONAME + _ZThn8_N20QDeclarativeRepeater10itemChangeEN13QGraphicsItem18GraphicsItemChangeERK8QVariant @ 3254 NONAME + _ZThn8_N20QDeclarativeRepeaterD0Ev @ 3255 NONAME + _ZThn8_N20QDeclarativeRepeaterD1Ev @ 3256 NONAME + _ZThn8_N20QDeclarativeTextEdit13keyPressEventEP9QKeyEvent @ 3257 NONAME + _ZThn8_N20QDeclarativeTextEdit14mouseMoveEventEP24QGraphicsSceneMouseEvent @ 3258 NONAME + _ZThn8_N20QDeclarativeTextEdit15keyReleaseEventEP9QKeyEvent @ 3259 NONAME + _ZThn8_N20QDeclarativeTextEdit15mousePressEventEP24QGraphicsSceneMouseEvent @ 3260 NONAME + _ZThn8_N20QDeclarativeTextEdit16inputMethodEventEP17QInputMethodEvent @ 3261 NONAME + _ZThn8_N20QDeclarativeTextEdit17mouseReleaseEventEP24QGraphicsSceneMouseEvent @ 3262 NONAME + _ZThn8_N20QDeclarativeTextEdit21mouseDoubleClickEventEP24QGraphicsSceneMouseEvent @ 3263 NONAME + _ZThn8_N21QDeclarativeFlickable10wheelEventEP24QGraphicsSceneWheelEvent @ 3264 NONAME + _ZThn8_N21QDeclarativeFlickable14mouseMoveEventEP24QGraphicsSceneMouseEvent @ 3265 NONAME + _ZThn8_N21QDeclarativeFlickable15mousePressEventEP24QGraphicsSceneMouseEvent @ 3266 NONAME + _ZThn8_N21QDeclarativeFlickable16sceneEventFilterEP13QGraphicsItemP6QEvent @ 3267 NONAME + _ZThn8_N21QDeclarativeFlickable17mouseReleaseEventEP24QGraphicsSceneMouseEvent @ 3268 NONAME + _ZThn8_N21QDeclarativeFlickableD0Ev @ 3269 NONAME + _ZThn8_N21QDeclarativeFlickableD1Ev @ 3270 NONAME + _ZThn8_N21QDeclarativeImageBaseD0Ev @ 3271 NONAME + _ZThn8_N21QDeclarativeImageBaseD1Ev @ 3272 NONAME + _ZThn8_N21QDeclarativeMouseArea10sceneEventEP6QEvent @ 3273 NONAME + _ZThn8_N21QDeclarativeMouseArea14hoverMoveEventEP24QGraphicsSceneHoverEvent @ 3274 NONAME + _ZThn8_N21QDeclarativeMouseArea14mouseMoveEventEP24QGraphicsSceneMouseEvent @ 3275 NONAME + _ZThn8_N21QDeclarativeMouseArea15hoverEnterEventEP24QGraphicsSceneHoverEvent @ 3276 NONAME + _ZThn8_N21QDeclarativeMouseArea15hoverLeaveEventEP24QGraphicsSceneHoverEvent @ 3277 NONAME + _ZThn8_N21QDeclarativeMouseArea15mousePressEventEP24QGraphicsSceneMouseEvent @ 3278 NONAME + _ZThn8_N21QDeclarativeMouseArea17mouseReleaseEventEP24QGraphicsSceneMouseEvent @ 3279 NONAME + _ZThn8_N21QDeclarativeMouseArea21mouseDoubleClickEventEP24QGraphicsSceneMouseEvent @ 3280 NONAME + _ZThn8_N21QDeclarativeMouseAreaD0Ev @ 3281 NONAME + _ZThn8_N21QDeclarativeMouseAreaD1Ev @ 3282 NONAME + _ZThn8_N21QDeclarativeRectangle5paintEP8QPainterPK24QStyleOptionGraphicsItemP7QWidget @ 3283 NONAME + _ZThn8_N21QDeclarativeTextInput13keyPressEventEP9QKeyEvent @ 3284 NONAME + _ZThn8_N21QDeclarativeTextInput15mousePressEventEP24QGraphicsSceneMouseEvent @ 3285 NONAME + _ZThn8_N21QDeclarativeTextInput17mouseReleaseEventEP24QGraphicsSceneMouseEvent @ 3286 NONAME + _ZThn8_N21QDeclarativeTextInputD0Ev @ 3287 NONAME + _ZThn8_N21QDeclarativeTextInputD1Ev @ 3288 NONAME + _ZThn8_N22QDeclarativeFocusPanel10sceneEventEP6QEvent @ 3289 NONAME + _ZThn8_N22QDeclarativeFocusPanelD0Ev @ 3290 NONAME + _ZThn8_N22QDeclarativeFocusPanelD1Ev @ 3291 NONAME + _ZThn8_N22QDeclarativeFocusScopeD0Ev @ 3292 NONAME + _ZThn8_N22QDeclarativeFocusScopeD1Ev @ 3293 NONAME + _ZThn8_N22QDeclarativeStateGroup10classBeginEv @ 3294 NONAME + _ZThn8_N22QDeclarativeStateGroup17componentCompleteEv @ 3295 NONAME + _ZThn8_N22QDeclarativeStateGroupD0Ev @ 3296 NONAME + _ZThn8_N22QDeclarativeStateGroupD1Ev @ 3297 NONAME + _ZThn8_N23QDeclarativeBorderImage5paintEP8QPainterPK24QStyleOptionGraphicsItemP7QWidget @ 3298 NONAME + _ZThn8_N23QDeclarativeBorderImageD0Ev @ 3299 NONAME + _ZThn8_N23QDeclarativeBorderImageD1Ev @ 3300 NONAME + _ZThn8_N23QDeclarativeConnections17componentCompleteEv @ 3301 NONAME + _ZThn8_N23QDeclarativeConnectionsD0Ev @ 3302 NONAME + _ZThn8_N23QDeclarativeConnectionsD1Ev @ 3303 NONAME + _ZThn8_N23QDeclarativePaintedItem5paintEP8QPainterPK24QStyleOptionGraphicsItemP7QWidget @ 3304 NONAME + _ZThn8_N23QDeclarativePaintedItemD0Ev @ 3305 NONAME + _ZThn8_N23QDeclarativePaintedItemD1Ev @ 3306 NONAME + _ZThn8_N24QDeclarativeParentChange12isReversableEv @ 3307 NONAME + _ZThn8_N24QDeclarativeParentChange13copyOriginalsEP23QDeclarativeActionEvent @ 3308 NONAME + _ZThn8_N24QDeclarativeParentChange13saveOriginalsEv @ 3309 NONAME + _ZThn8_N24QDeclarativeParentChange17saveCurrentValuesEv @ 3310 NONAME + _ZThn8_N24QDeclarativeParentChange6rewindEv @ 3311 NONAME + _ZThn8_N24QDeclarativeParentChange7executeEv @ 3312 NONAME + _ZThn8_N24QDeclarativeParentChange7reverseEv @ 3313 NONAME + _ZThn8_N24QDeclarativeParentChange8overrideEP23QDeclarativeActionEvent @ 3314 NONAME + _ZThn8_N24QDeclarativeParentChangeD0Ev @ 3315 NONAME + _ZThn8_N24QDeclarativeParentChangeD1Ev @ 3316 NONAME + _ZThn8_N24QDeclarativeSpringFollow9setTargetERK20QDeclarativeProperty @ 3317 NONAME + _ZThn8_N24QDeclarativeSpringFollowD0Ev @ 3318 NONAME + _ZThn8_N24QDeclarativeSpringFollowD1Ev @ 3319 NONAME + _ZThn8_N24QDeclarativeWorkerScript17componentCompleteEv @ 3320 NONAME + _ZThn8_N24QDeclarativeWorkerScriptD0Ev @ 3321 NONAME + _ZThn8_N24QDeclarativeWorkerScriptD1Ev @ 3322 NONAME + _ZThn8_N24QDeclarativeXmlListModel10classBeginEv @ 3323 NONAME + _ZThn8_N24QDeclarativeXmlListModel17componentCompleteEv @ 3324 NONAME + _ZThn8_N24QDeclarativeXmlListModelD0Ev @ 3325 NONAME + _ZThn8_N24QDeclarativeXmlListModelD1Ev @ 3326 NONAME + _ZThn8_N25QDeclarativeAnchorChanges12isReversableEv @ 3327 NONAME + _ZThn8_N25QDeclarativeAnchorChanges13clearBindingsEv @ 3328 NONAME + _ZThn8_N25QDeclarativeAnchorChanges13copyOriginalsEP23QDeclarativeActionEvent @ 3329 NONAME + _ZThn8_N25QDeclarativeAnchorChanges13saveOriginalsEv @ 3330 NONAME + _ZThn8_N25QDeclarativeAnchorChanges15changesBindingsEv @ 3331 NONAME + _ZThn8_N25QDeclarativeAnchorChanges16saveTargetValuesEv @ 3332 NONAME + _ZThn8_N25QDeclarativeAnchorChanges17saveCurrentValuesEv @ 3333 NONAME + _ZThn8_N25QDeclarativeAnchorChanges6rewindEv @ 3334 NONAME + _ZThn8_N25QDeclarativeAnchorChanges7executeEv @ 3335 NONAME + _ZThn8_N25QDeclarativeAnchorChanges7reverseEv @ 3336 NONAME + _ZThn8_N25QDeclarativeAnchorChanges8overrideEP23QDeclarativeActionEvent @ 3337 NONAME + _ZThn8_N25QDeclarativeAnchorChangesD0Ev @ 3338 NONAME + _ZThn8_N25QDeclarativeAnchorChangesD1Ev @ 3339 NONAME + _ZThn8_N25QDeclarativeAnimatedImageD0Ev @ 3340 NONAME + _ZThn8_N25QDeclarativeAnimatedImageD1Ev @ 3341 NONAME + _ZThn8_N26QDeclarativeBasePositioner10itemChangeEN13QGraphicsItem18GraphicsItemChangeERK8QVariant @ 3342 NONAME + _ZThn8_N26QDeclarativeBasePositionerD0Ev @ 3343 NONAME + _ZThn8_N26QDeclarativeBasePositionerD1Ev @ 3344 NONAME + _ZThn8_N27QDeclarativeExtensionPlugin16initializeEngineEP18QDeclarativeEnginePKc @ 3345 NONAME + _ZThn8_N27QDeclarativeExtensionPluginD0Ev @ 3346 NONAME + _ZThn8_N27QDeclarativeExtensionPluginD1Ev @ 3347 NONAME + _ZThn8_N29QDeclarativeSmoothedAnimationD0Ev @ 3348 NONAME + _ZThn8_N29QDeclarativeSmoothedAnimationD1Ev @ 3349 NONAME + _ZThn8_N29QDeclarativeStateChangeScript7executeEv @ 3350 NONAME + _ZThn8_N29QDeclarativeStateChangeScriptD0Ev @ 3351 NONAME + _ZThn8_N29QDeclarativeStateChangeScriptD1Ev @ 3352 NONAME + _ZThn8_N35QDeclarativeGraphicsObjectContainer10itemChangeEN13QGraphicsItem18GraphicsItemChangeERK8QVariant @ 3353 NONAME + _ZThn8_N35QDeclarativeGraphicsObjectContainerD0Ev @ 3354 NONAME + _ZThn8_N35QDeclarativeGraphicsObjectContainerD1Ev @ 3355 NONAME + _ZThn8_NK16QDeclarativeItem12boundingRectEv @ 3356 NONAME + _ZThn8_NK16QDeclarativeItem16inputMethodQueryEN2Qt16InputMethodQueryE @ 3357 NONAME + _ZThn8_NK19QDeclarativeBinding10expressionEv @ 3358 NONAME + _ZThn8_NK20QDeclarativeTextEdit16inputMethodQueryEN2Qt16InputMethodQueryE @ 3359 NONAME + _ZThn8_NK21QDeclarativeRectangle12boundingRectEv @ 3360 NONAME + _ZThn8_NK21QDeclarativeTextInput16inputMethodQueryEN2Qt16InputMethodQueryE @ 3361 NONAME + _ZThn8_NK24QDeclarativeParentChange8typeNameEv @ 3362 NONAME + _ZThn8_NK25QDeclarativeAnchorChanges8typeNameEv @ 3363 NONAME + _ZThn8_NK29QDeclarativeStateChangeScript8typeNameEv @ 3364 NONAME + _Zls6QDebugP16QDeclarativeItem @ 3365 NONAME + _Zls6QDebugRK17QDeclarativeError @ 3366 NONAME + _ZlsR11QDataStreamRKN29QDeclarativeEngineDebugServer22QDeclarativeObjectDataE @ 3367 NONAME + _ZlsR11QDataStreamRKN29QDeclarativeEngineDebugServer26QDeclarativeObjectPropertyE @ 3368 NONAME + _ZrsR11QDataStreamRN29QDeclarativeEngineDebugServer22QDeclarativeObjectDataE @ 3369 NONAME + _ZrsR11QDataStreamRN29QDeclarativeEngineDebugServer26QDeclarativeObjectPropertyE @ 3370 NONAME diff --git a/src/s60installs/eabi/QtGuiu.def b/src/s60installs/eabi/QtGuiu.def index ba8dec0..4041065 100644 --- a/src/s60installs/eabi/QtGuiu.def +++ b/src/s60installs/eabi/QtGuiu.def @@ -1818,7 +1818,7 @@ EXPORTS _ZN12QLineControl17_q_deleteSelectedEv @ 1817 NONAME _ZN12QLineControl17processMouseEventEP11QMouseEvent @ 1818 NONAME _ZN12QLineControl17resetInputContextEv @ 1819 NONAME - _ZN12QLineControl17updateDisplayTextEv @ 1820 NONAME + _ZN12QLineControl17updateDisplayTextEv @ 1820 NONAME ABSENT _ZN12QLineControl18displayTextChangedERK7QString @ 1821 NONAME _ZN12QLineControl18removeSelectedTextEv @ 1822 NONAME _ZN12QLineControl19_q_clipboardChangedEv @ 1823 NONAME @@ -1834,7 +1834,7 @@ EXPORTS _ZN12QLineControl4initERK7QString @ 1833 NONAME _ZN12QLineControl5clearEv @ 1834 NONAME _ZN12QLineControl5fixupEv @ 1835 NONAME - _ZN12QLineControl5pasteEv @ 1836 NONAME + _ZN12QLineControl5pasteEv @ 1836 NONAME ABSENT _ZN12QLineControl6insertERK7QString @ 1837 NONAME _ZN12QLineControl8acceptedEv @ 1838 NONAME _ZN12QLineControl8completeEi @ 1839 NONAME @@ -2148,7 +2148,7 @@ EXPORTS _ZN12QTextControl4undoEv @ 2147 NONAME _ZN12QTextControl5clearEv @ 2148 NONAME _ZN12QTextControl5eventEP6QEvent @ 2149 NONAME - _ZN12QTextControl5pasteEv @ 2150 NONAME + _ZN12QTextControl5pasteEv @ 2150 NONAME ABSENT _ZN12QTextControl6appendERK7QString @ 2151 NONAME _ZN12QTextControl7setHtmlERK7QString @ 2152 NONAME _ZN12QTextControl8setFocusEbN2Qt11FocusReasonE @ 2153 NONAME @@ -11839,7 +11839,7 @@ EXPORTS _ZN12QKeySequenceC1ERK7QStringNS_14SequenceFormatE @ 11838 NONAME _ZN12QKeySequenceC2ERK7QStringNS_14SequenceFormatE @ 11839 NONAME _ZN13QTextDocument19clearUndoRedoStacksENS_6StacksE @ 11840 NONAME - _ZN14QPaintEngineEx19drawPixmapFragmentsEPKN8QPainter8FragmentEiRK7QPixmap6QFlagsINS0_12FragmentHintEE @ 11841 NONAME + _ZN14QPaintEngineEx19drawPixmapFragmentsEPKN8QPainter8FragmentEiRK7QPixmap6QFlagsINS0_12FragmentHintEE @ 11841 NONAME ABSENT _ZN14QWidgetPrivate11inTabWidgetEP7QWidget @ 11842 NONAME _ZN14QWidgetPrivate17canKeypadNavigateEN2Qt11OrientationE @ 11843 NONAME _ZN14QWidgetPrivate6renderEP12QPaintDeviceRK6QPointRK7QRegion6QFlagsIN7QWidget10RenderFlagEEb @ 11844 NONAME @@ -11882,8 +11882,8 @@ EXPORTS _ZN6QLabel12setSelectionEii @ 11881 NONAME _ZN7QPixmap16convertFromImageERK6QImage6QFlagsIN2Qt19ImageConversionFlagEE @ 11882 NONAME _ZN8QPainter14drawStaticTextERK7QPointFRK11QStaticText @ 11883 NONAME - _ZN8QPainter19drawPixmapFragmentsEPKNS_8FragmentEiRK7QPixmap6QFlagsINS_12FragmentHintEE @ 11884 NONAME - _ZN8QPainter8Fragment6createERK7QPointFRK6QRectFffff @ 11885 NONAME + _ZN8QPainter19drawPixmapFragmentsEPKNS_8FragmentEiRK7QPixmap6QFlagsINS_12FragmentHintEE @ 11884 NONAME ABSENT + _ZN8QPainter8Fragment6createERK7QPointFRK6QRectFffff @ 11885 NONAME ABSENT _ZN8QToolBar17visibilityChangedEb @ 11886 NONAME _ZNK10QZipReader10extractAllERK7QString @ 11887 NONAME _ZNK10QZipReader10isReadableEv @ 11888 NONAME @@ -11927,4 +11927,37 @@ EXPORTS _ZTV20QGraphicsViewPrivate @ 11926 NONAME _ZTV26QAbstractScrollAreaPrivate @ 11927 NONAME _Z14qt_draw_glyphsP8QPainterPKjPK7QPointFi @ 11928 NONAME + _ZN11QFontEngine16getGlyphBearingsEjPfS0_ @ 11929 NONAME + _ZN12QLineControl17updateDisplayTextEb @ 11930 NONAME + _ZN12QLineControl5pasteEN10QClipboard4ModeE @ 11931 NONAME + _ZN12QTextControl5pasteEN10QClipboard4ModeE @ 11932 NONAME + _ZN14QPaintEngineEx19drawPixmapFragmentsEPKN8QPainter14PixmapFragmentEiRK7QPixmap6QFlagsINS0_18PixmapFragmentHintEE @ 11933 NONAME + _ZN15QGraphicsObject12widthChangedEv @ 11934 NONAME + _ZN15QGraphicsObject13heightChangedEv @ 11935 NONAME + _ZN15QGraphicsObject15childrenChangedEv @ 11936 NONAME + _ZN15QGraphicsWidget15geometryChangedEv @ 11937 NONAME + _ZN15QSplitterHandle11resizeEventEP12QResizeEvent @ 11938 NONAME + _ZN20QGraphicsItemPrivate10resetWidthEv @ 11939 NONAME + _ZN20QGraphicsItemPrivate11resetHeightEv @ 11940 NONAME + _ZN20QGraphicsItemPrivate12childrenListEv @ 11941 NONAME + _ZN20QGraphicsItemPrivate14setFocusHelperEN2Qt11FocusReasonEbb @ 11942 NONAME + _ZN20QGraphicsItemPrivate16clearFocusHelperEb @ 11943 NONAME + _ZN20QGraphicsItemPrivate24prependGraphicsTransformEP18QGraphicsTransform @ 11944 NONAME + _ZN20QGraphicsItemPrivate6appendEP24QDeclarativeListPropertyI15QGraphicsObjectEPS1_ @ 11945 NONAME + _ZN20QGraphicsItemPrivate8setWidthEf @ 11946 NONAME + _ZN20QGraphicsItemPrivate9setHeightEf @ 11947 NONAME + _ZN7QWizard11pageRemovedEi @ 11948 NONAME + _ZN7QWizard13setSideWidgetEP7QWidget @ 11949 NONAME + _ZN7QWizard9pageAddedEi @ 11950 NONAME + _ZN8QPainter14PixmapFragment6createERK7QPointFRK6QRectFffff @ 11951 NONAME + _ZN8QPainter19drawPixmapFragmentsEPKNS_14PixmapFragmentEiRK7QPixmap6QFlagsINS_18PixmapFragmentHintEE @ 11952 NONAME + _ZN9QLineEdit18setPlaceholderTextERK7QString @ 11953 NONAME + _ZNK10QZipReader6deviceEv @ 11954 NONAME + _ZNK10QZipReader8FileInfo7isValidEv @ 11955 NONAME + _ZNK20QGraphicsItemPrivate5widthEv @ 11956 NONAME + _ZNK20QGraphicsItemPrivate6heightEv @ 11957 NONAME + _ZNK6QImage13bitPlaneCountEv @ 11958 NONAME + _ZNK7QWizard10sideWidgetEv @ 11959 NONAME + _ZNK9QLineEdit15placeholderTextEv @ 11960 NONAME + _ZNK9QTextLine17horizontalAdvanceEv @ 11961 NONAME diff --git a/src/s60installs/eabi/QtMultimediau.def b/src/s60installs/eabi/QtMultimediau.def index fbc5f7b..384796d 100644 --- a/src/s60installs/eabi/QtMultimediau.def +++ b/src/s60installs/eabi/QtMultimediau.def @@ -370,7 +370,7 @@ EXPORTS _ZN12QVideoWidget17brightnessChangedEi @ 369 NONAME _ZN12QVideoWidget17fullScreenChangedEb @ 370 NONAME _ZN12QVideoWidget17saturationChangedEi @ 371 NONAME - _ZN12QVideoWidget18setAspectRatioModeENS_15AspectRatioModeE @ 372 NONAME + _ZN12QVideoWidget18setAspectRatioModeENS_15AspectRatioModeE @ 372 NONAME ABSENT _ZN12QVideoWidget19getStaticMetaObjectEv @ 373 NONAME _ZN12QVideoWidget5eventEP6QEvent @ 374 NONAME _ZN12QVideoWidget6setHueEi @ 375 NONAME @@ -382,7 +382,7 @@ EXPORTS _ZN12QVideoWidgetD0Ev @ 381 NONAME _ZN12QVideoWidgetD1Ev @ 382 NONAME _ZN12QVideoWidgetD2Ev @ 383 NONAME - _ZN12QtMultimedia28qRegisterDeclarativeElementsEPKc @ 384 NONAME + _ZN12QtMultimedia28qRegisterDeclarativeElementsEPKc @ 384 NONAME ABSENT _ZN13QMediaContentC1ERK14QMediaResource @ 385 NONAME _ZN13QMediaContentC1ERK15QNetworkRequest @ 386 NONAME _ZN13QMediaContentC1ERK4QUrl @ 387 NONAME @@ -946,4 +946,30 @@ EXPORTS _ZneRK15QMediaTimeRangeS1_ @ 945 NONAME _ZneRK18QMediaTimeIntervalS1_ @ 946 NONAME _ZplRK15QMediaTimeRangeS1_ @ 947 NONAME + _ZN12QSoundEffect11qt_metacallEN11QMetaObject4CallEiPPv @ 948 NONAME + _ZN12QSoundEffect11qt_metacastEPKc @ 949 NONAME + _ZN12QSoundEffect12loopsChangedEv @ 950 NONAME + _ZN12QSoundEffect12mutedChangedEv @ 951 NONAME + _ZN12QSoundEffect13sourceChangedEv @ 952 NONAME + _ZN12QSoundEffect13volumeChangedEv @ 953 NONAME + _ZN12QSoundEffect16staticMetaObjectE @ 954 NONAME DATA 16 + _ZN12QSoundEffect19getStaticMetaObjectEv @ 955 NONAME + _ZN12QSoundEffect4playEv @ 956 NONAME + _ZN12QSoundEffect8setLoopsEi @ 957 NONAME + _ZN12QSoundEffect8setMutedEb @ 958 NONAME + _ZN12QSoundEffect9setSourceERK4QUrl @ 959 NONAME + _ZN12QSoundEffect9setVolumeEi @ 960 NONAME + _ZN12QSoundEffectC1EP7QObject @ 961 NONAME + _ZN12QSoundEffectC2EP7QObject @ 962 NONAME + _ZN12QSoundEffectD0Ev @ 963 NONAME + _ZN12QSoundEffectD1Ev @ 964 NONAME + _ZN12QSoundEffectD2Ev @ 965 NONAME + _ZN12QVideoWidget18setAspectRatioModeEN2Qt15AspectRatioModeE @ 966 NONAME + _ZNK12QSoundEffect10metaObjectEv @ 967 NONAME + _ZNK12QSoundEffect5loopsEv @ 968 NONAME + _ZNK12QSoundEffect6sourceEv @ 969 NONAME + _ZNK12QSoundEffect6volumeEv @ 970 NONAME + _ZNK12QSoundEffect7isMutedEv @ 971 NONAME + _ZTI12QSoundEffect @ 972 NONAME + _ZTV12QSoundEffect @ 973 NONAME diff --git a/src/s60installs/eabi/QtNetworku.def b/src/s60installs/eabi/QtNetworku.def index a27c4be..926a000 100644 --- a/src/s60installs/eabi/QtNetworku.def +++ b/src/s60installs/eabi/QtNetworku.def @@ -1043,9 +1043,9 @@ EXPORTS _ZN19QBearerEnginePluginD2Ev @ 1042 NONAME _ZN21QNetworkAccessManager16setConfigurationERK21QNetworkConfiguration @ 1043 NONAME _ZN21QNetworkAccessManager17sendCustomRequestERK15QNetworkRequestRK10QByteArrayP9QIODevice @ 1044 NONAME - _ZN21QNetworkAccessManager20networkAccessChangedEb @ 1045 NONAME - _ZN21QNetworkAccessManager20networkSessionOnlineEv @ 1046 NONAME - _ZN21QNetworkAccessManager23setNetworkAccessEnabledEb @ 1047 NONAME + _ZN21QNetworkAccessManager20networkAccessChangedEb @ 1045 NONAME ABSENT + _ZN21QNetworkAccessManager20networkSessionOnlineEv @ 1046 NONAME ABSENT + _ZN21QNetworkAccessManager23setNetworkAccessEnabledEb @ 1047 NONAME ABSENT _ZN21QNetworkConfigurationC1ERKS_ @ 1048 NONAME _ZN21QNetworkConfigurationC1Ev @ 1049 NONAME _ZN21QNetworkConfigurationC2ERKS_ @ 1050 NONAME @@ -1116,7 +1116,7 @@ EXPORTS _ZNK19QBearerEnginePlugin10metaObjectEv @ 1115 NONAME _ZNK21QNetworkAccessManager13configurationEv @ 1116 NONAME _ZNK21QNetworkAccessManager19activeConfigurationEv @ 1117 NONAME - _ZNK21QNetworkAccessManager20networkAccessEnabledEv @ 1118 NONAME + _ZNK21QNetworkAccessManager20networkAccessEnabledEv @ 1118 NONAME ABSENT _ZNK21QNetworkConfiguration10bearerNameEv @ 1119 NONAME _ZNK21QNetworkConfiguration10identifierEv @ 1120 NONAME _ZNK21QNetworkConfiguration18isRoamingAvailableEv @ 1121 NONAME @@ -1150,4 +1150,20 @@ EXPORTS _ZTV35QNetworkConfigurationManagerPrivate @ 1149 NONAME _ZThn8_N19QBearerEnginePluginD0Ev @ 1150 NONAME _ZThn8_N19QBearerEnginePluginD1Ev @ 1151 NONAME + _Z19qt_qhostinfo_lookupRK7QStringP7QObjectPKcPbPi @ 1152 NONAME + _Z24qt_qhostinfo_clear_cachev @ 1153 NONAME + _ZN21QNetworkAccessManager20setNetworkAccessibleENS_20NetworkAccessibilityE @ 1154 NONAME + _ZN21QNetworkAccessManager23networkSessionConnectedEv @ 1155 NONAME + _ZN21QNetworkAccessManager24networkAccessibleChangedENS_20NetworkAccessibilityE @ 1156 NONAME + _ZN35QNetworkConfigurationManagerPrivate11pollEnginesEv @ 1157 NONAME + _ZN35QNetworkConfigurationManagerPrivate12startPollingEv @ 1158 NONAME + _ZN35QNetworkConfigurationManagerPrivate13enablePollingEv @ 1159 NONAME + _ZN35QNetworkConfigurationManagerPrivate14disablePollingEv @ 1160 NONAME + _ZN35QNetworkConfigurationManagerPrivate17allConfigurationsE6QFlagsIN21QNetworkConfiguration9StateFlagEE @ 1161 NONAME + _ZN35QNetworkConfigurationManagerPrivate20defaultConfigurationEv @ 1162 NONAME + _ZN35QNetworkConfigurationManagerPrivate27configurationFromIdentifierERK7QString @ 1163 NONAME + _ZN35QNetworkConfigurationManagerPrivate8isOnlineEv @ 1164 NONAME + _ZNK13QBearerEngine15requiresPollingEv @ 1165 NONAME + _ZNK13QBearerEngine19configurationsInUseEv @ 1166 NONAME + _ZNK21QNetworkAccessManager17networkAccessibleEv @ 1167 NONAME diff --git a/src/s60installs/eabi/QtScriptu.def b/src/s60installs/eabi/QtScriptu.def index 6a70ed3..3269d97 100644 --- a/src/s60installs/eabi/QtScriptu.def +++ b/src/s60installs/eabi/QtScriptu.def @@ -192,13 +192,13 @@ EXPORTS _ZN24QScriptSyntaxCheckResultD1Ev @ 191 NONAME _ZN24QScriptSyntaxCheckResultD2Ev @ 192 NONAME _ZN24QScriptSyntaxCheckResultaSERKS_ @ 193 NONAME - _ZN25QScriptEngineAgentPrivate11atStatementERKN5QTJSC17DebuggerCallFrameEiii @ 194 NONAME + _ZN25QScriptEngineAgentPrivate11atStatementERKN5QTJSC17DebuggerCallFrameEiii @ 194 NONAME ABSENT _ZN25QScriptEngineAgentPrivate11returnEventERKN5QTJSC17DebuggerCallFrameEii @ 195 NONAME _ZN25QScriptEngineAgentPrivate12evaluateStopERKN5QTJSC7JSValueEi @ 196 NONAME _ZN25QScriptEngineAgentPrivate12functionExitERKN5QTJSC7JSValueEi @ 197 NONAME _ZN25QScriptEngineAgentPrivate14exceptionCatchERKN5QTJSC17DebuggerCallFrameEi @ 198 NONAME _ZN25QScriptEngineAgentPrivate14exceptionThrowERKN5QTJSC17DebuggerCallFrameEib @ 199 NONAME - _ZN25QScriptEngineAgentPrivate18didReachBreakpointERKN5QTJSC17DebuggerCallFrameEiii @ 200 NONAME + _ZN25QScriptEngineAgentPrivate18didReachBreakpointERKN5QTJSC17DebuggerCallFrameEiii @ 200 NONAME ABSENT _ZN25QScriptEngineAgentPrivate6attachEv @ 201 NONAME _ZN25QScriptEngineAgentPrivate6detachEv @ 202 NONAME _ZN28QScriptClassPropertyIteratorC2ERK12QScriptValue @ 203 NONAME @@ -435,4 +435,8 @@ EXPORTS _ZN23QScriptDeclarativeClass5ValueD2Ev @ 434 NONAME _ZNK23QScriptDeclarativeClass12supportsCallEv @ 435 NONAME _ZNK23QScriptDeclarativeClass5Value13toScriptValueEP13QScriptEngine @ 436 NONAME + _ZN13QScriptEngine26reportAdditionalMemoryCostEi @ 437 NONAME + _ZN23QScriptDeclarativeClass7compareEPNS_6ObjectES1_ @ 438 NONAME + _ZN25QScriptEngineAgentPrivate11atStatementERKN5QTJSC17DebuggerCallFrameEii @ 439 NONAME + _ZN25QScriptEngineAgentPrivate18didReachBreakpointERKN5QTJSC17DebuggerCallFrameEii @ 440 NONAME -- cgit v0.12 From 359e6ae3900930656b7359210105426a1771bf19 Mon Sep 17 00:00:00 2001 From: David Boddie Date: Tue, 30 Mar 2010 17:47:26 +0200 Subject: Doc: Updated the qdoc manual with i18n info. Fixed a code example. Reviewed-by: Trust Me --- tools/qdoc3/doc/examples/main.cpp | 2 +- tools/qdoc3/doc/qdoc-manual.qdoc | 106 ++++++++++++++++++++++++++++++++------ 2 files changed, 90 insertions(+), 18 deletions(-) diff --git a/tools/qdoc3/doc/examples/main.cpp b/tools/qdoc3/doc/examples/main.cpp index e2cf6c5..e439d3e 100644 --- a/tools/qdoc3/doc/examples/main.cpp +++ b/tools/qdoc3/doc/examples/main.cpp @@ -46,7 +46,7 @@ int main(int argc, char *argv[]) { QApplication app(argc, argv); - QPushButton *hello("Hello world!"); + QPushButton hello("Hello world!"); hello.resize(100, 30); hello.show(); diff --git a/tools/qdoc3/doc/qdoc-manual.qdoc b/tools/qdoc3/doc/qdoc-manual.qdoc index e2f670c..482af46 100644 --- a/tools/qdoc3/doc/qdoc-manual.qdoc +++ b/tools/qdoc3/doc/qdoc-manual.qdoc @@ -78,10 +78,10 @@ \endlist \o \l{QDoc Configuration} \list - \o \l{General Variables} + \o \l{General Configuration Variables} \o \l{Creating Help Project Files} - \o \l{C++ Specific Variables} - \o \l{HTML Specific Variables} + \o \l{C++ Specific Configuration Variables} + \o \l{HTML Specific Configuration Variables} \o \l{Supporting Derived Projects} \o \l{QDoc Compatibility} \o \l{qt.qdocconf} @@ -1425,6 +1425,7 @@ \quotefromfile examples/main.cpp + \skipto QApplication \printline QApplication This line includes the QApplication class @@ -1652,6 +1653,7 @@ can press and release. \quotefromfile examples/main.cpp + \skipto QApplication \skipline QApplication \printline QPushButton @@ -6974,7 +6976,7 @@ \page 21-0-qdoc-configuration.html \previouspage Title Commands \contentspage QDoc Manual - Table of Contents - \nextpage General Variables + \nextpage General Configuration Variables \title QDoc Configuration @@ -7094,9 +7096,9 @@ \section2 Categories \list - \o \l {General Variables} - \o \l {C++ Specific Variables} - \o \l {HTML Specific Variables} + \o \l {General Configuration Variables} + \o \l {C++ Specific Configuration Variables} + \o \l {HTML Specific Configuration Variables} \endlist \section1 Configuration File Examples @@ -7133,7 +7135,7 @@ \contentspage QDoc Manual - Table of Contents \nextpage Creating Help Project Files - \title General Variables + \title General Configuration Variables With the general QDoc configuration variables, you can define where QDoc will find the various source files it needs to generate @@ -7215,7 +7217,7 @@ QDoc originally used a hard-coded value of four spaces for code indentation to ensure that code snippets could be easily distinguished from surrounding text. Since we can use - \l{HTML Specific Variables#HTML.stylesheets}{stylesheets} to + \l{HTML Specific Configuration Variables#HTML.stylesheets}{stylesheets} to adjust the appearance of certain types of HTML elements, this level of indentation is not always required. @@ -7572,7 +7574,7 @@ \code header.fileextensions += *.H \endcode - + \warning The above assignment may not work as described. See also \l headerdirs. @@ -7730,6 +7732,27 @@ bold font, and that \\raisedaster renders a '*'. \row + \o \bold naturallanguage \target naturallanguage + \o \bold {The \c naturallanguage variable specifies the natural + language used for the documentation generated by qdoc.} + + For example: + + \code + naturallanguage = zh-Hans + \endcode + + By default, the natural language is \c en for compatibility + with legacy documentation. + + qdoc will add the natural language information to the HTML + it generates, using the \c lang and \c xml:lang attributes. + + See also \l sourceencoding, \l outputencoding, + \l{http://www.w3.org/TR/xhtml1/#C_7}{C.7. The lang and xml:lang Attributes} and + \l{http://www.w3.org/TR/i18n-html-tech-lang/#ri20040429.113217290}{Best Practice 13: Using Hans and Hant codes}. + + \row \o \bold outputdir \target outputdir \o \bold {The \c outputdir variable specifies the directory where QDoc will put the generated documentation.} @@ -7754,6 +7777,31 @@ directory, all files from the previous run will be lost. \row + \o \bold outputencoding \target outputencoding + \o \bold {The \c outputencoding variable specifies the encoding + used for the documentation generated by qdoc.} + + For example: + + \code + outputencoding = UTF-8 + \endcode + + By default, the output encoding is \c ISO-8859-1 (Latin1) for + compatibility with legacy documentation. When generating + documentation for some languages, particularly non-European + languages, this is not sufficient and an encoding such as UTF-8 + is required. + + qdoc will encode HTML using this encoding and generate the + correct declarations to indicate to browsers which encoding + is being used. The \l naturallanguage configuration variable + should also be specified to provide browsers with a complete + set of character encoding and language information. + + See also \l outputencoding and \l naturallanguage. + + \row \o \bold outputformats \target outputformats \o \bold {The \c outputformats variable specifies the format of the generated documentation.} @@ -7831,6 +7879,30 @@ See also \l sources and \l sources.fileextensions. \row + \o \bold sourceencoding \target sourceencoding + \o \bold {The \c sourceencoding variable specifies the encoding + used for the source code and documentation.} + + For example: + + \code + sourceencoding = UTF-8 + \endcode + + By default, the source encoding is \c ISO-8859-1 (Latin1) for + compatibility with legacy documentation. For some languages, + particularly non-European languages, this is not sufficient + and an encoding such as UTF-8 is required. + + Although qdoc will use the encoding to read source and + documentation files, limitations of C++ compilers may prevent + you from using non-ASCII characters in source code comments. + In cases like these, it is possible to write API documentation + completely in documentation files. + + See also \l naturallanguage and \l outputencoding. + + \row \o \bold sources \target sources \o \bold {The \c sources variable allows you to specify individual source files in addition to those located in the @@ -7973,9 +8045,9 @@ /*! \page 22-creating-help-project-files.html - \previouspage General Variables + \previouspage General Configuration Variables \contentspage QDoc Manual - Table of Contents - \nextpage C++ Specific Variables + \nextpage C++ Specific Configuration Variables \title Creating Help Project Files @@ -8023,9 +8095,9 @@ \page 23-qdoc-configuration-cppvariables.html \previouspage Creating Help Project Files \contentspage QDoc Manual - Table of Contents - \nextpage HTML Specific Variables + \nextpage HTML Specific Configuration Variables - \title C++ Specific Variables + \title C++ Specific Configuration Variables The C++ specific configuration variables are provided to avoid erroneous documentation due to non-standard C++ constructs. @@ -8159,11 +8231,11 @@ /*! \page 24-qdoc-configuration-htmlvariables.html - \previouspage C++ Specific Variables + \previouspage C++ Specific Configuration Variables \contentspage QDoc Manual - Table of Contents \nextpage Supporting Derived Projects - \title HTML Specific Variables + \title HTML Specific Configuration Variables The HTML specific configuration variables define the generated documentation's style, or define the contents of the @@ -8289,7 +8361,7 @@ /*! \page 25-qdoc-configuration-derivedprojects.html - \previouspage HTML Specific Variables + \previouspage HTML Specific Configuration Variables \contentspage QDoc Manual - Table of Contents \nextpage QDoc Compatibility -- cgit v0.12 From e1edc775a5fdfd0e9e940abcc5050944eb396f8b Mon Sep 17 00:00:00 2001 From: Thiago Macieira Date: Tue, 30 Mar 2010 18:17:55 +0200 Subject: Fix bad merge from 4.6. Revert qgraphicsview.h to its prior 4.7 state and symbian.conf to the current qt-4.7-from-4.6 (7c613a9ef4610fa2e0e1630eb3cd2b474875631d) state. symbian.conf may be bad, needs reviewing. --- mkspecs/common/symbian/symbian.conf | 115 +++++++-------------------------- src/gui/graphicsview/qgraphicswidget.h | 6 +- 2 files changed, 27 insertions(+), 94 deletions(-) diff --git a/mkspecs/common/symbian/symbian.conf b/mkspecs/common/symbian/symbian.conf index d66d227..bd5768b 100644 --- a/mkspecs/common/symbian/symbian.conf +++ b/mkspecs/common/symbian/symbian.conf @@ -1,19 +1,19 @@ # -# qmake configuration for symbian-* +# qmake configuration for all symbian mkspecs # TEMPLATE = app -CONFIG += qt warn_on release incremental +CONFIG += qt warn_on release incremental link_prl sis_targets QT += core gui QMAKE_INCREMENTAL_STYLE = sublib DEFINES += UNICODE QT_KEYPAD_NAVIGATION QT_SOFTKEYS_ENABLED QT_USE_MATH_H_FLOATS + QMAKE_COMPILER_DEFINES += SYMBIAN QMAKE_EXT_OBJ = .o QMAKE_EXT_RES = _res.o -QMAKE_CC = gcc QMAKE_LEX = flex QMAKE_LEXFLAGS = QMAKE_YACC = byacc @@ -28,9 +28,13 @@ QMAKE_CFLAGS_YACC = -Wno-unused -Wno-parentheses VERSION_FLAGS.ARMCC = ARMCC_4_0 -QMAKE_CXX = g++ QMAKE_CXXFLAGS = $$QMAKE_CFLAGS -QMAKE_CXXFLAGS.CW = +# Symbian build system applies -cwd source on the MWCC command line. +# this causes problems with include paths, -cwd include uses the same +# rules for include paths as ARMCC +# This should really be fixed in raptor, as using CXXFLAGS means we pass +# both on the command line and rely on the compiler using the last specified +QMAKE_CXXFLAGS.CW = -cwd include QMAKE_CXXFLAGS.ARMCC = --visibility_inlines_hidden QMAKE_CXXFLAGS.ARMCC_4_0 = --import_all_vtbl QMAKE_CXXFLAGS.GCCE = -fvisibility-inlines-hidden @@ -49,12 +53,6 @@ QMAKE_CXXFLAGS_EXCEPTIONS_OFF = QMAKE_INCDIR = QMAKE_INCDIR_QT = $$[QT_INSTALL_HEADERS] -QMAKE_RUN_CC = $(CC) -c $(CFLAGS) $(INCPATH) -o $obj $src -QMAKE_RUN_CC_IMP = $(CC) -c $(CFLAGS) $(INCPATH) -o $@ $< -QMAKE_RUN_CXX = $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $obj $src -QMAKE_RUN_CXX_IMP = $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $< - -QMAKE_LINK = QMAKE_LFLAGS = QMAKE_LFLAGS.ARMCC = QMAKE_LFLAGS_EXCEPTIONS_ON = @@ -68,12 +66,13 @@ QMAKE_LINK_OBJECT_MAX = QMAKE_LINK_OBJECT_SCRIPT= QMAKE_LIBS = -llibc -llibm -leuser -llibdl -QMAKE_LIBS_CORE = $$QMAKE_LIBS -llibpthread -lefsrv -QMAKE_LIBS_GUI = $$QMAKE_LIBS_CORE -lfbscli -lbitgdi -lhal -lgdi -lws32 -lapgrfx -lcone -leikcore -lmediaclientaudio -leikcoctl -leiksrv -lapparc -lcentralrepository +QMAKE_LIBS_CORE = $$QMAKE_LIBS -lefsrv -lhal +QMAKE_LIBS_GUI = $$QMAKE_LIBS_CORE -lfbscli -lbitgdi -lgdi -lws32 -lapgrfx -lcone -leikcore -lmediaclientaudio -leikcoctl -leiksrv -lapparc -lcentralrepository QMAKE_LIBS_NETWORK = QMAKE_LIBS_EGL = -llibEGL QMAKE_LIBS_OPENGL = QMAKE_LIBS_OPENVG = -llibOpenVG -lfbscli -lbitgdi -lgdi +QMAKE_LIBS_THREAD = -llibpthread QMAKE_LIBS_COMPAT = QMAKE_LIBS_QT_ENTRY = -llibcrt0.lib QMAKE_LIBS_S60 = -lavkon @@ -86,9 +85,10 @@ contains(QMAKE_HOST.os,Windows) { QMAKE_COPY = copy /y QMAKE_COPY_DIR = xcopy /s /q /y /i QMAKE_MOVE = move - QMAKE_DEL_FILE = del + QMAKE_DEL_FILE = del 2> NUL QMAKE_MKDIR = mkdir QMAKE_DEL_DIR = rmdir + QMAKE_DEL_TREE = rmdir /s /q QMAKE_CHK_DIR_EXISTS = if not exist } else { QMAKE_COPY = cp @@ -97,87 +97,18 @@ contains(QMAKE_HOST.os,Windows) { QMAKE_DEL_FILE = rm -f QMAKE_MKDIR = mkdir QMAKE_DEL_DIR = rmdir + QMAKE_DEL_TREE = rm -rf QMAKE_CHK_DIR_EXISTS = test -d } -QMAKE_MOC = $$[QT_INSTALL_BINS]$${DIR_SEPARATOR}moc.exe -QMAKE_UIC = $$[QT_INSTALL_BINS]$${DIR_SEPARATOR}uic.exe -QMAKE_IDC = $$[QT_INSTALL_BINS]$${DIR_SEPARATOR}idc.exe - -QMAKE_IDL = midl -QMAKE_LIB = ar -ru -QMAKE_RC = windres -QMAKE_ZIP = zip -r -9 +QMAKE_IDL = midl +QMAKE_LIB = ar -ru +QMAKE_RC = windres +QMAKE_ZIP = zip -r -9 -QMAKE_STRIP = strip -QMAKE_STRIPFLAGS_LIB += --strip-unneeded +QMAKE_TAR = tar -cf +QMAKE_GZIP = gzip -9f +QT_ARCH = symbian load(qt_config) -load(platform_paths) -load(add_mmp_rules) - -symbian-abld { -# Versions of abld prior to Symbian^3 have a bug where you cannot remove something from the command line without replacing it -# Rather than figure out which version of abld we're using, we'll replace the command with a macro *that should never be used* - MMP_RULES_DONT_EXPORT_ALL_CLASS_IMPEDIMENTA = "OPTION_REPLACE ARMCC --export_all_vtbl -D__QT_NOEFFECTMACRO_DONOTUSE" -} else { - MMP_RULES_DONT_EXPORT_ALL_CLASS_IMPEDIMENTA = "OPTION_REPLACE ARMCC --export_all_vtbl // don't use --export_all_vtbl" -} -MMP_RULES += PAGED BYTEPAIRCOMPRESSTARGET -MMP_RULES += $$MMP_RULES_DONT_EXPORT_ALL_CLASS_IMPEDIMENTA -SYMBIAN_PLATFORMS = WINSCW GCCE ARMV5 ARMV6 - -INCLUDEPATH = \ - $$[QT_INSTALL_PREFIX]/mkspecs/common/symbian/stl-off \ - $$[QT_INSTALL_PREFIX]/mkspecs/common/symbian \ - $${EPOCROOT}epoc32/include \ - $$OS_LAYER_LIBC_SYSTEMINCLUDE \ - $$INCLUDEPATH - -# Ensure '.' directory is the first in include path. -# RVCT seems to do this automatically, but WINSCW compiler does not, so add it here. -MMP_RULES += "USERINCLUDE ." - -# pkg_depends_webkit, pkg_depends_core, and pkg_platform_dependencies can be removed by developer -# if multiple languages need to be supported by pkg file. In that case the developer should declare -# multiple language compatible dependency statements him/herself. - -default_deployment.pkg_prerules += pkg_depends_webkit pkg_depends_qt pkg_platform_dependencies - -# Supports S60 3.0, 3.1, 3.2 and 5.0 by default -pkg_platform_dependencies = \ - "; Default HW/platform dependencies" \ - "[0x101F7961],0,0,0,{\"S60ProductID\"}" \ - "[0x102032BE],0,0,0,{\"S60ProductID\"}" \ - "[0x102752AE],0,0,0,{\"S60ProductID\"}" \ - "[0x1028315F],0,0,0,{\"S60ProductID\"}" \ - " " - -DEPLOYMENT += default_deployment - -exists($${EPOCROOT}epoc32/release/winscw/udeb/z/system/install/Series60v5.0.sis )|exists($${EPOCROOT}epoc32/data/z/system/install/Series60v5.0.sis) { - S60_VERSION = 5.0 -} else { - exists($${EPOCROOT}epoc32/release/winscw/udeb/z/system/install/Series60v3.2.sis )|exists($${EPOCROOT}epoc32/data/z/system/install/Series60v3.2.sis) { - S60_VERSION = 3.2 - } else { - S60_VERSION = 3.1 - MMP_RULES -= PAGED BYTEPAIRCOMPRESSTARGET - } -} - -QMAKE_CXXFLAGS_FAST_VFP.ARMCC = --fpmode fast -# [TODO] QMAKE_CXXFLAGS_FAST_VFP.GCCE = - -symbian { - armfpu = $$find(MMP_RULES, "ARMFPU") - !isEmpty(armfpu) { - vfpv2 = $$find(MMP_RULES, "vfpv2") - !isEmpty(vfpv2) { - # we will respect fpu setting obtained from configure, but, - # if vfpv2 or softvfp+vfpv2 used we want to force RunFast VFP mode - QMAKE_CXXFLAGS.ARMCC += $${QMAKE_CXXFLAGS_FAST_VFP.ARMCC} - # [TODO] QMAKE_CXXFLAGS.GCCE += $${QMAKE_CXXFLAGS_FAST_VFP.GCCE} - } - } -} +load(symbian/platform_paths) diff --git a/src/gui/graphicsview/qgraphicswidget.h b/src/gui/graphicsview/qgraphicswidget.h index 730674c..87c669b 100644 --- a/src/gui/graphicsview/qgraphicswidget.h +++ b/src/gui/graphicsview/qgraphicswidget.h @@ -82,7 +82,7 @@ class Q_GUI_EXPORT QGraphicsWidget : public QGraphicsObject, public QGraphicsLay Q_PROPERTY(Qt::WindowFlags windowFlags READ windowFlags WRITE setWindowFlags) Q_PROPERTY(QString windowTitle READ windowTitle WRITE setWindowTitle) Q_PROPERTY(QRectF geometry READ geometry WRITE setGeometry NOTIFY geometryChanged) - Q_PROPERTY(QGraphicsLayout* layout READ layout WRITE setLayout NOTIFY layoutChanged) + Q_PROPERTY(bool autoFillBackground READ autoFillBackground WRITE setAutoFillBackground) public: QGraphicsWidget(QGraphicsItem *parent = 0, Qt::WindowFlags wFlags = 0); ~QGraphicsWidget(); @@ -103,6 +103,9 @@ public: QPalette palette() const; void setPalette(const QPalette &palette); + bool autoFillBackground() const; + void setAutoFillBackground(bool enabled); + void resize(const QSizeF &size); inline void resize(qreal w, qreal h) { resize(QSizeF(w, h)); } QSizeF size() const; @@ -177,7 +180,6 @@ public: Q_SIGNALS: void geometryChanged(); - void layoutChanged(); public Q_SLOTS: bool close(); -- cgit v0.12 From a7f9db7091db3356434f188abd814e9deebe3d78 Mon Sep 17 00:00:00 2001 From: Thiago Macieira Date: Tue, 30 Mar 2010 18:34:45 +0200 Subject: Re-fix compilation: re-add symbols introduced in Qt 4.6.3 to Qt 4.7 --- src/gui/graphicsview/qgraphicswidget.h | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/gui/graphicsview/qgraphicswidget.h b/src/gui/graphicsview/qgraphicswidget.h index 87c669b..894b84e 100644 --- a/src/gui/graphicsview/qgraphicswidget.h +++ b/src/gui/graphicsview/qgraphicswidget.h @@ -82,6 +82,7 @@ class Q_GUI_EXPORT QGraphicsWidget : public QGraphicsObject, public QGraphicsLay Q_PROPERTY(Qt::WindowFlags windowFlags READ windowFlags WRITE setWindowFlags) Q_PROPERTY(QString windowTitle READ windowTitle WRITE setWindowTitle) Q_PROPERTY(QRectF geometry READ geometry WRITE setGeometry NOTIFY geometryChanged) + Q_PROPERTY(QGraphicsLayout* layout READ layout WRITE setLayout NOTIFY layoutChanged) Q_PROPERTY(bool autoFillBackground READ autoFillBackground WRITE setAutoFillBackground) public: QGraphicsWidget(QGraphicsItem *parent = 0, Qt::WindowFlags wFlags = 0); @@ -180,6 +181,7 @@ public: Q_SIGNALS: void geometryChanged(); + void layoutChanged(); public Q_SLOTS: bool close(); -- cgit v0.12 From c9175338b3e2f4cf05e1d6cd5a518a06c4bb08a6 Mon Sep 17 00:00:00 2001 From: Thomas Zander Date: Tue, 30 Mar 2010 18:28:36 +0200 Subject: Fix out-of-source symbian build for external apps --- mkspecs/features/symbian/qt.prf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mkspecs/features/symbian/qt.prf b/mkspecs/features/symbian/qt.prf index bcb2867..9fc9814 100644 --- a/mkspecs/features/symbian/qt.prf +++ b/mkspecs/features/symbian/qt.prf @@ -47,5 +47,5 @@ isEmpty(TARGET.EPOCHEAPSIZE):TARGET.EPOCHEAPSIZE = 0x020000 0x800000 # Workaround for the fact that Gnupoc and Symbian chose different approaches to # the letter casing of headers. contains(CONFIG, is_using_gnupoc) { - INCLUDEPATH += $$QMAKESPEC/../../common/symbian/header-wrappers + INCLUDEPATH += $${PWD}/../../common/symbian/header-wrappers } -- cgit v0.12 From 165b20e0d2c6abd041e319fe918a7030a3a6844c Mon Sep 17 00:00:00 2001 From: Thomas Zander Date: Tue, 30 Mar 2010 18:31:20 +0200 Subject: Remove stray non-latin1 character --- src/s60main/qts60main_mcrt0.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/s60main/qts60main_mcrt0.cpp b/src/s60main/qts60main_mcrt0.cpp index 66ce8b6..0f0723e 100644 --- a/src/s60main/qts60main_mcrt0.cpp +++ b/src/s60main/qts60main_mcrt0.cpp @@ -40,7 +40,7 @@ // MCRT0.CPP // -// © Portions copyright (c) 2005-2006 Nokia Corporation. All rights reserved. +// Portions copyright (c) 2005-2006 Nokia Corporation. All rights reserved. // Copyright (c) Symbian Software Ltd 1997-2004. All rights reserved. // -- cgit v0.12 From faff1c60a2a7f6ebef90249e759bdf822c8b17de Mon Sep 17 00:00:00 2001 From: Thomas Zander Date: Tue, 30 Mar 2010 18:46:51 +0200 Subject: Make s60main static lib not depend on QtCore Inline all the code that is used from QtCore as we should not assume QtCore is present for a static library linked into random 3rd party applications. --- src/s60main/qts60main.cpp | 6 ++++-- src/s60main/qts60main_mcrt0.cpp | 47 ++++++++++++++++++++++++++++++++++++++--- 2 files changed, 48 insertions(+), 5 deletions(-) diff --git a/src/s60main/qts60main.cpp b/src/s60main/qts60main.cpp index 5fbeea5..7b85901 100644 --- a/src/s60main/qts60main.cpp +++ b/src/s60main/qts60main.cpp @@ -41,7 +41,7 @@ // INCLUDE FILES #include // must be before e32base.h so uncaught_exception gets defined #include -#include +#include GLDEF_C TInt QtMainWrapper(); @@ -51,7 +51,9 @@ GLDEF_C TInt QtMainWrapper(); */ GLDEF_C TInt E32Main() { - CTrapCleanup *cleanupStack = q_check_ptr(CTrapCleanup::New()); + CTrapCleanup *cleanupStack = CTrapCleanup::New(); + if (!(cleanupStack)) + throw std::bad_alloc(); TInt err = 0; TRAP(err, err = QtMainWrapper()); delete cleanupStack; diff --git a/src/s60main/qts60main_mcrt0.cpp b/src/s60main/qts60main_mcrt0.cpp index 0f0723e..28c3ac6 100644 --- a/src/s60main/qts60main_mcrt0.cpp +++ b/src/s60main/qts60main_mcrt0.cpp @@ -50,9 +50,8 @@ #include // must be before e32base.h so uncaught_exception gets defined #include #include "estlib.h" +#include -// Needed for QT_TRYCATCH_LEAVING. -#include #ifdef __ARMCC__ __asm int CallMain(int argc, char *argv[], char *envp[]) @@ -75,6 +74,18 @@ extern "C" GLDEF_C int __GccGlueInit() extern "C" IMPORT_C void exit(int ret); +namespace { +class QSymbianLeaveException : public std::exception +{ +public: + inline QSymbianLeaveException(int err) : error(err) {} + inline const char* what() const throw() { return "Symbian leave exception"; } + +public: + int error; +}; +} + GLDEF_C TInt QtMainWrapper() { int argc = 0; @@ -83,7 +94,37 @@ GLDEF_C TInt QtMainWrapper() // get args & environment __crt0(argc, argv, envp); //Call user(application)'s main - TRAPD(ret, QT_TRYCATCH_LEAVING(ret = CALLMAIN(argc, argv, envp);)); + + TInt _err = KErrNone; + TRAPD(ret, + try { + ret = CALLMAIN(argc, argv, envp); + } catch (const std::exception &____ex) { + _err = KErrGeneral; + const std::type_info& type = typeid(____ex); + + if (type == typeid (std::bad_alloc)) { + _err = KErrNoMemory; + } else if (type == typeid(::QSymbianLeaveException)) { + _err = static_cast(____ex).error; + } else { + if (type == typeid(std::invalid_argument)) + _err = KErrArgument; + else if (type == typeid(std::out_of_range)) + // std::out_of_range is of type logic_error which by definition means that it is + // "presumably detectable before the program executes". + // std::out_of_range is used to report an argument is not within the expected range. + // The description of KErrArgument says an argument is out of range. Hence the mapping. + _err = KErrArgument; + else if (type == typeid(std::overflow_error)) + _err = KErrOverflow; + else if (type == typeid(std::underflow_error)) + _err = KErrUnderflow; + } + } + User::LeaveIfError(_err); + ); + delete[] argv; delete[] envp; return ret; -- cgit v0.12 From 3cb1aba46a1e2e5b1d71360c6a9bd160d73d8aec Mon Sep 17 00:00:00 2001 From: Thomas Zander Date: Tue, 30 Mar 2010 18:48:11 +0200 Subject: Fix qmake with the symbian makespec failing when project has a dash in it --- mkspecs/features/symbian/symbian_building.prf | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/mkspecs/features/symbian/symbian_building.prf b/mkspecs/features/symbian/symbian_building.prf index 9ccfd2f..ef03b0a 100644 --- a/mkspecs/features/symbian/symbian_building.prf +++ b/mkspecs/features/symbian/symbian_building.prf @@ -1,7 +1,7 @@ # we have some module specific options (defined in qt.prf) lets add them -eval(TMPVAR = \$\$QMAKE_$${TARGET}_CXXFLAGS) +!contains(TARGET, ".*[ -].*"):eval(TMPVAR = \$\$QMAKE_$${TARGET}_CXXFLAGS) !isEmpty(TMPVAR):QMAKE_CXXFLAGS += $$TMPVAR -eval(TMPVAR = \$\$QMAKE_$${TARGET}_LFLAGS) +!contains(TARGET, ".*[ -].*"):eval(TMPVAR = \$\$QMAKE_$${TARGET}_LFLAGS) !isEmpty(TMPVAR) { QMAKE_LFLAGS += $$TMPVAR } else :linux-gcce { # lets provide a simple default. Without elf2e32 complains -- cgit v0.12 From 328e75ba8abe51cc8e296975513ca6e882df5a1b Mon Sep 17 00:00:00 2001 From: Thomas Zander Date: Tue, 30 Mar 2010 19:33:00 +0200 Subject: Fix building on public symbian SDK. the capability CAP_GENERAL_DLL is apparently an alias, so replace it with the extended version --- demos/declarative/minehunt/minehunt.pro | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/demos/declarative/minehunt/minehunt.pro b/demos/declarative/minehunt/minehunt.pro index 03059c7..0b0eac6 100644 --- a/demos/declarative/minehunt/minehunt.pro +++ b/demos/declarative/minehunt/minehunt.pro @@ -26,9 +26,9 @@ INSTALLS = sources MinehuntCore_sources target symbian:{ load(data_caging_paths) TARGET.EPOCALLOWDLLDATA = 1 - TARGET.CAPABILITY = CAP_GENERAL_DLL + TARGET.CAPABILITY = all -tcb include($$QT_SOURCE_TREE/demos/symbianpkgrules.pri) - + importFiles.sources = minehunt.dll \ MinehuntCore/Explosion.qml \ MinehuntCore/pics \ -- cgit v0.12 From 7e3df09fea0d3177d07f0262d034065e90eb3263 Mon Sep 17 00:00:00 2001 From: Thomas Zander Date: Tue, 30 Mar 2010 19:36:46 +0200 Subject: Work around bad naming of exported class in symbian sdk causing conflict The symbian SDK has a Time class defined which means that the compiler complains about the name already being used. Lets just disable the compile as this is not worth disturbing the example over. --- examples/declarative/declarative.pro | 3 +++ 1 file changed, 3 insertions(+) diff --git a/examples/declarative/declarative.pro b/examples/declarative/declarative.pro index bddfbee..1c53e28 100644 --- a/examples/declarative/declarative.pro +++ b/examples/declarative/declarative.pro @@ -8,6 +8,9 @@ SUBDIRS = \ plugins \ widgets +# plugins uses a 'Time' class that conflicts with symbian e32std.h also defining a class of the same name +symbian:SUBDIRS -= plugins + # These examples contain no C++ and can simply be copied sources.files = \ animations \ -- cgit v0.12 From 456fdf4e5fe05e94955df0fc7d76c384a0bcfbc5 Mon Sep 17 00:00:00 2001 From: Thomas Zander Date: Tue, 30 Mar 2010 19:49:58 +0200 Subject: Re-add line that was lost during webkit update. Doing a 'make sis' expects the dll in the libdir, so place it there. This fixes out-of-source building to always put the dll in the exepcted dir. https://bugs.webkit.org/show_bug.cgi?id=36749 --- src/3rdparty/webkit/WebCore/WebCore.pro | 1 + 1 file changed, 1 insertion(+) diff --git a/src/3rdparty/webkit/WebCore/WebCore.pro b/src/3rdparty/webkit/WebCore/WebCore.pro index e24e9e2..06e3a84 100644 --- a/src/3rdparty/webkit/WebCore/WebCore.pro +++ b/src/3rdparty/webkit/WebCore/WebCore.pro @@ -12,6 +12,7 @@ symbian: { TARGET.UID3 = 0xE00267C2 } webkitlibs.sources = QtWebKit$${QT_LIBINFIX}.dll + CONFIG(QTDIR_build)|: webkitlibs.sources = $$QMAKE_LIBDIR_QT/$$webkitlibs.sources webkitlibs.path = /sys/bin vendorinfo = \ "; Localised Vendor name" \ -- cgit v0.12 From 577229a5cb2fe0a9e0806238808ed3c9aeb3d3cc Mon Sep 17 00:00:00 2001 From: Alexis Menard Date: Tue, 23 Mar 2010 04:37:35 +0100 Subject: Show only one dialog when using QFileDialog on Mac. The completer was trying to populate the combobox for completion even if the dialog was hidden (the native one is shown). Task-number:QTBUG-8624 Reviewed-by:richard --- src/gui/dialogs/qfiledialog.cpp | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/gui/dialogs/qfiledialog.cpp b/src/gui/dialogs/qfiledialog.cpp index ef2b223..3b5fb9f 100644 --- a/src/gui/dialogs/qfiledialog.cpp +++ b/src/gui/dialogs/qfiledialog.cpp @@ -723,9 +723,15 @@ void QFileDialog::setVisible(bool visible) // Set WA_DontShowOnScreen so that QDialog::setVisible(visible) below // updates the state correctly, but skips showing the non-native version: setAttribute(Qt::WA_DontShowOnScreen); + //So the completer don't try to complete and therefore to show a popup + d->completer->setModel(0); } else { d->nativeDialogInUse = false; setAttribute(Qt::WA_DontShowOnScreen, false); + if (d->proxyModel != 0) + d->completer->setModel(d->proxyModel); + else + d->completer->setModel(d->model); } } -- cgit v0.12 From 525e6207b5e5c9cce82ed6e76a65571f56971f92 Mon Sep 17 00:00:00 2001 From: Alexis Menard Date: Wed, 24 Mar 2010 02:09:13 +0100 Subject: Micro optimization after feedback from Jan-Arve. Reviewed-by:janarve --- src/gui/graphicsview/qgraphicsitem.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/gui/graphicsview/qgraphicsitem.cpp b/src/gui/graphicsview/qgraphicsitem.cpp index 450dea7..02a1ecb 100644 --- a/src/gui/graphicsview/qgraphicsitem.cpp +++ b/src/gui/graphicsview/qgraphicsitem.cpp @@ -3631,7 +3631,7 @@ void QGraphicsItem::setPos(const QPointF &pos) return; // Update and repositition. - if (!(d_ptr->flags & ItemSendsGeometryChanges) && !(d_ptr->flags & ItemSendsScenePositionChanges)) { + if (!(d_ptr->flags & (ItemSendsGeometryChanges | ItemSendsScenePositionChanges))) { d_ptr->setPosHelper(pos); return; } -- cgit v0.12 From 93ae014d7ee06a6ebb701420fffef5895cd731c4 Mon Sep 17 00:00:00 2001 From: Alexis Menard Date: Wed, 31 Mar 2010 06:28:59 +0200 Subject: Add a QGraphicsItem::updateMicroFocus() to QGraphicsItem. QGraphicsItem is no more lacking a way to notify the input method of a changed micro focus. Reviewed-by:denis Reviewed-by:simon hausmann --- src/gui/graphicsview/qgraphicsitem.cpp | 34 ++++++++++++ src/gui/graphicsview/qgraphicsitem.h | 4 ++ src/gui/kernel/qapplication.h | 1 + tests/auto/qgraphicsitem/tst_qgraphicsitem.cpp | 71 ++++++++++++++++++++++++++ 4 files changed, 110 insertions(+) diff --git a/src/gui/graphicsview/qgraphicsitem.cpp b/src/gui/graphicsview/qgraphicsitem.cpp index 02a1ecb..71f248d 100644 --- a/src/gui/graphicsview/qgraphicsitem.cpp +++ b/src/gui/graphicsview/qgraphicsitem.cpp @@ -731,6 +731,9 @@ #include #include #include +#ifndef QT_NO_ACCESSIBILITY +# include "qaccessible.h" +#endif #include #include @@ -738,6 +741,7 @@ #include #include #include +#include #ifdef Q_WS_X11 #include @@ -7305,6 +7309,31 @@ void QGraphicsItem::setInputMethodHints(Qt::InputMethodHints hints) } /*! + Updates the item's micro focus. + + \since 4.7 + + \sa QInputContext +*/ +void QGraphicsItem::updateMicroFocus() +{ +#if !defined(QT_NO_IM) && (defined(Q_WS_X11) || defined(Q_WS_QWS) || defined(Q_OS_SYMBIAN)) + if (QWidget *fw = qApp->focusWidget()) { + if (qt_widget_private(fw)->ic || qApp->d_func()->inputContext) { + if (QInputContext *ic = fw->inputContext()) { + if (ic) + ic->update(); + } + } +#ifndef QT_NO_ACCESSIBILITY + // ##### is this correct + QAccessible::updateAccessibility(fw, 0, QAccessible::StateChanged); +#endif + } +#endif +} + +/*! This virtual function is called by QGraphicsItem to notify custom items that some part of the item's state changes. By reimplementing this function, your can react to a change, and in some cases, (depending on \a @@ -7580,6 +7609,11 @@ void QGraphicsObject::ungrabGesture(Qt::GestureType gesture) } } +void QGraphicsObject::updateMicroFocus() +{ + QGraphicsItem::updateMicroFocus(); +} + void QGraphicsItemPrivate::append(QDeclarativeListProperty *list, QGraphicsObject *item) { QGraphicsItemPrivate::get(item)->setParentItemHelper(static_cast(list->object), /*newParentVariant=*/0, /*thisPointerVariant=*/0); diff --git a/src/gui/graphicsview/qgraphicsitem.h b/src/gui/graphicsview/qgraphicsitem.h index 2c45b62..9cc75af 100644 --- a/src/gui/graphicsview/qgraphicsitem.h +++ b/src/gui/graphicsview/qgraphicsitem.h @@ -424,6 +424,7 @@ public: void removeSceneEventFilter(QGraphicsItem *filterItem); protected: + void updateMicroFocus(); virtual bool sceneEventFilter(QGraphicsItem *watched, QEvent *event); virtual bool sceneEvent(QEvent *event); virtual void contextMenuEvent(QGraphicsSceneContextMenuEvent *event); @@ -571,6 +572,9 @@ public: void grabGesture(Qt::GestureType type, Qt::GestureFlags flags = Qt::GestureFlags()); void ungrabGesture(Qt::GestureType type); +protected Q_SLOTS: + void updateMicroFocus(); + Q_SIGNALS: void parentChanged(); void opacityChanged(); diff --git a/src/gui/kernel/qapplication.h b/src/gui/kernel/qapplication.h index ee74350..c21b982 100644 --- a/src/gui/kernel/qapplication.h +++ b/src/gui/kernel/qapplication.h @@ -376,6 +376,7 @@ private: Q_DECLARE_PRIVATE(QApplication) friend class QGraphicsWidget; + friend class QGraphicsItem; friend class QGraphicsScene; friend class QGraphicsScenePrivate; friend class QWidget; diff --git a/tests/auto/qgraphicsitem/tst_qgraphicsitem.cpp b/tests/auto/qgraphicsitem/tst_qgraphicsitem.cpp index be50182..3d86c48 100644 --- a/tests/auto/qgraphicsitem/tst_qgraphicsitem.cpp +++ b/tests/auto/qgraphicsitem/tst_qgraphicsitem.cpp @@ -61,6 +61,7 @@ #include #include #include +#include #include "../../shared/util.h" @@ -424,6 +425,7 @@ private slots: void modality_keyEvents(); void itemIsInFront(); void scenePosChange(); + void updateMicroFocus(); // task specific tests below me void task141694_textItemEnsureVisible(); @@ -9988,6 +9990,75 @@ void tst_QGraphicsItem::scenePosChange() QCOMPARE(child2->changes.count(QGraphicsItem::ItemScenePositionHasChanged), 0); } +class MyInputContext : public QInputContext +{ +public: + MyInputContext() : nbUpdates(0) {} + ~MyInputContext() {} + + QString identifierName() { return QString(); } + QString language() { return QString(); } + + void reset() {} + + bool isComposing() const { return false; } + + void update() { nbUpdates++; } + + bool nbUpdates; +}; + +class MyInputWidget : public QGraphicsWidget +{ +public: + MyInputWidget() + { + setFlag(QGraphicsItem::ItemIsFocusable, true); + setFlag(QGraphicsItem::ItemAcceptsInputMethod, true); + } + void mousePressEvent(QGraphicsSceneMouseEvent *event) + { + event->accept(); + } + + void doUpdateMicroFocus() + { + updateMicroFocus(); + } +}; + +void tst_QGraphicsItem::updateMicroFocus() +{ + QGraphicsScene scene; + QWidget parent; + QGridLayout layout; + parent.setLayout(&layout); + QGraphicsView view(&scene); + QGraphicsView view2(&scene); + layout.addWidget(&view, 0, 0); + layout.addWidget(&view2, 0, 1); + MyInputContext ic2; + view2.setInputContext(&ic2); + MyInputContext ic; + view.setInputContext(&ic); + MyInputWidget input; + input.setPos(0, 0); + input.resize(150, 150); + scene.addItem(&input); + input.setFocus(); + parent.show(); + view.setFocus(); + qApp->setAutoSipEnabled(true); + QApplication::setActiveWindow(&parent); + QTest::qWaitForWindowShown(&parent); + QTRY_COMPARE(QApplication::activeWindow(), static_cast(&parent)); + input.doUpdateMicroFocus(); + QApplication::processEvents(); + QCOMPARE(ic.nbUpdates, 1); + //No update since view2 does not have the focus. + QCOMPARE(ic2.nbUpdates, 0); +} + void tst_QGraphicsItem::QTBUG_5418_textItemSetDefaultColor() { struct Item : public QGraphicsTextItem -- cgit v0.12 From 2fe059c863377befdcf65084a07a7f4841beef0d Mon Sep 17 00:00:00 2001 From: aavit Date: Tue, 30 Mar 2010 13:41:18 +0200 Subject: Total makeover of SVG image reader Improved/fixed canRead(). Added svgz support. Implemented ClipRect, ScaledClipRect and BackgroundColor support. Avoid data copy when reading from memory. Improved support reading from sequential devices. Added svg and svgz files to the qimagereader autotests. Task-number: QTBUG-8227 and QTBUG-9053 Reviewed-by: Kim --- src/plugins/imageformats/svg/main.cpp | 16 +- src/plugins/imageformats/svg/qsvgiohandler.cpp | 157 ++++++--- tests/auto/qimagereader/images/corrupt.svg | 32 ++ tests/auto/qimagereader/images/corrupt.svgz | Bin 0 -> 407 bytes tests/auto/qimagereader/images/rect.svg | 462 +++++++++++++++++++++++++ tests/auto/qimagereader/images/rect.svgz | Bin 0 -> 5082 bytes tests/auto/qimagereader/qimagereader.pro | 1 + tests/auto/qimagereader/qimagereader.qrc | 4 + tests/auto/qimagereader/tst_qimagereader.cpp | 64 +++- 9 files changed, 667 insertions(+), 69 deletions(-) create mode 100644 tests/auto/qimagereader/images/corrupt.svg create mode 100644 tests/auto/qimagereader/images/corrupt.svgz create mode 100644 tests/auto/qimagereader/images/rect.svg create mode 100644 tests/auto/qimagereader/images/rect.svgz diff --git a/src/plugins/imageformats/svg/main.cpp b/src/plugins/imageformats/svg/main.cpp index dbbd3b7..329e9d4 100644 --- a/src/plugins/imageformats/svg/main.cpp +++ b/src/plugins/imageformats/svg/main.cpp @@ -62,26 +62,18 @@ public: QStringList QSvgPlugin::keys() const { - return QStringList() << QLatin1String("svg"); + return QStringList() << QLatin1String("svg") << QLatin1String("svgz"); } QImageIOPlugin::Capabilities QSvgPlugin::capabilities(QIODevice *device, const QByteArray &format) const { - //### canRead disabled for now because it's hard to detect - // whether the file is actually svg without parsing it - //if (device->isReadable() && QSvgIOHandler::canRead(device)) - - if (format == "svg") + if (format == "svg" || format == "svgz") return Capabilities(CanRead); - else - return 0; - - - if (!device->isOpen()) + if (!format.isEmpty()) return 0; Capabilities cap; - if (device->isReadable()) + if (device->isReadable() && QSvgIOHandler::canRead(device)) cap |= CanRead; return cap; } diff --git a/src/plugins/imageformats/svg/qsvgiohandler.cpp b/src/plugins/imageformats/svg/qsvgiohandler.cpp index f3670c6..8155569 100644 --- a/src/plugins/imageformats/svg/qsvgiohandler.cpp +++ b/src/plugins/imageformats/svg/qsvgiohandler.cpp @@ -48,6 +48,7 @@ #include "qpixmap.h" #include "qpainter.h" #include "qvariant.h" +#include "qbuffer.h" #include "qdebug.h" QT_BEGIN_NAMESPACE @@ -55,67 +56,54 @@ QT_BEGIN_NAMESPACE class QSvgIOHandlerPrivate { public: - QSvgIOHandlerPrivate() - : r(new QSvgRenderer()), loaded(false) + QSvgIOHandlerPrivate(QSvgIOHandler *qq) + : q(qq), loaded(false), readDone(false), backColor(Qt::transparent) {} - ~QSvgIOHandlerPrivate() - { - delete r; - } bool load(QIODevice *device); - static bool findSvgTag(QIODevice *device); - QSvgRenderer *r; - QSize defaultSize; - QSize currentSize; - bool loaded; + QSvgIOHandler *q; + QSvgRenderer r; + QXmlStreamReader xmlReader; + QSize defaultSize; + QRect clipRect; + QSize scaledSize; + QRect scaledClipRect; + bool loaded; + bool readDone; + QColor backColor; }; + bool QSvgIOHandlerPrivate::load(QIODevice *device) { if (loaded) return true; + if (q->format().isEmpty()) + q->canRead(); + + bool res = false; + QBuffer *buf = qobject_cast(device); + if (buf) { + res = r.load(buf->data()); + } else if (q->format() == "svgz") { + res = r.load(device->readAll()); // ### can't stream svgz + } else { + xmlReader.setDevice(device); + res = r.load(&xmlReader); //### doesn't leave pos() correctly + } - if (r->load(device->readAll())) { - defaultSize = QSize(r->viewBox().width(), r->viewBox().height()); - if (currentSize.isEmpty()) - currentSize = defaultSize; + if (res) { + defaultSize = QSize(r.viewBox().width(), r.viewBox().height()); + loaded = true; } - loaded = r->isValid(); return loaded; } -bool QSvgIOHandlerPrivate::findSvgTag(QIODevice *device) -{ - qint64 pos = device->pos(); - device->seek(0); - char buffer[256]; - const char svg_tag[] = "read(buffer, 256); - for (int i=0; iseek(pos); - return true; - } - } - } - if (device->atEnd()) - break; - device->seek(device->pos()-4); - } - device->seek(pos); - return false; -} QSvgIOHandler::QSvgIOHandler() - : d(new QSvgIOHandlerPrivate()) + : d(new QSvgIOHandlerPrivate(this)) { } @@ -129,7 +117,20 @@ QSvgIOHandler::~QSvgIOHandler() bool QSvgIOHandler::canRead() const { - return QSvgIOHandlerPrivate::findSvgTag(device()); + if (!device()) + return false; + if (d->loaded && !d->readDone) + return true; // Will happen if we have been asked for the size + + QByteArray buf = device()->peek(8); + if (buf.startsWith("\x1f\x8b")) { + setFormat("svgz"); + return true; + } else if (buf.contains("load(device())) { - *image = QImage(d->currentSize, QImage::Format_ARGB32_Premultiplied); - if (!d->currentSize.isEmpty()) { - image->fill(0x00000000); + if (!d->readDone && d->load(device())) { + bool xform = (d->clipRect.isValid() || d->scaledSize.isValid() || d->scaledClipRect.isValid()); + QSize finalSize = d->defaultSize; + QRectF bounds; + if (xform && !d->defaultSize.isEmpty()) { + bounds = QRectF(QPointF(0,0), QSizeF(d->defaultSize)); + QPoint tr1, tr2; + QSizeF sc(1, 1); + if (d->clipRect.isValid()) { + tr1 = -d->clipRect.topLeft(); + finalSize = d->clipRect.size(); + } + if (d->scaledSize.isValid()) { + sc = QSizeF(qreal(d->scaledSize.width()) / finalSize.width(), + qreal(d->scaledSize.height()) / finalSize.height()); + finalSize = d->scaledSize; + } + if (d->scaledClipRect.isValid()) { + tr2 = -d->scaledClipRect.topLeft(); + finalSize = d->scaledClipRect.size(); + } + QTransform t; + t.translate(tr2.x(), tr2.y()); + t.scale(sc.width(), sc.height()); + t.translate(tr1.x(), tr1.y()); + bounds = t.mapRect(bounds); + } + *image = QImage(finalSize, QImage::Format_ARGB32_Premultiplied); + if (!finalSize.isEmpty()) { + image->fill(d->backColor.rgba()); QPainter p(image); - d->r->render(&p); + d->r.render(&p, bounds); p.end(); } + d->readDone = true; return true; } @@ -166,8 +194,17 @@ QVariant QSvgIOHandler::option(ImageOption option) const d->load(device()); return d->defaultSize; break; + case ClipRect: + return d->clipRect; + break; case ScaledSize: - return d->currentSize; + return d->scaledSize; + break; + case ScaledClipRect: + return d->scaledClipRect; + break; + case BackgroundColor: + return d->backColor; break; default: break; @@ -179,12 +216,17 @@ QVariant QSvgIOHandler::option(ImageOption option) const void QSvgIOHandler::setOption(ImageOption option, const QVariant & value) { switch(option) { - case Size: - d->defaultSize = value.toSize(); - d->currentSize = value.toSize(); + case ClipRect: + d->clipRect = value.toRect(); break; case ScaledSize: - d->currentSize = value.toSize(); + d->scaledSize = value.toSize(); + break; + case ScaledClipRect: + d->scaledClipRect = value.toRect(); + break; + case BackgroundColor: + d->backColor = value.value(); break; default: break; @@ -198,7 +240,10 @@ bool QSvgIOHandler::supportsOption(ImageOption option) const { case ImageFormat: case Size: + case ClipRect: case ScaledSize: + case ScaledClipRect: + case BackgroundColor: return true; default: break; @@ -206,9 +251,11 @@ bool QSvgIOHandler::supportsOption(ImageOption option) const return false; } + bool QSvgIOHandler::canRead(QIODevice *device) { - return QSvgIOHandlerPrivate::findSvgTag(device); + QByteArray buf = device->peek(8); + return buf.startsWith("\x1f\x8b") || buf.contains(" + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/tests/auto/qimagereader/images/rect.svgz b/tests/auto/qimagereader/images/rect.svgz new file mode 100644 index 0000000..c2e193b Binary files /dev/null and b/tests/auto/qimagereader/images/rect.svgz differ diff --git a/tests/auto/qimagereader/qimagereader.pro b/tests/auto/qimagereader/qimagereader.pro index 5b061b0..402e94b 100644 --- a/tests/auto/qimagereader/qimagereader.pro +++ b/tests/auto/qimagereader/qimagereader.pro @@ -9,6 +9,7 @@ RESOURCES += qimagereader.qrc !contains(QT_CONFIG, no-jpeg):DEFINES += QTEST_HAVE_JPEG !contains(QT_CONFIG, no-mng):DEFINES += QTEST_HAVE_MNG !contains(QT_CONFIG, no-tiff):DEFINES += QTEST_HAVE_TIFF +!contains(QT_CONFIG, no-svg):DEFINES += QTEST_HAVE_SVG win32-msvc:QMAKE_CXXFLAGS -= -Zm200 win32-msvc:QMAKE_CXXFLAGS += -Zm800 diff --git a/tests/auto/qimagereader/qimagereader.qrc b/tests/auto/qimagereader/qimagereader.qrc index bc48244..278427b 100644 --- a/tests/auto/qimagereader/qimagereader.qrc +++ b/tests/auto/qimagereader/qimagereader.qrc @@ -61,5 +61,9 @@ images/four-frames.gif images/qt-gif-anim.gif images/qt-gif-noanim.gif + images/rect.svg + images/rect.svgz + images/corrupt.svg + images/corrupt.svgz diff --git a/tests/auto/qimagereader/tst_qimagereader.cpp b/tests/auto/qimagereader/tst_qimagereader.cpp index 99244c2..1b4c502 100644 --- a/tests/auto/qimagereader/tst_qimagereader.cpp +++ b/tests/auto/qimagereader/tst_qimagereader.cpp @@ -245,6 +245,10 @@ void tst_QImageReader::readImage_data() QTest::newRow("MNG: ball") << QString("ball.mng") << true << QByteArray("mng"); QTest::newRow("MNG: fire") << QString("fire.mng") << true << QByteArray("mng"); #endif +#if defined QTEST_HAVE_SVG + QTest::newRow("SVG: rect") << QString("rect.svg") << true << QByteArray("svg"); + QTest::newRow("SVGZ: rect") << QString("rect.svgz") << true << QByteArray("svgz"); +#endif } void tst_QImageReader::readImage() @@ -294,7 +298,6 @@ void tst_QImageReader::readImage() QVERIFY(!image2Reader.format().isEmpty()); } QCOMPARE(image, image2); - do { QVERIFY2(!image.isNull(), io.errorString().toLatin1().constData()); } while (!(image = io.read()).isNull()); @@ -342,6 +345,10 @@ void tst_QImageReader::setScaledSize_data() QTest::newRow("MNG: ball") << "ball" << QSize(200, 200) << QByteArray("mng"); QTest::newRow("MNG: fire") << "fire" << QSize(200, 200) << QByteArray("mng"); #endif // QTEST_HAVE_MNG +#if defined QTEST_HAVE_SVG + QTest::newRow("SVG: rect") << "rect" << QSize(200, 200) << QByteArray("svg"); + QTest::newRow("SVGZ: rect") << "rect" << QSize(200, 200) << QByteArray("svgz"); +#endif } void tst_QImageReader::setScaledSize() @@ -409,6 +416,10 @@ void tst_QImageReader::setClipRect_data() QTest::newRow("MNG: ball") << "ball" << QRect(0, 0, 50, 50) << QByteArray("mng"); QTest::newRow("MNG: fire") << "fire" << QRect(0, 0, 50, 50) << QByteArray("mng"); #endif // QTEST_HAVE_MNG +#if defined QTEST_HAVE_SVG + QTest::newRow("SVG: rect") << "rect" << QRect(0, 0, 50, 50) << QByteArray("svg"); + QTest::newRow("SVGZ: rect") << "rect" << QRect(0, 0, 50, 50) << QByteArray("svgz"); +#endif } void tst_QImageReader::setClipRect() @@ -456,6 +467,10 @@ void tst_QImageReader::setScaledClipRect_data() QTest::newRow("MNG: ball") << "ball" << QRect(0, 0, 50, 50) << QByteArray("mng"); QTest::newRow("MNG: fire") << "fire" << QRect(0, 0, 50, 50) << QByteArray("mng"); #endif // QTEST_HAVE_MNG +#if defined QTEST_HAVE_SVG + QTest::newRow("SVG: rect") << "rect" << QRect(0, 0, 50, 50) << QByteArray("svg"); + QTest::newRow("SVGZ: rect") << "rect" << QRect(0, 0, 50, 50) << QByteArray("svgz"); +#endif } void tst_QImageReader::setScaledClipRect() @@ -509,6 +524,8 @@ void tst_QImageReader::imageFormat_data() QTest::newRow("png-2") << QString("YCbCr_cmyk.png") << QByteArray("png") << QImage::Format_RGB32; QTest::newRow("mng-1") << QString("ball.mng") << QByteArray("mng") << QImage::Format_Invalid; QTest::newRow("mng-2") << QString("fire.mng") << QByteArray("mng") << QImage::Format_Invalid; + QTest::newRow("svg") << QString("rect.svg") << QByteArray("svg") << QImage::Format_ARGB32_Premultiplied; + QTest::newRow("svgz") << QString("rect.svgz") << QByteArray("svgz") << QImage::Format_ARGB32_Premultiplied; } void tst_QImageReader::imageFormat() @@ -530,6 +547,10 @@ void tst_QImageReader::imageFormat() #ifndef QTEST_HAVE_MNG return; #endif // !QTEST_HAVE_MNG + if (QByteArray("svg") == format || QByteArray("svgz") == format) +#ifndef QTEST_HAVE_SVG + return; +#endif // !QTEST_HAVE_SVG QSKIP(("Qt does not support the " + format + " format.").constData(), SkipSingle); } else { QCOMPARE(QImageReader::imageFormat(prefix + fileName), format); @@ -604,6 +625,10 @@ void tst_QImageReader::setBackgroundColor_data() QTest::newRow("MNG: ball") << QString("ball.mng") << QColor(Qt::yellow); QTest::newRow("MNG: fire") << QString("fire.mng") << QColor(Qt::gray); #endif +#if defined QTEST_HAVE_SVG + QTest::newRow("SVG: rect") << QString("rect.svg") << QColor(Qt::darkGreen); + QTest::newRow("SVGZ: rect") << QString("rect.svgz") << QColor(Qt::darkGreen); +#endif } void tst_QImageReader::setBackgroundColor() @@ -641,6 +666,10 @@ void tst_QImageReader::supportsAnimation_data() QTest::newRow("MNG: ball") << QString("ball.mng") << true; QTest::newRow("MNG: fire") << QString("fire.mng") << true; #endif +#if defined QTEST_HAVE_SVG + QTest::newRow("SVG: rect") << QString("rect.svg") << false; + QTest::newRow("SVGZ: rect") << QString("rect.svgz") << false; +#endif } void tst_QImageReader::supportsAnimation() @@ -979,6 +1008,10 @@ void tst_QImageReader::readFromDevice_data() QTest::newRow("mng-1") << QString("ball.mng") << QByteArray("mng"); QTest::newRow("mng-2") << QString("fire.mng") << QByteArray("mng"); #endif // QTEST_HAVE_MNG +#if defined QTEST_HAVE_SVG + QTest::newRow("svg") << QString("rect.svg") << QByteArray("svg"); + QTest::newRow("svgz") << QString("rect.svgz") << QByteArray("svgz"); +#endif } void tst_QImageReader::readFromDevice() @@ -1059,6 +1092,10 @@ void tst_QImageReader::readFromFileAfterJunk_data() QTest::newRow("png") << QString("kollada.png") << QByteArray("png"); // QTest::newRow("mng-1") << QString("images/ball.mng") << QByteArray("mng"); // QTest::newRow("mng-2") << QString("images/fire.mng") << QByteArray("mng"); +#if defined QTEST_HAVE_SVG + QTest::newRow("svg") << QString("rect.svg") << QByteArray("svg"); + QTest::newRow("svgz") << QString("rect.svgz") << QByteArray("svgz"); +#endif } void tst_QImageReader::readFromFileAfterJunk() @@ -1081,7 +1118,7 @@ void tst_QImageReader::readFromFileAfterJunk() QVERIFY(!imageData.isNull()); int iterations = 10; - if (format == "ppm" || format == "pbm" || format == "pgm") + if (format == "ppm" || format == "pbm" || format == "pgm" || format == "svg" || format == "svgz") iterations = 1; if (format == "mng" || !QImageWriter::supportedImageFormats().contains(format)) { @@ -1233,6 +1270,20 @@ void tst_QImageReader::readFromResources_data() << QByteArray("mng") << QSize(32, 32) << QString(""); #endif +#ifdef QTEST_HAVE_SVG + QTest::newRow("rect.svg") << QString("rect.svg") + << QByteArray("svg") << QSize(105, 137) + << QString(""); + QTest::newRow("rect.svgz") << QString("rect.svgz") + << QByteArray("svgz") << QSize(105, 137) + << QString(""); + QTest::newRow("corrupt.svg") << QString("corrupt.svg") + << QByteArray("svg") << QSize(0, 0) + << QString(""); + QTest::newRow("corrupt.svgz") << QString("corrupt.svgz") + << QByteArray("svgz") << QSize(0, 0) + << QString(""); +#endif QTest::newRow("image.pbm") << QString("image.pbm") << QByteArray("pbm") << QSize(16, 6) << QString(""); @@ -1405,6 +1456,10 @@ void tst_QImageReader::readCorruptImage_data() #if defined QTEST_HAVE_TIFF QTest::newRow("corrupt tiff") << QString("corrupt-data.tif") << true << QString(""); #endif +#if defined QTEST_HAVE_SVG + QTest::newRow("corrupt svg") << QString("corrupt.svg") << true << QString(""); + QTest::newRow("corrupt svgz") << QString("corrupt.svgz") << true << QString(""); +#endif } void tst_QImageReader::readCorruptImage() @@ -1753,6 +1808,11 @@ void tst_QImageReader::testIgnoresFormatAndExtension_data() #if defined QTEST_HAVE_TIFF QTest::newRow("image_100dpi.tif") << "image_100dpi" << "tif" << "tiff"; #endif + +#if defined QTEST_HAVE_SVG + QTest::newRow("rect.svg") << "rect" << "svg" << "svg"; + QTest::newRow("rect.svgz") << "rect" << "svgz" << "svgz"; +#endif } -- cgit v0.12 From b75ebb19032ab2b739c848ed1e8cc1fa74f3cd21 Mon Sep 17 00:00:00 2001 From: Thomas Zander Date: Wed, 31 Mar 2010 14:06:47 +0200 Subject: Fix 'make sis' finding the dll on symbian --- src/imports/multimedia/multimedia.pro | 2 +- src/imports/particles/particles.pro | 2 +- src/imports/webkit/webkit.pro | 2 +- src/imports/widgets/widgets.pro | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/imports/multimedia/multimedia.pro b/src/imports/multimedia/multimedia.pro index 78618fc..92f7ec4 100644 --- a/src/imports/multimedia/multimedia.pro +++ b/src/imports/multimedia/multimedia.pro @@ -27,7 +27,7 @@ symbian:{ load(data_caging_paths) include($$QT_SOURCE_TREE/demos/symbianpkgrules.pri) - importFiles.sources = multimedia.dll \ + importFiles.sources = $$[QT_INSTALL_IMPORTS]/$$TARGETPATH/multimedia.dll \ qmldir importFiles.path = $$QT_IMPORTS_BASE_DIR/$$TARGETPATH diff --git a/src/imports/particles/particles.pro b/src/imports/particles/particles.pro index a46db8c..58bfe05 100644 --- a/src/imports/particles/particles.pro +++ b/src/imports/particles/particles.pro @@ -21,7 +21,7 @@ symbian:{ load(data_caging_paths) include($$QT_SOURCE_TREE/demos/symbianpkgrules.pri) - importFiles.sources = particles.dll \ + importFiles.sources = $$[QT_INSTALL_IMPORTS]/$$TARGETPATH/particles.dll \ qmldir importFiles.path = $$QT_IMPORTS_BASE_DIR/$$TARGETPATH diff --git a/src/imports/webkit/webkit.pro b/src/imports/webkit/webkit.pro index 7463a7f..62db9ac 100644 --- a/src/imports/webkit/webkit.pro +++ b/src/imports/webkit/webkit.pro @@ -18,7 +18,7 @@ symbian:{ load(data_caging_paths) include($$QT_SOURCE_TREE/demos/symbianpkgrules.pri) - importFiles.sources = webkitqmlplugin.dll \ + importFiles.sources = $$[QT_INSTALL_IMPORTS]/$$TARGETPATH/webkitqmlplugin.dll \ qmldir importFiles.path = $$QT_IMPORTS_BASE_DIR/$$TARGETPATH diff --git a/src/imports/widgets/widgets.pro b/src/imports/widgets/widgets.pro index cccd8b4..408f878 100644 --- a/src/imports/widgets/widgets.pro +++ b/src/imports/widgets/widgets.pro @@ -22,7 +22,7 @@ symbian:{ load(data_caging_paths) include($$QT_SOURCE_TREE/demos/symbianpkgrules.pri) - importFiles.sources = widgets.dll \ + importFiles.sources = $$[QT_INSTALL_IMPORTS]/$$TARGETPATH/widgets.dll \ qmldir importFiles.path = $$QT_IMPORTS_BASE_DIR/$$TARGETPATH -- cgit v0.12 From 56949fc36c30a84e716b66ac74f3a0a8de74cc8e Mon Sep 17 00:00:00 2001 From: Thomas Zander Date: Wed, 31 Mar 2010 14:08:09 +0200 Subject: Cleanup the deployment code Remove local defines and passing of a list while its never used, only define it where its actually used. --- qmake/generators/symbian/symbian_makefile.h | 3 +-- qmake/generators/symbian/symbiancommon.cpp | 3 ++- qmake/generators/symbian/symbiancommon.h | 2 +- qmake/generators/symbian/symmake.cpp | 7 +++---- qmake/generators/symbian/symmake.h | 3 +-- 5 files changed, 8 insertions(+), 10 deletions(-) diff --git a/qmake/generators/symbian/symbian_makefile.h b/qmake/generators/symbian/symbian_makefile.h index f9d3c24..797a602 100644 --- a/qmake/generators/symbian/symbian_makefile.h +++ b/qmake/generators/symbian/symbian_makefile.h @@ -66,7 +66,6 @@ public: // Generate pkg files if there are any actual files to deploy bool generatePkg = false; - DeploymentList depList; if (targetType == TypeExe) { generatePkg = true; @@ -80,7 +79,7 @@ public: } if (generatePkg) { - generatePkgFile(iconFile, depList, false); + generatePkgFile(iconFile, false); } // Get the application translations and convert to symbian OS lang code, i.e. decical number diff --git a/qmake/generators/symbian/symbiancommon.cpp b/qmake/generators/symbian/symbiancommon.cpp index 54b60be..10889c4 100644 --- a/qmake/generators/symbian/symbiancommon.cpp +++ b/qmake/generators/symbian/symbiancommon.cpp @@ -142,7 +142,7 @@ void SymbianCommonGenerator::removeEpocSpecialCharacters(QString& str) removeSpecialCharacters(str); } -void SymbianCommonGenerator::generatePkgFile(const QString &iconFile, DeploymentList &depList, bool epocBuild) +void SymbianCommonGenerator::generatePkgFile(const QString &iconFile, bool epocBuild) { QMakeProject *project = generator->project; QString pkgTarget = project->first("QMAKE_ORIG_TARGET"); @@ -361,6 +361,7 @@ void SymbianCommonGenerator::generatePkgFile(const QString &iconFile, Deployment QString remoteTestPath; remoteTestPath = QString("!:\\private\\%1").arg(privateDirUid); + DeploymentList depList; initProjectDeploySymbian(project, depList, remoteTestPath, true, epocBuild, "$(PLATFORM)", "$(TARGET)", generatedDirs, generatedFiles); if (depList.size()) t << "; DEPLOYMENT" << endl; diff --git a/qmake/generators/symbian/symbiancommon.h b/qmake/generators/symbian/symbiancommon.h index e2b1173..3efe5a4 100644 --- a/qmake/generators/symbian/symbiancommon.h +++ b/qmake/generators/symbian/symbiancommon.h @@ -68,7 +68,7 @@ protected: QString removePathSeparators(QString &file); void removeSpecialCharacters(QString& str); void removeEpocSpecialCharacters(QString& str); - void generatePkgFile(const QString &iconFile, DeploymentList &depList, bool epocBuild); + void generatePkgFile(const QString &iconFile, bool epocBuild); bool containsStartWithItem(const QChar &c, const QStringList& src); void writeRegRssFile(QMap &useritems); diff --git a/qmake/generators/symbian/symmake.cpp b/qmake/generators/symbian/symmake.cpp index 0fcd26d..e05ced2 100644 --- a/qmake/generators/symbian/symmake.cpp +++ b/qmake/generators/symbian/symmake.cpp @@ -187,7 +187,6 @@ bool SymbianMakefileGenerator::writeMakefile(QTextStream &t) // Generate pkg files if there are any actual files to deploy bool generatePkg = false; - DeploymentList depList; if (targetType == TypeExe) { generatePkg = true; @@ -201,10 +200,10 @@ bool SymbianMakefileGenerator::writeMakefile(QTextStream &t) } if (generatePkg) { - generatePkgFile(iconFile, depList, true); + generatePkgFile(iconFile, true); } - writeBldInfContent(t, generatePkg, iconFile, depList); + writeBldInfContent(t, generatePkg, iconFile); // Generate empty wrapper makefile here, because wrapper makefile must exist before writeMkFile, // but all required data is not yet available. @@ -948,7 +947,7 @@ void SymbianMakefileGenerator::writeMmpFileRulesPart(QTextStream& t) } } -void SymbianMakefileGenerator::writeBldInfContent(QTextStream &t, bool addDeploymentExtension, const QString &iconFile, DeploymentList &depList) +void SymbianMakefileGenerator::writeBldInfContent(QTextStream &t, bool addDeploymentExtension, const QString &iconFile) { // Read user defined bld inf rules diff --git a/qmake/generators/symbian/symmake.h b/qmake/generators/symbian/symmake.h index d9ca390..b06ff5b 100644 --- a/qmake/generators/symbian/symmake.h +++ b/qmake/generators/symbian/symmake.h @@ -90,8 +90,7 @@ protected: void writeHeader(QTextStream &t); void writeBldInfContent(QTextStream& t, bool addDeploymentExtension, - const QString &iconFile, - DeploymentList &depList); + const QString &iconFile); static bool removeDuplicatedStrings(QStringList& stringList); -- cgit v0.12 From 8c186194030df820ac67a5793f2dbf5df268a25a Mon Sep 17 00:00:00 2001 From: Shane Kearns Date: Wed, 31 Mar 2010 15:35:14 +0100 Subject: Fix broken test case Symbian and WinCE don't have . and .. directory entries. Other test cases in this autotest make allowance for this, so I have done the same thing for the updateFileLists test case. Reviewed-by: mread --- tests/auto/qdir/tst_qdir.cpp | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/tests/auto/qdir/tst_qdir.cpp b/tests/auto/qdir/tst_qdir.cpp index ba18bbb..c8c835f 100644 --- a/tests/auto/qdir/tst_qdir.cpp +++ b/tests/auto/qdir/tst_qdir.cpp @@ -1470,9 +1470,16 @@ void tst_QDir::updateFileLists() QDir dir("update-file-lists"); +#if defined(Q_OS_SYMBIAN) || defined(Q_OS_WINCE) + //no . and .. on these OS. + QCOMPARE(dir.count(), uint(4)); + QCOMPARE(dir.entryList().size(), 4); + QCOMPARE(dir.entryInfoList().size(), 4); +#else QCOMPARE(dir.count(), uint(6)); QCOMPARE(dir.entryList().size(), 6); QCOMPARE(dir.entryInfoList().size(), 6); +#endif dir.setFilter(QDir::AllEntries | QDir::NoDotAndDotDot); -- cgit v0.12 From 152c6f2deeaa4caa384561c0d865d13b50d44a42 Mon Sep 17 00:00:00 2001 From: Shane Kearns Date: Wed, 31 Mar 2010 16:16:41 +0100 Subject: Fix regression on Symbian commit c43400792b637c744ca840a4ecb339ffdb27c604 made "x:/" a root directory only on windows. It should be a root on symbian too. Reviewed-by: mread --- src/corelib/io/qdir.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/corelib/io/qdir.cpp b/src/corelib/io/qdir.cpp index 1b60936..e54d95e 100644 --- a/src/corelib/io/qdir.cpp +++ b/src/corelib/io/qdir.cpp @@ -2125,7 +2125,7 @@ QString QDir::cleanPath(const QString &path) QString ret = (used == len ? name : QString(out, used)); // Strip away last slash except for root directories if (ret.length() > 1 && ret.endsWith(QLatin1Char('/'))) { -#ifdef Q_OS_WIN +#if defined (Q_OS_WIN) || defined (Q_OS_SYMBIAN) if (!(ret.length() == 3 && ret.at(1) == QLatin1Char(':'))) #endif ret.chop(1); -- cgit v0.12 From d5e6111c62bc4437243fb1d6389e3af180f623d7 Mon Sep 17 00:00:00 2001 From: Alexis Menard Date: Thu, 1 Apr 2010 01:43:20 +0200 Subject: Attempt to fix the test. Reviewed-by:TrustMe --- tests/auto/qgraphicsitem/tst_qgraphicsitem.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tests/auto/qgraphicsitem/tst_qgraphicsitem.cpp b/tests/auto/qgraphicsitem/tst_qgraphicsitem.cpp index 3d86c48..9229c7c 100644 --- a/tests/auto/qgraphicsitem/tst_qgraphicsitem.cpp +++ b/tests/auto/qgraphicsitem/tst_qgraphicsitem.cpp @@ -10054,9 +10054,9 @@ void tst_QGraphicsItem::updateMicroFocus() QTRY_COMPARE(QApplication::activeWindow(), static_cast(&parent)); input.doUpdateMicroFocus(); QApplication::processEvents(); - QCOMPARE(ic.nbUpdates, 1); + QTRY_COMPARE(ic.nbUpdates, 1); //No update since view2 does not have the focus. - QCOMPARE(ic2.nbUpdates, 0); + QTRY_COMPARE(ic2.nbUpdates, 0); } void tst_QGraphicsItem::QTBUG_5418_textItemSetDefaultColor() -- cgit v0.12 From c6bf3c14c4900f710789f634ccd91e0ee097da9f Mon Sep 17 00:00:00 2001 From: Joona Petrell Date: Thu, 1 Apr 2010 12:33:10 +1000 Subject: Renamed widgets example to proxywidgets to avoid conflicts Task-number: QTBUG-9518 Reviewed-by: Martin Jones --- examples/declarative/declarative.pro | 2 +- .../declarative/proxywidgets/ProxyWidgets/qmldir | 1 + examples/declarative/proxywidgets/README | 4 + examples/declarative/proxywidgets/proxywidgets.cpp | 99 ++++++++++++++++++++++ examples/declarative/proxywidgets/proxywidgets.pro | 22 +++++ examples/declarative/proxywidgets/proxywidgets.qml | 53 ++++++++++++ examples/declarative/widgets/MyWidgets/qmldir | 1 - examples/declarative/widgets/README | 4 - examples/declarative/widgets/mywidgets.cpp | 99 ---------------------- examples/declarative/widgets/mywidgets.pro | 19 ----- examples/declarative/widgets/mywidgets.qml | 53 ------------ 11 files changed, 180 insertions(+), 177 deletions(-) create mode 100644 examples/declarative/proxywidgets/ProxyWidgets/qmldir create mode 100644 examples/declarative/proxywidgets/README create mode 100644 examples/declarative/proxywidgets/proxywidgets.cpp create mode 100644 examples/declarative/proxywidgets/proxywidgets.pro create mode 100644 examples/declarative/proxywidgets/proxywidgets.qml delete mode 100644 examples/declarative/widgets/MyWidgets/qmldir delete mode 100644 examples/declarative/widgets/README delete mode 100644 examples/declarative/widgets/mywidgets.cpp delete mode 100644 examples/declarative/widgets/mywidgets.pro delete mode 100644 examples/declarative/widgets/mywidgets.qml diff --git a/examples/declarative/declarative.pro b/examples/declarative/declarative.pro index 5fc1cf0..00d3c05 100644 --- a/examples/declarative/declarative.pro +++ b/examples/declarative/declarative.pro @@ -6,7 +6,7 @@ SUBDIRS = \ imageprovider \ objectlistmodel \ plugins \ - widgets + proxywidgets # These examples contain no C++ and can simply be copied sources.files = \ diff --git a/examples/declarative/proxywidgets/ProxyWidgets/qmldir b/examples/declarative/proxywidgets/ProxyWidgets/qmldir new file mode 100644 index 0000000..e55267c --- /dev/null +++ b/examples/declarative/proxywidgets/ProxyWidgets/qmldir @@ -0,0 +1 @@ +plugin proxywidgetsplugin diff --git a/examples/declarative/proxywidgets/README b/examples/declarative/proxywidgets/README new file mode 100644 index 0000000..f50fa22 --- /dev/null +++ b/examples/declarative/proxywidgets/README @@ -0,0 +1,4 @@ +To run: + + make install + qml proxywidgets.qml diff --git a/examples/declarative/proxywidgets/proxywidgets.cpp b/examples/declarative/proxywidgets/proxywidgets.cpp new file mode 100644 index 0000000..47d0cb9 --- /dev/null +++ b/examples/declarative/proxywidgets/proxywidgets.cpp @@ -0,0 +1,99 @@ +/**************************************************************************** +** +** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies). +** All rights reserved. +** Contact: Nokia Corporation (qt-info@nokia.com) +** +** This file is part of the examples of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE: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 +#include +#include +#include +#include + +class MyPushButton : public QGraphicsProxyWidget +{ + Q_OBJECT + Q_PROPERTY(QString text READ text WRITE setText NOTIFY textChanged) + +public: + MyPushButton(QGraphicsItem* parent = 0) + : QGraphicsProxyWidget(parent) + { + widget = new QPushButton("MyPushButton"); + widget->setAttribute(Qt::WA_NoSystemBackground); + setWidget(widget); + + QObject::connect(widget, SIGNAL(clicked(bool)), this, SIGNAL(clicked(bool))); + } + + QString text() const + { + return widget->text(); + } + + void setText(const QString& text) + { + if (text != widget->text()) { + widget->setText(text); + emit textChanged(); + } + } + +Q_SIGNALS: + void clicked(bool); + void textChanged(); + +private: + QPushButton *widget; +}; + +class ProxyWidgetsPlugin : public QDeclarativeExtensionPlugin +{ + Q_OBJECT +public: + void registerTypes(const char *uri) + { + qmlRegisterType(uri, 1, 0, "MyPushButton"); + } +}; + +#include "proxywidgets.moc" + +QML_DECLARE_TYPE(MyPushButton) + +Q_EXPORT_PLUGIN2(proxywidgetsplugin, ProxyWidgetsPlugin); diff --git a/examples/declarative/proxywidgets/proxywidgets.pro b/examples/declarative/proxywidgets/proxywidgets.pro new file mode 100644 index 0000000..eb85191 --- /dev/null +++ b/examples/declarative/proxywidgets/proxywidgets.pro @@ -0,0 +1,22 @@ +TEMPLATE = lib +DESTDIR = ProxyWidgets +TARGET = proxywidgetsplugin +CONFIG += qt plugin +QT += declarative +VERSION = 1.0.0 + +SOURCES += proxywidgets.cpp + +sources.files += proxywidgets.pro proxywidgets.cpp proxywidgets.qml + +sources.path += $$[QT_INSTALL_EXAMPLES]/declarative/plugins + +target.path += $$[QT_INSTALL_EXAMPLES]/declarative/plugins + +INSTALLS += sources target + +symbian: include($$QT_SOURCE_TREE/examples/symbianpkgrules.pri) + +symbian:{ + TARGET.EPOCALLOWDLLDATA = 1 +} \ No newline at end of file diff --git a/examples/declarative/proxywidgets/proxywidgets.qml b/examples/declarative/proxywidgets/proxywidgets.qml new file mode 100644 index 0000000..023de71 --- /dev/null +++ b/examples/declarative/proxywidgets/proxywidgets.qml @@ -0,0 +1,53 @@ +import Qt 4.6 +import "ProxyWidgets" 1.0 + +Rectangle { + id: window + width: 640; height: 480; color: palette.window + + property int margin: 30 + + SystemPalette { id: palette } + + MyPushButton { + id: button1; x: margin; y: margin; text: "Right"; onClicked: window.state = "right" + transformOriginPoint: Qt.point(width / 2, height / 2) + } + + MyPushButton { + id: button2; x: margin; y: margin + 30; text: "Bottom"; onClicked: window.state = "bottom" + transformOriginPoint: Qt.point(width / 2, height / 2) + } + + MyPushButton { + id: button3; x: margin; y: margin + 60; text: "Quit"; onClicked: Qt.quit() + transformOriginPoint: Qt.point(width / 2, height / 2) + } + + states: [ + State { + name: "right" + PropertyChanges { target: button1; x: window.width - width - margin; text: "Left"; onClicked: window.state = "" } + PropertyChanges { target: button2; x: window.width - width - margin } + PropertyChanges { target: button3; x: window.width - width - margin } + PropertyChanges { target: window; color: Qt.darker(palette.window) } + }, + State { + name: "bottom" + PropertyChanges { target: button1; y: window.height - height - margin; rotation: 180 } + PropertyChanges { + target: button2; x: button1.x + button1.width + 10; y: window.height - height - margin; rotation: 180 + text: "Top"; onClicked: window.state = "" + } + PropertyChanges { target: button3; x: button2.x + button2.width + 10; y: window.height - height - margin; rotation: 180 } + PropertyChanges { target: window; color: Qt.lighter(palette.window) } + } + ] + + transitions: Transition { + ParallelAnimation { + NumberAnimation { properties: "x,y,rotation"; duration: 600; easing.type: "OutQuad" } + ColorAnimation { target: window; duration: 600 } + } + } +} diff --git a/examples/declarative/widgets/MyWidgets/qmldir b/examples/declarative/widgets/MyWidgets/qmldir deleted file mode 100644 index dc1d10e..0000000 --- a/examples/declarative/widgets/MyWidgets/qmldir +++ /dev/null @@ -1 +0,0 @@ -plugin mywidgetsplugin diff --git a/examples/declarative/widgets/README b/examples/declarative/widgets/README deleted file mode 100644 index f85a1e8..0000000 --- a/examples/declarative/widgets/README +++ /dev/null @@ -1,4 +0,0 @@ -To run: - - make install - qml mywidgets.qml diff --git a/examples/declarative/widgets/mywidgets.cpp b/examples/declarative/widgets/mywidgets.cpp deleted file mode 100644 index e17240d..0000000 --- a/examples/declarative/widgets/mywidgets.cpp +++ /dev/null @@ -1,99 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies). -** All rights reserved. -** Contact: Nokia Corporation (qt-info@nokia.com) -** -** This file is part of the examples of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE: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 -#include -#include -#include -#include - -class MyPushButton : public QGraphicsProxyWidget -{ - Q_OBJECT - Q_PROPERTY(QString text READ text WRITE setText NOTIFY textChanged) - -public: - MyPushButton(QGraphicsItem* parent = 0) - : QGraphicsProxyWidget(parent) - { - widget = new QPushButton("MyPushButton"); - widget->setAttribute(Qt::WA_NoSystemBackground); - setWidget(widget); - - QObject::connect(widget, SIGNAL(clicked(bool)), this, SIGNAL(clicked(bool))); - } - - QString text() const - { - return widget->text(); - } - - void setText(const QString& text) - { - if (text != widget->text()) { - widget->setText(text); - emit textChanged(); - } - } - -Q_SIGNALS: - void clicked(bool); - void textChanged(); - -private: - QPushButton *widget; -}; - -class MyWidgetsPlugin : public QDeclarativeExtensionPlugin -{ - Q_OBJECT -public: - void registerTypes(const char *uri) - { - qmlRegisterType(uri, 1, 0, "MyPushButton"); - } -}; - -#include "mywidgets.moc" - -QML_DECLARE_TYPE(MyPushButton) - -Q_EXPORT_PLUGIN2(mywidgetsplugin, MyWidgetsPlugin); diff --git a/examples/declarative/widgets/mywidgets.pro b/examples/declarative/widgets/mywidgets.pro deleted file mode 100644 index 258edb1..0000000 --- a/examples/declarative/widgets/mywidgets.pro +++ /dev/null @@ -1,19 +0,0 @@ -TEMPLATE = lib -DESTDIR = MyWidgets -TARGET = mywidgetsplugin -CONFIG += qt plugin -QT += declarative -VERSION = 1.0.0 - -SOURCES += mywidgets.cpp - -sources.files += mywidgets.pro mywidgets.cpp mywidgets.qml - -sources.path += $$[QT_INSTALL_EXAMPLES]/declarative/plugins - -target.path += $$[QT_INSTALL_EXAMPLES]/declarative/plugins - -INSTALLS += sources target - -symbian: include($$QT_SOURCE_TREE/examples/symbianpkgrules.pri) - diff --git a/examples/declarative/widgets/mywidgets.qml b/examples/declarative/widgets/mywidgets.qml deleted file mode 100644 index b1efed4..0000000 --- a/examples/declarative/widgets/mywidgets.qml +++ /dev/null @@ -1,53 +0,0 @@ -import Qt 4.6 -import "MyWidgets" 1.0 - -Rectangle { - id: window - width: 640; height: 480; color: palette.window - - property int margin: 30 - - SystemPalette { id: palette } - - MyPushButton { - id: button1; x: margin; y: margin; text: "Right"; onClicked: window.state = "right" - transformOriginPoint: Qt.point(width / 2, height / 2) - } - - MyPushButton { - id: button2; x: margin; y: margin + 30; text: "Bottom"; onClicked: window.state = "bottom" - transformOriginPoint: Qt.point(width / 2, height / 2) - } - - MyPushButton { - id: button3; x: margin; y: margin + 60; text: "Quit"; onClicked: Qt.quit() - transformOriginPoint: Qt.point(width / 2, height / 2) - } - - states: [ - State { - name: "right" - PropertyChanges { target: button1; x: window.width - width - margin; text: "Left"; onClicked: window.state = "" } - PropertyChanges { target: button2; x: window.width - width - margin } - PropertyChanges { target: button3; x: window.width - width - margin } - PropertyChanges { target: window; color: Qt.darker(palette.window) } - }, - State { - name: "bottom" - PropertyChanges { target: button1; y: window.height - height - margin; rotation: 180 } - PropertyChanges { - target: button2; x: button1.x + button1.width + 10; y: window.height - height - margin; rotation: 180 - text: "Top"; onClicked: window.state = "" - } - PropertyChanges { target: button3; x: button2.x + button2.width + 10; y: window.height - height - margin; rotation: 180 } - PropertyChanges { target: window; color: Qt.lighter(palette.window) } - } - ] - - transitions: Transition { - ParallelAnimation { - NumberAnimation { properties: "x,y,rotation"; duration: 600; easing.type: "OutQuad" } - ColorAnimation { target: window; duration: 600 } - } - } -} -- cgit v0.12 From 5631e6311e068670781f0d6804cbfbc2d929b367 Mon Sep 17 00:00:00 2001 From: Joona Petrell Date: Thu, 1 Apr 2010 12:36:59 +1000 Subject: Fix compilation on Symbian winscw Task-number: Reviewed-by: Aaron Kennedy --- src/declarative/graphicsitems/qdeclarativeanchors.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/declarative/graphicsitems/qdeclarativeanchors.cpp b/src/declarative/graphicsitems/qdeclarativeanchors.cpp index dc1f09d..ffcedda 100644 --- a/src/declarative/graphicsitems/qdeclarativeanchors.cpp +++ b/src/declarative/graphicsitems/qdeclarativeanchors.cpp @@ -1059,7 +1059,7 @@ bool QDeclarativeAnchorsPrivate::checkVAnchorValid(QDeclarativeAnchorLine anchor return true; } -#include - QT_END_NAMESPACE +#include + -- cgit v0.12 From c8e5d788936059254e81377e6318ee9e975c1040 Mon Sep 17 00:00:00 2001 From: Joona Petrell Date: Thu, 1 Apr 2010 12:40:48 +1000 Subject: Fix plugin example compilation on Symbian arm Task-number: QTBUG-9520 Reviewed-by: Martin Jones --- examples/declarative/plugins/plugin.cpp | 18 +++++++----------- examples/declarative/plugins/plugins.pro | 7 ++++++- 2 files changed, 13 insertions(+), 12 deletions(-) diff --git a/examples/declarative/plugins/plugin.cpp b/examples/declarative/plugins/plugin.cpp index 741f68a..fb51b0c 100644 --- a/examples/declarative/plugins/plugin.cpp +++ b/examples/declarative/plugins/plugin.cpp @@ -46,7 +46,7 @@ #include #include -// Implements a "Time" class with hour and minute properties +// Implements a "TimeModel" class with hour and minute properties // that change on-the-minute yet efficiently sleep the rest // of the time. @@ -97,14 +97,14 @@ private: QBasicTimer timer; }; -class Time : public QObject +class TimeModel : public QObject { Q_OBJECT Q_PROPERTY(int hour READ hour NOTIFY timeChanged) Q_PROPERTY(int minute READ minute NOTIFY timeChanged) public: - Time(QObject *parent=0) : QObject(parent) + TimeModel(QObject *parent=0) : QObject(parent) { if (++instances == 1) { if (!timer) @@ -114,7 +114,7 @@ public: } } - ~Time() + ~TimeModel() { if (--instances == 0) { timer->stop(); @@ -133,12 +133,8 @@ private: static int instances; }; -int Time::instances=0; -MinuteTimer *Time::timer=0; - - -QML_DECLARE_TYPE(Time); - +int TimeModel::instances=0; +MinuteTimer *TimeModel::timer=0; class QExampleQmlPlugin : public QDeclarativeExtensionPlugin { @@ -147,7 +143,7 @@ public: void registerTypes(const char *uri) { Q_ASSERT(uri == QLatin1String("com.nokia.TimeExample")); - qmlRegisterType