Public Member Functions | Public Attributes

QxtFlowViewState Class Reference

#include <qxtflowview_p.h>

Collaboration diagram for QxtFlowViewState:
Collaboration graph
[legend]

List of all members.

Public Member Functions

 QxtFlowViewState ()
 ~QxtFlowViewState ()
void reposition ()
void reset ()

Public Attributes

QRgb backgroundColor
int slideWidth
int slideHeight
QxtFlowView::ReflectionEffect reflectionEffect
QVector< QImage * > slideImages
int angle
int spacing
PFreal offsetX
PFreal offsetY
SlideInfo centerSlide
QVector< SlideInfoleftSlides
QVector< SlideInforightSlides
int centerIndex

Detailed Description

Definition at line 154 of file qxtflowview_p.h.


Constructor & Destructor Documentation

QxtFlowViewState::QxtFlowViewState (  )
QxtFlowViewState::~QxtFlowViewState (  )

Definition at line 63 of file qxtflowview_p.cpp.

References int(), and slideImages.

{
    for (int i = 0; i < (int)slideImages.count(); i++)
        delete slideImages[i];
}

Member Function Documentation

void QxtFlowViewState::reposition (  )

Definition at line 70 of file qxtflowview_p.cpp.

References angle, fcos(), fsin(), IANGLE_MAX, offsetX, offsetY, PFREAL_ONE, slideWidth, and spacing.

Referenced by QxtFlowView::QxtFlowView(), and QxtFlowView::setSlideSize().

{
    angle = 70 * IANGLE_MAX / 360;  // approx. 70 degrees tilted

    offsetX = slideWidth / 2 * (PFREAL_ONE - fcos(angle));
    offsetY = slideWidth / 2 * fsin(angle);
    offsetX += slideWidth * PFREAL_ONE;
    offsetY += slideWidth * PFREAL_ONE / 4;
    spacing = 40;
}
void QxtFlowViewState::reset (  )

Definition at line 82 of file qxtflowview_p.cpp.

References angle, SlideInfo::angle, SlideInfo::blend, centerIndex, centerSlide, SlideInfo::cx, SlideInfo::cy, int(), leftSlides, offsetX, offsetY, PFREAL_ONE, rightSlides, SlideInfo::slideIndex, and spacing.

Referenced by QxtFlowViewPrivate::clear(), QxtFlowView::QxtFlowView(), QxtFlowViewPrivate::setCurrentIndex(), and QxtFlowViewAnimator::update().

{
    centerSlide.angle = 0;
    centerSlide.cx = 0;
    centerSlide.cy = 0;
    centerSlide.slideIndex = centerIndex;
    centerSlide.blend = 256;

    leftSlides.resize(6);
    for (int i = 0; i < (int)leftSlides.count(); i++)
    {
        SlideInfo& si = leftSlides[i];
        si.angle = angle;
        si.cx = -(offsetX + spacing * i * PFREAL_ONE);
        si.cy = offsetY;
        si.slideIndex = centerIndex - 1 - i;
        si.blend = 256;
        if (i == (int)leftSlides.count() - 2)
            si.blend = 128;
        if (i == (int)leftSlides.count() - 1)
            si.blend = 0;
    }

    rightSlides.resize(6);
    for (int i = 0; i < (int)rightSlides.count(); i++)
    {
        SlideInfo& si = rightSlides[i];
        si.angle = -angle;
        si.cx = offsetX + spacing * i * PFREAL_ONE;
        si.cy = offsetY;
        si.slideIndex = centerIndex + 1 + i;
        si.blend = 256;
        if (i == (int)rightSlides.count() - 2)
            si.blend = 128;
        if (i == (int)rightSlides.count() - 1)
            si.blend = 0;
    }
}

Member Data Documentation

Definition at line 169 of file qxtflowview_p.h.

Referenced by reposition(), reset(), and QxtFlowViewAnimator::update().

Definition at line 175 of file qxtflowview_p.h.

Referenced by reset(), and QxtFlowViewAnimator::update().

Definition at line 171 of file qxtflowview_p.h.

Referenced by reposition(), reset(), and QxtFlowViewAnimator::update().

Definition at line 172 of file qxtflowview_p.h.

Referenced by reposition(), reset(), and QxtFlowViewAnimator::update().

Definition at line 176 of file qxtflowview_p.h.

Referenced by reset(), and QxtFlowViewAnimator::update().

Definition at line 165 of file qxtflowview_p.h.

Referenced by QxtFlowView::setSlideSize().

Definition at line 170 of file qxtflowview_p.h.

Referenced by reposition(), reset(), and QxtFlowViewAnimator::update().


The documentation for this class was generated from the following files:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Defines