diff options
author | Gareth Stockwell <gareth.stockwell@sosco.com> | 2009-09-21 12:23:44 (GMT) |
---|---|---|
committer | Frans Englich <frans.englich@nokia.com> | 2009-09-23 12:39:47 (GMT) |
commit | f247b4d6c6a2b2b8354fbfd5a68f2a5449bdccf4 (patch) | |
tree | 5235046858bbe4dc8606d11edf3793cacd69dc85 | |
parent | d08436fbe0bd8da16aec2a0936c7d768e4045bfa (diff) | |
download | Qt-f247b4d6c6a2b2b8354fbfd5a68f2a5449bdccf4.zip Qt-f247b4d6c6a2b2b8354fbfd5a68f2a5449bdccf4.tar.gz Qt-f247b4d6c6a2b2b8354fbfd5a68f2a5449bdccf4.tar.bz2 |
Removed transparency-blitting / -painting code from video widget
-rw-r--r-- | src/3rdparty/phonon/mmf/defs.h | 7 | ||||
-rw-r--r-- | src/3rdparty/phonon/mmf/videooutput.cpp | 105 | ||||
-rw-r--r-- | src/3rdparty/phonon/mmf/videooutput.h | 1 |
3 files changed, 1 insertions, 112 deletions
diff --git a/src/3rdparty/phonon/mmf/defs.h b/src/3rdparty/phonon/mmf/defs.h index e4e06e4..1a93aa9 100644 --- a/src/3rdparty/phonon/mmf/defs.h +++ b/src/3rdparty/phonon/mmf/defs.h @@ -21,13 +21,6 @@ along with this library. If not, see <http://www.gnu.org/licenses/>. #include <QtGlobal> -// The following macros are for switching on / off various bits of code, -// in order to debug the current problems with video visibility. - -// Defining this macro causes VideoOutput::paintEvent to write transparent -// alpha values directly into the backing store, rather than using QPainter -#define PHONON_MMF_DIRECT_WRITE_ALPHA - QT_BEGIN_NAMESPACE namespace Phonon diff --git a/src/3rdparty/phonon/mmf/videooutput.cpp b/src/3rdparty/phonon/mmf/videooutput.cpp index 58fa25d..b77a831 100644 --- a/src/3rdparty/phonon/mmf/videooutput.cpp +++ b/src/3rdparty/phonon/mmf/videooutput.cpp @@ -29,17 +29,6 @@ along with this library. If not, see <http://www.gnu.org/licenses/>. #include <QMoveEvent> #include <QResizeEvent> -// Required for implementation of transparentFill (direct write to backing store) -#include <QtGui/private/qwidget_p.h> -#include <QtGui/private/qdrawhelper_p.h> -#include <QtGui/private/qwindowsurface_p.h> -#include <QImage> - -// Required for implementation of transparentFill (GC brush) -#include <coecntrl.h> -#include <w32std.h> -#include <eikenv.h> - QT_BEGIN_NAMESPACE @@ -124,99 +113,7 @@ void MMF::VideoOutput::paintEvent(QPaintEvent* event) dump(); -#ifdef PHONON_MMF_DIRECT_WRITE_ALPHA - transparentFill(event->region().rects()); -#else - // Note: composition mode code was a failed attempt to get transparent - // alpha values to be propagated to the (EColor16MU) window surface. - - QPainter painter; - //const QPainter::CompositionMode compositionMode = painter.compositionMode(); - //painter.setCompositionMode(QPainter::CompositionMode_Source); - painter.begin(this); - painter.setBrush(QColor(0, 0, 0, 0)); - painter.drawRects(event->region().rects()); - painter.end(); - //painter.setCompositionMode(compositionMode); -#endif -} - -void MMF::VideoOutput::transparentFill(const QVector<QRect>& rects) -{ - TRACE_CONTEXT(VideoOutput::transparentFill, EVideoInternal); - TRACE_ENTRY_0(); - -/* - // Graphics context brushing approach - RWindow *const window = static_cast<RWindow *>(winId()->DrawableWindow()); - const TDisplayMode displayMode = static_cast<TDisplayMode>(window->SetRequiredDisplayMode(EColor16MA)); - CWindowGc& gc = CEikonEnv::Static()->SystemGc(); - gc.Activate(*window); - gc.SetBrushColor(TRgb(255, 255, 255, 0)); - gc.SetBrushStyle(CGraphicsContext::ESolidBrush); - gc.SetDrawMode(CGraphicsContext::EDrawModeWriteAlpha); - window->Invalidate(); - window->BeginRedraw(); - gc.Clear(); - window->EndRedraw(); - gc.Deactivate(); -*/ - -/* - // Direct draw into backing store approach (entire TLW) - QImage *image = window()->windowSurface()->buffer(window()); - QRgb *data = reinterpret_cast<QRgb *>(image->bits()); - const int row_stride = image->bytesPerLine() / 4; - - const QRgb color = - //0xff0000ff // opaque blue - 0x000000ff // transparent blue - //0x00000000 // transparent black - ; - - // Paint the entire surface - const int imageWidth = image->size().width(); - const int imageHeight = image->size().height(); - QRgb *row = data; - for(int y=0; y<imageHeight; ++y) { - - QRgb *ptr = row; - for(int x=0; x<imageWidth; ++x) - *ptr++ = color; - row += row_stride; - } -*/ - -/* - // Direct draw into backing store approach (specified regions) - for (QVector<QRect>::const_iterator it = rects.begin(); it != rects.end(); ++it) { - - const QRect& rect = *it; - - TRACE("%d %d size %d x %d", rect.x(), rect.y(), rect.width(), rect.height()); - - const int x_start = rect.x(); - const int width = rect.width(); - - const int y_start = rect.y(); - const int height = rect.height(); - - QRgb *row = data + row_stride * y_start; - for (int y = 0; y < height; ++y) { - - // Note: not using the optimised qt_memfill function implemented in - // gui/painting/qdrawhelper.cpp - can we somehow link against this? - - QRgb *ptr = row + x_start; - for(int x = 0; x < width; ++x) - *ptr++ = 0x00000000; - - row += row_stride; - } - } -*/ - - TRACE_EXIT_0(); + // Do not paint anything } void MMF::VideoOutput::resizeEvent(QResizeEvent* event) diff --git a/src/3rdparty/phonon/mmf/videooutput.h b/src/3rdparty/phonon/mmf/videooutput.h index 5a7b9cd..639a5ed 100644 --- a/src/3rdparty/phonon/mmf/videooutput.h +++ b/src/3rdparty/phonon/mmf/videooutput.h @@ -52,7 +52,6 @@ protected: private: void dump() const; - void transparentFill(const QVector<QRect>& rects); private: QSize m_frameSize; |