summaryrefslogtreecommitdiffstats
path: root/src/gui/painting/qwindowsurface_p.h
diff options
context:
space:
mode:
authorTom Cooksey <thomas.cooksey@nokia.com>2010-04-21 15:59:40 (GMT)
committerTom Cooksey <thomas.cooksey@nokia.com>2010-04-22 14:38:08 (GMT)
commit0c77187652b976c3b9a17e95311bda3e3d8a6fbe (patch)
treeb6df8fd0c7b0c16d3f504a41a0264f85389958b7 /src/gui/painting/qwindowsurface_p.h
parent1a00c7dec743c05b0f64bcacc03b3d2c90ac881d (diff)
downloadQt-0c77187652b976c3b9a17e95311bda3e3d8a6fbe.zip
Qt-0c77187652b976c3b9a17e95311bda3e3d8a6fbe.tar.gz
Qt-0c77187652b976c3b9a17e95311bda3e3d8a6fbe.tar.bz2
QX11GL: Cleanup the window surface & remove some synchronisation
Previously we were calling all manor of synchronisation calls to make sure there were no issues. These have been sanitised to just use eglWaitClient and eglWaitNative and only in places which need it. There is still a bug where small updates will sometimes result in small horizontal streaks. However, this has been confirmed to be a cache flush bug in the X server 2D driver. The driver bug is tracked in Meamo bugzilla as bug 164941. Hopefully it will be fixed soon. Reviewed-By: TrustMe
Diffstat (limited to 'src/gui/painting/qwindowsurface_p.h')
-rw-r--r--src/gui/painting/qwindowsurface_p.h8
1 files changed, 6 insertions, 2 deletions
diff --git a/src/gui/painting/qwindowsurface_p.h b/src/gui/painting/qwindowsurface_p.h
index e6ee5f6..6171ae8 100644
--- a/src/gui/painting/qwindowsurface_p.h
+++ b/src/gui/painting/qwindowsurface_p.h
@@ -73,8 +73,12 @@ public:
QWidget *window() const;
virtual QPaintDevice *paintDevice() = 0;
- virtual void flush(QWidget *widget, const QRegion &region,
- const QPoint &offset) = 0;
+
+ // 'widget' can be a child widget, in which case 'region' is in child widget coordinates and
+ // offset is the (child) widget's offset in relation to the window surface. On QWS, 'offset'
+ // can be larger than just the offset from the top-level widget as there may also be window
+ // decorations which are painted into the window surface.
+ virtual void flush(QWidget *widget, const QRegion &region, const QPoint &offset) = 0;
virtual void setGeometry(const QRect &rect);
QRect geometry() const;