diff --git a/clutter/Makefile.am b/clutter/Makefile.am
index 1386c603c..70eac29f6 100644
--- a/clutter/Makefile.am
+++ b/clutter/Makefile.am
@@ -16,8 +16,8 @@ INCLUDES = \
-I$(top_srcdir)/clutter \
-I$(top_srcdir)/clutter/$(CLUTTER_WINSYS) \
-I$(top_srcdir)/clutter/$(CLUTTER_WINSYS_BASE) \
+ -I$(top_srcdir)/clutter/deprecated \
-I$(top_srcdir)/clutter/cally \
- -I$(top_srcdir)/clutter/evdev \
-I$(top_builddir) \
-I$(top_builddir)/clutter \
$(NULL)
@@ -27,6 +27,7 @@ AM_CPPFLAGS = \
-DCLUTTER_LIBDIR=\""$(libdir)"\" \
-DCLUTTER_DATADIR=\""$(datadir)"\" \
-DCLUTTER_LOCALEDIR=\""$(localedir)"\" \
+ -DCLUTTER_SYSCONFDIR=\""$(sysconfdir)"\" \
-DCLUTTER_COMPILATION=1 \
-DCOGL_ENABLE_EXPERIMENTAL_API \
-DG_LOG_DOMAIN=\"Clutter\" \
@@ -43,6 +44,7 @@ INTROSPECTION_GIRS =
# the base include path for headers
clutter_base_includedir = $(includedir)/clutter-$(CLUTTER_API_VERSION)
clutter_includedir = $(clutter_base_includedir)/clutter
+clutter_deprecateddir = $(clutter_base_includedir)/clutter/deprecated
# pkg-config files
pc_files =
@@ -58,13 +60,6 @@ source_h = \
$(srcdir)/clutter-animation.h \
$(srcdir)/clutter-animator.h \
$(srcdir)/clutter-backend.h \
- $(srcdir)/clutter-behaviour.h \
- $(srcdir)/clutter-behaviour-depth.h \
- $(srcdir)/clutter-behaviour-ellipse.h \
- $(srcdir)/clutter-behaviour-opacity.h \
- $(srcdir)/clutter-behaviour-path.h \
- $(srcdir)/clutter-behaviour-rotate.h \
- $(srcdir)/clutter-behaviour-scale.h \
$(srcdir)/clutter-bind-constraint.h \
$(srcdir)/clutter-binding-pool.h \
$(srcdir)/clutter-bin-layout.h \
@@ -87,13 +82,12 @@ source_h = \
$(srcdir)/clutter-drag-action.h \
$(srcdir)/clutter-drop-action.h \
$(srcdir)/clutter-effect.h \
+ $(srcdir)/clutter-enums.h \
$(srcdir)/clutter-event.h \
$(srcdir)/clutter-feature.h \
- $(srcdir)/clutter-fixed.h \
$(srcdir)/clutter-fixed-layout.h \
$(srcdir)/clutter-flow-layout.h \
- $(srcdir)/clutter-frame-source.h \
- $(srcdir)/clutter-gesture-action.h \
+ $(srcdir)/clutter-gesture-action.h \
$(srcdir)/clutter-group.h \
$(srcdir)/clutter-input-device.h \
$(srcdir)/clutter-interval.h \
@@ -110,11 +104,9 @@ source_h = \
$(srcdir)/clutter-path-constraint.h \
$(srcdir)/clutter-path.h \
$(srcdir)/clutter-rectangle.h \
- $(srcdir)/clutter-score.h \
$(srcdir)/clutter-script.h \
$(srcdir)/clutter-scriptable.h \
$(srcdir)/clutter-settings.h \
- $(srcdir)/clutter-shader.h \
$(srcdir)/clutter-shader-effect.h \
$(srcdir)/clutter-shader-types.h \
$(srcdir)/clutter-swipe-action.h \
@@ -127,7 +119,6 @@ source_h = \
$(srcdir)/clutter-texture.h \
$(srcdir)/clutter-text.h \
$(srcdir)/clutter-timeline.h \
- $(srcdir)/clutter-timeout-pool.h \
$(srcdir)/clutter-types.h \
$(srcdir)/clutter-units.h \
$(srcdir)/clutter-util.h \
@@ -144,13 +135,6 @@ source_c = \
$(srcdir)/clutter-animation.c \
$(srcdir)/clutter-animator.c \
$(srcdir)/clutter-backend.c \
- $(srcdir)/clutter-behaviour.c \
- $(srcdir)/clutter-behaviour-depth.c \
- $(srcdir)/clutter-behaviour-ellipse.c \
- $(srcdir)/clutter-behaviour-opacity.c \
- $(srcdir)/clutter-behaviour-path.c \
- $(srcdir)/clutter-behaviour-rotate.c \
- $(srcdir)/clutter-behaviour-scale.c \
$(srcdir)/clutter-bezier.c \
$(srcdir)/clutter-bind-constraint.c \
$(srcdir)/clutter-binding-pool.c \
@@ -174,12 +158,10 @@ source_c = \
$(srcdir)/clutter-effect.c \
$(srcdir)/clutter-event.c \
$(srcdir)/clutter-feature.c \
- $(srcdir)/clutter-fixed.c \
$(srcdir)/clutter-fixed-layout.c \
$(srcdir)/clutter-flatten-effect.c \
$(srcdir)/clutter-flow-layout.c \
- $(srcdir)/clutter-frame-source.c \
- $(srcdir)/clutter-gesture-action.c \
+ $(srcdir)/clutter-gesture-action.c \
$(srcdir)/clutter-group.c \
$(srcdir)/clutter-input-device.c \
$(srcdir)/clutter-interval.c \
@@ -196,12 +178,10 @@ source_c = \
$(srcdir)/clutter-path-constraint.c \
$(srcdir)/clutter-path.c \
$(srcdir)/clutter-rectangle.c \
- $(srcdir)/clutter-score.c \
$(srcdir)/clutter-script.c \
$(srcdir)/clutter-script-parser.c \
$(srcdir)/clutter-scriptable.c \
$(srcdir)/clutter-settings.c \
- $(srcdir)/clutter-shader.c \
$(srcdir)/clutter-shader-effect.c \
$(srcdir)/clutter-shader-types.c \
$(srcdir)/clutter-swipe-action.c \
@@ -214,7 +194,6 @@ source_c = \
$(srcdir)/clutter-texture.c \
$(srcdir)/clutter-text.c \
$(srcdir)/clutter-timeline.c \
- $(srcdir)/clutter-timeout-pool.c \
$(srcdir)/clutter-units.c \
$(srcdir)/clutter-util.c \
$(srcdir)/clutter-paint-volume.c \
@@ -240,9 +219,9 @@ source_h_priv = \
$(srcdir)/clutter-private.h \
$(srcdir)/clutter-profile.h \
$(srcdir)/clutter-script-private.h \
+ $(srcdir)/clutter-settings-private.h \
$(srcdir)/clutter-stage-manager-private.h \
$(srcdir)/clutter-stage-private.h \
- $(srcdir)/clutter-timeout-interval.h \
$(NULL)
# private source code; these should not be introspected
@@ -250,7 +229,48 @@ source_c_priv = \
$(srcdir)/clutter-event-translator.c \
$(srcdir)/clutter-id-pool.c \
$(srcdir)/clutter-profile.c \
- $(srcdir)/clutter-timeout-interval.c \
+ $(NULL)
+
+# deprecated installed headers
+deprecated_h = \
+ $(srcdir)/deprecated/clutter-behaviour.h \
+ $(srcdir)/deprecated/clutter-behaviour-depth.h \
+ $(srcdir)/deprecated/clutter-behaviour-ellipse.h \
+ $(srcdir)/deprecated/clutter-behaviour-opacity.h \
+ $(srcdir)/deprecated/clutter-behaviour-path.h \
+ $(srcdir)/deprecated/clutter-behaviour-rotate.h \
+ $(srcdir)/deprecated/clutter-behaviour-scale.h \
+ $(srcdir)/deprecated/clutter-fixed.h \
+ $(srcdir)/deprecated/clutter-frame-source.h \
+ $(srcdir)/deprecated/clutter-timeout-pool.h \
+ $(srcdir)/deprecated/clutter-score.h \
+ $(srcdir)/deprecated/clutter-shader.h \
+ $(NULL)
+
+# deprecated source code
+deprecated_c = \
+ $(srcdir)/deprecated/clutter-behaviour.c \
+ $(srcdir)/deprecated/clutter-behaviour-depth.c \
+ $(srcdir)/deprecated/clutter-behaviour-ellipse.c \
+ $(srcdir)/deprecated/clutter-behaviour-opacity.c \
+ $(srcdir)/deprecated/clutter-behaviour-path.c \
+ $(srcdir)/deprecated/clutter-behaviour-rotate.c \
+ $(srcdir)/deprecated/clutter-behaviour-scale.c \
+ $(srcdir)/deprecated/clutter-fixed.c \
+ $(srcdir)/deprecated/clutter-frame-source.c \
+ $(srcdir)/deprecated/clutter-timeout-pool.c \
+ $(srcdir)/deprecated/clutter-score.c \
+ $(srcdir)/deprecated/clutter-shader.c \
+ $(NULL)
+
+# deprecated private headers; these should not be installed
+deprecated_h_priv = \
+ $(srcdir)/deprecated/clutter-timeout-interval.h \
+ $(NULL)
+
+# deprecated private source code; these should not be introspected
+deprecated_c_priv = \
+ $(srcdir)/deprecated/clutter-timeout-interval.c \
$(NULL)
# built sources
@@ -610,6 +630,8 @@ nodist_clutter_include_HEADERS = \
$(top_builddir)/clutter/clutter-version.h \
$(built_source_h)
+clutter_deprecated_HEADERS = $(deprecated_h)
+
lib_LTLIBRARIES += libclutter-@CLUTTER_SONAME_INFIX@-@CLUTTER_API_VERSION@.la
libclutter_@CLUTTER_SONAME_INFIX@_@CLUTTER_API_VERSION@_la_LIBADD = \
@@ -629,6 +651,10 @@ libclutter_@CLUTTER_SONAME_INFIX@_@CLUTTER_API_VERSION@_la_SOURCES = \
$(source_h) \
$(source_c_priv) \
$(source_h_priv) \
+ $(deprecated_c) \
+ $(deprecated_h) \
+ $(deprecated_c_priv) \
+ $(deprecated_h_priv) \
$(cally_sources_c) \
$(cally_sources_h) \
$(cally_sources_private) \
@@ -700,7 +726,13 @@ Clutter-@CLUTTER_API_VERSION@.gir: libclutter-@CLUTTER_SONAME_INFIX@-@CLUTTER_AP
Clutter_@CLUTTER_API_VERSION_AM@_gir_NAMESPACE = Clutter
Clutter_@CLUTTER_API_VERSION_AM@_gir_VERSION = @CLUTTER_API_VERSION@
Clutter_@CLUTTER_API_VERSION_AM@_gir_LIBS = libclutter-@CLUTTER_SONAME_INFIX@-@CLUTTER_API_VERSION@.la
-Clutter_@CLUTTER_API_VERSION_AM@_gir_FILES = $(clutter_include_HEADERS) $(nodist_clutter_include_HEADERS) $(source_c) $(built_source_c)
+Clutter_@CLUTTER_API_VERSION_AM@_gir_FILES = \
+ $(clutter_include_HEADERS) \
+ $(clutter_deprecated_HEADERS) \
+ $(nodist_clutter_include_HEADERS) \
+ $(source_c) \
+ $(deprecated_c) \
+ $(built_source_c)
Clutter_@CLUTTER_API_VERSION_AM@_gir_CFLAGS = $(INCLUDES) $(CLUTTER_CFLAGS) $(AM_CPPFLAGS) -UCLUTTER_DISABLE_DEPRECATED
Clutter_@CLUTTER_API_VERSION_AM@_gir_INCLUDES = GL-1.0 GObject-2.0 cairo-1.0 Cogl-1.0 CoglPango-1.0 Atk-1.0 Json-1.0
Clutter_@CLUTTER_API_VERSION_AM@_gir_SCANNERFLAGS = \
diff --git a/clutter/clutter-actor.h b/clutter/clutter-actor.h
index 25f56238a..380d92b69 100644
--- a/clutter/clutter-actor.h
+++ b/clutter/clutter-actor.h
@@ -92,66 +92,6 @@ typedef void (*ClutterCallback) (ClutterActor *actor,
*/
#define CLUTTER_CALLBACK(f) ((ClutterCallback) (f))
-/**
- * ClutterActorFlags:
- * @CLUTTER_ACTOR_MAPPED: the actor will be painted (is visible, and inside
- * a toplevel, and all parents visible)
- * @CLUTTER_ACTOR_REALIZED: the resources associated to the actor have been
- * allocated
- * @CLUTTER_ACTOR_REACTIVE: the actor 'reacts' to mouse events emmitting event
- * signals
- * @CLUTTER_ACTOR_VISIBLE: the actor has been shown by the application program
- * @CLUTTER_ACTOR_NO_LAYOUT: the actor provides an explicit layout management
- * policy for its children; this flag will prevent Clutter from automatic
- * queueing of relayout and will defer all layouting to the actor itself
- *
- * Flags used to signal the state of an actor.
- */
-typedef enum
-{
- CLUTTER_ACTOR_MAPPED = 1 << 1,
- CLUTTER_ACTOR_REALIZED = 1 << 2,
- CLUTTER_ACTOR_REACTIVE = 1 << 3,
- CLUTTER_ACTOR_VISIBLE = 1 << 4,
- CLUTTER_ACTOR_NO_LAYOUT = 1 << 5
-} ClutterActorFlags;
-
-/**
- * ClutterOffscreenRedirect:
- * @CLUTTER_OFFSCREEN_REDIRECT_AUTOMATIC_FOR_OPACITY: Only redirect
- * the actor if it is semi-transparent and its has_overlaps()
- * virtual returns %TRUE. This is the default.
- * @CLUTTER_OFFSCREEN_REDIRECT_ALWAYS: Always redirect the actor to an
- * offscreen buffer even if it is fully opaque.
- *
- * Possible flags to pass to clutter_actor_set_offscreen_redirect().
- *
- * Since: 1.8
- */
-typedef enum
-{
- CLUTTER_OFFSCREEN_REDIRECT_AUTOMATIC_FOR_OPACITY = 1<<0,
- CLUTTER_OFFSCREEN_REDIRECT_ALWAYS = 1<<1
-} ClutterOffscreenRedirect;
-
-/**
- * ClutterAllocationFlags:
- * @CLUTTER_ALLOCATION_NONE: No flag set
- * @CLUTTER_ABSOLUTE_ORIGIN_CHANGED: Whether the absolute origin of the
- * actor has changed; this implies that any ancestor of the actor has
- * been moved
- *
- * Flags passed to the #ClutterActor::allocate() virtual function and
- * to the clutter_actor_allocate() function
- *
- * Since: 1.0
- */
-typedef enum
-{
- CLUTTER_ALLOCATION_NONE = 0,
- CLUTTER_ABSOLUTE_ORIGIN_CHANGED = 1 << 1
-} ClutterAllocationFlags;
-
/**
* ClutterActor:
* @flags: #ClutterActorFlags
@@ -458,6 +398,7 @@ void clutter_actor_set_name (ClutterActor
const gchar * clutter_actor_get_name (ClutterActor *self);
#ifndef CLUTTER_DISABLE_DEPRECATED
+CLUTTER_DEPRECATED
guint32 clutter_actor_get_gid (ClutterActor *self);
#endif
@@ -530,19 +471,29 @@ gboolean clutter_actor_event (ClutterActor
gboolean capture);
#ifndef CLUTTER_DISABLE_DEPRECATED
+CLUTTER_DEPRECATED
ClutterActor * clutter_get_actor_by_gid (guint32 id_);
#endif
#if !defined(CLUTTER_DISABLE_DEPRECATED) || defined(CLUTTER_COMPILATION)
+CLUTTER_DEPRECATED_FOR(clutter_actor_add_effect)
gboolean clutter_actor_set_shader (ClutterActor *self,
ClutterShader *shader);
+
+CLUTTER_DEPRECATED_FOR(clutter_actor_get_effect)
ClutterShader * clutter_actor_get_shader (ClutterActor *self);
+
+CLUTTER_DEPRECATED_FOR(clutter_shader_effect_set_uniform_value)
void clutter_actor_set_shader_param (ClutterActor *self,
const gchar *param,
const GValue *value);
+
+CLUTTER_DEPRECATED_FOR(clutter_shader_effect_set_uniform)
void clutter_actor_set_shader_param_int (ClutterActor *self,
const gchar *param,
gint value);
+
+CLUTTER_DEPRECATED_FOR(clutter_shader_effect_set_uniform)
void clutter_actor_set_shader_param_float (ClutterActor *self,
const gchar *param,
gfloat value);
diff --git a/clutter/clutter-align-constraint.h b/clutter/clutter-align-constraint.h
index 8e8c5830a..6ff855ecc 100644
--- a/clutter/clutter-align-constraint.h
+++ b/clutter/clutter-align-constraint.h
@@ -48,21 +48,6 @@ G_BEGIN_DECLS
typedef struct _ClutterAlignConstraint ClutterAlignConstraint;
typedef struct _ClutterAlignConstraintClass ClutterAlignConstraintClass;
-/**
- * ClutterAlignAxis:
- * @CLUTTER_ALIGN_X_AXIS: Maintain the alignment on the X axis
- * @CLUTTER_ALIGN_Y_AXIS: Maintain the alignment on the Y axis
- *
- * Specifies the axis on which #ClutterAlignConstraint should maintain
- * the alignment
- *
- * Since: 1.4
- */
-typedef enum { /*< prefix=CLUTTER_ALIGN >*/
- CLUTTER_ALIGN_X_AXIS,
- CLUTTER_ALIGN_Y_AXIS
-} ClutterAlignAxis;
-
GType clutter_align_constraint_get_type (void) G_GNUC_CONST;
ClutterConstraint *clutter_align_constraint_new (ClutterActor *source,
diff --git a/clutter/clutter-alpha.h b/clutter/clutter-alpha.h
index 5f64d1d7d..4cd85bc22 100644
--- a/clutter/clutter-alpha.h
+++ b/clutter/clutter-alpha.h
@@ -44,7 +44,6 @@ G_BEGIN_DECLS
#define CLUTTER_IS_ALPHA_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), CLUTTER_TYPE_ALPHA))
#define CLUTTER_ALPHA_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), CLUTTER_TYPE_ALPHA, ClutterAlphaClass))
-typedef struct _ClutterAlpha ClutterAlpha;
typedef struct _ClutterAlphaClass ClutterAlphaClass;
typedef struct _ClutterAlphaPrivate ClutterAlphaPrivate;
diff --git a/clutter/clutter-animatable.h b/clutter/clutter-animatable.h
index 13690f9fc..5be9437c3 100644
--- a/clutter/clutter-animatable.h
+++ b/clutter/clutter-animatable.h
@@ -38,7 +38,6 @@ G_BEGIN_DECLS
#define CLUTTER_IS_ANIMATABLE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), CLUTTER_TYPE_ANIMATABLE))
#define CLUTTER_ANIMATABLE_GET_IFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), CLUTTER_TYPE_ANIMATABLE, ClutterAnimatableIface))
-typedef struct _ClutterAnimatable ClutterAnimatable; /* dummy typedef */
typedef struct _ClutterAnimatableIface ClutterAnimatableIface;
/**
@@ -99,6 +98,7 @@ struct _ClutterAnimatableIface
GType clutter_animatable_get_type (void) G_GNUC_CONST;
#ifndef CLUTTER_DISABLE_DEPRECATED
+CLUTTER_DEPRECATED_FOR(clutter_animatable_interpolate_value)
gboolean clutter_animatable_animate_property (ClutterAnimatable *animatable,
ClutterAnimation *animation,
const gchar *property_name,
diff --git a/clutter/clutter-animator.h b/clutter/clutter-animator.h
index e7ed667be..019817dee 100644
--- a/clutter/clutter-animator.h
+++ b/clutter/clutter-animator.h
@@ -57,20 +57,6 @@ typedef struct _ClutterAnimatorPrivate ClutterAnimatorPrivate;
*/
typedef struct _ClutterAnimatorKey ClutterAnimatorKey;
-/**
- * ClutterInterpolation:
- * @CLUTTER_INTERPOLATION_LINEAR: linear interpolation
- * @CLUTTER_INTERPOLATION_CUBIC: cubic interpolation
- *
- * The mode of interpolation between key frames
- *
- * Since: 1.2
- */
-typedef enum {
- CLUTTER_INTERPOLATION_LINEAR,
- CLUTTER_INTERPOLATION_CUBIC
-} ClutterInterpolation;
-
/**
* ClutterAnimator:
*
diff --git a/clutter/clutter-backend.h b/clutter/clutter-backend.h
index 6bb11ea2a..22707fc65 100644
--- a/clutter/clutter-backend.h
+++ b/clutter/clutter-backend.h
@@ -64,16 +64,29 @@ GType clutter_backend_get_type (void) G_GNUC_CONST;
ClutterBackend *clutter_get_default_backend (void);
#ifndef CLUTTER_DISABLE_DEPRECATED
+CLUTTER_DEPRECATED_FOR(ClutterSettings:font_dpi)
void clutter_backend_set_resolution (ClutterBackend *backend,
gdouble dpi);
+
+CLUTTER_DEPRECATED_FOR(ClutterSettings:double_click_time)
void clutter_backend_set_double_click_time (ClutterBackend *backend,
guint msec);
+
+CLUTTER_DEPRECATED_FOR(ClutterSettings:double_click_time)
guint clutter_backend_get_double_click_time (ClutterBackend *backend);
+
+CLUTTER_DEPRECATED_FOR(ClutterSettings:double_click_distance)
void clutter_backend_set_double_click_distance (ClutterBackend *backend,
guint distance);
+
+CLUTTER_DEPRECATED_FOR(ClutterSettings:double_click_distance)
guint clutter_backend_get_double_click_distance (ClutterBackend *backend);
+
+CLUTTER_DEPRECATED_FOR(ClutterSettings:font_name)
void clutter_backend_set_font_name (ClutterBackend *backend,
const gchar *font_name);
+
+CLUTTER_DEPRECATED_FOR(ClutterSettings:font_name)
const gchar * clutter_backend_get_font_name (ClutterBackend *backend);
#endif /* CLUTTER_DISABLE_DEPRECATED */
diff --git a/clutter/clutter-bin-layout.h b/clutter/clutter-bin-layout.h
index 169af0774..d6a639f7e 100644
--- a/clutter/clutter-bin-layout.h
+++ b/clutter/clutter-bin-layout.h
@@ -44,31 +44,6 @@ typedef struct _ClutterBinLayout ClutterBinLayout;
typedef struct _ClutterBinLayoutPrivate ClutterBinLayoutPrivate;
typedef struct _ClutterBinLayoutClass ClutterBinLayoutClass;
-/**
- * ClutterBinAlignment:
- * @CLUTTER_BIN_ALIGNMENT_FIXED: Fixed position alignment; the
- * #ClutterBinLayout will honour the fixed position provided
- * by the actors themselves when allocating them
- * @CLUTTER_BIN_ALIGNMENT_FILL: Fill the allocation size
- * @CLUTTER_BIN_ALIGNMENT_START: Position the actors at the top
- * or left side of the container, depending on the axis
- * @CLUTTER_BIN_ALIGNMENT_END: Position the actors at the bottom
- * or right side of the container, depending on the axis
- * @CLUTTER_BIN_ALIGNMENT_CENTER: Position the actors at the
- * center of the container, depending on the axis
- *
- * The alignment policies available on each axis for #ClutterBinLayout
- *
- * Since: 1.2
- */
-typedef enum {
- CLUTTER_BIN_ALIGNMENT_FIXED,
- CLUTTER_BIN_ALIGNMENT_FILL,
- CLUTTER_BIN_ALIGNMENT_START,
- CLUTTER_BIN_ALIGNMENT_END,
- CLUTTER_BIN_ALIGNMENT_CENTER
-} ClutterBinAlignment;
-
/**
* ClutterBinLayout:
*
diff --git a/clutter/clutter-bind-constraint.h b/clutter/clutter-bind-constraint.h
index 8a029916b..3ce1d59da 100644
--- a/clutter/clutter-bind-constraint.h
+++ b/clutter/clutter-bind-constraint.h
@@ -48,30 +48,6 @@ G_BEGIN_DECLS
typedef struct _ClutterBindConstraint ClutterBindConstraint;
typedef struct _ClutterBindConstraintClass ClutterBindConstraintClass;
-/**
- * ClutterBindCoordinate:
- * @CLUTTER_BIND_X: Bind the X coordinate
- * @CLUTTER_BIND_Y: Bind the Y coordinate
- * @CLUTTER_BIND_WIDTH: Bind the width
- * @CLUTTER_BIND_HEIGHT: Bind the height
- * @CLUTTER_BIND_POSITION: Equivalent to to %CLUTTER_BIND_X and
- * %CLUTTER_BIND_Y
- * @CLUTTER_BIND_SIZE: Equivalent to %CLUTTER_BIND_WIDTH and
- * %CLUTTER_BIND_HEIGHT
- *
- * Specifies which property should be used in a binding
- *
- * Since: 1.4
- */
-typedef enum { /*< prefix=CLUTTER_BIND >*/
- CLUTTER_BIND_X,
- CLUTTER_BIND_Y,
- CLUTTER_BIND_WIDTH,
- CLUTTER_BIND_HEIGHT,
- CLUTTER_BIND_POSITION,
- CLUTTER_BIND_SIZE
-} ClutterBindCoordinate;
-
GType clutter_bind_constraint_get_type (void) G_GNUC_CONST;
ClutterConstraint * clutter_bind_constraint_new (ClutterActor *source,
diff --git a/clutter/clutter-box-layout.h b/clutter/clutter-box-layout.h
index e220c0262..e3d511426 100644
--- a/clutter/clutter-box-layout.h
+++ b/clutter/clutter-box-layout.h
@@ -47,24 +47,6 @@ typedef struct _ClutterBoxLayout ClutterBoxLayout;
typedef struct _ClutterBoxLayoutPrivate ClutterBoxLayoutPrivate;
typedef struct _ClutterBoxLayoutClass ClutterBoxLayoutClass;
-/**
- * ClutterBoxAlignment:
- * @CLUTTER_BOX_ALIGNMENT_START: Align the child to the top or to
- * to the left, depending on the used axis
- * @CLUTTER_BOX_ALIGNMENT_CENTER: Align the child to the center
- * @CLUTTER_BOX_ALIGNMENT_END: Align the child to the bottom or to
- * the right, depending on the used axis
- *
- * The alignment policies available on each axis of the #ClutterBoxLayout
- *
- * Since: 1.2
- */
-typedef enum {
- CLUTTER_BOX_ALIGNMENT_START,
- CLUTTER_BOX_ALIGNMENT_END,
- CLUTTER_BOX_ALIGNMENT_CENTER
-} ClutterBoxAlignment;
-
/**
* ClutterBoxLayout:
*
diff --git a/clutter/clutter-cairo-texture.h b/clutter/clutter-cairo-texture.h
index 4b65f8cc9..feae77c99 100644
--- a/clutter/clutter-cairo-texture.h
+++ b/clutter/clutter-cairo-texture.h
@@ -117,11 +117,14 @@ ClutterActor * clutter_cairo_texture_new (guint
guint height);
#ifndef CLUTTER_DISABLE_DEPRECATED
+CLUTTER_DEPRECATED_FOR(clutter_cairo_texture_invalidate_rectangle)
cairo_t * clutter_cairo_texture_create_region (ClutterCairoTexture *self,
gint x_offset,
gint y_offset,
gint width,
gint height);
+
+CLUTTER_DEPRECATED_FOR(clutter_cairo_texture_invalidate)
cairo_t * clutter_cairo_texture_create (ClutterCairoTexture *self);
#endif /* CLUTTER_DISABLE_DEPRECATED */
diff --git a/clutter/clutter-click-action.h b/clutter/clutter-click-action.h
index e06b09dd6..cffb61249 100644
--- a/clutter/clutter-click-action.h
+++ b/clutter/clutter-click-action.h
@@ -48,23 +48,6 @@ typedef struct _ClutterClickAction ClutterClickAction;
typedef struct _ClutterClickActionPrivate ClutterClickActionPrivate;
typedef struct _ClutterClickActionClass ClutterClickActionClass;
-/**
- * ClutterLongPressState:
- * @CLUTTER_LONG_PRESS_QUERY: Queries the action whether it supports
- * long presses
- * @CLUTTER_LONG_PRESS_ACTIVATE: Activates the action on a long press
- * @CLUTTER_LONG_PRESS_CANCEL: The long press was cancelled
- *
- * The states for the #ClutterClikAction::long-press signal.
- *
- * Since: 1.8
- */
-typedef enum { /*< prefix=CLUTTER_LONG_PRESS >*/
- CLUTTER_LONG_PRESS_QUERY,
- CLUTTER_LONG_PRESS_ACTIVATE,
- CLUTTER_LONG_PRESS_CANCEL
-} ClutterLongPressState;
-
/**
* ClutterClickAction:
*
diff --git a/clutter/clutter-color.h b/clutter/clutter-color.h
index 5fa6ba04c..4bfcb4704 100644
--- a/clutter/clutter-color.h
+++ b/clutter/clutter-color.h
@@ -149,111 +149,6 @@ GParamSpec *clutter_param_spec_color (const gchar *name,
const ClutterColor *default_value,
GParamFlags flags);
-/**
- * ClutterStaticColor:
- * @CLUTTER_COLOR_WHITE: White color (ffffffff)
- * @CLUTTER_COLOR_BLACK: Black color (000000ff)
- * @CLUTTER_COLOR_RED: Red color (ff0000ff)
- * @CLUTTER_COLOR_DARK_RED: Dark red color (800000ff)
- * @CLUTTER_COLOR_GREEN: Green color (00ff00ff)
- * @CLUTTER_COLOR_DARK_GREEN: Dark green color (008000ff)
- * @CLUTTER_COLOR_BLUE: Blue color (0000ffff)
- * @CLUTTER_COLOR_DARK_BLUE: Dark blue color (000080ff)
- * @CLUTTER_COLOR_CYAN: Cyan color (00ffffff)
- * @CLUTTER_COLOR_DARK_CYAN: Dark cyan color (008080ff)
- * @CLUTTER_COLOR_MAGENTA: Magenta color (ff00ffff)
- * @CLUTTER_COLOR_DARK_MAGENTA: Dark magenta color (800080ff)
- * @CLUTTER_COLOR_YELLOW: Yellow color (ffff00ff)
- * @CLUTTER_COLOR_DARK_YELLOW: Dark yellow color (808000ff)
- * @CLUTTER_COLOR_GRAY: Gray color (a0a0a4ff)
- * @CLUTTER_COLOR_DARK_GRAY: Dark Gray color (808080ff)
- * @CLUTTER_COLOR_LIGHT_GRAY: Light gray color (c0c0c0ff)
- * @CLUTTER_COLOR_BUTTER: Butter color (edd400ff)
- * @CLUTTER_COLOR_BUTTER_LIGHT: Light butter color (fce94fff)
- * @CLUTTER_COLOR_BUTTER_DARK: Dark butter color (c4a000ff)
- * @CLUTTER_COLOR_ORANGE: Orange color (f57900ff)
- * @CLUTTER_COLOR_ORANGE_LIGHT: Light orange color (fcaf3fff)
- * @CLUTTER_COLOR_ORANGE_DARK: Dark orange color (ce5c00ff)
- * @CLUTTER_COLOR_CHOCOLATE: Chocolate color (c17d11ff)
- * @CLUTTER_COLOR_CHOCOLATE_LIGHT: Light chocolate color (e9b96eff)
- * @CLUTTER_COLOR_CHOCOLATE_DARK: Dark chocolate color (8f5902ff)
- * @CLUTTER_COLOR_CHAMELEON: Chameleon color (73d216ff)
- * @CLUTTER_COLOR_CHAMELEON_LIGHT: Light chameleon color (8ae234ff)
- * @CLUTTER_COLOR_CHAMELEON_DARK: Dark chameleon color (4e9a06ff)
- * @CLUTTER_COLOR_SKY_BLUE: Sky color (3465a4ff)
- * @CLUTTER_COLOR_SKY_BLUE_LIGHT: Light sky color (729fcfff)
- * @CLUTTER_COLOR_SKY_BLUE_DARK: Dark sky color (204a87ff)
- * @CLUTTER_COLOR_PLUM: Plum color (75507bff)
- * @CLUTTER_COLOR_PLUM_LIGHT: Light plum color (ad7fa8ff)
- * @CLUTTER_COLOR_PLUM_DARK: Dark plum color (5c3566ff)
- * @CLUTTER_COLOR_SCARLET_RED: Scarlet red color (cc0000ff)
- * @CLUTTER_COLOR_SCARLET_RED_LIGHT: Light scarlet red color (ef2929ff)
- * @CLUTTER_COLOR_SCARLET_RED_DARK: Dark scarlet red color (a40000ff)
- * @CLUTTER_COLOR_ALUMINIUM_1: Aluminium, first variant (eeeeecff)
- * @CLUTTER_COLOR_ALUMINIUM_2: Aluminium, second variant (d3d7cfff)
- * @CLUTTER_COLOR_ALUMINIUM_3: Aluminium, third variant (babdb6ff)
- * @CLUTTER_COLOR_ALUMINIUM_4: Aluminium, fourth variant (888a85ff)
- * @CLUTTER_COLOR_ALUMINIUM_5: Aluminium, fifth variant (555753ff)
- * @CLUTTER_COLOR_ALUMINIUM_6: Aluminium, sixth variant (2e3436ff)
- * @CLUTTER_COLOR_TRANSPARENT: Transparent color (00000000)
- *
- * Named colors, for accessing global colors defined by Clutter
- *
- * Since: 1.6
- */
-typedef enum { /*< prefix=CLUTTER_COLOR >*/
- /* CGA/EGA-like palette */
- CLUTTER_COLOR_WHITE = 0,
- CLUTTER_COLOR_BLACK,
- CLUTTER_COLOR_RED,
- CLUTTER_COLOR_DARK_RED,
- CLUTTER_COLOR_GREEN,
- CLUTTER_COLOR_DARK_GREEN,
- CLUTTER_COLOR_BLUE,
- CLUTTER_COLOR_DARK_BLUE,
- CLUTTER_COLOR_CYAN,
- CLUTTER_COLOR_DARK_CYAN,
- CLUTTER_COLOR_MAGENTA,
- CLUTTER_COLOR_DARK_MAGENTA,
- CLUTTER_COLOR_YELLOW,
- CLUTTER_COLOR_DARK_YELLOW,
- CLUTTER_COLOR_GRAY,
- CLUTTER_COLOR_DARK_GRAY,
- CLUTTER_COLOR_LIGHT_GRAY,
-
- /* Tango icon palette */
- CLUTTER_COLOR_BUTTER,
- CLUTTER_COLOR_BUTTER_LIGHT,
- CLUTTER_COLOR_BUTTER_DARK,
- CLUTTER_COLOR_ORANGE,
- CLUTTER_COLOR_ORANGE_LIGHT,
- CLUTTER_COLOR_ORANGE_DARK,
- CLUTTER_COLOR_CHOCOLATE,
- CLUTTER_COLOR_CHOCOLATE_LIGHT,
- CLUTTER_COLOR_CHOCOLATE_DARK,
- CLUTTER_COLOR_CHAMELEON,
- CLUTTER_COLOR_CHAMELEON_LIGHT,
- CLUTTER_COLOR_CHAMELEON_DARK,
- CLUTTER_COLOR_SKY_BLUE,
- CLUTTER_COLOR_SKY_BLUE_LIGHT,
- CLUTTER_COLOR_SKY_BLUE_DARK,
- CLUTTER_COLOR_PLUM,
- CLUTTER_COLOR_PLUM_LIGHT,
- CLUTTER_COLOR_PLUM_DARK,
- CLUTTER_COLOR_SCARLET_RED,
- CLUTTER_COLOR_SCARLET_RED_LIGHT,
- CLUTTER_COLOR_SCARLET_RED_DARK,
- CLUTTER_COLOR_ALUMINIUM_1,
- CLUTTER_COLOR_ALUMINIUM_2,
- CLUTTER_COLOR_ALUMINIUM_3,
- CLUTTER_COLOR_ALUMINIUM_4,
- CLUTTER_COLOR_ALUMINIUM_5,
- CLUTTER_COLOR_ALUMINIUM_6,
-
- /* Fully transparent black */
- CLUTTER_COLOR_TRANSPARENT
-} ClutterStaticColor;
-
const ClutterColor *clutter_color_get_static (ClutterStaticColor color);
G_END_DECLS
diff --git a/clutter/clutter-deprecated.h b/clutter/clutter-deprecated.h
index 890ff385e..9ac1504f9 100644
--- a/clutter/clutter-deprecated.h
+++ b/clutter/clutter-deprecated.h
@@ -1,205 +1,21 @@
-#ifndef _CLUTTER_DEPRECATED_H
-#define _CLUTTER_DEPRECATED_H
+#ifndef __CLUTTER_DEPRECATED_H__
+#define __CLUTTER_DEPRECATED_H__
-/* This header contains defines that makes the compiler provide useful
- * direction for resolving compile problems when code is using old APIs
- * When using a function name that no longer applies the compiler will
- * tell the developer the name of the new function call.
- *
- * Functions that are simply renamed should give errors containing
- * _REPLACED_BY_ whilst functions that are deprecated by new functions with
- * new functionality should giver errors containing _DEPRECATED_BY_.
- */
+#define __CLUTTER_DEPRECATED_H_INSIDE__
-#define clutter_group_find_child_by_id clutter_group_find_child_by_id_REPLACED_BY_clutter_container_find_child_by_name
+#include "deprecated/clutter-behaviour.h"
+#include "deprecated/clutter-behaviour-depth.h"
+#include "deprecated/clutter-behaviour-ellipse.h"
+#include "deprecated/clutter-behaviour-opacity.h"
+#include "deprecated/clutter-behaviour-path.h"
+#include "deprecated/clutter-behaviour-rotate.h"
+#include "deprecated/clutter-behaviour-scale.h"
+#include "deprecated/clutter-fixed.h"
+#include "deprecated/clutter-frame-source.h"
+#include "deprecated/clutter-timeout-pool.h"
+#include "deprecated/clutter-score.h"
+#include "deprecated/clutter-shader.h"
-#define clutter_behaviour_ellipse_set_angle_begin clutter_behaviour_ellipse_set_angle_begin_REPLACED_BY_clutter_behaviour_set_angle_start
-#define clutter_behaviour_ellipse_set_angle_beginx clutter_behaviour_ellipse_set_angle_beginx_REPLACED_BY_clutter_behaviour_set_angle_startx
-#define clutter_behaviour_ellipse_get_angle_begin clutter_behaviour_ellipse_get_angle_begin_REPLACED_BY_clutter_behaviour_get_angle_start
-#define clutter_behaviour_ellipse_get_angle_beginx clutter_behaviour_ellipse_get_angle_beginx_REPLACED_BY_clutter_behaviour_get_angle_startx
-#define clutter_behaviour_bspline_append clutter_behaviour_bspline_append_REPLACED_BY_clutter_behaviour_bspline_append_knots
+#undef __CLUTTER_DEPRECATED_H_INSIDE__
-#define clutter_actor_get_id clutter_actor_get_id_REPLACED_BY_clutter_actor_get_gid
-
-#define clutter_actor_rotate_x clutter_actor_rotate_x_DEPRECATED_BY_clutter_actor_set_rotation
-#define clutter_actor_rotate_y clutter_actor_rotate_y_DEPRECATED_BY_clutter_actor_set_rotation
-#define clutter_actor_rotate_z clutter_actor_rotate_z_DEPRECATED_BY_clutter_actor_set_rotation
-#define clutter_actor_rotate_xx clutter_actor_rotate_xx_DEPRECATED_BY_clutter_actor_set_rotationx
-#define clutter_actor_rotate_yx clutter_actor_rotate_yx_DEPRECATED_BY_clutter_actor_set_rotationx
-#define clutter_actor_rotate_zx clutter_actor_rotate_zx_DEPRECATED_BY_clutter_actor_set_rotationx
-#define clutter_actor_get_rxang clutter_actor_get_rxang_DEPRECATED_BY_clutter_actor_get_rotation
-#define clutter_actor_get_ryang clutter_actor_get_ryang_DEPRECATED_BY_clutter_actor_get_rotation
-#define clutter_actor_get_rzang clutter_actor_get_rzang_DEPRECATED_BY_clutter_actor_get_rotation
-#define clutter_actor_get_rxangx clutter_actor_get_rxangx_DEPRECATED_BY_clutter_actor_get_rotationx
-#define clutter_actor_get_ryangx clutter_actor_get_ryangx_DEPRECATED_BY_clutter_actor_get_rotationx
-#define clutter_actor_get_rzangx clutter_actor_get_rzangx_DEPRECATED_BY_clutter_actor_get_rotationx
-#define clutter_actor_set_scale_with_gravityx clutter_actor_set_scale_with_gravityx_DEPRECATED_BY_clutter_actor_set_scale_with_gravity
-
-#define clutter_entry_set_position clutter_entry_set_position_REPLACED_BY_clutter_entry_set_cursor_position
-#define clutter_entry_get_position clutter_entry_get_position_REPLACED_BY_clutter_entry_get_cursor_position
-
-#define clutter_shader_bind clutter_shader_bind_REPLACED_BY_clutter_shader_compile
-#define clutter_shader_is_bound clutter_shader_is_bound_REPLACED_BY_clutter_shader_is_compiled
-
-#define clutter_texture_new_from_pixbuf clutter_texture_new_from_pixbuf_DEPRECATED_BY_clutter_texture_new_from_file_OR_clutter_texture_new_AND_clutter_texture_set_from_rgb_data
-#define clutter_texture_set_pixbuf clutter_texture_set_pixbuf_DEPRECATED_BY_clutter_texture_set_from_rgb_data
-
-#define clutter_actor_query_coords clutter_actor_query_coords_REPLACED_BY_clutter_actor_get_preferred_size_OR_clutter_actor_get_allocation_box
-#define clutter_actor_request_coords clutter_actor_request_coords_REPLACED_BY_clutter_actor_allocate
-
-#define clutter_actor_get_abs_position clutter_actor_get_abs_position_REPLACED_BY_clutter_actor_get_transformed_position
-#define clutter_actor_get_abs_size clutter_actor_get_abs_size_REPLACED_BY_clutter_actor_get_transformed_size
-#define clutter_actor_get_abs_opacity clutter_actor_get_abs_opacity_REPLACED_BY_clutter_actor_get_paint_opacity
-
-#define clutter_stage_get_resolution clutter_backend_get_resolution
-#define clutter_stage_get_resolutionx clutter_backend_get_resolution
-
-#define clutter_set_use_mipmapped_text clutter_actor_set_use_mipmapped_text_REPLACED_BY_clutter_set_font_flags
-#define clutter_get_use_mipmapped_text clutter_actor_get_use_mipmapped_text_REPLACED_BY_clutter_get_font_flags
-
-#define clutter_color_parse clutter_color_parse_REPLACED_BY_clutter_color_from_string
-#define clutter_color_from_hlsx clutter_color_from_hlsx_DEPRECATED_BY_clutter_color_from_hls
-#define clutter_color_to_hlsx clutter_color_to_hlsx_DEPRECATED_BY_clutter_color_to_hls
-#define clutter_color_shadex clutter_color_shadex_DEPRECATED_BY_clutter_color_shade
-
-#define clutter_stage_set_perspectivex clutter_stage_set_perspectivex_DEPRECATED_BY_clutter_stage_set_perspective
-#define clutter_stage_set_fogx clutter_stage_set_fogx_DEPRECATED_BY_clutter_stage_set_fog
-
-#define clutter_actor_set_rotationx clutter_actor_set_rotationx_DEPRECATED_BY_clutter_actor_set_rotation
-#define clutter_actor_get_rotationx clutter_actor_get_rotationx_DEPRECATED_BY_clutter_actor_get_rotation
-#define clutter_actor_set_scalex clutter_actor_set_scalex_DEPRECATED_BY_clutter_actor_set_scale
-#define clutter_actor_get_scalex clutter_actor_get_scalex_DEPRECATED_BY_clutter_actor_get_scale
-
-#define CLUTTER_ALPHA_RAMP_INC clutter_ramp_inc_func
-#define CLUTTER_ALPHA_RAMP_DEC clutter_ramp_dec_func
-#define CLUTTER_ALPHA_RAMP clutter_ramp_func
-#define CLUTTER_ALPHA_SINE clutter_sine_func
-#define CLUTTER_ALPHA_SINE_INC clutter_sine_inc_func
-#define CLUTTER_ALPHA_SINE_DEC clutter_sine_dec_func
-#define CLUTTER_ALPHA_SINE_HALF clutter_sine_half_func
-#define CLUTTER_ALPHA_SQUARE clutter_square_func
-#define CLUTTER_ALPHA_SMOOTHSTEP_INC clutter_smoothstep_inc_func
-#define CLUTTER_ALPHA_SMOOTHSTEP_DEC clutter_smoothstep_dec_func
-#define CLUTTER_ALPHA_EXP_INC clutter_exp_inc_func
-#define CLUTTER_ALPHA_EXP_DEC clutter_exp_dec_func
-
-#define clutter_ramp_inc_func clutter_ramp_inc_func_DEPRECATED_BY_CLUTTER_LINEAR
-#define clutter_ramp_dec_func clutter_ramp_dec_func_DEPRECATED_BY_CLUTTER_LINEAR
-#define clutter_ramp_func clutter_ramp_func_DEPRECATED_BY_CLUTTER_LINEAR
-#define clutter_sine_inc_func clutter_sine_inc_func_DEPRECATED_BY_CLUTTER_EASE_OUT_SINE
-#define clutter_sine_dec_func clutter_sine_dec_func_DEPRECATED_BY_CLUTTER_EASE_IN_SINE
-#define clutter_sine_half_func clutter_sine_half_func_DEPRECATED_BY_CLUTTER_EASE_IN_OUT_SINE
-#define clutter_sine_func clutter_sine_func_DEPRECATED_BY_CLUTTER_EASE_IN_OUT_SINE
-#define clutter_square_func clutter_square_func_REMOVED
-#define clutter_smoothstep_inc_func clutter_smoothstep_inc_func_DEPRECATED_BY_CLUTTER_EASE_IN_CUBIC
-#define clutter_smoothstep_dec_func clutter_smoothstep_dec_func_DEPRECATED_BY_CLUTTER_EASE_OUT_CUBIC
-#define clutter_exp_inc_func clutter_exp_inc_func_DEPRECATED_BY_CLUTTER_EASE_IN_EXPO
-#define clutter_exp_dec_func clutter_exp_dec_func_DEPRECATED_BY_CLUTTER_EASE_OUT_EXPO
-
-#define clutter_behaviour_path_get_knots clutter_behaviour_path_get_knots_REPLACED_BY_clutter_path_get_nodes
-#define clutter_behaviour_path_append_knots clutter_behaviour_path_append_knots_REPLACED_BY_clutter_path_add_string
-#define clutter_behaviour_path_append_knot clutter_behaviour_path_append_knot_REPLACED_BY_clutter_path_add_string
-#define clutter_behaviour_path_insert_knot clutter_behaviour_path_insert_knot_REPLACED_BY_clutter_path_insert_node
-#define clutter_behaviour_path_remove_knot clutter_behaviour_path_remove_knot_REPLACED_BY_clutter_path_remove_node
-#define clutter_behaviour_path_clear clutter_behaviour_path_clear_REPLACED_BY_clutter_path_clear
-
-#define ClutterFixed ClutterFixed_REPLACED_BY_CoglFixed
-#define ClutterAngle ClutterAngle_REPLACED_BY_CoglAngle
-
-#define CFX_ONE CFX_ONE_REPLACED_BY_COGL_FIXED_1
-#define CFX_HALF CFX_HALF_REPLACED_BY_COGL_FIXED_0_5
-#define CFX_PI CFX_PI_REPLACED_BY_COGL_FIXED_PI
-#define CFX_2PI CFX_2PI_REPLACED_BY_COGL_FIXED_2_PI
-
-#define CLUTTER_INT_TO_FIXED CLUTTER_INT_TO_FIXED_REPLACED_BY_COGL_FIXED_FROM_INT
-#define CLUTTER_FIXED_TO_INT CLUTTER_FIXED_TO_INT_REPLACED_BY_COGL_FIXED_TO_INT
-#define CLUTTER_FLOAT_TO_FIXED CLUTTER_FLOAT_TO_FIXED_REPLACED_BY_COGL_FIXED_FROM_FLOAT
-#define CLUTTER_FIXED_TO_FLOAT CLUTTER_FIXED_TO_FLOAT_REPLACED_BY_COGL_FIXED_TO_FLOAT
-
-#define CLUTTER_FIXED_MUL CLUTTER_FIXED_MUL_REPLACED_BY_COGL_FIXED_FAST_MUL
-#define CLUTTER_FIXED_DIV CLUTTER_FIXED_DIV_REPLACED_BY_COGL_FIXED_FAST_DIV
-
-#define clutter_qmulx clutter_qmulx_REPLACED_BY_COGL_FIXED_MUL
-#define clutter_qdivx clutter_qdivx_REPLACED_BY_COGL_FIXED_DIV
-#define clutter_sinx clutter_sinx_REPLACED_BY_cogl_fixed_sin
-#define clutter_cosx clutter_cosx_REPLACED_BY_cogl_fixed_cos
-
-#define clutter_media_set_position clutter_media_set_position_DEPRECATED_BY_clutter_media_set_progress
-#define clutter_media_get_position clutter_media_get_position_DEPRECATED_BY_clutter_media_get_progress
-#define clutter_media_set_volume clutter_media_set_volume_DEPRECATED_BY_clutter_media_set_audio_volume
-#define clutter_media_get_volume clutter_media_get_volume_DEPRECATED_BY_clutter_media_get_audio_volume
-#define clutter_media_get_buffer_percent clutter_media_get_buffer_percent_DEPRECATED_BY_clutter_media_get_buffer_fill
-
-#define CLUTTER_TYPE_LABEL CLUTTER_TYPE_LABEL_DEPRECATED_BY_CLUTTER_TYPE_TEXT
-#define CLUTTER_TYPE_ENTRY CLUTTER_TYPE_ENTRY_DEPRECATED_BY_CLUTTER_TYPE_TEXT
-#define clutter_label_new clutter_label_new_DEPRECATED_BY_clutter_text_new
-#define clutter_entry_new clutter_entry_new_DEPRECATED_BY_clutter_text_new
-
-#define CLUTTER_TYPE_TEXTURE_HANDLE CLUTTER_TYPE_TEXTURE_HANDLE_REPLACED_BY_COGL_TYPE_HANDLE
-
-#define ClutterEffectTemplate ClutterEffectTemplate_DEPRECATED_BY_ClutterAnimation
-#define clutter_effect_template_new clutter_effect_template_new_DEPRECATED_BY_clutter_animation_new
-#define clutter_effect_template_new_for_duration clutter_effect_template_new_for_duration_DEPRECATED_BY_clutter_animation_new
-#define clutter_effect_move clutter_effect_move_DEPRECATED_BY_clutter_actor_animate
-#define clutter_effect_path clutter_effect_path_DEPRECATED_BY_clutter_actor_animate
-#define clutter_effect_depth clutter_effect_depth_DEPRECATED_BY_clutter_actor_animate
-#define clutter_effect_scale clutter_effect_scale_DEPRECATED_BY_clutter_actor_animate
-#define clutter_effect_rotate clutter_effect_rotate_DEPRECATED_BY_clutter_actor_animate
-
-#define clutter_shader_set_uniform_1f clutter_shader_set_uniform_1f_REPLACED_BY_clutter_shader_set_uniform
-
-#define clutter_actor_set_xu clutter_actor_set_xu_DEPRECATED_BY_clutter_actor_set_x
-#define clutter_actor_set_yu clutter_actor_set_yu_DEPRECATED_BY_clutter_actor_set_y
-#define clutter_actor_set_widthu clutter_actor_set_widthu_DEPRECATED_BY_clutter_actor_set_width
-#define clutter_actor_set_heightu clutter_actor_set_heightu_DEPRECATED_BY_clutter_actor_set_height
-#define clutter_actor_set_depthu clutter_actor_set_depthu_DEPRECATED_BY_clutter_actor_set_depth
-#define clutter_actor_set_positionu clutter_actor_set_positionu_DEPRECATED_BY_clutter_actor_set_position
-#define clutter_actor_set_sizeu clutter_actor_set_sizeu_DEPRECATED_BY_clutter_actor_set_size
-
-#define clutter_actor_set_anchor_pointu clutter_actor_set_anchor_pointu_DEPRECATED_BY_clutter_actor_set_anchor_point
-#define clutter_actor_get_anchor_pointu clutter_actor_get_anchor_pointu_DEPRECATED_BY_clutter_actor_get_anchor_point
-#define clutter_actor_move_byu clutter_actor_move_byu_DEPRECATED_BY_clutter_actor_move_by
-
-#define clutter_actor_get_xu clutter_actor_get_xu_DEPRECATED_BY_clutter_actor_get_x
-#define clutter_actor_get_yu clutter_actor_get_yu_DEPRECATED_BY_clutter_actor_get_y
-#define clutter_actor_get_widthu clutter_actor_get_widthu_DEPRECATED_BY_clutter_actor_get_width
-#define clutter_actor_get_heightu clutter_actor_get_heightu_DEPRECATED_BY_clutter_actor_get_height
-#define clutter_actor_get_depthu clutter_actor_get_depthu_DEPRECATED_BY_clutter_actor_get_depth
-#define clutter_actor_get_positionu clutter_actor_get_positionu_DEPRECATED_BY_clutter_actor_get_position
-#define clutter_actor_get_sizeu clutter_actor_get_sizeu_DEPRECATED_BY_clutter_actor_get_size
-
-#define clutter_key_event_symbol clutter_key_event_symbol_REPLACED_BY_clutter_event_get_key_symbol
-#define clutter_key_event_code clutter_key_event_code_REPLACED_BY_clutter_event_get_key_code
-#define clutter_key_event_unicode clutter_key_event_unicode_REPLACED_BY_clutter_event_get_key_unicode
-#define clutter_button_event_button clutter_button_event_button_REPLACED_BY_clutter_event_get_button
-
-#define clutter_stage_fullscreen clutter_stage_fullscreen_REPLACED_BY_clutter_stage_set_fullscreen
-#define clutter_stage_unfullscreen clutter_stage_unfullscreen_REPLACED_BY_clutter_stage_set_fullscreen
-
-#define clutter_actor_get_box_from_vertices clutter_actor_get_box_from_vertices_REPLACED_BY_clutter_actor_box_from_vertices
-
-#define clutter_behaviour_ellipse_newx clutter_behaviour_ellipse_newx_DEPRECATED_BY_clutter_behaviour_ellipse_new
-#define clutter_behaviour_ellipse_set_angle_startx clutter_behaviour_ellipse_set_angle_startx_DEPRECATED_BY_clutter_behaviour_ellipse_set_angle_start
-#define clutter_behaviour_ellipse_get_angle_startx clutter_behaviour_ellipse_get_angle_startx_DEPRECATED_BY_clutter_behaviour_ellipse_get_angle_start
-#define clutter_behaviour_ellipse_set_angle_endx clutter_behaviour_ellipse_set_angle_endx_DEPRECATED_BY_clutter_behaviour_ellipse_set_angle_end
-#define clutter_behaviour_ellipse_get_angle_endx clutter_behaviour_ellipse_get_angle_endx_DEPRECATED_BY_clutter_behaviour_ellipse_get_angle_end
-#define clutter_behaviour_ellipse_set_angle_tiltx clutter_behaviour_ellipse_set_angle_tiltx_DEPRECATED_BY_clutter_behaviour_ellipse_set_angle_tilt
-#define clutter_behaviour_ellipse_get_angle_tiltx clutter_behaviour_ellipse_get_angle_tiltx_DEPRECATED_BY_clutter_behaviour_ellipse_get_angle_tilt
-#define clutter_behaviour_ellipse_set_tiltx clutter_behaviour_ellipse_set_tiltx_DEPRECATED_BY_clutter_behaviour_ellipse_set_tilt
-#define clutter_behaviour_ellipse_get_tiltx clutter_behaviour_ellipse_get_tiltx_DEPRECATED_BY_clutter_behaviour_ellipse_get_tilt
-
-#define clutter_behaviour_rotate_newx clutter_behaviour_rotate_newx_DEPRECATED_BY_clutter_behaviour_rotate_new
-#define clutter_behaviour_rotate_get_boundsx clutter_behaviour_rotate_get_boundsx_DEPRECATED_BY_clutter_behaviour_rotate_get_bounds
-#define clutter_behaviour_rotate_set_boundsx clutter_behaviour_rotate_set_boundsx_DEPRECATED_BY_clutter_behaviour_rotate_set_bounds
-
-#define clutter_behaviour_scale_newx clutter_behaviour_scale_newx_DEPRECATED_BY_clutter_behaviour_scale_new
-#define clutter_behaviour_scale_set_boundsx clutter_behaviour_scale_set_boundsx_DEPRECATED_BY_clutter_behaviour_scale_set_bounds
-#define clutter_behaviour_scale_get_boundsx clutter_behaviour_scale_get_boundsx_DEPRECATED_BY_clutter_behaviour_scale_get_bounds
-
-#define clutter_timeline_get_progressx clutter_timeline_get_progressx_DEPRECATED_BY_clutter_timeline_get_progress
-
-#define clutter_actor_pick clutter_actor_pick_DEPRECATED_BY_clutter_actor_paint
-
-#define clutter_actor_get_allocation_coords clutter_actor_get_allocation_coords_DEPRECATED_BY_clutter_actor_get_allocation_box
-
-#endif /* CLUTTER_DEPRECATED_H */
+#endif /* __CLUTTER_DEPRECATED_H__ */
diff --git a/clutter/clutter-device-manager-private.h b/clutter/clutter-device-manager-private.h
index 223cdde0f..4ae594008 100644
--- a/clutter/clutter-device-manager-private.h
+++ b/clutter/clutter-device-manager-private.h
@@ -75,6 +75,7 @@ struct _ClutterInputDevice
/* the actor that has a grab in place for the device */
ClutterActor *pointer_grab_actor;
+ ClutterActor *keyboard_grab_actor;
/* the current click count */
gint click_count;
diff --git a/clutter/clutter-drag-action.h b/clutter/clutter-drag-action.h
index 2cd066603..4cec1211f 100644
--- a/clutter/clutter-drag-action.h
+++ b/clutter/clutter-drag-action.h
@@ -45,24 +45,6 @@ typedef struct _ClutterDragAction ClutterDragAction;
typedef struct _ClutterDragActionPrivate ClutterDragActionPrivate;
typedef struct _ClutterDragActionClass ClutterDragActionClass;
-/**
- * ClutterDragAxis:
- * @CLUTTER_DRAG_AXIS_NONE: No constraint
- * @CLUTTER_DRAG_X_AXIS: Set a constraint on the X axis
- * @CLUTTER_DRAG_Y_AXIS: Set a constraint on the Y axis
- *
- * The axis of the constraint that should be applied on the
- * dragging action
- *
- * Since: 1.4
- */
-typedef enum { /*< prefix=CLUTTER_DRAG >*/
- CLUTTER_DRAG_AXIS_NONE = 0,
-
- CLUTTER_DRAG_X_AXIS,
- CLUTTER_DRAG_Y_AXIS
-} ClutterDragAxis;
-
/**
* ClutterDragAction:
*
diff --git a/clutter/clutter-effect.h b/clutter/clutter-effect.h
index 6f00c15ac..cad454801 100644
--- a/clutter/clutter-effect.h
+++ b/clutter/clutter-effect.h
@@ -42,19 +42,6 @@ G_BEGIN_DECLS
typedef struct _ClutterEffectClass ClutterEffectClass;
-/**
- * ClutterEffectPaintFlags:
- * @CLUTTER_EFFECT_PAINT_ACTOR_DIRTY: The actor or one of its children
- * has queued a redraw before this paint. This implies that the effect
- * should call clutter_actor_continue_paint() to chain to the next
- * effect and can not cache any results from a previous paint.
- *
- * Flags passed to the ‘paint’ or ‘pick’ method of #ClutterEffect.
- */
-typedef enum { /*< prefix=CLUTTER_EFFECT_PAINT >*/
- CLUTTER_EFFECT_PAINT_ACTOR_DIRTY = (1 << 0)
-} ClutterEffectPaintFlags;
-
/**
* ClutterEffect:
*
diff --git a/clutter/clutter-enums.h b/clutter/clutter-enums.h
new file mode 100644
index 000000000..e9358ad94
--- /dev/null
+++ b/clutter/clutter-enums.h
@@ -0,0 +1,1059 @@
+/*
+ * Clutter.
+ *
+ * An OpenGL based 'interactive canvas' library.
+ *
+ * Copyright (C) 2011 Intel Corporation
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library. If not, see .
+ */
+
+#if !defined(__CLUTTER_H_INSIDE__) && !defined(CLUTTER_COMPILATION)
+#error "Only can be included directly."
+#endif
+
+#ifndef __CLUTTER_ENUMS_H__
+#define __CLUTTER_ENUMS_H__
+
+#include
+
+G_BEGIN_DECLS
+
+/**
+ * ClutterGravity:
+ * @CLUTTER_GRAVITY_NONE: Do not apply any gravity
+ * @CLUTTER_GRAVITY_NORTH: Scale from topmost downwards
+ * @CLUTTER_GRAVITY_NORTH_EAST: Scale from the top right corner
+ * @CLUTTER_GRAVITY_EAST: Scale from the right side
+ * @CLUTTER_GRAVITY_SOUTH_EAST: Scale from the bottom right corner
+ * @CLUTTER_GRAVITY_SOUTH: Scale from the bottom upwards
+ * @CLUTTER_GRAVITY_SOUTH_WEST: Scale from the bottom left corner
+ * @CLUTTER_GRAVITY_WEST: Scale from the left side
+ * @CLUTTER_GRAVITY_NORTH_WEST: Scale from the top left corner
+ * @CLUTTER_GRAVITY_CENTER: Scale from the center.
+ *
+ * Gravity of the scaling operations. When a gravity different than
+ * %CLUTTER_GRAVITY_NONE is used, an actor is scaled keeping the position
+ * of the specified portion at the same coordinates.
+ *
+ * Since: 0.2
+ */
+typedef enum { /*< prefix=CLUTTER_GRAVITY >*/
+ CLUTTER_GRAVITY_NONE = 0,
+ CLUTTER_GRAVITY_NORTH,
+ CLUTTER_GRAVITY_NORTH_EAST,
+ CLUTTER_GRAVITY_EAST,
+ CLUTTER_GRAVITY_SOUTH_EAST,
+ CLUTTER_GRAVITY_SOUTH,
+ CLUTTER_GRAVITY_SOUTH_WEST,
+ CLUTTER_GRAVITY_WEST,
+ CLUTTER_GRAVITY_NORTH_WEST,
+ CLUTTER_GRAVITY_CENTER
+} ClutterGravity;
+
+/**
+ * ClutterRotateAxis:
+ * @CLUTTER_X_AXIS: Rotate around the X axis
+ * @CLUTTER_Y_AXIS: Rotate around the Y axis
+ * @CLUTTER_Z_AXIS: Rotate around the Z axis
+ *
+ * Axis of a rotation.
+ *
+ * Since: 0.4
+ */
+typedef enum { /*< prefix=CLUTTER >*/
+ CLUTTER_X_AXIS,
+ CLUTTER_Y_AXIS,
+ CLUTTER_Z_AXIS
+} ClutterRotateAxis;
+
+/**
+ * ClutterRotateDirection:
+ * @CLUTTER_ROTATE_CW: Clockwise rotation
+ * @CLUTTER_ROTATE_CCW: Counter-clockwise rotation
+ *
+ * Direction of a rotation.
+ *
+ * Since: 0.4
+ */
+typedef enum { /*< prefix=CLUTTER_ROTATE >*/
+ CLUTTER_ROTATE_CW,
+ CLUTTER_ROTATE_CCW
+} ClutterRotateDirection;
+
+/**
+ * ClutterRequestMode:
+ * @CLUTTER_REQUEST_HEIGHT_FOR_WIDTH: Height for width requests
+ * @CLUTTER_REQUEST_WIDTH_FOR_HEIGHT: Width for height requests
+ *
+ * Specifies the type of requests for a #ClutterActor.
+ *
+ * Since: 0.8
+ */
+typedef enum { /*< prefix=CLUTTER_REQUEST >*/
+ CLUTTER_REQUEST_HEIGHT_FOR_WIDTH,
+ CLUTTER_REQUEST_WIDTH_FOR_HEIGHT
+} ClutterRequestMode;
+
+/**
+ * ClutterAnimationMode:
+ * @CLUTTER_CUSTOM_MODE: custom progress function
+ * @CLUTTER_LINEAR: linear tweening
+ * @CLUTTER_EASE_IN_QUAD: quadratic tweening
+ * @CLUTTER_EASE_OUT_QUAD: quadratic tweening, inverse of
+ * %CLUTTER_EASE_IN_QUAD
+ * @CLUTTER_EASE_IN_OUT_QUAD: quadratic tweening, combininig
+ * %CLUTTER_EASE_IN_QUAD and %CLUTTER_EASE_OUT_QUAD
+ * @CLUTTER_EASE_IN_CUBIC: cubic tweening
+ * @CLUTTER_EASE_OUT_CUBIC: cubic tweening, invers of
+ * %CLUTTER_EASE_IN_CUBIC
+ * @CLUTTER_EASE_IN_OUT_CUBIC: cubic tweening, combining
+ * %CLUTTER_EASE_IN_CUBIC and %CLUTTER_EASE_OUT_CUBIC
+ * @CLUTTER_EASE_IN_QUART: quartic tweening
+ * @CLUTTER_EASE_OUT_QUART: quartic tweening, inverse of
+ * %CLUTTER_EASE_IN_QUART
+ * @CLUTTER_EASE_IN_OUT_QUART: quartic tweening, combining
+ * %CLUTTER_EASE_IN_QUART and %CLUTTER_EASE_OUT_QUART
+ * @CLUTTER_EASE_IN_QUINT: quintic tweening
+ * @CLUTTER_EASE_OUT_QUINT: quintic tweening, inverse of
+ * %CLUTTER_EASE_IN_QUINT
+ * @CLUTTER_EASE_IN_OUT_QUINT: fifth power tweening, combining
+ * %CLUTTER_EASE_IN_QUINT and %CLUTTER_EASE_OUT_QUINT
+ * @CLUTTER_EASE_IN_SINE: sinusoidal tweening
+ * @CLUTTER_EASE_OUT_SINE: sinusoidal tweening, inverse of
+ * %CLUTTER_EASE_IN_SINE
+ * @CLUTTER_EASE_IN_OUT_SINE: sine wave tweening, combining
+ * %CLUTTER_EASE_IN_SINE and %CLUTTER_EASE_OUT_SINE
+ * @CLUTTER_EASE_IN_EXPO: exponential tweening
+ * @CLUTTER_EASE_OUT_EXPO: exponential tweening, inverse of
+ * %CLUTTER_EASE_IN_EXPO
+ * @CLUTTER_EASE_IN_OUT_EXPO: exponential tweening, combining
+ * %CLUTTER_EASE_IN_EXPO and %CLUTTER_EASE_OUT_EXPO
+ * @CLUTTER_EASE_IN_CIRC: circular tweening
+ * @CLUTTER_EASE_OUT_CIRC: circular tweening, inverse of
+ * %CLUTTER_EASE_IN_CIRC
+ * @CLUTTER_EASE_IN_OUT_CIRC: circular tweening, combining
+ * %CLUTTER_EASE_IN_CIRC and %CLUTTER_EASE_OUT_CIRC
+ * @CLUTTER_EASE_IN_ELASTIC: elastic tweening, with offshoot on start
+ * @CLUTTER_EASE_OUT_ELASTIC: elastic tweening, with offshoot on end
+ * @CLUTTER_EASE_IN_OUT_ELASTIC: elastic tweening with offshoot on both ends
+ * @CLUTTER_EASE_IN_BACK: overshooting cubic tweening, with
+ * backtracking on start
+ * @CLUTTER_EASE_OUT_BACK: overshooting cubic tweening, with
+ * backtracking on end
+ * @CLUTTER_EASE_IN_OUT_BACK: overshooting cubic tweening, with
+ * backtracking on both ends
+ * @CLUTTER_EASE_IN_BOUNCE: exponentially decaying parabolic (bounce)
+ * tweening, with bounce on start
+ * @CLUTTER_EASE_OUT_BOUNCE: exponentially decaying parabolic (bounce)
+ * tweening, with bounce on end
+ * @CLUTTER_EASE_IN_OUT_BOUNCE: exponentially decaying parabolic (bounce)
+ * tweening, with bounce on both ends
+ * @CLUTTER_ANIMATION_LAST: last animation mode, used as a guard for
+ * registered global alpha functions
+ *
+ * The animation modes used by #ClutterAlpha and #ClutterAnimation. This
+ * enumeration can be expanded in later versions of Clutter. See the
+ * #ClutterAlpha documentation for a graph of all the animation modes.
+ *
+ * Every global alpha function registered using clutter_alpha_register_func()
+ * or clutter_alpha_register_closure() will have a logical id greater than
+ * %CLUTTER_ANIMATION_LAST.
+ *
+ * Since: 1.0
+ */
+typedef enum {
+ CLUTTER_CUSTOM_MODE = 0,
+
+ /* linear */
+ CLUTTER_LINEAR,
+
+ /* quadratic */
+ CLUTTER_EASE_IN_QUAD,
+ CLUTTER_EASE_OUT_QUAD,
+ CLUTTER_EASE_IN_OUT_QUAD,
+
+ /* cubic */
+ CLUTTER_EASE_IN_CUBIC,
+ CLUTTER_EASE_OUT_CUBIC,
+ CLUTTER_EASE_IN_OUT_CUBIC,
+
+ /* quartic */
+ CLUTTER_EASE_IN_QUART,
+ CLUTTER_EASE_OUT_QUART,
+ CLUTTER_EASE_IN_OUT_QUART,
+
+ /* quintic */
+ CLUTTER_EASE_IN_QUINT,
+ CLUTTER_EASE_OUT_QUINT,
+ CLUTTER_EASE_IN_OUT_QUINT,
+
+ /* sinusoidal */
+ CLUTTER_EASE_IN_SINE,
+ CLUTTER_EASE_OUT_SINE,
+ CLUTTER_EASE_IN_OUT_SINE,
+
+ /* exponential */
+ CLUTTER_EASE_IN_EXPO,
+ CLUTTER_EASE_OUT_EXPO,
+ CLUTTER_EASE_IN_OUT_EXPO,
+
+ /* circular */
+ CLUTTER_EASE_IN_CIRC,
+ CLUTTER_EASE_OUT_CIRC,
+ CLUTTER_EASE_IN_OUT_CIRC,
+
+ /* elastic */
+ CLUTTER_EASE_IN_ELASTIC,
+ CLUTTER_EASE_OUT_ELASTIC,
+ CLUTTER_EASE_IN_OUT_ELASTIC,
+
+ /* overshooting cubic */
+ CLUTTER_EASE_IN_BACK,
+ CLUTTER_EASE_OUT_BACK,
+ CLUTTER_EASE_IN_OUT_BACK,
+
+ /* exponentially decaying parabolic */
+ CLUTTER_EASE_IN_BOUNCE,
+ CLUTTER_EASE_OUT_BOUNCE,
+ CLUTTER_EASE_IN_OUT_BOUNCE,
+
+ /* guard, before registered alpha functions */
+ CLUTTER_ANIMATION_LAST
+} ClutterAnimationMode;
+
+/**
+ * ClutterFontFlags:
+ * @CLUTTER_FONT_MIPMAPPING: Set to use mipmaps for the glyph cache textures.
+ * @CLUTTER_FONT_HINTING: Set to enable hinting on the glyphs.
+ *
+ * Runtime flags to change the font quality. To be used with
+ * clutter_set_font_flags().
+ *
+ * Since: 1.0
+ */
+typedef enum { /*< prefix=CLUTTER_FONT >*/
+ CLUTTER_FONT_MIPMAPPING = (1 << 0),
+ CLUTTER_FONT_HINTING = (1 << 1)
+} ClutterFontFlags;
+
+/**
+ * ClutterTextDirection:
+ * @CLUTTER_TEXT_DIRECTION_DEFAULT: Use the default setting, as returned
+ * by clutter_get_default_text_direction()
+ * @CLUTTER_TEXT_DIRECTION_LTR: Use left-to-right text direction
+ * @CLUTTER_TEXT_DIRECTION_RTL: Use right-to-left text direction
+ *
+ * The text direction to be used by #ClutterActors
+ *
+ * Since: 1.2
+ */
+typedef enum {
+ CLUTTER_TEXT_DIRECTION_DEFAULT,
+ CLUTTER_TEXT_DIRECTION_LTR,
+ CLUTTER_TEXT_DIRECTION_RTL
+} ClutterTextDirection;
+
+/**
+ * ClutterShaderType:
+ * @CLUTTER_VERTEX_SHADER: a vertex shader
+ * @CLUTTER_FRAGMENT_SHADER: a fragment shader
+ *
+ * The type of GLSL shader program
+ *
+ * Since: 1.4
+ */
+typedef enum {
+ CLUTTER_VERTEX_SHADER,
+ CLUTTER_FRAGMENT_SHADER
+} ClutterShaderType;
+
+/**
+ * ClutterModifierType:
+ * @CLUTTER_SHIFT_MASK: Mask applied by the Shift key
+ * @CLUTTER_LOCK_MASK: Mask applied by the Caps Lock key
+ * @CLUTTER_CONTROL_MASK: Mask applied by the Control key
+ * @CLUTTER_MOD1_MASK: Mask applied by the first Mod key
+ * @CLUTTER_MOD2_MASK: Mask applied by the second Mod key
+ * @CLUTTER_MOD3_MASK: Mask applied by the third Mod key
+ * @CLUTTER_MOD4_MASK: Mask applied by the fourth Mod key
+ * @CLUTTER_MOD5_MASK: Mask applied by the fifth Mod key
+ * @CLUTTER_BUTTON1_MASK: Mask applied by the first pointer button
+ * @CLUTTER_BUTTON2_MASK: Mask applied by the second pointer button
+ * @CLUTTER_BUTTON3_MASK: Mask applied by the third pointer button
+ * @CLUTTER_BUTTON4_MASK: Mask applied by the fourth pointer button
+ * @CLUTTER_BUTTON5_MASK: Mask applied by the fifth pointer button
+ * @CLUTTER_SUPER_MASK: Mask applied by the Super key
+ * @CLUTTER_HYPER_MASK: Mask applied by the Hyper key
+ * @CLUTTER_META_MASK: Mask applied by the Meta key
+ * @CLUTTER_RELEASE_MASK: Mask applied during release
+ * @CLUTTER_MODIFIER_MASK: A mask covering all modifier types
+ *
+ * Masks applied to a #ClutterEvent by modifiers.
+ *
+ * Note that Clutter may add internal values to events which include
+ * reserved values such as %CLUTTER_MODIFIER_RESERVED_13_MASK. Your code
+ * should preserve and ignore them. You can use %CLUTTER_MODIFIER_MASK to
+ * remove all reserved values.
+ *
+ * Since: 0.4
+ */
+typedef enum {
+ CLUTTER_SHIFT_MASK = 1 << 0,
+ CLUTTER_LOCK_MASK = 1 << 1,
+ CLUTTER_CONTROL_MASK = 1 << 2,
+ CLUTTER_MOD1_MASK = 1 << 3,
+ CLUTTER_MOD2_MASK = 1 << 4,
+ CLUTTER_MOD3_MASK = 1 << 5,
+ CLUTTER_MOD4_MASK = 1 << 6,
+ CLUTTER_MOD5_MASK = 1 << 7,
+ CLUTTER_BUTTON1_MASK = 1 << 8,
+ CLUTTER_BUTTON2_MASK = 1 << 9,
+ CLUTTER_BUTTON3_MASK = 1 << 10,
+ CLUTTER_BUTTON4_MASK = 1 << 11,
+ CLUTTER_BUTTON5_MASK = 1 << 12,
+
+#ifndef __GTK_DOC_IGNORE__
+ CLUTTER_MODIFIER_RESERVED_13_MASK = 1 << 13,
+ CLUTTER_MODIFIER_RESERVED_14_MASK = 1 << 14,
+ CLUTTER_MODIFIER_RESERVED_15_MASK = 1 << 15,
+ CLUTTER_MODIFIER_RESERVED_16_MASK = 1 << 16,
+ CLUTTER_MODIFIER_RESERVED_17_MASK = 1 << 17,
+ CLUTTER_MODIFIER_RESERVED_18_MASK = 1 << 18,
+ CLUTTER_MODIFIER_RESERVED_19_MASK = 1 << 19,
+ CLUTTER_MODIFIER_RESERVED_20_MASK = 1 << 20,
+ CLUTTER_MODIFIER_RESERVED_21_MASK = 1 << 21,
+ CLUTTER_MODIFIER_RESERVED_22_MASK = 1 << 22,
+ CLUTTER_MODIFIER_RESERVED_23_MASK = 1 << 23,
+ CLUTTER_MODIFIER_RESERVED_24_MASK = 1 << 24,
+ CLUTTER_MODIFIER_RESERVED_25_MASK = 1 << 25,
+#endif
+
+ CLUTTER_SUPER_MASK = 1 << 26,
+ CLUTTER_HYPER_MASK = 1 << 27,
+ CLUTTER_META_MASK = 1 << 28,
+
+#ifndef __GTK_DOC_IGNORE__
+ CLUTTER_MODIFIER_RESERVED_29_MASK = 1 << 29,
+#endif
+
+ CLUTTER_RELEASE_MASK = 1 << 30,
+
+ /* Combination of CLUTTER_SHIFT_MASK..CLUTTER_BUTTON5_MASK + CLUTTER_SUPER_MASK
+ + CLUTTER_HYPER_MASK + CLUTTER_META_MASK + CLUTTER_RELEASE_MASK */
+ CLUTTER_MODIFIER_MASK = 0x5c001fff
+} ClutterModifierType;
+
+/**
+ * ClutterActorFlags:
+ * @CLUTTER_ACTOR_MAPPED: the actor will be painted (is visible, and inside
+ * a toplevel, and all parents visible)
+ * @CLUTTER_ACTOR_REALIZED: the resources associated to the actor have been
+ * allocated
+ * @CLUTTER_ACTOR_REACTIVE: the actor 'reacts' to mouse events emmitting event
+ * signals
+ * @CLUTTER_ACTOR_VISIBLE: the actor has been shown by the application program
+ * @CLUTTER_ACTOR_NO_LAYOUT: the actor provides an explicit layout management
+ * policy for its children; this flag will prevent Clutter from automatic
+ * queueing of relayout and will defer all layouting to the actor itself
+ *
+ * Flags used to signal the state of an actor.
+ */
+typedef enum { /*< prefix=CLUTTER_ACTOR >*/
+ CLUTTER_ACTOR_MAPPED = 1 << 1,
+ CLUTTER_ACTOR_REALIZED = 1 << 2,
+ CLUTTER_ACTOR_REACTIVE = 1 << 3,
+ CLUTTER_ACTOR_VISIBLE = 1 << 4,
+ CLUTTER_ACTOR_NO_LAYOUT = 1 << 5
+} ClutterActorFlags;
+
+/**
+ * ClutterOffscreenRedirect:
+ * @CLUTTER_OFFSCREEN_REDIRECT_AUTOMATIC_FOR_OPACITY: Only redirect
+ * the actor if it is semi-transparent and its has_overlaps()
+ * virtual returns %TRUE. This is the default.
+ * @CLUTTER_OFFSCREEN_REDIRECT_ALWAYS: Always redirect the actor to an
+ * offscreen buffer even if it is fully opaque.
+ *
+ * Possible flags to pass to clutter_actor_set_offscreen_redirect().
+ *
+ * Since: 1.8
+ */
+typedef enum { /*< prefix=CLUTTER_OFFSCREEN_REDIRECT >*/
+ CLUTTER_OFFSCREEN_REDIRECT_AUTOMATIC_FOR_OPACITY = 1<<0,
+ CLUTTER_OFFSCREEN_REDIRECT_ALWAYS = 1<<1
+} ClutterOffscreenRedirect;
+
+/**
+ * ClutterAllocationFlags:
+ * @CLUTTER_ALLOCATION_NONE: No flag set
+ * @CLUTTER_ABSOLUTE_ORIGIN_CHANGED: Whether the absolute origin of the
+ * actor has changed; this implies that any ancestor of the actor has
+ * been moved
+ *
+ * Flags passed to the #ClutterActor::allocate() virtual function and
+ * to the clutter_actor_allocate() function
+ *
+ * Since: 1.0
+ */
+typedef enum {
+ CLUTTER_ALLOCATION_NONE = 0,
+ CLUTTER_ABSOLUTE_ORIGIN_CHANGED = 1 << 1
+} ClutterAllocationFlags;
+
+/**
+ * ClutterAlignAxis:
+ * @CLUTTER_ALIGN_X_AXIS: Maintain the alignment on the X axis
+ * @CLUTTER_ALIGN_Y_AXIS: Maintain the alignment on the Y axis
+ *
+ * Specifies the axis on which #ClutterAlignConstraint should maintain
+ * the alignment
+ *
+ * Since: 1.4
+ */
+typedef enum { /*< prefix=CLUTTER_ALIGN >*/
+ CLUTTER_ALIGN_X_AXIS,
+ CLUTTER_ALIGN_Y_AXIS
+} ClutterAlignAxis;
+
+/**
+ * ClutterInterpolation:
+ * @CLUTTER_INTERPOLATION_LINEAR: linear interpolation
+ * @CLUTTER_INTERPOLATION_CUBIC: cubic interpolation
+ *
+ * The mode of interpolation between key frames
+ *
+ * Since: 1.2
+ */
+typedef enum {
+ CLUTTER_INTERPOLATION_LINEAR,
+ CLUTTER_INTERPOLATION_CUBIC
+} ClutterInterpolation;
+
+/**
+ * ClutterBinAlignment:
+ * @CLUTTER_BIN_ALIGNMENT_FIXED: Fixed position alignment; the
+ * #ClutterBinLayout will honour the fixed position provided
+ * by the actors themselves when allocating them
+ * @CLUTTER_BIN_ALIGNMENT_FILL: Fill the allocation size
+ * @CLUTTER_BIN_ALIGNMENT_START: Position the actors at the top
+ * or left side of the container, depending on the axis
+ * @CLUTTER_BIN_ALIGNMENT_END: Position the actors at the bottom
+ * or right side of the container, depending on the axis
+ * @CLUTTER_BIN_ALIGNMENT_CENTER: Position the actors at the
+ * center of the container, depending on the axis
+ *
+ * The alignment policies available on each axis for #ClutterBinLayout
+ *
+ * Since: 1.2
+ */
+typedef enum {
+ CLUTTER_BIN_ALIGNMENT_FIXED,
+ CLUTTER_BIN_ALIGNMENT_FILL,
+ CLUTTER_BIN_ALIGNMENT_START,
+ CLUTTER_BIN_ALIGNMENT_END,
+ CLUTTER_BIN_ALIGNMENT_CENTER
+} ClutterBinAlignment;
+
+/**
+ * ClutterBindCoordinate:
+ * @CLUTTER_BIND_X: Bind the X coordinate
+ * @CLUTTER_BIND_Y: Bind the Y coordinate
+ * @CLUTTER_BIND_WIDTH: Bind the width
+ * @CLUTTER_BIND_HEIGHT: Bind the height
+ * @CLUTTER_BIND_POSITION: Equivalent to to %CLUTTER_BIND_X and
+ * %CLUTTER_BIND_Y
+ * @CLUTTER_BIND_SIZE: Equivalent to %CLUTTER_BIND_WIDTH and
+ * %CLUTTER_BIND_HEIGHT
+ *
+ * Specifies which property should be used in a binding
+ *
+ * Since: 1.4
+ */
+typedef enum { /*< prefix=CLUTTER_BIND >*/
+ CLUTTER_BIND_X,
+ CLUTTER_BIND_Y,
+ CLUTTER_BIND_WIDTH,
+ CLUTTER_BIND_HEIGHT,
+ CLUTTER_BIND_POSITION,
+ CLUTTER_BIND_SIZE
+} ClutterBindCoordinate;
+
+/**
+ * ClutterEffectPaintFlags:
+ * @CLUTTER_EFFECT_PAINT_ACTOR_DIRTY: The actor or one of its children
+ * has queued a redraw before this paint. This implies that the effect
+ * should call clutter_actor_continue_paint() to chain to the next
+ * effect and can not cache any results from a previous paint.
+ *
+ * Flags passed to the ‘paint’ or ‘pick’ method of #ClutterEffect.
+ */
+typedef enum { /*< prefix=CLUTTER_EFFECT_PAINT >*/
+ CLUTTER_EFFECT_PAINT_ACTOR_DIRTY = (1 << 0)
+} ClutterEffectPaintFlags;
+
+/**
+ * ClutterBoxAlignment:
+ * @CLUTTER_BOX_ALIGNMENT_START: Align the child to the top or to
+ * to the left, depending on the used axis
+ * @CLUTTER_BOX_ALIGNMENT_CENTER: Align the child to the center
+ * @CLUTTER_BOX_ALIGNMENT_END: Align the child to the bottom or to
+ * the right, depending on the used axis
+ *
+ * The alignment policies available on each axis of the #ClutterBoxLayout
+ *
+ * Since: 1.2
+ */
+typedef enum {
+ CLUTTER_BOX_ALIGNMENT_START,
+ CLUTTER_BOX_ALIGNMENT_END,
+ CLUTTER_BOX_ALIGNMENT_CENTER
+} ClutterBoxAlignment;
+
+/**
+ * ClutterLongPressState:
+ * @CLUTTER_LONG_PRESS_QUERY: Queries the action whether it supports
+ * long presses
+ * @CLUTTER_LONG_PRESS_ACTIVATE: Activates the action on a long press
+ * @CLUTTER_LONG_PRESS_CANCEL: The long press was cancelled
+ *
+ * The states for the #ClutterClikAction::long-press signal.
+ *
+ * Since: 1.8
+ */
+typedef enum { /*< prefix=CLUTTER_LONG_PRESS >*/
+ CLUTTER_LONG_PRESS_QUERY,
+ CLUTTER_LONG_PRESS_ACTIVATE,
+ CLUTTER_LONG_PRESS_CANCEL
+} ClutterLongPressState;
+
+/**
+ * ClutterStaticColor:
+ * @CLUTTER_COLOR_WHITE: White color (ffffffff)
+ * @CLUTTER_COLOR_BLACK: Black color (000000ff)
+ * @CLUTTER_COLOR_RED: Red color (ff0000ff)
+ * @CLUTTER_COLOR_DARK_RED: Dark red color (800000ff)
+ * @CLUTTER_COLOR_GREEN: Green color (00ff00ff)
+ * @CLUTTER_COLOR_DARK_GREEN: Dark green color (008000ff)
+ * @CLUTTER_COLOR_BLUE: Blue color (0000ffff)
+ * @CLUTTER_COLOR_DARK_BLUE: Dark blue color (000080ff)
+ * @CLUTTER_COLOR_CYAN: Cyan color (00ffffff)
+ * @CLUTTER_COLOR_DARK_CYAN: Dark cyan color (008080ff)
+ * @CLUTTER_COLOR_MAGENTA: Magenta color (ff00ffff)
+ * @CLUTTER_COLOR_DARK_MAGENTA: Dark magenta color (800080ff)
+ * @CLUTTER_COLOR_YELLOW: Yellow color (ffff00ff)
+ * @CLUTTER_COLOR_DARK_YELLOW: Dark yellow color (808000ff)
+ * @CLUTTER_COLOR_GRAY: Gray color (a0a0a4ff)
+ * @CLUTTER_COLOR_DARK_GRAY: Dark Gray color (808080ff)
+ * @CLUTTER_COLOR_LIGHT_GRAY: Light gray color (c0c0c0ff)
+ * @CLUTTER_COLOR_BUTTER: Butter color (edd400ff)
+ * @CLUTTER_COLOR_BUTTER_LIGHT: Light butter color (fce94fff)
+ * @CLUTTER_COLOR_BUTTER_DARK: Dark butter color (c4a000ff)
+ * @CLUTTER_COLOR_ORANGE: Orange color (f57900ff)
+ * @CLUTTER_COLOR_ORANGE_LIGHT: Light orange color (fcaf3fff)
+ * @CLUTTER_COLOR_ORANGE_DARK: Dark orange color (ce5c00ff)
+ * @CLUTTER_COLOR_CHOCOLATE: Chocolate color (c17d11ff)
+ * @CLUTTER_COLOR_CHOCOLATE_LIGHT: Light chocolate color (e9b96eff)
+ * @CLUTTER_COLOR_CHOCOLATE_DARK: Dark chocolate color (8f5902ff)
+ * @CLUTTER_COLOR_CHAMELEON: Chameleon color (73d216ff)
+ * @CLUTTER_COLOR_CHAMELEON_LIGHT: Light chameleon color (8ae234ff)
+ * @CLUTTER_COLOR_CHAMELEON_DARK: Dark chameleon color (4e9a06ff)
+ * @CLUTTER_COLOR_SKY_BLUE: Sky color (3465a4ff)
+ * @CLUTTER_COLOR_SKY_BLUE_LIGHT: Light sky color (729fcfff)
+ * @CLUTTER_COLOR_SKY_BLUE_DARK: Dark sky color (204a87ff)
+ * @CLUTTER_COLOR_PLUM: Plum color (75507bff)
+ * @CLUTTER_COLOR_PLUM_LIGHT: Light plum color (ad7fa8ff)
+ * @CLUTTER_COLOR_PLUM_DARK: Dark plum color (5c3566ff)
+ * @CLUTTER_COLOR_SCARLET_RED: Scarlet red color (cc0000ff)
+ * @CLUTTER_COLOR_SCARLET_RED_LIGHT: Light scarlet red color (ef2929ff)
+ * @CLUTTER_COLOR_SCARLET_RED_DARK: Dark scarlet red color (a40000ff)
+ * @CLUTTER_COLOR_ALUMINIUM_1: Aluminium, first variant (eeeeecff)
+ * @CLUTTER_COLOR_ALUMINIUM_2: Aluminium, second variant (d3d7cfff)
+ * @CLUTTER_COLOR_ALUMINIUM_3: Aluminium, third variant (babdb6ff)
+ * @CLUTTER_COLOR_ALUMINIUM_4: Aluminium, fourth variant (888a85ff)
+ * @CLUTTER_COLOR_ALUMINIUM_5: Aluminium, fifth variant (555753ff)
+ * @CLUTTER_COLOR_ALUMINIUM_6: Aluminium, sixth variant (2e3436ff)
+ * @CLUTTER_COLOR_TRANSPARENT: Transparent color (00000000)
+ *
+ * Named colors, for accessing global colors defined by Clutter
+ *
+ * Since: 1.6
+ */
+typedef enum { /*< prefix=CLUTTER_COLOR >*/
+ /* CGA/EGA-like palette */
+ CLUTTER_COLOR_WHITE = 0,
+ CLUTTER_COLOR_BLACK,
+ CLUTTER_COLOR_RED,
+ CLUTTER_COLOR_DARK_RED,
+ CLUTTER_COLOR_GREEN,
+ CLUTTER_COLOR_DARK_GREEN,
+ CLUTTER_COLOR_BLUE,
+ CLUTTER_COLOR_DARK_BLUE,
+ CLUTTER_COLOR_CYAN,
+ CLUTTER_COLOR_DARK_CYAN,
+ CLUTTER_COLOR_MAGENTA,
+ CLUTTER_COLOR_DARK_MAGENTA,
+ CLUTTER_COLOR_YELLOW,
+ CLUTTER_COLOR_DARK_YELLOW,
+ CLUTTER_COLOR_GRAY,
+ CLUTTER_COLOR_DARK_GRAY,
+ CLUTTER_COLOR_LIGHT_GRAY,
+
+ /* Tango icon palette */
+ CLUTTER_COLOR_BUTTER,
+ CLUTTER_COLOR_BUTTER_LIGHT,
+ CLUTTER_COLOR_BUTTER_DARK,
+ CLUTTER_COLOR_ORANGE,
+ CLUTTER_COLOR_ORANGE_LIGHT,
+ CLUTTER_COLOR_ORANGE_DARK,
+ CLUTTER_COLOR_CHOCOLATE,
+ CLUTTER_COLOR_CHOCOLATE_LIGHT,
+ CLUTTER_COLOR_CHOCOLATE_DARK,
+ CLUTTER_COLOR_CHAMELEON,
+ CLUTTER_COLOR_CHAMELEON_LIGHT,
+ CLUTTER_COLOR_CHAMELEON_DARK,
+ CLUTTER_COLOR_SKY_BLUE,
+ CLUTTER_COLOR_SKY_BLUE_LIGHT,
+ CLUTTER_COLOR_SKY_BLUE_DARK,
+ CLUTTER_COLOR_PLUM,
+ CLUTTER_COLOR_PLUM_LIGHT,
+ CLUTTER_COLOR_PLUM_DARK,
+ CLUTTER_COLOR_SCARLET_RED,
+ CLUTTER_COLOR_SCARLET_RED_LIGHT,
+ CLUTTER_COLOR_SCARLET_RED_DARK,
+ CLUTTER_COLOR_ALUMINIUM_1,
+ CLUTTER_COLOR_ALUMINIUM_2,
+ CLUTTER_COLOR_ALUMINIUM_3,
+ CLUTTER_COLOR_ALUMINIUM_4,
+ CLUTTER_COLOR_ALUMINIUM_5,
+ CLUTTER_COLOR_ALUMINIUM_6,
+
+ /* Fully transparent black */
+ CLUTTER_COLOR_TRANSPARENT
+} ClutterStaticColor;
+
+/**
+ * ClutterDragAxis:
+ * @CLUTTER_DRAG_AXIS_NONE: No constraint
+ * @CLUTTER_DRAG_X_AXIS: Set a constraint on the X axis
+ * @CLUTTER_DRAG_Y_AXIS: Set a constraint on the Y axis
+ *
+ * The axis of the constraint that should be applied on the
+ * dragging action
+ *
+ * Since: 1.4
+ */
+typedef enum { /*< prefix=CLUTTER_DRAG >*/
+ CLUTTER_DRAG_AXIS_NONE = 0,
+
+ CLUTTER_DRAG_X_AXIS,
+ CLUTTER_DRAG_Y_AXIS
+} ClutterDragAxis;
+
+/**
+ * ClutterEventFlags:
+ * @CLUTTER_EVENT_NONE: No flag set
+ * @CLUTTER_EVENT_FLAG_SYNTHETIC: Synthetic event
+ *
+ * Flags for the #ClutterEvent
+ *
+ * Since: 0.6
+ */
+typedef enum { /*< flags prefix=CLUTTER_EVENT >*/
+ CLUTTER_EVENT_NONE = 0,
+ CLUTTER_EVENT_FLAG_SYNTHETIC = 1 << 0
+} ClutterEventFlags;
+
+/**
+ * ClutterEventType:
+ * @CLUTTER_NOTHING: Empty event
+ * @CLUTTER_KEY_PRESS: Key press event
+ * @CLUTTER_KEY_RELEASE: Key release event
+ * @CLUTTER_MOTION: Pointer motion event
+ * @CLUTTER_ENTER: Actor enter event
+ * @CLUTTER_LEAVE: Actor leave event
+ * @CLUTTER_BUTTON_PRESS: Pointer button press event
+ * @CLUTTER_BUTTON_RELEASE: Pointer button release event
+ * @CLUTTER_SCROLL: Pointer scroll event
+ * @CLUTTER_STAGE_STATE: Stage stage change event
+ * @CLUTTER_DESTROY_NOTIFY: Destroy notification event
+ * @CLUTTER_CLIENT_MESSAGE: Client message event
+ * @CLUTTER_DELETE: Stage delete event
+ *
+ * Types of events.
+ *
+ * Since: 0.4
+ */
+typedef enum { /*< prefix=CLUTTER >*/
+ CLUTTER_NOTHING = 0,
+ CLUTTER_KEY_PRESS,
+ CLUTTER_KEY_RELEASE,
+ CLUTTER_MOTION,
+ CLUTTER_ENTER,
+ CLUTTER_LEAVE,
+ CLUTTER_BUTTON_PRESS,
+ CLUTTER_BUTTON_RELEASE,
+ CLUTTER_SCROLL,
+ CLUTTER_STAGE_STATE,
+ CLUTTER_DESTROY_NOTIFY,
+ CLUTTER_CLIENT_MESSAGE,
+ CLUTTER_DELETE
+} ClutterEventType;
+
+/**
+ * ClutterScrollDirection:
+ * @CLUTTER_SCROLL_UP: Scroll up
+ * @CLUTTER_SCROLL_DOWN: Scroll down
+ * @CLUTTER_SCROLL_LEFT: Scroll left
+ * @CLUTTER_SCROLL_RIGHT: Scroll right
+ *
+ * Direction of a pointer scroll event.
+ *
+ * Since: 0.4
+ */
+typedef enum { /*< prefix=CLUTTER_SCROLL >*/
+ CLUTTER_SCROLL_UP,
+ CLUTTER_SCROLL_DOWN,
+ CLUTTER_SCROLL_LEFT,
+ CLUTTER_SCROLL_RIGHT
+} ClutterScrollDirection;
+
+/**
+ * ClutterStageState:
+ * @CLUTTER_STAGE_STATE_FULLSCREEN: Fullscreen mask
+ * @CLUTTER_STAGE_STATE_OFFSCREEN: Offscreen mask
+ * @CLUTTER_STAGE_STATE_ACTIVATED: Activated mask
+ *
+ * Stage state masks
+ *
+ * Since: 0.4
+ */
+typedef enum {
+ CLUTTER_STAGE_STATE_FULLSCREEN = (1<<1),
+ CLUTTER_STAGE_STATE_OFFSCREEN = (1<<2),
+ CLUTTER_STAGE_STATE_ACTIVATED = (1<<3)
+} ClutterStageState;
+
+/**
+ * ClutterFeatureFlags:
+ * @CLUTTER_FEATURE_TEXTURE_NPOT: Set if NPOTS textures supported.
+ * @CLUTTER_FEATURE_SYNC_TO_VBLANK: Set if vblank syncing supported.
+ * @CLUTTER_FEATURE_TEXTURE_YUV: Set if YUV based textures supported.
+ * @CLUTTER_FEATURE_TEXTURE_READ_PIXELS: Set if texture pixels can be read.
+ * @CLUTTER_FEATURE_STAGE_STATIC: Set if stage size if fixed (i.e framebuffer)
+ * @CLUTTER_FEATURE_STAGE_USER_RESIZE: Set if stage is able to be user resized.
+ * @CLUTTER_FEATURE_STAGE_CURSOR: Set if stage has a graphical cursor.
+ * @CLUTTER_FEATURE_SHADERS_GLSL: Set if the backend supports GLSL shaders.
+ * @CLUTTER_FEATURE_OFFSCREEN: Set if the backend supports offscreen rendering.
+ * @CLUTTER_FEATURE_STAGE_MULTIPLE: Set if multiple stages are supported.
+ * @CLUTTER_FEATURE_SWAP_EVENTS: Set if the GLX_INTEL_swap_event is supported.
+ *
+ * Runtime flags indicating specific features available via Clutter window
+ * sysytem and graphics backend.
+ *
+ * Since: 0.4
+ */
+typedef enum
+{
+ CLUTTER_FEATURE_TEXTURE_NPOT = (1 << 2),
+ CLUTTER_FEATURE_SYNC_TO_VBLANK = (1 << 3),
+ CLUTTER_FEATURE_TEXTURE_YUV = (1 << 4),
+ CLUTTER_FEATURE_TEXTURE_READ_PIXELS = (1 << 5),
+ CLUTTER_FEATURE_STAGE_STATIC = (1 << 6),
+ CLUTTER_FEATURE_STAGE_USER_RESIZE = (1 << 7),
+ CLUTTER_FEATURE_STAGE_CURSOR = (1 << 8),
+ CLUTTER_FEATURE_SHADERS_GLSL = (1 << 9),
+ CLUTTER_FEATURE_OFFSCREEN = (1 << 10),
+ CLUTTER_FEATURE_STAGE_MULTIPLE = (1 << 11),
+ CLUTTER_FEATURE_SWAP_EVENTS = (1 << 12)
+} ClutterFeatureFlags;
+
+/**
+ * ClutterFlowOrientation:
+ * @CLUTTER_FLOW_HORIZONTAL: Arrange the children of the flow layout
+ * horizontally first
+ * @CLUTTER_FLOW_VERTICAL: Arrange the children of the flow layout
+ * vertically first
+ *
+ * The direction of the arrangement of the children inside
+ * a #ClutterFlowLayout
+ *
+ * Since: 1.2
+ */
+typedef enum { /*< prefix=CLUTTER_FLOW >*/
+ CLUTTER_FLOW_HORIZONTAL,
+ CLUTTER_FLOW_VERTICAL
+} ClutterFlowOrientation;
+
+/**
+ * ClutterInputDeviceType:
+ * @CLUTTER_POINTER_DEVICE: A pointer device
+ * @CLUTTER_KEYBOARD_DEVICE: A keyboard device
+ * @CLUTTER_EXTENSION_DEVICE: A generic extension device
+ * @CLUTTER_JOYSTICK_DEVICE: A joystick device
+ * @CLUTTER_TABLET_DEVICE: A tablet device
+ * @CLUTTER_TOUCHPAD_DEVICE: A touchpad device
+ * @CLUTTER_TOUCHSCREEN_DEVICE: A touch screen device
+ * @CLUTTER_PEN_DEVICE: A pen device
+ * @CLUTTER_ERASER_DEVICE: An eraser device
+ * @CLUTTER_CURSOR_DEVICE: A cursor device
+ * @CLUTTER_N_DEVICE_TYPES: The number of device types
+ *
+ * The types of input devices available.
+ *
+ * The #ClutterInputDeviceType enumeration can be extended at later
+ * date; not every platform supports every input device type.
+ *
+ * Since: 1.0
+ */
+typedef enum {
+ CLUTTER_POINTER_DEVICE,
+ CLUTTER_KEYBOARD_DEVICE,
+ CLUTTER_EXTENSION_DEVICE,
+ CLUTTER_JOYSTICK_DEVICE,
+ CLUTTER_TABLET_DEVICE,
+ CLUTTER_TOUCHPAD_DEVICE,
+ CLUTTER_TOUCHSCREEN_DEVICE,
+ CLUTTER_PEN_DEVICE,
+ CLUTTER_ERASER_DEVICE,
+ CLUTTER_CURSOR_DEVICE,
+
+ CLUTTER_N_DEVICE_TYPES
+} ClutterInputDeviceType;
+
+/**
+ * ClutterInputMode:
+ * @CLUTTER_INPUT_MODE_MASTER: A master, virtual device
+ * @CLUTTER_INPUT_MODE_SLAVE: A slave, physical device, attached to
+ * a master device
+ * @CLUTTER_INPUT_MODE_FLOATING: A slave, physical device, not attached
+ * to a master device
+ *
+ * The mode for input devices available.
+ *
+ * Since: 1.6
+ */
+typedef enum {
+ CLUTTER_INPUT_MODE_MASTER,
+ CLUTTER_INPUT_MODE_SLAVE,
+ CLUTTER_INPUT_MODE_FLOATING
+} ClutterInputMode;
+
+/**
+ * ClutterInputAxis:
+ * @CLUTTER_INPUT_AXIS_IGNORE: Unused axis
+ * @CLUTTER_INPUT_AXIS_X: The position on the X axis
+ * @CLUTTER_INPUT_AXIS_Y: The position of the Y axis
+ * @CLUTTER_INPUT_AXIS_PRESSURE: The pressure information
+ * @CLUTTER_INPUT_AXIS_XTILT: The tilt on the X axis
+ * @CLUTTER_INPUT_AXIS_YTILT: The tile on the Y axis
+ * @CLUTTER_INPUT_AXIS_WHEEL: A wheel
+ *
+ * The type of axes Clutter recognizes on a #ClutterInputDevice
+ *
+ * Since: 1.6
+ */
+typedef enum {
+ CLUTTER_INPUT_AXIS_IGNORE,
+ CLUTTER_INPUT_AXIS_X,
+ CLUTTER_INPUT_AXIS_Y,
+ CLUTTER_INPUT_AXIS_PRESSURE,
+ CLUTTER_INPUT_AXIS_XTILT,
+ CLUTTER_INPUT_AXIS_YTILT,
+ CLUTTER_INPUT_AXIS_WHEEL
+} ClutterInputAxis;
+
+/**
+ * ClutterSnapEdge:
+ * @CLUTTER_SNAP_EDGE_TOP: the top edge
+ * @CLUTTER_SNAP_EDGE_RIGHT: the right edge
+ * @CLUTTER_SNAP_EDGE_BOTTOM: the bottom edge
+ * @CLUTTER_SNAP_EDGE_LEFT: the left edge
+ *
+ * The edge to snap
+ *
+ * Since: 1.6
+ */
+typedef enum {
+ CLUTTER_SNAP_EDGE_TOP,
+ CLUTTER_SNAP_EDGE_RIGHT,
+ CLUTTER_SNAP_EDGE_BOTTOM,
+ CLUTTER_SNAP_EDGE_LEFT
+} ClutterSnapEdge;
+
+/**
+ * ClutterPickMode:
+ * @CLUTTER_PICK_NONE: Do not paint any actor
+ * @CLUTTER_PICK_REACTIVE: Paint only the reactive actors
+ * @CLUTTER_PICK_ALL: Paint all actors
+ *
+ * Controls the paint cycle of the scene graph when in pick mode
+ *
+ * Since: 1.0
+ */
+typedef enum {
+ CLUTTER_PICK_NONE = 0,
+ CLUTTER_PICK_REACTIVE,
+ CLUTTER_PICK_ALL
+} ClutterPickMode;
+
+/**
+ * ClutterSwipeDirection:
+ * @CLUTTER_SWIPE_DIRECTION_UP: Upwards swipe gesture
+ * @CLUTTER_SWIPE_DIRECTION_DOWN: Downwards swipe gesture
+ * @CLUTTER_SWIPE_DIRECTION_LEFT: Leftwards swipe gesture
+ * @CLUTTER_SWIPE_DIRECTION_RIGHT: Rightwards swipe gesture
+ *
+ * The main direction of the swipe gesture
+ *
+ * Since: 1.8
+ */
+typedef enum { /*< prefix=CLUTTER_SWIPE_DIRECTION >*/
+ CLUTTER_SWIPE_DIRECTION_UP = 1 << 0,
+ CLUTTER_SWIPE_DIRECTION_DOWN = 1 << 1,
+ CLUTTER_SWIPE_DIRECTION_LEFT = 1 << 2,
+ CLUTTER_SWIPE_DIRECTION_RIGHT = 1 << 3
+} ClutterSwipeDirection;
+
+/**
+ * ClutterTableAlignment:
+ * @CLUTTER_TABLE_ALIGNMENT_START: Align the child to the top or to the
+ * left of a cell in the table, depending on the axis
+ * @CLUTTER_TABLE_ALIGNMENT_CENTER: Align the child to the center of
+ * a cell in the table
+ * @CLUTTER_TABLE_ALIGNMENT_END: Align the child to the bottom or to the
+ * right of a cell in the table, depending on the axis
+ *
+ * The alignment policies available on each axis of the #ClutterTableLayout
+ *
+ * Since: 1.4
+ */
+typedef enum {
+ CLUTTER_TABLE_ALIGNMENT_START,
+ CLUTTER_TABLE_ALIGNMENT_CENTER,
+ CLUTTER_TABLE_ALIGNMENT_END
+} ClutterTableAlignment;
+
+/**
+ * ClutterTextureFlags:
+ * @CLUTTER_TEXTURE_NONE: No flags
+ * @CLUTTER_TEXTURE_RGB_FLAG_BGR: FIXME
+ * @CLUTTER_TEXTURE_RGB_FLAG_PREMULT: FIXME
+ * @CLUTTER_TEXTURE_YUV_FLAG_YUV2: FIXME
+ *
+ * Flags for clutter_texture_set_from_rgb_data() and
+ * clutter_texture_set_from_yuv_data().
+ *
+ * Since: 0.4
+ */
+typedef enum { /*< prefix=CLUTTER_TEXTURE >*/
+ CLUTTER_TEXTURE_NONE = 0,
+ CLUTTER_TEXTURE_RGB_FLAG_BGR = 1 << 1,
+ CLUTTER_TEXTURE_RGB_FLAG_PREMULT = 1 << 2, /* FIXME: not handled */
+ CLUTTER_TEXTURE_YUV_FLAG_YUV2 = 1 << 3
+
+ /* FIXME: add compressed types ? */
+} ClutterTextureFlags;
+
+/**
+ * ClutterTextureQuality:
+ * @CLUTTER_TEXTURE_QUALITY_LOW: fastest rendering will use nearest neighbour
+ * interpolation when rendering. good setting.
+ * @CLUTTER_TEXTURE_QUALITY_MEDIUM: higher quality rendering without using
+ * extra resources.
+ * @CLUTTER_TEXTURE_QUALITY_HIGH: render the texture with the best quality
+ * available using extra memory.
+ *
+ * Enumaration controlling the texture quality.
+ *
+ * Since: 0.8
+ */
+typedef enum { /*< prefix=CLUTTER_TEXTURE_QUALITY >*/
+ CLUTTER_TEXTURE_QUALITY_LOW,
+ CLUTTER_TEXTURE_QUALITY_MEDIUM,
+ CLUTTER_TEXTURE_QUALITY_HIGH
+} ClutterTextureQuality;
+
+/**
+ * ClutterTimelineDirection:
+ * @CLUTTER_TIMELINE_FORWARD: forward direction for a timeline
+ * @CLUTTER_TIMELINE_BACKWARD: backward direction for a timeline
+ *
+ * The direction of a #ClutterTimeline
+ *
+ * Since: 0.6
+ */
+typedef enum {
+ CLUTTER_TIMELINE_FORWARD,
+ CLUTTER_TIMELINE_BACKWARD
+} ClutterTimelineDirection;
+
+/**
+ * ClutterUnitType:
+ * @CLUTTER_UNIT_PIXEL: Unit expressed in pixels (with subpixel precision)
+ * @CLUTTER_UNIT_EM: Unit expressed in em
+ * @CLUTTER_UNIT_MM: Unit expressed in millimeters
+ * @CLUTTER_UNIT_POINT: Unit expressed in points
+ * @CLUTTER_UNIT_CM: Unit expressed in centimeters
+ *
+ * The type of unit in which a value is expressed
+ *
+ * This enumeration might be expanded at later date
+ *
+ * Since: 1.0
+ */
+typedef enum { /*< prefix=CLUTTER_UNIT >*/
+ CLUTTER_UNIT_PIXEL,
+ CLUTTER_UNIT_EM,
+ CLUTTER_UNIT_MM,
+ CLUTTER_UNIT_POINT,
+ CLUTTER_UNIT_CM
+} ClutterUnitType;
+
+#define CLUTTER_PATH_RELATIVE (32)
+
+/**
+ * ClutterPathNodeType:
+ * @CLUTTER_PATH_MOVE_TO: jump to the given position
+ * @CLUTTER_PATH_LINE_TO: create a line from the last node to the
+ * given position
+ * @CLUTTER_PATH_CURVE_TO: bezier curve using the last position and
+ * three control points.
+ * @CLUTTER_PATH_CLOSE: create a line from the last node to the last
+ * %CLUTTER_PATH_MOVE_TO node.
+ * @CLUTTER_PATH_REL_MOVE_TO: same as %CLUTTER_PATH_MOVE_TO but with
+ * coordinates relative to the last node.
+ * @CLUTTER_PATH_REL_LINE_TO: same as %CLUTTER_PATH_LINE_TO but with
+ * coordinates relative to the last node.
+ * @CLUTTER_PATH_REL_CURVE_TO: same as %CLUTTER_PATH_CURVE_TO but with
+ * coordinates relative to the last node.
+ *
+ * Types of nodes in a #ClutterPath.
+ *
+ * Since: 1.0
+ */
+typedef enum {
+ CLUTTER_PATH_MOVE_TO = 0,
+ CLUTTER_PATH_LINE_TO = 1,
+ CLUTTER_PATH_CURVE_TO = 2,
+ CLUTTER_PATH_CLOSE = 3,
+
+ CLUTTER_PATH_REL_MOVE_TO = CLUTTER_PATH_MOVE_TO | CLUTTER_PATH_RELATIVE,
+ CLUTTER_PATH_REL_LINE_TO = CLUTTER_PATH_LINE_TO | CLUTTER_PATH_RELATIVE,
+ CLUTTER_PATH_REL_CURVE_TO = CLUTTER_PATH_CURVE_TO | CLUTTER_PATH_RELATIVE
+} ClutterPathNodeType;
+
+G_END_DECLS
+
+#endif /* __CLUTTER_ENUMS_H__ */
diff --git a/clutter/clutter-event.h b/clutter/clutter-event.h
index d50b3cc1a..d07c92772 100644
--- a/clutter/clutter-event.h
+++ b/clutter/clutter-event.h
@@ -28,9 +28,8 @@
#ifndef __CLUTTER_EVENT_H__
#define __CLUTTER_EVENT_H__
-#include
-#include
#include
+#include
#define CLUTTER_TYPE_EVENT (clutter_event_get_type ())
@@ -54,90 +53,6 @@
G_BEGIN_DECLS
-/**
- * ClutterEventFlags:
- * @CLUTTER_EVENT_NONE: No flag set
- * @CLUTTER_EVENT_FLAG_SYNTHETIC: Synthetic event
- *
- * Flags for the #ClutterEvent
- *
- * Since: 0.6
- */
-typedef enum { /*< flags prefix=CLUTTER_EVENT >*/
- CLUTTER_EVENT_NONE = 0,
- CLUTTER_EVENT_FLAG_SYNTHETIC = 1 << 0
-} ClutterEventFlags;
-
-/**
- * ClutterEventType:
- * @CLUTTER_NOTHING: Empty event
- * @CLUTTER_KEY_PRESS: Key press event
- * @CLUTTER_KEY_RELEASE: Key release event
- * @CLUTTER_MOTION: Pointer motion event
- * @CLUTTER_ENTER: Actor enter event
- * @CLUTTER_LEAVE: Actor leave event
- * @CLUTTER_BUTTON_PRESS: Pointer button press event
- * @CLUTTER_BUTTON_RELEASE: Pointer button release event
- * @CLUTTER_SCROLL: Pointer scroll event
- * @CLUTTER_STAGE_STATE: Stage stage change event
- * @CLUTTER_DESTROY_NOTIFY: Destroy notification event
- * @CLUTTER_CLIENT_MESSAGE: Client message event
- * @CLUTTER_DELETE: Stage delete event
- *
- * Types of events.
- *
- * Since: 0.4
- */
-typedef enum { /*< prefix=CLUTTER >*/
- CLUTTER_NOTHING = 0,
- CLUTTER_KEY_PRESS,
- CLUTTER_KEY_RELEASE,
- CLUTTER_MOTION,
- CLUTTER_ENTER,
- CLUTTER_LEAVE,
- CLUTTER_BUTTON_PRESS,
- CLUTTER_BUTTON_RELEASE,
- CLUTTER_SCROLL,
- CLUTTER_STAGE_STATE,
- CLUTTER_DESTROY_NOTIFY,
- CLUTTER_CLIENT_MESSAGE,
- CLUTTER_DELETE
-} ClutterEventType;
-
-/**
- * ClutterScrollDirection:
- * @CLUTTER_SCROLL_UP: Scroll up
- * @CLUTTER_SCROLL_DOWN: Scroll down
- * @CLUTTER_SCROLL_LEFT: Scroll left
- * @CLUTTER_SCROLL_RIGHT: Scroll right
- *
- * Direction of a pointer scroll event.
- *
- * Since: 0.4
- */
-typedef enum { /*< prefix=CLUTTER_SCROLL >*/
- CLUTTER_SCROLL_UP,
- CLUTTER_SCROLL_DOWN,
- CLUTTER_SCROLL_LEFT,
- CLUTTER_SCROLL_RIGHT
-} ClutterScrollDirection;
-
-/**
- * ClutterStageState:
- * @CLUTTER_STAGE_STATE_FULLSCREEN: Fullscreen mask
- * @CLUTTER_STAGE_STATE_OFFSCREEN: Offscreen mask
- * @CLUTTER_STAGE_STATE_ACTIVATED: Activated mask
- *
- * Stage state masks
- *
- * Since: 0.4
- */
-typedef enum {
- CLUTTER_STAGE_STATE_FULLSCREEN = (1<<1),
- CLUTTER_STAGE_STATE_OFFSCREEN = (1<<2),
- CLUTTER_STAGE_STATE_ACTIVATED = (1<<3)
-} ClutterStageState;
-
typedef struct _ClutterAnyEvent ClutterAnyEvent;
typedef struct _ClutterButtonEvent ClutterButtonEvent;
typedef struct _ClutterKeyEvent ClutterKeyEvent;
diff --git a/clutter/clutter-feature.h b/clutter/clutter-feature.h
index 4b4ae9d2b..4242ce0fb 100644
--- a/clutter/clutter-feature.h
+++ b/clutter/clutter-feature.h
@@ -28,44 +28,10 @@
#ifndef __CLUTTER_FEATURE_H__
#define __CLUTTER_FEATURE_H__
-#include
+#include
G_BEGIN_DECLS
-/**
- * ClutterFeatureFlags:
- * @CLUTTER_FEATURE_TEXTURE_NPOT: Set if NPOTS textures supported.
- * @CLUTTER_FEATURE_SYNC_TO_VBLANK: Set if vblank syncing supported.
- * @CLUTTER_FEATURE_TEXTURE_YUV: Set if YUV based textures supported.
- * @CLUTTER_FEATURE_TEXTURE_READ_PIXELS: Set if texture pixels can be read.
- * @CLUTTER_FEATURE_STAGE_STATIC: Set if stage size if fixed (i.e framebuffer)
- * @CLUTTER_FEATURE_STAGE_USER_RESIZE: Set if stage is able to be user resized.
- * @CLUTTER_FEATURE_STAGE_CURSOR: Set if stage has a graphical cursor.
- * @CLUTTER_FEATURE_SHADERS_GLSL: Set if the backend supports GLSL shaders.
- * @CLUTTER_FEATURE_OFFSCREEN: Set if the backend supports offscreen rendering.
- * @CLUTTER_FEATURE_STAGE_MULTIPLE: Set if multiple stages are supported.
- * @CLUTTER_FEATURE_SWAP_EVENTS: Set if the GLX_INTEL_swap_event is supported.
- *
- * Runtime flags indicating specific features available via Clutter window
- * sysytem and graphics backend.
- *
- * Since: 0.4
- */
-typedef enum
-{
- CLUTTER_FEATURE_TEXTURE_NPOT = (1 << 2),
- CLUTTER_FEATURE_SYNC_TO_VBLANK = (1 << 3),
- CLUTTER_FEATURE_TEXTURE_YUV = (1 << 4),
- CLUTTER_FEATURE_TEXTURE_READ_PIXELS = (1 << 5),
- CLUTTER_FEATURE_STAGE_STATIC = (1 << 6),
- CLUTTER_FEATURE_STAGE_USER_RESIZE = (1 << 7),
- CLUTTER_FEATURE_STAGE_CURSOR = (1 << 8),
- CLUTTER_FEATURE_SHADERS_GLSL = (1 << 9),
- CLUTTER_FEATURE_OFFSCREEN = (1 << 10),
- CLUTTER_FEATURE_STAGE_MULTIPLE = (1 << 11),
- CLUTTER_FEATURE_SWAP_EVENTS = (1 << 12)
-} ClutterFeatureFlags;
-
gboolean clutter_feature_available (ClutterFeatureFlags feature);
ClutterFeatureFlags clutter_feature_get_all (void);
diff --git a/clutter/clutter-flow-layout.h b/clutter/clutter-flow-layout.h
index 5cbbcd359..abbf82c85 100644
--- a/clutter/clutter-flow-layout.h
+++ b/clutter/clutter-flow-layout.h
@@ -44,23 +44,6 @@ typedef struct _ClutterFlowLayout ClutterFlowLayout;
typedef struct _ClutterFlowLayoutPrivate ClutterFlowLayoutPrivate;
typedef struct _ClutterFlowLayoutClass ClutterFlowLayoutClass;
-/**
- * ClutterFlowOrientation:
- * @CLUTTER_FLOW_HORIZONTAL: Arrange the children of the flow layout
- * horizontally first
- * @CLUTTER_FLOW_VERTICAL: Arrange the children of the flow layout
- * vertically first
- *
- * The direction of the arrangement of the children inside
- * a #ClutterFlowLayout
- *
- * Since: 1.2
- */
-typedef enum { /*< prefix=CLUTTER_FLOW >*/
- CLUTTER_FLOW_HORIZONTAL,
- CLUTTER_FLOW_VERTICAL
-} ClutterFlowOrientation;
-
/**
* ClutterFlowLayout:
*
diff --git a/clutter/clutter-input-device.h b/clutter/clutter-input-device.h
index 7b3a75b7f..437a2ccab 100644
--- a/clutter/clutter-input-device.h
+++ b/clutter/clutter-input-device.h
@@ -48,84 +48,6 @@ G_BEGIN_DECLS
typedef struct _ClutterInputDevice ClutterInputDevice;
typedef struct _ClutterInputDeviceClass ClutterInputDeviceClass;
-/**
- * ClutterInputDeviceType:
- * @CLUTTER_POINTER_DEVICE: A pointer device
- * @CLUTTER_KEYBOARD_DEVICE: A keyboard device
- * @CLUTTER_EXTENSION_DEVICE: A generic extension device
- * @CLUTTER_JOYSTICK_DEVICE: A joystick device
- * @CLUTTER_TABLET_DEVICE: A tablet device
- * @CLUTTER_TOUCHPAD_DEVICE: A touchpad device
- * @CLUTTER_TOUCHSCREEN_DEVICE: A touch screen device
- * @CLUTTER_PEN_DEVICE: A pen device
- * @CLUTTER_ERASER_DEVICE: An eraser device
- * @CLUTTER_CURSOR_DEVICE: A cursor device
- * @CLUTTER_N_DEVICE_TYPES: The number of device types
- *
- * The types of input devices available.
- *
- * The #ClutterInputDeviceType enumeration can be extended at later
- * date; not every platform supports every input device type.
- *
- * Since: 1.0
- */
-typedef enum {
- CLUTTER_POINTER_DEVICE,
- CLUTTER_KEYBOARD_DEVICE,
- CLUTTER_EXTENSION_DEVICE,
- CLUTTER_JOYSTICK_DEVICE,
- CLUTTER_TABLET_DEVICE,
- CLUTTER_TOUCHPAD_DEVICE,
- CLUTTER_TOUCHSCREEN_DEVICE,
- CLUTTER_PEN_DEVICE,
- CLUTTER_ERASER_DEVICE,
- CLUTTER_CURSOR_DEVICE,
-
- CLUTTER_N_DEVICE_TYPES
-} ClutterInputDeviceType;
-
-/**
- * ClutterInputMode:
- * @CLUTTER_INPUT_MODE_MASTER: A master, virtual device
- * @CLUTTER_INPUT_MODE_SLAVE: A slave, physical device, attached to
- * a master device
- * @CLUTTER_INPUT_MODE_FLOATING: A slave, physical device, not attached
- * to a master device
- *
- * The mode for input devices available.
- *
- * Since: 1.6
- */
-typedef enum {
- CLUTTER_INPUT_MODE_MASTER,
- CLUTTER_INPUT_MODE_SLAVE,
- CLUTTER_INPUT_MODE_FLOATING
-} ClutterInputMode;
-
-/**
- * ClutterInputAxis:
- * @CLUTTER_INPUT_AXIS_IGNORE: Unused axis
- * @CLUTTER_INPUT_AXIS_X: The position on the X axis
- * @CLUTTER_INPUT_AXIS_Y: The position of the Y axis
- * @CLUTTER_INPUT_AXIS_PRESSURE: The pressure information
- * @CLUTTER_INPUT_AXIS_XTILT: The tilt on the X axis
- * @CLUTTER_INPUT_AXIS_YTILT: The tile on the Y axis
- * @CLUTTER_INPUT_AXIS_WHEEL: A wheel
- *
- * The type of axes Clutter recognizes on a #ClutterInputDevice
- *
- * Since: 1.6
- */
-typedef enum {
- CLUTTER_INPUT_AXIS_IGNORE,
- CLUTTER_INPUT_AXIS_X,
- CLUTTER_INPUT_AXIS_Y,
- CLUTTER_INPUT_AXIS_PRESSURE,
- CLUTTER_INPUT_AXIS_XTILT,
- CLUTTER_INPUT_AXIS_YTILT,
- CLUTTER_INPUT_AXIS_WHEEL
-} ClutterInputAxis;
-
GType clutter_input_device_get_type (void) G_GNUC_CONST;
ClutterInputDeviceType clutter_input_device_get_device_type (ClutterInputDevice *device);
@@ -167,6 +89,11 @@ void clutter_input_device_update_from_event (ClutterInputDev
ClutterEvent *event,
gboolean update_stage);
+void clutter_input_device_grab (ClutterInputDevice *device,
+ ClutterActor *actor);
+void clutter_input_device_ungrab (ClutterInputDevice *device);
+ClutterActor * clutter_input_device_get_grabbed_actor (ClutterInputDevice *device);
+
G_END_DECLS
#endif /* __CLUTTER_INPUT_DEVICE_H__ */
diff --git a/clutter/clutter-main.c b/clutter/clutter-main.c
index 834731e22..7c482c4f7 100644
--- a/clutter/clutter-main.c
+++ b/clutter/clutter-main.c
@@ -99,6 +99,7 @@
#include "clutter-master-clock.h"
#include "clutter-private.h"
#include "clutter-profile.h"
+#include "clutter-settings-private.h"
#include "clutter-stage-manager.h"
#include "clutter-stage-private.h"
#include "clutter-version.h" /* For flavour define */
@@ -132,11 +133,13 @@ static ClutterTextDirection clutter_text_direction = CLUTTER_TEXT_DIRECTION_LTR;
static guint clutter_main_loop_level = 0;
static GSList *main_loops = NULL;
-guint clutter_debug_flags = 0; /* global clutter debug flag */
+/* debug flags */
+guint clutter_debug_flags = 0;
guint clutter_paint_debug_flags = 0;
-guint clutter_pick_debug_flags = 0;
+guint clutter_pick_debug_flags = 0;
-guint clutter_profile_flags = 0; /* global clutter profile flag */
+/* profile flags */
+guint clutter_profile_flags = 0;
const guint clutter_major_version = CLUTTER_MAJOR_VERSION;
const guint clutter_minor_version = CLUTTER_MINOR_VERSION;
@@ -213,6 +216,196 @@ clutter_threads_init_default (void)
clutter_threads_unlock = clutter_threads_impl_unlock;
}
+#define ENVIRONMENT_GROUP "Environment"
+#define DEBUG_GROUP "Debug"
+
+static void
+clutter_config_read_from_key_file (GKeyFile *keyfile)
+{
+ GError *key_error = NULL;
+ gboolean bool_value;
+ gint int_value;
+ gchar *str_value;
+
+ if (!g_key_file_has_group (keyfile, ENVIRONMENT_GROUP))
+ return;
+
+ bool_value =
+ g_key_file_get_boolean (keyfile, ENVIRONMENT_GROUP,
+ "ShowFps",
+ &key_error);
+
+ if (key_error != NULL)
+ g_clear_error (&key_error);
+ else
+ clutter_show_fps = bool_value;
+
+ bool_value =
+ g_key_file_get_boolean (keyfile, ENVIRONMENT_GROUP,
+ "DisableMipmappedText",
+ &key_error);
+
+ if (key_error != NULL)
+ g_clear_error (&key_error);
+ else
+ clutter_disable_mipmap_text = bool_value;
+
+ bool_value =
+ g_key_file_get_boolean (keyfile, ENVIRONMENT_GROUP,
+ "UseFuzzyPicking",
+ &key_error);
+
+ if (key_error != NULL)
+ g_clear_error (&key_error);
+ else
+ clutter_use_fuzzy_picking = bool_value;
+
+ bool_value =
+ g_key_file_get_boolean (keyfile, ENVIRONMENT_GROUP,
+ "EnableAccessibility",
+ &key_error);
+
+ if (key_error != NULL)
+ g_clear_error (&key_error);
+ else
+ clutter_enable_accessibility = bool_value;
+
+ int_value =
+ g_key_file_get_integer (keyfile, ENVIRONMENT_GROUP,
+ "DefaultFps",
+ &key_error);
+
+ if (key_error != NULL)
+ g_clear_error (&key_error);
+ else
+ clutter_default_fps = int_value;
+
+ str_value =
+ g_key_file_get_string (keyfile, ENVIRONMENT_GROUP,
+ "TextDirection",
+ &key_error);
+
+ if (key_error != NULL)
+ g_clear_error (&key_error);
+ else
+ {
+ if (g_strcmp0 (str_value, "rtl") == 0)
+ clutter_text_direction = CLUTTER_TEXT_DIRECTION_RTL;
+ else
+ clutter_text_direction = CLUTTER_TEXT_DIRECTION_LTR;
+ }
+
+ g_free (str_value);
+}
+
+#ifdef CLUTTER_ENABLE_DEBUG
+static void
+clutter_debug_read_from_key_file (GKeyFile *keyfile)
+{
+ GError *key_error = NULL;
+ gchar *value;
+
+ if (!g_key_file_has_group (keyfile, DEBUG_GROUP))
+ return;
+
+ value = g_key_file_get_value (keyfile, DEBUG_GROUP,
+ "Debug",
+ &key_error);
+ if (key_error == NULL)
+ {
+ clutter_debug_flags |=
+ g_parse_debug_string (value,
+ clutter_debug_keys,
+ G_N_ELEMENTS (clutter_debug_keys));
+ }
+ else
+ g_clear_error (&key_error);
+
+ g_free (value);
+
+ value = g_key_file_get_value (keyfile, DEBUG_GROUP,
+ "PaintDebug",
+ &key_error);
+ if (key_error == NULL)
+ {
+ clutter_paint_debug_flags |=
+ g_parse_debug_string (value,
+ clutter_paint_debug_keys,
+ G_N_ELEMENTS (clutter_paint_debug_keys));
+ }
+ else
+ g_clear_error (&key_error);
+
+ g_free (value);
+
+ value = g_key_file_get_value (keyfile, DEBUG_GROUP,
+ "PickDebug",
+ &key_error);
+ if (key_error == NULL)
+ {
+ clutter_pick_debug_flags |=
+ g_parse_debug_string (value,
+ clutter_pick_debug_keys,
+ G_N_ELEMENTS (clutter_pick_debug_keys));
+ }
+ else
+ g_clear_error (&key_error);
+
+ g_free (value);
+}
+#endif
+
+static void
+clutter_config_read_from_file (const gchar *config_path)
+{
+ ClutterSettings *settings = clutter_settings_get_default ();
+ GKeyFile *key_file = g_key_file_new ();
+ GError *error = NULL;
+
+ g_key_file_load_from_file (key_file, config_path, G_KEY_FILE_NONE, &error);
+ if (error == NULL)
+ {
+ clutter_config_read_from_key_file (key_file);
+#ifdef CLUTTER_ENABLE_DEBUG
+ clutter_debug_read_from_key_file (key_file);
+#endif
+ _clutter_settings_read_from_key_file (settings, key_file);
+ }
+ else
+ {
+ g_warning ("Unable to read configuration settings from '%s': %s",
+ config_path,
+ error->message);
+ g_error_free (error);
+ }
+
+ g_key_file_free (key_file);
+}
+
+static void
+clutter_config_read (void)
+{
+ gchar *config_path;
+
+ config_path = g_build_filename (CLUTTER_SYSCONFDIR,
+ "clutter-1.0",
+ "settings.ini",
+ NULL);
+ if (g_file_test (config_path, G_FILE_TEST_EXISTS))
+ clutter_config_read_from_file (config_path);
+
+ g_free (config_path);
+
+ config_path = g_build_filename (g_get_user_config_dir (),
+ "clutter-1.0",
+ "settings.ini",
+ NULL);
+ if (g_file_test (config_path, G_FILE_TEST_EXISTS))
+ clutter_config_read_from_file (config_path);
+
+ g_free (config_path);
+}
+
/**
* clutter_get_show_fps:
*
@@ -256,6 +449,8 @@ clutter_get_accessibility_enabled (void)
*
* This function should only be used by libraries integrating Clutter from
* within another toolkit.
+ *
+ * Deprecated: 1.10: Use clutter_stage_ensure_redraw() instead.
*/
void
clutter_redraw (ClutterStage *stage)
@@ -489,7 +684,7 @@ clutter_context_get_pango_fontmap (void)
static ClutterTextDirection
clutter_get_text_direction (void)
{
- PangoDirection dir = PANGO_DIRECTION_LTR;
+ ClutterTextDirection dir = CLUTTER_TEXT_DIRECTION_LTR;
const gchar *direction;
direction = g_getenv ("CLUTTER_TEXT_DIRECTION");
@@ -756,7 +951,7 @@ clutter_threads_init (void)
*
* Most threaded Clutter apps won't need to use this method.
*
- * This method must be called before clutter_threads_init(), and cannot
+ * This method must be called before clutter_init(), and cannot
* be called multiple times.
*
* Since: 0.4
@@ -850,7 +1045,7 @@ _clutter_threads_dispatch_free (gpointer data)
* closure->callback = callback;
* closure->data = data;
*
- * return g_add_idle_full (G_PRIORITY_DEFAULT_IDLE,
+ * return g_idle_add_full (G_PRIORITY_DEFAULT_IDLE,
* idle_safe_callback,
* closure,
* g_free)
@@ -962,9 +1157,7 @@ clutter_threads_add_idle (GSourceFunc func,
*
* It is important to note that, due to how the Clutter main loop is
* implemented, the timing will not be accurate and it will not try to
- * "keep up" with the interval. A more reliable source is available
- * using clutter_threads_add_frame_source_full(), which is also internally
- * used by #ClutterTimeline.
+ * "keep up" with the interval.
*
* See also clutter_threads_add_idle_full().
*
@@ -1031,7 +1224,7 @@ clutter_threads_add_timeout (guint interval,
void
clutter_threads_enter (void)
{
- if (clutter_threads_lock)
+ if (clutter_threads_lock != NULL)
(* clutter_threads_lock) ();
}
@@ -1045,7 +1238,7 @@ clutter_threads_enter (void)
void
clutter_threads_leave (void)
{
- if (clutter_threads_unlock)
+ if (clutter_threads_unlock != NULL)
(* clutter_threads_unlock) ();
}
@@ -1103,6 +1296,12 @@ clutter_context_get_default_unlocked (void)
ctx->is_initialized = FALSE;
ctx->motion_events_per_actor = TRUE;
+ /* create the default settings object, and store a back pointer to
+ * the backend singleton
+ */
+ ctx->settings = clutter_settings_get_default ();
+ _clutter_settings_set_backend (ctx->settings, ctx->backend);
+
#ifdef CLUTTER_ENABLE_DEBUG
ctx->timer = g_timer_new ();
g_timer_start (ctx->timer);
@@ -1368,6 +1567,12 @@ pre_parse_hook (GOptionContext *context,
g_warning ("Locale not supported by C library.\n"
"Using the fallback 'C' locale.");
+ /* read the configuration file, if it exists; the configuration file
+ * determines the initial state of the settings, so that command line
+ * arguments can override them.
+ */
+ clutter_config_read ();
+
clutter_context = _clutter_context_get_default ();
clutter_context->id_pool = _clutter_id_pool_new (256);
@@ -2005,14 +2210,27 @@ emit_pointer_event (ClutterEvent *event,
}
static inline void
-emit_keyboard_event (ClutterEvent *event)
+emit_keyboard_event (ClutterEvent *event,
+ ClutterInputDevice *device)
{
ClutterMainContext *context = _clutter_context_get_default ();
- if (context->keyboard_grab_actor == NULL)
- emit_event (event, TRUE);
+ if (context->keyboard_grab_actor == NULL &&
+ (device == NULL || device->keyboard_grab_actor == NULL))
+ {
+ emit_event (event, FALSE);
+ }
else
- clutter_actor_event (context->keyboard_grab_actor, event, FALSE);
+ {
+ if (context->keyboard_grab_actor != NULL)
+ {
+ clutter_actor_event (context->keyboard_grab_actor, event, FALSE);
+ }
+ else if (device != NULL && device->keyboard_grab_actor != NULL)
+ {
+ clutter_actor_event (context->keyboard_grab_actor, event, FALSE);
+ }
+ }
}
static gboolean
@@ -2100,7 +2318,7 @@ _clutter_process_event_details (ClutterActor *stage,
}
}
- emit_keyboard_event (event);
+ emit_keyboard_event (event, device);
}
break;
@@ -2299,7 +2517,7 @@ _clutter_process_event_details (ClutterActor *stage,
}
}
-/**
+/*
* _clutter_process_event
* @event: a #ClutterEvent.
*
@@ -2409,23 +2627,34 @@ clutter_set_default_frame_rate (guint frames_per_sec)
static void
-on_pointer_grab_weak_notify (gpointer data,
- GObject *where_the_object_was)
+on_grab_actor_destroy (ClutterActor *actor,
+ ClutterInputDevice *device)
{
- ClutterInputDevice *dev = (ClutterInputDevice *)data;
- ClutterMainContext *context;
-
- context = _clutter_context_get_default ();
-
- if (dev)
+ if (device == NULL)
{
- dev->pointer_grab_actor = NULL;
- clutter_ungrab_pointer_for_device (dev->id);
+ ClutterMainContext *context = _clutter_context_get_default ();
+
+ if (context->pointer_grab_actor == actor)
+ clutter_ungrab_pointer ();
+
+ if (context->keyboard_grab_actor == actor)
+ clutter_ungrab_keyboard ();
+
+ return;
}
- else
+
+ switch (device->device_type)
{
- context->pointer_grab_actor = NULL;
- clutter_ungrab_pointer ();
+ case CLUTTER_POINTER_DEVICE:
+ device->pointer_grab_actor = NULL;
+ break;
+
+ case CLUTTER_KEYBOARD_DEVICE:
+ device->keyboard_grab_actor = NULL;
+ break;
+
+ default:
+ g_assert_not_reached ();
}
}
@@ -2444,8 +2673,10 @@ on_pointer_grab_weak_notify (gpointer data,
* using the #ClutterActor::captured-event signal should always be the
* preferred way to intercept event delivery to reactive actors.
*
- * If you wish to grab all the pointer events for a specific input device,
- * you should use clutter_grab_pointer_for_device().
+ * This function should rarely be used.
+ *
+ * If a grab is required, you are strongly encouraged to use a specific
+ * input device by calling clutter_input_device_grab().
*
* Since: 0.6
*/
@@ -2461,24 +2692,152 @@ clutter_grab_pointer (ClutterActor *actor)
if (context->pointer_grab_actor == actor)
return;
- if (context->pointer_grab_actor)
+ if (context->pointer_grab_actor != NULL)
{
- g_object_weak_unref (G_OBJECT (context->pointer_grab_actor),
- on_pointer_grab_weak_notify,
- NULL);
+ g_signal_handlers_disconnect_by_func (context->pointer_grab_actor,
+ G_CALLBACK (on_grab_actor_destroy),
+ NULL);
context->pointer_grab_actor = NULL;
}
- if (actor)
+ if (actor != NULL)
{
context->pointer_grab_actor = actor;
- g_object_weak_ref (G_OBJECT (actor),
- on_pointer_grab_weak_notify,
- NULL);
+ g_signal_connect (context->pointer_grab_actor, "destroy",
+ G_CALLBACK (on_grab_actor_destroy),
+ NULL);
}
}
+/**
+ * clutter_input_device_grab:
+ * @device: a #ClutterInputDevice
+ * @actor: a #ClutterActor
+ *
+ * Acquires a grab on @actor for the given @device.
+ *
+ * Any event coming from @device will be delivered to @actor, bypassing
+ * the usual event delivery mechanism, until the grab is released by
+ * calling clutter_input_device_ungrab().
+ *
+ * The grab is client-side: even if the windowing system used by the Clutter
+ * backend has the concept of "device grabs", Clutter will not use them.
+ *
+ * Only #ClutterInputDevice of types %CLUTTER_POINTER_DEVICE and
+ * %CLUTTER_KEYBOARD_DEVICE can hold a grab.
+ *
+ * Since: 1.10
+ */
+void
+clutter_input_device_grab (ClutterInputDevice *device,
+ ClutterActor *actor)
+{
+ ClutterActor **grab_actor;
+
+ g_return_if_fail (CLUTTER_IS_INPUT_DEVICE (device));
+ g_return_if_fail (CLUTTER_IS_ACTOR (actor));
+
+ switch (device->device_type)
+ {
+ case CLUTTER_POINTER_DEVICE:
+ grab_actor = &(device->pointer_grab_actor);
+ break;
+
+ case CLUTTER_KEYBOARD_DEVICE:
+ grab_actor = &(device->keyboard_grab_actor);
+ break;
+
+ default:
+ g_critical ("Only pointer and keyboard devices can grab an actor");
+ return;
+ }
+
+ if (*grab_actor != NULL)
+ {
+ g_signal_handlers_disconnect_by_func (*grab_actor,
+ G_CALLBACK (on_grab_actor_destroy),
+ device);
+ }
+
+ *grab_actor = actor;
+
+ g_signal_connect (*grab_actor,
+ "destroy",
+ G_CALLBACK (on_grab_actor_destroy),
+ device);
+}
+
+/**
+ * clutter_input_device_ungrab:
+ * @device: a #ClutterInputDevice
+ *
+ * Releases the grab on the @device, if one is in place.
+ *
+ * Since: 1.10
+ */
+void
+clutter_input_device_ungrab (ClutterInputDevice *device)
+{
+ ClutterActor **grab_actor;
+
+ g_return_if_fail (CLUTTER_IS_INPUT_DEVICE (device));
+
+ switch (device->device_type)
+ {
+ case CLUTTER_POINTER_DEVICE:
+ grab_actor = &(device->pointer_grab_actor);
+ break;
+
+ case CLUTTER_KEYBOARD_DEVICE:
+ grab_actor = &(device->keyboard_grab_actor);
+ break;
+
+ default:
+ return;
+ }
+
+ if (*grab_actor == NULL)
+ return;
+
+ g_signal_handlers_disconnect_by_func (*grab_actor,
+ G_CALLBACK (on_grab_actor_destroy),
+ device);
+
+ *grab_actor = NULL;
+}
+
+/**
+ * clutter_input_device_get_grabbed_actor:
+ * @device: a #ClutterInputDevice
+ *
+ * Retrieves a pointer to the #ClutterActor currently grabbing all
+ * the events coming from @device.
+ *
+ * Return value: (transfer none): a #ClutterActor, or %NULL
+ *
+ * Since: 1.10
+ */
+ClutterActor *
+clutter_input_device_get_grabbed_actor (ClutterInputDevice *device)
+{
+ g_return_val_if_fail (CLUTTER_IS_INPUT_DEVICE (device), NULL);
+
+ switch (device->device_type)
+ {
+ case CLUTTER_POINTER_DEVICE:
+ return device->pointer_grab_actor;
+
+ case CLUTTER_KEYBOARD_DEVICE:
+ return device->keyboard_grab_actor;
+
+ default:
+ g_critical ("Only pointer and keyboard devices can grab an actor");
+ }
+
+ return NULL;
+}
+
/**
* clutter_grab_pointer_for_device:
* @actor: a #ClutterActor
@@ -2489,6 +2848,8 @@ clutter_grab_pointer (ClutterActor *actor)
* If @id is -1 then this function is equivalent to clutter_grab_pointer().
*
* Since: 0.8
+ *
+ * Deprecated: 1.10: Use clutter_input_device_grab() instead.
*/
void
clutter_grab_pointer_for_device (ClutterActor *actor,
@@ -2501,7 +2862,11 @@ clutter_grab_pointer_for_device (ClutterActor *actor,
/* essentially a global grab */
if (id_ == -1)
{
- clutter_grab_pointer (actor);
+ if (actor == NULL)
+ clutter_ungrab_pointer ();
+ else
+ clutter_grab_pointer (actor);
+
return;
}
@@ -2509,25 +2874,13 @@ clutter_grab_pointer_for_device (ClutterActor *actor,
if (dev == NULL)
return;
- if (dev->pointer_grab_actor == actor)
+ if (dev->device_type != CLUTTER_POINTER_DEVICE)
return;
- if (dev->pointer_grab_actor)
- {
- g_object_weak_unref (G_OBJECT (dev->pointer_grab_actor),
- on_pointer_grab_weak_notify,
- dev);
- dev->pointer_grab_actor = NULL;
- }
-
- if (actor)
- {
- dev->pointer_grab_actor = actor;
-
- g_object_weak_ref (G_OBJECT (actor),
- on_pointer_grab_weak_notify,
- dev);
- }
+ if (actor == NULL)
+ clutter_input_device_ungrab (dev);
+ else
+ clutter_input_device_grab (dev, actor);
}
@@ -2551,6 +2904,8 @@ clutter_ungrab_pointer (void)
* Removes an existing grab of the pointer events for device @id_.
*
* Since: 0.8
+ *
+ * Deprecated: 1.10: Use clutter_input_device_ungrab() instead.
*/
void
clutter_ungrab_pointer_for_device (gint id_)
@@ -2578,18 +2933,6 @@ clutter_get_pointer_grab (void)
}
-static void
-on_keyboard_grab_weak_notify (gpointer data,
- GObject *where_the_object_was)
-{
- ClutterMainContext *context;
-
- context = _clutter_context_get_default ();
- context->keyboard_grab_actor = NULL;
-
- clutter_ungrab_keyboard ();
-}
-
/**
* clutter_grab_keyboard:
* @actor: a #ClutterActor
@@ -2620,21 +2963,21 @@ clutter_grab_keyboard (ClutterActor *actor)
if (context->keyboard_grab_actor == actor)
return;
- if (context->keyboard_grab_actor)
+ if (context->keyboard_grab_actor != NULL)
{
- g_object_weak_unref (G_OBJECT (context->keyboard_grab_actor),
- on_keyboard_grab_weak_notify,
- NULL);
+ g_signal_handlers_disconnect_by_func (context->keyboard_grab_actor,
+ G_CALLBACK (on_grab_actor_destroy),
+ NULL);
context->keyboard_grab_actor = NULL;
}
- if (actor)
+ if (actor != NULL)
{
context->keyboard_grab_actor = actor;
- g_object_weak_ref (G_OBJECT (actor),
- on_keyboard_grab_weak_notify,
- NULL);
+ g_signal_connect (context->keyboard_grab_actor, "destroy",
+ G_CALLBACK (on_grab_actor_destroy),
+ NULL);
}
}
@@ -2679,6 +3022,9 @@ clutter_get_keyboard_grab (void)
* drawn.
*
* Since: 0.8
+ *
+ * Deprecated: 1.10: Use clutter_get_font_map() and
+ * cogl_pango_font_map_clear_glyph_cache() instead.
*/
void
clutter_clear_glyph_cache (void)
@@ -2703,6 +3049,9 @@ clutter_clear_glyph_cache (void)
* introduce some artifacts if the text is animated.
*
* Since: 1.0
+ *
+ * Deprecated: 1.10: Use clutter_backend_set_font_options() and the
+ * #cairo_font_option_t API.
*/
void
clutter_set_font_flags (ClutterFontFlags flags)
@@ -2754,6 +3103,9 @@ clutter_set_font_flags (ClutterFontFlags flags)
* Return value: The font flags
*
* Since: 1.0
+ *
+ * Deprecated: 1.10: Use clutter_backend_get_font_options() and the
+ * #cairo_font_options_t API.
*/
ClutterFontFlags
clutter_get_font_flags (void)
@@ -2797,6 +3149,8 @@ clutter_get_font_flags (void)
* Return value: (transfer none): a #ClutterInputDevice, or %NULL
*
* Since: 0.8
+ *
+ * Deprecated: 1.10: Use clutter_device_manager_get_device() instead.
*/
ClutterInputDevice *
clutter_get_input_device_for_id (gint id_)
diff --git a/clutter/clutter-main.h b/clutter/clutter-main.h
index a99a69400..a50405ad1 100644
--- a/clutter/clutter-main.h
+++ b/clutter/clutter-main.h
@@ -96,7 +96,10 @@ void clutter_main (void);
void clutter_main_quit (void);
gint clutter_main_level (void);
+#if !defined(CLUTTER_DISABLE_DEPRECATED) || defined(CLUTTER_COMPILATION)
+CLUTTER_DEPRECATED_FOR(clutter_stage_ensure_redraw)
void clutter_redraw (ClutterStage *stage);
+#endif
void clutter_do_event (ClutterEvent *event);
@@ -107,7 +110,8 @@ gulong clutter_get_timestamp (void);
gboolean clutter_get_accessibility_enabled (void);
/* Threading functions */
-#ifndef CLUTTER_DISABLE_DEPRECATED
+#if !defined(CLUTTER_DISABLE_DEPRECATED) || defined(CLUTTER_COMPILATION)
+CLUTTER_DEPRECATED
void clutter_threads_init (void);
#endif
@@ -130,10 +134,12 @@ guint clutter_threads_add_timeout_full (gint priority,
gpointer data,
GDestroyNotify notify);
-#ifndef CLUTTER_DISABLE_DEPRECATED
+#if !defined(CLUTTER_DISABLE_DEPRECATED) || defined(CLUTTER_COMPILATION)
+CLUTTER_DEPRECATED
guint clutter_threads_add_frame_source (guint fps,
GSourceFunc func,
gpointer data);
+CLUTTER_DEPRECATED
guint clutter_threads_add_frame_source_full (gint priority,
guint fps,
GSourceFunc func,
@@ -146,8 +152,11 @@ guint clutter_threads_add_repaint_func (GSourceFunc func,
GDestroyNotify notify);
void clutter_threads_remove_repaint_func (guint handle_id);
-#ifndef CLUTTER_DISABLE_DEPRECATED
+#if !defined(CLUTTER_DISABLE_DEPRECATED) || defined(CLUTTER_COMPILATION)
+CLUTTER_DEPRECATED_FOR(clutter_stage_set_motion_events_enabled)
void clutter_set_motion_events_enabled (gboolean enable);
+
+CLUTTER_DEPRECATED_FOR(clutter_stage_get_motion_events_enabled)
gboolean clutter_get_motion_events_enabled (void);
#endif /* CLUTTER_DISABLE_DEPRECATED */
@@ -162,15 +171,28 @@ void clutter_grab_keyboard (ClutterActor *actor);
void clutter_ungrab_keyboard (void);
ClutterActor * clutter_get_keyboard_grab (void);
+#if !defined(CLUTTER_DISABLE_DEPRECATED) || defined(CLUTTER_COMPILATION)
+CLUTTER_DEPRECATED_FOR(cogl_pango_font_map_clear_glyph_cache)
void clutter_clear_glyph_cache (void);
-void clutter_set_font_flags (ClutterFontFlags flags);
-ClutterFontFlags clutter_get_font_flags (void);
+CLUTTER_DEPRECATED_FOR(clutter_backend_set_font_options)
+void clutter_set_font_flags (ClutterFontFlags flags);
+
+CLUTTER_DEPRECATED_FOR(clutter_backend_get_font_options)
+ClutterFontFlags clutter_get_font_flags (void);
+#endif /* CLUTTER_DISABLE_DEPRECATED */
+
+#if !defined(CLUTTER_DISABLE_DEPRECATED) || defined(CLUTTER_COMPILATION)
+CLUTTER_DEPRECATED_FOR(clutter_device_manager_get_device)
ClutterInputDevice *clutter_get_input_device_for_id (gint id_);
+CLUTTER_DEPRECATED_FOR(clutter_input_device_grab)
void clutter_grab_pointer_for_device (ClutterActor *actor,
gint id_);
+
+CLUTTER_DEPRECATED_FOR(clutter_input_device_ungrab)
void clutter_ungrab_pointer_for_device (gint id_);
+#endif /* CLUTTER_DISABLE_DEPRECATED */
PangoFontMap * clutter_get_font_map (void);
diff --git a/clutter/clutter-model.c b/clutter/clutter-model.c
index 17836c316..346b34fa1 100644
--- a/clutter/clutter-model.c
+++ b/clutter/clutter-model.c
@@ -232,7 +232,7 @@ clutter_model_real_get_column_type (ClutterModel *model,
{
ClutterModelPrivate *priv = model->priv;
- if (column < 0 || column >= clutter_model_get_n_columns (model))
+ if (column >= clutter_model_get_n_columns (model))
return G_TYPE_INVALID;
return priv->column_types[column];
@@ -244,7 +244,7 @@ clutter_model_real_get_column_name (ClutterModel *model,
{
ClutterModelPrivate *priv = model->priv;
- if (column < 0 || column >= clutter_model_get_n_columns (model))
+ if (column >= clutter_model_get_n_columns (model))
return NULL;
if (priv->column_names && priv->column_names[column])
@@ -1390,7 +1390,7 @@ clutter_model_get_column_name (ClutterModel *model,
g_return_val_if_fail (CLUTTER_IS_MODEL (model), NULL);
- if (column < 0 || column >= clutter_model_get_n_columns (model))
+ if (column >= clutter_model_get_n_columns (model))
{
g_warning ("%s: Invalid column id value %d\n", G_STRLOC, column);
return NULL;
@@ -1422,7 +1422,7 @@ clutter_model_get_column_type (ClutterModel *model,
g_return_val_if_fail (CLUTTER_IS_MODEL (model), G_TYPE_INVALID);
- if (column < 0 || column >= clutter_model_get_n_columns (model))
+ if (column >= clutter_model_get_n_columns (model))
{
g_warning ("%s: Invalid column id value %d\n", G_STRLOC, column);
return G_TYPE_INVALID;
@@ -2003,7 +2003,7 @@ clutter_model_iter_set_internal_valist (ClutterModelIter *iter,
gchar *error = NULL;
GType col_type;
- if (column < 0 || column >= clutter_model_get_n_columns (model))
+ if (column >= clutter_model_get_n_columns (model))
{
g_warning ("%s: Invalid column number %d added to iter "
"(remember to end you list of columns with a -1)",
@@ -2169,7 +2169,7 @@ clutter_model_iter_get_valist (ClutterModelIter *iter,
gchar *error = NULL;
GType col_type;
- if (column < 0 || column >= clutter_model_get_n_columns (model))
+ if (column >= clutter_model_get_n_columns (model))
{
g_warning ("%s: Invalid column number %d added to iter "
"(remember to end you list of columns with a -1)",
diff --git a/clutter/clutter-path.h b/clutter/clutter-path.h
index 2351e58e0..cdc72061c 100644
--- a/clutter/clutter-path.h
+++ b/clutter/clutter-path.h
@@ -28,9 +28,8 @@
#ifndef __CLUTTER_PATH_H__
#define __CLUTTER_PATH_H__
-#include
-#include
#include
+#include
G_BEGIN_DECLS
@@ -42,40 +41,6 @@ G_BEGIN_DECLS
#define CLUTTER_IS_PATH_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), CLUTTER_TYPE_PATH))
#define CLUTTER_PATH_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), CLUTTER_TYPE_PATH, ClutterPathClass))
-#define CLUTTER_PATH_RELATIVE (32)
-
-/**
- * ClutterPathNodeType:
- * @CLUTTER_PATH_MOVE_TO: jump to the given position
- * @CLUTTER_PATH_LINE_TO: create a line from the last node to the
- * given position
- * @CLUTTER_PATH_CURVE_TO: bezier curve using the last position and
- * three control points.
- * @CLUTTER_PATH_CLOSE: create a line from the last node to the last
- * %CLUTTER_PATH_MOVE_TO node.
- * @CLUTTER_PATH_REL_MOVE_TO: same as %CLUTTER_PATH_MOVE_TO but with
- * coordinates relative to the last node.
- * @CLUTTER_PATH_REL_LINE_TO: same as %CLUTTER_PATH_LINE_TO but with
- * coordinates relative to the last node.
- * @CLUTTER_PATH_REL_CURVE_TO: same as %CLUTTER_PATH_CURVE_TO but with
- * coordinates relative to the last node.
- *
- * Types of nodes in a #ClutterPath.
- *
- * Since: 1.0
- */
-typedef enum {
- CLUTTER_PATH_MOVE_TO = 0,
- CLUTTER_PATH_LINE_TO = 1,
- CLUTTER_PATH_CURVE_TO = 2,
- CLUTTER_PATH_CLOSE = 3,
-
- CLUTTER_PATH_REL_MOVE_TO = CLUTTER_PATH_MOVE_TO | CLUTTER_PATH_RELATIVE,
- CLUTTER_PATH_REL_LINE_TO = CLUTTER_PATH_LINE_TO | CLUTTER_PATH_RELATIVE,
- CLUTTER_PATH_REL_CURVE_TO = CLUTTER_PATH_CURVE_TO | CLUTTER_PATH_RELATIVE
-} ClutterPathNodeType;
-
-typedef struct _ClutterPath ClutterPath;
typedef struct _ClutterPathClass ClutterPathClass;
typedef struct _ClutterPathPrivate ClutterPathPrivate;
typedef struct _ClutterPathNode ClutterPathNode;
diff --git a/clutter/clutter-script-parser.c b/clutter/clutter-script-parser.c
index 8a33b55c3..dd36ac944 100644
--- a/clutter/clutter-script-parser.c
+++ b/clutter/clutter-script-parser.c
@@ -1937,7 +1937,7 @@ void
_clutter_script_construct_object (ClutterScript *script,
ObjectInfo *oinfo)
{
- GArray *params;
+ GArray *params = NULL;
guint i;
/* we have completely updated the object */
diff --git a/clutter/clutter-script.h b/clutter/clutter-script.h
index 68eb61dce..1da98709a 100644
--- a/clutter/clutter-script.h
+++ b/clutter/clutter-script.h
@@ -29,7 +29,6 @@
#define __CLUTTER_SCRIPT_H__
#include
-#include
G_BEGIN_DECLS
diff --git a/clutter/clutter-settings-private.h b/clutter/clutter-settings-private.h
new file mode 100644
index 000000000..0e1c463f9
--- /dev/null
+++ b/clutter/clutter-settings-private.h
@@ -0,0 +1,16 @@
+#ifndef __CLUTTER_SETTINGS_PRIVATE_H__
+#define __CLUTTER_SETTINGS_PRIVATE_H__
+
+#include
+#include
+
+G_BEGIN_DECLS
+
+void _clutter_settings_set_backend (ClutterSettings *settings,
+ ClutterBackend *backend);
+void _clutter_settings_read_from_key_file (ClutterSettings *settings,
+ GKeyFile *key_file);
+
+G_END_DECLS
+
+#endif /* __CLUTTER_SETTINGS_PRIVATE_H__ */
diff --git a/clutter/clutter-settings.c b/clutter/clutter-settings.c
index 0bc43d965..d61620ffb 100644
--- a/clutter/clutter-settings.c
+++ b/clutter/clutter-settings.c
@@ -118,6 +118,9 @@ settings_update_font_options (ClutterSettings *self)
cairo_subpixel_order_t subpixel_order = CAIRO_SUBPIXEL_ORDER_DEFAULT;
cairo_font_options_t *options;
+ if (self->backend == NULL)
+ return;
+
options = cairo_font_options_create ();
cairo_font_options_set_hint_metrics (options, CAIRO_HINT_METRICS_ON);
@@ -187,7 +190,8 @@ settings_update_font_name (ClutterSettings *self)
{
CLUTTER_NOTE (BACKEND, "New font-name: %s", self->font_name);
- g_signal_emit_by_name (self->backend, "font-changed");
+ if (self->backend != NULL)
+ g_signal_emit_by_name (self->backend, "font-changed");
}
static void
@@ -195,13 +199,17 @@ settings_update_resolution (ClutterSettings *self)
{
CLUTTER_NOTE (BACKEND, "New resolution: %.2f", self->resolution);
- g_signal_emit_by_name (self->backend, "resolution-changed");
+ if (self->backend != NULL)
+ g_signal_emit_by_name (self->backend, "resolution-changed");
}
static void
settings_update_fontmap (ClutterSettings *self,
guint stamp)
{
+ if (self->backend == NULL)
+ return;
+
#ifdef HAVE_PANGO_FT2
CLUTTER_NOTE (BACKEND, "Update fontmaps (stamp: %d)", stamp);
@@ -391,7 +399,8 @@ clutter_settings_dispatch_properties_changed (GObject *gobject,
klass->dispatch_properties_changed (gobject, n_pspecs, pspecs);
/* emit settings-changed just once for multiple properties */
- g_signal_emit_by_name (self->backend, "settings-changed");
+ if (self->backend != NULL)
+ g_signal_emit_by_name (self->backend, "settings-changed");
}
static void
@@ -405,13 +414,17 @@ clutter_settings_class_init (ClutterSettingsClass *klass)
* A back pointer to the #ClutterBackend
*
* Since: 1.4
+ *
+ * Deprecated: 1.10
*/
obj_props[PROP_BACKEND] =
g_param_spec_object ("backend",
"Backend",
"A pointer to the backend",
CLUTTER_TYPE_BACKEND,
- CLUTTER_PARAM_WRITABLE | G_PARAM_CONSTRUCT_ONLY);
+ CLUTTER_PARAM_WRITABLE |
+ G_PARAM_DEPRECATED |
+ G_PARAM_CONSTRUCT_ONLY);
/**
* ClutterSettings:double-click-time:
@@ -656,14 +669,123 @@ clutter_settings_init (ClutterSettings *self)
ClutterSettings *
clutter_settings_get_default (void)
{
- ClutterMainContext *context = _clutter_context_get_default ();
+ static ClutterSettings *settings = NULL;
- if (G_LIKELY (context->settings != NULL))
- return context->settings;
+ if (G_UNLIKELY (settings == NULL))
+ settings = g_object_new (CLUTTER_TYPE_SETTINGS, NULL);
- context->settings = g_object_new (CLUTTER_TYPE_SETTINGS,
- "backend", context->backend,
- NULL);
-
- return context->settings;
+ return settings;
+}
+
+void
+_clutter_settings_set_backend (ClutterSettings *settings,
+ ClutterBackend *backend)
+{
+ g_assert (CLUTTER_IS_SETTINGS (settings));
+ g_assert (CLUTTER_IS_BACKEND (backend));
+
+ settings->backend = backend;
+}
+
+#define SETTINGS_GROUP "Settings"
+
+void
+_clutter_settings_read_from_key_file (ClutterSettings *settings,
+ GKeyFile *keyfile)
+{
+ GObjectClass *settings_class;
+ GObject *settings_obj;
+ GParamSpec **pspecs;
+ guint n_pspecs, i;
+
+ if (!g_key_file_has_group (keyfile, SETTINGS_GROUP))
+ return;
+
+ settings_obj = G_OBJECT (settings);
+ settings_class = G_OBJECT_GET_CLASS (settings);
+ pspecs = g_object_class_list_properties (settings_class, &n_pspecs);
+
+ for (i = 0; i < n_pspecs; i++)
+ {
+ GParamSpec *pspec = pspecs[i];
+ const gchar *p_name = pspec->name;
+ GType p_type = G_TYPE_FUNDAMENTAL (pspec->value_type);
+ GValue value = G_VALUE_INIT;
+ GError *key_error = NULL;
+
+ g_value_init (&value, p_type);
+
+ switch (p_type)
+ {
+ case G_TYPE_INT:
+ case G_TYPE_UINT:
+ {
+ gint val;
+
+ val = g_key_file_get_integer (keyfile,
+ SETTINGS_GROUP, p_name,
+ &key_error);
+ if (p_type == G_TYPE_INT)
+ g_value_set_int (&value, val);
+ else
+ g_value_set_uint (&value, val);
+ }
+ break;
+
+ case G_TYPE_BOOLEAN:
+ {
+ gboolean val;
+
+ val = g_key_file_get_boolean (keyfile,
+ SETTINGS_GROUP, p_name,
+ &key_error);
+ g_value_set_boolean (&value, val);
+ }
+ break;
+
+ case G_TYPE_FLOAT:
+ case G_TYPE_DOUBLE:
+ {
+ gdouble val;
+
+ val = g_key_file_get_double (keyfile,
+ SETTINGS_GROUP, p_name,
+ &key_error);
+ if (p_type == G_TYPE_FLOAT)
+ g_value_set_float (&value, val);
+ else
+ g_value_set_double (&value, val);
+ }
+ break;
+
+ case G_TYPE_STRING:
+ {
+ gchar *val;
+
+ val = g_key_file_get_string (keyfile,
+ SETTINGS_GROUP, p_name,
+ &key_error);
+ g_value_take_string (&value, val);
+ }
+ break;
+ }
+
+ if (key_error != NULL &&
+ key_error->domain != G_KEY_FILE_ERROR &&
+ key_error->code != G_KEY_FILE_ERROR_KEY_NOT_FOUND)
+ {
+ g_critical ("Unable to read the value for setting '%s': %s",
+ p_name,
+ key_error->message);
+ }
+
+ if (key_error == NULL)
+ g_object_set_property (settings_obj, p_name, &value);
+ else
+ g_error_free (key_error);
+
+ g_value_unset (&value);
+ }
+
+ g_free (pspecs);
}
diff --git a/clutter/clutter-snap-constraint.h b/clutter/clutter-snap-constraint.h
index b800f83c5..e27821e09 100644
--- a/clutter/clutter-snap-constraint.h
+++ b/clutter/clutter-snap-constraint.h
@@ -48,24 +48,6 @@ G_BEGIN_DECLS
typedef struct _ClutterSnapConstraint ClutterSnapConstraint;
typedef struct _ClutterSnapConstraintClass ClutterSnapConstraintClass;
-/**
- * ClutterSnapEdge:
- * @CLUTTER_SNAP_EDGE_TOP: the top edge
- * @CLUTTER_SNAP_EDGE_RIGHT: the right edge
- * @CLUTTER_SNAP_EDGE_BOTTOM: the bottom edge
- * @CLUTTER_SNAP_EDGE_LEFT: the left edge
- *
- * The edge to snap
- *
- * Since: 1.6
- */
-typedef enum {
- CLUTTER_SNAP_EDGE_TOP,
- CLUTTER_SNAP_EDGE_RIGHT,
- CLUTTER_SNAP_EDGE_BOTTOM,
- CLUTTER_SNAP_EDGE_LEFT
-} ClutterSnapEdge;
-
GType clutter_snap_constraint_get_type (void) G_GNUC_CONST;
ClutterConstraint * clutter_snap_constraint_new (ClutterActor *source,
diff --git a/clutter/clutter-stage.h b/clutter/clutter-stage.h
index cdd779735..029dbced0 100644
--- a/clutter/clutter-stage.h
+++ b/clutter/clutter-stage.h
@@ -72,22 +72,6 @@ G_BEGIN_DECLS
#endif /* !CLUTTER_DISABLE_DEPRECATED */
-/**
- * ClutterPickMode:
- * @CLUTTER_PICK_NONE: Do not paint any actor
- * @CLUTTER_PICK_REACTIVE: Paint only the reactive actors
- * @CLUTTER_PICK_ALL: Paint all actors
- *
- * Controls the paint cycle of the scene graph when in pick mode
- *
- * Since: 1.0
- */
-typedef enum {
- CLUTTER_PICK_NONE = 0,
- CLUTTER_PICK_REACTIVE,
- CLUTTER_PICK_ALL
-} ClutterPickMode;
-
typedef struct _ClutterPerspective ClutterPerspective;
typedef struct _ClutterFog ClutterFog;
diff --git a/clutter/clutter-state.h b/clutter/clutter-state.h
index 79342c767..2bbc7392b 100644
--- a/clutter/clutter-state.h
+++ b/clutter/clutter-state.h
@@ -25,7 +25,6 @@
#define __CLUTTER_STATE_H__
#include
-#include
G_BEGIN_DECLS
@@ -37,7 +36,6 @@ G_BEGIN_DECLS
#define CLUTTER_IS_STATE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), CLUTTER_TYPE_STATE))
#define CLUTTER_STATE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), CLUTTER_TYPE_STATE, ClutterStateClass))
-typedef struct _ClutterState ClutterState;
typedef struct _ClutterStatePrivate ClutterStatePrivate;
typedef struct _ClutterStateClass ClutterStateClass;
diff --git a/clutter/clutter-swipe-action.h b/clutter/clutter-swipe-action.h
index b32f2114c..087847d35 100644
--- a/clutter/clutter-swipe-action.h
+++ b/clutter/clutter-swipe-action.h
@@ -48,24 +48,6 @@ typedef struct _ClutterSwipeAction ClutterSwipeAction;
typedef struct _ClutterSwipeActionPrivate ClutterSwipeActionPrivate;
typedef struct _ClutterSwipeActionClass ClutterSwipeActionClass;
-/**
- * ClutterSwipeDirection:
- * @CLUTTER_SWIPE_DIRECTION_UP: Upwards swipe gesture
- * @CLUTTER_SWIPE_DIRECTION_DOWN: Downwards swipe gesture
- * @CLUTTER_SWIPE_DIRECTION_LEFT: Leftwards swipe gesture
- * @CLUTTER_SWIPE_DIRECTION_RIGHT: Rightwards swipe gesture
- *
- * The main direction of the swipe gesture
- *
- * Since: 1.8
- */
-typedef enum { /*< prefix=CLUTTER_SWIPE_DIRECTION >*/
- CLUTTER_SWIPE_DIRECTION_UP = 1 << 0,
- CLUTTER_SWIPE_DIRECTION_DOWN = 1 << 1,
- CLUTTER_SWIPE_DIRECTION_LEFT = 1 << 2,
- CLUTTER_SWIPE_DIRECTION_RIGHT = 1 << 3
-} ClutterSwipeDirection;
-
/**
* ClutterSwipeAction:
*
diff --git a/clutter/clutter-table-layout.h b/clutter/clutter-table-layout.h
index 145546d8a..99dc8e6bc 100644
--- a/clutter/clutter-table-layout.h
+++ b/clutter/clutter-table-layout.h
@@ -47,25 +47,6 @@ typedef struct _ClutterTableLayout ClutterTableLayout;
typedef struct _ClutterTableLayoutPrivate ClutterTableLayoutPrivate;
typedef struct _ClutterTableLayoutClass ClutterTableLayoutClass;
-/**
- * ClutterTableAlignment:
- * @CLUTTER_TABLE_ALIGNMENT_START: Align the child to the top or to the
- * left of a cell in the table, depending on the axis
- * @CLUTTER_TABLE_ALIGNMENT_CENTER: Align the child to the center of
- * a cell in the table
- * @CLUTTER_TABLE_ALIGNMENT_END: Align the child to the bottom or to the
- * right of a cell in the table, depending on the axis
- *
- * The alignment policies available on each axis of the #ClutterTableLayout
- *
- * Since: 1.4
- */
-typedef enum {
- CLUTTER_TABLE_ALIGNMENT_START,
- CLUTTER_TABLE_ALIGNMENT_CENTER,
- CLUTTER_TABLE_ALIGNMENT_END
-} ClutterTableAlignment;
-
/**
* ClutterTableLayout:
*
diff --git a/clutter/clutter-texture.h b/clutter/clutter-texture.h
index 530e270f8..8c9431ae2 100644
--- a/clutter/clutter-texture.h
+++ b/clutter/clutter-texture.h
@@ -121,46 +121,6 @@ struct _ClutterTextureClass
void (*_clutter_texture5) (void);
};
-/**
- * ClutterTextureFlags:
- * @CLUTTER_TEXTURE_NONE: No flags
- * @CLUTTER_TEXTURE_RGB_FLAG_BGR: FIXME
- * @CLUTTER_TEXTURE_RGB_FLAG_PREMULT: FIXME
- * @CLUTTER_TEXTURE_YUV_FLAG_YUV2: FIXME
- *
- * Flags for clutter_texture_set_from_rgb_data() and
- * clutter_texture_set_from_yuv_data().
- *
- * Since: 0.4
- */
-typedef enum { /*< prefix=CLUTTER_TEXTURE >*/
- CLUTTER_TEXTURE_NONE = 0,
- CLUTTER_TEXTURE_RGB_FLAG_BGR = 1 << 1,
- CLUTTER_TEXTURE_RGB_FLAG_PREMULT = 1 << 2, /* FIXME: not handled */
- CLUTTER_TEXTURE_YUV_FLAG_YUV2 = 1 << 3
-
- /* FIXME: add compressed types ? */
-} ClutterTextureFlags;
-
-/**
- * ClutterTextureQuality:
- * @CLUTTER_TEXTURE_QUALITY_LOW: fastest rendering will use nearest neighbour
- * interpolation when rendering. good setting.
- * @CLUTTER_TEXTURE_QUALITY_MEDIUM: higher quality rendering without using
- * extra resources.
- * @CLUTTER_TEXTURE_QUALITY_HIGH: render the texture with the best quality
- * available using extra memory.
- *
- * Enumaration controlling the texture quality.
- *
- * Since: 0.8
- */
-typedef enum { /*< prefix=CLUTTER_TEXTURE_QUALITY >*/
- CLUTTER_TEXTURE_QUALITY_LOW,
- CLUTTER_TEXTURE_QUALITY_MEDIUM,
- CLUTTER_TEXTURE_QUALITY_HIGH
-} ClutterTextureQuality;
-
GType clutter_texture_get_type (void) G_GNUC_CONST;
ClutterActor * clutter_texture_new (void);
@@ -168,6 +128,7 @@ ClutterActor * clutter_texture_new_from_file (const gchar
GError **error);
#ifndef CLUTTER_DISABLE_DEPRECATED
+CLUTTER_DEPRECATED_FOR(ClutterOffscreenEffect)
ClutterActor * clutter_texture_new_from_actor (ClutterActor *actor);
#endif /* CLUTTER_DISABLE_DEPRECATED */
diff --git a/clutter/clutter-timeline.h b/clutter/clutter-timeline.h
index adc0f90d8..ce642f3e1 100644
--- a/clutter/clutter-timeline.h
+++ b/clutter/clutter-timeline.h
@@ -28,8 +28,7 @@
#ifndef __CLUTTER_TIMELINE_H__
#define __CLUTTER_TIMELINE_H__
-#include
-#include
+#include
G_BEGIN_DECLS
@@ -40,21 +39,6 @@ G_BEGIN_DECLS
#define CLUTTER_IS_TIMELINE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), CLUTTER_TYPE_TIMELINE))
#define CLUTTER_TIMELINE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), CLUTTER_TYPE_TIMELINE, ClutterTimelineClass))
-/**
- * ClutterTimelineDirection:
- * @CLUTTER_TIMELINE_FORWARD: forward direction for a timeline
- * @CLUTTER_TIMELINE_BACKWARD: backward direction for a timeline
- *
- * The direction of a #ClutterTimeline
- *
- * Since: 0.6
- */
-typedef enum {
- CLUTTER_TIMELINE_FORWARD,
- CLUTTER_TIMELINE_BACKWARD
-} ClutterTimelineDirection;
-
-typedef struct _ClutterTimeline ClutterTimeline;
typedef struct _ClutterTimelineClass ClutterTimelineClass;
typedef struct _ClutterTimelinePrivate ClutterTimelinePrivate;
diff --git a/clutter/clutter-types.h b/clutter/clutter-types.h
index b1ea2e950..0ce665500 100644
--- a/clutter/clutter-types.h
+++ b/clutter/clutter-types.h
@@ -28,17 +28,30 @@
#ifndef __CLUTTER_TYPES_H__
#define __CLUTTER_TYPES_H__
-#include
+#include
G_BEGIN_DECLS
+/* these macros are used to mark deprecated functions, and thus have to be
+ * exposed in a public header.
+ *
+ * do *not* use them in other libraries depending on Clutter: use G_DEPRECATED
+ * and G_DEPRECATED_FOR, or use your own wrappers around them.
+ */
+#ifdef CLUTTER_DISABLE_DEPRECATION_WARNINGS
+#define CLUTTER_DEPRECATED
+#define CLUTTER_DEPRECATED_FOR(f)
+#else
+#define CLUTTER_DEPRECATED G_DEPRECATED
+#define CLUTTER_DEPRECATED_FOR(f) G_DEPRECATED_FOR(f)
+#endif
+
#define CLUTTER_TYPE_ACTOR_BOX (clutter_actor_box_get_type ())
#define CLUTTER_TYPE_GEOMETRY (clutter_geometry_get_type ())
#define CLUTTER_TYPE_KNOT (clutter_knot_get_type ())
#define CLUTTER_TYPE_PAINT_VOLUME (clutter_paint_volume_get_type ())
#define CLUTTER_TYPE_VERTEX (clutter_vertex_get_type ())
-/* Forward delarations to avoid header catch 22's */
typedef struct _ClutterActor ClutterActor;
typedef struct _ClutterStage ClutterStage;
@@ -47,57 +60,32 @@ typedef struct _ClutterChildMeta ClutterChildMeta;
typedef struct _ClutterLayoutMeta ClutterLayoutMeta;
typedef struct _ClutterActorMeta ClutterActorMeta;
+typedef struct _ClutterAlpha ClutterAlpha;
+typedef struct _ClutterAnimatable ClutterAnimatable; /* dummy */
typedef struct _ClutterAnimator ClutterAnimator;
+typedef struct _ClutterState ClutterState;
+typedef struct _ClutterTimeline ClutterTimeline;
typedef struct _ClutterAction ClutterAction;
typedef struct _ClutterConstraint ClutterConstraint;
typedef struct _ClutterEffect ClutterEffect;
+typedef struct _ClutterPath ClutterPath;
+
#if !defined(CLUTTER_DISABLE_DEPRECATED) || defined(CLUTTER_COMPILATION)
+typedef struct _ClutterBehaviour ClutterBehaviour;
+
typedef struct _ClutterShader ClutterShader;
-#endif
-
-typedef struct _ClutterColor ClutterColor;
-
-typedef union _ClutterEvent ClutterEvent;
-
-/**
- * ClutterGravity:
- * @CLUTTER_GRAVITY_NONE: Do not apply any gravity
- * @CLUTTER_GRAVITY_NORTH: Scale from topmost downwards
- * @CLUTTER_GRAVITY_NORTH_EAST: Scale from the top right corner
- * @CLUTTER_GRAVITY_EAST: Scale from the right side
- * @CLUTTER_GRAVITY_SOUTH_EAST: Scale from the bottom right corner
- * @CLUTTER_GRAVITY_SOUTH: Scale from the bottom upwards
- * @CLUTTER_GRAVITY_SOUTH_WEST: Scale from the bottom left corner
- * @CLUTTER_GRAVITY_WEST: Scale from the left side
- * @CLUTTER_GRAVITY_NORTH_WEST: Scale from the top left corner
- * @CLUTTER_GRAVITY_CENTER: Scale from the center.
- *
- * Gravity of the scaling operations. When a gravity different than
- * %CLUTTER_GRAVITY_NONE is used, an actor is scaled keeping the position
- * of the specified portion at the same coordinates.
- *
- * Since: 0.2
- */
-typedef enum { /*< prefix=CLUTTER_GRAVITY >*/
- CLUTTER_GRAVITY_NONE = 0,
- CLUTTER_GRAVITY_NORTH,
- CLUTTER_GRAVITY_NORTH_EAST,
- CLUTTER_GRAVITY_EAST,
- CLUTTER_GRAVITY_SOUTH_EAST,
- CLUTTER_GRAVITY_SOUTH,
- CLUTTER_GRAVITY_SOUTH_WEST,
- CLUTTER_GRAVITY_WEST,
- CLUTTER_GRAVITY_NORTH_WEST,
- CLUTTER_GRAVITY_CENTER
-} ClutterGravity;
+#endif /* DISABLE_DEPRECATED */
typedef struct _ClutterActorBox ClutterActorBox;
+typedef struct _ClutterColor ClutterColor;
typedef struct _ClutterGeometry ClutterGeometry;
typedef struct _ClutterKnot ClutterKnot;
typedef struct _ClutterVertex ClutterVertex;
+typedef union _ClutterEvent ClutterEvent;
+
/**
* ClutterPaintVolume:
*
@@ -249,224 +237,6 @@ void clutter_knot_free (ClutterKnot *knot);
gboolean clutter_knot_equal (const ClutterKnot *knot_a,
const ClutterKnot *knot_b);
-/**
- * ClutterRotateAxis:
- * @CLUTTER_X_AXIS: Rotate around the X axis
- * @CLUTTER_Y_AXIS: Rotate around the Y axis
- * @CLUTTER_Z_AXIS: Rotate around the Z axis
- *
- * Axis of a rotation.
- *
- * Since: 0.4
- */
-typedef enum { /*< prefix=CLUTTER >*/
- CLUTTER_X_AXIS,
- CLUTTER_Y_AXIS,
- CLUTTER_Z_AXIS
-} ClutterRotateAxis;
-
-/**
- * ClutterRotateDirection:
- * @CLUTTER_ROTATE_CW: Clockwise rotation
- * @CLUTTER_ROTATE_CCW: Counter-clockwise rotation
- *
- * Direction of a rotation.
- *
- * Since: 0.4
- */
-typedef enum { /*< prefix=CLUTTER_ROTATE >*/
- CLUTTER_ROTATE_CW,
- CLUTTER_ROTATE_CCW
-} ClutterRotateDirection;
-
-/**
- * ClutterRequestMode:
- * @CLUTTER_REQUEST_HEIGHT_FOR_WIDTH: Height for width requests
- * @CLUTTER_REQUEST_WIDTH_FOR_HEIGHT: Width for height requests
- *
- * Specifies the type of requests for a #ClutterActor.
- *
- * Since: 0.8
- */
-typedef enum {
- CLUTTER_REQUEST_HEIGHT_FOR_WIDTH,
- CLUTTER_REQUEST_WIDTH_FOR_HEIGHT
-} ClutterRequestMode;
-
-/**
- * ClutterAnimationMode:
- * @CLUTTER_CUSTOM_MODE: custom progress function
- * @CLUTTER_LINEAR: linear tweening
- * @CLUTTER_EASE_IN_QUAD: quadratic tweening
- * @CLUTTER_EASE_OUT_QUAD: quadratic tweening, inverse of
- * %CLUTTER_EASE_IN_QUAD
- * @CLUTTER_EASE_IN_OUT_QUAD: quadratic tweening, combininig
- * %CLUTTER_EASE_IN_QUAD and %CLUTTER_EASE_OUT_QUAD
- * @CLUTTER_EASE_IN_CUBIC: cubic tweening
- * @CLUTTER_EASE_OUT_CUBIC: cubic tweening, invers of
- * %CLUTTER_EASE_IN_CUBIC
- * @CLUTTER_EASE_IN_OUT_CUBIC: cubic tweening, combining
- * %CLUTTER_EASE_IN_CUBIC and %CLUTTER_EASE_OUT_CUBIC
- * @CLUTTER_EASE_IN_QUART: quartic tweening
- * @CLUTTER_EASE_OUT_QUART: quartic tweening, inverse of
- * %CLUTTER_EASE_IN_QUART
- * @CLUTTER_EASE_IN_OUT_QUART: quartic tweening, combining
- * %CLUTTER_EASE_IN_QUART and %CLUTTER_EASE_OUT_QUART
- * @CLUTTER_EASE_IN_QUINT: quintic tweening
- * @CLUTTER_EASE_OUT_QUINT: quintic tweening, inverse of
- * %CLUTTER_EASE_IN_QUINT
- * @CLUTTER_EASE_IN_OUT_QUINT: fifth power tweening, combining
- * %CLUTTER_EASE_IN_QUINT and %CLUTTER_EASE_OUT_QUINT
- * @CLUTTER_EASE_IN_SINE: sinusoidal tweening
- * @CLUTTER_EASE_OUT_SINE: sinusoidal tweening, inverse of
- * %CLUTTER_EASE_IN_SINE
- * @CLUTTER_EASE_IN_OUT_SINE: sine wave tweening, combining
- * %CLUTTER_EASE_IN_SINE and %CLUTTER_EASE_OUT_SINE
- * @CLUTTER_EASE_IN_EXPO: exponential tweening
- * @CLUTTER_EASE_OUT_EXPO: exponential tweening, inverse of
- * %CLUTTER_EASE_IN_EXPO
- * @CLUTTER_EASE_IN_OUT_EXPO: exponential tweening, combining
- * %CLUTTER_EASE_IN_EXPO and %CLUTTER_EASE_OUT_EXPO
- * @CLUTTER_EASE_IN_CIRC: circular tweening
- * @CLUTTER_EASE_OUT_CIRC: circular tweening, inverse of
- * %CLUTTER_EASE_IN_CIRC
- * @CLUTTER_EASE_IN_OUT_CIRC: circular tweening, combining
- * %CLUTTER_EASE_IN_CIRC and %CLUTTER_EASE_OUT_CIRC
- * @CLUTTER_EASE_IN_ELASTIC: elastic tweening, with offshoot on start
- * @CLUTTER_EASE_OUT_ELASTIC: elastic tweening, with offshoot on end
- * @CLUTTER_EASE_IN_OUT_ELASTIC: elastic tweening with offshoot on both ends
- * @CLUTTER_EASE_IN_BACK: overshooting cubic tweening, with
- * backtracking on start
- * @CLUTTER_EASE_OUT_BACK: overshooting cubic tweening, with
- * backtracking on end
- * @CLUTTER_EASE_IN_OUT_BACK: overshooting cubic tweening, with
- * backtracking on both ends
- * @CLUTTER_EASE_IN_BOUNCE: exponentially decaying parabolic (bounce)
- * tweening, with bounce on start
- * @CLUTTER_EASE_OUT_BOUNCE: exponentially decaying parabolic (bounce)
- * tweening, with bounce on end
- * @CLUTTER_EASE_IN_OUT_BOUNCE: exponentially decaying parabolic (bounce)
- * tweening, with bounce on both ends
- * @CLUTTER_ANIMATION_LAST: last animation mode, used as a guard for
- * registered global alpha functions
- *
- * The animation modes used by #ClutterAlpha and #ClutterAnimation. This
- * enumeration can be expanded in later versions of Clutter. See the
- * #ClutterAlpha documentation for a graph of all the animation modes.
- *
- * Every global alpha function registered using clutter_alpha_register_func()
- * or clutter_alpha_register_closure() will have a logical id greater than
- * %CLUTTER_ANIMATION_LAST.
- *
- * Since: 1.0
- */
-typedef enum {
- CLUTTER_CUSTOM_MODE = 0,
-
- /* linear */
- CLUTTER_LINEAR,
-
- /* quadratic */
- CLUTTER_EASE_IN_QUAD,
- CLUTTER_EASE_OUT_QUAD,
- CLUTTER_EASE_IN_OUT_QUAD,
-
- /* cubic */
- CLUTTER_EASE_IN_CUBIC,
- CLUTTER_EASE_OUT_CUBIC,
- CLUTTER_EASE_IN_OUT_CUBIC,
-
- /* quartic */
- CLUTTER_EASE_IN_QUART,
- CLUTTER_EASE_OUT_QUART,
- CLUTTER_EASE_IN_OUT_QUART,
-
- /* quintic */
- CLUTTER_EASE_IN_QUINT,
- CLUTTER_EASE_OUT_QUINT,
- CLUTTER_EASE_IN_OUT_QUINT,
-
- /* sinusoidal */
- CLUTTER_EASE_IN_SINE,
- CLUTTER_EASE_OUT_SINE,
- CLUTTER_EASE_IN_OUT_SINE,
-
- /* exponential */
- CLUTTER_EASE_IN_EXPO,
- CLUTTER_EASE_OUT_EXPO,
- CLUTTER_EASE_IN_OUT_EXPO,
-
- /* circular */
- CLUTTER_EASE_IN_CIRC,
- CLUTTER_EASE_OUT_CIRC,
- CLUTTER_EASE_IN_OUT_CIRC,
-
- /* elastic */
- CLUTTER_EASE_IN_ELASTIC,
- CLUTTER_EASE_OUT_ELASTIC,
- CLUTTER_EASE_IN_OUT_ELASTIC,
-
- /* overshooting cubic */
- CLUTTER_EASE_IN_BACK,
- CLUTTER_EASE_OUT_BACK,
- CLUTTER_EASE_IN_OUT_BACK,
-
- /* exponentially decaying parabolic */
- CLUTTER_EASE_IN_BOUNCE,
- CLUTTER_EASE_OUT_BOUNCE,
- CLUTTER_EASE_IN_OUT_BOUNCE,
-
- /* guard, before registered alpha functions */
- CLUTTER_ANIMATION_LAST
-} ClutterAnimationMode;
-
-/**
- * ClutterFontFlags:
- * @CLUTTER_FONT_MIPMAPPING: Set to use mipmaps for the glyph cache textures.
- * @CLUTTER_FONT_HINTING: Set to enable hinting on the glyphs.
- *
- * Runtime flags to change the font quality. To be used with
- * clutter_set_font_flags().
- *
- * Since: 1.0
- */
-typedef enum
-{
- CLUTTER_FONT_MIPMAPPING = (1 << 0),
- CLUTTER_FONT_HINTING = (1 << 1)
-} ClutterFontFlags;
-
-/**
- * ClutterTextDirection:
- * @CLUTTER_TEXT_DIRECTION_DEFAULT: Use the default setting, as returned
- * by clutter_get_default_text_direction()
- * @CLUTTER_TEXT_DIRECTION_LTR: Use left-to-right text direction
- * @CLUTTER_TEXT_DIRECTION_RTL: Use right-to-left text direction
- *
- * The text direction to be used by #ClutterActors
- *
- * Since: 1.2
- */
-typedef enum {
- CLUTTER_TEXT_DIRECTION_DEFAULT,
- CLUTTER_TEXT_DIRECTION_LTR,
- CLUTTER_TEXT_DIRECTION_RTL
-} ClutterTextDirection;
-
-/**
- * ClutterShaderType:
- * @CLUTTER_VERTEX_SHADER: a vertex shader
- * @CLUTTER_FRAGMENT_SHADER: a fragment shader
- *
- * The type of GLSL shader program
- *
- * Since: 1.4
- */
-typedef enum {
- CLUTTER_VERTEX_SHADER,
- CLUTTER_FRAGMENT_SHADER
-} ClutterShaderType;
-
GType clutter_paint_volume_get_type (void) G_GNUC_CONST;
ClutterPaintVolume *clutter_paint_volume_copy (const ClutterPaintVolume *pv);
@@ -491,82 +261,6 @@ void clutter_paint_volume_union (ClutterPaintVolume
gboolean clutter_paint_volume_set_from_allocation (ClutterPaintVolume *pv,
ClutterActor *actor);
-/**
- * ClutterModifierType:
- * @CLUTTER_SHIFT_MASK: Mask applied by the Shift key
- * @CLUTTER_LOCK_MASK: Mask applied by the Caps Lock key
- * @CLUTTER_CONTROL_MASK: Mask applied by the Control key
- * @CLUTTER_MOD1_MASK: Mask applied by the first Mod key
- * @CLUTTER_MOD2_MASK: Mask applied by the second Mod key
- * @CLUTTER_MOD3_MASK: Mask applied by the third Mod key
- * @CLUTTER_MOD4_MASK: Mask applied by the fourth Mod key
- * @CLUTTER_MOD5_MASK: Mask applied by the fifth Mod key
- * @CLUTTER_BUTTON1_MASK: Mask applied by the first pointer button
- * @CLUTTER_BUTTON2_MASK: Mask applied by the second pointer button
- * @CLUTTER_BUTTON3_MASK: Mask applied by the third pointer button
- * @CLUTTER_BUTTON4_MASK: Mask applied by the fourth pointer button
- * @CLUTTER_BUTTON5_MASK: Mask applied by the fifth pointer button
- * @CLUTTER_SUPER_MASK: Mask applied by the Super key
- * @CLUTTER_HYPER_MASK: Mask applied by the Hyper key
- * @CLUTTER_META_MASK: Mask applied by the Meta key
- * @CLUTTER_RELEASE_MASK: Mask applied during release
- * @CLUTTER_MODIFIER_MASK: A mask covering all modifier types
- *
- * Masks applied to a #ClutterEvent by modifiers.
- *
- * Note that Clutter may add internal values to events which include
- * reserved values such as %CLUTTER_MODIFIER_RESERVED_13_MASK. Your code
- * should preserve and ignore them. You can use %CLUTTER_MODIFIER_MASK to
- * remove all reserved values.
- *
- * Since: 0.4
- */
-typedef enum {
- CLUTTER_SHIFT_MASK = 1 << 0,
- CLUTTER_LOCK_MASK = 1 << 1,
- CLUTTER_CONTROL_MASK = 1 << 2,
- CLUTTER_MOD1_MASK = 1 << 3,
- CLUTTER_MOD2_MASK = 1 << 4,
- CLUTTER_MOD3_MASK = 1 << 5,
- CLUTTER_MOD4_MASK = 1 << 6,
- CLUTTER_MOD5_MASK = 1 << 7,
- CLUTTER_BUTTON1_MASK = 1 << 8,
- CLUTTER_BUTTON2_MASK = 1 << 9,
- CLUTTER_BUTTON3_MASK = 1 << 10,
- CLUTTER_BUTTON4_MASK = 1 << 11,
- CLUTTER_BUTTON5_MASK = 1 << 12,
-
-#ifndef __GTK_DOC_IGNORE__
- CLUTTER_MODIFIER_RESERVED_13_MASK = 1 << 13,
- CLUTTER_MODIFIER_RESERVED_14_MASK = 1 << 14,
- CLUTTER_MODIFIER_RESERVED_15_MASK = 1 << 15,
- CLUTTER_MODIFIER_RESERVED_16_MASK = 1 << 16,
- CLUTTER_MODIFIER_RESERVED_17_MASK = 1 << 17,
- CLUTTER_MODIFIER_RESERVED_18_MASK = 1 << 18,
- CLUTTER_MODIFIER_RESERVED_19_MASK = 1 << 19,
- CLUTTER_MODIFIER_RESERVED_20_MASK = 1 << 20,
- CLUTTER_MODIFIER_RESERVED_21_MASK = 1 << 21,
- CLUTTER_MODIFIER_RESERVED_22_MASK = 1 << 22,
- CLUTTER_MODIFIER_RESERVED_23_MASK = 1 << 23,
- CLUTTER_MODIFIER_RESERVED_24_MASK = 1 << 24,
- CLUTTER_MODIFIER_RESERVED_25_MASK = 1 << 25,
-#endif
-
- CLUTTER_SUPER_MASK = 1 << 26,
- CLUTTER_HYPER_MASK = 1 << 27,
- CLUTTER_META_MASK = 1 << 28,
-
-#ifndef __GTK_DOC_IGNORE__
- CLUTTER_MODIFIER_RESERVED_29_MASK = 1 << 29,
-#endif
-
- CLUTTER_RELEASE_MASK = 1 << 30,
-
- /* Combination of CLUTTER_SHIFT_MASK..CLUTTER_BUTTON5_MASK + CLUTTER_SUPER_MASK
- + CLUTTER_HYPER_MASK + CLUTTER_META_MASK + CLUTTER_RELEASE_MASK */
- CLUTTER_MODIFIER_MASK = 0x5c001fff
-} ClutterModifierType;
-
G_END_DECLS
#endif /* __CLUTTER_TYPES_H__ */
diff --git a/clutter/clutter-units.h b/clutter/clutter-units.h
index 556372054..e50242bf9 100644
--- a/clutter/clutter-units.h
+++ b/clutter/clutter-units.h
@@ -37,28 +37,6 @@
G_BEGIN_DECLS
-/**
- * ClutterUnitType:
- * @CLUTTER_UNIT_PIXEL: Unit expressed in pixels (with subpixel precision)
- * @CLUTTER_UNIT_EM: Unit expressed in em
- * @CLUTTER_UNIT_MM: Unit expressed in millimeters
- * @CLUTTER_UNIT_POINT: Unit expressed in points
- * @CLUTTER_UNIT_CM: Unit expressed in centimeters
- *
- * The type of unit in which a value is expressed
- *
- * This enumeration might be expanded at later date
- *
- * Since: 1.0
- */
-typedef enum {
- CLUTTER_UNIT_PIXEL,
- CLUTTER_UNIT_EM,
- CLUTTER_UNIT_MM,
- CLUTTER_UNIT_POINT,
- CLUTTER_UNIT_CM
-} ClutterUnitType;
-
/**
* ClutterUnits:
*
@@ -170,18 +148,18 @@ struct _ClutterParamSpecUnits
GType clutter_param_units_get_type (void) G_GNUC_CONST;
-GParamSpec * clutter_param_spec_units (const gchar *name,
- const gchar *nick,
- const gchar *blurb,
- ClutterUnitType default_type,
- gfloat minimum,
- gfloat maximum,
- gfloat default_value,
- GParamFlags flags);
+GParamSpec * clutter_param_spec_units (const gchar *name,
+ const gchar *nick,
+ const gchar *blurb,
+ ClutterUnitType default_type,
+ gfloat minimum,
+ gfloat maximum,
+ gfloat default_value,
+ GParamFlags flags);
-void clutter_value_set_units (GValue *value,
- const ClutterUnits *units);
-const ClutterUnits * clutter_value_get_units (const GValue *value);
+void clutter_value_set_units (GValue *value,
+ const ClutterUnits *units);
+const ClutterUnits * clutter_value_get_units (const GValue *value);
G_END_DECLS
diff --git a/clutter/clutter-util.h b/clutter/clutter-util.h
index d1fe9f8f1..63a382358 100644
--- a/clutter/clutter-util.h
+++ b/clutter/clutter-util.h
@@ -28,13 +28,14 @@
#ifndef __CLUTTER_UTIL_H__
#define __CLUTTER_UTIL_H__
-#include
+#include
G_BEGIN_DECLS
#ifndef CLUTTER_DISABLE_DEPRECATED
-gint clutter_util_next_p2 (gint a) G_GNUC_DEPRECATED;
+CLUTTER_DEPRECATED
+gint clutter_util_next_p2 (gint a);
#endif /* CLUTTER_DISABLE_DEPRECATED */
diff --git a/clutter/clutter.h b/clutter/clutter.h
index 8753466bf..7c5c85d9f 100644
--- a/clutter/clutter.h
+++ b/clutter/clutter.h
@@ -28,9 +28,8 @@
#define __CLUTTER_H_INSIDE__
-#include "clutter-deprecated.h"
-
#include "clutter-config.h"
+#include "clutter-types.h"
#include "clutter-action.h"
#include "clutter-actor.h"
@@ -41,13 +40,6 @@
#include "clutter-animation.h"
#include "clutter-animator.h"
#include "clutter-backend.h"
-#include "clutter-behaviour-depth.h"
-#include "clutter-behaviour-ellipse.h"
-#include "clutter-behaviour.h"
-#include "clutter-behaviour-opacity.h"
-#include "clutter-behaviour-path.h"
-#include "clutter-behaviour-rotate.h"
-#include "clutter-behaviour-scale.h"
#include "clutter-bind-constraint.h"
#include "clutter-binding-pool.h"
#include "clutter-bin-layout.h"
@@ -69,11 +61,11 @@
#include "clutter-drag-action.h"
#include "clutter-drop-action.h"
#include "clutter-effect.h"
+#include "clutter-enums.h"
#include "clutter-event.h"
#include "clutter-feature.h"
#include "clutter-fixed-layout.h"
#include "clutter-flow-layout.h"
-#include "clutter-frame-source.h"
#include "clutter-gesture-action.h"
#include "clutter-group.h"
#include "clutter-input-device.h"
@@ -90,11 +82,9 @@
#include "clutter-path-constraint.h"
#include "clutter-path.h"
#include "clutter-rectangle.h"
-#include "clutter-score.h"
#include "clutter-scriptable.h"
#include "clutter-script.h"
#include "clutter-settings.h"
-#include "clutter-shader.h"
#include "clutter-shader-effect.h"
#include "clutter-shader-types.h"
#include "clutter-swipe-action.h"
@@ -107,14 +97,16 @@
#include "clutter-texture.h"
#include "clutter-text.h"
#include "clutter-timeline.h"
-#include "clutter-timeout-pool.h"
-#include "clutter-types.h"
#include "clutter-units.h"
#include "clutter-util.h"
#include "clutter-version.h"
#include "clutter-enum-types.h"
+#ifndef CLUTTER_DISABLE_DEPRECATED
+#include "clutter-deprecated.h"
+#endif
+
#undef __CLUTTER_H_INSIDE__
#endif /* __CLUTTER_H__ */
diff --git a/clutter/cogl/clutter-egl.h b/clutter/cogl/clutter-egl.h
index 53ee7b563..93710392e 100644
--- a/clutter/cogl/clutter-egl.h
+++ b/clutter/cogl/clutter-egl.h
@@ -62,6 +62,7 @@ G_BEGIN_DECLS
*
* Deprecated: 1.6: Use clutter_egl_get_egl_display() instead
*/
+CLUTTER_DEPRECATED_FOR(clutter_egl_get_egl_display)
EGLDisplay clutter_eglx_display (void);
/**
@@ -73,6 +74,7 @@ EGLDisplay clutter_eglx_display (void);
*
* Deprecated: 1.6: Use clutter_egl_get_egl_display() instead
*/
+CLUTTER_DEPRECATED_FOR(clutter_egl_get_egl_display)
EGLDisplay clutter_egl_display (void);
#endif /* CLUTTER_DISABLE_DEPRECATED */
diff --git a/clutter/clutter-behaviour-depth.c b/clutter/deprecated/clutter-behaviour-depth.c
similarity index 99%
rename from clutter/clutter-behaviour-depth.c
rename to clutter/deprecated/clutter-behaviour-depth.c
index 61512cfda..91acb5bb0 100644
--- a/clutter/clutter-behaviour-depth.c
+++ b/clutter/deprecated/clutter-behaviour-depth.c
@@ -27,8 +27,8 @@
#include "config.h"
#endif
+#include "clutter-behaviour.h"
#include "clutter-behaviour-depth.h"
-
#include "clutter-enum-types.h"
#include "clutter-main.h"
#include "clutter-debug.h"
diff --git a/clutter/clutter-behaviour-depth.h b/clutter/deprecated/clutter-behaviour-depth.h
similarity index 98%
rename from clutter/clutter-behaviour-depth.h
rename to clutter/deprecated/clutter-behaviour-depth.h
index 81f0cd35c..4ee2f83f8 100644
--- a/clutter/clutter-behaviour-depth.h
+++ b/clutter/deprecated/clutter-behaviour-depth.h
@@ -30,8 +30,7 @@
#ifndef __CLUTTER_BEHAVIOUR_DEPTH__
#define __CLUTTER_BEHAVIOUR_DEPTH__
-#include
-#include
+#include
G_BEGIN_DECLS
diff --git a/clutter/clutter-behaviour-ellipse.c b/clutter/deprecated/clutter-behaviour-ellipse.c
similarity index 99%
rename from clutter/clutter-behaviour-ellipse.c
rename to clutter/deprecated/clutter-behaviour-ellipse.c
index 126746540..aafbc6e48 100644
--- a/clutter/clutter-behaviour-ellipse.c
+++ b/clutter/deprecated/clutter-behaviour-ellipse.c
@@ -50,8 +50,8 @@
#include
#include
+#include "clutter-behaviour.h"
#include "clutter-behaviour-ellipse.h"
-
#include "clutter-debug.h"
#include "clutter-enum-types.h"
#include "clutter-private.h"
diff --git a/clutter/clutter-behaviour-ellipse.h b/clutter/deprecated/clutter-behaviour-ellipse.h
similarity index 98%
rename from clutter/clutter-behaviour-ellipse.h
rename to clutter/deprecated/clutter-behaviour-ellipse.h
index 302d4f200..8dffa869d 100644
--- a/clutter/clutter-behaviour-ellipse.h
+++ b/clutter/deprecated/clutter-behaviour-ellipse.h
@@ -28,9 +28,6 @@
#ifndef __CLUTTER_BEHAVIOUR_ELLIPSE_H__
#define __CLUTTER_BEHAVIOUR_ELLIPSE_H__
-#include
-#include
-#include
#include
G_BEGIN_DECLS
diff --git a/clutter/clutter-behaviour-opacity.c b/clutter/deprecated/clutter-behaviour-opacity.c
similarity index 99%
rename from clutter/clutter-behaviour-opacity.c
rename to clutter/deprecated/clutter-behaviour-opacity.c
index 91dbb6b5a..5cc3899e2 100644
--- a/clutter/clutter-behaviour-opacity.c
+++ b/clutter/deprecated/clutter-behaviour-opacity.c
@@ -42,8 +42,8 @@
#include
+#include "clutter-behaviour.h"
#include "clutter-behaviour-opacity.h"
-
#include "clutter-private.h"
#include "clutter-debug.h"
diff --git a/clutter/clutter-behaviour-opacity.h b/clutter/deprecated/clutter-behaviour-opacity.h
similarity index 98%
rename from clutter/clutter-behaviour-opacity.h
rename to clutter/deprecated/clutter-behaviour-opacity.h
index aa38ddb9b..b6519aab8 100644
--- a/clutter/clutter-behaviour-opacity.h
+++ b/clutter/deprecated/clutter-behaviour-opacity.h
@@ -30,8 +30,7 @@
#ifndef __CLUTTER_BEHAVIOUR_OPACITY_H__
#define __CLUTTER_BEHAVIOUR_OPACITY_H__
-#include
-#include
+#include
G_BEGIN_DECLS
diff --git a/clutter/clutter-behaviour-path.c b/clutter/deprecated/clutter-behaviour-path.c
similarity index 99%
rename from clutter/clutter-behaviour-path.c
rename to clutter/deprecated/clutter-behaviour-path.c
index 8b271f50f..30c5380f7 100644
--- a/clutter/clutter-behaviour-path.c
+++ b/clutter/deprecated/clutter-behaviour-path.c
@@ -67,8 +67,8 @@
#include "config.h"
#endif
+#include "clutter-behaviour.h"
#include "clutter-behaviour-path.h"
-
#include "clutter-bezier.h"
#include "clutter-debug.h"
#include "clutter-enum-types.h"
diff --git a/clutter/clutter-behaviour-path.h b/clutter/deprecated/clutter-behaviour-path.h
similarity index 98%
rename from clutter/clutter-behaviour-path.h
rename to clutter/deprecated/clutter-behaviour-path.h
index 731aebddf..fe15c3e50 100644
--- a/clutter/clutter-behaviour-path.h
+++ b/clutter/deprecated/clutter-behaviour-path.h
@@ -30,8 +30,7 @@
#ifndef __CLUTTER_BEHAVIOUR_PATH_H__
#define __CLUTTER_BEHAVIOUR_PATH_H__
-#include
-#include
+#include
#include
G_BEGIN_DECLS
diff --git a/clutter/clutter-behaviour-rotate.c b/clutter/deprecated/clutter-behaviour-rotate.c
similarity index 99%
rename from clutter/clutter-behaviour-rotate.c
rename to clutter/deprecated/clutter-behaviour-rotate.c
index faeb30cd7..0ab5da67c 100644
--- a/clutter/clutter-behaviour-rotate.c
+++ b/clutter/deprecated/clutter-behaviour-rotate.c
@@ -39,10 +39,10 @@
#include "config.h"
#endif
-#include "clutter-behaviour-rotate.h"
-
#include
+#include "clutter-behaviour.h"
+#include "clutter-behaviour-rotate.h"
#include "clutter-debug.h"
#include "clutter-enum-types.h"
#include "clutter-main.h"
diff --git a/clutter/clutter-behaviour-rotate.h b/clutter/deprecated/clutter-behaviour-rotate.h
similarity index 98%
rename from clutter/clutter-behaviour-rotate.h
rename to clutter/deprecated/clutter-behaviour-rotate.h
index c30aef9b5..df880a562 100644
--- a/clutter/clutter-behaviour-rotate.h
+++ b/clutter/deprecated/clutter-behaviour-rotate.h
@@ -28,8 +28,6 @@
#ifndef __CLUTTER_BEHAVIOUR_ROTATE_H__
#define __CLUTTER_BEHAVIOUR_ROTATE_H__
-#include
-#include
#include
G_BEGIN_DECLS
diff --git a/clutter/clutter-behaviour-scale.c b/clutter/deprecated/clutter-behaviour-scale.c
similarity index 99%
rename from clutter/clutter-behaviour-scale.c
rename to clutter/deprecated/clutter-behaviour-scale.c
index 337a4902b..82a3b0e6c 100644
--- a/clutter/clutter-behaviour-scale.c
+++ b/clutter/deprecated/clutter-behaviour-scale.c
@@ -41,8 +41,8 @@
#include
+#include "clutter-behaviour.h"
#include "clutter-behaviour-scale.h"
-
#include "clutter-debug.h"
#include "clutter-main.h"
#include "clutter-private.h"
diff --git a/clutter/clutter-behaviour-scale.h b/clutter/deprecated/clutter-behaviour-scale.h
similarity index 99%
rename from clutter/clutter-behaviour-scale.h
rename to clutter/deprecated/clutter-behaviour-scale.h
index 288b1a73e..3479c7c37 100644
--- a/clutter/clutter-behaviour-scale.h
+++ b/clutter/deprecated/clutter-behaviour-scale.h
@@ -30,7 +30,7 @@
#ifndef __CLUTTER_BEHAVIOUR_SCALE_H__
#define __CLUTTER_BEHAVIOUR_SCALE_H__
-#include
+#include
G_BEGIN_DECLS
diff --git a/clutter/clutter-behaviour.c b/clutter/deprecated/clutter-behaviour.c
similarity index 100%
rename from clutter/clutter-behaviour.c
rename to clutter/deprecated/clutter-behaviour.c
diff --git a/clutter/clutter-behaviour.h b/clutter/deprecated/clutter-behaviour.h
similarity index 97%
rename from clutter/clutter-behaviour.h
rename to clutter/deprecated/clutter-behaviour.h
index 32a596f6b..129c6fb65 100644
--- a/clutter/clutter-behaviour.h
+++ b/clutter/deprecated/clutter-behaviour.h
@@ -30,8 +30,6 @@
#ifndef __CLUTTER_BEHAVIOUR_H__
#define __CLUTTER_BEHAVIOUR_H__
-#include
-#include
#include
G_BEGIN_DECLS
@@ -60,7 +58,6 @@ G_BEGIN_DECLS
(G_TYPE_INSTANCE_GET_CLASS ((obj), \
CLUTTER_TYPE_BEHAVIOUR, ClutterBehaviourClass))
-typedef struct _ClutterBehaviour ClutterBehaviour;
typedef struct _ClutterBehaviourPrivate ClutterBehaviourPrivate;
typedef struct _ClutterBehaviourClass ClutterBehaviourClass;
diff --git a/clutter/clutter-fixed.c b/clutter/deprecated/clutter-fixed.c
similarity index 100%
rename from clutter/clutter-fixed.c
rename to clutter/deprecated/clutter-fixed.c
diff --git a/clutter/clutter-fixed.h b/clutter/deprecated/clutter-fixed.h
similarity index 100%
rename from clutter/clutter-fixed.h
rename to clutter/deprecated/clutter-fixed.h
diff --git a/clutter/clutter-frame-source.c b/clutter/deprecated/clutter-frame-source.c
similarity index 100%
rename from clutter/clutter-frame-source.c
rename to clutter/deprecated/clutter-frame-source.c
diff --git a/clutter/clutter-frame-source.h b/clutter/deprecated/clutter-frame-source.h
similarity index 100%
rename from clutter/clutter-frame-source.h
rename to clutter/deprecated/clutter-frame-source.h
diff --git a/clutter/clutter-score.c b/clutter/deprecated/clutter-score.c
similarity index 100%
rename from clutter/clutter-score.c
rename to clutter/deprecated/clutter-score.c
diff --git a/clutter/clutter-score.h b/clutter/deprecated/clutter-score.h
similarity index 100%
rename from clutter/clutter-score.h
rename to clutter/deprecated/clutter-score.h
diff --git a/clutter/clutter-shader.c b/clutter/deprecated/clutter-shader.c
similarity index 100%
rename from clutter/clutter-shader.c
rename to clutter/deprecated/clutter-shader.c
diff --git a/clutter/clutter-shader.h b/clutter/deprecated/clutter-shader.h
similarity index 100%
rename from clutter/clutter-shader.h
rename to clutter/deprecated/clutter-shader.h
diff --git a/clutter/clutter-timeout-interval.c b/clutter/deprecated/clutter-timeout-interval.c
similarity index 100%
rename from clutter/clutter-timeout-interval.c
rename to clutter/deprecated/clutter-timeout-interval.c
diff --git a/clutter/clutter-timeout-interval.h b/clutter/deprecated/clutter-timeout-interval.h
similarity index 100%
rename from clutter/clutter-timeout-interval.h
rename to clutter/deprecated/clutter-timeout-interval.h
diff --git a/clutter/clutter-timeout-pool.c b/clutter/deprecated/clutter-timeout-pool.c
similarity index 100%
rename from clutter/clutter-timeout-pool.c
rename to clutter/deprecated/clutter-timeout-pool.c
diff --git a/clutter/clutter-timeout-pool.h b/clutter/deprecated/clutter-timeout-pool.h
similarity index 100%
rename from clutter/clutter-timeout-pool.h
rename to clutter/deprecated/clutter-timeout-pool.h
diff --git a/clutter/osx/clutter-event-loop-osx.c b/clutter/osx/clutter-event-loop-osx.c
index 484a88e7f..d8e6dd6e4 100644
--- a/clutter/osx/clutter-event-loop-osx.c
+++ b/clutter/osx/clutter-event-loop-osx.c
@@ -524,8 +524,8 @@ select_thread_start_poll (GPollFD *ufds,
have_new_pollfds = TRUE;
else
{
- if (!((nfds == 1 && poll_fd_index < 0 && g_thread_supported ()) ||
- (nfds == 2 && poll_fd_index >= 0 && g_thread_supported ())))
+ if (!((nfds == 1 && poll_fd_index < 0) ||
+ (nfds == 2 && poll_fd_index >= 0)))
select_thread_set_state (POLLING_RESTART);
}
}
diff --git a/clutter/osx/clutter-stage-osx.c b/clutter/osx/clutter-stage-osx.c
index ecea1476f..f19dbfcb8 100644
--- a/clutter/osx/clutter-stage-osx.c
+++ b/clutter/osx/clutter-stage-osx.c
@@ -135,7 +135,7 @@ clutter_stage_osx_get_wrapper (ClutterStageWindow *stage_window);
- (void)windowDidChangeScreen:(NSNotification *)notification
{
- clutter_redraw(CLUTTER_STAGE(self->stage_osx->wrapper));
+ clutter_stage_ensure_redraw (CLUTTER_STAGE(self->stage_osx->wrapper));
}
@end
diff --git a/clutter/x11/clutter-x11.h b/clutter/x11/clutter-x11.h
index 262a54686..7c50f31cc 100644
--- a/clutter/x11/clutter-x11.h
+++ b/clutter/x11/clutter-x11.h
@@ -107,7 +107,8 @@ XVisualInfo *clutter_x11_get_visual_info (void);
void clutter_x11_set_display (Display * xdpy);
#ifndef CLUTTER_DISABLE_DEPRECATED
-XVisualInfo *clutter_x11_get_stage_visual (ClutterStage *stage) G_GNUC_DEPRECATED;
+CLUTTER_DEPRECATED_FOR(clutter_x11_get_visual_info)
+XVisualInfo *clutter_x11_get_stage_visual (ClutterStage *stage);
#endif
Window clutter_x11_get_stage_window (ClutterStage *stage);
@@ -127,7 +128,8 @@ gboolean clutter_x11_has_event_retrieval (void);
ClutterStage *clutter_x11_get_stage_from_window (Window win);
#ifndef CLUTTER_DISABLE_DEPRECATED
-const GSList* clutter_x11_get_input_devices (void) G_GNUC_DEPRECATED;
+CLUTTER_DEPRECATED_FOR(clutter_device_manager_peek_devices)
+const GSList* clutter_x11_get_input_devices (void);
#endif
void clutter_x11_enable_xinput (void);
diff --git a/configure.ac b/configure.ac
index 091f1f690..2ec33ea13 100644
--- a/configure.ac
+++ b/configure.ac
@@ -741,7 +741,7 @@ AS_CASE([$enable_deprecated],
[yes],
[
- CLUTTER_DEPRECATED_CFLAGS=""
+ CLUTTER_DEPRECATED_CFLAGS="-DGLIB_DISABLE_DEPRECATION_WARNINGS -DCLUTTER_DISABLE_DEPRECATION_WARNINGS"
],
[AC_MSG_ERROR([Unknown argument for --enable-deprecated])]
@@ -1013,6 +1013,8 @@ echo "Clutter - $VERSION (${CLUTTER_RELEASE_STATUS})"
echo ""
echo " • Global:"
echo " Prefix: ${prefix}"
+echo " Libdir: ${libdir}"
+echo " Sysconfdir: ${sysconfdir}"
echo " Flavour: ${CLUTTER_WINSYS}"
echo " Target library: ${CLUTTER_WINSYS_LIB}"
diff --git a/doc/reference/clutter/clutter-docs.xml.in b/doc/reference/clutter/clutter-docs.xml.in
index 7a2c7b5cc..472c49ca3 100644
--- a/doc/reference/clutter/clutter-docs.xml.in
+++ b/doc/reference/clutter/clutter-docs.xml.in
@@ -140,20 +140,7 @@
Base classes
-
-
-
-
-
- Behaviours
-
-
-
-
-
-
-
@@ -184,7 +171,6 @@
-
@@ -255,6 +241,20 @@
+
+ Deprecated Classes
+
+
+
+
+
+
+
+
+
+
+
+
Clutter Actors and Objects
diff --git a/doc/reference/clutter/clutter-sections.txt b/doc/reference/clutter/clutter-sections.txt
index 2354712c2..891968bfc 100644
--- a/doc/reference/clutter/clutter-sections.txt
+++ b/doc/reference/clutter/clutter-sections.txt
@@ -428,6 +428,7 @@ clutter_actor_add_action
clutter_actor_add_action_with_name
clutter_actor_remove_action
clutter_actor_remove_action_by_name
+clutter_actor_has_actions
clutter_actor_get_actions
clutter_actor_get_action
clutter_actor_clear_actions
@@ -435,6 +436,7 @@ clutter_actor_add_constraint
clutter_actor_add_constraint_with_name
clutter_actor_remove_constraint
clutter_actor_remove_constraint_by_name
+clutter_actor_has_constraints
clutter_actor_get_constraints
clutter_actor_get_constraint
clutter_actor_clear_constraints
@@ -442,6 +444,7 @@ clutter_actor_add_effect
clutter_actor_add_effect_with_name
clutter_actor_remove_effect
clutter_actor_remove_effect_by_name
+clutter_actor_has_effects
clutter_actor_get_effects
clutter_actor_get_effect
clutter_actor_clear_effects
@@ -1065,6 +1068,7 @@ clutter_event_get_key_code
clutter_event_set_key_unicode
clutter_event_get_key_unicode
clutter_keysym_to_unicode
+clutter_unicode_to_keysym
clutter_event_set_related
@@ -1125,6 +1129,11 @@ clutter_input_device_get_device_coords
clutter_input_device_get_pointer_actor
clutter_input_device_get_pointer_stage
+
+clutter_input_device_grab
+clutter_input_device_ungrab
+clutter_input_device_get_grabbed_actor
+
clutter_input_device_update_from_event
diff --git a/doc/reference/clutter/running-clutter.xml b/doc/reference/clutter/running-clutter.xml
index 1c6879100..94cd2cd66 100644
--- a/doc/reference/clutter/running-clutter.xml
+++ b/doc/reference/clutter/running-clutter.xml
@@ -228,5 +228,102 @@
+
+ Configuration File
+
+ Clutter will look for files named settings.ini
+ located in the /etc/clutter-1.0 and
+ $XDG_CONFIG_HOME/clutter-1.0 directories. These files
+ must be valid key files (see #GKeyFile in the GLib documentation) and may
+ have three sections:
+
+
+
+ Environment
+ The keys in this section map the environment variables
+ honoured by Clutter.
+
+
+ Debug
+ The keys in this section related to the debugging notes
+ that Clutter exposes when compiled with debugging support; similarly to
+ the environment variables and command line arguments related to the
+ debugging notes, Clutter must be compiled with support for these notes
+ in order to use them.
+
+
+ Settings
+ The keys in this section strictly map to the #GObject
+ properties exposed by the #ClutterSettings type; if Clutter is running
+ on an X11 platform, the XSettings manager will take precedence over the
+ values specified in the settings.ini
+ file.
+
+
+
+
+ Keys available for the Environment group
+
+
+
+ ShowFps
+ A boolean value, equivalent to setting
+ CLUTTER_SHOW_FPS
.
+
+
+ DisableMipmappedText
+ A boolean value, equivalent to setting
+ CLUTTER_DISABLE_MIPMAPPED_TEXT
.
+
+
+ UseFuzzyPicking
+ A boolean value, equivalent to setting
+ CLUTTER_FUZZY_PICK
.
+
+
+ EnableAccessibility
+ A boolean value, equivalent to setting
+ CLUTTER_ENABLE_ACCESSIBILITY
.
+
+
+ DefaultFps
+ An integer value, equivalent to setting
+ CLUTTER_DEFAULT_FPS
.
+
+
+ TextDirection
+ A string value, equivalent to setting
+ CLUTTER_TEXT_DIRECTION
.
+
+
+
+
+
+ Keys available for the Debug group
+
+
+
+ Debug
+ A string containing the debugging flags, in the same
+ format that should be used with the CLUTTER_DEBUG
+ environment variable.
+
+
+ PaintDebug
+ A string containing the paint debugging flags, in the same
+ format that should be used with the CLUTTER_PAINT
+ environment variable.
+
+
+ PickDebug
+ A string containing the pick debugging flags, in the same
+ format that should be used with the CLUTTER_PICK
+ environment variable.
+
+
+
+
+
+
diff --git a/tests/interactive/test-stage-read-pixels.c b/tests/interactive/test-stage-read-pixels.c
index 783b22696..b49afc62e 100644
--- a/tests/interactive/test-stage-read-pixels.c
+++ b/tests/interactive/test-stage-read-pixels.c
@@ -79,9 +79,10 @@ on_motion_idle (gpointer user_data)
x + TEX_SIZE / 2 - 1,
y + TEX_SIZE / 2 - 1);
clutter_actor_show (data->box);
+
/* Redraw so that the layouting will be done and the box will be
drawn in the right position */
- clutter_redraw (CLUTTER_STAGE (data->stage));
+ clutter_stage_ensure_redraw (CLUTTER_STAGE (data->stage));
pixels = clutter_stage_read_pixels (CLUTTER_STAGE (data->stage),
x, y,
diff --git a/tests/interactive/test-threads.c b/tests/interactive/test-threads.c
index fd73eafea..72a68a908 100644
--- a/tests/interactive/test-threads.c
+++ b/tests/interactive/test-threads.c
@@ -52,7 +52,7 @@ test_thread_done_idle (gpointer user_data)
return FALSE;
}
-static GStaticPrivate test_thread_data = G_STATIC_PRIVATE_INIT;
+static GPrivate test_thread_data = G_PRIVATE_INIT (test_thread_data_free);
typedef struct
{
@@ -93,7 +93,7 @@ do_something_very_slow (void)
TestThreadData *data;
gint i;
- data = (TestThreadData *) g_static_private_get (&test_thread_data);
+ data = g_private_get (&test_thread_data);
if (data->cancelled)
return;
@@ -124,10 +124,9 @@ do_something_very_slow (void)
static gpointer
test_thread_func (gpointer user_data)
{
- TestThreadData *data;
+ TestThreadData *data = user_data;
- data = user_data;
- g_static_private_set (&test_thread_data, data, NULL);
+ g_private_set (&test_thread_data, data);
do_something_very_slow ();
@@ -162,11 +161,14 @@ on_key_press_event (ClutterStage *stage,
data->label = g_object_ref (count_label);
data->progress = g_object_ref (progress_rect);
data->timeline = g_object_ref (timeline);
- g_thread_create (test_thread_func, data, FALSE, NULL);
+
+ g_thread_new ("counter", test_thread_func, data, FALSE, NULL);
+
return TRUE;
case CLUTTER_KEY_q:
clutter_main_quit ();
+
return TRUE;
default: