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: