mutter/clutter
Emmanuele Bassi 15a04a1dd3 layout-manager: Create LayoutMeta on demand
The ClutterLayoutMeta instances should be created on demand, whenever
the layout manager needs them - if the layout manager supports layout
properties.

This removes the requirement to call add_child_meta() and
remove_child_meta() on add and remove respectively; it also simplifies
the implementation of LayoutManager sub-classes since we can add
fallback code in the base abstract class.

Eventually, this will also lead to an easier to implement ClutterScript
parser for layout properties.

With the new scheme, the ClutterLayoutMeta instance is created whenever
the layout manager tries to access it; if there isn't an instance
already attached to the container's child, one is created -- assuming
that the LayoutManager sub-class has overridden the
get_child_meta_type() virtual function and it's returning a valid GType.

We can also provide a default implementation for create_child_meta(),
by getting the GType and instantiating a ClutterLayoutMeta with all the
fields already set. If the layout manager requires more work then it can
obviously override the default implementation (and even chain up to it).

The ClutterBox actor has been updated, as well as the ClutterBoxLayout
layout manager, to take advantage of the changes of LayoutManager.
2009-11-30 19:11:00 +00:00
..
cogl cogl: Enable blending if a lighting colour is semi-transparent 2009-11-30 19:08:38 +00:00
eglnative Intial Re-layout of the Cogl source code and introduction of a Cogl Winsys 2009-10-16 18:58:50 +01:00
eglx Intial Re-layout of the Cogl source code and introduction of a Cogl Winsys 2009-10-16 18:58:50 +01:00
fruity Intial Re-layout of the Cogl source code and introduction of a Cogl Winsys 2009-10-16 18:58:50 +01:00
glx Intial Re-layout of the Cogl source code and introduction of a Cogl Winsys 2009-10-16 18:58:50 +01:00
json build: Use QUIET_GEN when building ClutterJson GIR 2009-10-18 17:11:42 +01:00
osx osx: Fix a warning on Snow Leopard 2009-11-06 11:48:42 +00:00
sdl Intial Re-layout of the Cogl source code and introduction of a Cogl Winsys 2009-10-16 18:58:50 +01:00
win32 win32: Remove the check for GL 1.2 2009-11-13 17:23:13 +00:00
x11 docs: Fix the 'Since' annotation for some functions 2009-11-19 11:51:21 +00:00
clutter-actor.c Remove all internal use of deprecated cogl_clip_* API 2009-11-05 21:10:18 +00:00
clutter-actor.h actor: Add set_request_mode() method 2009-10-14 11:31:30 +01:00
clutter-alpha.c docs: Document the AnimationMode definition 2009-11-13 15:01:17 +00:00
clutter-alpha.h
clutter-animatable.c
clutter-animatable.h
clutter-animation.c animation: Keep a weak reference on actors 2009-11-24 16:59:24 +00:00
clutter-animation.h [animation] Add Animation::update() 2009-08-25 12:16:41 +01:00
clutter-backend.c Validate that the GL version is >= 1.2 2009-11-13 15:55:48 +00:00
clutter-backend.h [backends] Remove the idea of offscreen stages from all backends 2009-10-16 18:58:47 +01:00
clutter-behaviour-depth.c
clutter-behaviour-depth.h [docs] Bring down the undocumented symbols to 2% 2009-03-16 15:00:55 +00:00
clutter-behaviour-ellipse.c Remove the last few fixed-point entry points 2009-06-19 16:38:35 +01:00
clutter-behaviour-ellipse.h Remove the last few fixed-point entry points 2009-06-19 16:38:35 +01:00
clutter-behaviour-opacity.c
clutter-behaviour-opacity.h
clutter-behaviour-path.c
clutter-behaviour-path.h docs: Fix the 'Since' annotation for some functions 2009-11-19 11:51:21 +00:00
clutter-behaviour-rotate.c Remove the last few fixed-point entry points 2009-06-19 16:38:35 +01:00
clutter-behaviour-rotate.h Remove the last few fixed-point entry points 2009-06-19 16:38:35 +01:00
clutter-behaviour-scale.c Remove the last few fixed-point entry points 2009-06-19 16:38:35 +01:00
clutter-behaviour-scale.h Remove the last few fixed-point entry points 2009-06-19 16:38:35 +01:00
clutter-behaviour.c behaviour: Implement the implicit alpha parsing 2009-11-06 11:39:30 +00:00
clutter-behaviour.h
clutter-bezier.c
clutter-bezier.h
clutter-bin-layout.c bin-layout: Add get_child_meta_type() override 2009-11-05 12:26:10 +00:00
clutter-bin-layout.h [layout, docs] Clean up BinLayout documentation 2009-10-14 11:31:29 +01:00
clutter-binding-pool.c Pass the interned string value to the binding callback 2009-11-17 21:32:17 +00:00
clutter-binding-pool.h Add declaration of clutter_binding_pool_get_type() 2009-01-14 15:03:30 +00:00
clutter-box-layout.c layout-manager: Create LayoutMeta on demand 2009-11-30 19:11:00 +00:00
clutter-box-layout.h layout: Add BoxLayout, a single line layout manager 2009-10-14 11:31:48 +01:00
clutter-box.c layout-manager: Create LayoutMeta on demand 2009-11-30 19:11:00 +00:00
clutter-box.h [layout] Typo and whitespace fixes 2009-10-14 11:31:30 +01:00
clutter-cairo-texture.c [ClutterCairoTexture] Use the right component ordering when uploading data 2009-06-15 12:41:13 +01:00
clutter-cairo-texture.h
clutter-child-meta.c
clutter-child-meta.h
clutter-clone.c clone: Set :source as CONSTRUCT 2009-10-22 15:51:06 +01:00
clutter-clone.h
clutter-color.c color: Fix HLS-to-RGB conversion 2009-10-26 16:29:31 +00:00
clutter-color.h [misc] Update headers #endif comments 2009-06-29 21:37:02 +02:00
clutter-container.c [container] Remove the unused 'object' variable in destroy_child_meta 2009-09-22 17:55:04 +01:00
clutter-container.h
clutter-debug.h [debug] Adds a dump-pick-buffers CLUTTER_DEBUG option 2009-09-24 21:41:49 +01:00
clutter-deprecated.h Fix copy-and-paste errors in the deprecation macros 2009-07-21 09:22:38 +01:00
clutter-enum-types.c.in
clutter-enum-types.h.in
clutter-event.c [input] Rework input device API 2009-06-19 13:12:05 +01:00
clutter-event.h [input] Rework input device API 2009-06-19 13:12:05 +01:00
clutter-feature.c Hide clutter_context_get_default() 2009-06-18 14:20:28 +01:00
clutter-feature.h 2008-10-30 Emmanuele Bassi <ebassi@linux.intel.com> 2008-10-30 17:04:34 +00:00
clutter-fixed-layout.c [layout] Update FixedLayout 2009-10-14 11:31:30 +01:00
clutter-fixed-layout.h [layout, docs] Document FixedLayout 2009-10-14 11:31:29 +01:00
clutter-fixed.c
clutter-fixed.h
clutter-flow-layout.c docs: Add images for layout managers 2009-10-23 17:32:18 +01:00
clutter-flow-layout.h [layout] Remove FlowLayout:wrap 2009-10-14 11:31:30 +01:00
clutter-frame-source.c
clutter-frame-source.h
clutter-group.c [group] Fix copy & paste error from 857b0239e (Use FixedLayout inside Group) 2009-10-20 16:18:53 +01:00
clutter-group.h
clutter-id-pool.c [clutter-id-pool] Also warn if the ID refers to a deleted actor 2009-10-07 12:53:19 +01:00
clutter-id-pool.h
clutter-interval.c Simple coding style fix for commit c5551184 2009-10-16 15:57:21 +01:00
clutter-interval.h
clutter-json.h.in [json] Include only json-glib.h 2009-08-12 15:31:16 +01:00
clutter-keysyms-table.h
clutter-keysyms.h
clutter-layout-manager.c layout-manager: Create LayoutMeta on demand 2009-11-30 19:11:00 +00:00
clutter-layout-manager.h layout-manager: Create LayoutMeta on demand 2009-11-30 19:11:00 +00:00
clutter-layout-meta.c [layout] Add LayoutMeta 2009-10-14 11:31:26 +01:00
clutter-layout-meta.h [layout] Add LayoutMeta 2009-10-14 11:31:26 +01:00
clutter-list-model.c
clutter-list-model.h
clutter-main.c Use the correct colour when clearing the stage for picking 2009-11-30 19:09:05 +00:00
clutter-main.h
clutter-marshal.list
clutter-master-clock.c ensure next iteration 2009-07-10 11:38:42 +01:00
clutter-master-clock.h ensure next iteration 2009-07-10 11:38:42 +01:00
clutter-media.c
clutter-media.h
clutter-model-private.h
clutter-model.c [docs] Clutter's model implementation is called ClutterListModel 2009-09-10 13:28:54 +01:00
clutter-model.h
clutter-path.c [path] Add GValue transform functions from and to G_TYPE_STRING 2009-10-07 16:06:26 +01:00
clutter-path.h [path] MOVE_TO and LINE_TO only use a pair of coordinates 2009-10-06 10:43:41 +01:00
clutter-private.h Validate that the GL version is >= 1.2 2009-11-13 15:55:48 +00:00
clutter-rectangle.c Revert "[rectangle] Avoid modifying materials mid scene" 2009-06-30 17:13:38 +01:00
clutter-rectangle.h
clutter-score.c
clutter-score.h
clutter-script-parser.c Whitespace fixes 2009-11-13 15:01:17 +00:00
clutter-script-private.h behaviour: Implement the implicit alpha parsing 2009-11-06 11:39:30 +00:00
clutter-script.c script: Coding style clean-ups 2009-11-06 14:07:46 +00:00
clutter-script.h
clutter-scriptable.c
clutter-scriptable.h 2008-10-30 Emmanuele Bassi <ebassi@linux.intel.com> 2008-10-30 17:04:34 +00:00
clutter-shader-types.c Convert gint to GLints in the Shader types wrapper 2009-07-27 15:01:52 +01:00
clutter-shader-types.h
clutter-shader.c
clutter-shader.h
clutter-stage-manager.c docs: Documentation fixes 2009-10-19 12:01:38 +01:00
clutter-stage-manager.h stage/manager: Deprecate set_default_stage() 2009-10-14 09:07:11 +01:00
clutter-stage-window.c [stage] Rework the Stage implementation class 2009-09-08 10:52:58 +01:00
clutter-stage-window.h [stage] Rework the Stage implementation class 2009-09-08 10:52:58 +01:00
clutter-stage.c picking: avoid redundant picking geometry for the stage. 2009-11-27 00:43:57 +00:00
clutter-stage.h Allow disabling motion event throttling 2009-07-20 11:44:52 +01:00
clutter-text.c docs: Fix the 'Since' annotation for some functions 2009-11-19 11:51:21 +00:00
clutter-text.h docs: Documentation fixes 2009-10-19 12:01:38 +01:00
clutter-texture.c cogl: deprecate cogl_draw_buffer API and replace with a cogl_framebuffer API 2009-11-26 19:33:14 +00:00
clutter-texture.h
clutter-timeline.c [timeline] Account for clock roll backs between frames 2009-09-16 11:57:57 +01:00
clutter-timeline.h Remove the last few fixed-point entry points 2009-06-19 16:38:35 +01:00
clutter-timeout-interval.c
clutter-timeout-interval.h
clutter-timeout-pool.c [docs] Fix naming of the interval parameter 2009-03-16 16:56:51 +00:00
clutter-timeout-pool.h
clutter-types.h [layout] Add LayoutMeta 2009-10-14 11:31:26 +01:00
clutter-units.c Merge branch 'bug-1846' 2009-10-16 15:55:05 +01:00
clutter-units.h units: Cache the pixels value inside Units 2009-10-16 15:25:37 +01:00
clutter-util.c
clutter-util.h
clutter-version.h.in Add run-time version checks 2009-10-30 11:02:35 +00:00
clutter.h layout: Add BoxLayout, a single line layout manager 2009-10-14 11:31:48 +01:00
Makefile.am Merge branch 'layout-manager' 2009-10-19 11:45:15 +01:00