diff --git a/clutter/clutter/clutter-deprecated.h b/clutter/clutter/clutter-deprecated.h index c5bc5d0ea..f13d0cf28 100644 --- a/clutter/clutter/clutter-deprecated.h +++ b/clutter/clutter/clutter-deprecated.h @@ -8,7 +8,6 @@ #include "deprecated/clutter-animatable.h" #include "deprecated/clutter-animation.h" #include "deprecated/clutter-behaviour.h" -#include "deprecated/clutter-behaviour-scale.h" #include "deprecated/clutter-bin-layout.h" #include "deprecated/clutter-box.h" #include "deprecated/clutter-cairo-texture.h" diff --git a/clutter/clutter/deprecated/clutter-behaviour-scale.c b/clutter/clutter/deprecated/clutter-behaviour-scale.c deleted file mode 100644 index 85202430c..000000000 --- a/clutter/clutter/deprecated/clutter-behaviour-scale.c +++ /dev/null @@ -1,437 +0,0 @@ -/* - * Clutter. - * - * An OpenGL based 'interactive canvas' library. - * - * Authored By Matthew Allum - * - * Copyright (C) 2006 OpenedHand - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library. If not, see . - */ - -/** - * SECTION:clutter-behaviour-scale - * @Title: ClutterBehaviourScale - * @short_description: A behaviour controlling scale - * @Deprecated: 1.6: Use clutter_actor_animate() with #ClutterActor:scale-x - * and #ClutterActor:scale-y instead. - * - * A #ClutterBehaviourScale interpolates actors size between two values. - * - * Deprecated: 1.6: Use the #ClutterActor:scale-x and #ClutterActor:scale-y - * properties, and clutter_actor_animate(), or #ClutterAnimator or - * #ClutterState instead. - */ - -#include "clutter-build-config.h" - -#include - -#define CLUTTER_DISABLE_DEPRECATION_WARNINGS -#include "deprecated/clutter-actor.h" - -#include "clutter-alpha.h" -#include "clutter-behaviour.h" -#include "clutter-behaviour-scale.h" -#include "clutter-debug.h" -#include "clutter-main.h" -#include "clutter-private.h" - -struct _ClutterBehaviourScalePrivate -{ - gdouble x_scale_start; - gdouble y_scale_start; - - gdouble x_scale_end; - gdouble y_scale_end; -}; - -enum -{ - PROP_0, - - PROP_X_SCALE_START, - PROP_Y_SCALE_START, - PROP_X_SCALE_END, - PROP_Y_SCALE_END, - - PROP_LAST -}; - -static GParamSpec *obj_props[PROP_LAST]; - -G_DEFINE_TYPE_WITH_PRIVATE (ClutterBehaviourScale, - clutter_behaviour_scale, - CLUTTER_TYPE_BEHAVIOUR) - -typedef struct { - gdouble scale_x; - gdouble scale_y; -} ScaleFrameClosure; - -static void -scale_frame_foreach (ClutterBehaviour *behaviour, - ClutterActor *actor, - gpointer data) -{ - ScaleFrameClosure *closure = data; - - clutter_actor_set_scale (actor, closure->scale_x, closure->scale_y); -} - -static void -clutter_behaviour_scale_alpha_notify (ClutterBehaviour *behave, - gdouble alpha_value) -{ - ClutterBehaviourScalePrivate *priv; - ScaleFrameClosure closure = { 0, }; - - priv = CLUTTER_BEHAVIOUR_SCALE (behave)->priv; - - /* Fix the start/end values, avoids potential rounding errors on large - * values. - */ - if (alpha_value == 1.0) - { - closure.scale_x = priv->x_scale_end; - closure.scale_y = priv->y_scale_end; - } - else if (alpha_value == 0) - { - closure.scale_x = priv->x_scale_start; - closure.scale_y = priv->y_scale_start; - } - else - { - closure.scale_x = (priv->x_scale_end - priv->x_scale_start) - * alpha_value - + priv->x_scale_start; - - closure.scale_y = (priv->y_scale_end - priv->y_scale_start) - * alpha_value - + priv->y_scale_start; - } - - clutter_behaviour_actors_foreach (behave, - scale_frame_foreach, - &closure); -} - -static void -clutter_behaviour_scale_set_property (GObject *gobject, - guint prop_id, - const GValue *value, - GParamSpec *pspec) -{ - ClutterBehaviourScalePrivate *priv; - - priv = CLUTTER_BEHAVIOUR_SCALE (gobject)->priv; - - switch (prop_id) - { - case PROP_X_SCALE_START: - priv->x_scale_start = g_value_get_double (value); - break; - - case PROP_X_SCALE_END: - priv->x_scale_end = g_value_get_double (value); - break; - - case PROP_Y_SCALE_START: - priv->y_scale_start = g_value_get_double (value); - break; - - case PROP_Y_SCALE_END: - priv->y_scale_end = g_value_get_double (value); - break; - - default: - G_OBJECT_WARN_INVALID_PROPERTY_ID (gobject, prop_id, pspec); - break; - } -} - -static void -clutter_behaviour_scale_get_property (GObject *gobject, - guint prop_id, - GValue *value, - GParamSpec *pspec) -{ - ClutterBehaviourScalePrivate *priv; - - priv = CLUTTER_BEHAVIOUR_SCALE (gobject)->priv; - - switch (prop_id) - { - case PROP_X_SCALE_START: - g_value_set_double (value, priv->x_scale_start); - break; - - case PROP_X_SCALE_END: - g_value_set_double (value, priv->x_scale_end); - break; - - case PROP_Y_SCALE_START: - g_value_set_double (value, priv->y_scale_start); - break; - - case PROP_Y_SCALE_END: - g_value_set_double (value, priv->y_scale_end); - break; - - default: - G_OBJECT_WARN_INVALID_PROPERTY_ID (gobject, prop_id, pspec); - break; - } -} - -static void -clutter_behaviour_scale_class_init (ClutterBehaviourScaleClass *klass) -{ - GObjectClass *gobject_class = G_OBJECT_CLASS (klass); - ClutterBehaviourClass *behave_class = CLUTTER_BEHAVIOUR_CLASS (klass); - GParamSpec *pspec = NULL; - - gobject_class->set_property = clutter_behaviour_scale_set_property; - gobject_class->get_property = clutter_behaviour_scale_get_property; - - /** - * ClutterBehaviourScale:x-scale-start: - * - * The initial scaling factor on the X axis for the actors. - * - * Since: 0.6 - * - * Deprecated: 1.6 - */ - pspec = g_param_spec_double ("x-scale-start", - P_("X Start Scale"), - P_("Initial scale on the X axis"), - 0.0, G_MAXDOUBLE, - 1.0, - CLUTTER_PARAM_READWRITE); - obj_props[PROP_X_SCALE_START] = pspec; - g_object_class_install_property (gobject_class, - PROP_X_SCALE_START, - pspec); - /** - * ClutterBehaviourScale:x-scale-end: - * - * The final scaling factor on the X axis for the actors. - * - * Since: 0.6 - * - * Deprecated: 1.6 - */ - pspec = g_param_spec_double ("x-scale-end", - P_("X End Scale"), - P_("Final scale on the X axis"), - 0.0, G_MAXDOUBLE, - 1.0, - CLUTTER_PARAM_READWRITE); - obj_props[PROP_X_SCALE_END] = pspec; - g_object_class_install_property (gobject_class, - PROP_X_SCALE_END, - pspec); - /** - * ClutterBehaviourScale:y-scale-start: - * - * The initial scaling factor on the Y axis for the actors. - * - * Since: 0.6 - * - * Deprecated: 1.6 - */ - pspec = g_param_spec_double ("y-scale-start", - P_("Y Start Scale"), - P_("Initial scale on the Y axis"), - 0.0, G_MAXDOUBLE, - 1.0, - CLUTTER_PARAM_READWRITE); - obj_props[PROP_Y_SCALE_START] = pspec; - g_object_class_install_property (gobject_class, - PROP_Y_SCALE_START, - pspec); - /** - * ClutterBehaviourScale:y-scale-end: - * - * The final scaling factor on the Y axis for the actors. - * - * Since: 0.6 - * - * Deprecated: 1.6 - */ - pspec = g_param_spec_double ("y-scale-end", - P_("Y End Scale"), - P_("Final scale on the Y axis"), - 0.0, G_MAXDOUBLE, - 1.0, - CLUTTER_PARAM_READWRITE); - obj_props[PROP_Y_SCALE_END] = pspec; - g_object_class_install_property (gobject_class, - PROP_Y_SCALE_END, - pspec); - - behave_class->alpha_notify = clutter_behaviour_scale_alpha_notify; -} - -static void -clutter_behaviour_scale_init (ClutterBehaviourScale *self) -{ - ClutterBehaviourScalePrivate *priv; - - self->priv = priv = clutter_behaviour_scale_get_instance_private (self); - - priv->x_scale_start = priv->x_scale_end = 1.0; - priv->y_scale_start = priv->y_scale_end = 1.0; -} - -/** - * clutter_behaviour_scale_new: - * @alpha: (allow-none): a #ClutterAlpha instance, or %NULL - * @x_scale_start: initial scale factor on the X axis - * @y_scale_start: initial scale factor on the Y axis - * @x_scale_end: final scale factor on the X axis - * @y_scale_end: final scale factor on the Y axis - * - * Creates a new #ClutterBehaviourScale instance. - * - * If @alpha is not %NULL, the #ClutterBehaviour will take ownership - * of the #ClutterAlpha instance. In the case when @alpha is %NULL, - * it can be set later with clutter_behaviour_set_alpha(). - * - * Return value: (transfer full): the newly created #ClutterBehaviourScale - * - * Since: 0.2 - * - * Deprecated: 1.6 - */ -ClutterBehaviour * -clutter_behaviour_scale_new (ClutterAlpha *alpha, - gdouble x_scale_start, - gdouble y_scale_start, - gdouble x_scale_end, - gdouble y_scale_end) -{ - g_return_val_if_fail (alpha == NULL || CLUTTER_IS_ALPHA (alpha), NULL); - - return g_object_new (CLUTTER_TYPE_BEHAVIOUR_SCALE, - "alpha", alpha, - "x-scale-start", x_scale_start, - "y-scale-start", y_scale_start, - "x-scale-end", x_scale_end, - "y-scale-end", y_scale_end, - NULL); -} - -/** - * clutter_behaviour_scale_set_bounds: - * @scale: a #ClutterBehaviourScale - * @x_scale_start: initial scale factor on the X axis - * @y_scale_start: initial scale factor on the Y axis - * @x_scale_end: final scale factor on the X axis - * @y_scale_end: final scale factor on the Y axis - * - * Sets the bounds used by scale behaviour. - * - * Since: 0.6 - * - * Deprecated: 1.6 - */ -void -clutter_behaviour_scale_set_bounds (ClutterBehaviourScale *scale, - gdouble x_scale_start, - gdouble y_scale_start, - gdouble x_scale_end, - gdouble y_scale_end) -{ - ClutterBehaviourScalePrivate *priv; - - g_return_if_fail (CLUTTER_IS_BEHAVIOUR_SCALE (scale)); - - priv = scale->priv; - - g_object_freeze_notify (G_OBJECT (scale)); - - if (priv->x_scale_start != x_scale_start) - { - priv->x_scale_start = x_scale_start; - g_object_notify_by_pspec (G_OBJECT (scale), obj_props[PROP_X_SCALE_START]); - } - - if (priv->y_scale_start != y_scale_start) - { - priv->y_scale_start = y_scale_start; - g_object_notify_by_pspec (G_OBJECT (scale), obj_props[PROP_Y_SCALE_START]); - } - - if (priv->x_scale_end != x_scale_end) - { - priv->x_scale_end = x_scale_end; - g_object_notify_by_pspec (G_OBJECT (scale), obj_props[PROP_X_SCALE_END]); - } - - if (priv->y_scale_end != y_scale_end) - { - priv->y_scale_end = y_scale_end; - g_object_notify_by_pspec (G_OBJECT (scale), obj_props[PROP_Y_SCALE_END]); - } - - g_object_thaw_notify (G_OBJECT (scale)); -} - -/** - * clutter_behaviour_scale_get_bounds: - * @scale: a #ClutterBehaviourScale - * @x_scale_start: (out): return location for the initial scale factor on the X - * axis, or %NULL - * @y_scale_start: (out): return location for the initial scale factor on the Y - * axis, or %NULL - * @x_scale_end: (out): return location for the final scale factor on the X axis, - * or %NULL - * @y_scale_end: (out): return location for the final scale factor on the Y axis, - * or %NULL - * - * Retrieves the bounds used by scale behaviour. - * - * Since: 0.4 - * - * Deprecated: 1.6 - */ -void -clutter_behaviour_scale_get_bounds (ClutterBehaviourScale *scale, - gdouble *x_scale_start, - gdouble *y_scale_start, - gdouble *x_scale_end, - gdouble *y_scale_end) -{ - ClutterBehaviourScalePrivate *priv; - - g_return_if_fail (CLUTTER_IS_BEHAVIOUR_SCALE (scale)); - - priv = scale->priv; - - if (x_scale_start) - *x_scale_start = priv->x_scale_start; - - if (x_scale_end) - *x_scale_end = priv->x_scale_end; - - if (y_scale_start) - *y_scale_start = priv->y_scale_start; - - if (y_scale_end) - *y_scale_end = priv->y_scale_end; -} diff --git a/clutter/clutter/deprecated/clutter-behaviour-scale.h b/clutter/clutter/deprecated/clutter-behaviour-scale.h deleted file mode 100644 index 3bf308870..000000000 --- a/clutter/clutter/deprecated/clutter-behaviour-scale.h +++ /dev/null @@ -1,107 +0,0 @@ -/* - * Clutter. - * - * An OpenGL based 'interactive canvas' library. - * - * Authored By Matthew Allum - * Jorn Baayen - * Emmanuele Bassi - * - * Copyright (C) 2006 OpenedHand - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library. If not, see . - */ - -#if !defined(__CLUTTER_H_INSIDE__) && !defined(CLUTTER_COMPILATION) -#error "Only can be included directly." -#endif - -#ifndef __CLUTTER_BEHAVIOUR_SCALE_H__ -#define __CLUTTER_BEHAVIOUR_SCALE_H__ - -#include - -G_BEGIN_DECLS - -#define CLUTTER_TYPE_BEHAVIOUR_SCALE (clutter_behaviour_scale_get_type ()) -#define CLUTTER_BEHAVIOUR_SCALE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), CLUTTER_TYPE_BEHAVIOUR_SCALE, ClutterBehaviourScale)) -#define CLUTTER_BEHAVIOUR_SCALE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), CLUTTER_TYPE_BEHAVIOUR_SCALE, ClutterBehaviourScaleClass)) -#define CLUTTER_IS_BEHAVIOUR_SCALE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), CLUTTER_TYPE_BEHAVIOUR_SCALE)) -#define CLUTTER_IS_BEHAVIOUR_SCALE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), CLUTTER_TYPE_BEHAVIOUR_SCALE)) -#define CLUTTER_BEHAVIOUR_SCALE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), CLUTTER_TYPE_BEHAVIOUR_SCALE, ClutterBehaviourScaleClass)) - -typedef struct _ClutterBehaviourScale ClutterBehaviourScale; -typedef struct _ClutterBehaviourScalePrivate ClutterBehaviourScalePrivate; -typedef struct _ClutterBehaviourScaleClass ClutterBehaviourScaleClass; - -/** - * ClutterBehaviourScale: - * - * The #ClutterBehaviourScale struct contains only private data and - * should be accessed using the provided API - * - * Since: 0.2 - * - * Deprecated: 1.6: Use clutter_actor_animate() with #ClutterActor:scale-x - * and #ClutterActor:scale-y instead. - */ -struct _ClutterBehaviourScale -{ - /*< private >*/ - ClutterBehaviour parent_instance; - - ClutterBehaviourScalePrivate *priv; -}; - -/** - * ClutterBehaviourScaleClass: - * - * The #ClutterBehaviourScaleClass struct contains only private data - * - * Since: 0.2 - * - * Deprecated: 1.6 - */ -struct _ClutterBehaviourScaleClass -{ - /*< private >*/ - ClutterBehaviourClass parent_class; -}; - -CLUTTER_DEPRECATED -GType clutter_behaviour_scale_get_type (void) G_GNUC_CONST; - -CLUTTER_DEPRECATED_FOR(clutter_actor_animate with ClutterActor:scale-x and ClutterActor:scale-y) -ClutterBehaviour *clutter_behaviour_scale_new (ClutterAlpha *alpha, - gdouble x_scale_start, - gdouble y_scale_start, - gdouble x_scale_end, - gdouble y_scale_end); - -CLUTTER_DEPRECATED -void clutter_behaviour_scale_set_bounds (ClutterBehaviourScale *scale, - gdouble x_scale_start, - gdouble y_scale_start, - gdouble x_scale_end, - gdouble y_scale_end); -CLUTTER_DEPRECATED -void clutter_behaviour_scale_get_bounds (ClutterBehaviourScale *scale, - gdouble *x_scale_start, - gdouble *y_scale_start, - gdouble *x_scale_end, - gdouble *y_scale_end); - -G_END_DECLS - -#endif /* __CLUTTER_BEHAVIOUR_SCALE_H__ */ diff --git a/clutter/clutter/meson.build b/clutter/clutter/meson.build index 92470dc50..08a3b6082 100644 --- a/clutter/clutter/meson.build +++ b/clutter/clutter/meson.build @@ -223,7 +223,6 @@ clutter_deprecated_headers = [ 'deprecated/clutter-animatable.h', 'deprecated/clutter-animation.h', 'deprecated/clutter-behaviour.h', - 'deprecated/clutter-behaviour-scale.h', 'deprecated/clutter-bin-layout.h', 'deprecated/clutter-box.h', 'deprecated/clutter-cairo-texture.h', @@ -243,7 +242,6 @@ clutter_deprecated_sources = [ 'deprecated/clutter-alpha.c', 'deprecated/clutter-animation.c', 'deprecated/clutter-behaviour.c', - 'deprecated/clutter-behaviour-scale.c', 'deprecated/clutter-box.c', 'deprecated/clutter-cairo-texture.c', 'deprecated/clutter-group.c', diff --git a/src/tests/clutter/interactive/meson.build b/src/tests/clutter/interactive/meson.build index cc961173c..ae6bda165 100644 --- a/src/tests/clutter/interactive/meson.build +++ b/src/tests/clutter/interactive/meson.build @@ -19,7 +19,6 @@ clutter_tests_interactive_test_sources = [ 'test-texture-async.c', 'test-texture-material.c', 'test-events.c', - 'test-scale.c', 'test-actors.c', 'test-shader-effects.c', 'test-script.c', diff --git a/src/tests/clutter/interactive/test-actors.c b/src/tests/clutter/interactive/test-actors.c index ae12d7a08..4bb0b8636 100644 --- a/src/tests/clutter/interactive/test-actors.c +++ b/src/tests/clutter/interactive/test-actors.c @@ -20,8 +20,6 @@ typedef struct SuperOH gint stage_height; gfloat radius; - ClutterBehaviour *scaler_1; - ClutterBehaviour *scaler_2; ClutterTimeline *timeline; } SuperOH; @@ -155,20 +153,9 @@ stop_and_quit (ClutterActor *stage, clutter_main_quit (); } -static gdouble -my_sine_wave (ClutterAlpha *alpha, - gpointer dummy G_GNUC_UNUSED) -{ - ClutterTimeline *timeline = clutter_alpha_get_timeline (alpha); - gdouble progress = clutter_timeline_get_progress (timeline); - - return sin (progress * G_PI); -} - G_MODULE_EXPORT int test_actors_main (int argc, char *argv[]) { - ClutterAlpha *alpha; SuperOH *oh; gint i; GError *error; @@ -207,12 +194,6 @@ test_actors_main (int argc, char *argv[]) /* fire a callback for frame change */ g_signal_connect (oh->timeline, "new-frame", G_CALLBACK (frame_cb), oh); - /* Set up some behaviours to handle scaling */ - alpha = clutter_alpha_new_with_func (oh->timeline, my_sine_wave, NULL, NULL); - - oh->scaler_1 = clutter_behaviour_scale_new (alpha, 0.5, 0.5, 1.0, 1.0); - oh->scaler_2 = clutter_behaviour_scale_new (alpha, 1.0, 1.0, 0.5, 0.5); - file = g_build_filename (TESTS_DATADIR, "redhand.png", NULL); real_hand = clutter_texture_new_from_file (file, &error); if (real_hand == NULL) @@ -283,11 +264,6 @@ test_actors_main (int argc, char *argv[]) g_signal_connect (oh->hand[i], "destroy", G_CALLBACK (on_hand_destroy), oh); - - if (i % 2) - clutter_behaviour_apply (oh->scaler_1, oh->hand[i]); - else - clutter_behaviour_apply (oh->scaler_2, oh->hand[i]); } /* Add the group to the stage */ @@ -308,8 +284,6 @@ test_actors_main (int argc, char *argv[]) clutter_timeline_stop (oh->timeline); /* clean up */ - g_object_unref (oh->scaler_1); - g_object_unref (oh->scaler_2); g_object_unref (oh->timeline); g_free (oh->hand); g_free (oh); diff --git a/src/tests/clutter/interactive/test-paint-wrapper.c b/src/tests/clutter/interactive/test-paint-wrapper.c index 8f905cd8b..0c64ce6fc 100644 --- a/src/tests/clutter/interactive/test-paint-wrapper.c +++ b/src/tests/clutter/interactive/test-paint-wrapper.c @@ -28,8 +28,6 @@ typedef struct SuperOH gint stage_height; gfloat radius; - ClutterBehaviour *scaler_1; - ClutterBehaviour *scaler_2; ClutterTimeline *timeline; guint frame_id; @@ -143,16 +141,6 @@ frame_cb (ClutterTimeline *timeline, } } -static gdouble -my_sine_wave (ClutterAlpha *alpha, - gpointer dummy G_GNUC_UNUSED) -{ - ClutterTimeline *timeline = clutter_alpha_get_timeline (alpha); - gdouble progress = clutter_timeline_get_progress (timeline); - - return sin (progress * G_PI); -} - static void hand_pre_paint (ClutterActor *actor, gpointer user_data) @@ -208,7 +196,6 @@ stop_and_quit (ClutterActor *actor, G_MODULE_EXPORT int test_paint_wrapper_main (int argc, char *argv[]) { - ClutterAlpha *alpha; ClutterActor *stage; ClutterColor stage_color = { 0x61, 0x64, 0x8c, 0xff }; SuperOH *oh; @@ -260,12 +247,6 @@ test_paint_wrapper_main (int argc, char *argv[]) oh->frame_id = g_signal_connect (oh->timeline, "new-frame", G_CALLBACK (frame_cb), oh); - /* Set up some behaviours to handle scaling */ - alpha = clutter_alpha_new_with_func (oh->timeline, my_sine_wave, NULL, NULL); - - oh->scaler_1 = clutter_behaviour_scale_new (alpha, 0.5, 0.5, 1.0, 1.0); - oh->scaler_2 = clutter_behaviour_scale_new (alpha, 1.0, 1.0, 0.5, 0.5); - real_hand = clutter_texture_new_from_file (TESTS_DATADIR G_DIR_SEPARATOR_S "redhand.png", @@ -334,11 +315,6 @@ test_paint_wrapper_main (int argc, char *argv[]) /* Add to our group group */ clutter_container_add_actor (CLUTTER_CONTAINER (oh->group), oh->hand[i]); - - if (i % 2) - clutter_behaviour_apply (oh->scaler_1, oh->hand[i]); - else - clutter_behaviour_apply (oh->scaler_2, oh->hand[i]); } oh->paint_guards = g_malloc0 (sizeof (gboolean) * n_hands); @@ -359,8 +335,6 @@ test_paint_wrapper_main (int argc, char *argv[]) clutter_main (); - g_object_unref (oh->scaler_1); - g_object_unref (oh->scaler_2); g_object_unref (oh->timeline); g_free (oh->paint_guards); g_free (oh->hand); diff --git a/src/tests/clutter/interactive/test-scale.c b/src/tests/clutter/interactive/test-scale.c deleted file mode 100644 index f885e9ccd..000000000 --- a/src/tests/clutter/interactive/test-scale.c +++ /dev/null @@ -1,125 +0,0 @@ -#include -#include -#include - -static const ClutterGravity gravities[] = { - CLUTTER_GRAVITY_NORTH_EAST, - CLUTTER_GRAVITY_NORTH, - CLUTTER_GRAVITY_NORTH_WEST, - CLUTTER_GRAVITY_WEST, - CLUTTER_GRAVITY_SOUTH_WEST, - CLUTTER_GRAVITY_SOUTH, - CLUTTER_GRAVITY_SOUTH_EAST, - CLUTTER_GRAVITY_EAST, - CLUTTER_GRAVITY_CENTER, - CLUTTER_GRAVITY_NONE -}; - -static gint gindex = 0; -static ClutterActor *label; - -int -test_scale_main (int argc, char *argv[]); - -const char * -test_scale_describe (void); - -static void -set_next_gravity (ClutterActor *actor) -{ - ClutterGravity gravity = gravities[gindex]; - GEnumClass *eclass; - GEnumValue *evalue; - - clutter_actor_move_anchor_point_from_gravity (actor, gravities[gindex]); - - eclass = g_type_class_ref (CLUTTER_TYPE_GRAVITY); - evalue = g_enum_get_value (eclass, gravity); - clutter_text_set_text (CLUTTER_TEXT (label), evalue->value_nick); - g_type_class_unref (eclass); - - if (++gindex >= G_N_ELEMENTS (gravities)) - gindex = 0; -} - -static gdouble -my_ramp_func (ClutterAlpha *alpha, - gpointer unused) -{ - ClutterTimeline *timeline = clutter_alpha_get_timeline (alpha); - - return clutter_timeline_get_progress (timeline); -} - -G_MODULE_EXPORT int -test_scale_main (int argc, char *argv[]) -{ - ClutterActor *stage, *rect; - ClutterColor rect_color = { 0xff, 0xff, 0xff, 0x99 }; - ClutterTimeline *timeline; - ClutterAlpha *alpha; - ClutterBehaviour *behave; - - if (clutter_init (&argc, &argv) != CLUTTER_INIT_SUCCESS) - return 1; - - stage = clutter_stage_new (); - clutter_stage_set_title (CLUTTER_STAGE (stage), "Scaling"); - clutter_actor_set_background_color (stage, CLUTTER_COLOR_Black); - clutter_actor_set_size (stage, 300, 300); - g_signal_connect (stage, "destroy", G_CALLBACK (clutter_main_quit), NULL); - - rect = clutter_rectangle_new_with_color (&rect_color); - clutter_actor_set_size (rect, 100, 100); - clutter_actor_set_position (rect, 100, 100); - - clutter_container_add_actor (CLUTTER_CONTAINER (stage), rect); - - label = clutter_text_new_with_text ("Sans 20px", ""); - clutter_text_set_color (CLUTTER_TEXT (label), CLUTTER_COLOR_White); - clutter_actor_set_position (label, - clutter_actor_get_x (rect), - clutter_actor_get_y (rect) - + clutter_actor_get_height (rect)); - - clutter_container_add_actor (CLUTTER_CONTAINER (stage), label); - - rect_color.alpha = 0xff; - rect = clutter_rectangle_new_with_color (&rect_color); - clutter_actor_set_position (rect, 100, 100); - clutter_actor_set_size (rect, 100, 100); - set_next_gravity (rect); - - clutter_container_add_actor (CLUTTER_CONTAINER (stage), rect); - - timeline = clutter_timeline_new (750); - alpha = clutter_alpha_new_with_func (timeline, - my_ramp_func, - NULL, NULL); - - behave = clutter_behaviour_scale_new (alpha, - 0.0, 0.0, /* scale start */ - 1.0, 1.0); /* scale end */ - - clutter_behaviour_apply (behave, rect); - - clutter_timeline_set_repeat_count (timeline, -1); - g_signal_connect_swapped (timeline, "completed", - G_CALLBACK (set_next_gravity), rect); - clutter_timeline_start (timeline); - - clutter_actor_show_all (stage); - - clutter_main(); - - g_object_unref (timeline); - g_object_unref (behave); - - return EXIT_SUCCESS; -} - -G_MODULE_EXPORT const char * -test_scale_describe (void) -{ - return "Scaling animation and scaling center changes"; -}