summaryrefslogtreecommitdiffstats
path: root/src/gui/kernel
diff options
context:
space:
mode:
authorJani Hautakangas <jani.hautakangas@nokia.com>2011-05-10 08:08:59 (GMT)
committerJani Hautakangas <jani.hautakangas@nokia.com>2011-05-10 10:14:19 (GMT)
commitae245c770449f3cc8629d9d9836ef9c03486b852 (patch)
treecfec5a38f9d2a23b0f598225dce86f62ed870b4c /src/gui/kernel
parent0ec06f76484d64676bcd8b981b54593cdb8b539e (diff)
downloadQt-ae245c770449f3cc8629d9d9836ef9c03486b852.zip
Qt-ae245c770449f3cc8629d9d9836ef9c03486b852.tar.gz
Qt-ae245c770449f3cc8629d9d9836ef9c03486b852.tar.bz2
Introduce platform extension to QGraphicsSystem
Qt on Symbian needs some special capabilities to be able to work on 32MB GPU. This patch introduces some Symbian specific functions to QGraphicsSystem Task-number: QTBUG-17882 Reviewed-by: Laszlo Agocs
Diffstat (limited to 'src/gui/kernel')
-rw-r--r--src/gui/kernel/qwidget_p.h1
-rw-r--r--src/gui/kernel/qwidget_s60.cpp4
2 files changed, 4 insertions, 1 deletions
diff --git a/src/gui/kernel/qwidget_p.h b/src/gui/kernel/qwidget_p.h
index c9dba29..7bf65f6 100644
--- a/src/gui/kernel/qwidget_p.h
+++ b/src/gui/kernel/qwidget_p.h
@@ -227,6 +227,7 @@ struct QTLWExtra {
#elif defined(Q_OS_SYMBIAN)
uint inExpose : 1; // Prevents drawing recursion
uint nativeWindowTransparencyEnabled : 1; // Tracks native window transparency
+ uint forcedToRaster : 1;
#endif
};
diff --git a/src/gui/kernel/qwidget_s60.cpp b/src/gui/kernel/qwidget_s60.cpp
index a5d8f9f..1dd1477 100644
--- a/src/gui/kernel/qwidget_s60.cpp
+++ b/src/gui/kernel/qwidget_s60.cpp
@@ -825,7 +825,8 @@ void QWidgetPrivate::s60UpdateIsOpaque()
RWindow *const window = static_cast<RWindow *>(q->effectiveWinId()->DrawableWindow());
#ifdef Q_SYMBIAN_SEMITRANSPARENT_BG_SURFACE
- if (QApplicationPrivate::instance()->useTranslucentEGLSurfaces) {
+ if (QApplicationPrivate::instance()->useTranslucentEGLSurfaces
+ && !extra->topextra->forcedToRaster) {
window->SetSurfaceTransparency(!isOpaque);
extra->topextra->nativeWindowTransparencyEnabled = !isOpaque;
return;
@@ -1009,6 +1010,7 @@ void QWidgetPrivate::createTLSysExtra()
{
extra->topextra->inExpose = 0;
extra->topextra->nativeWindowTransparencyEnabled = 0;
+ extra->topextra->forcedToRaster = 0;
}
void QWidgetPrivate::deleteTLSysExtra()