[mutter] clutter: Remove deprecated 'ClutterState'
- From: Georges Basile Stavracas Neto <gbsneto src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [mutter] clutter: Remove deprecated 'ClutterState'
- Date: Thu, 7 May 2020 20:23:08 +0000 (UTC)
commit a55a286b1518712b5de7e4a3d2dcd2e252e30ad6
Author: Jonas Ã…dahl <jadahl gmail com>
Date: Thu Apr 9 13:30:24 2020 +0200
clutter: Remove deprecated 'ClutterState'
https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/1192
clutter/clutter/clutter-deprecated.h | 1 -
clutter/clutter/clutter-script.c | 229 +--
clutter/clutter/clutter-script.h | 9 -
clutter/clutter/clutter-types.h | 1 -
clutter/clutter/deprecated/clutter-state.c | 1760 --------------------
clutter/clutter/deprecated/clutter-state.h | 147 --
clutter/clutter/meson.build | 2 -
.../clutter/conform/scripts/test-state-1.json | 33 -
src/tests/clutter/conform/state.c | 87 -
src/tests/clutter/interactive/meson.build | 2 -
.../clutter/interactive/test-script-signals.json | 68 -
src/tests/clutter/interactive/test-state.c | 213 ---
src/tests/clutter/performance/meson.build | 5 -
src/tests/clutter/performance/test-state-hidden.c | 150 --
.../clutter/performance/test-state-interactive.c | 195 ---
src/tests/clutter/performance/test-state-mini.c | 154 --
src/tests/clutter/performance/test-state-pick.c | 160 --
src/tests/clutter/performance/test-state.c | 159 --
18 files changed, 1 insertion(+), 3374 deletions(-)
---
diff --git a/clutter/clutter/clutter-deprecated.h b/clutter/clutter/clutter-deprecated.h
index e793c3f6b..1eb2d4ac8 100644
--- a/clutter/clutter/clutter-deprecated.h
+++ b/clutter/clutter/clutter-deprecated.h
@@ -11,7 +11,6 @@
#include "deprecated/clutter-group.h"
#include "deprecated/clutter-rectangle.h"
#include "deprecated/clutter-stage.h"
-#include "deprecated/clutter-state.h"
#include "deprecated/clutter-timeline.h"
#undef __CLUTTER_DEPRECATED_H_INSIDE__
diff --git a/clutter/clutter/clutter-script.c b/clutter/clutter/clutter-script.c
index c3221c8f2..9c79f26c1 100644
--- a/clutter/clutter/clutter-script.c
+++ b/clutter/clutter/clutter-script.c
@@ -98,49 +98,6 @@
* respectively) and the "object" string member for calling
* g_signal_connect_object() instead of g_signal_connect().
*
- * Signals can also be directly attached to a specific state defined
- * inside a #ClutterState instance, for instance:
- *
- * |[
- * ...
- * "signals" : [
- * {
- * "name" : "enter-event",
- * "states" : "button-states",
- * "target-state" : "hover"
- * },
- * {
- * "name" : "leave-event",
- * "states" : "button-states",
- * "target-state" : "base"
- * },
- * {
- * "name" : "button-press-event",
- * "states" : "button-states",
- * "target-state" : "active",
- * },
- * {
- * "name" : "key-press-event",
- * "states" : "button-states",
- * "target-state" : "key-focus",
- * "warp" : true
- * }
- * ],
- * ...
- * ]|
- *
- * The "states" key defines the #ClutterState instance to be used to
- * resolve the "target-state" key; it can be either a script id for a
- * #ClutterState built by the same #ClutterScript instance, or to a
- * #ClutterState built in code and associated to the #ClutterScript
- * instance through the clutter_script_add_states() function. If no
- * "states" key is present, then the default #ClutterState associated to
- * the #ClutterScript instance will be used; the default #ClutterState
- * can be set using clutter_script_add_states() using a %NULL name. The
- * "warp" key can be used to warp to a specific state instead of
- * animating to it. State changes on signal emission will not affect
- * the signal emission chain.
- *
* Clutter reserves the following names, so classes defining properties
* through the usual GObject registration process should avoid using these
* names to avoid collisions:
@@ -186,7 +143,6 @@
#include "deprecated/clutter-alpha.h"
#include "deprecated/clutter-container.h"
-#include "deprecated/clutter-state.h"
enum
{
@@ -210,8 +166,6 @@ struct _ClutterScriptPrivate
ClutterScriptParser *parser;
- GHashTable *states;
-
gchar **search_paths;
gchar *translation_domain;
@@ -264,7 +218,6 @@ signal_info_free (gpointer data)
g_free (sinfo->name);
g_free (sinfo->handler);
g_free (sinfo->object);
- g_free (sinfo->state);
g_free (sinfo->target);
g_slice_free (SignalInfo, sinfo);
@@ -319,7 +272,6 @@ clutter_script_finalize (GObject *gobject)
g_hash_table_destroy (priv->objects);
g_strfreev (priv->search_paths);
g_free (priv->filename);
- g_hash_table_destroy (priv->states);
g_free (priv->translation_domain);
G_OBJECT_CLASS (clutter_script_parent_class)->finalize (gobject);
@@ -454,9 +406,6 @@ clutter_script_init (ClutterScript *script)
priv->objects = g_hash_table_new_full (g_str_hash, g_str_equal,
NULL,
object_info_free);
- priv->states = g_hash_table_new_full (g_str_hash, g_str_equal,
- g_free,
- (GDestroyNotify) g_object_unref);
}
/**
@@ -972,65 +921,12 @@ clutter_script_connect_signals (ClutterScript *script,
g_free (cd);
}
-typedef struct {
- ClutterState *state;
- GObject *emitter;
- gchar *target;
- gulong signal_id;
- gulong hook_id;
- gboolean warp_to;
-} HookData;
-
typedef struct {
ClutterScript *script;
ClutterScriptConnectFunc func;
gpointer user_data;
} SignalConnectData;
-static void
-hook_data_free (gpointer data)
-{
- if (G_LIKELY (data != NULL))
- {
- HookData *hook_data = data;
-
- g_free (hook_data->target);
- g_slice_free (HookData, hook_data);
- }
-}
-
-static gboolean
-clutter_script_state_change_hook (GSignalInvocationHint *ihint,
- guint n_params,
- const GValue *params,
- gpointer user_data)
-{
- HookData *hook_data = user_data;
- GObject *emitter;
-
- emitter = g_value_get_object (¶ms[0]);
-
- if (emitter == hook_data->emitter)
- {
- if (hook_data->warp_to)
- clutter_state_warp_to_state (hook_data->state, hook_data->target);
- else
- clutter_state_set_state (hook_data->state, hook_data->target);
- }
-
- return TRUE;
-}
-
-static void
-clutter_script_remove_state_change_hook (gpointer user_data,
- GObject *object_p)
-{
- HookData *hook_data = user_data;
-
- g_signal_remove_emission_hook (hook_data->signal_id,
- hook_data->hook_id);
-}
-
static void
connect_each_object (gpointer key,
gpointer value,
@@ -1070,64 +966,7 @@ connect_each_object (gpointer key,
}
else
{
- GObject *state_object = NULL;
- const gchar *signal_name, *signal_detail;
- gchar **components;
- GQuark signal_quark;
- guint signal_id;
- HookData *hook_data;
-
- if (sinfo->state == NULL)
- state_object = (GObject *) clutter_script_get_states (script, NULL);
- else
- {
- state_object = clutter_script_get_object (script, sinfo->state);
- if (state_object == NULL)
- state_object = (GObject *) clutter_script_get_states (script, sinfo->state);
- }
-
- if (state_object == NULL)
- continue;
-
- components = g_strsplit (sinfo->name, "::", 2);
- if (g_strv_length (components) == 2)
- {
- signal_name = components[0];
- signal_detail = components[1];
- }
- else
- {
- signal_name = components[0];
- signal_detail = NULL;
- }
-
- signal_id = g_signal_lookup (signal_name, G_OBJECT_TYPE (object));
- if (signal_id == 0)
- {
- g_strfreev (components);
- continue;
- }
-
- if (signal_detail != NULL)
- signal_quark = g_quark_from_string (signal_detail);
- else
- signal_quark = 0;
-
- hook_data = g_slice_new (HookData);
- hook_data->emitter = object;
- hook_data->state = CLUTTER_STATE (state_object);
- hook_data->target = g_strdup (sinfo->target);
- hook_data->warp_to = sinfo->warp_to;
- hook_data->signal_id = signal_id;
- hook_data->hook_id =
- g_signal_add_emission_hook (signal_id, signal_quark,
- clutter_script_state_change_hook,
- hook_data,
- hook_data_free);
-
- g_object_weak_ref (hook_data->emitter,
- clutter_script_remove_state_change_hook,
- hook_data);
+ g_warn_if_reached ();
}
signal_info_free (sinfo);
@@ -1352,72 +1191,6 @@ clutter_script_list_objects (ClutterScript *script)
return retval;
}
-/**
- * clutter_script_add_states:
- * @script: a #ClutterScript
- * @name: (allow-none): a name for the @state, or %NULL to
- * set the default #ClutterState
- * @state: a #ClutterState
- *
- * Associates a #ClutterState to the #ClutterScript instance using the given
- * name.
- *
- * The #ClutterScript instance will use @state to resolve target states when
- * connecting signal handlers.
- *
- * The #ClutterScript instance will take a reference on the #ClutterState
- * passed to this function.
- *
- * Since: 1.8
- *
- * Deprecated: 1.12
- */
-void
-clutter_script_add_states (ClutterScript *script,
- const gchar *name,
- ClutterState *state)
-{
- g_return_if_fail (CLUTTER_IS_SCRIPT (script));
- g_return_if_fail (CLUTTER_IS_STATE (state));
-
- if (name == NULL || *name == '\0')
- name = "__clutter_script_default_state";
-
- g_hash_table_replace (script->priv->states,
- g_strdup (name),
- g_object_ref (state));
-}
-
-/**
- * clutter_script_get_states:
- * @script: a #ClutterScript
- * @name: (allow-none): the name of the #ClutterState, or %NULL
- *
- * Retrieves the #ClutterState for the given @state_name.
- *
- * If @name is %NULL, this function will return the default
- * #ClutterState instance.
- *
- * Return value: (transfer none): a pointer to the #ClutterState for the
- * given name. The #ClutterState is owned by the #ClutterScript instance
- * and it should not be unreferenced
- *
- * Since: 1.8
- *
- * Deprecated: 1.12
- */
-ClutterState *
-clutter_script_get_states (ClutterScript *script,
- const gchar *name)
-{
- g_return_val_if_fail (CLUTTER_IS_SCRIPT (script), NULL);
-
- if (name == NULL || *name == '\0')
- name = "__clutter_script_default_state";
-
- return g_hash_table_lookup (script->priv->states, name);
-}
-
/**
* clutter_script_set_translation_domain:
* @script: a #ClutterScript
diff --git a/clutter/clutter/clutter-script.h b/clutter/clutter/clutter-script.h
index a2ad3721b..ca07a6810 100644
--- a/clutter/clutter/clutter-script.h
+++ b/clutter/clutter/clutter-script.h
@@ -179,15 +179,6 @@ void clutter_script_unmerge_objects (ClutterScript
CLUTTER_EXPORT
void clutter_script_ensure_objects (ClutterScript *script);
-CLUTTER_DEPRECATED
-void clutter_script_add_states (ClutterScript *script,
- const gchar *name,
- ClutterState *state);
-
-CLUTTER_DEPRECATED
-ClutterState * clutter_script_get_states (ClutterScript *script,
- const gchar *name);
-
CLUTTER_EXPORT
void clutter_script_connect_signals (ClutterScript *script,
gpointer user_data);
diff --git a/clutter/clutter/clutter-types.h b/clutter/clutter/clutter-types.h
index 05c51b603..cf6a3ced2 100644
--- a/clutter/clutter/clutter-types.h
+++ b/clutter/clutter/clutter-types.h
@@ -81,7 +81,6 @@ typedef struct _ClutterPerspective ClutterPerspective;
typedef struct _ClutterAlpha ClutterAlpha;
typedef struct _ClutterAnimation ClutterAnimation;
-typedef struct _ClutterState ClutterState;
typedef struct _ClutterInputDeviceTool ClutterInputDeviceTool;
typedef struct _ClutterInputDevice ClutterInputDevice;
diff --git a/clutter/clutter/meson.build b/clutter/clutter/meson.build
index 1ae788338..c8e582eed 100644
--- a/clutter/clutter/meson.build
+++ b/clutter/clutter/meson.build
@@ -226,7 +226,6 @@ clutter_deprecated_headers = [
'deprecated/clutter-group.h',
'deprecated/clutter-rectangle.h',
'deprecated/clutter-stage.h',
- 'deprecated/clutter-state.h',
'deprecated/clutter-timeline.h',
]
@@ -236,7 +235,6 @@ clutter_deprecated_sources = [
'deprecated/clutter-box.c',
'deprecated/clutter-group.c',
'deprecated/clutter-rectangle.c',
- 'deprecated/clutter-state.c',
]
clutter_backend_sources = []
diff --git a/src/tests/clutter/interactive/meson.build b/src/tests/clutter/interactive/meson.build
index c22970722..59aead635 100644
--- a/src/tests/clutter/interactive/meson.build
+++ b/src/tests/clutter/interactive/meson.build
@@ -21,7 +21,6 @@ clutter_tests_interactive_test_sources = [
'test-script.c',
'test-grab.c',
'test-cogl-shader-glsl.c',
- 'test-state.c',
'test-cogl-tex-tile.c',
'test-cogl-tex-convert.c',
'test-cogl-offscreen.c',
@@ -40,7 +39,6 @@ clutter_tests_interactive_test_sources = [
'test-swipe-action.c',
'test-cogl-point-sprites.c',
'test-path-constraint.c',
- 'test-state-script.c',
'test-devices.c',
'test-content.c',
'test-keyframe-transition.c',
diff --git a/src/tests/clutter/performance/meson.build b/src/tests/clutter/performance/meson.build
index ee092bb04..a8eef886b 100644
--- a/src/tests/clutter/performance/meson.build
+++ b/src/tests/clutter/performance/meson.build
@@ -11,11 +11,6 @@ clutter_tests_performance_c_args += clutter_debug_c_args
clutter_tests_performance_tests = [
'test-picking',
'test-text-perf',
- 'test-state',
- 'test-state-interactive',
- 'test-state-hidden',
- 'test-state-mini',
- 'test-state-pick',
]
foreach test : clutter_tests_performance_tests
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]