GNOME Bugzilla – Bug 676827
layout-manager: Add a new animation API
Last modified: 2012-05-29 12:13:02 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.
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.
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.
Created attachment 214955 [details] [review] bin-layout: Implement layout animations Allow to animate the child allocation using the ClutterLayoutManager animation API
Created attachment 214956 [details] [review] flow-layout: Implement layout animations Allow to animate the child allocation using the ClutterLayoutManager animation API
Created attachment 214957 [details] [review] box-layout: Use the ClutterLayoutManager animation API ClutterBoxLayout now only calls the animation API of ClutterLayoutManager
Created attachment 214958 [details] [review] table-layout: Use the ClutterLayoutManager animation API ClutterTableLayout now only calls the animation API of ClutterLayoutManager
Created attachment 214959 [details] [review] examples: Update layout-manager example to use the animations API
Review of attachment 214953 [details] [review]: looks okay
Review of attachment 214954 [details] [review]: looks okay
Review of attachment 214955 [details] [review]: looks okay
Review of attachment 214956 [details] [review]: looks okay
Review of attachment 214957 [details] [review]: looks okay
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.
Review of attachment 214959 [details] [review]: looks good
Review of attachment 214958 [details] [review]: looks like my editors completion tricked me. I'm updating the patch
Created attachment 215139 [details] [review] table-layout: Use the ClutterLayoutManager animation API ClutterTableLayout now only calls the animation API of ClutterLayoutManager
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