extern Q_GUI_EXPORT QImage qt_gl_read_framebuffer(const QSize &size, bool alpha_format, bool include_alpha);
-void QSGCanvasRenderLoop::updateFocusItemTransform()
+void QSGCanvasPrivate::updateFocusItemTransform()
{
- QSGItem *focus = renderer->activeFocusItem();
+ Q_Q(QSGCanvas);
+ QSGItem *focus = q->activeFocusItem();
if (focus && qApp->inputPanel()->inputItem() == focus)
qApp->inputPanel()->setInputItemTransform(QSGItemPrivate::get(focus)->itemToCanvasTransform());
}
virtual void paint() {
if (animationRunning && animationDriver())
animationDriver()->advance();
- updateFocusItemTransform();
+ polishItems();
syncSceneGraph();
makeCurrent();
glViewport(0, 0, size.width(), size.height());
QSGItemPrivate::get(item)->polishScheduled = false;
item->updatePolish();
}
+ updateFocusItemTransform();
}
renderThreadAwakened = false;
polishItems();
- updateFocusItemTransform();
wake();
wait();
void notifyFocusChangesRecur(QSGItem **item, int remaining);
void updateInputMethodData();
+ void updateFocusItemTransform();
void dirtyItem(QSGItem *);
void cleanup(QSGNode *);
void renderSceneGraph(const QSize &size) { d->renderSceneGraph(size); }
void polishItems() { d->polishItems(); }
QAnimationDriver *animationDriver() const { return d->animationDriver; }
- void updateFocusItemTransform();
inline QOpenGLContext *glContext() const { return gl; }
void createGLContext();