|
|
@ -159,6 +159,9 @@ void TQt3CairoPaintDevice::resetIntermediateSurface() {
|
|
|
|
// Cairo however does not allow the target surface of a context to be switched, effectively preventing
|
|
|
|
// Cairo however does not allow the target surface of a context to be switched, effectively preventing
|
|
|
|
// direct drawing with dynamic switching to and from the intermediate surface on clip or ROP set/unset
|
|
|
|
// direct drawing with dynamic switching to and from the intermediate surface on clip or ROP set/unset
|
|
|
|
// See upstream Cairo bug report https://bugs.freedesktop.org/show_bug.cgi?id=57289
|
|
|
|
// See upstream Cairo bug report https://bugs.freedesktop.org/show_bug.cgi?id=57289
|
|
|
|
|
|
|
|
// NOTE
|
|
|
|
|
|
|
|
// This has been worked around by applying the same transformations, saves, and restores to both the device and intermediate surface contexts
|
|
|
|
|
|
|
|
// If there is not much performance penalty from doing so, this method should probably be left alone
|
|
|
|
void TQt3CairoPaintDevice::transferIntermediateSurface() {
|
|
|
|
void TQt3CairoPaintDevice::transferIntermediateSurface() {
|
|
|
|
bool overlayMerge = true;
|
|
|
|
bool overlayMerge = true;
|
|
|
|
cairo_surface_flush(m_intermediateSurface);
|
|
|
|
cairo_surface_flush(m_intermediateSurface);
|
|
|
|