diff options
Diffstat (limited to 'src/gui/kernel/qapplication_s60.cpp')
-rw-r--r-- | src/gui/kernel/qapplication_s60.cpp | 17 |
1 files changed, 16 insertions, 1 deletions
diff --git a/src/gui/kernel/qapplication_s60.cpp b/src/gui/kernel/qapplication_s60.cpp index 3cb7ada..e3f3376 100644 --- a/src/gui/kernel/qapplication_s60.cpp +++ b/src/gui/kernel/qapplication_s60.cpp @@ -652,6 +652,7 @@ void QSymbianControl::Draw(const TRect& r) const 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) { @@ -664,7 +665,16 @@ void QSymbianControl::Draw(const TRect& r) const CWindowGc &gc = SystemGc(); if (qwidget->d_func()->isOpaque) gc.SetDrawMode(CGraphicsContext::EDrawModeWriteAlpha); - gc.BitBlt(r.iTl, bitmap, r); + + if(m_bitmap.data()) { + //gc.BitBlt(r.iTl, m_bitmap.data(), TRect(TPoint(), r.Size())); + + gc.SetBrushColor(TRgb(0, 0, 0, 0)); + gc.SetBrushStyle(CGraphicsContext::ESolidBrush); + gc.Clear(r); + } + else + gc.BitBlt(r.iTl, bitmap, r); } else { surface->flush(qwidget, QRegion(qt_TRect2QRect(r)), QPoint()); } @@ -699,6 +709,11 @@ void QSymbianControl::SizeChanged() if (!slowResize && tlwExtra) tlwExtra->inTopLevelResize = false; } + + if(m_bitmap.data()) { + m_bitmap->Resize(Size()); + fillBitmap(); + } } } |