**
****************************************************************************/
- #include <QtWidgets/QApplication>
- #include <QtQuick1/QDeclarativeView>
-#include <QtGui/QApplication>
++#include <QtGui/QGuiApplication>
+ #include <qsgview.h>
#include <QtDeclarative/QDeclarativeContext>
#include <QtDeclarative/QDeclarativeEngine>
int main(int argc, char *argv[])
{
-- QApplication app(argc, argv);
- QDeclarativeView canvas;
-
++ QGuiApplication app(argc, argv);
+ QSGView canvas;
+
qmlRegisterType<TileData>();
MinehuntGame* game = new MinehuntGame();
-
- #ifdef Q_OS_SYMBIAN
- canvas.setResizeMode(QDeclarativeView::SizeRootObjectToView);
- #endif
- canvas.engine()->rootContext()->setContextObject(game);
+
+ canvas.setResizeMode(QSGView::SizeRootObjectToView);
+ canvas.engine()->rootContext()->setContextObject(game);
canvas.setSource(QString("qrc:minehunt.qml"));
QObject::connect(canvas.engine(), SIGNAL(quit()), &app, SLOT(quit()));
-
- #ifdef Q_OS_SYMBIAN
- canvas.showFullScreen();
- #else
- canvas.setGeometry(QRect(100, 100, 450, 450));
+
canvas.show();
- #endif
return app.exec();
}
#include "qsgcontext2d_p_p.h"
#include "private/qsgadaptationlayer_p.h"
#include "qsgcanvasitem_p.h"
-#include <QtOpenGL/qglframebufferobject.h>
+#include <QtGui/qopenglframebufferobject.h>
#include <QtCore/qdebug.h>
#include "private/qsgcontext_p.h"
+ #include "private/qdeclarativesvgparser_p.h"
-#include <QtGui/qgraphicsitem.h>
-#include <QtGui/qapplication.h>
-#include <QtGui/qgraphicseffect.h>
+#include <QtGui/qguiapplication.h>
#include <qdeclarativeinfo.h>
#include <QtCore/qmath.h>
#include "qdeclarativepixmapcache_p.h"
}
}
-// Note, this is exported but in a private header as qtopengl depends on it.
-// But it really should be considered private API
-void qt_blurImage(QPainter *p, QImage &blurImage, qreal radius, bool quality, bool alphaOnly, int transposed = 0);
-void qt_blurImage(QImage &blurImage, qreal radius, bool quality, int transposed = 0);
+static bool parsePathDataFast(const QString &dataStr, QPainterPath &path);
++
#define DEGREES(t) ((t) * 180.0 / Q_PI)
#define qClamp(val, min, max) qMin(qMax(val, min), max)
}
}
-void QSGFlickablePrivate::handleMousePressEvent(QGraphicsSceneMouseEvent *event)
+ bool QSGFlickable::pixelAligned() const
+ {
+ Q_D(const QSGFlickable);
+ return d->pixelAligned;
+ }
+
+ void QSGFlickable::setPixelAligned(bool align)
+ {
+ Q_D(QSGFlickable);
+ if (align != d->pixelAligned) {
+ d->pixelAligned = align;
+ emit pixelAlignedChanged();
+ }
+ }
+
+void QSGFlickablePrivate::handleMousePressEvent(QMouseEvent *event)
{
Q_Q(QSGFlickable);
if (interactive && timeline.isActive()
qmlRegisterType<QDeclarativePathLine>(uri,major,minor,"PathLine");
qmlRegisterType<QDeclarativePathPercent>(uri,major,minor,"PathPercent");
qmlRegisterType<QDeclarativePathQuad>(uri,major,minor,"PathQuad");
+ qmlRegisterType<QDeclarativePathCatmullRomCurve>("QtQuick",2,0,"PathCurve");
+ qmlRegisterType<QDeclarativePathArc>("QtQuick",2,0,"PathArc");
+ qmlRegisterType<QDeclarativePathSvg>("QtQuick",2,0,"PathSvg");
qmlRegisterType<QSGPathView>(uri,major,minor,"PathView");
- qmlRegisterUncreatableType<QSGBasePositioner>(uri,major,minor,"Positioner","Positioner is an abstract type that is only available as an attached property.");
+ qmlRegisterUncreatableType<QSGBasePositioner>(uri,major,minor,"Positioner",
+ QStringLiteral("Positioner is an abstract type that is only available as an attached property."));
#ifndef QT_NO_VALIDATOR
qmlRegisterType<QIntValidator>(uri,major,minor,"IntValidator");
qmlRegisterType<QDoubleValidator>(uri,major,minor,"DoubleValidator");
if (hAlignImplicit) {
// if no explicit alignment has been set, follow the natural layout direction of the text
QString text = control->text();
- bool isRightToLeft = text.isEmpty()
- ? QApplication::keyboardInputDirection() == Qt::RightToLeft
- : text.isRightToLeft();
+ if (text.isEmpty())
+ text = control->preeditAreaText();
+ bool isRightToLeft = text.isEmpty() ? QGuiApplication::keyboardInputDirection() == Qt::RightToLeft : text.isRightToLeft();
return setHAlign(isRightToLeft ? QSGTextInput::AlignRight : QSGTextInput::AlignLeft);
}
return false;
{
if (!m_rootNode)
return;
+ const QByteArray timestampName("qt_Timestamp");
QVector<QPair<QByteArray, QVariant> > values;
- QVector<QPair<QByteArray, QPointer<QSGItem> > > textures;
- const QVector<QPair<QByteArray, QPointer<QSGItem> > > &oldTextures = m_material.textureProviders();
+ QVector<QPair<QByteArray, QSGTextureProvider *> > textures;
+ const QVector<QPair<QByteArray, QSGTextureProvider *> > &oldTextures = m_material->textureProviders();
for (int i = 0; i < oldTextures.size(); ++i) {
- QSGTextureProvider *oldSource = QSGTextureProvider::from(oldTextures.at(i).second);
- if (oldSource && oldSource->textureChangedSignal())
+ QSGTextureProvider *t = oldTextures.at(i).second;
+ if (t)
foreach (QSGShaderEffectNode* node, m_nodes)
- disconnect(oldTextures.at(i).second, oldSource->textureChangedSignal(), node, SLOT(markDirtyTexture()));
+ disconnect(t, SIGNAL(textureChanged()), node, SLOT(markDirtyTexture()));
}
for (int i = 0; i < m_sources.size(); ++i) {
const SourceData &source = m_sources.at(i);
#ifndef ULTRAPARTICLE_H
#define ULTRAPARTICLE_H
#include "qsgparticlepainter_p.h"
- #include "qsgstochasticdirection_p.h"
+ #include "qsgdirection_p.h"
#include <QDeclarativeListProperty>
#include <qsgsimplematerial.h>
+#include <QtGui/qcolor.h>
QT_BEGIN_HEADER
#include <QtCore/qdatetime.h>
#include <QtCore/qurl.h>
-#include <QtGui/qgraphicssceneevent.h>
-#include <QtGui/qgraphicsview.h>
-#include <QtGui/qwidget.h>
+#include <QtWidgets/qgraphicssceneevent.h>
+#include <QtWidgets/qgraphicsview.h>
+#include <QtWidgets/qwidget.h>
+ #include <QtDeclarative/qdeclarativedebug.h>
QT_BEGIN_HEADER
QVERIFY(item3 != 0);
view->show();
- qApp->setActiveWindow(view);
+ view->requestActivateWindow();
+ qApp->processEvents();
- #ifdef Q_WS_X11
- // to be safe and avoid failing setFocus with window managers
- qt_x11_wait_for_window_manager(view);
- #endif
+ QTest::qWaitForWindowShown(view);
- QTRY_VERIFY(view->hasFocus());
+ QVERIFY(view->isTopLevel());
QVERIFY(item0->hasActiveFocus() == true);
QVERIFY(item1->hasActiveFocus() == true);
QVERIFY(item2->hasActiveFocus() == false);
QVERIFY(item5 != 0);
view->show();
- qApp->setActiveWindow(view);
+ view->requestActivateWindow();
+ qApp->processEvents();
- #ifdef Q_WS_X11
- // to be safe and avoid failing setFocus with window managers
- qt_x11_wait_for_window_manager(view);
- #endif
+ QTest::qWaitForWindowShown(view);
- QTRY_VERIFY(view->hasFocus());
+ QVERIFY(view->windowState() == Qt::WindowActive);
QVERIFY(item1->hasActiveFocus() == true);
QVERIFY(item2->hasActiveFocus() == true);
QVERIFY(item3 != 0);
view->show();
- qApp->setActiveWindow(view);
+ view->requestActivateWindow();
+ qApp->processEvents();
- #ifdef Q_WS_X11
- // to be safe and avoid failing setFocus with window managers
- qt_x11_wait_for_window_manager(view);
- #endif
+ QTest::qWaitForWindowShown(view);
- QTRY_VERIFY(view->hasFocus());
+ QVERIFY(view->windowState() == Qt::WindowActive);
QVERIFY(item0->hasActiveFocus() == false);
QVERIFY(item1->hasActiveFocus() == false);
QVERIFY(item2->hasActiveFocus() == false);
QVERIFY(item3 != 0);
view->show();
- qApp->setActiveWindow(view);
+ view->requestActivateWindow();
+ qApp->processEvents();
- #ifdef Q_WS_X11
- // to be safe and avoid failing setFocus with window managers
- qt_x11_wait_for_window_manager(view);
- #endif
+ QTest::qWaitForWindowShown(view);
- QTRY_VERIFY(view->hasFocus());
+ QVERIFY(view->windowState() == Qt::WindowActive);
QVERIFY(item0->hasActiveFocus() == true);
QVERIFY(item1->hasActiveFocus() == true);
QVERIFY(item2->hasActiveFocus() == false);
QVERIFY(item5 != 0);
view->show();
- qApp->setActiveWindow(view);
+ view->requestActivateWindow();
+ qApp->processEvents();
- #ifdef Q_WS_X11
- // to be safe and avoid failing setFocus with window managers
- qt_x11_wait_for_window_manager(view);
- #endif
+ QTest::qWaitForWindowShown(view);
- QTRY_VERIFY(view->hasFocus());
+ QVERIFY(view->windowState() == Qt::WindowActive);
QVERIFY(item0->hasActiveFocus() == true);
QVERIFY(item1->hasActiveFocus() == true);
QVERIFY(item2->hasActiveFocus() == false);
QVERIFY(item4 != 0);
view->show();
- qApp->setActiveWindow(view);
+ view->requestActivateWindow();
+ qApp->processEvents();
- #ifdef Q_WS_X11
- // to be safe and avoid failing setFocus with window managers
- qt_x11_wait_for_window_manager(view);
- #endif
+ QTest::qWaitForWindowShown(view);
QVariant blue(QColor("blue"));
QVariant red(QColor("red"));
view->show();
QVERIFY(view->rootObject());
- qApp->setActiveWindow(view);
+ view->requestActivateWindow();
+ qApp->processEvents();
- #ifdef Q_WS_X11
- // to be safe and avoid failing setFocus with window managers
- qt_x11_wait_for_window_manager(view);
- #endif
+ QTest::qWaitForWindowShown(view);
- QTRY_VERIFY(view->hasFocus());
+ QVERIFY(view->windowState() == Qt::WindowActive);
QVERIFY(view->rootObject()->property("noFocus").toBool());
view->rootObject()->setProperty("showRect", true);
QCOMPARE(item2->hasActiveFocus(), false);
view->show();
- qApp->setActiveWindow(view);
+ view->requestActivateWindow();
+ qApp->processEvents();
- #ifdef Q_WS_X11
- // to be safe and avoid failing setFocus with window managers
- qt_x11_wait_for_window_manager(view);
- #endif
+ QTest::qWaitForWindowShown(view);
// Now the canvas has focus, active focus given to item1
- QTRY_COMPARE(view->hasFocus(), true);
+ QTRY_COMPARE((view->windowState() == Qt::WindowActive), true);
QCOMPARE(rootItem->hasFocus(), true);
QCOMPARE(rootItem->hasActiveFocus(), true);
QCOMPARE(scope1->hasFocus(), true);
#include <QDir>
#include <QStyle>
#include <QInputContext>
-#include <private/qapplication_p.h>
+#include <QtWidgets/5.0.0/QtWidgets/private/qapplication_p.h>
+ #include "qplatformdefs.h"
+
#ifdef Q_OS_SYMBIAN
// In Symbian OS test data is located in applications private dir
#define SRCDIR "."