Este documento presenta una introducción a Clutter, una librería gráfica para la creación de interfaces de usuario 2D e interactivas. Explica conceptos básicos como escenarios, actores, líneas de tiempo y efectos. También cubre bindings para diferentes lenguajes de programación, extensiones como clutter-gtk e historia y contexto tecnológico de Clutter.
1. Introducci´n a Clutter Bindings y extensiones Contexto
o
Clutter
Librer´ bindings y tecnolog´ relacionadas
ıa, ıas
Alfredo Beaumont
TOOLKOM
Akademy-es’10
08 de Mayo de 2010
Alfredo Beaumont TOOLKOM — Clutter 1/17
2. Introducci´n a Clutter Bindings y extensiones Contexto
o
Outline
1 Introducci´n a Clutter
o
2 Bindings y extensiones
3 Contexto
Alfredo Beaumont TOOLKOM — Clutter 2/17
3. Introducci´n a Clutter Bindings y extensiones Contexto
o
Outline
1 Introducci´n a Clutter
o
2 Bindings y extensiones
3 Contexto
Alfredo Beaumont TOOLKOM — Clutter 3/17
4. Introducci´n a Clutter Bindings y extensiones Contexto
o
Outline
1 Introducci´n a Clutter
o
Conceptos b´sicos
a
Alfredo Beaumont TOOLKOM — Clutter 4/17
5. Introducci´n a Clutter Bindings y extensiones Contexto
o
Qu´ es Clutter
e
Librer´ Gr´fica
ıa a
OpenGL y OpenGL ES
GPU: COGL
2D con manipulaci´n 3D
o
Soporte de scripting JSON
Framework de animaci´no
Basado en GObject, integraci´n tecnolog´ relacionadas
o ıas
En C, m´ltiples bindings
u
Multiplataforma
Alfredo Beaumont TOOLKOM — Clutter 5/17
6. Introducci´n a Clutter Bindings y extensiones Contexto
o
Nociones b´sicas
a
Escenario (stage)
Actores (actor)
L´
ıneas de tiempo (timeline)
Efectos (alpha)
Comportamientos (behaviour)
Animaciones (animation)
Alfredo Beaumont TOOLKOM — Clutter 6/17
7. Introducci´n a Clutter Bindings y extensiones Contexto
o
Actores
Texto (editable)
Imagen/Textura
Cairo
Podemos dibujar en texturas
Gstreamer (clutter-gst)
Video en las texturas
Audio
Sistema de objetos (GObject). Extensible
clutter-webkit
clutter-mozembed
Alfredo Beaumont TOOLKOM — Clutter 7/17
8. Introducci´n a Clutter Bindings y extensiones Contexto
o
Timeline, alpha, behavior
Timeline
Sistema de temporizaci´n avanzado
o
Tiempo, bucles
Callbacks (inicio, final, durante, por frame)
Score: agrupaci´n de timelines
o
Alpha
funciones de transici´no
duraci´n de tiempo
o
lineal, senoidal, etc.
Behaviour
Transiciones
Timeline, Alpha, inicio, fin
Animation: Timeline+Alpha+Behaviour
Alfredo Beaumont TOOLKOM — Clutter 8/17
9. Introducci´n a Clutter Bindings y extensiones Contexto
o
Ejemplo
Ejemplo 1
Alfredo Beaumont TOOLKOM — Clutter 9/17
10. Introducci´n a Clutter Bindings y extensiones Contexto
o
Scripting JSON
Permite definir un escenario, sin programar
Ejemplo 2
Alfredo Beaumont TOOLKOM — Clutter 10/17
11. Introducci´n a Clutter Bindings y extensiones Contexto
o
Outline
1 Introducci´n a Clutter
o
2 Bindings y extensiones
3 Contexto
Alfredo Beaumont TOOLKOM — Clutter 11/17
12. Introducci´n a Clutter Bindings y extensiones Contexto
o
Bindings
C++
Python
Ruby
Scheme (Guile)
Perl
Vala
JavaScript
C#
Alfredo Beaumont TOOLKOM — Clutter 12/17
13. Introducci´n a Clutter Bindings y extensiones Contexto
o
Ejemplo
Ejemplo 3
Alfredo Beaumont TOOLKOM — Clutter 13/17
14. Introducci´n a Clutter Bindings y extensiones Contexto
o
Extensiones/UI
clutter-gtk
Permite integrar aplicaciones GTK+ en clutter
clutter-qt
Nbtk
Mx
Alfredo Beaumont TOOLKOM — Clutter 14/17
15. Introducci´n a Clutter Bindings y extensiones Contexto
o
Outline
1 Introducci´n a Clutter
o
2 Bindings y extensiones
3 Contexto
Alfredo Beaumont TOOLKOM — Clutter 15/17
16. Introducci´n a Clutter Bindings y extensiones Contexto
o
Contexto
Historia
OpenedHand
Intel
Moblin
Maemo
Meego
Tecnolog´ relacionadas
ıas
Qt Quick
Alfredo Beaumont TOOLKOM — Clutter 16/17
17. Introducci´n a Clutter Bindings y extensiones Contexto
o
¿ Preguntas ?
Alfredo Beaumont
alfredo.beaumont@gmail.org
alfredo.beaumont@jabber.org
abeaumont @ freenode/identica
http://alfredobeaumont.org
Alfredo Beaumont TOOLKOM — Clutter 17/17