summaryrefslogtreecommitdiffstats
path: root/examples/qml-compositor/main.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'examples/qml-compositor/main.cpp')
-rw-r--r--examples/qml-compositor/main.cpp20
1 files changed, 8 insertions, 12 deletions
diff --git a/examples/qml-compositor/main.cpp b/examples/qml-compositor/main.cpp
index 066cfee..fdf27b3 100644
--- a/examples/qml-compositor/main.cpp
+++ b/examples/qml-compositor/main.cpp
@@ -57,14 +57,13 @@ class QmlCompositor : public QSGView, public WaylandCompositor
{
Q_OBJECT
public:
- QmlCompositor() : WaylandCompositor(this) {
- setMouseTracking(true);
+ QmlCompositor() : WaylandCompositor(this, const_cast<QOpenGLContext *>(QOpenGLContext::currentContext())) {
+ //setMouseTracking(true);
setSource(QUrl(QLatin1String("qrc:qml/QmlCompositor/main.qml")));
setResizeMode(QSGView::SizeRootObjectToView);
winId();
- if (platformWindow()) {
- platformWindow()->glContext();
- }
+
+ connect(this, SIGNAL(frameSwapped()), this, SLOT(frameSwappedSlot()));
}
signals:
@@ -103,17 +102,15 @@ private slots:
emit windowDestroyed(QVariant::fromValue(static_cast<QSGItem *>(item)));
}
+ void frameSwappedSlot() {
+ frameFinished();
+ }
+
protected:
void surfaceCreated(WaylandSurface *surface) {
connect(surface, SIGNAL(mapped(const QSize &)), this, SLOT(surfaceMapped(const QSize &)));
}
- void paintEvent(QPaintEvent *event) {
- QSGView::paintEvent(event);
- frameFinished();
- glFinish();
- }
-
private:
QMap<QObject *, WaylandSurfaceItem *> m_windowMap;
};
@@ -133,7 +130,6 @@ int main(int argc, char *argv[])
QObject::connect(&compositor, SIGNAL(windowResized(QVariant)), compositor.rootObject(), SLOT(windowResized(QVariant)));
return app.exec();
-
}
#include "main.moc"