1
0
Fork 0
mutter-performance-source/clutter
Neil Roberts 9ee6dd240b cogl: Support retained paths
This adds three new API calls:

  CoglHandle cogl_path_get()
  void cogl_path_set(CoglHandle path)
  CoglHandle cogl_path_copy(CoglHandle path)

All of the fields relating to the path have been moved from the Cogl
context to a new CoglPath handle type. The cogl context now just
contains a CoglPath handle. All of the existing path commands
manipulate the data in the current path handle. cogl_path_new now just
creates a new path handle and unrefs the old one.

The path handle can be stored for later with cogl_path_get. The path
can then be copied with cogl_path_copy. Internally it implements
copy-on-write semantics with an extra optimisation that it will only
copy the data if the new path is modified, but not if the original
path is modified. It can do this because the only way to modify a path
is by appending to it so the copied path is able to store its own path
length and only render the nodes up to that length. For this to work
the copied path also needs to keep its own copies of the path extents
because the parent path may change these by adding nodes.

The clip stack now uses the cogl_path_copy mechanism to store paths in
the stack instead of directly copying the data. This should save some
memory and processing time.
2010-04-08 19:53:38 +01:00
..
cogl cogl: Support retained paths 2010-04-08 19:53:38 +01:00
eglnative eglnative: Connect StageWindow.show and .hide 2010-03-05 08:48:52 +00:00
eglx Remove mentions of the FSF address 2010-03-01 12:56:10 +00:00
fruity Remove mentions of the FSF address 2010-03-01 12:56:10 +00:00
glx Make sure GLX_SGI_swap_control is set up correctly 2010-03-22 11:23:55 +00:00
json json: Update JsonParser 2010-03-19 11:13:04 +00:00
osx Remove mentions of the FSF address 2010-03-01 12:56:10 +00:00
win32 Remove mentions of the FSF address 2010-03-01 12:56:10 +00:00
x11 x11: Use has_allocation() in TfP actor 2010-03-26 00:46:43 +00:00
clutter-actor.c actor: Add has_allocation() method 2010-03-26 00:46:31 +00:00
clutter-actor.h actor: Add has_allocation() method 2010-03-26 00:46:31 +00:00
clutter-alpha.c Remove mentions of the FSF address 2010-03-01 12:56:10 +00:00
clutter-alpha.h
clutter-animatable.c [animatable] Allow validation in ::animate_property 2009-05-27 13:01:31 +01:00
clutter-animatable.h docs: Documentation fixes 2010-03-02 11:12:32 +00:00
clutter-animation.c animation: Fix a typo 2010-02-25 12:01:03 +00:00
clutter-animation.h [animation] Add Animation::update() 2009-08-25 12:16:41 +01:00
clutter-animator.c animator: compare floating point values with an epsilon 2010-03-03 15:53:07 +00:00
clutter-animator.h animator: s/clutter_animator_run/clutter_animator_start/ 2010-03-02 17:03:03 +00:00
clutter-backend.c Add error reporting for create_context() failures 2010-03-17 17:40:34 +00:00
clutter-backend.h device: Impose per-backend DeviceManager 2010-02-17 17:46:48 +00:00
clutter-behaviour-depth.c Remove mentions of the FSF address 2010-03-01 12:56:10 +00:00
clutter-behaviour-depth.h
clutter-behaviour-ellipse.c Remove mentions of the FSF address 2010-03-01 12:56:10 +00: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 Remove mentions of the FSF address 2010-03-01 12:56:10 +00:00
clutter-behaviour-opacity.h
clutter-behaviour-path.c Remove mentions of the FSF address 2010-03-01 12:56:10 +00:00
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 mentions of the FSF address 2010-03-01 12:56:10 +00: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 mentions of the FSF address 2010-03-01 12:56:10 +00:00
clutter-behaviour-scale.h Remove the last few fixed-point entry points 2009-06-19 16:38:35 +01:00
clutter-behaviour.c Remove mentions of the FSF address 2010-03-01 12:56:10 +00:00
clutter-behaviour.h
clutter-bezier.c Remove mentions of the FSF address 2010-03-01 12:56:10 +00:00
clutter-bezier.h
clutter-bin-layout.c Fix some compiler warnings 2010-02-09 16:58:03 +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
clutter-box-layout.c Add "homogeneous" mode to ClutterBoxLayout. 2010-03-25 09:41:54 +00:00
clutter-box-layout.h Add "homogeneous" mode to ClutterBoxLayout. 2010-03-25 09:41:54 +00:00
clutter-box.c box: Fix allow-none annotation 2010-03-03 10:47:42 +00:00
clutter-box.h docs: Documentation fixes 2010-03-02 11:12:32 +00:00
clutter-cairo-texture.c Remove mentions of the FSF address 2010-03-01 12:56:10 +00:00
clutter-cairo-texture.h Remove mentions of the FSF address 2010-03-01 12:56:10 +00:00
clutter-child-meta.c Remove mentions of the FSF address 2010-03-01 12:56:10 +00:00
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 Remove mentions of the FSF address 2010-03-01 12:56:10 +00:00
clutter-color.h [misc] Update headers #endif comments 2009-06-29 21:37:02 +02:00
clutter-container.c Remove mentions of the FSF address 2010-03-01 12:56:10 +00:00
clutter-container.h docs: Documentation fixes 2010-03-02 11:12:32 +00:00
clutter-debug.h Adds initial clipped redraw support to Clutter 2010-03-02 17:19:11 +00:00
clutter-deprecated.h Fix copy-and-paste errors in the deprecation macros 2009-07-21 09:22:38 +01:00
clutter-device-manager.c device: Impose per-backend DeviceManager 2010-02-17 17:46:48 +00:00
clutter-device-manager.h docs: Documentation fixes 2010-03-02 11:12:32 +00:00
clutter-enum-types.c.in Use g_once when registering enumeration types 2009-05-29 12:40:23 +01:00
clutter-enum-types.h.in
clutter-event.c Remove mentions of the FSF address 2010-03-01 12:56:10 +00:00
clutter-event.h device: Allow updating devices from embedding toolkits 2010-02-17 18:21:50 +00:00
clutter-feature.c Emit a critical warning if features are not initialized 2010-03-18 14:15:33 +00:00
clutter-feature.h docs: Document SWAP_EVENTS feature flag 2010-02-15 19:03:37 +00:00
clutter-fixed-layout.c fixed layout: Store a back pointer to the Container 2010-02-24 12:25:53 +00:00
clutter-fixed-layout.h [layout, docs] Document FixedLayout 2009-10-14 11:31:29 +01:00
clutter-fixed.c Remove mentions of the FSF address 2010-03-01 12:56:10 +00:00
clutter-fixed.h
clutter-flow-layout.c flow-layout: Provide a preferred size 2010-03-02 15:11:27 +00:00
clutter-flow-layout.h [layout] Remove FlowLayout:wrap 2009-10-14 11:31:30 +01:00
clutter-frame-source.c Remove mentions of the FSF address 2010-03-01 12:56:10 +00:00
clutter-frame-source.h
clutter-group.c Remove mentions of the FSF address 2010-03-01 12:56:10 +00:00
clutter-group.h [group] avoid double evaluation of arguments in clutter_group_add 2009-04-08 18:19:46 +01:00
clutter-id-pool.c Remove mentions of the FSF address 2010-03-01 12:56:10 +00:00
clutter-id-pool.h
clutter-input-device.c device: When changing the stage, unset the pointer actor 2010-02-26 11:19:26 +00:00
clutter-input-device.h device: Allow updating devices from embedding toolkits 2010-02-17 18:21:50 +00:00
clutter-interval.c Conditionally use G_VALUE_COLLECT_INIT() macro 2010-02-25 10:22:36 +00: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 Remove mentions of the FSF address 2010-03-01 12:56:10 +00:00
clutter-layout-manager.c Conditionally use G_VALUE_COLLECT_INIT() macro 2010-02-25 10:22:36 +00:00
clutter-layout-manager.h layout: Let begin_animation() return the Alpha 2009-12-13 01:23:54 +00:00
clutter-layout-meta.c [layout] Add LayoutMeta 2009-10-14 11:31:26 +01:00
clutter-layout-meta.h layout: Add padding to LayoutMeta 2009-12-02 11:36:25 +00:00
clutter-list-model.c Remove mentions of the FSF address 2010-03-01 12:56:10 +00:00
clutter-list-model.h
clutter-main.c Add error reporting for create_context() failures 2010-03-17 17:40:34 +00:00
clutter-main.h Remove clutter_set_default_text_direction() 2009-12-07 19:00:55 +00:00
clutter-marshal.list Add ClutterDeviceManager 2010-01-20 00:38:07 +00:00
clutter-master-clock.c stage: Add sanity checks for get_pending_swaps() 2010-02-15 12:04:50 +00:00
clutter-master-clock.h ensure next iteration 2009-07-10 11:38:42 +01:00
clutter-media.c media: Add an API to specify which font should be used for subtitles 2010-01-11 13:04:16 +00:00
clutter-media.h docs: Documentation fixes 2010-03-02 11:12:32 +00:00
clutter-model-private.h [model] Add a private row mutator to ClutterModelIter 2009-05-05 20:18:28 +01:00
clutter-model.c model: Let get_n_columns() return a sane value 2010-03-17 17:14:08 +00:00
clutter-model.h Add more padding in Model and ModelIter classes 2009-05-20 16:06:09 +01:00
clutter-path.c docs: Use % for defines not # 2010-02-04 21:10:02 +00: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 Add error reporting for create_context() failures 2010-03-17 17:40:34 +00:00
clutter-profile.c profile: avoid segfault generating reports with no stats 2010-03-01 15:25:45 +00:00
clutter-profile.h profiling: Allow limiting statisics just to picking 2010-01-08 20:19:50 +00:00
clutter-rectangle.c Remove mentions of the FSF address 2010-03-01 12:56:10 +00:00
clutter-rectangle.h
clutter-score.c Remove mentions of the FSF address 2010-03-01 12:56:10 +00:00
clutter-score.h
clutter-script-parser.c script: Add more comments and annotations 2010-03-18 20:20:09 +00:00
clutter-script-private.h Remove mentions of the FSF address 2010-03-01 12:56:10 +00:00
clutter-script.c Remove mentions of the FSF address 2010-03-01 12:56:10 +00:00
clutter-script.h
clutter-scriptable.c Remove mentions of the FSF address 2010-03-01 12:56:10 +00:00
clutter-scriptable.h docs: Documentation fixes 2010-03-02 11:12:32 +00:00
clutter-shader-types.c Remove mentions of the FSF address 2010-03-01 12:56:10 +00:00
clutter-shader-types.h [cogl] Remove the COGL{enum,int,uint} typedefs 2009-05-12 14:53:44 +01:00
clutter-shader.c Remove mentions of the FSF address 2010-03-01 12:56:10 +00:00
clutter-shader.h [shader] Remove deprecated set_uniform_1f() 2009-04-03 12:47:21 +01:00
clutter-stage-manager.c stage: Only clutter_stage_get_default() creates the default stage 2010-02-18 17:01:57 +00:00
clutter-stage-manager.h docs: Fix gtk-doc annotation for ClutterStageManageClass 2010-03-03 10:49:34 +00:00
clutter-stage-window.c Adds initial clipped redraw support to Clutter 2010-03-02 17:19:11 +00:00
clutter-stage-window.h Adds initial clipped redraw support to Clutter 2010-03-02 17:19:11 +00:00
clutter-stage.c Adds initial clipped redraw support to Clutter 2010-03-02 17:19:11 +00:00
clutter-stage.h [stage] Add set/get_minumum_size 2010-02-06 11:23:37 +00:00
clutter-text.c analysis: ClutterText 2010-02-12 14:50:11 +00:00
clutter-text.h text: Add :font-description 2010-02-03 14:38:13 +00:00
clutter-texture.c Remove mentions of the FSF address 2010-03-01 12:56:10 +00:00
clutter-texture.h [cogl] Remove max_waste argument from Texture ctors 2009-05-23 19:35:19 +01:00
clutter-timeline.c Remove mentions of the FSF address 2010-03-01 12:56:10 +00:00
clutter-timeline.h Remove the last few fixed-point entry points 2009-06-19 16:38:35 +01:00
clutter-timeout-interval.c Whitespace fixes 2010-02-01 10:40:34 +00:00
clutter-timeout-interval.h
clutter-timeout-pool.c Remove mentions of the FSF address 2010-03-01 12:56:10 +00:00
clutter-timeout-pool.h
clutter-types.h Fix errors in keeping track of the stage bounding rectangle 2010-03-19 10:29:53 +00:00
clutter-units.c Remove mentions of the FSF address 2010-03-01 12:56:10 +00:00
clutter-units.h units: Cache the pixels value inside Units 2009-10-16 15:25:37 +01:00
clutter-util.c Remove mentions of the FSF address 2010-03-01 12:56:10 +00:00
clutter-util.h Deprecate clutter_util_next_p2() 2010-02-06 10:49:33 +00:00
clutter-version.h.in docs: Documentation fixes 2010-03-02 11:12:32 +00:00
clutter.h Remove mentions of the FSF address 2010-03-01 12:56:10 +00:00
Makefile.am build: Fixes out of tree builds 2010-03-01 15:25:45 +00:00