Go to file
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
common [cogl-handle] Optimize how we define cogl handles 2009-04-02 11:58:43 +01:00
doc/reference/cogl [cogl-vertex-buffer] fix cogl_vertex_buffer_draw_elements prototype 2009-03-16 16:19:39 +00:00
gl [cogl-handle] Optimize how we define cogl handles 2009-04-02 11:58:43 +01:00
gles [cogl-handle] Optimize how we define cogl handles 2009-04-02 11:58:43 +01:00
cogl-color.h [docs] Various gtk-doc updates for Cogl 2009-02-09 14:33:14 +00:00
cogl-debug.h [cogl] Add a PANGO debug flag for CoglPango use 2009-03-10 12:38:02 +00:00
cogl-deprecated.h 2008-11-12 Emmanuele Bassi <ebassi@linux.intel.com> 2008-11-12 13:57:58 +00:00
cogl-fixed.h [cogl-fixed] Add a double-to-fixed conversion macro 2009-03-10 12:38:03 +00:00
cogl-material.h [cogl] Add cogl_is_material to cogl-material.h 2009-02-19 11:55:54 +00:00
cogl-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-offscreen.h 2008-10-30 Emmanuele Bassi <ebassi@linux.intel.com> 2008-10-30 17:57:41 +00:00
cogl-path.h [cogl-path] Minor fix to gtk-doc 2009-03-13 15:43:19 +00:00
cogl-shader.h 2008-11-18 Emmanuele Bassi <ebassi@linux.intel.com> 2008-11-18 15:21:02 +00:00
cogl-texture.h [cogl_rectangles] A minor doc fix, and missing newline between functions 2009-03-23 12:41:42 +00:00
cogl-types.h [cogl-fixed] Implement the CoglFixed fundamental GType 2009-03-10 12:38:03 +00:00
cogl-vertex-buffer.h [doc] Fix two small typos in cogl-vertex-buffer 2009-03-25 14:53:58 +00:00
cogl.h.in Virtualize GL matrix operations and use a client-side matrix when GL is indirect 2009-03-12 18:32:45 +00:00
cogl.pc.in [cogl] Fix hardcoded paths in the pc file 2009-03-10 12:38:04 +00:00
Makefile.am Add pkg-config file for COGL 2009-03-10 12:38:02 +00:00
TODO Merged clutter-ivan branch into trunk. 2008-04-25 13:37:36 +00:00