diff options
author | Timothy Pearson <kb9vqf@pearsoncomputing.net> | 2012-11-18 23:46:56 -0600 |
---|---|---|
committer | Timothy Pearson <kb9vqf@pearsoncomputing.net> | 2012-11-18 23:46:56 -0600 |
commit | b5d6591054de1d4f66280207023c43e9e191146c (patch) | |
tree | e9dd28d035aecbeac076c260c2a1fab9e6ba6b97 | |
parent | 13a971ccd957eb195fbc8237b0b16c28d9f56583 (diff) | |
download | qt3-b5d6591054de1d4f66280207023c43e9e191146c.tar.gz qt3-b5d6591054de1d4f66280207023c43e9e191146c.zip |
Add flush command to external painter command set
-rw-r--r-- | src/kernel/qpaintdevice.h | 4 | ||||
-rw-r--r-- | src/kernel/qpainter_x11.cpp | 15 |
2 files changed, 17 insertions, 2 deletions
diff --git a/src/kernel/qpaintdevice.h b/src/kernel/qpaintdevice.h index 75d7de1..1bec1b8 100644 --- a/src/kernel/qpaintdevice.h +++ b/src/kernel/qpaintdevice.h @@ -204,7 +204,9 @@ public: PdcSaveWMatrix = 56, PdcRestoreWMatrix = 57, PdcSetClip = 60, // ival - PdcSetClipRegion = 61, // rgn + PdcSetClipRegion = 61, // rgn,cmode + PdcFlush = 62, // <void> + PdcFlushRegion = 63, // rgn,cmode PdcReservedStart = 0, // codes 0-199 are reserved PdcReservedStop = 199 // for Qt diff --git a/src/kernel/qpainter_x11.cpp b/src/kernel/qpainter_x11.cpp index c1e4e07..2aea6bc 100644 --- a/src/kernel/qpainter_x11.cpp +++ b/src/kernel/qpainter_x11.cpp @@ -1264,8 +1264,16 @@ bool QPainter::end() // end painting \sa flush() CoordinateMode */ -void QPainter::flush(const QRegion &, CoordinateMode) +void QPainter::flush(const QRegion &rgn, CoordinateMode m) { + if ( testf(ExtDev) ) { + QPDevCmdParam param[2]; + param[0].rgn = &rgn; + param[1].ival = m; + pdev->cmd( QPaintDevice::PdcFlushRegion, this, param ); + return; + } + flush(); } @@ -1278,6 +1286,11 @@ void QPainter::flush(const QRegion &, CoordinateMode) void QPainter::flush() { + if ( testf(ExtDev) ) { + pdev->cmd( QPaintDevice::PdcFlush, this, 0 ); + return; + } + if ( isActive() && dpy ) XFlush( dpy ); } |