Ktam3874/pitx software guide – Kontron KTAM3874-pITX User Manual
Page 190

KTD-S0057-I
Page 186 Linux® Programming Examples (DebianTM)
KTAM3874/pITX Software Guide
//
Values
for (int i = 0; i < items.count (); ++i)
{
Pixmap *item = items.at (i);
//
Ellipse
ellipseState->assignProperty (item, "pos", QPointF (cos ((i / 63.0) * 6.28) * 250,
sin ((i / 63.0) * 6.28) * 250));
// Figure 8
figure8State->assignProperty
(item,
"pos", QPointF (sin ((i / 63.0) * 6.28) * 250,
sin (((i * 2) / 63.0) * 6.28) * 250));
//
Random
randomState->assignProperty
(item, "pos", QPointF (-250 + qrand () % 500,
-250 + qrand () % 500));
//
Tiled
tiledState->assignProperty (item, "pos", QPointF (((i % 8) - 4) * kineticPix.width () + kineticPix.width () / 2,
((i / 8) - 4) * kineticPix.height () + kineticPix.height () / 2));
//
Centered
centeredState->assignProperty (item, "pos", QPointF ());
}
//
Ui
View *view = new View (&scene);
view->setWindowTitle
(QT_TRANSLATE_NOOP (QGraphicsView, "Animated Tiles"));
view->setViewportUpdateMode
(QGraphicsView::BoundingRectViewportUpdate);
/* view->setBackgroundBrush (bgPix); */
view->setCacheMode
(QGraphicsView::CacheBackground);
view->setRenderHints
(QPainter::Antialiasing | QPainter::SmoothPixmapTransform);
#ifdef Q_OS_SYMBIAN
view->showMaximized
();
#else
view->show();
#endif
QStateMachine
states;
states.addState
(rootState);
states.setInitialState
(rootState);
rootState->setInitialState
(centeredState);
QParallelAnimationGroup *group = new QParallelAnimationGroup;
for (int i = 0; i < items.count (); ++i)
{
QPropertyAnimation *anim = new QPropertyAnimation (items[i], "pos");
anim->setDuration (750 + i * 25);
anim->setEasingCurve
(QEasingCurve::InOutBack);
group->addAnimation
(anim);
}
QAbstractTransition *trans = rootState->addTransition (ellipseButton, SIGNAL (pressed ()), ellipseState);
trans->addAnimation
(group);
trans = rootState->addTransition (figure8Button, SIGNAL (pressed ()), figure8State);
trans->addAnimation
(group);