diff --git a/src/kernel/ntqpaintdevice.h b/src/kernel/ntqpaintdevice.h index 898f9178..68014152 100644 --- a/src/kernel/ntqpaintdevice.h +++ b/src/kernel/ntqpaintdevice.h @@ -204,7 +204,9 @@ public: PdcSaveWMatrix = 56, PdcRestoreWMatrix = 57, PdcSetClip = 60, // ival - PdcSetClipRegion = 61, // rgn + PdcSetClipRegion = 61, // rgn,cmode + PdcFlush = 62, // + PdcFlushRegion = 63, // rgn,cmode PdcReservedStart = 0, // codes 0-199 are reserved PdcReservedStop = 199 // for TQt diff --git a/src/kernel/qpainter_x11.cpp b/src/kernel/qpainter_x11.cpp index f057e7b1..dc3e9a4c 100644 --- a/src/kernel/qpainter_x11.cpp +++ b/src/kernel/qpainter_x11.cpp @@ -1264,8 +1264,16 @@ bool TQPainter::end() // end painting \sa flush() CoordinateMode */ -void TQPainter::flush(const TQRegion &, CoordinateMode) +void TQPainter::flush(const TQRegion &rgn, CoordinateMode m) { + if ( testf(ExtDev) ) { + TQPDevCmdParam param[2]; + param[0].rgn = &rgn; + param[1].ival = m; + pdev->cmd( TQPaintDevice::PdcFlushRegion, this, param ); + return; + } + flush(); } @@ -1278,6 +1286,11 @@ void TQPainter::flush(const TQRegion &, CoordinateMode) void TQPainter::flush() { + if ( testf(ExtDev) ) { + pdev->cmd( TQPaintDevice::PdcFlush, this, 0 ); + return; + } + if ( isActive() && dpy ) XFlush( dpy ); }