Changeset View
Changeset View
Standalone View
Standalone View
libkwineffects/kwineffectquickview.cpp
Show First 20 Lines • Show All 131 Lines • ▼ Show 20 Line(s) | 79 | { | |||
---|---|---|---|---|---|
132 | 132 | | |||
133 | QTimer *t = new QTimer(this); | 133 | QTimer *t = new QTimer(this); | ||
134 | t->setSingleShot(true); | 134 | t->setSingleShot(true); | ||
135 | t->setInterval(10); | 135 | t->setInterval(10); | ||
136 | 136 | | |||
137 | connect(t, &QTimer::timeout, this, &EffectQuickView::update); | 137 | connect(t, &QTimer::timeout, this, &EffectQuickView::update); | ||
138 | connect(d->m_renderControl, &QQuickRenderControl::renderRequested, t, [t]() { t->start(); }); | 138 | connect(d->m_renderControl, &QQuickRenderControl::renderRequested, t, [t]() { t->start(); }); | ||
139 | connect(d->m_renderControl, &QQuickRenderControl::sceneChanged, t, [t]() { t->start(); }); | 139 | connect(d->m_renderControl, &QQuickRenderControl::sceneChanged, t, [t]() { t->start(); }); | ||
140 | | ||||
141 | effects->makeOpenGLContextCurrent(); | ||||
140 | } | 142 | } | ||
141 | 143 | | |||
142 | EffectQuickView::~EffectQuickView() | 144 | EffectQuickView::~EffectQuickView() | ||
143 | { | 145 | { | ||
144 | if (d->m_glcontext) { | 146 | if (d->m_glcontext) { | ||
145 | d->m_glcontext->makeCurrent(d->m_offscreenSurface.data()); | 147 | d->m_glcontext->makeCurrent(d->m_offscreenSurface.data()); | ||
146 | d->m_renderControl->invalidate(); | 148 | d->m_renderControl->invalidate(); | ||
147 | d->m_glcontext->doneCurrent(); | 149 | d->m_glcontext->doneCurrent(); | ||
148 | } | 150 | } | ||
151 | effects->makeOpenGLContextCurrent(); | ||||
149 | } | 152 | } | ||
150 | 153 | | |||
151 | void EffectQuickView::update() | 154 | void EffectQuickView::update() | ||
152 | { | 155 | { | ||
153 | if (!d->m_visible) { | 156 | if (!d->m_visible) { | ||
154 | return; | 157 | return; | ||
155 | } | 158 | } | ||
156 | if (d->m_view->size().isEmpty()) { | 159 | if (d->m_view->size().isEmpty()) { | ||
▲ Show 20 Lines • Show All 178 Lines • ▼ Show 20 Line(s) | |||||
335 | { | 338 | { | ||
336 | if (m_glcontext) { | 339 | if (m_glcontext) { | ||
337 | m_glcontext->makeCurrent(m_offscreenSurface.data()); | 340 | m_glcontext->makeCurrent(m_offscreenSurface.data()); | ||
338 | m_view->releaseResources(); | 341 | m_view->releaseResources(); | ||
339 | m_glcontext->doneCurrent(); | 342 | m_glcontext->doneCurrent(); | ||
340 | } else { | 343 | } else { | ||
341 | m_view->releaseResources(); | 344 | m_view->releaseResources(); | ||
342 | } | 345 | } | ||
346 | effects->makeOpenGLContextCurrent(); | ||||
343 | } | 347 | } | ||
344 | 348 | | |||
345 | EffectQuickScene::EffectQuickScene(QObject *parent) | 349 | EffectQuickScene::EffectQuickScene(QObject *parent) | ||
346 | : EffectQuickView(parent) | 350 | : EffectQuickView(parent) | ||
347 | , d(new EffectQuickScene::Private) | 351 | , d(new EffectQuickScene::Private) | ||
348 | { | 352 | { | ||
353 | d->qmlObject = new KDeclarative::QmlObjectSharedEngine(this); | ||||
349 | } | 354 | } | ||
350 | 355 | | |||
351 | EffectQuickScene::EffectQuickScene(QObject *parent, EffectQuickView::ExportMode exportMode) | 356 | EffectQuickScene::EffectQuickScene(QObject *parent, EffectQuickView::ExportMode exportMode) | ||
352 | : EffectQuickView(parent, exportMode) | 357 | : EffectQuickView(parent, exportMode) | ||
353 | , d(new EffectQuickScene::Private) | 358 | , d(new EffectQuickScene::Private) | ||
354 | { | 359 | { | ||
360 | d->qmlObject = new KDeclarative::QmlObjectSharedEngine(this); | ||||
355 | } | 361 | } | ||
356 | 362 | | |||
357 | EffectQuickScene::~EffectQuickScene() | 363 | EffectQuickScene::~EffectQuickScene() | ||
358 | { | 364 | { | ||
359 | } | 365 | } | ||
360 | 366 | | |||
361 | void EffectQuickScene::setSource(const QUrl &source) | 367 | void EffectQuickScene::setSource(const QUrl &source) | ||
362 | { | 368 | { | ||
363 | if (!d->qmlObject) { | | |||
364 | d->qmlObject = new KDeclarative::QmlObjectSharedEngine(this); | | |||
365 | } | | |||
366 | d->qmlObject->setSource(source); | 369 | d->qmlObject->setSource(source); | ||
367 | 370 | | |||
368 | QQuickItem *item = rootItem(); | 371 | QQuickItem *item = rootItem(); | ||
369 | if (!item) { | 372 | if (!item) { | ||
370 | qCDebug(LIBKWINEFFECTS) << "Could not load effect quick view" << source; | 373 | qCDebug(LIBKWINEFFECTS) << "Could not load effect quick view" << source; | ||
371 | return; | 374 | return; | ||
372 | } | 375 | } | ||
373 | item->setParentItem(contentItem()); | 376 | item->setParentItem(contentItem()); | ||
Show All 16 Lines |