1
0
Fork 0

Merge branch 'master' into msvc-support-master

This commit is contained in:
Chun-wei Fan 2011-10-12 14:37:19 +08:00
commit bd991e625b
77 changed files with 1993 additions and 1458 deletions

View file

@ -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,12 +82,11 @@ 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-group.h \
$(srcdir)/clutter-input-device.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,11 +158,9 @@ 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-group.c \
$(srcdir)/clutter-input-device.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 = \

View file

@ -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);

View file

@ -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,

View file

@ -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;

View file

@ -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,

View file

@ -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:
*

View file

@ -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 */

View file

@ -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:
*

View file

@ -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,

View file

@ -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:
*

View file

@ -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 */

View file

@ -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:
*

View file

@ -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

View file

@ -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__ */

View file

@ -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;

View file

@ -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:
*

View file

@ -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:
*

1059
clutter/clutter-enums.h Normal file

File diff suppressed because it is too large Load diff

View file

@ -28,9 +28,8 @@
#ifndef __CLUTTER_EVENT_H__
#define __CLUTTER_EVENT_H__
#include <glib-object.h>
#include <clutter/clutter-input-device.h>
#include <clutter/clutter-types.h>
#include <clutter/clutter-input-device.h>
#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;

View file

@ -28,44 +28,10 @@
#ifndef __CLUTTER_FEATURE_H__
#define __CLUTTER_FEATURE_H__
#include <glib.h>
#include <clutter/clutter-types.h>
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);

View file

@ -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:
*

View file

@ -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__ */

View file

@ -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_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-&gt;callback = callback;
* closure-&gt;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
{
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);
}
else
{
context->pointer_grab_actor = NULL;
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;
}
switch (device->device_type)
{
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.</para></note>
*
* 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,
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,
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)
{
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,20 +2963,20 @@ 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,
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,
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_)

View file

@ -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);

View file

@ -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)",

View file

@ -28,9 +28,8 @@
#ifndef __CLUTTER_PATH_H__
#define __CLUTTER_PATH_H__
#include <glib-object.h>
#include <clutter/clutter-types.h>
#include <cairo.h>
#include <clutter/clutter-types.h>
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;

View file

@ -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 */

View file

@ -29,7 +29,6 @@
#define __CLUTTER_SCRIPT_H__
#include <clutter/clutter-types.h>
#include <clutter/clutter-state.h>
G_BEGIN_DECLS

View file

@ -0,0 +1,16 @@
#ifndef __CLUTTER_SETTINGS_PRIVATE_H__
#define __CLUTTER_SETTINGS_PRIVATE_H__
#include <clutter/clutter-backend-private.h>
#include <clutter/clutter-settings.h>
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__ */

View file

@ -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,6 +190,7 @@ settings_update_font_name (ClutterSettings *self)
{
CLUTTER_NOTE (BACKEND, "New font-name: %s", self->font_name);
if (self->backend != NULL)
g_signal_emit_by_name (self->backend, "font-changed");
}
@ -195,6 +199,7 @@ settings_update_resolution (ClutterSettings *self)
{
CLUTTER_NOTE (BACKEND, "New resolution: %.2f", self->resolution);
if (self->backend != NULL)
g_signal_emit_by_name (self->backend, "resolution-changed");
}
@ -202,6 +207,9 @@ 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,6 +399,7 @@ clutter_settings_dispatch_properties_changed (GObject *gobject,
klass->dispatch_properties_changed (gobject, n_pspecs, pspecs);
/* emit settings-changed just once for multiple properties */
if (self->backend != NULL)
g_signal_emit_by_name (self->backend, "settings-changed");
}
@ -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);
}

View file

@ -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,

View file

@ -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;

View file

@ -25,7 +25,6 @@
#define __CLUTTER_STATE_H__
#include <clutter/clutter-types.h>
#include <clutter/clutter-timeline.h>
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;

View file

@ -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:
*

View file

@ -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:
*

View file

@ -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 */

View file

@ -28,8 +28,7 @@
#ifndef __CLUTTER_TIMELINE_H__
#define __CLUTTER_TIMELINE_H__
#include <glib-object.h>
#include <clutter/clutter-fixed.h>
#include <clutter/clutter-types.h>
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;

View file

@ -28,17 +28,30 @@
#ifndef __CLUTTER_TYPES_H__
#define __CLUTTER_TYPES_H__
#include <glib-object.h>
#include <clutter/clutter-enums.h>
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 #ClutterActor<!-- -->s
*
* 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__ */

View file

@ -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:
*

View file

@ -28,13 +28,14 @@
#ifndef __CLUTTER_UTIL_H__
#define __CLUTTER_UTIL_H__
#include <glib.h>
#include <clutter/clutter-types.h>
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 */

View file

@ -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__ */

View file

@ -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 */

View file

@ -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"

View file

@ -30,8 +30,7 @@
#ifndef __CLUTTER_BEHAVIOUR_DEPTH__
#define __CLUTTER_BEHAVIOUR_DEPTH__
#include <clutter/clutter-actor.h>
#include <clutter/clutter-behaviour.h>
#include <clutter/clutter-types.h>
G_BEGIN_DECLS

View file

@ -50,8 +50,8 @@
#include <math.h>
#include <stdlib.h>
#include "clutter-behaviour.h"
#include "clutter-behaviour-ellipse.h"
#include "clutter-debug.h"
#include "clutter-enum-types.h"
#include "clutter-private.h"

View file

@ -28,9 +28,6 @@
#ifndef __CLUTTER_BEHAVIOUR_ELLIPSE_H__
#define __CLUTTER_BEHAVIOUR_ELLIPSE_H__
#include <clutter/clutter-alpha.h>
#include <clutter/clutter-actor.h>
#include <clutter/clutter-behaviour.h>
#include <clutter/clutter-types.h>
G_BEGIN_DECLS

View file

@ -42,8 +42,8 @@
#include <math.h>
#include "clutter-behaviour.h"
#include "clutter-behaviour-opacity.h"
#include "clutter-private.h"
#include "clutter-debug.h"

View file

@ -30,8 +30,7 @@
#ifndef __CLUTTER_BEHAVIOUR_OPACITY_H__
#define __CLUTTER_BEHAVIOUR_OPACITY_H__
#include <clutter/clutter-alpha.h>
#include <clutter/clutter-behaviour.h>
#include <clutter/clutter-types.h>
G_BEGIN_DECLS

View file

@ -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"

View file

@ -30,8 +30,7 @@
#ifndef __CLUTTER_BEHAVIOUR_PATH_H__
#define __CLUTTER_BEHAVIOUR_PATH_H__
#include <clutter/clutter-alpha.h>
#include <clutter/clutter-behaviour.h>
#include <clutter/clutter-types.h>
#include <clutter/clutter-path.h>
G_BEGIN_DECLS

View file

@ -39,10 +39,10 @@
#include "config.h"
#endif
#include "clutter-behaviour-rotate.h"
#include <math.h>
#include "clutter-behaviour.h"
#include "clutter-behaviour-rotate.h"
#include "clutter-debug.h"
#include "clutter-enum-types.h"
#include "clutter-main.h"

View file

@ -28,8 +28,6 @@
#ifndef __CLUTTER_BEHAVIOUR_ROTATE_H__
#define __CLUTTER_BEHAVIOUR_ROTATE_H__
#include <clutter/clutter-alpha.h>
#include <clutter/clutter-behaviour.h>
#include <clutter/clutter-types.h>
G_BEGIN_DECLS

View file

@ -41,8 +41,8 @@
#include <math.h>
#include "clutter-behaviour.h"
#include "clutter-behaviour-scale.h"
#include "clutter-debug.h"
#include "clutter-main.h"
#include "clutter-private.h"

View file

@ -30,7 +30,7 @@
#ifndef __CLUTTER_BEHAVIOUR_SCALE_H__
#define __CLUTTER_BEHAVIOUR_SCALE_H__
#include <clutter/clutter-behaviour.h>
#include <clutter/clutter-types.h>
G_BEGIN_DECLS

View file

@ -30,8 +30,6 @@
#ifndef __CLUTTER_BEHAVIOUR_H__
#define __CLUTTER_BEHAVIOUR_H__
#include <glib-object.h>
#include <clutter/clutter-alpha.h>
#include <clutter/clutter-types.h>
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;

View file

@ -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);
}
}

View file

@ -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

View file

@ -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);

View file

@ -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}"

View file

@ -140,20 +140,7 @@
<title>Base classes</title>
<xi:include href="xml/clutter-timeline.xml"/>
<xi:include href="xml/clutter-score.xml"/>
<xi:include href="xml/clutter-alpha.xml"/>
<xi:include href="xml/clutter-behaviour.xml"/>
</chapter>
<chapter>
<title>Behaviours</title>
<xi:include href="xml/clutter-behaviour-depth.xml"/>
<xi:include href="xml/clutter-behaviour-ellipse.xml"/>
<xi:include href="xml/clutter-behaviour-opacity.xml"/>
<xi:include href="xml/clutter-behaviour-path.xml"/>
<xi:include href="xml/clutter-behaviour-rotate.xml"/>
<xi:include href="xml/clutter-behaviour-scale.xml"/>
</chapter>
<chapter>
@ -184,7 +171,6 @@
<xi:include href="xml/clutter-main.xml"/>
<xi:include href="xml/clutter-path.xml"/>
<xi:include href="xml/clutter-settings.xml"/>
<xi:include href="xml/clutter-shader.xml"/>
<xi:include href="xml/clutter-stage-manager.xml"/>
<xi:include href="xml/clutter-units.xml"/>
<xi:include href="xml/clutter-util.xml"/>
@ -255,6 +241,20 @@
</part>
<part id="deprecated">
<title>Deprecated Classes</title>
<xi:include href="xml/clutter-score.xml"/>
<xi:include href="xml/clutter-shader.xml"/>
<xi:include href="xml/clutter-behaviour.xml"/>
<xi:include href="xml/clutter-behaviour-depth.xml"/>
<xi:include href="xml/clutter-behaviour-ellipse.xml"/>
<xi:include href="xml/clutter-behaviour-opacity.xml"/>
<xi:include href="xml/clutter-behaviour-path.xml"/>
<xi:include href="xml/clutter-behaviour-rotate.xml"/>
<xi:include href="xml/clutter-behaviour-scale.xml"/>
</part>
<part id="clutterobjects">
<title>Clutter Actors and Objects</title>

View file

@ -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
<SUBSECTION>
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
<SUBSECTION>
clutter_input_device_grab
clutter_input_device_ungrab
clutter_input_device_get_grabbed_actor
<SUBSECTION>
clutter_input_device_update_from_event

View file

@ -228,5 +228,102 @@
</section>
<section id="configuration-file">
<title>Configuration File</title>
<para>Clutter will look for files named <filename>settings.ini</filename>
located in the <filename>/etc/clutter-1.0</filename> and
<filename>$XDG_CONFIG_HOME/clutter-1.0</filename> directories. These files
must be valid key files (see #GKeyFile in the GLib documentation) and may
have three sections:</para>
<variablelist>
<varlistentry>
<term>Environment</term>
<listitem><para>The keys in this section map the environment variables
honoured by Clutter.</para></listitem>
</varlistentry>
<varlistentry>
<term>Debug</term>
<listitem><para>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.</para></listitem>
</varlistentry>
<varlistentry>
<term>Settings</term>
<listitem><para>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 <filename>settings.ini</filename>
file.</para></listitem>
</varlistentry>
</variablelist>
<section id="configuration-keys-environment">
<title>Keys available for the Environment group</title>
<variablelist>
<varlistentry>
<term>ShowFps</term>
<listitem><para>A boolean value, equivalent to setting
<code>CLUTTER_SHOW_FPS</code>.</para></listitem>
</varlistentry>
<varlistentry>
<term>DisableMipmappedText</term>
<listitem><para>A boolean value, equivalent to setting
<code>CLUTTER_DISABLE_MIPMAPPED_TEXT</code>.</para></listitem>
</varlistentry>
<varlistentry>
<term>UseFuzzyPicking</term>
<listitem><para>A boolean value, equivalent to setting
<code>CLUTTER_FUZZY_PICK</code>.</para></listitem>
</varlistentry>
<varlistentry>
<term>EnableAccessibility</term>
<listitem><para>A boolean value, equivalent to setting
<code>CLUTTER_ENABLE_ACCESSIBILITY</code>.</para></listitem>
</varlistentry>
<varlistentry>
<term>DefaultFps</term>
<listitem><para>An integer value, equivalent to setting
<code>CLUTTER_DEFAULT_FPS</code>.</para></listitem>
</varlistentry>
<varlistentry>
<term>TextDirection</term>
<listitem><para>A string value, equivalent to setting
<code>CLUTTER_TEXT_DIRECTION</code>.</para></listitem>
</varlistentry>
</variablelist>
</section>
<section id="configuration-keys-debug">
<title>Keys available for the Debug group</title>
<variablelist>
<varlistentry>
<term>Debug</term>
<listitem><para>A string containing the debugging flags, in the same
format that should be used with the <code>CLUTTER_DEBUG</code>
environment variable.</para></listitem>
</varlistentry>
<varlistentry>
<term>PaintDebug</term>
<listitem><para>A string containing the paint debugging flags, in the same
format that should be used with the <code>CLUTTER_PAINT</code>
environment variable.</para></listitem>
</varlistentry>
<varlistentry>
<term>PickDebug</term>
<listitem><para>A string containing the pick debugging flags, in the same
format that should be used with the <code>CLUTTER_PICK</code>
environment variable.</para></listitem>
</varlistentry>
</variablelist>
</section>
</section>
</partintro>
</part>

View file

@ -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,

View file

@ -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: