mpviewplugins/mpmediawallviewplugin/src/mpreflectioneffect.cpp
changeset 58 ed94e1e8390e
parent 54 c5b304f4d89b
child 61 3cd404d31176
--- a/mpviewplugins/mpmediawallviewplugin/src/mpreflectioneffect.cpp	Thu Sep 02 20:24:03 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,98 +0,0 @@
-/*
-* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: Reflection effect for Music Player Media Wall.
-*
-*/
-
-#include <QPainter>
-#include <QGraphicsItem>
-#include <hbinstance.h>
-
-#include "mpreflectioneffect.h"
-
-
-/*!
-    \class MpReflectionEffect
-    \brief The MpReflectionEffect class provides a reflection effect.
-
-    Renders the source with a reflection.
-*/
-
-/*!
-    Constructs a new MpReflectionEffect instance.
-    The \a parent parameter is passed to QGraphicsEffect's constructor.
-*/
-MpReflectionEffect::MpReflectionEffect(QObject *parent)
-    : QGraphicsEffect( parent )
-{
-}
-
-/*!
-    Destroys the effect.
-*/
-MpReflectionEffect::~MpReflectionEffect()
-{
-}
-
-/*!
-    \reimp
-*/
-QRectF MpReflectionEffect::boundingRectFor(const QRectF &rect) const
-{
-    QRectF retRect = rect;
-    //this bounding rect is in device cordinates, correcting based on current transform.
-    if ( hbInstance->allMainWindows()[0]->orientation() == Qt::Horizontal ) {
-#ifdef __WINS__        
-        retRect.adjust(0,0,retRect.width(),0); //wincw with forced rotation is to the right.
-#else
-        retRect.adjust(-retRect.width(),0,0,0);//currently hardware rotations is to the left.
-#endif
-    } else {
-        retRect.adjust(0,0,0,retRect.height());
-    }
-    
-    return retRect;
-}
-
-/*!
-    \reimp
-*/
-void MpReflectionEffect::draw(QPainter *painter)
-{
-    //currently sourceBoundingRect returns somehing like boundingRectFor and 
-    //wrong rect for widgets with scroll area. As a workaround we can get the
-    //original bounding rect assuming that the widget using the effect is the 
-    //effect parent.
-    QGraphicsItem * sourceItem;
-    sourceItem = qobject_cast<QGraphicsItem *>( parent() );
-    QPixmap pixmap;
-    QPoint offset;
-    pixmap = sourcePixmap( Qt::LogicalCoordinates,&offset, QGraphicsEffect::NoPad );
-    painter->drawPixmap( offset, pixmap );
-    if ( sourceItem ) {
-        painter->save();
-        painter->scale( 1, -1 );
-        //for some reson tranlation does not work, translating cordinates by hand.
-        QPointF reflectionOffset( 0.0, - 2.0 * sourceItem->boundingRect().height() );
-        painter->drawPixmap( offset + reflectionOffset, pixmap );
-        QRectF reflectionRect;
-        reflectionRect.setTopLeft( reflectionOffset );
-        reflectionRect.setHeight ( sourceItem->boundingRect().height() );
-        reflectionRect.setWidth( pixmap.width() );
-        painter->fillRect( reflectionRect, QColor::fromRgbF( 0, 0, 0, 0.5f ) );
-        painter->restore();
-    }
-}
-
-// EOF