Ignore:
Timestamp:
Aug 2, 2010, 9:27:30 PM (15 years ago)
Author:
Dmitry A. Kuminov
Message:

trunk: Merged in qt 4.6.3 sources from branches/vendor/nokia/qt.

Location:
trunk
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk

  • trunk/src/gui/painting/qwindowsurface_qws.cpp

    r651 r769  
    8181inline bool isWidgetOpaque(const QWidget *w)
    8282{
    83     return w->d_func()->isOpaque;
     83    return w->d_func()->isOpaque && !w->testAttribute(Qt::WA_TranslucentBackground);
    8484}
    8585
     
    874874}
    875875
     876// ### copied from qwindowsurface_raster.cpp -- should be cross-platform
     877void QWSMemorySurface::beginPaint(const QRegion &rgn)
     878{
     879    if (!isWidgetOpaque(window())) {
     880        QPainter p(&img);
     881        p.setCompositionMode(QPainter::CompositionMode_Source);
     882        const QVector<QRect> rects = rgn.rects();
     883        const QColor blank = Qt::transparent;
     884        for (QVector<QRect>::const_iterator it = rects.begin(); it != rects.end(); ++it) {
     885            p.fillRect(*it, blank);
     886        }
     887    }
     888    QWSWindowSurface::beginPaint(rgn);
     889}
     890
    876891// from qwindowsurface.cpp
    877892extern void qt_scrollRectInImage(QImage &img, const QRect &rect, const QPoint &offset);
Note: See TracChangeset for help on using the changeset viewer.