diff --git a/clutter/clutter-align-constraint.c b/clutter/clutter-align-constraint.c
index f1bd82f3b..5951b333e 100644
--- a/clutter/clutter-align-constraint.c
+++ b/clutter/clutter-align-constraint.c
@@ -51,8 +51,6 @@
#define CLUTTER_IS_ALIGN_CONSTRAINT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), CLUTTER_TYPE_ALIGN_CONSTRAINT))
#define CLUTTER_ALIGN_CONSTRAINT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), CLUTTER_TYPE_ALIGN_CONSTRAINT, ClutterAlignConstraintClass))
-typedef struct _ClutterAlignConstraintClass ClutterAlignConstraintClass;
-
struct _ClutterAlignConstraint
{
ClutterConstraint parent_instance;
diff --git a/clutter/clutter-align-constraint.h b/clutter/clutter-align-constraint.h
index 6ab2256c0..8e8c5830a 100644
--- a/clutter/clutter-align-constraint.h
+++ b/clutter/clutter-align-constraint.h
@@ -45,7 +45,8 @@ G_BEGIN_DECLS
*
* Since: 1.4
*/
-typedef struct _ClutterAlignConstraint ClutterAlignConstraint;
+typedef struct _ClutterAlignConstraint ClutterAlignConstraint;
+typedef struct _ClutterAlignConstraintClass ClutterAlignConstraintClass;
/**
* ClutterAlignAxis:
diff --git a/clutter/clutter-backend-private.h b/clutter/clutter-backend-private.h
index 9a692584a..fb6330161 100644
--- a/clutter/clutter-backend-private.h
+++ b/clutter/clutter-backend-private.h
@@ -31,7 +31,6 @@
G_BEGIN_DECLS
typedef struct _ClutterBackendPrivate ClutterBackendPrivate;
-typedef struct _ClutterBackendClass ClutterBackendClass;
struct _ClutterBackend
{
diff --git a/clutter/clutter-backend.h b/clutter/clutter-backend.h
index 9b74f0967..1d18b32ae 100644
--- a/clutter/clutter-backend.h
+++ b/clutter/clutter-backend.h
@@ -45,7 +45,16 @@ G_BEGIN_DECLS
#define CLUTTER_BACKEND(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), CLUTTER_TYPE_BACKEND, ClutterBackend))
#define CLUTTER_IS_BACKEND(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), CLUTTER_TYPE_BACKEND))
+/**
+ * ClutterBackend:
+ *
+ * ClutterBackend is an opaque structure whose
+ * members cannot be directly accessed.
+ *
+ * Since: 0.4
+ */
typedef struct _ClutterBackend ClutterBackend;
+typedef struct _ClutterBackendClass ClutterBackendClass;
GType clutter_backend_get_type (void) G_GNUC_CONST;
diff --git a/clutter/clutter-bind-constraint.c b/clutter/clutter-bind-constraint.c
index a655fb95e..1fb45213f 100644
--- a/clutter/clutter-bind-constraint.c
+++ b/clutter/clutter-bind-constraint.c
@@ -97,8 +97,6 @@
#define CLUTTER_IS_BIND_CONSTRAINT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), CLUTTER_TYPE_BIND_CONSTRAINT))
#define CLUTTER_BIND_CONSTRAINT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), CLUTTER_TYPE_BIND_CONSTRAINT, ClutterBindConstraintClass))
-typedef struct _ClutterBindConstraintClass ClutterBindConstraintClass;
-
struct _ClutterBindConstraint
{
ClutterConstraint parent_instance;
diff --git a/clutter/clutter-bind-constraint.h b/clutter/clutter-bind-constraint.h
index b88bfa432..b160c39cc 100644
--- a/clutter/clutter-bind-constraint.h
+++ b/clutter/clutter-bind-constraint.h
@@ -45,7 +45,8 @@ G_BEGIN_DECLS
*
* Since: 1.4
*/
-typedef struct _ClutterBindConstraint ClutterBindConstraint;
+typedef struct _ClutterBindConstraint ClutterBindConstraint;
+typedef struct _ClutterBindConstraintClass ClutterBindConstraintClass;
/**
* ClutterBindCoordinate:
diff --git a/clutter/clutter-binding-pool.c b/clutter/clutter-binding-pool.c
index 11cef9242..11fbf18e0 100644
--- a/clutter/clutter-binding-pool.c
+++ b/clutter/clutter-binding-pool.c
@@ -116,7 +116,6 @@
CLUTTER_HYPER_MASK | \
CLUTTER_META_MASK) | CLUTTER_RELEASE_MASK)
-typedef struct _ClutterBindingPoolClass ClutterBindingPoolClass;
typedef struct _ClutterBindingEntry ClutterBindingEntry;
static GSList *clutter_binding_pools = NULL;
diff --git a/clutter/clutter-binding-pool.h b/clutter/clutter-binding-pool.h
index fd85f2664..7fc74081d 100644
--- a/clutter/clutter-binding-pool.h
+++ b/clutter/clutter-binding-pool.h
@@ -46,6 +46,7 @@ G_BEGIN_DECLS
* Since: 1.0
*/
typedef struct _ClutterBindingPool ClutterBindingPool;
+typedef struct _ClutterBindingPoolClass ClutterBindingPoolClass;
/**
* ClutterBindingActionFunc:
diff --git a/clutter/clutter-blur-effect.c b/clutter/clutter-blur-effect.c
index e6e51e2d1..eb2bd57ed 100644
--- a/clutter/clutter-blur-effect.c
+++ b/clutter/clutter-blur-effect.c
@@ -51,8 +51,6 @@
#define BLUR_PADDING 2
-typedef struct _ClutterBlurEffectClass ClutterBlurEffectClass;
-
/* FIXME - lame shader; we should really have a decoupled
* horizontal/vertical two pass shader for the gaussian blur
*/
diff --git a/clutter/clutter-blur-effect.h b/clutter/clutter-blur-effect.h
index 130fd0977..27466bb48 100644
--- a/clutter/clutter-blur-effect.h
+++ b/clutter/clutter-blur-effect.h
@@ -46,6 +46,7 @@ G_BEGIN_DECLS
* Since: 1.4
*/
typedef struct _ClutterBlurEffect ClutterBlurEffect;
+typedef struct _ClutterBlurEffectClass ClutterBlurEffectClass;
GType clutter_blur_effect_get_type (void) G_GNUC_CONST;
diff --git a/clutter/clutter-colorize-effect.c b/clutter/clutter-colorize-effect.c
index 65e5f1541..133b6ad2a 100644
--- a/clutter/clutter-colorize-effect.c
+++ b/clutter/clutter-colorize-effect.c
@@ -50,8 +50,6 @@
#include "clutter-offscreen-effect.h"
#include "clutter-private.h"
-typedef struct _ClutterColorizeEffectClass ClutterColorizeEffectClass;
-
struct _ClutterColorizeEffect
{
ClutterOffscreenEffect parent_instance;
diff --git a/clutter/clutter-colorize-effect.h b/clutter/clutter-colorize-effect.h
index 6942f8294..6bc4c7e93 100644
--- a/clutter/clutter-colorize-effect.h
+++ b/clutter/clutter-colorize-effect.h
@@ -46,7 +46,8 @@ G_BEGIN_DECLS
*
* SinceL 1.4
*/
-typedef struct _ClutterColorizeEffect ClutterColorizeEffect;
+typedef struct _ClutterColorizeEffect ClutterColorizeEffect;
+typedef struct _ClutterColorizeEffectClass ClutterColorizeEffectClass;
GType clutter_colorize_effect_get_type (void) G_GNUC_CONST;
diff --git a/clutter/clutter-desaturate-effect.c b/clutter/clutter-desaturate-effect.c
index e8a2b8c6d..ed613c175 100644
--- a/clutter/clutter-desaturate-effect.c
+++ b/clutter/clutter-desaturate-effect.c
@@ -54,8 +54,6 @@
#include "clutter-offscreen-effect.h"
#include "clutter-private.h"
-typedef struct _ClutterDesaturateEffectClass ClutterDesaturateEffectClass;
-
struct _ClutterDesaturateEffect
{
ClutterOffscreenEffect parent_instance;
diff --git a/clutter/clutter-desaturate-effect.h b/clutter/clutter-desaturate-effect.h
index 7c51a5715..d73ed734d 100644
--- a/clutter/clutter-desaturate-effect.h
+++ b/clutter/clutter-desaturate-effect.h
@@ -46,6 +46,7 @@ G_BEGIN_DECLS
* Since: 1.4
*/
typedef struct _ClutterDesaturateEffect ClutterDesaturateEffect;
+typedef struct _ClutterDesaturateEffectClass ClutterDesaturateEffectClass;
GType clutter_desaturate_effect_get_type (void) G_GNUC_CONST;
diff --git a/clutter/clutter-page-turn-effect.c b/clutter/clutter-page-turn-effect.c
index 8afcf85a8..5fe074837 100644
--- a/clutter/clutter-page-turn-effect.c
+++ b/clutter/clutter-page-turn-effect.c
@@ -50,8 +50,6 @@
#define CLUTTER_IS_PAGE_TURN_EFFECT_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), CLUTTER_TYPE_PAGE_TURN_EFFECT))
#define CLUTTER_PAGE_TURN_EFFECT_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), CLUTTER_TYPE_PAGE_TURN_EFFECT, ClutterPageTurnEffectClass))
-typedef struct _ClutterPageTurnEffectClass ClutterPageTurnEffectClass;
-
struct _ClutterPageTurnEffect
{
ClutterDeformEffect parent_instance;
diff --git a/clutter/clutter-page-turn-effect.h b/clutter/clutter-page-turn-effect.h
index ca95fb824..9a9b2feb7 100644
--- a/clutter/clutter-page-turn-effect.h
+++ b/clutter/clutter-page-turn-effect.h
@@ -49,6 +49,7 @@ G_BEGIN_DECLS
* Since: 1.4
*/
typedef struct _ClutterPageTurnEffect ClutterPageTurnEffect;
+typedef struct _ClutterPageTurnEffectClass ClutterPageTurnEffectClass;
GType clutter_page_turn_effect_get_type (void) G_GNUC_CONST;
diff --git a/clutter/clutter-path-constraint.c b/clutter/clutter-path-constraint.c
index 2ccbc016b..3016e0149 100644
--- a/clutter/clutter-path-constraint.c
+++ b/clutter/clutter-path-constraint.c
@@ -50,8 +50,6 @@
#define CLUTTER_IS_PATH_CONSTRAINT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), CLUTTER_TYPE_PATH_CONSTRAINT))
#define CLUTTER_PATH_CONSTRAINT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), CLUTTER_TYPE_PATH_CONSTRAINT, ClutterPathConstraintClass))
-typedef struct _ClutterPathConstraintClass ClutterPathConstraintClass;
-
struct _ClutterPathConstraint
{
ClutterConstraint parent_instance;
diff --git a/clutter/clutter-path-constraint.h b/clutter/clutter-path-constraint.h
index 339d07cf3..e65555e89 100644
--- a/clutter/clutter-path-constraint.h
+++ b/clutter/clutter-path-constraint.h
@@ -46,7 +46,8 @@ G_BEGIN_DECLS
*
* Since: 1.6
*/
-typedef struct _ClutterPathConstraint ClutterPathConstraint;
+typedef struct _ClutterPathConstraint ClutterPathConstraint;
+typedef struct _ClutterPathConstraintClass ClutterPathConstraintClass;
GType clutter_path_constraint_get_type (void) G_GNUC_CONST;
diff --git a/clutter/clutter-settings.c b/clutter/clutter-settings.c
index c9b5f387d..455d25c8e 100644
--- a/clutter/clutter-settings.c
+++ b/clutter/clutter-settings.c
@@ -32,8 +32,6 @@
#define CLUTTER_IS_SETTINGS_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), CLUTTER_TYPE_SETTINGS))
#define CLUTTER_SETTINGS_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), CLUTTER_TYPE_SETTINGS, ClutterSettingsClass))
-typedef struct _ClutterSettingsClass ClutterSettingsClass;
-
/**
* ClutterSettings:
*
diff --git a/clutter/clutter-settings.h b/clutter/clutter-settings.h
index 921112722..aa254ec4a 100644
--- a/clutter/clutter-settings.h
+++ b/clutter/clutter-settings.h
@@ -14,6 +14,7 @@ G_BEGIN_DECLS
#define CLUTTER_IS_SETTINGS(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), CLUTTER_TYPE_SETTINGS))
typedef struct _ClutterSettings ClutterSettings;
+typedef struct _ClutterSettingsClass ClutterSettingsClass;
GType clutter_settings_get_type (void) G_GNUC_CONST;
diff --git a/clutter/clutter-snap-constraint.c b/clutter/clutter-snap-constraint.c
index 7384574d2..e80b4cac8 100644
--- a/clutter/clutter-snap-constraint.c
+++ b/clutter/clutter-snap-constraint.c
@@ -53,8 +53,6 @@
#define CLUTTER_IS_SNAP_CONSTRAINT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), CLUTTER_TYPE_SNAP_CONSTRAINT))
#define CLUTTER_SNAP_CONSTRAINT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), CLUTTER_TYPE_SNAP_CONSTRAINT, ClutterSnapConstraintClass))
-typedef struct _ClutterSnapConstraintClass ClutterSnapConstraintClass;
-
struct _ClutterSnapConstraint
{
ClutterConstraint parent_instance;
diff --git a/clutter/clutter-snap-constraint.h b/clutter/clutter-snap-constraint.h
index bbf909dc1..b800f83c5 100644
--- a/clutter/clutter-snap-constraint.h
+++ b/clutter/clutter-snap-constraint.h
@@ -45,7 +45,8 @@ G_BEGIN_DECLS
*
* Since: 1.6
*/
-typedef struct _ClutterSnapConstraint ClutterSnapConstraint;
+typedef struct _ClutterSnapConstraint ClutterSnapConstraint;
+typedef struct _ClutterSnapConstraintClass ClutterSnapConstraintClass;
/**
* ClutterSnapEdge:
diff --git a/doc/reference/clutter/clutter-sections.txt b/doc/reference/clutter/clutter-sections.txt
index e03c4aa0f..b147c52b5 100644
--- a/doc/reference/clutter/clutter-sections.txt
+++ b/doc/reference/clutter/clutter-sections.txt
@@ -893,6 +893,7 @@ clutter_behaviour_ellipse_get_type
clutter-backend
ClutterBackend
+ClutterBackend
clutter_get_default_backend
clutter_backend_set_resolution
clutter_backend_get_resolution
@@ -912,9 +913,7 @@ CLUTTER_IS_BACKEND_CLASS
CLUTTER_BACKEND_GET_CLASS
CLUTTER_TYPE_BACKEND
-ClutterBackend
ClutterBackendClass
-ClutterBackendPrivate
clutter_backend_get_type
@@ -1843,6 +1842,7 @@ CLUTTER_IS_BINDING_POOL
CLUTTER_TYPE_BINDING_POOL
+ClutterBindingPoolClass
clutter_binding_pool_get_type
@@ -2320,11 +2320,12 @@ clutter_bind_constraint_set_coordinate
clutter_bind_constraint_get_coordinate
clutter_bind_constraint_set_offset
clutter_bind_constraint_get_offset
-
CLUTTER_TYPE_BIND_CONSTRAINT
CLUTTER_BIND_CONSTRAINT
CLUTTER_IS_BIND_CONSTRAINT
+
+ClutterBindConstraintClass
clutter_bind_constraint_get_type
@@ -2345,6 +2346,9 @@ clutter_align_constraint_get_factor
CLUTTER_TYPE_ALIGN_CONSTRAINT
CLUTTER_ALIGN_CONSTRAINT
CLUTTER_IS_ALIGN_CONSTRAINT
+
+
+ClutterAlignConstraintClass
clutter_align_constraint_get_type
@@ -2490,6 +2494,7 @@ CLUTTER_TYPE_BLUR_EFFECT
CLUTTER_BLUR_EFFECT
CLUTTER_IS_BLUR_EFFECT
+ClutterBlurEffectClass
clutter_blur_effect_get_type
@@ -2505,6 +2510,7 @@ CLUTTER_TYPE_COLORIZE_EFFECT
CLUTTER_COLORIZE_EFFECT
CLUTTER_IS_COLORIZE_EFFECT
+ClutterColorizeEffectClass
clutter_colorize_effect_get_type
@@ -2520,6 +2526,7 @@ CLUTTER_TYPE_DESATURATE_EFFECT
CLUTTER_DESATURATE_EFFECT
CLUTTER_IS_DESATURATE_EFFECT
+ClutterDesaturateEffectClass
clutter_desaturate_effect_get_type
@@ -2560,6 +2567,7 @@ CLUTTER_TYPE_PAGE_TURN_EFFECT
CLUTTER_PAGE_TURN_EFFECT
CLUTTER_IS_PAGE_TURN_EFFECT
+ClutterPageTurnEffectClass
clutter_page_turn_effect_get_type
@@ -2572,6 +2580,7 @@ CLUTTER_TYPE_SETTINGS
CLUTTER_SETTINGS
CLUTTER_IS_SETTINGS
+ClutterSettingsClass
clutter_settings_get_type
@@ -2588,6 +2597,7 @@ CLUTTER_PATH_CONSTRAINT
CLUTTER_IS_PATH_CONSTRAINT
CLUTTER_TYPE_PATH_CONSTRAINT
+ClutterPathConstraintClass
clutter_path_constraint_get_type
@@ -2607,5 +2617,6 @@ CLUTTER_SNAP_CONSTRAINT
CLUTTER_IS_SNAP_CONSTRAINT
CLUTTER_TYPE_SNAP_CONSTRAINT
+ClutterSnapConstraintClass
clutter_snap_constraint_get_type