Plasma Animations Overview (aka. Pimp my Plasmoids!)

711 views

Published on

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
711
On SlideShare
0
From Embeds
0
Number of Embeds
100
Actions
Shares
0
Downloads
5
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Plasma Animations Overview (aka. Pimp my Plasmoids!)

  1. 1. Plasma Animations Overviewaka. Pimp my Plasmoids!Bruno de Oliveira Abinader (abinader)Igor Trindade Oliveira (igorto)July 7th, 2010
  2. 2. Who are we?
  3. 3. (Nokia Technology Institute)ManausBrasíliaSão PauloRecife
  4. 4. Plasma Animations OverviewFade | Geometry | Grow | PixmapTransition | PulserRotation | RotationStacked | Slide | Zoom
  5. 5. Plasma Animations OverviewFade | Geometry | Grow | PixmapTransition | Pulser | Rotation | RotationStacked | Slide | ZoomAnimations can be subclassed from:Plasma::AnimationImplements updateCurrentTime(int)Plasma::EasingAnimationImplements updateEffectiveTime(int)
  6. 6. Plasma Animations OverviewFade | Geometry | Grow | PixmapTransition | Pulser | Rotation | RotationStacked | Slide | ZoomTransforms the opacity of an object from a startingvalue to a target valueRanges from 0.0 (transparent) to 1.0 (opaque)Properties:startOpacity – sets the initial opacity valuetargetOpacity – sets the final opacity value
  7. 7. Plasma Animations OverviewFade | Geometry | Grow | PixmapTransition | Pulser | Rotation | RotationStacked | Slide | ZoomUpdates the widget geometry (position, size) froma start QRectF to a target QRectFProperties:startGeometry – sets the initial geometry valuetargetGeometry – sets the final geometry value(target is an adjusted QrectF from start)
  8. 8. Plasma Animations OverviewFade | Geometry | Grow | PixmapTransition | Pulser | Rotation | RotationStacked | Slide | ZoomUpdates the widget geometry (position, size) usinga grow factor (qreal)Properties:factor – grow factor which is a multiple from theinitial values
  9. 9. Plasma Animations OverviewFade | Geometry | Grow | PixmapTransition | Pulser | Rotation | RotationStacked | Slide | ZoomAnimates a faded transition between twoQPixmapsProperties:startPixmap – Initial pixmap displayedtargetPixmap – Target pixmap (animation end)currentPixmap – Current animation pixmap
  10. 10. Plasma Animations OverviewFade | Geometry | Grow | PixmapTransition | Pulser | Rotation | RotationStacked | Slide | ZoomCreates a pulse effect behind the widget, scalingand diminishing opacity until it disappearsProperties:targetScale – Pulse scaling factor (qreal)
  11. 11. Plasma Animations OverviewFade | Geometry | Grow | PixmapTransition | Pulser | Rotation | RotationStacked | Slide | ZoomRotates a widget on a given axis, using a rotationreference with a given angleProperties:axis – Rotation axis(X, Y or Z)reference – Rotation reference(Center, Up, Down, Left, Right)angle – Rotation angle(eg. 0, -90 or 180)
  12. 12. Plasma Animations OverviewFade | Geometry | Grow | PixmapTransition | Pulser | Rotation | RotationStacked | Slide | ZoomFlips one widget (front) with another (back)Properties:movementDirection – Flipping direction(MoveUp, MoveDown, MoveLeft, MoveRight or MoveAny)reference – Rotation reference(Center, Up, Down, Left, Right)layout – Layout where both widgets are insertedbackWidget – Pointer to the back widget
  13. 13. Plasma Animations OverviewFade | Geometry | Grow | PixmapTransition | Pulser | Rotation | RotationStacked | Slide | ZoomMoves a widget to a given direction with a givendistanceProperties:distance – Movement distance in pixelsmovementDirection – Movement direction(MoveUp, MoveDown, MoveLeft, MoveRight or MoveAny)distancePointF – Movement distance as aQpointF
  14. 14. Plasma Animations OverviewFade | Geometry | Grow | PixmapTransition | Pulser | Rotation | RotationStacked | Slide | ZoomScales a widget using a given zoom factorProperties:zoom – Scaling factor (qreal)
  15. 15. Future of Plasma Animations?JavaScript!
  16. 16. JavaScript Animations- Easier to maintain- Implemented on a single file which is unique foreach theme- No significant performance loss when comparingto C++ animations- Development is ongoing!
  17. 17. Thank you!Contact:bruno.abinader@openbossa.orgabinader @ irc.freenode.org

×