mutter/clutter
Robert Bragg 43efab46bc Intial Re-layout of the Cogl source code and introduction of a Cogl Winsys
As part of an incremental process to have Cogl be a standalone project we
want to re-consider how we organise the Cogl source code.

Currently this is the structure I'm aiming for:
cogl/
    cogl/
	<put common source here>
	winsys/
	   cogl-glx.c
	   cogl-wgl.c
	driver/
	    gl/
	    gles/
	os/ ?
    utils/
	cogl-fixed
	cogl-matrix-stack?
        cogl-journal?
        cogl-primitives?
    pango/

The new winsys component is a starting point for migrating window system
code (i.e.  x11,glx,wgl,osx,egl etc) from Clutter to Cogl.

The utils/ and pango/ directories aren't added by this commit, but they are
noted because I plan to add them soon.

Overview of the planned structure:

* The winsys/ API is the API that binds OpenGL to a specific window system,
  be that X11 or win32 etc.  Example are glx, wgl and egl. Much of the logic
  under clutter/{glx,osx,win32 etc} should migrate here.

* Note there is also the idea of a winsys-base that may represent a window
  system for which there are multiple winsys APIs.  An example of this is
  x11, since glx and egl may both be used with x11.  (currently only Clutter
  has the idea of a winsys-base)

* The driver/ represents a specific varient of OpenGL. Currently we have "gl"
  representing OpenGL 1.4-2.1 (mostly fixed function) and "gles" representing
  GLES 1.1 (fixed funciton) and 2.0 (fully shader based)

* Everything under cogl/ should fundamentally be supporting access to the
  GPU.  Essentially Cogl's most basic requirement is to provide a nice GPU
  Graphics API and drawing a line between this and the utility functionality
  we add to support Clutter should help keep this lean and maintainable.

* Code under utils/ as suggested builds on cogl/ adding more convenient
  APIs or mechanism to optimize special cases. Broadly speaking you can
  compare cogl/ to OpenGL and utils/ to GLU.

* clutter/pango will be moved to clutter/cogl/pango

How some of the internal configure.ac/pkg-config terminology has changed:
backendextra -> CLUTTER_WINSYS_BASE # e.g. "x11"
backendextralib -> CLUTTER_WINSYS_BASE_LIB # e.g. "x11/libclutter-x11.la"
clutterbackend -> {CLUTTER,COGL}_WINSYS # e.g. "glx"
CLUTTER_FLAVOUR -> {CLUTTER,COGL}_WINSYS
clutterbackendlib -> CLUTTER_WINSYS_LIB
CLUTTER_COGL -> COGL_DRIVER # e.g. "gl"

Note: The CLUTTER_FLAVOUR and CLUTTER_COGL defines are kept for apps

As the first thing to take advantage of the new winsys component in Cogl;
cogl_get_proc_address() has been moved from cogl/{gl,gles}/cogl.c into
cogl/common/cogl.c and this common implementation first trys
_cogl_winsys_get_proc_address() but if that fails then it falls back to
gmodule.
2009-10-16 18:58:50 +01:00
..
cogl Intial Re-layout of the Cogl source code and introduction of a Cogl Winsys 2009-10-16 18:58:50 +01: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 Update Clutter to use G-I 0.6.4 2009-08-17 14:14:18 +01:00
osx Intial Re-layout of the Cogl source code and introduction of a Cogl Winsys 2009-10-16 18:58:50 +01:00
pango [build] Split out the custom silent rules 2009-09-16 17:47:59 +01: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 Intial Re-layout of the Cogl source code and introduction of a Cogl Winsys 2009-10-16 18:58:50 +01:00
x11 Intial Re-layout of the Cogl source code and introduction of a Cogl Winsys 2009-10-16 18:58:50 +01:00
clutter-actor.c [actor] Unset the IN_DESTRUCTION flag when leaving ::destroy() 2009-10-12 17:40:46 +01:00
clutter-actor.h Add ::queue-relayout signal to ClutterActor for ClutterClone 2009-08-20 14:12:54 +01:00
clutter-alpha.c [timeline] Remove the concept of frames from timelines 2009-06-04 13:21:57 +01:00
clutter-alpha.h
clutter-animatable.c [animatable] Allow validation in ::animate_property 2009-05-27 13:01:31 +01:00
clutter-animatable.h [animatable] Allow validation in ::animate_property 2009-05-27 13:01:31 +01:00
clutter-animation.c [animation] Move the check for the 'signal::' prefix into a separate function 2009-09-07 12:44:06 +01:00
clutter-animation.h [animation] Add Animation::update() 2009-08-25 12:16:41 +01:00
clutter-backend.c [backends] Remove the idea of offscreen stages from all backends 2009-10-16 18:58:47 +01: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 [docs] Bring down the undocumented symbols to 2% 2009-03-16 15:00:55 +00:00
clutter-behaviour-path.c
clutter-behaviour-path.h [docs] Bring down the undocumented symbols to 2% 2009-03-16 15:00:55 +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 [docs] Small annotation fixes 2009-09-08 10:21:46 +01:00
clutter-behaviour.h
clutter-bezier.c
clutter-bezier.h
clutter-binding-pool.c
clutter-binding-pool.h
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 [cairo-texture] Document redrawing behavior 2009-05-14 15:53:59 +01:00
clutter-child-meta.c
clutter-child-meta.h [docs] Bring down the undocumented symbols to 2% 2009-03-16 15:00:55 +00:00
clutter-clone.c Add ::queue-relayout signal to ClutterActor for ClutterClone 2009-08-20 14:12:54 +01:00
clutter-clone.h [docs] Bring down the undocumented symbols to 2% 2009-03-16 15:00:55 +00:00
clutter-color.c color: Measure the string just once when parsing 2009-10-07 13:00:57 +01: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 [docs] Fixes for the API reference 2009-05-28 17:18:13 +01:00
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 Use g_once when registering enumeration types 2009-05-29 12:40:23 +01:00
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
clutter-fixed.c
clutter-fixed.h
clutter-frame-source.c Count timeline frames using the FPS instead of an integer interval 2009-03-16 15:40:18 +00:00
clutter-frame-source.h Count timeline frames using the FPS instead of an integer interval 2009-03-16 15:40:18 +00:00
clutter-group.c [ClutterGroup] Don't take into account the left edges when calculating the size 2009-10-05 15:34:00 +01: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 [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-list-model.c Fix chain-up in clutter_list_model_dispose() 2009-05-12 16:31:41 +01:00
clutter-list-model.h
clutter-main.c [debug] Guard the use of gdk_pixbuf for pick debugging by #ifdef USE_GDKPIXBUF 2009-10-05 17:35:46 +01:00
clutter-main.h Decrease the main-loop priority of the frame cycle 2009-06-09 15:03:56 +01:00
clutter-marshal.list [actor] Add the ::allocation-changed signal 2009-06-04 16:30:31 +01:00
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 [docs] Bring down the undocumented symbols to 2% 2009-03-16 15:00:55 +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 [docs] Clutter's model implementation is called ClutterListModel 2009-09-10 13:28:54 +01:00
clutter-model.h Add more padding in Model and ModelIter classes 2009-05-20 16:06:09 +01:00
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 [backends] Remove the idea of offscreen stages from all backends 2009-10-16 18:58:47 +01:00
clutter-rectangle.c Revert "[rectangle] Avoid modifying materials mid scene" 2009-06-30 17:13:38 +01:00
clutter-rectangle.h [docs] Bring down the undocumented symbols to 2% 2009-03-16 15:00:55 +00:00
clutter-score.c Remove usage of the grave accent as quotation mark 2009-03-17 14:13:31 +00:00
clutter-score.h [docs] Bring down the undocumented symbols to 2% 2009-03-16 15:00:55 +00:00
clutter-script-parser.c Add copyright and license notice 2009-08-12 10:30:11 +01:00
clutter-script-private.h Include clutter-json.h, not json-types.h 2009-08-12 15:57:25 +01:00
clutter-script.c [script] Convert double to float when parsing 2009-08-26 16:48:32 +01:00
clutter-script.h [docs] Bring down the undocumented symbols to 2% 2009-03-16 15:00:55 +00:00
clutter-scriptable.c
clutter-scriptable.h
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 [cogl] Remove the COGL{enum,int,uint} typedefs 2009-05-12 14:53:44 +01:00
clutter-shader.c [cogl-shader] Make get_info_log() slightly nicer 2009-06-01 17:40:23 +01:00
clutter-shader.h [shader] Remove deprecated set_uniform_1f() 2009-04-03 12:47:21 +01:00
clutter-stage-manager.c stage/manager: Set :default-stage as read-only 2009-10-14 09:07:11 +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 [backends] Remove the idea of offscreen stages from all backends 2009-10-16 18:58:47 +01:00
clutter-stage.h Allow disabling motion event throttling 2009-07-20 11:44:52 +01:00
clutter-text.c text: Notify :position when it changes 2009-10-16 14:24:07 +01:00
clutter-text.h [text] Add pre-edit string to ClutterText 2009-10-16 12:45:29 +01:00
clutter-texture.c Take a reference to the material in clutter_texture_set_cogl_material 2009-08-26 18:28:35 +01:00
clutter-texture.h [cogl] Remove max_waste argument from Texture ctors 2009-05-23 19:35:19 +01:00
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 Count timeline frames using the FPS instead of an integer interval 2009-03-16 15:40:18 +00:00
clutter-timeout-interval.h Count timeline frames using the FPS instead of an integer interval 2009-03-16 15:40:18 +00:00
clutter-timeout-pool.c [docs] Fix naming of the interval parameter 2009-03-16 16:56:51 +00:00
clutter-timeout-pool.h Count timeline frames using the FPS instead of an integer interval 2009-03-16 15:40:18 +00:00
clutter-types.h Add more ActorBox utility methods 2009-06-16 16:43:00 +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
clutter.h [stage] Rework the Stage implementation class 2009-09-08 10:52:58 +01:00
Makefile.am Intial Re-layout of the Cogl source code and introduction of a Cogl Winsys 2009-10-16 18:58:50 +01:00