Changeset 651 for trunk/src/plugins/gfxdrivers/directfb
- Timestamp:
- Mar 8, 2010, 12:52:58 PM (15 years ago)
- Location:
- trunk
- Files:
-
- 16 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk
- Property svn:mergeinfo changed
/branches/vendor/nokia/qt/4.6.2 (added) merged: 650 /branches/vendor/nokia/qt/current merged: 649 /branches/vendor/nokia/qt/4.6.1 removed
- Property svn:mergeinfo changed
-
trunk/src/plugins/gfxdrivers/directfb/qdirectfbkeyboard.cpp
r561 r651 1 1 /**************************************************************************** 2 2 ** 3 ** Copyright (C) 20 09Nokia Corporation and/or its subsidiary(-ies).3 ** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies). 4 4 ** All rights reserved. 5 5 ** Contact: Nokia Corporation (qt-info@nokia.com) -
trunk/src/plugins/gfxdrivers/directfb/qdirectfbkeyboard.h
r561 r651 1 1 /**************************************************************************** 2 2 ** 3 ** Copyright (C) 20 09Nokia Corporation and/or its subsidiary(-ies).3 ** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies). 4 4 ** All rights reserved. 5 5 ** Contact: Nokia Corporation (qt-info@nokia.com) -
trunk/src/plugins/gfxdrivers/directfb/qdirectfbmouse.cpp
r561 r651 1 1 /**************************************************************************** 2 2 ** 3 ** Copyright (C) 20 09Nokia Corporation and/or its subsidiary(-ies).3 ** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies). 4 4 ** All rights reserved. 5 5 ** Contact: Nokia Corporation (qt-info@nokia.com) -
trunk/src/plugins/gfxdrivers/directfb/qdirectfbmouse.h
r561 r651 1 1 /**************************************************************************** 2 2 ** 3 ** Copyright (C) 20 09Nokia Corporation and/or its subsidiary(-ies).3 ** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies). 4 4 ** All rights reserved. 5 5 ** Contact: Nokia Corporation (qt-info@nokia.com) -
trunk/src/plugins/gfxdrivers/directfb/qdirectfbpaintdevice.cpp
r561 r651 1 1 /**************************************************************************** 2 2 ** 3 ** Copyright (C) 20 09Nokia Corporation and/or its subsidiary(-ies).3 ** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies). 4 4 ** All rights reserved. 5 5 ** Contact: Nokia Corporation (qt-info@nokia.com) -
trunk/src/plugins/gfxdrivers/directfb/qdirectfbpaintdevice.h
r561 r651 1 1 /**************************************************************************** 2 2 ** 3 ** Copyright (C) 20 09Nokia Corporation and/or its subsidiary(-ies).3 ** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies). 4 4 ** All rights reserved. 5 5 ** Contact: Nokia Corporation (qt-info@nokia.com) -
trunk/src/plugins/gfxdrivers/directfb/qdirectfbpaintengine.cpp
r561 r651 1 1 /**************************************************************************** 2 2 ** 3 ** Copyright (C) 20 09Nokia Corporation and/or its subsidiary(-ies).3 ** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies). 4 4 ** All rights reserved. 5 5 ** Contact: Nokia Corporation (qt-info@nokia.com) … … 104 104 void blit(const QRectF &dest, IDirectFBSurface *surface, const QRectF &src); 105 105 106 inline bool supportsStretchBlit() const; 107 106 108 inline void updateClip(); 107 109 virtual void systemStateChanged(); … … 527 529 if (!(d->compositionModeStatus & QDirectFBPaintEnginePrivate::PorterDuff_SupportedBlits) 528 530 || (d->transformationType & QDirectFBPaintEnginePrivate::Matrix_BlitsUnsupported) 529 || d->clipType == QDirectFBPaintEnginePrivate::ComplexClip 531 || (d->clipType == QDirectFBPaintEnginePrivate::ComplexClip) 532 || (!d->supportsStretchBlit() && state()->matrix.mapRect(r).size() != sr.size()) 530 533 #ifndef QT_DIRECTFB_IMAGECACHE 531 || QDirectFBScreen::getSurfacePixelFormat(image.format()) == DSPF_UNKNOWN534 || (QDirectFBScreen::getSurfacePixelFormat(image.format()) == DSPF_UNKNOWN) 532 535 #elif defined QT_NO_DIRECTFB_PREALLOCATED 533 || QDirectFBPaintEnginePrivate::cacheCost(image) > imageCache.maxCost()536 || (QDirectFBPaintEnginePrivate::cacheCost(image) > imageCache.maxCost()) 534 537 #endif 535 538 ) … … 574 577 QDirectFBPixmapData *dfbData = static_cast<QDirectFBPixmapData*>(data); 575 578 if (!(d->compositionModeStatus & QDirectFBPaintEnginePrivate::PorterDuff_SupportedBlits) 576 || (d->transformationType & QDirectFBPaintEnginePrivate::Matrix_BlitsUnsupported) 577 || d->clipType == QDirectFBPaintEnginePrivate::ComplexClip 578 || (state()->renderHints & QPainter::SmoothPixmapTransform 579 && state()->matrix.mapRect(r).size() != sr.size())) { 579 || (d->transformationType & QDirectFBPaintEnginePrivate::Matrix_BlitsUnsupported) 580 || (d->clipType == QDirectFBPaintEnginePrivate::ComplexClip) 581 || (!d->supportsStretchBlit() && state()->matrix.mapRect(r).size() != sr.size())) { 580 582 RASTERFALLBACK(DRAW_PIXMAP, r, pixmap.size(), sr); 581 583 const QImage *img = dfbData->buffer(); … … 607 609 } else if (!(d->compositionModeStatus & QDirectFBPaintEnginePrivate::PorterDuff_SupportedBlits) 608 610 || (d->transformationType & QDirectFBPaintEnginePrivate::Matrix_BlitsUnsupported) 609 || d->clipType == QDirectFBPaintEnginePrivate::ComplexClip610 || ( state()->renderHints & QPainter::SmoothPixmapTransform&& state()->matrix.isScaling())) {611 || (d->clipType == QDirectFBPaintEnginePrivate::ComplexClip) 612 || (!d->supportsStretchBlit() && state()->matrix.isScaling())) { 611 613 RASTERFALLBACK(DRAW_TILED_PIXMAP, r, pixmap.size(), offset); 612 614 QPixmapData *pixmapData = pixmap.pixmapData(); … … 733 735 if (!(d->compositionModeStatus & QDirectFBPaintEnginePrivate::PorterDuff_SupportedBlits) 734 736 || (d->transformationType & QDirectFBPaintEnginePrivate::Matrix_BlitsUnsupported) 735 || ( state()->renderHints & QPainter::SmoothPixmapTransform&& state()->matrix.isScaling())) {737 || (!d->supportsStretchBlit() && state()->matrix.isScaling())) { 736 738 break; 737 739 } … … 758 760 Q_D(QDirectFBPaintEngine); 759 761 if ((d->transformationType & QDirectFBPaintEnginePrivate::Matrix_RectsUnsupported) 760 || d->clipType == QDirectFBPaintEnginePrivate::ComplexClip762 || (d->clipType == QDirectFBPaintEnginePrivate::ComplexClip) 761 763 || !d->testCompositionMode(0, 0, &color)) { 762 764 RASTERFALLBACK(FILL_RECT, rect, color, VOID_ARG()); … … 1050 1052 result = surface->Blit(surface, s, &sRect, dr.x(), dr.y()); 1051 1053 } else { 1054 Q_ASSERT(supportsStretchBlit()); 1052 1055 const DFBRectangle dRect = { dr.x(), dr.y(), dr.width(), dr.height() }; 1053 1056 result = surface->StretchBlit(surface, s, &sRect, &dRect); … … 1097 1100 IDirectFBSurface *sourceSurface = dfbData->directFBSurface(); 1098 1101 if (transform.isScaling()) { 1102 Q_ASSERT(supportsStretchBlit()); 1099 1103 Q_ASSERT(qMin(transform.m11(), transform.m22()) >= 0); 1100 1104 offset.rx() *= transform.m11(); … … 1185 1189 } 1186 1190 1191 bool QDirectFBPaintEnginePrivate::supportsStretchBlit() const 1192 { 1193 #ifdef QT_DIRECTFB_STRETCHBLIT 1194 return !(q->state()->renderHints & QPainter::SmoothPixmapTransform); 1195 #else 1196 return false; 1197 #endif 1198 } 1199 1200 1187 1201 void QDirectFBPaintEnginePrivate::systemStateChanged() 1188 1202 { -
trunk/src/plugins/gfxdrivers/directfb/qdirectfbpaintengine.h
r561 r651 1 1 /**************************************************************************** 2 2 ** 3 ** Copyright (C) 20 09Nokia Corporation and/or its subsidiary(-ies).3 ** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies). 4 4 ** All rights reserved. 5 5 ** Contact: Nokia Corporation (qt-info@nokia.com) -
trunk/src/plugins/gfxdrivers/directfb/qdirectfbpixmap.cpp
r561 r651 1 1 /**************************************************************************** 2 2 ** 3 ** Copyright (C) 20 09Nokia Corporation and/or its subsidiary(-ies).3 ** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies). 4 4 ** All rights reserved. 5 5 ** Contact: Nokia Corporation (qt-info@nokia.com) … … 471 471 472 472 QDirectFBPixmapData *data = new QDirectFBPixmapData(screen, QPixmapData::PixmapType); 473 data->setSerialNumber(++global_ser_no); 473 474 DFBSurfaceBlittingFlags flags = DSBLIT_NOFX; 474 475 data->alpha = alpha; … … 552 553 } 553 554 555 556 bool QDirectFBPixmapData::scroll(int dx, int dy, const QRect &rect) 557 { 558 if (!dfbSurface) { 559 return false; 560 } 561 unlockSurface(); 562 DFBResult result = dfbSurface->SetBlittingFlags(dfbSurface, DSBLIT_NOFX); 563 if (result != DFB_OK) { 564 DirectFBError("QDirectFBPixmapData::scroll", result); 565 return false; 566 } 567 result = dfbSurface->SetPorterDuff(dfbSurface, DSPD_NONE); 568 if (result != DFB_OK) { 569 DirectFBError("QDirectFBPixmapData::scroll", result); 570 return false; 571 } 572 573 const DFBRectangle source = { rect.x(), rect.y(), rect.width(), rect.height() }; 574 result = dfbSurface->Blit(dfbSurface, dfbSurface, &source, source.x + dx, source.y + dy); 575 if (result != DFB_OK) { 576 DirectFBError("QDirectFBPixmapData::scroll", result); 577 return false; 578 } 579 580 return true; 581 } 582 554 583 void QDirectFBPixmapData::invalidate() 555 584 { … … 568 597 569 598 #endif // QT_NO_QWS_DIRECTFB 570 571 572 -
trunk/src/plugins/gfxdrivers/directfb/qdirectfbpixmap.h
r561 r651 1 1 /**************************************************************************** 2 2 ** 3 ** Copyright (C) 20 09Nokia Corporation and/or its subsidiary(-ies).3 ** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies). 4 4 ** All rights reserved. 5 5 ** Contact: Nokia Corporation (qt-info@nokia.com) … … 82 82 virtual QPaintEngine *paintEngine() const; 83 83 virtual QImage *buffer(); 84 virtual bool scroll(int dx, int dy, const QRect &rect); 84 85 // Pure virtual in QPixmapData, so re-implement here and delegate to QDirectFBPaintDevice 85 86 virtual int metric(QPaintDevice::PaintDeviceMetric m) const { return QDirectFBPaintDevice::metric(m); } -
trunk/src/plugins/gfxdrivers/directfb/qdirectfbscreen.cpp
r561 r651 1 1 /**************************************************************************** 2 2 ** 3 ** Copyright (C) 20 09Nokia Corporation and/or its subsidiary(-ies).3 ** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies). 4 4 ** All rights reserved. 5 5 ** Contact: Nokia Corporation (qt-info@nokia.com) -
trunk/src/plugins/gfxdrivers/directfb/qdirectfbscreen.h
r561 r651 1 1 /**************************************************************************** 2 2 ** 3 ** Copyright (C) 20 09Nokia Corporation and/or its subsidiary(-ies).3 ** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies). 4 4 ** All rights reserved. 5 5 ** Contact: Nokia Corporation (qt-info@nokia.com) … … 69 69 #if !defined QT_NO_DIRECTFB_IMAGEPROVIDER && !defined QT_DIRECTFB_IMAGEPROVIDER 70 70 #define QT_DIRECTFB_IMAGEPROVIDER 71 #endif 72 #if !defined QT_NO_DIRECTFB_STRETCHBLIT && !defined QT_DIRECTFB_STRETCHBLIT 73 #define QT_DIRECTFB_STRETCHBLIT 71 74 #endif 72 75 #if !defined QT_DIRECTFB_IMAGEPROVIDER_KEEPALIVE && !defined QT_NO_DIRECTFB_IMAGEPROVIDER_KEEPALIVE -
trunk/src/plugins/gfxdrivers/directfb/qdirectfbscreenplugin.cpp
r561 r651 1 1 /**************************************************************************** 2 2 ** 3 ** Copyright (C) 20 09Nokia Corporation and/or its subsidiary(-ies).3 ** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies). 4 4 ** All rights reserved. 5 5 ** Contact: Nokia Corporation (qt-info@nokia.com) -
trunk/src/plugins/gfxdrivers/directfb/qdirectfbwindowsurface.cpp
r561 r651 1 1 /**************************************************************************** 2 2 ** 3 ** Copyright (C) 20 09Nokia Corporation and/or its subsidiary(-ies).3 ** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies). 4 4 ** All rights reserved. 5 5 ** Contact: Nokia Corporation (qt-info@nokia.com) … … 379 379 } 380 380 screen->flipSurface(dfbSurface, flipFlags, region, offset); 381 if (noSystemBackground) {382 dfbSurface->Clear(dfbSurface, 0, 0, 0, 0);383 }384 381 #else 385 382 setOpaque(windowOpacity != 0xff); -
trunk/src/plugins/gfxdrivers/directfb/qdirectfbwindowsurface.h
r561 r651 1 1 /**************************************************************************** 2 2 ** 3 ** Copyright (C) 20 09Nokia Corporation and/or its subsidiary(-ies).3 ** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies). 4 4 ** All rights reserved. 5 5 ** Contact: Nokia Corporation (qt-info@nokia.com)
Note:
See TracChangeset
for help on using the changeset viewer.