summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/gui/kernel/qapplication_s60.cpp55
1 files changed, 29 insertions, 26 deletions
diff --git a/src/gui/kernel/qapplication_s60.cpp b/src/gui/kernel/qapplication_s60.cpp
index 9d21c6c..1a8017b 100644
--- a/src/gui/kernel/qapplication_s60.cpp
+++ b/src/gui/kernel/qapplication_s60.cpp
@@ -738,38 +738,41 @@ void QSymbianControl::Draw(const TRect& r) const
return;
if (engine->type() == QPaintEngine::Raster) {
- QS60WindowSurface *s60Surface = static_cast<QS60WindowSurface *>(qwidget->windowSurface());
- CFbsBitmap *bitmap = s60Surface->symbianBitmap();
+ if(qwidget->d_func()->extraData()->disableBlit) {
+
+ QS60WindowSurface *s60Surface = static_cast<QS60WindowSurface *>(qwidget->windowSurface());
+ CFbsBitmap *bitmap = s60Surface->symbianBitmap();
#ifdef DEBUG_QSYMBIANCONTROL
- const TDisplayMode displayMode = bitmap->DisplayMode();
- qDebug() << "QSymbianControl::Draw [" << this << "]"
- << "mode " << displayMode;
-
- const TUint32 *address = bitmap->DataAddress();
- const int bitmapWidth = bitmap->SizeInPixels().iWidth;
- const int bitmapHeight = bitmap->SizeInPixels().iHeight;
-
- for(int i=0; i<10 and i*10<bitmapWidth and i*10<bitmapHeight; ++i) {
- const int coord = i*10;
- const TUint32 *ptr = address + (coord * bitmapWidth) + coord;
- const TUint32 pixel = *ptr;
- qDebug() << " " << i*10 << " : " << ptr << pixel;
- }
+ const TDisplayMode displayMode = bitmap->DisplayMode();
+ qDebug() << "QSymbianControl::Draw [" << this << "]"
+ << "mode " << displayMode;
+
+ const TUint32 *address = bitmap->DataAddress();
+ const int bitmapWidth = bitmap->SizeInPixels().iWidth;
+ const int bitmapHeight = bitmap->SizeInPixels().iHeight;
+
+ for(int i=0; i<10 and i*10<bitmapWidth and i*10<bitmapHeight; ++i) {
+ const int coord = i*10;
+ const TUint32 *ptr = address + (coord * bitmapWidth) + coord;
+ const TUint32 pixel = *ptr;
+ qDebug() << " " << i*10 << " : " << ptr << pixel;
+ }
- for(int i=0; i<10 and i*10<bitmapWidth and i*10<bitmapHeight; ++i) {
- TRgb color;
- bitmap->GetPixel(color, TPoint(i*10, i*10));
- qDebug() << " " << i*10 << " : " << color.Red() << color.Green() << color.Blue() << color.Alpha();
- }
+ for(int i=0; i<10 and i*10<bitmapWidth and i*10<bitmapHeight; ++i) {
+ TRgb color;
+ bitmap->GetPixel(color, TPoint(i*10, i*10));
+ qDebug() << " " << i*10 << " : " << color.Red() << color.Green() << color.Blue() << color.Alpha();
+ }
#endif
- CWindowGc &gc = SystemGc();
- if (qwidget->d_func()->isOpaque)
- gc.SetDrawMode(CGraphicsContext::EDrawModeWriteAlpha);
-
- if(!qwidget->d_func()->extraData()->disableBlit)
+ CWindowGc &gc = SystemGc();
+ if (qwidget->d_func()->isOpaque)
+ gc.SetDrawMode(CGraphicsContext::EDrawModeWriteAlpha);
+ }
+ else
gc.BitBlt(r.iTl, bitmap, r);
+
} else {
surface->flush(qwidget, QRegion(qt_TRect2QRect(r)), QPoint());
}