void QVGEGLWindowSurfaceDirect::endPaint (QWidget *widget, const QRegion& region, QImage *image) { Q_UNUSED(region); Q_UNUSED(image); QEglContext *context = ensureContext(widget); if (context) { if (needToSwap) { if (!isPaintingActive) context->makeCurrent(windowSurface); context->swapBuffers(windowSurface); context->lazyDoneCurrent(); } else if (isPaintingActive) { vgFlush(); context->lazyDoneCurrent(); } isPaintingActive = false; } }
void QVGEGLWindowSurfaceVGImage::endPaint (QWidget *widget, const QRegion& region, QImage *image) { Q_UNUSED(region); Q_UNUSED(image); QEglContext *context = ensureContext(widget); if (context) { if (backBufferSurface != EGL_NO_SURFACE) { if (isPaintingActive) vgFlush(); context->lazyDoneCurrent(); } isPaintingActive = false; } }
bool QVGEGLWindowSurfaceDirect::scroll(QWidget *widget, const QRegion& area, int dx, int dy) { #ifdef QVG_BUFFER_SCROLLING QEglContext *context = ensureContext(widget); if (context) { context->makeCurrent(windowSurface); QRect scrollRect = area.boundingRect(); int sx = scrollRect.x(); int sy = size.height() - scrollRect.y() - scrollRect.height(); vgSeti(VG_SCISSORING, VG_FALSE); vgCopyPixels(sx + dx, sy - dy, sx, sy, scrollRect.width(), scrollRect.height()); context->lazyDoneCurrent(); return true; } #endif return false; }