mutter/common
Robert Bragg ed272213f0 [cogl-handle] Optimize how we define cogl handles
The cogl_is_* functions were showing up quite high on profiles due to
iterating through arrays of cogl handles.

This does away with all the handle arrays and implements a simple struct
inheritance scheme. All cogl objects now add a CoglHandleObject _parent;
member to their main structures. The base object includes 2 members a.t.m; a
ref_count, and a klass pointer. The klass in turn gives you a type and
virtual function for freeing objects of that type.

Each handle type has a _cogl_##handle_type##_get_type () function
automatically defined which returns a GQuark of the handle type, so now
implementing the cogl_is_* funcs is just a case of comparing with
obj->klass->type.

Another outcome of the re-work is that cogl_handle_{ref,unref} are also much
more efficient, and no longer need extending for each handle type added to
cogl. The cogl_##handle_type##_{ref,unref} functions are now deprecated and
are no longer used internally to Clutter or Cogl. Potentially we can remove
them completely before 1.0.
2009-04-02 11:58:43 +01:00
..
cogl-bitmap-fallback.c 2008-06-30 Emmanuele Bassi <ebassi@openedhand.com> 2008-06-30 14:20:46 +00:00
cogl-bitmap-pixbuf.c Add API for extracting image size from a file 2009-01-12 16:52:20 +00:00
cogl-bitmap.c Add API for extracting image size from a file 2009-01-12 16:52:20 +00:00
cogl-bitmap.h Add API for extracting image size from a file 2009-01-12 16:52:20 +00:00
cogl-clip-stack.c [Cogl] the cogl_get_*_matrix functions now work with CoglMatrix types 2009-02-23 10:49:35 +00:00
cogl-clip-stack.h Bug 1172 - Disjoint paths and clip to path 2008-12-04 13:45:09 +00:00
cogl-color.c [cogl-color.c] #include fix for the cogl_set_source_color prototype 2009-02-18 16:19:14 +00:00
cogl-current-matrix.c Finish GLES{1,2} support for client side matrix stacks 2009-03-12 18:55:41 +00:00
cogl-current-matrix.h Virtualize GL matrix operations and use a client-side matrix when GL is indirect 2009-03-12 18:32:45 +00:00
cogl-debug.c [cogl] Add a PANGO debug flag for CoglPango use 2009-03-10 12:38:02 +00:00
cogl-fixed.c Improve accuracy of clutter_sinx() 2009-01-22 15:59:23 +00:00
cogl-handle.h [cogl-handle] Optimize how we define cogl handles 2009-04-02 11:58:43 +01:00
cogl-internal.h Unifies 90% of the code in {gl,gles}/cogl.c in common/cogl.c 2009-04-01 13:19:35 +01:00
cogl-material-private.h [cogl-handle] Optimize how we define cogl handles 2009-04-02 11:58:43 +01:00
cogl-material.c [cogl-handle] Optimize how we define cogl handles 2009-04-02 11:58:43 +01:00
cogl-matrix-stack.c Virtualize GL matrix operations and use a client-side matrix when GL is indirect 2009-03-12 18:32:45 +00:00
cogl-matrix-stack.h Virtualize GL matrix operations and use a client-side matrix when GL is indirect 2009-03-12 18:32:45 +00:00
cogl-matrix.c Virtualize GL matrix operations and use a client-side matrix when GL is indirect 2009-03-12 18:32:45 +00:00
cogl-primitives.c [cogl] Move rect and poly drawing code from cogl-texture.c to cogl-primitives.c 2009-03-23 16:32:07 +00:00
cogl-primitives.h Fix the Cogl primitives for the GLES backend 2009-01-24 00:26:51 +00:00
cogl-util.c [cogl-handle] Optimize how we define cogl handles 2009-04-02 11:58:43 +01:00
cogl-util.h Merged clutter-ivan branch into trunk. 2008-04-25 13:37:36 +00:00
cogl-vertex-buffer-private.h [cogl-handle] Optimize how we define cogl handles 2009-04-02 11:58:43 +01:00
cogl-vertex-buffer.c [cogl-handle] Optimize how we define cogl handles 2009-04-02 11:58:43 +01:00
cogl.c Unifies 90% of the code in {gl,gles}/cogl.c in common/cogl.c 2009-04-01 13:19:35 +01:00
Makefile.am Unifies 90% of the code in {gl,gles}/cogl.c in common/cogl.c 2009-04-01 13:19:35 +01:00
stb_image.c Merged clutter-ivan branch into trunk. 2008-04-25 13:37:36 +00:00