After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 676827 - layout-manager: Add a new animation API
layout-manager: Add a new animation API
Status: RESOLVED FIXED
Product: clutter
Classification: Platform
Component: general
unspecified
Other All
: Normal normal
: ---
Assigned To: clutter-maint
clutter-maint
Depends on:
Blocks:
 
 
Reported: 2012-05-25 15:50 UTC by Bastian Winkler
Modified: 2012-05-29 12:13 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
layout-manager: Add a private struct to hold future properties (2.59 KB, patch)
2012-05-25 15:51 UTC, Bastian Winkler
committed Details | Review
layout-manager: Add a new animation API (18.26 KB, patch)
2012-05-25 15:51 UTC, Bastian Winkler
committed Details | Review
bin-layout: Implement layout animations (2.23 KB, patch)
2012-05-25 15:51 UTC, Bastian Winkler
committed Details | Review
flow-layout: Implement layout animations (2.24 KB, patch)
2012-05-25 15:51 UTC, Bastian Winkler
committed Details | Review
box-layout: Use the ClutterLayoutManager animation API (12.35 KB, patch)
2012-05-25 15:51 UTC, Bastian Winkler
committed Details | Review
table-layout: Use the ClutterLayoutManager animation API (12.09 KB, patch)
2012-05-25 15:51 UTC, Bastian Winkler
needs-work Details | Review
examples: Update layout-manager example to use the animations API (2.47 KB, patch)
2012-05-25 15:51 UTC, Bastian Winkler
committed Details | Review
table-layout: Use the ClutterLayoutManager animation API (12.00 KB, patch)
2012-05-28 17:41 UTC, Bastian Winkler
committed Details | Review

Description Bastian Winkler 2012-05-25 15:50:58 UTC
It's similar to to the implicit animation API of ClutterActor and compatible
to deprecated API of ClutterBoxLayout and ClutterTableLayout.

It adds :use-animations, :easing-mode, :easing-duration and :easing-delay
properties to control animations when allocation of a child has changed.
Comment 1 Bastian Winkler 2012-05-25 15:51:01 UTC
Created attachment 214953 [details] [review]
layout-manager: Add a private struct to hold future properties

In order to allow the abstract ClutterLayoutManager class to have own
GObject properties we'll need a private structure.
Comment 2 Bastian Winkler 2012-05-25 15:51:04 UTC
Created attachment 214954 [details] [review]
layout-manager: Add a new animation API

It's similar to to the implicit animation API of ClutterActor and
compatible to deprecated API of ClutterBoxLayout and
ClutterTableLayout.

It adds :use-animations, :easing-mode, :easing-duration and
:easing-delay properties to control animations when allocation of a
child has changed. Layout manager implementers should call

use_animations = clutter_layout_manager_get_easing_state (manager,
                                                          &mode,
                                                          &duration,
                                                          &delay);

from the allocate() virtual function to access these values.
Comment 3 Bastian Winkler 2012-05-25 15:51:06 UTC
Created attachment 214955 [details] [review]
bin-layout: Implement layout animations

Allow to animate the child allocation using the ClutterLayoutManager
animation API
Comment 4 Bastian Winkler 2012-05-25 15:51:09 UTC
Created attachment 214956 [details] [review]
flow-layout: Implement layout animations

Allow to animate the child allocation using the ClutterLayoutManager
animation API
Comment 5 Bastian Winkler 2012-05-25 15:51:12 UTC
Created attachment 214957 [details] [review]
box-layout: Use the ClutterLayoutManager animation API

ClutterBoxLayout now only calls the animation API of
ClutterLayoutManager
Comment 6 Bastian Winkler 2012-05-25 15:51:15 UTC
Created attachment 214958 [details] [review]
table-layout: Use the ClutterLayoutManager animation API

ClutterTableLayout now only calls the animation API of
ClutterLayoutManager
Comment 7 Bastian Winkler 2012-05-25 15:51:18 UTC
Created attachment 214959 [details] [review]
examples: Update layout-manager example to use the animations API
Comment 8 Emmanuele Bassi (:ebassi) 2012-05-28 13:35:00 UTC
Review of attachment 214953 [details] [review]:

looks okay
Comment 9 Emmanuele Bassi (:ebassi) 2012-05-28 13:36:06 UTC
Review of attachment 214954 [details] [review]:

looks okay
Comment 10 Emmanuele Bassi (:ebassi) 2012-05-28 13:36:31 UTC
Review of attachment 214955 [details] [review]:

looks okay
Comment 11 Emmanuele Bassi (:ebassi) 2012-05-28 13:37:02 UTC
Review of attachment 214956 [details] [review]:

looks okay
Comment 12 Emmanuele Bassi (:ebassi) 2012-05-28 13:38:30 UTC
Review of attachment 214957 [details] [review]:

looks okay
Comment 13 Emmanuele Bassi (:ebassi) 2012-05-28 13:39:32 UTC
Review of attachment 214958 [details] [review]:

::: clutter/clutter-table-layout.c
@@ +1621,2 @@
                              CLUTTER_PARAM_READWRITE);
+  g_object_class_install_property (gobject_class, PROP_ROW_SPACING, pspec);

you probably mean PROP_EASING_DURATION, not PROP_ROW_SPACING here.
Comment 14 Emmanuele Bassi (:ebassi) 2012-05-28 13:39:52 UTC
Review of attachment 214959 [details] [review]:

looks good
Comment 15 Bastian Winkler 2012-05-28 17:41:17 UTC
Review of attachment 214958 [details] [review]:

looks like my editors completion tricked me. I'm updating the patch
Comment 16 Bastian Winkler 2012-05-28 17:41:33 UTC
Created attachment 215139 [details] [review]
table-layout: Use the ClutterLayoutManager animation API

ClutterTableLayout now only calls the animation API of
ClutterLayoutManager
Comment 17 Bastian Winkler 2012-05-29 12:12:41 UTC
Attachment 214953 [details] pushed as 734720e - layout-manager: Add a private struct to hold future properties
Attachment 214954 [details] pushed as 7f6b17b - layout-manager: Add a new animation API
Attachment 214955 [details] pushed as 03ec016 - bin-layout: Implement layout animations
Attachment 214956 [details] pushed as 320fb15 - flow-layout: Implement layout animations
Attachment 214957 [details] pushed as 58a1854 - box-layout: Use the ClutterLayoutManager animation API
Attachment 214959 [details] pushed as 1339b39 - examples: Update layout-manager example to use the animations API
Attachment 215139 [details] pushed as 793bde9 - table-layout: Use the ClutterLayoutManager animation API