browsercore/appfw/Common/PictureFlow.h
changeset 16 3c88a81ff781
parent 14 6aeb7a756187
--- a/browsercore/appfw/Common/PictureFlow.h	Thu Sep 23 15:32:11 2010 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,379 +0,0 @@
-/*
-  PictureFlow - animated image show widget
-  http://pictureflow.googlecode.com
-
-  Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). 
-  Copyright (C) 2008 Ariya Hidayat (ariya@kde.org)
-  Copyright (C) 2007 Ariya Hidayat (ariya@kde.org)
-
-  Permission is hereby granted, free of charge, to any person obtaining a copy
-  of this software and associated documentation files (the "Software"), to deal
-  in the Software without restriction, including without limitation the rights
-  to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-  copies of the Software, and to permit persons to whom the Software is
-  furnished to do so, subject to the following conditions:
-
-  The above copyright notice and this permission notice shall be included in
-  all copies or substantial portions of the Software.
-
-  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-  IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-  FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-  AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-  LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-  OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-  THE SOFTWARE.
-*/
-
-#ifndef PICTUREFLOW_H
-#define PICTUREFLOW_H
-
-#include <qwidget.h>
-#include "FlowInterface.h"
-
-namespace WRT {
-
-class PictureFlowPrivate;
-
-enum ReflectionEffect
-{
-    NoReflection,
-    PlainReflection,
-    BlurredReflection
-};
-
-/*!
-  Class PictureFlow implements an image show widget with animation effect 
-  like Apple's CoverFlow (in iTunes and iPod). Images are arranged in form 
-  of slides, one main slide is shown at the center with few slides on 
-  the left and right sides of the center slide. When the next or previous 
-  slide is brought to the front, the whole slides flow to the right or 
-  the right with smooth animation effect; until the new slide is finally 
-  placed at the center.
-
- */ 
-class PictureFlow : public FlowInterface 
-{
-Q_OBJECT
-
-  Q_PROPERTY(QColor backgroundColor READ backgroundColor WRITE setBackgroundColor)
-  Q_PROPERTY(QSize slideSize READ slideSize WRITE setSlideSize)
-  Q_PROPERTY(int slideCount READ slideCount)
-  Q_PROPERTY(int centerIndex READ centerIndex WRITE setCenterIndex)
-
-public:
-
-
-
-  /*!
-    Creates a new PictureFlow widget.
-  */  
-  PictureFlow(QWidget* parent = 0);
-
-  /*!
-    Destroys the widget.
-  */
-  ~PictureFlow();
-
-  /*!
-    Returns the background color.
-  */
-  QColor backgroundColor() const;
-
-  /*!
-    Sets the background color. By default it is black.
-  */
-  void setBackgroundColor(const QColor& c);
-
-  /*!
-    Returns the dimension of each slide (in pixels).
-  */  
-  QSize slideSize() const;
-
-  /*!
-    Sets the dimension of each slide (in pixels).
-  */  
-  void setSlideSize(QSize size);
-
-  /*!
-    Returns the total number of slides.
-  */
-  int slideCount() const;
-
-  /*!
-    Returns QImage of specified slide.
-  */  
-  QImage slide(int index) const;
-
-  /*!
-    Returns the index of slide currently shown in the middle of the viewport.
-  */  
-  int centerIndex() const;
-
-  /*!
-    Return true if slide animation is ongoing
-  */
-  bool slideAnimationOngoing() const;
-
-  /*!
-    Returns the effect applied to the reflection.
-  */  
-  ReflectionEffect reflectionEffect() const;
-
-  /*!
-    Sets the effect applied to the reflection. The default is PlainReflection.
-  */  
-  void setReflectionEffect(ReflectionEffect effect);
-
-  QRect centralRect() const;
-
-  void init();
-  
-public slots:
-
-  /*!
-    Adds a new slide.
-  */  
-  void addSlide(const QImage& image);
-
-  /*!
-    Adds a new slide.
-  */  
-  void addSlide(const QPixmap& pixmap);
-
-  /*!
-    Sets an image for specified slide. If the slide already exists,
-    it will be replaced.
-  */  
-  void setSlide(int index, const QImage& image);
-
-  /*!
-    Sets a pixmap for specified slide. If the slide already exists,
-    it will be replaced.
-  */  
-  void setSlide(int index, const QPixmap& pixmap);
-
-  /*!
-    Sets slide to be shown in the middle of the viewport. No animation 
-    effect will be produced, unlike using showSlide.
-  */  
-  void setCenterIndex(int index);
-
-  /*!
-    Clears all slides.
-  */
-  void clear();
-
-  /*!
-    Shows previous slide using animation effect.
-  */
-  void showPrevious();
-
-  /*!
-    Shows next slide using animation effect.
-  */
-  void showNext();
-
-  /*!
-    Go to specified slide using animation effect.
-  */
-  void showSlide(int index);
-
-  /*!
-    Rerender the widget. Normally this function will be automatically invoked
-    whenever necessary, e.g. during the transition animation.
-  */
-  void render();
-
-  /*!
-    Schedules a rendering update. Unlike render(), this function does not cause
-    immediate rendering.
-  */  
-  void triggerRender();
-
-signals:
-  void centerIndexChanged(int index);
-  void ok(int index);
-  void cancel();
-
-protected:
-  void paintEvent(QPaintEvent *event);
-  void keyPressEvent(QKeyEvent* event);
-  void mousePressEvent(QMouseEvent* event);
-  void resizeEvent(QResizeEvent* event);
-  void mouseMoveEvent(QMouseEvent* event);
-  void mouseReleaseEvent(QMouseEvent* event);
-
-private slots:
-  void updateAnimation();
-  void scroll();
-  
-private:
-  PictureFlowPrivate* d;
-  QTimer* m_scrollTimer;
-  QPoint m_lastMoveEventPos;
-};
-
-class GraphicsPictureFlow : public GraphicsFlowInterface 
-{
-Q_OBJECT
-
-  Q_PROPERTY(QColor backgroundColor READ backgroundColor WRITE setBackgroundColor)
-  Q_PROPERTY(QSize slideSize READ slideSize WRITE setSlideSize)
-  Q_PROPERTY(int slideCount READ slideCount)
-  Q_PROPERTY(int centerIndex READ centerIndex WRITE setCenterIndex)
-
-public:
-
-  /*!
-    Creates a new PictureFlow widget.
-  */  
-  GraphicsPictureFlow(QObject* parent = 0);
-
-  /*!
-    Destroys the widget.
-  */
-  ~GraphicsPictureFlow();
-
-  /*!
-    Returns the background color.
-  */
-  QColor backgroundColor() const;
-
-  /*!
-    Sets the background color. By default it is black.
-  */
-  void setBackgroundColor(const QColor& c);
-
-  /*!
-    Returns the dimension of each slide (in pixels).
-  */  
-  QSize slideSize() const;
-
-  /*!
-    Sets the dimension of each slide (in pixels).
-  */  
-  void setSlideSize(QSize size);
-
-  /*!
-    Returns the total number of slides.
-  */
-  int slideCount() const;
-
-  /*!
-    Returns QImage of specified slide.
-  */  
-  QImage slide(int index) const;
-
-  /*!
-    Returns the index of slide currently shown in the middle of the viewport.
-  */  
-  int centerIndex() const;
-
-  /*!
-    Return true if slide animation is ongoing
-  */
-  bool slideAnimationOngoing() const;
-
-  /*!
-    Returns the effect applied to the reflection.
-  */  
-  ReflectionEffect reflectionEffect() const;
-
-  /*!
-    Sets the effect applied to the reflection. The default is PlainReflection.
-  */  
-  void setReflectionEffect(ReflectionEffect effect);
-
-  QRect centralRect() const;
-
-  void init();
-  
-public slots:
-
-  /*!
-    Adds a new slide.
-  */  
-  void addSlide(const QImage& image);
-
-  /*!
-    Adds a new slide.
-  */  
-  void addSlide(const QPixmap& pixmap);
-
-  /*!
-    Sets an image for specified slide. If the slide already exists,
-    it will be replaced.
-  */  
-  void setSlide(int index, const QImage& image);
-
-  /*!
-    Sets a pixmap for specified slide. If the slide already exists,
-    it will be replaced.
-  */  
-  void setSlide(int index, const QPixmap& pixmap);
-
-  /*!
-    Sets slide to be shown in the middle of the viewport. No animation 
-    effect will be produced, unlike using showSlide.
-  */  
-  void setCenterIndex(int index);
-
-  /*!
-    Clears all slides.
-  */
-  void clear();
-
-  /*!
-    Shows previous slide using animation effect.
-  */
-  void showPrevious();
-
-  /*!
-    Shows next slide using animation effect.
-  */
-  void showNext();
-
-  /*!
-    Go to specified slide using animation effect.
-  */
-  void showSlide(int index);
-
-  /*!
-    Rerender the widget. Normally this function will be automatically invoked
-    whenever necessary, e.g. during the transition animation.
-  */
-  void render();
-
-  /*!
-    Schedules a rendering update. Unlike render(), this function does not cause
-    immediate rendering.
-  */  
-  void triggerRender();
-
-signals:
-  void centerIndexChanged(int index);
-  void ok(int index);
-  void cancel();
-
-protected:
-  void paint(QPainter * painter, const QStyleOptionGraphicsItem * option, QWidget * widget = 0); 
-  void resizeEvent(QGraphicsSceneResizeEvent* event); 
-  void keyPressEvent(QKeyEvent* event);
-  void mouseMoveEvent(QGraphicsSceneMouseEvent* event);
-  void mousePressEvent(QGraphicsSceneMouseEvent* event);
-  void mouseReleaseEvent(QGraphicsSceneMouseEvent* event);
-
-private slots:
-  void updateAnimation();
-  void scroll();
-  
-private:
-  PictureFlowPrivate* d;
-  QTimer* m_scrollTimer;
-  QPoint m_lastMoveEventPos;
-};
-
-}
-#endif // PICTUREFLOW_H
-