SlideShare una empresa de Scribd logo
1 de 17
Descargar para leer sin conexión
Plasma Animations Overview
aka. Pimp my Plasmoids!
Bruno de Oliveira Abinader (abinader)
Igor Trindade Oliveira (igorto)
July 7th, 2010
Who are we?
(Nokia Technology Institute)
Manaus
Brasília
São Paulo
Recife
Plasma Animations Overview
Fade | Geometry | Grow | PixmapTransition | Pulser
Rotation | RotationStacked | Slide | Zoom
Plasma Animations Overview
Fade | Geometry | Grow | PixmapTransition | Pulser | Rotation | RotationStacked | Slide | Zoom
Animations can be subclassed from:
Plasma::Animation
Implements updateCurrentTime(int)
Plasma::EasingAnimation
Implements updateEffectiveTime(int)
Plasma Animations Overview
Fade | Geometry | Grow | PixmapTransition | Pulser | Rotation | RotationStacked | Slide | Zoom
Transforms the opacity of an object from a starting
value to a target value
Ranges from 0.0 (transparent) to 1.0 (opaque)
Properties:
startOpacity – sets the initial opacity value
targetOpacity – sets the final opacity value
Plasma Animations Overview
Fade | Geometry | Grow | PixmapTransition | Pulser | Rotation | RotationStacked | Slide | Zoom
Updates the widget geometry (position, size) from
a start QRectF to a target QRectF
Properties:
startGeometry – sets the initial geometry value
targetGeometry – sets the final geometry value
(target is an adjusted QrectF from start)
Plasma Animations Overview
Fade | Geometry | Grow | PixmapTransition | Pulser | Rotation | RotationStacked | Slide | Zoom
Updates the widget geometry (position, size) using
a grow factor (qreal)
Properties:
factor – grow factor which is a multiple from the
initial values
Plasma Animations Overview
Fade | Geometry | Grow | PixmapTransition | Pulser | Rotation | RotationStacked | Slide | Zoom
Animates a faded transition between two
QPixmaps
Properties:
startPixmap – Initial pixmap displayed
targetPixmap – Target pixmap (animation end)
currentPixmap – Current animation pixmap
Plasma Animations Overview
Fade | Geometry | Grow | PixmapTransition | Pulser | Rotation | RotationStacked | Slide | Zoom
Creates a pulse effect behind the widget, scaling
and diminishing opacity until it disappears
Properties:
targetScale – Pulse scaling factor (qreal)
Plasma Animations Overview
Fade | Geometry | Grow | PixmapTransition | Pulser | Rotation | RotationStacked | Slide | Zoom
Rotates a widget on a given axis, using a rotation
reference with a given angle
Properties:
axis – Rotation axis
(X, Y or Z)
reference – Rotation reference
(Center, Up, Down, Left, Right)
angle – Rotation angle
(eg. 0, -90 or 180)
Plasma Animations Overview
Fade | Geometry | Grow | PixmapTransition | Pulser | Rotation | RotationStacked | Slide | Zoom
Flips 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 inserted
backWidget – Pointer to the back widget
Plasma Animations Overview
Fade | Geometry | Grow | PixmapTransition | Pulser | Rotation | RotationStacked | Slide | Zoom
Moves a widget to a given direction with a given
distance
Properties:
distance – Movement distance in pixels
movementDirection – Movement direction
(MoveUp, MoveDown, MoveLeft, MoveRight or MoveAny)
distancePointF – Movement distance as a
QpointF
Plasma Animations Overview
Fade | Geometry | Grow | PixmapTransition | Pulser | Rotation | RotationStacked | Slide | Zoom
Scales a widget using a given zoom factor
Properties:
zoom – Scaling factor (qreal)
Future of Plasma Animations?
JavaScript!
JavaScript Animations
- Easier to maintain
- Implemented on a single file which is unique for
each theme
- No significant performance loss when comparing
to C++ animations
- Development is ongoing!
Thank you!
Contact:
bruno.abinader@openbossa.org
abinader @ irc.freenode.org

Más contenido relacionado

Destacado

Python-purple: Desenvolvendo bindings para Python usando o Cython
Python-purple: Desenvolvendo bindings para Python usando o CythonPython-purple: Desenvolvendo bindings para Python usando o Cython
Python-purple: Desenvolvendo bindings para Python usando o Cython
Bruno Abinader
 
XVII SAMET - Dr. Gerson Cavalheiro [Programação com Open MP - 01.12.2010 4ª ...
XVII SAMET - Dr. Gerson Cavalheiro [Programação com Open MP - 01.12.2010  4ª ...XVII SAMET - Dr. Gerson Cavalheiro [Programação com Open MP - 01.12.2010  4ª ...
XVII SAMET - Dr. Gerson Cavalheiro [Programação com Open MP - 01.12.2010 4ª ...
Dafmet Ufpel
 
Lab so-abertos-unidade14
Lab so-abertos-unidade14Lab so-abertos-unidade14
Lab so-abertos-unidade14
Leandro Almeida
 
MiniCurso Programação Paralela com OpenMP - SACTA 2013
MiniCurso Programação Paralela com OpenMP - SACTA 2013MiniCurso Programação Paralela com OpenMP - SACTA 2013
MiniCurso Programação Paralela com OpenMP - SACTA 2013
Arthur Francisco Lorenzon
 
(08)inicializacao e gerencia_de_processos
(08)inicializacao e gerencia_de_processos(08)inicializacao e gerencia_de_processos
(08)inicializacao e gerencia_de_processos
Anderson Lago
 

Destacado (16)

OpenMP Day1
OpenMP Day1OpenMP Day1
OpenMP Day1
 
Python-purple: Desenvolvendo bindings para Python usando o Cython
Python-purple: Desenvolvendo bindings para Python usando o CythonPython-purple: Desenvolvendo bindings para Python usando o Cython
Python-purple: Desenvolvendo bindings para Python usando o Cython
 
M2ti - Python Brasil
M2ti - Python BrasilM2ti - Python Brasil
M2ti - Python Brasil
 
XVII SAMET - Dr. Gerson Cavalheiro [Programação com Open MP - 01.12.2010 4ª ...
XVII SAMET - Dr. Gerson Cavalheiro [Programação com Open MP - 01.12.2010  4ª ...XVII SAMET - Dr. Gerson Cavalheiro [Programação com Open MP - 01.12.2010  4ª ...
XVII SAMET - Dr. Gerson Cavalheiro [Programação com Open MP - 01.12.2010 4ª ...
 
OpenMP Day 3
OpenMP Day 3OpenMP Day 3
OpenMP Day 3
 
Curso openmp
Curso openmpCurso openmp
Curso openmp
 
Aula CRONTAB
Aula CRONTABAula CRONTAB
Aula CRONTAB
 
Lab so-abertos-unidade14
Lab so-abertos-unidade14Lab so-abertos-unidade14
Lab so-abertos-unidade14
 
CUDA/Open CL
CUDA/Open CLCUDA/Open CL
CUDA/Open CL
 
MiniCurso Programação Paralela com OpenMP - SACTA 2013
MiniCurso Programação Paralela com OpenMP - SACTA 2013MiniCurso Programação Paralela com OpenMP - SACTA 2013
MiniCurso Programação Paralela com OpenMP - SACTA 2013
 
Grupo de Estudos de Softwares Livres
Grupo de Estudos de Softwares LivresGrupo de Estudos de Softwares Livres
Grupo de Estudos de Softwares Livres
 
(08)inicializacao e gerencia_de_processos
(08)inicializacao e gerencia_de_processos(08)inicializacao e gerencia_de_processos
(08)inicializacao e gerencia_de_processos
 
Desenvolvendo Aplicações de Uso Geral para GPU com CUDA
Desenvolvendo Aplicações de Uso Geral para GPU com CUDADesenvolvendo Aplicações de Uso Geral para GPU com CUDA
Desenvolvendo Aplicações de Uso Geral para GPU com CUDA
 
Introdução à Shellscript
Introdução à ShellscriptIntrodução à Shellscript
Introdução à Shellscript
 
Desenvolvendo aplicações Mobile em Python
Desenvolvendo aplicações Mobile em PythonDesenvolvendo aplicações Mobile em Python
Desenvolvendo aplicações Mobile em Python
 
Introduction to NumPy (PyData SV 2013)
Introduction to NumPy (PyData SV 2013)Introduction to NumPy (PyData SV 2013)
Introduction to NumPy (PyData SV 2013)
 

Último

IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
Enterprise Knowledge
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
vu2urc
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
giselly40
 

Último (20)

08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
Tech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfTech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdf
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 

Plasma Animations Overview (aka. Pimp my Plasmoids!)

  • 1. Plasma Animations Overview aka. Pimp my Plasmoids! Bruno de Oliveira Abinader (abinader) Igor Trindade Oliveira (igorto) July 7th, 2010
  • 4. Plasma Animations Overview Fade | Geometry | Grow | PixmapTransition | Pulser Rotation | RotationStacked | Slide | Zoom
  • 5. Plasma Animations Overview Fade | Geometry | Grow | PixmapTransition | Pulser | Rotation | RotationStacked | Slide | Zoom Animations can be subclassed from: Plasma::Animation Implements updateCurrentTime(int) Plasma::EasingAnimation Implements updateEffectiveTime(int)
  • 6. Plasma Animations Overview Fade | Geometry | Grow | PixmapTransition | Pulser | Rotation | RotationStacked | Slide | Zoom Transforms the opacity of an object from a starting value to a target value Ranges from 0.0 (transparent) to 1.0 (opaque) Properties: startOpacity – sets the initial opacity value targetOpacity – sets the final opacity value
  • 7. Plasma Animations Overview Fade | Geometry | Grow | PixmapTransition | Pulser | Rotation | RotationStacked | Slide | Zoom Updates the widget geometry (position, size) from a start QRectF to a target QRectF Properties: startGeometry – sets the initial geometry value targetGeometry – sets the final geometry value (target is an adjusted QrectF from start)
  • 8. Plasma Animations Overview Fade | Geometry | Grow | PixmapTransition | Pulser | Rotation | RotationStacked | Slide | Zoom Updates the widget geometry (position, size) using a grow factor (qreal) Properties: factor – grow factor which is a multiple from the initial values
  • 9. Plasma Animations Overview Fade | Geometry | Grow | PixmapTransition | Pulser | Rotation | RotationStacked | Slide | Zoom Animates a faded transition between two QPixmaps Properties: startPixmap – Initial pixmap displayed targetPixmap – Target pixmap (animation end) currentPixmap – Current animation pixmap
  • 10. Plasma Animations Overview Fade | Geometry | Grow | PixmapTransition | Pulser | Rotation | RotationStacked | Slide | Zoom Creates a pulse effect behind the widget, scaling and diminishing opacity until it disappears Properties: targetScale – Pulse scaling factor (qreal)
  • 11. Plasma Animations Overview Fade | Geometry | Grow | PixmapTransition | Pulser | Rotation | RotationStacked | Slide | Zoom Rotates a widget on a given axis, using a rotation reference with a given angle Properties: axis – Rotation axis (X, Y or Z) reference – Rotation reference (Center, Up, Down, Left, Right) angle – Rotation angle (eg. 0, -90 or 180)
  • 12. Plasma Animations Overview Fade | Geometry | Grow | PixmapTransition | Pulser | Rotation | RotationStacked | Slide | Zoom Flips 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 inserted backWidget – Pointer to the back widget
  • 13. Plasma Animations Overview Fade | Geometry | Grow | PixmapTransition | Pulser | Rotation | RotationStacked | Slide | Zoom Moves a widget to a given direction with a given distance Properties: distance – Movement distance in pixels movementDirection – Movement direction (MoveUp, MoveDown, MoveLeft, MoveRight or MoveAny) distancePointF – Movement distance as a QpointF
  • 14. Plasma Animations Overview Fade | Geometry | Grow | PixmapTransition | Pulser | Rotation | RotationStacked | Slide | Zoom Scales a widget using a given zoom factor Properties: zoom – Scaling factor (qreal)
  • 15. Future of Plasma Animations? JavaScript!
  • 16. JavaScript Animations - Easier to maintain - Implemented on a single file which is unique for each theme - No significant performance loss when comparing to C++ animations - Development is ongoing!