void WidgetRenderer::paintEvent(QPaintEvent *) { DPTR_D(WidgetRenderer); d.painter->begin(this); //Widget painting can only begin as a result of a paintEvent handlePaintEvent(); if (d.painter->isActive()) d.painter->end(); }
void GLWidgetRenderer::paintGL() { DPTR_D(GLWidgetRenderer); /* we can mix gl and qpainter. * QPainter painter(this); * painter.beginNativePainting(); * gl functions... * painter.endNativePainting(); * swapBuffers(); */ handlePaintEvent(); swapBuffers(); if (d.painter && d.painter->isActive()) d.painter->end(); }
void OpenGLRendererBase::onPaintGL() { DPTR_D(OpenGLRendererBase); /* we can mix gl and qpainter. * QPainter painter(this); * painter.beginNativePainting(); * gl functions... * painter.endNativePainting(); * swapBuffers(); */ handlePaintEvent(); //context()->swapBuffers(this); if (d.painter && d.painter->isActive()) d.painter->end(); }
void GraphicsItemRenderer::paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget) { Q_UNUSED(option); Q_UNUSED(widget); DPTR_D(GraphicsItemRenderer); d.painter = painter; QPainterFilterContext *ctx = static_cast<QPainterFilterContext*>(d.filter_context); if (ctx) { ctx->painter = d.painter; } else { qWarning("FilterContext not available!"); } handlePaintEvent(); d.painter = 0; //painter may be not available outside this function ctx->painter = 0; }
void Direct2DRenderer::paintEvent(QPaintEvent *) { DPTR_D(Direct2DRenderer); if (!d.render_target) { qWarning("No render target!!!"); return; } //http://www.daimakuai.net/?page_id=1574 d.render_target->BeginDraw(); handlePaintEvent(); HRESULT hr = S_OK; { //if d2d factory is D2D1_FACTORY_TYPE_SINGLE_THREADED, we need to lock //QMutexLocker locker(&d.img_mutex); //Q_UNUSED(locker); hr = d.render_target->EndDraw(NULL, NULL); //TODO: why it need lock? otherwise crash } if (hr == D2DERR_RECREATE_TARGET) { d.recreateDeviceResource(); } }
QSGNode *QQuickItemRenderer::updatePaintNode(QSGNode *node, QQuickItem::UpdatePaintNodeData *data) { Q_UNUSED(data); DPTR_D(QQuickItemRenderer); if (d.frame_changed) { if (!node) { if (isOpenGL()) { node = new SGVideoNode(); } else { node = new QSGSimpleTextureNode(); } } } if (!node) { d.frame_changed = false; return 0; } d.node = node; handlePaintEvent(); d.node = 0; return node; }
void GLWidgetRenderer::paintGL() { //drawBackground(); //TODO: why this is always required? otherwise may flicker when aspect ratio changed(ubuntu 12.10) d_func().setupQuality(); handlePaintEvent(); }
void QuickFBORenderer::renderToFbo() { handlePaintEvent(); }
void XVRenderer::paintEvent(QPaintEvent *) { handlePaintEvent(); }