From 51ca20e81e372d7621019c457888fae054e03184 Mon Sep 17 00:00:00 2001 From: Emmanuele Bassi Date: Mon, 10 Oct 2011 15:42:36 +0100 Subject: [PATCH 01/30] Cosmetic fixes --- clutter/clutter-main.c | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/clutter/clutter-main.c b/clutter/clutter-main.c index 834731e22..4bb150b93 100644 --- a/clutter/clutter-main.c +++ b/clutter/clutter-main.c @@ -132,11 +132,13 @@ static ClutterTextDirection clutter_text_direction = CLUTTER_TEXT_DIRECTION_LTR; static guint clutter_main_loop_level = 0; static GSList *main_loops = NULL; -guint clutter_debug_flags = 0; /* global clutter debug flag */ +/* debug flags */ +guint clutter_debug_flags = 0; guint clutter_paint_debug_flags = 0; -guint clutter_pick_debug_flags = 0; +guint clutter_pick_debug_flags = 0; -guint clutter_profile_flags = 0; /* global clutter profile flag */ +/* profile flags */ +guint clutter_profile_flags = 0; const guint clutter_major_version = CLUTTER_MAJOR_VERSION; const guint clutter_minor_version = CLUTTER_MINOR_VERSION; @@ -756,7 +758,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 +852,7 @@ _clutter_threads_dispatch_free (gpointer data) * closure->callback = callback; * closure->data = data; * - * return g_add_idle_full (G_PRIORITY_DEFAULT_IDLE, + * return g_idle_add_full (G_PRIORITY_DEFAULT_IDLE, * idle_safe_callback, * closure, * g_free) @@ -962,9 +964,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 +1031,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 +1045,7 @@ clutter_threads_enter (void) void clutter_threads_leave (void) { - if (clutter_threads_unlock) + if (clutter_threads_unlock != NULL) (* clutter_threads_unlock) (); } From 33846dcf4df7443964150d6afe64a165adecc5e6 Mon Sep 17 00:00:00 2001 From: Emmanuele Bassi Date: Mon, 10 Oct 2011 15:48:43 +0100 Subject: [PATCH 02/30] Deprecate clutter_redraw() It's just a badly named proxy to clutter_stage_ensure_redraw(). --- clutter/clutter-main.c | 4 +++- clutter/clutter-main.h | 5 ++++- tests/interactive/test-stage-read-pixels.c | 3 ++- 3 files changed, 9 insertions(+), 3 deletions(-) diff --git a/clutter/clutter-main.c b/clutter/clutter-main.c index 4bb150b93..7ef9edb7e 100644 --- a/clutter/clutter-main.c +++ b/clutter/clutter-main.c @@ -258,6 +258,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) @@ -2299,7 +2301,7 @@ _clutter_process_event_details (ClutterActor *stage, } } -/** +/* * _clutter_process_event * @event: a #ClutterEvent. * diff --git a/clutter/clutter-main.h b/clutter/clutter-main.h index a99a69400..3ddc26387 100644 --- a/clutter/clutter-main.h +++ b/clutter/clutter-main.h @@ -96,7 +96,10 @@ void clutter_main (void); void clutter_main_quit (void); gint clutter_main_level (void); -void clutter_redraw (ClutterStage *stage); +#ifndef CLUTTER_DISABLE_DEPRECATED +void clutter_redraw (ClutterStage *stage) + G_GNUC_DEPRECATED_FOR (clutter_stage_ensure_redraw); +#endif void clutter_do_event (ClutterEvent *event); diff --git a/tests/interactive/test-stage-read-pixels.c b/tests/interactive/test-stage-read-pixels.c index 783b22696..b49afc62e 100644 --- a/tests/interactive/test-stage-read-pixels.c +++ b/tests/interactive/test-stage-read-pixels.c @@ -79,9 +79,10 @@ on_motion_idle (gpointer user_data) x + TEX_SIZE / 2 - 1, y + TEX_SIZE / 2 - 1); clutter_actor_show (data->box); + /* Redraw so that the layouting will be done and the box will be drawn in the right position */ - clutter_redraw (CLUTTER_STAGE (data->stage)); + clutter_stage_ensure_redraw (CLUTTER_STAGE (data->stage)); pixels = clutter_stage_read_pixels (CLUTTER_STAGE (data->stage), x, y, From b6dd306998e626cbc86051dc1237894d515aa3dd Mon Sep 17 00:00:00 2001 From: Emmanuele Bassi Date: Mon, 10 Oct 2011 16:45:20 +0100 Subject: [PATCH 03/30] Clean up grab implementation MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The grab API is a relic of Clutter 0.6, and hasn't been through proper vetting in a *long* time — mostly due to the fact that we don't really like grabs, and point to the ::captured-event as a way to implement "soft grabs" in toolkits and applications. The implementation of full and device grabs uses weak references on actors instead of using the ::destroy signal, which is meant exactly for the case of releasing pointers to actors when they are disposed. The API naming scheme is also fairly broken, especially for device-related grabs. Finally, keyboard device grabs are just not implemented. We can, in one go, clean up this mess and deprecate a bunch of badly named API by introducing generic device grab/ungrab methods on ClutterInputDevice, and re-implement the current API on top of them. --- clutter/clutter-device-manager-private.h | 1 + clutter/clutter-input-device.h | 5 + clutter/clutter-main.c | 270 +++++++++++++++++------ clutter/clutter-main.h | 10 +- 4 files changed, 216 insertions(+), 70 deletions(-) diff --git a/clutter/clutter-device-manager-private.h b/clutter/clutter-device-manager-private.h index 223cdde0f..4ae594008 100644 --- a/clutter/clutter-device-manager-private.h +++ b/clutter/clutter-device-manager-private.h @@ -75,6 +75,7 @@ struct _ClutterInputDevice /* the actor that has a grab in place for the device */ ClutterActor *pointer_grab_actor; + ClutterActor *keyboard_grab_actor; /* the current click count */ gint click_count; diff --git a/clutter/clutter-input-device.h b/clutter/clutter-input-device.h index 7b3a75b7f..012892067 100644 --- a/clutter/clutter-input-device.h +++ b/clutter/clutter-input-device.h @@ -167,6 +167,11 @@ void clutter_input_device_update_from_event (ClutterInputDev ClutterEvent *event, gboolean update_stage); +void clutter_input_device_grab (ClutterInputDevice *device, + ClutterActor *actor); +void clutter_input_device_ungrab (ClutterInputDevice *device); +ClutterActor * clutter_input_device_get_grabbed_actor (ClutterInputDevice *device); + G_END_DECLS #endif /* __CLUTTER_INPUT_DEVICE_H__ */ diff --git a/clutter/clutter-main.c b/clutter/clutter-main.c index 7ef9edb7e..f6f580677 100644 --- a/clutter/clutter-main.c +++ b/clutter/clutter-main.c @@ -2007,14 +2007,27 @@ emit_pointer_event (ClutterEvent *event, } static inline void -emit_keyboard_event (ClutterEvent *event) +emit_keyboard_event (ClutterEvent *event, + ClutterInputDevice *device) { ClutterMainContext *context = _clutter_context_get_default (); - if (context->keyboard_grab_actor == NULL) - emit_event (event, TRUE); + if (context->keyboard_grab_actor == NULL && + (device == NULL || device->keyboard_grab_actor == NULL)) + { + emit_event (event, FALSE); + } else - clutter_actor_event (context->keyboard_grab_actor, event, FALSE); + { + if (context->keyboard_grab_actor != NULL) + { + clutter_actor_event (context->keyboard_grab_actor, event, FALSE); + } + else if (device != NULL && device->keyboard_grab_actor != NULL) + { + clutter_actor_event (context->keyboard_grab_actor, event, FALSE); + } + } } static gboolean @@ -2102,7 +2115,7 @@ _clutter_process_event_details (ClutterActor *stage, } } - emit_keyboard_event (event); + emit_keyboard_event (event, device); } break; @@ -2411,23 +2424,34 @@ clutter_set_default_frame_rate (guint frames_per_sec) static void -on_pointer_grab_weak_notify (gpointer data, - GObject *where_the_object_was) +on_grab_actor_destroy (ClutterActor *actor, + ClutterInputDevice *device) { - ClutterInputDevice *dev = (ClutterInputDevice *)data; - ClutterMainContext *context; - - context = _clutter_context_get_default (); - - if (dev) + if (device == NULL) { - dev->pointer_grab_actor = NULL; - clutter_ungrab_pointer_for_device (dev->id); + ClutterMainContext *context = _clutter_context_get_default (); + + if (context->pointer_grab_actor == actor) + clutter_ungrab_pointer (); + + if (context->keyboard_grab_actor == actor) + clutter_ungrab_keyboard (); + + return; } - else + + switch (device->device_type) { - context->pointer_grab_actor = NULL; - clutter_ungrab_pointer (); + case CLUTTER_POINTER_DEVICE: + device->pointer_grab_actor = NULL; + break; + + case CLUTTER_KEYBOARD_DEVICE: + device->keyboard_grab_actor = NULL; + break; + + default: + g_assert_not_reached (); } } @@ -2446,8 +2470,10 @@ on_pointer_grab_weak_notify (gpointer data, * using the #ClutterActor::captured-event signal should always be the * preferred way to intercept event delivery to reactive actors. * - * If you wish to grab all the pointer events for a specific input device, - * you should use clutter_grab_pointer_for_device(). + * This function should rarely be used. + * + * If a grab is required, you are strongly encouraged to use a specific + * input device by calling clutter_input_device_grab(). * * Since: 0.6 */ @@ -2463,24 +2489,152 @@ clutter_grab_pointer (ClutterActor *actor) if (context->pointer_grab_actor == actor) return; - if (context->pointer_grab_actor) + if (context->pointer_grab_actor != NULL) { - g_object_weak_unref (G_OBJECT (context->pointer_grab_actor), - on_pointer_grab_weak_notify, - NULL); + g_signal_handlers_disconnect_by_func (context->pointer_grab_actor, + G_CALLBACK (on_grab_actor_destroy), + NULL); context->pointer_grab_actor = NULL; } - if (actor) + if (actor != NULL) { context->pointer_grab_actor = actor; - g_object_weak_ref (G_OBJECT (actor), - on_pointer_grab_weak_notify, - NULL); + g_signal_connect (context->pointer_grab_actor, "destroy", + G_CALLBACK (on_grab_actor_destroy), + NULL); } } +/** + * clutter_input_device_grab: + * @device: a #ClutterInputDevice + * @actor: a #ClutterActor + * + * Acquires a grab on @actor for the given @device. + * + * Any event coming from @device will be delivered to @actor, bypassing + * the usual event delivery mechanism, until the grab is released by + * calling clutter_input_device_ungrab(). + * + * The grab is client-side: even if the windowing system used by the Clutter + * backend has the concept of "device grabs", Clutter will not use them. + * + * Only #ClutterInputDevice of types %CLUTTER_POINTER_DEVICE and + * %CLUTTER_KEYBOARD_DEVICE can hold a grab. + * + * Since: 1.10 + */ +void +clutter_input_device_grab (ClutterInputDevice *device, + ClutterActor *actor) +{ + ClutterActor **grab_actor; + + g_return_if_fail (CLUTTER_IS_INPUT_DEVICE (device)); + g_return_if_fail (CLUTTER_IS_ACTOR (actor)); + + switch (device->device_type) + { + case CLUTTER_POINTER_DEVICE: + grab_actor = &(device->pointer_grab_actor); + break; + + case CLUTTER_KEYBOARD_DEVICE: + grab_actor = &(device->keyboard_grab_actor); + break; + + default: + g_critical ("Only pointer and keyboard devices can grab an actor"); + return; + } + + if (*grab_actor != NULL) + { + g_signal_handlers_disconnect_by_func (*grab_actor, + G_CALLBACK (on_grab_actor_destroy), + device); + } + + *grab_actor = actor; + + g_signal_connect (*grab_actor, + "destroy", + G_CALLBACK (on_grab_actor_destroy), + device); +} + +/** + * clutter_input_device_ungrab: + * @device: a #ClutterInputDevice + * + * Releases the grab on the @device, if one is in place. + * + * Since: 1.10 + */ +void +clutter_input_device_ungrab (ClutterInputDevice *device) +{ + ClutterActor **grab_actor; + + g_return_if_fail (CLUTTER_IS_INPUT_DEVICE (device)); + + switch (device->device_type) + { + case CLUTTER_POINTER_DEVICE: + grab_actor = &(device->pointer_grab_actor); + break; + + case CLUTTER_KEYBOARD_DEVICE: + grab_actor = &(device->keyboard_grab_actor); + break; + + default: + return; + } + + if (*grab_actor == NULL) + return; + + g_signal_handlers_disconnect_by_func (*grab_actor, + G_CALLBACK (on_grab_actor_destroy), + device); + + *grab_actor = NULL; +} + +/** + * clutter_input_device_get_grabbed_actor: + * @device: a #ClutterInputDevice + * + * Retrieves a pointer to the #ClutterActor currently grabbing all + * the events coming from @device. + * + * Return value: (transfer none): a #ClutterActor, or %NULL + * + * Since: 1.10 + */ +ClutterActor * +clutter_input_device_get_grabbed_actor (ClutterInputDevice *device) +{ + g_return_val_if_fail (CLUTTER_IS_INPUT_DEVICE (device), NULL); + + switch (device->device_type) + { + case CLUTTER_POINTER_DEVICE: + return device->pointer_grab_actor; + + case CLUTTER_KEYBOARD_DEVICE: + return device->keyboard_grab_actor; + + default: + g_critical ("Only pointer and keyboard devices can grab an actor"); + } + + return NULL; +} + /** * clutter_grab_pointer_for_device: * @actor: a #ClutterActor @@ -2491,6 +2645,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, @@ -2503,7 +2659,11 @@ clutter_grab_pointer_for_device (ClutterActor *actor, /* essentially a global grab */ if (id_ == -1) { - clutter_grab_pointer (actor); + if (actor == NULL) + clutter_ungrab_pointer (); + else + clutter_grab_pointer (actor); + return; } @@ -2511,25 +2671,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); } @@ -2553,6 +2701,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_) @@ -2580,18 +2730,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 @@ -2622,21 +2760,21 @@ clutter_grab_keyboard (ClutterActor *actor) if (context->keyboard_grab_actor == actor) return; - if (context->keyboard_grab_actor) + if (context->keyboard_grab_actor != NULL) { - g_object_weak_unref (G_OBJECT (context->keyboard_grab_actor), - on_keyboard_grab_weak_notify, - NULL); + g_signal_handlers_disconnect_by_func (context->keyboard_grab_actor, + G_CALLBACK (on_grab_actor_destroy), + NULL); context->keyboard_grab_actor = NULL; } - if (actor) + if (actor != NULL) { context->keyboard_grab_actor = actor; - g_object_weak_ref (G_OBJECT (actor), - on_keyboard_grab_weak_notify, - NULL); + g_signal_connect (context->keyboard_grab_actor, "destroy", + G_CALLBACK (on_grab_actor_destroy), + NULL); } } diff --git a/clutter/clutter-main.h b/clutter/clutter-main.h index 3ddc26387..34328e8e4 100644 --- a/clutter/clutter-main.h +++ b/clutter/clutter-main.h @@ -96,7 +96,7 @@ void clutter_main (void); void clutter_main_quit (void); gint clutter_main_level (void); -#ifndef CLUTTER_DISABLE_DEPRECATED +#if !defined(CLUTTER_DISABLE_DEPRECATED) || defined(CLUTTER_COMPILATION) void clutter_redraw (ClutterStage *stage) G_GNUC_DEPRECATED_FOR (clutter_stage_ensure_redraw); #endif @@ -110,7 +110,7 @@ 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) void clutter_threads_init (void); #endif @@ -133,7 +133,7 @@ guint clutter_threads_add_timeout_full (gint priority, gpointer data, GDestroyNotify notify); -#ifndef CLUTTER_DISABLE_DEPRECATED +#if !defined(CLUTTER_DISABLE_DEPRECATED) || defined(CLUTTER_COMPILATION) guint clutter_threads_add_frame_source (guint fps, GSourceFunc func, gpointer data); @@ -149,7 +149,7 @@ 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) void clutter_set_motion_events_enabled (gboolean enable); gboolean clutter_get_motion_events_enabled (void); #endif /* CLUTTER_DISABLE_DEPRECATED */ @@ -171,9 +171,11 @@ ClutterFontFlags clutter_get_font_flags (void); ClutterInputDevice *clutter_get_input_device_for_id (gint id_); +#if !defined(CLUTTER_DISABLE_DEPRECATED) || defined(CLUTTER_COMPILATION) void clutter_grab_pointer_for_device (ClutterActor *actor, gint id_); void clutter_ungrab_pointer_for_device (gint id_); +#endif PangoFontMap * clutter_get_font_map (void); From 522b8be306be2008d4990fcfc6aeee4759e7d00a Mon Sep 17 00:00:00 2001 From: Emmanuele Bassi Date: Mon, 10 Oct 2011 16:57:18 +0100 Subject: [PATCH 04/30] Deprecate clutter_get_input_device_for_id() We have the ClutterDeviceManager methods for that. --- clutter/clutter-main.c | 2 ++ clutter/clutter-main.h | 2 +- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/clutter/clutter-main.c b/clutter/clutter-main.c index f6f580677..f2c5403a6 100644 --- a/clutter/clutter-main.c +++ b/clutter/clutter-main.c @@ -2937,6 +2937,8 @@ clutter_get_font_flags (void) * Return value: (transfer none): a #ClutterInputDevice, or %NULL * * Since: 0.8 + * + * Deprecated: 1.10: Use clutter_device_manager_get_device() instead. */ ClutterInputDevice * clutter_get_input_device_for_id (gint id_) diff --git a/clutter/clutter-main.h b/clutter/clutter-main.h index 34328e8e4..5f0bce130 100644 --- a/clutter/clutter-main.h +++ b/clutter/clutter-main.h @@ -169,9 +169,9 @@ void clutter_clear_glyph_cache (void); void clutter_set_font_flags (ClutterFontFlags flags); ClutterFontFlags clutter_get_font_flags (void); +#if !defined(CLUTTER_DISABLE_DEPRECATED) || defined(CLUTTER_COMPILATION) ClutterInputDevice *clutter_get_input_device_for_id (gint id_); -#if !defined(CLUTTER_DISABLE_DEPRECATED) || defined(CLUTTER_COMPILATION) void clutter_grab_pointer_for_device (ClutterActor *actor, gint id_); void clutter_ungrab_pointer_for_device (gint id_); From 6ef09dd15bbe7e4305c683231d6431771bd3cffc Mon Sep 17 00:00:00 2001 From: Emmanuele Bassi Date: Mon, 10 Oct 2011 17:00:28 +0100 Subject: [PATCH 05/30] Deprecate clutter_clear_glyph_cache() This is a wrapper function for API that has long since been public. --- clutter/clutter-main.c | 3 +++ clutter/clutter-main.h | 3 +++ 2 files changed, 6 insertions(+) diff --git a/clutter/clutter-main.c b/clutter/clutter-main.c index f2c5403a6..bea2e92b2 100644 --- a/clutter/clutter-main.c +++ b/clutter/clutter-main.c @@ -2819,6 +2819,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) diff --git a/clutter/clutter-main.h b/clutter/clutter-main.h index 5f0bce130..ab85e13ad 100644 --- a/clutter/clutter-main.h +++ b/clutter/clutter-main.h @@ -165,7 +165,10 @@ 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) void clutter_clear_glyph_cache (void); +#endif + void clutter_set_font_flags (ClutterFontFlags flags); ClutterFontFlags clutter_get_font_flags (void); From 01080dc5f313fb3d191e78c555c1f04d78aaa83a Mon Sep 17 00:00:00 2001 From: Emmanuele Bassi Date: Mon, 3 Oct 2011 14:12:48 +0100 Subject: [PATCH 06/30] Deprecate clutter_[sg]et_font_flags() MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit We already have two mechanisms for controlling the font rendering quality on a per-application basis: • ClutterSettings properties • clutter_backend_set_font_options() The font flags were always a stop-gap solution, and one that tried to simplify a fairly complex issue beyond the point of actually being useful. https://bugzilla.gnome.org/show_bug.cgi?id=660786 --- clutter/clutter-main.c | 6 ++++++ clutter/clutter-main.h | 3 +-- clutter/clutter-types.h | 2 ++ 3 files changed, 9 insertions(+), 2 deletions(-) diff --git a/clutter/clutter-main.c b/clutter/clutter-main.c index bea2e92b2..4f0a6c89f 100644 --- a/clutter/clutter-main.c +++ b/clutter/clutter-main.c @@ -2846,6 +2846,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) @@ -2897,6 +2900,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) diff --git a/clutter/clutter-main.h b/clutter/clutter-main.h index ab85e13ad..77be12d49 100644 --- a/clutter/clutter-main.h +++ b/clutter/clutter-main.h @@ -167,10 +167,9 @@ ClutterActor * clutter_get_keyboard_grab (void); #if !defined(CLUTTER_DISABLE_DEPRECATED) || defined(CLUTTER_COMPILATION) void clutter_clear_glyph_cache (void); -#endif - void clutter_set_font_flags (ClutterFontFlags flags); ClutterFontFlags clutter_get_font_flags (void); +#endif /* CLUTTER_DISABLE_DEPRECATED */ #if !defined(CLUTTER_DISABLE_DEPRECATED) || defined(CLUTTER_COMPILATION) ClutterInputDevice *clutter_get_input_device_for_id (gint id_); diff --git a/clutter/clutter-types.h b/clutter/clutter-types.h index b1ea2e950..6659e086f 100644 --- a/clutter/clutter-types.h +++ b/clutter/clutter-types.h @@ -429,6 +429,8 @@ typedef enum { * clutter_set_font_flags(). * * Since: 1.0 + * + * Deprecated: 1.10: Use the #ClutterBackend and #cairo_font_options_t instead */ typedef enum { From f5eee5aec7a87a3c8a1f2e658231eca4b04561dd Mon Sep 17 00:00:00 2001 From: Emmanuele Bassi Date: Tue, 11 Oct 2011 14:42:31 +0100 Subject: [PATCH 07/30] Add a configuration file for ClutterSettings ClutterSettings should be able to load its initial state by using configuration files in SYSCONFDIR and XDG_CONFIG_HOME. This allows Clutter to have a system (and user) configuration on platforms that do not have XSETTINGS bridges. --- clutter/Makefile.am | 2 + clutter/clutter-main.c | 42 ++++++++ clutter/clutter-settings-private.h | 16 +++ clutter/clutter-settings.c | 166 ++++++++++++++++++++++++++--- 4 files changed, 214 insertions(+), 12 deletions(-) create mode 100644 clutter/clutter-settings-private.h diff --git a/clutter/Makefile.am b/clutter/Makefile.am index d9b81a8c5..688617d11 100644 --- a/clutter/Makefile.am +++ b/clutter/Makefile.am @@ -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\" \ @@ -240,6 +241,7 @@ 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 \ diff --git a/clutter/clutter-main.c b/clutter/clutter-main.c index 4f0a6c89f..89929095c 100644 --- a/clutter/clutter-main.c +++ b/clutter/clutter-main.c @@ -99,6 +99,7 @@ #include "clutter-master-clock.h" #include "clutter-private.h" #include "clutter-profile.h" +#include "clutter-settings-private.h" #include "clutter-stage-manager.h" #include "clutter-stage-private.h" #include "clutter-version.h" /* For flavour define */ @@ -215,6 +216,35 @@ clutter_threads_init_default (void) clutter_threads_unlock = clutter_threads_impl_unlock; } +#define N_CONF_DIRS 2 + +static void +clutter_config_read (void) +{ + ClutterSettings *settings; + gchar *config_path; + + settings = clutter_settings_get_default (); + + config_path = g_build_filename (CLUTTER_SYSCONFDIR, + "clutter-1.0", + "settings.ini", + NULL); + if (g_file_test (config_path, G_FILE_TEST_EXISTS)) + _clutter_settings_read_from_file (settings, 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_settings_read_from_file (settings, config_path); + + g_free (config_path); +} + /** * clutter_get_show_fps: * @@ -1105,6 +1135,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); @@ -1370,6 +1406,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); diff --git a/clutter/clutter-settings-private.h b/clutter/clutter-settings-private.h new file mode 100644 index 000000000..112f54236 --- /dev/null +++ b/clutter/clutter-settings-private.h @@ -0,0 +1,16 @@ +#ifndef __CLUTTER_SETTINGS_PRIVATE_H__ +#define __CLUTTER_SETTINGS_PRIVATE_H__ + +#include +#include + +G_BEGIN_DECLS + +void _clutter_settings_set_backend (ClutterSettings *settings, + ClutterBackend *backend); +void _clutter_settings_read_from_file (ClutterSettings *settings, + const gchar *file); + +G_END_DECLS + +#endif /* __CLUTTER_SETTINGS_PRIVATE_H__ */ diff --git a/clutter/clutter-settings.c b/clutter/clutter-settings.c index 0bc43d965..ffbc605a9 100644 --- a/clutter/clutter-settings.c +++ b/clutter/clutter-settings.c @@ -118,6 +118,9 @@ settings_update_font_options (ClutterSettings *self) cairo_subpixel_order_t subpixel_order = CAIRO_SUBPIXEL_ORDER_DEFAULT; cairo_font_options_t *options; + if (self->backend == NULL) + return; + options = cairo_font_options_create (); cairo_font_options_set_hint_metrics (options, CAIRO_HINT_METRICS_ON); @@ -187,7 +190,8 @@ settings_update_font_name (ClutterSettings *self) { CLUTTER_NOTE (BACKEND, "New font-name: %s", self->font_name); - g_signal_emit_by_name (self->backend, "font-changed"); + if (self->backend != NULL) + g_signal_emit_by_name (self->backend, "font-changed"); } static void @@ -195,13 +199,17 @@ settings_update_resolution (ClutterSettings *self) { CLUTTER_NOTE (BACKEND, "New resolution: %.2f", self->resolution); - g_signal_emit_by_name (self->backend, "resolution-changed"); + if (self->backend != NULL) + g_signal_emit_by_name (self->backend, "resolution-changed"); } static void settings_update_fontmap (ClutterSettings *self, guint stamp) { + if (self->backend == NULL) + return; + #ifdef HAVE_PANGO_FT2 CLUTTER_NOTE (BACKEND, "Update fontmaps (stamp: %d)", stamp); @@ -391,7 +399,8 @@ clutter_settings_dispatch_properties_changed (GObject *gobject, klass->dispatch_properties_changed (gobject, n_pspecs, pspecs); /* emit settings-changed just once for multiple properties */ - g_signal_emit_by_name (self->backend, "settings-changed"); + if (self->backend != NULL) + g_signal_emit_by_name (self->backend, "settings-changed"); } static void @@ -405,13 +414,17 @@ clutter_settings_class_init (ClutterSettingsClass *klass) * A back pointer to the #ClutterBackend * * Since: 1.4 + * + * Deprecated: 1.10 */ obj_props[PROP_BACKEND] = g_param_spec_object ("backend", "Backend", "A pointer to the backend", CLUTTER_TYPE_BACKEND, - CLUTTER_PARAM_WRITABLE | G_PARAM_CONSTRUCT_ONLY); + CLUTTER_PARAM_WRITABLE | + G_PARAM_DEPRECATED | + G_PARAM_CONSTRUCT_ONLY); /** * ClutterSettings:double-click-time: @@ -656,14 +669,143 @@ 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_file (ClutterSettings *settings, + const gchar *file) +{ + GObjectClass *settings_class; + GObject *settings_obj; + GParamSpec **pspecs; + GKeyFile *keyfile; + GError *error; + guint n_pspecs, i; + + error = NULL; + keyfile = g_key_file_new (); + g_key_file_load_from_file (keyfile, file, G_KEY_FILE_NONE, &error); + if (error != NULL) + { + g_critical ("Unable to read configuration from '%s': %s", + file, + error->message); + g_error_free (error); + goto out; + } + + if (!g_key_file_has_group (keyfile, SETTINGS_GROUP)) + goto out; + + settings_obj = G_OBJECT (settings); + settings_class = G_OBJECT_GET_CLASS (settings); + pspecs = g_object_class_list_properties (settings_class, &n_pspecs); + + CLUTTER_NOTE (BACKEND, "Reading settings from '%s'", file); + + 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: + { + const gchar *val; + + val = g_key_file_get_string (keyfile, + SETTINGS_GROUP, p_name, + &key_error); + g_value_set_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' in '%s': %s", + p_name, + file, + 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); + +out: + g_key_file_free (keyfile); } From 372b39fd63880955d88fe205b7a23c202938e639 Mon Sep 17 00:00:00 2001 From: Emmanuele Bassi Date: Tue, 11 Oct 2011 15:28:47 +0100 Subject: [PATCH 08/30] Add more sections to the Clutter configuration file On top of the existing "Settings" group in the settings.ini file we should have two more groups: Environment - contains all the configuration possible through environment variables Debug - contains all the possible debug variables --- clutter/clutter-main.c | 165 +++++++++++++++++++++++++++-- clutter/clutter-settings-private.h | 4 +- clutter/clutter-settings.c | 28 +---- 3 files changed, 165 insertions(+), 32 deletions(-) diff --git a/clutter/clutter-main.c b/clutter/clutter-main.c index 89929095c..28b285750 100644 --- a/clutter/clutter-main.c +++ b/clutter/clutter-main.c @@ -216,22 +216,175 @@ clutter_threads_init_default (void) clutter_threads_unlock = clutter_threads_impl_unlock; } -#define N_CONF_DIRS 2 +#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; + const 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; + } +} + +#ifdef CLUTTER_ENABLE_DEBUG +static void +clutter_debug_read_from_key_file (GKeyFile *keyfile) +{ + GError *key_error = NULL; + const 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); + + 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); + + 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); +} +#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) { - ClutterSettings *settings; gchar *config_path; - settings = clutter_settings_get_default (); - config_path = g_build_filename (CLUTTER_SYSCONFDIR, "clutter-1.0", "settings.ini", NULL); if (g_file_test (config_path, G_FILE_TEST_EXISTS)) - _clutter_settings_read_from_file (settings, config_path); + clutter_config_read_from_file (config_path); g_free (config_path); @@ -240,7 +393,7 @@ clutter_config_read (void) "settings.ini", NULL); if (g_file_test (config_path, G_FILE_TEST_EXISTS)) - _clutter_settings_read_from_file (settings, config_path); + clutter_config_read_from_file (config_path); g_free (config_path); } diff --git a/clutter/clutter-settings-private.h b/clutter/clutter-settings-private.h index 112f54236..0e1c463f9 100644 --- a/clutter/clutter-settings-private.h +++ b/clutter/clutter-settings-private.h @@ -8,8 +8,8 @@ G_BEGIN_DECLS void _clutter_settings_set_backend (ClutterSettings *settings, ClutterBackend *backend); -void _clutter_settings_read_from_file (ClutterSettings *settings, - const gchar *file); +void _clutter_settings_read_from_key_file (ClutterSettings *settings, + GKeyFile *key_file); G_END_DECLS diff --git a/clutter/clutter-settings.c b/clutter/clutter-settings.c index ffbc605a9..293f6467f 100644 --- a/clutter/clutter-settings.c +++ b/clutter/clutter-settings.c @@ -690,37 +690,21 @@ _clutter_settings_set_backend (ClutterSettings *settings, #define SETTINGS_GROUP "Settings" void -_clutter_settings_read_from_file (ClutterSettings *settings, - const gchar *file) +_clutter_settings_read_from_key_file (ClutterSettings *settings, + GKeyFile *keyfile) { GObjectClass *settings_class; GObject *settings_obj; GParamSpec **pspecs; - GKeyFile *keyfile; - GError *error; guint n_pspecs, i; - error = NULL; - keyfile = g_key_file_new (); - g_key_file_load_from_file (keyfile, file, G_KEY_FILE_NONE, &error); - if (error != NULL) - { - g_critical ("Unable to read configuration from '%s': %s", - file, - error->message); - g_error_free (error); - goto out; - } - if (!g_key_file_has_group (keyfile, SETTINGS_GROUP)) - goto out; + return; settings_obj = G_OBJECT (settings); settings_class = G_OBJECT_GET_CLASS (settings); pspecs = g_object_class_list_properties (settings_class, &n_pspecs); - CLUTTER_NOTE (BACKEND, "Reading settings from '%s'", file); - for (i = 0; i < n_pspecs; i++) { GParamSpec *pspec = pspecs[i]; @@ -790,9 +774,8 @@ _clutter_settings_read_from_file (ClutterSettings *settings, 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' in '%s': %s", + g_critical ("Unable to read the value for setting '%s': %s", p_name, - file, key_error->message); } @@ -805,7 +788,4 @@ _clutter_settings_read_from_file (ClutterSettings *settings, } g_free (pspecs); - -out: - g_key_file_free (keyfile); } From 53e201f86531195ee7391e54f50b39dce45bcca1 Mon Sep 17 00:00:00 2001 From: Emmanuele Bassi Date: Tue, 11 Oct 2011 16:05:24 +0100 Subject: [PATCH 09/30] Show lib and sysconfdir in the configure summary --- configure.ac | 2 ++ 1 file changed, 2 insertions(+) diff --git a/configure.ac b/configure.ac index 279b621a8..a0bce5941 100644 --- a/configure.ac +++ b/configure.ac @@ -1009,6 +1009,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}" From 2d2046f9620a9e6cd0a3a5eb1170073562879ba2 Mon Sep 17 00:00:00 2001 From: Emmanuele Bassi Date: Tue, 11 Oct 2011 17:08:20 +0100 Subject: [PATCH 10/30] docs: Document the settings.ini file Describe the location, groups, and keys of the settings.ini file used by Clutter. --- doc/reference/clutter/running-clutter.xml | 97 +++++++++++++++++++++++ 1 file changed, 97 insertions(+) diff --git a/doc/reference/clutter/running-clutter.xml b/doc/reference/clutter/running-clutter.xml index 1c6879100..3eb743156 100644 --- a/doc/reference/clutter/running-clutter.xml +++ b/doc/reference/clutter/running-clutter.xml @@ -228,5 +228,102 @@ +
+ Configuration File + + Clutter will look for files named settings.ini + located in the /etc/clutter-1.0 and + $XDG_CONFIG_HOME/clutter-1.0 directories. These files + must be valid key files (see #GKeyFile in the GLib documentation) and may + have three sections: + + + + Environment + The keys in this section map the environment variables + honoured by Clutter. + + + Debug + The keys in this section related to the debugging notes + that Clutter exposes when compiled with debugging support; similarly to + the environment variables and command line arguments related to the + debugging notes, Clutter must be compiled with support for these notes + in order to use them. + + + Settings + The keys in this section strictly map to the #GObject + properties exposed by the #ClutterSettings type; if Clutter is running + on an X11 platform, the XSettings manager will take precedence over the + values specified in the settings.ini + file. + + + +
+ Keys available for the Environment group + + + + ShowFps + A boolean value, equivalent to setting + CLUTTER_SHOW_FPS. + + + DisableMipmappedText + A boolean value, equivalent to setting + CLUTTER_DISABLE_MIPMAPPED_TEXT. + + + UseFuzzyPicking + A boolean value, equivalent to setting + CLUTTER_FUZZY_PICK. + + + EnableAccessibility + A boolean value, equivalent to setting + CLUTTER_ENABLE_ACCESSIBILITY. + + + DefaultFps + An integer value, equivalent to setting + CLUTTER_DEFAULT_FPS. + + + TextDirection + A string value, equivalent to setting + CLUTTER_TEXT_DIRECTION. + + +
+ +
+ Keys available for the Debug group + + + + Debug + A string containing the debugging flags, in the same + format that should be used with the CLUTTER_DEBUG + environment variable. + + + PaintDebug + A string containing the paint debugging flags, in the same + format that should be used with the CLUTTER_PAINT + environment variable. + + + PickDebug + A string containing the pick debugging flags, in the same + format that should be used with the CLUTTER_PICK + environment variable. + + +
+ +
+ From 57f54173ecb4b618fb1b48a9c70aa482ce3efe49 Mon Sep 17 00:00:00 2001 From: Emmanuele Bassi Date: Tue, 11 Oct 2011 17:51:14 +0100 Subject: [PATCH 11/30] interactive/threads: Fix up after deprecations The GThread API has undergone a massive restructuring, and the fallout is still being processed. --- tests/interactive/test-threads.c | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/tests/interactive/test-threads.c b/tests/interactive/test-threads.c index fd73eafea..4327d53be 100644 --- a/tests/interactive/test-threads.c +++ b/tests/interactive/test-threads.c @@ -52,7 +52,7 @@ test_thread_done_idle (gpointer user_data) return FALSE; } -static GStaticPrivate test_thread_data = G_STATIC_PRIVATE_INIT; +static GPrivate test_thread_data; 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: From 50cda9fed1acddef53d29222b22d276b9fa80a48 Mon Sep 17 00:00:00 2001 From: Emmanuele Bassi Date: Tue, 4 Oct 2011 10:51:09 +0100 Subject: [PATCH 12/30] build: Move deprecated code into its own prefix The code that has been deprecated should live into its own directory, both in the repository and when installed. This should make it clear which functionality is actually maintained and which is not. We start with an oldie: the frame source API. --- clutter/Makefile.am | 41 +++- clutter/clutter-deprecated.h | 207 +----------------- clutter/clutter.h | 1 - .../{ => deprecated}/clutter-frame-source.c | 0 .../{ => deprecated}/clutter-frame-source.h | 0 5 files changed, 41 insertions(+), 208 deletions(-) rename clutter/{ => deprecated}/clutter-frame-source.c (100%) rename clutter/{ => deprecated}/clutter-frame-source.h (100%) diff --git a/clutter/Makefile.am b/clutter/Makefile.am index 688617d11..7ddb7f050 100644 --- a/clutter/Makefile.am +++ b/clutter/Makefile.am @@ -16,8 +16,8 @@ INCLUDES = \ -I$(top_srcdir)/clutter \ -I$(top_srcdir)/clutter/$(CLUTTER_WINSYS) \ -I$(top_srcdir)/clutter/$(CLUTTER_WINSYS_BASE) \ + -I$(top_srcdir)/clutter/deprecated \ -I$(top_srcdir)/clutter/cally \ - -I$(top_srcdir)/clutter/evdev \ -I$(top_builddir) \ -I$(top_builddir)/clutter \ $(NULL) @@ -44,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 = @@ -93,8 +94,7 @@ source_h = \ $(srcdir)/clutter-fixed.h \ $(srcdir)/clutter-fixed-layout.h \ $(srcdir)/clutter-flow-layout.h \ - $(srcdir)/clutter-frame-source.h \ - $(srcdir)/clutter-gesture-action.h \ + $(srcdir)/clutter-gesture-action.h \ $(srcdir)/clutter-group.h \ $(srcdir)/clutter-input-device.h \ $(srcdir)/clutter-interval.h \ @@ -179,8 +179,7 @@ source_c = \ $(srcdir)/clutter-fixed-layout.c \ $(srcdir)/clutter-flatten-effect.c \ $(srcdir)/clutter-flow-layout.c \ - $(srcdir)/clutter-frame-source.c \ - $(srcdir)/clutter-gesture-action.c \ + $(srcdir)/clutter-gesture-action.c \ $(srcdir)/clutter-group.c \ $(srcdir)/clutter-input-device.c \ $(srcdir)/clutter-interval.c \ @@ -255,6 +254,24 @@ source_c_priv = \ $(srcdir)/clutter-timeout-interval.c \ $(NULL) +# deprecated installed headers +deprecated_h = \ + $(srcdir)/deprecated/clutter-frame-source.h \ + $(NULL) + +# deprecated source code +deprecated_c = \ + $(srcdir)/deprecated/clutter-frame-source.c \ + $(NULL) + +# deprecated private headers; these should not be installed +deprecated_h_priv = \ + $(NULL) + +# deprecated private source code; these should not be introspected +deprecated_c_priv = \ + $(NULL) + # built sources built_source_c = \ clutter-enum-types.c \ @@ -612,6 +629,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 = \ @@ -631,6 +650,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) \ @@ -660,7 +683,13 @@ Clutter-@CLUTTER_API_VERSION@.gir: libclutter-@CLUTTER_SONAME_INFIX@-@CLUTTER_AP Clutter_@CLUTTER_API_VERSION_AM@_gir_NAMESPACE = Clutter Clutter_@CLUTTER_API_VERSION_AM@_gir_VERSION = @CLUTTER_API_VERSION@ Clutter_@CLUTTER_API_VERSION_AM@_gir_LIBS = libclutter-@CLUTTER_SONAME_INFIX@-@CLUTTER_API_VERSION@.la -Clutter_@CLUTTER_API_VERSION_AM@_gir_FILES = $(clutter_include_HEADERS) $(nodist_clutter_include_HEADERS) $(source_c) $(built_source_c) +Clutter_@CLUTTER_API_VERSION_AM@_gir_FILES = \ + $(clutter_include_HEADERS) \ + $(clutter_deprecated_HEADERS) \ + $(nodist_clutter_include_HEADERS) \ + $(source_c) \ + $(deprecated_c) \ + $(built_source_c) Clutter_@CLUTTER_API_VERSION_AM@_gir_CFLAGS = $(INCLUDES) $(CLUTTER_CFLAGS) $(AM_CPPFLAGS) -UCLUTTER_DISABLE_DEPRECATED Clutter_@CLUTTER_API_VERSION_AM@_gir_INCLUDES = GL-1.0 GObject-2.0 cairo-1.0 Cogl-1.0 CoglPango-1.0 Atk-1.0 Json-1.0 Clutter_@CLUTTER_API_VERSION_AM@_gir_SCANNERFLAGS = \ diff --git a/clutter/clutter-deprecated.h b/clutter/clutter-deprecated.h index 890ff385e..0d0c5adf5 100644 --- a/clutter/clutter-deprecated.h +++ b/clutter/clutter-deprecated.h @@ -1,205 +1,10 @@ -#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-frame-source.h" -#define clutter_behaviour_ellipse_set_angle_begin clutter_behaviour_ellipse_set_angle_begin_REPLACED_BY_clutter_behaviour_set_angle_start -#define clutter_behaviour_ellipse_set_angle_beginx clutter_behaviour_ellipse_set_angle_beginx_REPLACED_BY_clutter_behaviour_set_angle_startx -#define clutter_behaviour_ellipse_get_angle_begin clutter_behaviour_ellipse_get_angle_begin_REPLACED_BY_clutter_behaviour_get_angle_start -#define clutter_behaviour_ellipse_get_angle_beginx clutter_behaviour_ellipse_get_angle_beginx_REPLACED_BY_clutter_behaviour_get_angle_startx -#define clutter_behaviour_bspline_append clutter_behaviour_bspline_append_REPLACED_BY_clutter_behaviour_bspline_append_knots +#undef __CLUTTER_DEPRECATED_H_INSIDE__ -#define clutter_actor_get_id clutter_actor_get_id_REPLACED_BY_clutter_actor_get_gid - -#define clutter_actor_rotate_x clutter_actor_rotate_x_DEPRECATED_BY_clutter_actor_set_rotation -#define clutter_actor_rotate_y clutter_actor_rotate_y_DEPRECATED_BY_clutter_actor_set_rotation -#define clutter_actor_rotate_z clutter_actor_rotate_z_DEPRECATED_BY_clutter_actor_set_rotation -#define clutter_actor_rotate_xx clutter_actor_rotate_xx_DEPRECATED_BY_clutter_actor_set_rotationx -#define clutter_actor_rotate_yx clutter_actor_rotate_yx_DEPRECATED_BY_clutter_actor_set_rotationx -#define clutter_actor_rotate_zx clutter_actor_rotate_zx_DEPRECATED_BY_clutter_actor_set_rotationx -#define clutter_actor_get_rxang clutter_actor_get_rxang_DEPRECATED_BY_clutter_actor_get_rotation -#define clutter_actor_get_ryang clutter_actor_get_ryang_DEPRECATED_BY_clutter_actor_get_rotation -#define clutter_actor_get_rzang clutter_actor_get_rzang_DEPRECATED_BY_clutter_actor_get_rotation -#define clutter_actor_get_rxangx clutter_actor_get_rxangx_DEPRECATED_BY_clutter_actor_get_rotationx -#define clutter_actor_get_ryangx clutter_actor_get_ryangx_DEPRECATED_BY_clutter_actor_get_rotationx -#define clutter_actor_get_rzangx clutter_actor_get_rzangx_DEPRECATED_BY_clutter_actor_get_rotationx -#define clutter_actor_set_scale_with_gravityx clutter_actor_set_scale_with_gravityx_DEPRECATED_BY_clutter_actor_set_scale_with_gravity - -#define clutter_entry_set_position clutter_entry_set_position_REPLACED_BY_clutter_entry_set_cursor_position -#define clutter_entry_get_position clutter_entry_get_position_REPLACED_BY_clutter_entry_get_cursor_position - -#define clutter_shader_bind clutter_shader_bind_REPLACED_BY_clutter_shader_compile -#define clutter_shader_is_bound clutter_shader_is_bound_REPLACED_BY_clutter_shader_is_compiled - -#define clutter_texture_new_from_pixbuf clutter_texture_new_from_pixbuf_DEPRECATED_BY_clutter_texture_new_from_file_OR_clutter_texture_new_AND_clutter_texture_set_from_rgb_data -#define clutter_texture_set_pixbuf clutter_texture_set_pixbuf_DEPRECATED_BY_clutter_texture_set_from_rgb_data - -#define clutter_actor_query_coords clutter_actor_query_coords_REPLACED_BY_clutter_actor_get_preferred_size_OR_clutter_actor_get_allocation_box -#define clutter_actor_request_coords clutter_actor_request_coords_REPLACED_BY_clutter_actor_allocate - -#define clutter_actor_get_abs_position clutter_actor_get_abs_position_REPLACED_BY_clutter_actor_get_transformed_position -#define clutter_actor_get_abs_size clutter_actor_get_abs_size_REPLACED_BY_clutter_actor_get_transformed_size -#define clutter_actor_get_abs_opacity clutter_actor_get_abs_opacity_REPLACED_BY_clutter_actor_get_paint_opacity - -#define clutter_stage_get_resolution clutter_backend_get_resolution -#define clutter_stage_get_resolutionx clutter_backend_get_resolution - -#define clutter_set_use_mipmapped_text clutter_actor_set_use_mipmapped_text_REPLACED_BY_clutter_set_font_flags -#define clutter_get_use_mipmapped_text clutter_actor_get_use_mipmapped_text_REPLACED_BY_clutter_get_font_flags - -#define clutter_color_parse clutter_color_parse_REPLACED_BY_clutter_color_from_string -#define clutter_color_from_hlsx clutter_color_from_hlsx_DEPRECATED_BY_clutter_color_from_hls -#define clutter_color_to_hlsx clutter_color_to_hlsx_DEPRECATED_BY_clutter_color_to_hls -#define clutter_color_shadex clutter_color_shadex_DEPRECATED_BY_clutter_color_shade - -#define clutter_stage_set_perspectivex clutter_stage_set_perspectivex_DEPRECATED_BY_clutter_stage_set_perspective -#define clutter_stage_set_fogx clutter_stage_set_fogx_DEPRECATED_BY_clutter_stage_set_fog - -#define clutter_actor_set_rotationx clutter_actor_set_rotationx_DEPRECATED_BY_clutter_actor_set_rotation -#define clutter_actor_get_rotationx clutter_actor_get_rotationx_DEPRECATED_BY_clutter_actor_get_rotation -#define clutter_actor_set_scalex clutter_actor_set_scalex_DEPRECATED_BY_clutter_actor_set_scale -#define clutter_actor_get_scalex clutter_actor_get_scalex_DEPRECATED_BY_clutter_actor_get_scale - -#define CLUTTER_ALPHA_RAMP_INC clutter_ramp_inc_func -#define CLUTTER_ALPHA_RAMP_DEC clutter_ramp_dec_func -#define CLUTTER_ALPHA_RAMP clutter_ramp_func -#define CLUTTER_ALPHA_SINE clutter_sine_func -#define CLUTTER_ALPHA_SINE_INC clutter_sine_inc_func -#define CLUTTER_ALPHA_SINE_DEC clutter_sine_dec_func -#define CLUTTER_ALPHA_SINE_HALF clutter_sine_half_func -#define CLUTTER_ALPHA_SQUARE clutter_square_func -#define CLUTTER_ALPHA_SMOOTHSTEP_INC clutter_smoothstep_inc_func -#define CLUTTER_ALPHA_SMOOTHSTEP_DEC clutter_smoothstep_dec_func -#define CLUTTER_ALPHA_EXP_INC clutter_exp_inc_func -#define CLUTTER_ALPHA_EXP_DEC clutter_exp_dec_func - -#define clutter_ramp_inc_func clutter_ramp_inc_func_DEPRECATED_BY_CLUTTER_LINEAR -#define clutter_ramp_dec_func clutter_ramp_dec_func_DEPRECATED_BY_CLUTTER_LINEAR -#define clutter_ramp_func clutter_ramp_func_DEPRECATED_BY_CLUTTER_LINEAR -#define clutter_sine_inc_func clutter_sine_inc_func_DEPRECATED_BY_CLUTTER_EASE_OUT_SINE -#define clutter_sine_dec_func clutter_sine_dec_func_DEPRECATED_BY_CLUTTER_EASE_IN_SINE -#define clutter_sine_half_func clutter_sine_half_func_DEPRECATED_BY_CLUTTER_EASE_IN_OUT_SINE -#define clutter_sine_func clutter_sine_func_DEPRECATED_BY_CLUTTER_EASE_IN_OUT_SINE -#define clutter_square_func clutter_square_func_REMOVED -#define clutter_smoothstep_inc_func clutter_smoothstep_inc_func_DEPRECATED_BY_CLUTTER_EASE_IN_CUBIC -#define clutter_smoothstep_dec_func clutter_smoothstep_dec_func_DEPRECATED_BY_CLUTTER_EASE_OUT_CUBIC -#define clutter_exp_inc_func clutter_exp_inc_func_DEPRECATED_BY_CLUTTER_EASE_IN_EXPO -#define clutter_exp_dec_func clutter_exp_dec_func_DEPRECATED_BY_CLUTTER_EASE_OUT_EXPO - -#define clutter_behaviour_path_get_knots clutter_behaviour_path_get_knots_REPLACED_BY_clutter_path_get_nodes -#define clutter_behaviour_path_append_knots clutter_behaviour_path_append_knots_REPLACED_BY_clutter_path_add_string -#define clutter_behaviour_path_append_knot clutter_behaviour_path_append_knot_REPLACED_BY_clutter_path_add_string -#define clutter_behaviour_path_insert_knot clutter_behaviour_path_insert_knot_REPLACED_BY_clutter_path_insert_node -#define clutter_behaviour_path_remove_knot clutter_behaviour_path_remove_knot_REPLACED_BY_clutter_path_remove_node -#define clutter_behaviour_path_clear clutter_behaviour_path_clear_REPLACED_BY_clutter_path_clear - -#define ClutterFixed ClutterFixed_REPLACED_BY_CoglFixed -#define ClutterAngle ClutterAngle_REPLACED_BY_CoglAngle - -#define CFX_ONE CFX_ONE_REPLACED_BY_COGL_FIXED_1 -#define CFX_HALF CFX_HALF_REPLACED_BY_COGL_FIXED_0_5 -#define CFX_PI CFX_PI_REPLACED_BY_COGL_FIXED_PI -#define CFX_2PI CFX_2PI_REPLACED_BY_COGL_FIXED_2_PI - -#define CLUTTER_INT_TO_FIXED CLUTTER_INT_TO_FIXED_REPLACED_BY_COGL_FIXED_FROM_INT -#define CLUTTER_FIXED_TO_INT CLUTTER_FIXED_TO_INT_REPLACED_BY_COGL_FIXED_TO_INT -#define CLUTTER_FLOAT_TO_FIXED CLUTTER_FLOAT_TO_FIXED_REPLACED_BY_COGL_FIXED_FROM_FLOAT -#define CLUTTER_FIXED_TO_FLOAT CLUTTER_FIXED_TO_FLOAT_REPLACED_BY_COGL_FIXED_TO_FLOAT - -#define CLUTTER_FIXED_MUL CLUTTER_FIXED_MUL_REPLACED_BY_COGL_FIXED_FAST_MUL -#define CLUTTER_FIXED_DIV CLUTTER_FIXED_DIV_REPLACED_BY_COGL_FIXED_FAST_DIV - -#define clutter_qmulx clutter_qmulx_REPLACED_BY_COGL_FIXED_MUL -#define clutter_qdivx clutter_qdivx_REPLACED_BY_COGL_FIXED_DIV -#define clutter_sinx clutter_sinx_REPLACED_BY_cogl_fixed_sin -#define clutter_cosx clutter_cosx_REPLACED_BY_cogl_fixed_cos - -#define clutter_media_set_position clutter_media_set_position_DEPRECATED_BY_clutter_media_set_progress -#define clutter_media_get_position clutter_media_get_position_DEPRECATED_BY_clutter_media_get_progress -#define clutter_media_set_volume clutter_media_set_volume_DEPRECATED_BY_clutter_media_set_audio_volume -#define clutter_media_get_volume clutter_media_get_volume_DEPRECATED_BY_clutter_media_get_audio_volume -#define clutter_media_get_buffer_percent clutter_media_get_buffer_percent_DEPRECATED_BY_clutter_media_get_buffer_fill - -#define CLUTTER_TYPE_LABEL CLUTTER_TYPE_LABEL_DEPRECATED_BY_CLUTTER_TYPE_TEXT -#define CLUTTER_TYPE_ENTRY CLUTTER_TYPE_ENTRY_DEPRECATED_BY_CLUTTER_TYPE_TEXT -#define clutter_label_new clutter_label_new_DEPRECATED_BY_clutter_text_new -#define clutter_entry_new clutter_entry_new_DEPRECATED_BY_clutter_text_new - -#define CLUTTER_TYPE_TEXTURE_HANDLE CLUTTER_TYPE_TEXTURE_HANDLE_REPLACED_BY_COGL_TYPE_HANDLE - -#define ClutterEffectTemplate ClutterEffectTemplate_DEPRECATED_BY_ClutterAnimation -#define clutter_effect_template_new clutter_effect_template_new_DEPRECATED_BY_clutter_animation_new -#define clutter_effect_template_new_for_duration clutter_effect_template_new_for_duration_DEPRECATED_BY_clutter_animation_new -#define clutter_effect_move clutter_effect_move_DEPRECATED_BY_clutter_actor_animate -#define clutter_effect_path clutter_effect_path_DEPRECATED_BY_clutter_actor_animate -#define clutter_effect_depth clutter_effect_depth_DEPRECATED_BY_clutter_actor_animate -#define clutter_effect_scale clutter_effect_scale_DEPRECATED_BY_clutter_actor_animate -#define clutter_effect_rotate clutter_effect_rotate_DEPRECATED_BY_clutter_actor_animate - -#define clutter_shader_set_uniform_1f clutter_shader_set_uniform_1f_REPLACED_BY_clutter_shader_set_uniform - -#define clutter_actor_set_xu clutter_actor_set_xu_DEPRECATED_BY_clutter_actor_set_x -#define clutter_actor_set_yu clutter_actor_set_yu_DEPRECATED_BY_clutter_actor_set_y -#define clutter_actor_set_widthu clutter_actor_set_widthu_DEPRECATED_BY_clutter_actor_set_width -#define clutter_actor_set_heightu clutter_actor_set_heightu_DEPRECATED_BY_clutter_actor_set_height -#define clutter_actor_set_depthu clutter_actor_set_depthu_DEPRECATED_BY_clutter_actor_set_depth -#define clutter_actor_set_positionu clutter_actor_set_positionu_DEPRECATED_BY_clutter_actor_set_position -#define clutter_actor_set_sizeu clutter_actor_set_sizeu_DEPRECATED_BY_clutter_actor_set_size - -#define clutter_actor_set_anchor_pointu clutter_actor_set_anchor_pointu_DEPRECATED_BY_clutter_actor_set_anchor_point -#define clutter_actor_get_anchor_pointu clutter_actor_get_anchor_pointu_DEPRECATED_BY_clutter_actor_get_anchor_point -#define clutter_actor_move_byu clutter_actor_move_byu_DEPRECATED_BY_clutter_actor_move_by - -#define clutter_actor_get_xu clutter_actor_get_xu_DEPRECATED_BY_clutter_actor_get_x -#define clutter_actor_get_yu clutter_actor_get_yu_DEPRECATED_BY_clutter_actor_get_y -#define clutter_actor_get_widthu clutter_actor_get_widthu_DEPRECATED_BY_clutter_actor_get_width -#define clutter_actor_get_heightu clutter_actor_get_heightu_DEPRECATED_BY_clutter_actor_get_height -#define clutter_actor_get_depthu clutter_actor_get_depthu_DEPRECATED_BY_clutter_actor_get_depth -#define clutter_actor_get_positionu clutter_actor_get_positionu_DEPRECATED_BY_clutter_actor_get_position -#define clutter_actor_get_sizeu clutter_actor_get_sizeu_DEPRECATED_BY_clutter_actor_get_size - -#define clutter_key_event_symbol clutter_key_event_symbol_REPLACED_BY_clutter_event_get_key_symbol -#define clutter_key_event_code clutter_key_event_code_REPLACED_BY_clutter_event_get_key_code -#define clutter_key_event_unicode clutter_key_event_unicode_REPLACED_BY_clutter_event_get_key_unicode -#define clutter_button_event_button clutter_button_event_button_REPLACED_BY_clutter_event_get_button - -#define clutter_stage_fullscreen clutter_stage_fullscreen_REPLACED_BY_clutter_stage_set_fullscreen -#define clutter_stage_unfullscreen clutter_stage_unfullscreen_REPLACED_BY_clutter_stage_set_fullscreen - -#define clutter_actor_get_box_from_vertices clutter_actor_get_box_from_vertices_REPLACED_BY_clutter_actor_box_from_vertices - -#define clutter_behaviour_ellipse_newx clutter_behaviour_ellipse_newx_DEPRECATED_BY_clutter_behaviour_ellipse_new -#define clutter_behaviour_ellipse_set_angle_startx clutter_behaviour_ellipse_set_angle_startx_DEPRECATED_BY_clutter_behaviour_ellipse_set_angle_start -#define clutter_behaviour_ellipse_get_angle_startx clutter_behaviour_ellipse_get_angle_startx_DEPRECATED_BY_clutter_behaviour_ellipse_get_angle_start -#define clutter_behaviour_ellipse_set_angle_endx clutter_behaviour_ellipse_set_angle_endx_DEPRECATED_BY_clutter_behaviour_ellipse_set_angle_end -#define clutter_behaviour_ellipse_get_angle_endx clutter_behaviour_ellipse_get_angle_endx_DEPRECATED_BY_clutter_behaviour_ellipse_get_angle_end -#define clutter_behaviour_ellipse_set_angle_tiltx clutter_behaviour_ellipse_set_angle_tiltx_DEPRECATED_BY_clutter_behaviour_ellipse_set_angle_tilt -#define clutter_behaviour_ellipse_get_angle_tiltx clutter_behaviour_ellipse_get_angle_tiltx_DEPRECATED_BY_clutter_behaviour_ellipse_get_angle_tilt -#define clutter_behaviour_ellipse_set_tiltx clutter_behaviour_ellipse_set_tiltx_DEPRECATED_BY_clutter_behaviour_ellipse_set_tilt -#define clutter_behaviour_ellipse_get_tiltx clutter_behaviour_ellipse_get_tiltx_DEPRECATED_BY_clutter_behaviour_ellipse_get_tilt - -#define clutter_behaviour_rotate_newx clutter_behaviour_rotate_newx_DEPRECATED_BY_clutter_behaviour_rotate_new -#define clutter_behaviour_rotate_get_boundsx clutter_behaviour_rotate_get_boundsx_DEPRECATED_BY_clutter_behaviour_rotate_get_bounds -#define clutter_behaviour_rotate_set_boundsx clutter_behaviour_rotate_set_boundsx_DEPRECATED_BY_clutter_behaviour_rotate_set_bounds - -#define clutter_behaviour_scale_newx clutter_behaviour_scale_newx_DEPRECATED_BY_clutter_behaviour_scale_new -#define clutter_behaviour_scale_set_boundsx clutter_behaviour_scale_set_boundsx_DEPRECATED_BY_clutter_behaviour_scale_set_bounds -#define clutter_behaviour_scale_get_boundsx clutter_behaviour_scale_get_boundsx_DEPRECATED_BY_clutter_behaviour_scale_get_bounds - -#define clutter_timeline_get_progressx clutter_timeline_get_progressx_DEPRECATED_BY_clutter_timeline_get_progress - -#define clutter_actor_pick clutter_actor_pick_DEPRECATED_BY_clutter_actor_paint - -#define clutter_actor_get_allocation_coords clutter_actor_get_allocation_coords_DEPRECATED_BY_clutter_actor_get_allocation_box - -#endif /* CLUTTER_DEPRECATED_H */ +#endif /* __CLUTTER_DEPRECATED_H__ */ diff --git a/clutter/clutter.h b/clutter/clutter.h index 8753466bf..e9c731a6d 100644 --- a/clutter/clutter.h +++ b/clutter/clutter.h @@ -73,7 +73,6 @@ #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" diff --git a/clutter/clutter-frame-source.c b/clutter/deprecated/clutter-frame-source.c similarity index 100% rename from clutter/clutter-frame-source.c rename to clutter/deprecated/clutter-frame-source.c diff --git a/clutter/clutter-frame-source.h b/clutter/deprecated/clutter-frame-source.h similarity index 100% rename from clutter/clutter-frame-source.h rename to clutter/deprecated/clutter-frame-source.h From 4b748f433419462bd3daba18191f2fc173224a76 Mon Sep 17 00:00:00 2001 From: Emmanuele Bassi Date: Tue, 4 Oct 2011 10:57:28 +0100 Subject: [PATCH 13/30] Move timeout pool to the deprecated section --- clutter/Makefile.am | 8 ++++---- clutter/clutter-deprecated.h | 1 + clutter/clutter.h | 1 - clutter/{ => deprecated}/clutter-timeout-interval.c | 0 clutter/{ => deprecated}/clutter-timeout-interval.h | 0 clutter/{ => deprecated}/clutter-timeout-pool.c | 0 clutter/{ => deprecated}/clutter-timeout-pool.h | 0 7 files changed, 5 insertions(+), 5 deletions(-) rename clutter/{ => deprecated}/clutter-timeout-interval.c (100%) rename clutter/{ => deprecated}/clutter-timeout-interval.h (100%) rename clutter/{ => deprecated}/clutter-timeout-pool.c (100%) rename clutter/{ => deprecated}/clutter-timeout-pool.h (100%) diff --git a/clutter/Makefile.am b/clutter/Makefile.am index 7ddb7f050..6fb1ec16f 100644 --- a/clutter/Makefile.am +++ b/clutter/Makefile.am @@ -128,7 +128,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 \ @@ -214,7 +213,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 \ @@ -243,7 +241,6 @@ source_h_priv = \ $(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 @@ -251,25 +248,28 @@ 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-frame-source.h \ + $(srcdir)/deprecated/clutter-timeout-pool.h \ $(NULL) # deprecated source code deprecated_c = \ $(srcdir)/deprecated/clutter-frame-source.c \ + $(srcdir)/deprecated/clutter-timeout-pool.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 diff --git a/clutter/clutter-deprecated.h b/clutter/clutter-deprecated.h index 0d0c5adf5..d64f83f3a 100644 --- a/clutter/clutter-deprecated.h +++ b/clutter/clutter-deprecated.h @@ -4,6 +4,7 @@ #define __CLUTTER_DEPRECATED_H_INSIDE__ #include "deprecated/clutter-frame-source.h" +#include "deprecated/clutter-timeout-pool.h" #undef __CLUTTER_DEPRECATED_H_INSIDE__ diff --git a/clutter/clutter.h b/clutter/clutter.h index e9c731a6d..88ce6e984 100644 --- a/clutter/clutter.h +++ b/clutter/clutter.h @@ -106,7 +106,6 @@ #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" diff --git a/clutter/clutter-timeout-interval.c b/clutter/deprecated/clutter-timeout-interval.c similarity index 100% rename from clutter/clutter-timeout-interval.c rename to clutter/deprecated/clutter-timeout-interval.c diff --git a/clutter/clutter-timeout-interval.h b/clutter/deprecated/clutter-timeout-interval.h similarity index 100% rename from clutter/clutter-timeout-interval.h rename to clutter/deprecated/clutter-timeout-interval.h diff --git a/clutter/clutter-timeout-pool.c b/clutter/deprecated/clutter-timeout-pool.c similarity index 100% rename from clutter/clutter-timeout-pool.c rename to clutter/deprecated/clutter-timeout-pool.c diff --git a/clutter/clutter-timeout-pool.h b/clutter/deprecated/clutter-timeout-pool.h similarity index 100% rename from clutter/clutter-timeout-pool.h rename to clutter/deprecated/clutter-timeout-pool.h From 4b33a9c5f4cdf26492d24b7e989ba8bba022edef Mon Sep 17 00:00:00 2001 From: Emmanuele Bassi Date: Tue, 4 Oct 2011 11:07:03 +0100 Subject: [PATCH 14/30] Move ClutterScore to the deprecated section --- clutter/Makefile.am | 4 ++-- clutter/clutter-deprecated.h | 1 + clutter/clutter.h | 7 ++++--- clutter/{ => deprecated}/clutter-score.c | 0 clutter/{ => deprecated}/clutter-score.h | 0 5 files changed, 7 insertions(+), 5 deletions(-) rename clutter/{ => deprecated}/clutter-score.c (100%) rename clutter/{ => deprecated}/clutter-score.h (100%) diff --git a/clutter/Makefile.am b/clutter/Makefile.am index 6fb1ec16f..78eb3fb6b 100644 --- a/clutter/Makefile.am +++ b/clutter/Makefile.am @@ -111,7 +111,6 @@ 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 \ @@ -195,7 +194,6 @@ 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 \ @@ -254,12 +252,14 @@ source_c_priv = \ deprecated_h = \ $(srcdir)/deprecated/clutter-frame-source.h \ $(srcdir)/deprecated/clutter-timeout-pool.h \ + $(srcdir)/deprecated/clutter-score.h \ $(NULL) # deprecated source code deprecated_c = \ $(srcdir)/deprecated/clutter-frame-source.c \ $(srcdir)/deprecated/clutter-timeout-pool.c \ + $(srcdir)/deprecated/clutter-score.c \ $(NULL) # deprecated private headers; these should not be installed diff --git a/clutter/clutter-deprecated.h b/clutter/clutter-deprecated.h index d64f83f3a..9606b6c4e 100644 --- a/clutter/clutter-deprecated.h +++ b/clutter/clutter-deprecated.h @@ -5,6 +5,7 @@ #include "deprecated/clutter-frame-source.h" #include "deprecated/clutter-timeout-pool.h" +#include "deprecated/clutter-score.h" #undef __CLUTTER_DEPRECATED_H_INSIDE__ diff --git a/clutter/clutter.h b/clutter/clutter.h index 88ce6e984..4e480107c 100644 --- a/clutter/clutter.h +++ b/clutter/clutter.h @@ -28,8 +28,6 @@ #define __CLUTTER_H_INSIDE__ -#include "clutter-deprecated.h" - #include "clutter-config.h" #include "clutter-action.h" @@ -89,7 +87,6 @@ #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" @@ -113,6 +110,10 @@ #include "clutter-enum-types.h" +#ifndef CLUTTER_DISABLE_DEPRECATED +#include "clutter-deprecated.h" +#endif + #undef __CLUTTER_H_INSIDE__ #endif /* __CLUTTER_H__ */ diff --git a/clutter/clutter-score.c b/clutter/deprecated/clutter-score.c similarity index 100% rename from clutter/clutter-score.c rename to clutter/deprecated/clutter-score.c diff --git a/clutter/clutter-score.h b/clutter/deprecated/clutter-score.h similarity index 100% rename from clutter/clutter-score.h rename to clutter/deprecated/clutter-score.h From e57f8c26f62c50f3b47aae88a2b6a50972a25edc Mon Sep 17 00:00:00 2001 From: Emmanuele Bassi Date: Tue, 4 Oct 2011 11:12:55 +0100 Subject: [PATCH 15/30] Move ClutterShader to the deprecated section --- clutter/Makefile.am | 4 ++-- clutter/clutter-deprecated.h | 1 + clutter/clutter.h | 1 - clutter/{ => deprecated}/clutter-shader.c | 0 clutter/{ => deprecated}/clutter-shader.h | 0 5 files changed, 3 insertions(+), 3 deletions(-) rename clutter/{ => deprecated}/clutter-shader.c (100%) rename clutter/{ => deprecated}/clutter-shader.h (100%) diff --git a/clutter/Makefile.am b/clutter/Makefile.am index 78eb3fb6b..435b13929 100644 --- a/clutter/Makefile.am +++ b/clutter/Makefile.am @@ -114,7 +114,6 @@ source_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 \ @@ -198,7 +197,6 @@ source_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 \ @@ -253,6 +251,7 @@ deprecated_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 @@ -260,6 +259,7 @@ deprecated_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 diff --git a/clutter/clutter-deprecated.h b/clutter/clutter-deprecated.h index 9606b6c4e..0837afad8 100644 --- a/clutter/clutter-deprecated.h +++ b/clutter/clutter-deprecated.h @@ -6,6 +6,7 @@ #include "deprecated/clutter-frame-source.h" #include "deprecated/clutter-timeout-pool.h" #include "deprecated/clutter-score.h" +#include "deprecated/clutter-shader.h" #undef __CLUTTER_DEPRECATED_H_INSIDE__ diff --git a/clutter/clutter.h b/clutter/clutter.h index 4e480107c..9ccbcf96d 100644 --- a/clutter/clutter.h +++ b/clutter/clutter.h @@ -90,7 +90,6 @@ #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" diff --git a/clutter/clutter-shader.c b/clutter/deprecated/clutter-shader.c similarity index 100% rename from clutter/clutter-shader.c rename to clutter/deprecated/clutter-shader.c diff --git a/clutter/clutter-shader.h b/clutter/deprecated/clutter-shader.h similarity index 100% rename from clutter/clutter-shader.h rename to clutter/deprecated/clutter-shader.h From 6c100e151376fdbbffbb332edd98bf9768c3a168 Mon Sep 17 00:00:00 2001 From: Emmanuele Bassi Date: Tue, 4 Oct 2011 11:16:38 +0100 Subject: [PATCH 16/30] docs: Move deprecated classes out of the way The deprecated sections should be much more prominently separated from the current API; we can use a new part inside the main reference index for this. --- doc/reference/clutter/clutter-docs.xml.in | 28 +++++++++++------------ 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/doc/reference/clutter/clutter-docs.xml.in b/doc/reference/clutter/clutter-docs.xml.in index 7a2c7b5cc..472c49ca3 100644 --- a/doc/reference/clutter/clutter-docs.xml.in +++ b/doc/reference/clutter/clutter-docs.xml.in @@ -140,20 +140,7 @@ Base classes - - - - - - Behaviours - - - - - - - @@ -184,7 +171,6 @@ - @@ -255,6 +241,20 @@ + + Deprecated Classes + + + + + + + + + + + + Clutter Actors and Objects From bcd7845d91338861d5fd79eb80532027a8d21b24 Mon Sep 17 00:00:00 2001 From: Emmanuele Bassi Date: Tue, 4 Oct 2011 11:32:36 +0100 Subject: [PATCH 17/30] Move ClutterBehaviour subclasses to the deprecated section Moving ClutterBehaviour itself will require some minor header surgery, so we'll do that next. --- clutter/Makefile.am | 40 +++++++++---------- clutter/clutter-deprecated.h | 6 +++ clutter/clutter.h | 6 --- .../clutter-behaviour-depth.c | 0 .../clutter-behaviour-depth.h | 0 .../clutter-behaviour-ellipse.c | 0 .../clutter-behaviour-ellipse.h | 0 .../clutter-behaviour-opacity.c | 0 .../clutter-behaviour-opacity.h | 0 .../{ => deprecated}/clutter-behaviour-path.c | 0 .../{ => deprecated}/clutter-behaviour-path.h | 0 .../clutter-behaviour-rotate.c | 0 .../clutter-behaviour-rotate.h | 0 .../clutter-behaviour-scale.c | 0 .../clutter-behaviour-scale.h | 0 15 files changed, 26 insertions(+), 26 deletions(-) rename clutter/{ => deprecated}/clutter-behaviour-depth.c (100%) rename clutter/{ => deprecated}/clutter-behaviour-depth.h (100%) rename clutter/{ => deprecated}/clutter-behaviour-ellipse.c (100%) rename clutter/{ => deprecated}/clutter-behaviour-ellipse.h (100%) rename clutter/{ => deprecated}/clutter-behaviour-opacity.c (100%) rename clutter/{ => deprecated}/clutter-behaviour-opacity.h (100%) rename clutter/{ => deprecated}/clutter-behaviour-path.c (100%) rename clutter/{ => deprecated}/clutter-behaviour-path.h (100%) rename clutter/{ => deprecated}/clutter-behaviour-rotate.c (100%) rename clutter/{ => deprecated}/clutter-behaviour-rotate.h (100%) rename clutter/{ => deprecated}/clutter-behaviour-scale.c (100%) rename clutter/{ => deprecated}/clutter-behaviour-scale.h (100%) diff --git a/clutter/Makefile.am b/clutter/Makefile.am index 435b13929..041a009f5 100644 --- a/clutter/Makefile.am +++ b/clutter/Makefile.am @@ -61,12 +61,6 @@ source_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 \ @@ -143,12 +137,6 @@ source_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 \ @@ -248,18 +236,30 @@ source_c_priv = \ # deprecated installed headers deprecated_h = \ - $(srcdir)/deprecated/clutter-frame-source.h \ - $(srcdir)/deprecated/clutter-timeout-pool.h \ - $(srcdir)/deprecated/clutter-score.h \ - $(srcdir)/deprecated/clutter-shader.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-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-frame-source.c \ - $(srcdir)/deprecated/clutter-timeout-pool.c \ - $(srcdir)/deprecated/clutter-score.c \ - $(srcdir)/deprecated/clutter-shader.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-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 diff --git a/clutter/clutter-deprecated.h b/clutter/clutter-deprecated.h index 0837afad8..0e8b5e4d2 100644 --- a/clutter/clutter-deprecated.h +++ b/clutter/clutter-deprecated.h @@ -3,6 +3,12 @@ #define __CLUTTER_DEPRECATED_H_INSIDE__ +#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-frame-source.h" #include "deprecated/clutter-timeout-pool.h" #include "deprecated/clutter-score.h" diff --git a/clutter/clutter.h b/clutter/clutter.h index 9ccbcf96d..82569087e 100644 --- a/clutter/clutter.h +++ b/clutter/clutter.h @@ -39,13 +39,7 @@ #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" diff --git a/clutter/clutter-behaviour-depth.c b/clutter/deprecated/clutter-behaviour-depth.c similarity index 100% rename from clutter/clutter-behaviour-depth.c rename to clutter/deprecated/clutter-behaviour-depth.c diff --git a/clutter/clutter-behaviour-depth.h b/clutter/deprecated/clutter-behaviour-depth.h similarity index 100% rename from clutter/clutter-behaviour-depth.h rename to clutter/deprecated/clutter-behaviour-depth.h diff --git a/clutter/clutter-behaviour-ellipse.c b/clutter/deprecated/clutter-behaviour-ellipse.c similarity index 100% rename from clutter/clutter-behaviour-ellipse.c rename to clutter/deprecated/clutter-behaviour-ellipse.c diff --git a/clutter/clutter-behaviour-ellipse.h b/clutter/deprecated/clutter-behaviour-ellipse.h similarity index 100% rename from clutter/clutter-behaviour-ellipse.h rename to clutter/deprecated/clutter-behaviour-ellipse.h diff --git a/clutter/clutter-behaviour-opacity.c b/clutter/deprecated/clutter-behaviour-opacity.c similarity index 100% rename from clutter/clutter-behaviour-opacity.c rename to clutter/deprecated/clutter-behaviour-opacity.c diff --git a/clutter/clutter-behaviour-opacity.h b/clutter/deprecated/clutter-behaviour-opacity.h similarity index 100% rename from clutter/clutter-behaviour-opacity.h rename to clutter/deprecated/clutter-behaviour-opacity.h diff --git a/clutter/clutter-behaviour-path.c b/clutter/deprecated/clutter-behaviour-path.c similarity index 100% rename from clutter/clutter-behaviour-path.c rename to clutter/deprecated/clutter-behaviour-path.c diff --git a/clutter/clutter-behaviour-path.h b/clutter/deprecated/clutter-behaviour-path.h similarity index 100% rename from clutter/clutter-behaviour-path.h rename to clutter/deprecated/clutter-behaviour-path.h diff --git a/clutter/clutter-behaviour-rotate.c b/clutter/deprecated/clutter-behaviour-rotate.c similarity index 100% rename from clutter/clutter-behaviour-rotate.c rename to clutter/deprecated/clutter-behaviour-rotate.c diff --git a/clutter/clutter-behaviour-rotate.h b/clutter/deprecated/clutter-behaviour-rotate.h similarity index 100% rename from clutter/clutter-behaviour-rotate.h rename to clutter/deprecated/clutter-behaviour-rotate.h diff --git a/clutter/clutter-behaviour-scale.c b/clutter/deprecated/clutter-behaviour-scale.c similarity index 100% rename from clutter/clutter-behaviour-scale.c rename to clutter/deprecated/clutter-behaviour-scale.c diff --git a/clutter/clutter-behaviour-scale.h b/clutter/deprecated/clutter-behaviour-scale.h similarity index 100% rename from clutter/clutter-behaviour-scale.h rename to clutter/deprecated/clutter-behaviour-scale.h From e2682012219c5af174489baa4759ac2b6e021dee Mon Sep 17 00:00:00 2001 From: Emmanuele Bassi Date: Tue, 4 Oct 2011 11:52:47 +0100 Subject: [PATCH 18/30] Minor header surgery to ClutterBehaviour This moves a couple of definitions to the common types header, and makes sure that ClutterBehaviour subclasses include clutter-behaviour.h first, so that their types can be fully expanded without necessarily have the ClutterBehaviour header header included by their public headers. This is the necessary prelude to have clutter-behaviour.[ch] moved to the deprecated section. --- clutter/clutter-behaviour.h | 3 --- clutter/clutter-path.h | 4 +--- clutter/clutter-types.h | 12 ++++++++---- clutter/deprecated/clutter-behaviour-depth.c | 2 +- clutter/deprecated/clutter-behaviour-depth.h | 3 +-- clutter/deprecated/clutter-behaviour-ellipse.c | 2 +- clutter/deprecated/clutter-behaviour-ellipse.h | 3 --- clutter/deprecated/clutter-behaviour-opacity.c | 2 +- clutter/deprecated/clutter-behaviour-opacity.h | 3 +-- clutter/deprecated/clutter-behaviour-path.c | 2 +- clutter/deprecated/clutter-behaviour-path.h | 3 +-- clutter/deprecated/clutter-behaviour-rotate.c | 4 ++-- clutter/deprecated/clutter-behaviour-rotate.h | 2 -- clutter/deprecated/clutter-behaviour-scale.c | 2 +- clutter/deprecated/clutter-behaviour-scale.h | 2 +- 15 files changed, 20 insertions(+), 29 deletions(-) diff --git a/clutter/clutter-behaviour.h b/clutter/clutter-behaviour.h index 32a596f6b..129c6fb65 100644 --- a/clutter/clutter-behaviour.h +++ b/clutter/clutter-behaviour.h @@ -30,8 +30,6 @@ #ifndef __CLUTTER_BEHAVIOUR_H__ #define __CLUTTER_BEHAVIOUR_H__ -#include -#include #include G_BEGIN_DECLS @@ -60,7 +58,6 @@ G_BEGIN_DECLS (G_TYPE_INSTANCE_GET_CLASS ((obj), \ CLUTTER_TYPE_BEHAVIOUR, ClutterBehaviourClass)) -typedef struct _ClutterBehaviour ClutterBehaviour; typedef struct _ClutterBehaviourPrivate ClutterBehaviourPrivate; typedef struct _ClutterBehaviourClass ClutterBehaviourClass; diff --git a/clutter/clutter-path.h b/clutter/clutter-path.h index 2351e58e0..6d625129f 100644 --- a/clutter/clutter-path.h +++ b/clutter/clutter-path.h @@ -28,9 +28,8 @@ #ifndef __CLUTTER_PATH_H__ #define __CLUTTER_PATH_H__ -#include -#include #include +#include G_BEGIN_DECLS @@ -75,7 +74,6 @@ typedef enum { CLUTTER_PATH_REL_CURVE_TO = CLUTTER_PATH_CURVE_TO | CLUTTER_PATH_RELATIVE } ClutterPathNodeType; -typedef struct _ClutterPath ClutterPath; typedef struct _ClutterPathClass ClutterPathClass; typedef struct _ClutterPathPrivate ClutterPathPrivate; typedef struct _ClutterPathNode ClutterPathNode; diff --git a/clutter/clutter-types.h b/clutter/clutter-types.h index 6659e086f..2df3766dd 100644 --- a/clutter/clutter-types.h +++ b/clutter/clutter-types.h @@ -47,20 +47,24 @@ typedef struct _ClutterChildMeta ClutterChildMeta; typedef struct _ClutterLayoutMeta ClutterLayoutMeta; typedef struct _ClutterActorMeta ClutterActorMeta; +typedef struct _ClutterAlpha ClutterAlpha; typedef struct _ClutterAnimator ClutterAnimator; +typedef struct _ClutterPath ClutterPath; typedef struct _ClutterAction ClutterAction; typedef struct _ClutterConstraint ClutterConstraint; typedef struct _ClutterEffect ClutterEffect; -#if !defined(CLUTTER_DISABLE_DEPRECATED) || defined(CLUTTER_COMPILATION) -typedef struct _ClutterShader ClutterShader; -#endif - typedef struct _ClutterColor ClutterColor; typedef union _ClutterEvent ClutterEvent; +#if !defined(CLUTTER_DISABLE_DEPRECATED) || defined(CLUTTER_COMPILATION) +typedef struct _ClutterBehaviour ClutterBehaviour; + +typedef struct _ClutterShader ClutterShader; +#endif /* DISABLE_DEPRECATED */ + /** * ClutterGravity: * @CLUTTER_GRAVITY_NONE: Do not apply any gravity diff --git a/clutter/deprecated/clutter-behaviour-depth.c b/clutter/deprecated/clutter-behaviour-depth.c index 61512cfda..91acb5bb0 100644 --- a/clutter/deprecated/clutter-behaviour-depth.c +++ b/clutter/deprecated/clutter-behaviour-depth.c @@ -27,8 +27,8 @@ #include "config.h" #endif +#include "clutter-behaviour.h" #include "clutter-behaviour-depth.h" - #include "clutter-enum-types.h" #include "clutter-main.h" #include "clutter-debug.h" diff --git a/clutter/deprecated/clutter-behaviour-depth.h b/clutter/deprecated/clutter-behaviour-depth.h index 81f0cd35c..4ee2f83f8 100644 --- a/clutter/deprecated/clutter-behaviour-depth.h +++ b/clutter/deprecated/clutter-behaviour-depth.h @@ -30,8 +30,7 @@ #ifndef __CLUTTER_BEHAVIOUR_DEPTH__ #define __CLUTTER_BEHAVIOUR_DEPTH__ -#include -#include +#include G_BEGIN_DECLS diff --git a/clutter/deprecated/clutter-behaviour-ellipse.c b/clutter/deprecated/clutter-behaviour-ellipse.c index 126746540..aafbc6e48 100644 --- a/clutter/deprecated/clutter-behaviour-ellipse.c +++ b/clutter/deprecated/clutter-behaviour-ellipse.c @@ -50,8 +50,8 @@ #include #include +#include "clutter-behaviour.h" #include "clutter-behaviour-ellipse.h" - #include "clutter-debug.h" #include "clutter-enum-types.h" #include "clutter-private.h" diff --git a/clutter/deprecated/clutter-behaviour-ellipse.h b/clutter/deprecated/clutter-behaviour-ellipse.h index 302d4f200..8dffa869d 100644 --- a/clutter/deprecated/clutter-behaviour-ellipse.h +++ b/clutter/deprecated/clutter-behaviour-ellipse.h @@ -28,9 +28,6 @@ #ifndef __CLUTTER_BEHAVIOUR_ELLIPSE_H__ #define __CLUTTER_BEHAVIOUR_ELLIPSE_H__ -#include -#include -#include #include G_BEGIN_DECLS diff --git a/clutter/deprecated/clutter-behaviour-opacity.c b/clutter/deprecated/clutter-behaviour-opacity.c index 91dbb6b5a..5cc3899e2 100644 --- a/clutter/deprecated/clutter-behaviour-opacity.c +++ b/clutter/deprecated/clutter-behaviour-opacity.c @@ -42,8 +42,8 @@ #include +#include "clutter-behaviour.h" #include "clutter-behaviour-opacity.h" - #include "clutter-private.h" #include "clutter-debug.h" diff --git a/clutter/deprecated/clutter-behaviour-opacity.h b/clutter/deprecated/clutter-behaviour-opacity.h index aa38ddb9b..b6519aab8 100644 --- a/clutter/deprecated/clutter-behaviour-opacity.h +++ b/clutter/deprecated/clutter-behaviour-opacity.h @@ -30,8 +30,7 @@ #ifndef __CLUTTER_BEHAVIOUR_OPACITY_H__ #define __CLUTTER_BEHAVIOUR_OPACITY_H__ -#include -#include +#include G_BEGIN_DECLS diff --git a/clutter/deprecated/clutter-behaviour-path.c b/clutter/deprecated/clutter-behaviour-path.c index 8b271f50f..30c5380f7 100644 --- a/clutter/deprecated/clutter-behaviour-path.c +++ b/clutter/deprecated/clutter-behaviour-path.c @@ -67,8 +67,8 @@ #include "config.h" #endif +#include "clutter-behaviour.h" #include "clutter-behaviour-path.h" - #include "clutter-bezier.h" #include "clutter-debug.h" #include "clutter-enum-types.h" diff --git a/clutter/deprecated/clutter-behaviour-path.h b/clutter/deprecated/clutter-behaviour-path.h index 731aebddf..fe15c3e50 100644 --- a/clutter/deprecated/clutter-behaviour-path.h +++ b/clutter/deprecated/clutter-behaviour-path.h @@ -30,8 +30,7 @@ #ifndef __CLUTTER_BEHAVIOUR_PATH_H__ #define __CLUTTER_BEHAVIOUR_PATH_H__ -#include -#include +#include #include G_BEGIN_DECLS diff --git a/clutter/deprecated/clutter-behaviour-rotate.c b/clutter/deprecated/clutter-behaviour-rotate.c index faeb30cd7..0ab5da67c 100644 --- a/clutter/deprecated/clutter-behaviour-rotate.c +++ b/clutter/deprecated/clutter-behaviour-rotate.c @@ -39,10 +39,10 @@ #include "config.h" #endif -#include "clutter-behaviour-rotate.h" - #include +#include "clutter-behaviour.h" +#include "clutter-behaviour-rotate.h" #include "clutter-debug.h" #include "clutter-enum-types.h" #include "clutter-main.h" diff --git a/clutter/deprecated/clutter-behaviour-rotate.h b/clutter/deprecated/clutter-behaviour-rotate.h index c30aef9b5..df880a562 100644 --- a/clutter/deprecated/clutter-behaviour-rotate.h +++ b/clutter/deprecated/clutter-behaviour-rotate.h @@ -28,8 +28,6 @@ #ifndef __CLUTTER_BEHAVIOUR_ROTATE_H__ #define __CLUTTER_BEHAVIOUR_ROTATE_H__ -#include -#include #include G_BEGIN_DECLS diff --git a/clutter/deprecated/clutter-behaviour-scale.c b/clutter/deprecated/clutter-behaviour-scale.c index 337a4902b..82a3b0e6c 100644 --- a/clutter/deprecated/clutter-behaviour-scale.c +++ b/clutter/deprecated/clutter-behaviour-scale.c @@ -41,8 +41,8 @@ #include +#include "clutter-behaviour.h" #include "clutter-behaviour-scale.h" - #include "clutter-debug.h" #include "clutter-main.h" #include "clutter-private.h" diff --git a/clutter/deprecated/clutter-behaviour-scale.h b/clutter/deprecated/clutter-behaviour-scale.h index 288b1a73e..3479c7c37 100644 --- a/clutter/deprecated/clutter-behaviour-scale.h +++ b/clutter/deprecated/clutter-behaviour-scale.h @@ -30,7 +30,7 @@ #ifndef __CLUTTER_BEHAVIOUR_SCALE_H__ #define __CLUTTER_BEHAVIOUR_SCALE_H__ -#include +#include G_BEGIN_DECLS From 62d72b8690f76cba6fba9f816f163f9f12f5aa08 Mon Sep 17 00:00:00 2001 From: Emmanuele Bassi Date: Tue, 4 Oct 2011 11:58:44 +0100 Subject: [PATCH 19/30] Move ClutterBehaviour to the deprecated section --- clutter/Makefile.am | 4 ++-- clutter/clutter-deprecated.h | 1 + clutter/clutter.h | 1 - clutter/{ => deprecated}/clutter-behaviour.c | 0 clutter/{ => deprecated}/clutter-behaviour.h | 0 5 files changed, 3 insertions(+), 3 deletions(-) rename clutter/{ => deprecated}/clutter-behaviour.c (100%) rename clutter/{ => deprecated}/clutter-behaviour.h (100%) diff --git a/clutter/Makefile.am b/clutter/Makefile.am index 041a009f5..fcb4a93e2 100644 --- a/clutter/Makefile.am +++ b/clutter/Makefile.am @@ -60,7 +60,6 @@ source_h = \ $(srcdir)/clutter-animation.h \ $(srcdir)/clutter-animator.h \ $(srcdir)/clutter-backend.h \ - $(srcdir)/clutter-behaviour.h \ $(srcdir)/clutter-bind-constraint.h \ $(srcdir)/clutter-binding-pool.h \ $(srcdir)/clutter-bin-layout.h \ @@ -136,7 +135,6 @@ source_c = \ $(srcdir)/clutter-animation.c \ $(srcdir)/clutter-animator.c \ $(srcdir)/clutter-backend.c \ - $(srcdir)/clutter-behaviour.c \ $(srcdir)/clutter-bezier.c \ $(srcdir)/clutter-bind-constraint.c \ $(srcdir)/clutter-binding-pool.c \ @@ -236,6 +234,7 @@ source_c_priv = \ # 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 \ @@ -250,6 +249,7 @@ deprecated_h = \ # 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 \ diff --git a/clutter/clutter-deprecated.h b/clutter/clutter-deprecated.h index 0e8b5e4d2..cb27c838f 100644 --- a/clutter/clutter-deprecated.h +++ b/clutter/clutter-deprecated.h @@ -3,6 +3,7 @@ #define __CLUTTER_DEPRECATED_H_INSIDE__ +#include "deprecated/clutter-behaviour.h" #include "deprecated/clutter-behaviour-depth.h" #include "deprecated/clutter-behaviour-ellipse.h" #include "deprecated/clutter-behaviour-opacity.h" diff --git a/clutter/clutter.h b/clutter/clutter.h index 82569087e..05c36c91e 100644 --- a/clutter/clutter.h +++ b/clutter/clutter.h @@ -39,7 +39,6 @@ #include "clutter-animation.h" #include "clutter-animator.h" #include "clutter-backend.h" -#include "clutter-behaviour.h" #include "clutter-bind-constraint.h" #include "clutter-binding-pool.h" #include "clutter-bin-layout.h" diff --git a/clutter/clutter-behaviour.c b/clutter/deprecated/clutter-behaviour.c similarity index 100% rename from clutter/clutter-behaviour.c rename to clutter/deprecated/clutter-behaviour.c diff --git a/clutter/clutter-behaviour.h b/clutter/deprecated/clutter-behaviour.h similarity index 100% rename from clutter/clutter-behaviour.h rename to clutter/deprecated/clutter-behaviour.h From a21f1d158063edd7dc1d37b418b690adef07aa8f Mon Sep 17 00:00:00 2001 From: Emmanuele Bassi Date: Tue, 4 Oct 2011 12:18:26 +0100 Subject: [PATCH 20/30] Move clutter-fixed.[ch] to the deprecated section --- clutter/Makefile.am | 4 ++-- clutter/clutter-deprecated.h | 1 + clutter/clutter-timeline.h | 1 - clutter/{ => deprecated}/clutter-fixed.c | 0 clutter/{ => deprecated}/clutter-fixed.h | 0 5 files changed, 3 insertions(+), 3 deletions(-) rename clutter/{ => deprecated}/clutter-fixed.c (100%) rename clutter/{ => deprecated}/clutter-fixed.h (100%) diff --git a/clutter/Makefile.am b/clutter/Makefile.am index fcb4a93e2..dc0f4ab50 100644 --- a/clutter/Makefile.am +++ b/clutter/Makefile.am @@ -84,7 +84,6 @@ source_h = \ $(srcdir)/clutter-effect.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-gesture-action.h \ @@ -158,7 +157,6 @@ 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 \ @@ -241,6 +239,7 @@ deprecated_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 \ @@ -256,6 +255,7 @@ deprecated_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 \ diff --git a/clutter/clutter-deprecated.h b/clutter/clutter-deprecated.h index cb27c838f..9ac1504f9 100644 --- a/clutter/clutter-deprecated.h +++ b/clutter/clutter-deprecated.h @@ -10,6 +10,7 @@ #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" diff --git a/clutter/clutter-timeline.h b/clutter/clutter-timeline.h index adc0f90d8..ce2891081 100644 --- a/clutter/clutter-timeline.h +++ b/clutter/clutter-timeline.h @@ -29,7 +29,6 @@ #define __CLUTTER_TIMELINE_H__ #include -#include G_BEGIN_DECLS diff --git a/clutter/clutter-fixed.c b/clutter/deprecated/clutter-fixed.c similarity index 100% rename from clutter/clutter-fixed.c rename to clutter/deprecated/clutter-fixed.c diff --git a/clutter/clutter-fixed.h b/clutter/deprecated/clutter-fixed.h similarity index 100% rename from clutter/clutter-fixed.h rename to clutter/deprecated/clutter-fixed.h From d28e04be72d0a8c4408e07f468698d61ef312091 Mon Sep 17 00:00:00 2001 From: Emmanuele Bassi Date: Tue, 4 Oct 2011 13:28:04 +0100 Subject: [PATCH 21/30] Move all enumerations to a separate file This should allow sharing types, and we can avoid glib-mkenums thrawling the whole repository for enumerations. --- clutter/Makefile.am | 1 + clutter/clutter-actor.h | 60 -- clutter/clutter-align-constraint.h | 15 - clutter/clutter-animator.h | 14 - clutter/clutter-bin-layout.h | 25 - clutter/clutter-bind-constraint.h | 24 - clutter/clutter-box-layout.h | 18 - clutter/clutter-click-action.h | 17 - clutter/clutter-color.h | 105 --- clutter/clutter-drag-action.h | 18 - clutter/clutter-effect.h | 13 - clutter/clutter-enums.h | 1059 ++++++++++++++++++++++++++++ clutter/clutter-event.h | 87 +-- clutter/clutter-feature.h | 36 +- clutter/clutter-flow-layout.h | 17 - clutter/clutter-input-device.h | 78 -- clutter/clutter-path.h | 33 - clutter/clutter-snap-constraint.h | 18 - clutter/clutter-stage.h | 16 - clutter/clutter-swipe-action.h | 18 - clutter/clutter-table-layout.h | 19 - clutter/clutter-texture.h | 40 -- clutter/clutter-timeline.h | 16 +- clutter/clutter-types.h | 330 +-------- clutter/clutter-units.h | 44 +- clutter/clutter.h | 3 +- 26 files changed, 1077 insertions(+), 1047 deletions(-) create mode 100644 clutter/clutter-enums.h diff --git a/clutter/Makefile.am b/clutter/Makefile.am index dc0f4ab50..461e7d103 100644 --- a/clutter/Makefile.am +++ b/clutter/Makefile.am @@ -82,6 +82,7 @@ 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-layout.h \ diff --git a/clutter/clutter-actor.h b/clutter/clutter-actor.h index 25f56238a..39c1d0abc 100644 --- a/clutter/clutter-actor.h +++ b/clutter/clutter-actor.h @@ -92,66 +92,6 @@ typedef void (*ClutterCallback) (ClutterActor *actor, */ #define CLUTTER_CALLBACK(f) ((ClutterCallback) (f)) -/** - * ClutterActorFlags: - * @CLUTTER_ACTOR_MAPPED: the actor will be painted (is visible, and inside - * a toplevel, and all parents visible) - * @CLUTTER_ACTOR_REALIZED: the resources associated to the actor have been - * allocated - * @CLUTTER_ACTOR_REACTIVE: the actor 'reacts' to mouse events emmitting event - * signals - * @CLUTTER_ACTOR_VISIBLE: the actor has been shown by the application program - * @CLUTTER_ACTOR_NO_LAYOUT: the actor provides an explicit layout management - * policy for its children; this flag will prevent Clutter from automatic - * queueing of relayout and will defer all layouting to the actor itself - * - * Flags used to signal the state of an actor. - */ -typedef enum -{ - CLUTTER_ACTOR_MAPPED = 1 << 1, - CLUTTER_ACTOR_REALIZED = 1 << 2, - CLUTTER_ACTOR_REACTIVE = 1 << 3, - CLUTTER_ACTOR_VISIBLE = 1 << 4, - CLUTTER_ACTOR_NO_LAYOUT = 1 << 5 -} ClutterActorFlags; - -/** - * ClutterOffscreenRedirect: - * @CLUTTER_OFFSCREEN_REDIRECT_AUTOMATIC_FOR_OPACITY: Only redirect - * the actor if it is semi-transparent and its has_overlaps() - * virtual returns %TRUE. This is the default. - * @CLUTTER_OFFSCREEN_REDIRECT_ALWAYS: Always redirect the actor to an - * offscreen buffer even if it is fully opaque. - * - * Possible flags to pass to clutter_actor_set_offscreen_redirect(). - * - * Since: 1.8 - */ -typedef enum -{ - CLUTTER_OFFSCREEN_REDIRECT_AUTOMATIC_FOR_OPACITY = 1<<0, - CLUTTER_OFFSCREEN_REDIRECT_ALWAYS = 1<<1 -} ClutterOffscreenRedirect; - -/** - * ClutterAllocationFlags: - * @CLUTTER_ALLOCATION_NONE: No flag set - * @CLUTTER_ABSOLUTE_ORIGIN_CHANGED: Whether the absolute origin of the - * actor has changed; this implies that any ancestor of the actor has - * been moved - * - * Flags passed to the #ClutterActor::allocate() virtual function and - * to the clutter_actor_allocate() function - * - * Since: 1.0 - */ -typedef enum -{ - CLUTTER_ALLOCATION_NONE = 0, - CLUTTER_ABSOLUTE_ORIGIN_CHANGED = 1 << 1 -} ClutterAllocationFlags; - /** * ClutterActor: * @flags: #ClutterActorFlags diff --git a/clutter/clutter-align-constraint.h b/clutter/clutter-align-constraint.h index 8e8c5830a..6ff855ecc 100644 --- a/clutter/clutter-align-constraint.h +++ b/clutter/clutter-align-constraint.h @@ -48,21 +48,6 @@ G_BEGIN_DECLS typedef struct _ClutterAlignConstraint ClutterAlignConstraint; typedef struct _ClutterAlignConstraintClass ClutterAlignConstraintClass; -/** - * ClutterAlignAxis: - * @CLUTTER_ALIGN_X_AXIS: Maintain the alignment on the X axis - * @CLUTTER_ALIGN_Y_AXIS: Maintain the alignment on the Y axis - * - * Specifies the axis on which #ClutterAlignConstraint should maintain - * the alignment - * - * Since: 1.4 - */ -typedef enum { /*< prefix=CLUTTER_ALIGN >*/ - CLUTTER_ALIGN_X_AXIS, - CLUTTER_ALIGN_Y_AXIS -} ClutterAlignAxis; - GType clutter_align_constraint_get_type (void) G_GNUC_CONST; ClutterConstraint *clutter_align_constraint_new (ClutterActor *source, diff --git a/clutter/clutter-animator.h b/clutter/clutter-animator.h index e7ed667be..019817dee 100644 --- a/clutter/clutter-animator.h +++ b/clutter/clutter-animator.h @@ -57,20 +57,6 @@ typedef struct _ClutterAnimatorPrivate ClutterAnimatorPrivate; */ typedef struct _ClutterAnimatorKey ClutterAnimatorKey; -/** - * ClutterInterpolation: - * @CLUTTER_INTERPOLATION_LINEAR: linear interpolation - * @CLUTTER_INTERPOLATION_CUBIC: cubic interpolation - * - * The mode of interpolation between key frames - * - * Since: 1.2 - */ -typedef enum { - CLUTTER_INTERPOLATION_LINEAR, - CLUTTER_INTERPOLATION_CUBIC -} ClutterInterpolation; - /** * ClutterAnimator: * diff --git a/clutter/clutter-bin-layout.h b/clutter/clutter-bin-layout.h index 169af0774..d6a639f7e 100644 --- a/clutter/clutter-bin-layout.h +++ b/clutter/clutter-bin-layout.h @@ -44,31 +44,6 @@ typedef struct _ClutterBinLayout ClutterBinLayout; typedef struct _ClutterBinLayoutPrivate ClutterBinLayoutPrivate; typedef struct _ClutterBinLayoutClass ClutterBinLayoutClass; -/** - * ClutterBinAlignment: - * @CLUTTER_BIN_ALIGNMENT_FIXED: Fixed position alignment; the - * #ClutterBinLayout will honour the fixed position provided - * by the actors themselves when allocating them - * @CLUTTER_BIN_ALIGNMENT_FILL: Fill the allocation size - * @CLUTTER_BIN_ALIGNMENT_START: Position the actors at the top - * or left side of the container, depending on the axis - * @CLUTTER_BIN_ALIGNMENT_END: Position the actors at the bottom - * or right side of the container, depending on the axis - * @CLUTTER_BIN_ALIGNMENT_CENTER: Position the actors at the - * center of the container, depending on the axis - * - * The alignment policies available on each axis for #ClutterBinLayout - * - * Since: 1.2 - */ -typedef enum { - CLUTTER_BIN_ALIGNMENT_FIXED, - CLUTTER_BIN_ALIGNMENT_FILL, - CLUTTER_BIN_ALIGNMENT_START, - CLUTTER_BIN_ALIGNMENT_END, - CLUTTER_BIN_ALIGNMENT_CENTER -} ClutterBinAlignment; - /** * ClutterBinLayout: * diff --git a/clutter/clutter-bind-constraint.h b/clutter/clutter-bind-constraint.h index 8a029916b..3ce1d59da 100644 --- a/clutter/clutter-bind-constraint.h +++ b/clutter/clutter-bind-constraint.h @@ -48,30 +48,6 @@ G_BEGIN_DECLS typedef struct _ClutterBindConstraint ClutterBindConstraint; typedef struct _ClutterBindConstraintClass ClutterBindConstraintClass; -/** - * ClutterBindCoordinate: - * @CLUTTER_BIND_X: Bind the X coordinate - * @CLUTTER_BIND_Y: Bind the Y coordinate - * @CLUTTER_BIND_WIDTH: Bind the width - * @CLUTTER_BIND_HEIGHT: Bind the height - * @CLUTTER_BIND_POSITION: Equivalent to to %CLUTTER_BIND_X and - * %CLUTTER_BIND_Y - * @CLUTTER_BIND_SIZE: Equivalent to %CLUTTER_BIND_WIDTH and - * %CLUTTER_BIND_HEIGHT - * - * Specifies which property should be used in a binding - * - * Since: 1.4 - */ -typedef enum { /*< prefix=CLUTTER_BIND >*/ - CLUTTER_BIND_X, - CLUTTER_BIND_Y, - CLUTTER_BIND_WIDTH, - CLUTTER_BIND_HEIGHT, - CLUTTER_BIND_POSITION, - CLUTTER_BIND_SIZE -} ClutterBindCoordinate; - GType clutter_bind_constraint_get_type (void) G_GNUC_CONST; ClutterConstraint * clutter_bind_constraint_new (ClutterActor *source, diff --git a/clutter/clutter-box-layout.h b/clutter/clutter-box-layout.h index e220c0262..e3d511426 100644 --- a/clutter/clutter-box-layout.h +++ b/clutter/clutter-box-layout.h @@ -47,24 +47,6 @@ typedef struct _ClutterBoxLayout ClutterBoxLayout; typedef struct _ClutterBoxLayoutPrivate ClutterBoxLayoutPrivate; typedef struct _ClutterBoxLayoutClass ClutterBoxLayoutClass; -/** - * ClutterBoxAlignment: - * @CLUTTER_BOX_ALIGNMENT_START: Align the child to the top or to - * to the left, depending on the used axis - * @CLUTTER_BOX_ALIGNMENT_CENTER: Align the child to the center - * @CLUTTER_BOX_ALIGNMENT_END: Align the child to the bottom or to - * the right, depending on the used axis - * - * The alignment policies available on each axis of the #ClutterBoxLayout - * - * Since: 1.2 - */ -typedef enum { - CLUTTER_BOX_ALIGNMENT_START, - CLUTTER_BOX_ALIGNMENT_END, - CLUTTER_BOX_ALIGNMENT_CENTER -} ClutterBoxAlignment; - /** * ClutterBoxLayout: * diff --git a/clutter/clutter-click-action.h b/clutter/clutter-click-action.h index e06b09dd6..cffb61249 100644 --- a/clutter/clutter-click-action.h +++ b/clutter/clutter-click-action.h @@ -48,23 +48,6 @@ typedef struct _ClutterClickAction ClutterClickAction; typedef struct _ClutterClickActionPrivate ClutterClickActionPrivate; typedef struct _ClutterClickActionClass ClutterClickActionClass; -/** - * ClutterLongPressState: - * @CLUTTER_LONG_PRESS_QUERY: Queries the action whether it supports - * long presses - * @CLUTTER_LONG_PRESS_ACTIVATE: Activates the action on a long press - * @CLUTTER_LONG_PRESS_CANCEL: The long press was cancelled - * - * The states for the #ClutterClikAction::long-press signal. - * - * Since: 1.8 - */ -typedef enum { /*< prefix=CLUTTER_LONG_PRESS >*/ - CLUTTER_LONG_PRESS_QUERY, - CLUTTER_LONG_PRESS_ACTIVATE, - CLUTTER_LONG_PRESS_CANCEL -} ClutterLongPressState; - /** * ClutterClickAction: * diff --git a/clutter/clutter-color.h b/clutter/clutter-color.h index 5fa6ba04c..4bfcb4704 100644 --- a/clutter/clutter-color.h +++ b/clutter/clutter-color.h @@ -149,111 +149,6 @@ GParamSpec *clutter_param_spec_color (const gchar *name, const ClutterColor *default_value, GParamFlags flags); -/** - * ClutterStaticColor: - * @CLUTTER_COLOR_WHITE: White color (ffffffff) - * @CLUTTER_COLOR_BLACK: Black color (000000ff) - * @CLUTTER_COLOR_RED: Red color (ff0000ff) - * @CLUTTER_COLOR_DARK_RED: Dark red color (800000ff) - * @CLUTTER_COLOR_GREEN: Green color (00ff00ff) - * @CLUTTER_COLOR_DARK_GREEN: Dark green color (008000ff) - * @CLUTTER_COLOR_BLUE: Blue color (0000ffff) - * @CLUTTER_COLOR_DARK_BLUE: Dark blue color (000080ff) - * @CLUTTER_COLOR_CYAN: Cyan color (00ffffff) - * @CLUTTER_COLOR_DARK_CYAN: Dark cyan color (008080ff) - * @CLUTTER_COLOR_MAGENTA: Magenta color (ff00ffff) - * @CLUTTER_COLOR_DARK_MAGENTA: Dark magenta color (800080ff) - * @CLUTTER_COLOR_YELLOW: Yellow color (ffff00ff) - * @CLUTTER_COLOR_DARK_YELLOW: Dark yellow color (808000ff) - * @CLUTTER_COLOR_GRAY: Gray color (a0a0a4ff) - * @CLUTTER_COLOR_DARK_GRAY: Dark Gray color (808080ff) - * @CLUTTER_COLOR_LIGHT_GRAY: Light gray color (c0c0c0ff) - * @CLUTTER_COLOR_BUTTER: Butter color (edd400ff) - * @CLUTTER_COLOR_BUTTER_LIGHT: Light butter color (fce94fff) - * @CLUTTER_COLOR_BUTTER_DARK: Dark butter color (c4a000ff) - * @CLUTTER_COLOR_ORANGE: Orange color (f57900ff) - * @CLUTTER_COLOR_ORANGE_LIGHT: Light orange color (fcaf3fff) - * @CLUTTER_COLOR_ORANGE_DARK: Dark orange color (ce5c00ff) - * @CLUTTER_COLOR_CHOCOLATE: Chocolate color (c17d11ff) - * @CLUTTER_COLOR_CHOCOLATE_LIGHT: Light chocolate color (e9b96eff) - * @CLUTTER_COLOR_CHOCOLATE_DARK: Dark chocolate color (8f5902ff) - * @CLUTTER_COLOR_CHAMELEON: Chameleon color (73d216ff) - * @CLUTTER_COLOR_CHAMELEON_LIGHT: Light chameleon color (8ae234ff) - * @CLUTTER_COLOR_CHAMELEON_DARK: Dark chameleon color (4e9a06ff) - * @CLUTTER_COLOR_SKY_BLUE: Sky color (3465a4ff) - * @CLUTTER_COLOR_SKY_BLUE_LIGHT: Light sky color (729fcfff) - * @CLUTTER_COLOR_SKY_BLUE_DARK: Dark sky color (204a87ff) - * @CLUTTER_COLOR_PLUM: Plum color (75507bff) - * @CLUTTER_COLOR_PLUM_LIGHT: Light plum color (ad7fa8ff) - * @CLUTTER_COLOR_PLUM_DARK: Dark plum color (5c3566ff) - * @CLUTTER_COLOR_SCARLET_RED: Scarlet red color (cc0000ff) - * @CLUTTER_COLOR_SCARLET_RED_LIGHT: Light scarlet red color (ef2929ff) - * @CLUTTER_COLOR_SCARLET_RED_DARK: Dark scarlet red color (a40000ff) - * @CLUTTER_COLOR_ALUMINIUM_1: Aluminium, first variant (eeeeecff) - * @CLUTTER_COLOR_ALUMINIUM_2: Aluminium, second variant (d3d7cfff) - * @CLUTTER_COLOR_ALUMINIUM_3: Aluminium, third variant (babdb6ff) - * @CLUTTER_COLOR_ALUMINIUM_4: Aluminium, fourth variant (888a85ff) - * @CLUTTER_COLOR_ALUMINIUM_5: Aluminium, fifth variant (555753ff) - * @CLUTTER_COLOR_ALUMINIUM_6: Aluminium, sixth variant (2e3436ff) - * @CLUTTER_COLOR_TRANSPARENT: Transparent color (00000000) - * - * Named colors, for accessing global colors defined by Clutter - * - * Since: 1.6 - */ -typedef enum { /*< prefix=CLUTTER_COLOR >*/ - /* CGA/EGA-like palette */ - CLUTTER_COLOR_WHITE = 0, - CLUTTER_COLOR_BLACK, - CLUTTER_COLOR_RED, - CLUTTER_COLOR_DARK_RED, - CLUTTER_COLOR_GREEN, - CLUTTER_COLOR_DARK_GREEN, - CLUTTER_COLOR_BLUE, - CLUTTER_COLOR_DARK_BLUE, - CLUTTER_COLOR_CYAN, - CLUTTER_COLOR_DARK_CYAN, - CLUTTER_COLOR_MAGENTA, - CLUTTER_COLOR_DARK_MAGENTA, - CLUTTER_COLOR_YELLOW, - CLUTTER_COLOR_DARK_YELLOW, - CLUTTER_COLOR_GRAY, - CLUTTER_COLOR_DARK_GRAY, - CLUTTER_COLOR_LIGHT_GRAY, - - /* Tango icon palette */ - CLUTTER_COLOR_BUTTER, - CLUTTER_COLOR_BUTTER_LIGHT, - CLUTTER_COLOR_BUTTER_DARK, - CLUTTER_COLOR_ORANGE, - CLUTTER_COLOR_ORANGE_LIGHT, - CLUTTER_COLOR_ORANGE_DARK, - CLUTTER_COLOR_CHOCOLATE, - CLUTTER_COLOR_CHOCOLATE_LIGHT, - CLUTTER_COLOR_CHOCOLATE_DARK, - CLUTTER_COLOR_CHAMELEON, - CLUTTER_COLOR_CHAMELEON_LIGHT, - CLUTTER_COLOR_CHAMELEON_DARK, - CLUTTER_COLOR_SKY_BLUE, - CLUTTER_COLOR_SKY_BLUE_LIGHT, - CLUTTER_COLOR_SKY_BLUE_DARK, - CLUTTER_COLOR_PLUM, - CLUTTER_COLOR_PLUM_LIGHT, - CLUTTER_COLOR_PLUM_DARK, - CLUTTER_COLOR_SCARLET_RED, - CLUTTER_COLOR_SCARLET_RED_LIGHT, - CLUTTER_COLOR_SCARLET_RED_DARK, - CLUTTER_COLOR_ALUMINIUM_1, - CLUTTER_COLOR_ALUMINIUM_2, - CLUTTER_COLOR_ALUMINIUM_3, - CLUTTER_COLOR_ALUMINIUM_4, - CLUTTER_COLOR_ALUMINIUM_5, - CLUTTER_COLOR_ALUMINIUM_6, - - /* Fully transparent black */ - CLUTTER_COLOR_TRANSPARENT -} ClutterStaticColor; - const ClutterColor *clutter_color_get_static (ClutterStaticColor color); G_END_DECLS diff --git a/clutter/clutter-drag-action.h b/clutter/clutter-drag-action.h index 2cd066603..4cec1211f 100644 --- a/clutter/clutter-drag-action.h +++ b/clutter/clutter-drag-action.h @@ -45,24 +45,6 @@ typedef struct _ClutterDragAction ClutterDragAction; typedef struct _ClutterDragActionPrivate ClutterDragActionPrivate; typedef struct _ClutterDragActionClass ClutterDragActionClass; -/** - * ClutterDragAxis: - * @CLUTTER_DRAG_AXIS_NONE: No constraint - * @CLUTTER_DRAG_X_AXIS: Set a constraint on the X axis - * @CLUTTER_DRAG_Y_AXIS: Set a constraint on the Y axis - * - * The axis of the constraint that should be applied on the - * dragging action - * - * Since: 1.4 - */ -typedef enum { /*< prefix=CLUTTER_DRAG >*/ - CLUTTER_DRAG_AXIS_NONE = 0, - - CLUTTER_DRAG_X_AXIS, - CLUTTER_DRAG_Y_AXIS -} ClutterDragAxis; - /** * ClutterDragAction: * diff --git a/clutter/clutter-effect.h b/clutter/clutter-effect.h index 6f00c15ac..cad454801 100644 --- a/clutter/clutter-effect.h +++ b/clutter/clutter-effect.h @@ -42,19 +42,6 @@ G_BEGIN_DECLS typedef struct _ClutterEffectClass ClutterEffectClass; -/** - * ClutterEffectPaintFlags: - * @CLUTTER_EFFECT_PAINT_ACTOR_DIRTY: The actor or one of its children - * has queued a redraw before this paint. This implies that the effect - * should call clutter_actor_continue_paint() to chain to the next - * effect and can not cache any results from a previous paint. - * - * Flags passed to the ‘paint’ or ‘pick’ method of #ClutterEffect. - */ -typedef enum { /*< prefix=CLUTTER_EFFECT_PAINT >*/ - CLUTTER_EFFECT_PAINT_ACTOR_DIRTY = (1 << 0) -} ClutterEffectPaintFlags; - /** * ClutterEffect: * diff --git a/clutter/clutter-enums.h b/clutter/clutter-enums.h new file mode 100644 index 000000000..e9358ad94 --- /dev/null +++ b/clutter/clutter-enums.h @@ -0,0 +1,1059 @@ +/* + * Clutter. + * + * An OpenGL based 'interactive canvas' library. + * + * Copyright (C) 2011 Intel Corporation + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library. If not, see . + */ + +#if !defined(__CLUTTER_H_INSIDE__) && !defined(CLUTTER_COMPILATION) +#error "Only can be included directly." +#endif + +#ifndef __CLUTTER_ENUMS_H__ +#define __CLUTTER_ENUMS_H__ + +#include + +G_BEGIN_DECLS + +/** + * ClutterGravity: + * @CLUTTER_GRAVITY_NONE: Do not apply any gravity + * @CLUTTER_GRAVITY_NORTH: Scale from topmost downwards + * @CLUTTER_GRAVITY_NORTH_EAST: Scale from the top right corner + * @CLUTTER_GRAVITY_EAST: Scale from the right side + * @CLUTTER_GRAVITY_SOUTH_EAST: Scale from the bottom right corner + * @CLUTTER_GRAVITY_SOUTH: Scale from the bottom upwards + * @CLUTTER_GRAVITY_SOUTH_WEST: Scale from the bottom left corner + * @CLUTTER_GRAVITY_WEST: Scale from the left side + * @CLUTTER_GRAVITY_NORTH_WEST: Scale from the top left corner + * @CLUTTER_GRAVITY_CENTER: Scale from the center. + * + * Gravity of the scaling operations. When a gravity different than + * %CLUTTER_GRAVITY_NONE is used, an actor is scaled keeping the position + * of the specified portion at the same coordinates. + * + * Since: 0.2 + */ +typedef enum { /*< prefix=CLUTTER_GRAVITY >*/ + CLUTTER_GRAVITY_NONE = 0, + CLUTTER_GRAVITY_NORTH, + CLUTTER_GRAVITY_NORTH_EAST, + CLUTTER_GRAVITY_EAST, + CLUTTER_GRAVITY_SOUTH_EAST, + CLUTTER_GRAVITY_SOUTH, + CLUTTER_GRAVITY_SOUTH_WEST, + CLUTTER_GRAVITY_WEST, + CLUTTER_GRAVITY_NORTH_WEST, + CLUTTER_GRAVITY_CENTER +} ClutterGravity; + +/** + * ClutterRotateAxis: + * @CLUTTER_X_AXIS: Rotate around the X axis + * @CLUTTER_Y_AXIS: Rotate around the Y axis + * @CLUTTER_Z_AXIS: Rotate around the Z axis + * + * Axis of a rotation. + * + * Since: 0.4 + */ +typedef enum { /*< prefix=CLUTTER >*/ + CLUTTER_X_AXIS, + CLUTTER_Y_AXIS, + CLUTTER_Z_AXIS +} ClutterRotateAxis; + +/** + * ClutterRotateDirection: + * @CLUTTER_ROTATE_CW: Clockwise rotation + * @CLUTTER_ROTATE_CCW: Counter-clockwise rotation + * + * Direction of a rotation. + * + * Since: 0.4 + */ +typedef enum { /*< prefix=CLUTTER_ROTATE >*/ + CLUTTER_ROTATE_CW, + CLUTTER_ROTATE_CCW +} ClutterRotateDirection; + +/** + * ClutterRequestMode: + * @CLUTTER_REQUEST_HEIGHT_FOR_WIDTH: Height for width requests + * @CLUTTER_REQUEST_WIDTH_FOR_HEIGHT: Width for height requests + * + * Specifies the type of requests for a #ClutterActor. + * + * Since: 0.8 + */ +typedef enum { /*< prefix=CLUTTER_REQUEST >*/ + CLUTTER_REQUEST_HEIGHT_FOR_WIDTH, + CLUTTER_REQUEST_WIDTH_FOR_HEIGHT +} ClutterRequestMode; + +/** + * ClutterAnimationMode: + * @CLUTTER_CUSTOM_MODE: custom progress function + * @CLUTTER_LINEAR: linear tweening + * @CLUTTER_EASE_IN_QUAD: quadratic tweening + * @CLUTTER_EASE_OUT_QUAD: quadratic tweening, inverse of + * %CLUTTER_EASE_IN_QUAD + * @CLUTTER_EASE_IN_OUT_QUAD: quadratic tweening, combininig + * %CLUTTER_EASE_IN_QUAD and %CLUTTER_EASE_OUT_QUAD + * @CLUTTER_EASE_IN_CUBIC: cubic tweening + * @CLUTTER_EASE_OUT_CUBIC: cubic tweening, invers of + * %CLUTTER_EASE_IN_CUBIC + * @CLUTTER_EASE_IN_OUT_CUBIC: cubic tweening, combining + * %CLUTTER_EASE_IN_CUBIC and %CLUTTER_EASE_OUT_CUBIC + * @CLUTTER_EASE_IN_QUART: quartic tweening + * @CLUTTER_EASE_OUT_QUART: quartic tweening, inverse of + * %CLUTTER_EASE_IN_QUART + * @CLUTTER_EASE_IN_OUT_QUART: quartic tweening, combining + * %CLUTTER_EASE_IN_QUART and %CLUTTER_EASE_OUT_QUART + * @CLUTTER_EASE_IN_QUINT: quintic tweening + * @CLUTTER_EASE_OUT_QUINT: quintic tweening, inverse of + * %CLUTTER_EASE_IN_QUINT + * @CLUTTER_EASE_IN_OUT_QUINT: fifth power tweening, combining + * %CLUTTER_EASE_IN_QUINT and %CLUTTER_EASE_OUT_QUINT + * @CLUTTER_EASE_IN_SINE: sinusoidal tweening + * @CLUTTER_EASE_OUT_SINE: sinusoidal tweening, inverse of + * %CLUTTER_EASE_IN_SINE + * @CLUTTER_EASE_IN_OUT_SINE: sine wave tweening, combining + * %CLUTTER_EASE_IN_SINE and %CLUTTER_EASE_OUT_SINE + * @CLUTTER_EASE_IN_EXPO: exponential tweening + * @CLUTTER_EASE_OUT_EXPO: exponential tweening, inverse of + * %CLUTTER_EASE_IN_EXPO + * @CLUTTER_EASE_IN_OUT_EXPO: exponential tweening, combining + * %CLUTTER_EASE_IN_EXPO and %CLUTTER_EASE_OUT_EXPO + * @CLUTTER_EASE_IN_CIRC: circular tweening + * @CLUTTER_EASE_OUT_CIRC: circular tweening, inverse of + * %CLUTTER_EASE_IN_CIRC + * @CLUTTER_EASE_IN_OUT_CIRC: circular tweening, combining + * %CLUTTER_EASE_IN_CIRC and %CLUTTER_EASE_OUT_CIRC + * @CLUTTER_EASE_IN_ELASTIC: elastic tweening, with offshoot on start + * @CLUTTER_EASE_OUT_ELASTIC: elastic tweening, with offshoot on end + * @CLUTTER_EASE_IN_OUT_ELASTIC: elastic tweening with offshoot on both ends + * @CLUTTER_EASE_IN_BACK: overshooting cubic tweening, with + * backtracking on start + * @CLUTTER_EASE_OUT_BACK: overshooting cubic tweening, with + * backtracking on end + * @CLUTTER_EASE_IN_OUT_BACK: overshooting cubic tweening, with + * backtracking on both ends + * @CLUTTER_EASE_IN_BOUNCE: exponentially decaying parabolic (bounce) + * tweening, with bounce on start + * @CLUTTER_EASE_OUT_BOUNCE: exponentially decaying parabolic (bounce) + * tweening, with bounce on end + * @CLUTTER_EASE_IN_OUT_BOUNCE: exponentially decaying parabolic (bounce) + * tweening, with bounce on both ends + * @CLUTTER_ANIMATION_LAST: last animation mode, used as a guard for + * registered global alpha functions + * + * The animation modes used by #ClutterAlpha and #ClutterAnimation. This + * enumeration can be expanded in later versions of Clutter. See the + * #ClutterAlpha documentation for a graph of all the animation modes. + * + * Every global alpha function registered using clutter_alpha_register_func() + * or clutter_alpha_register_closure() will have a logical id greater than + * %CLUTTER_ANIMATION_LAST. + * + * Since: 1.0 + */ +typedef enum { + CLUTTER_CUSTOM_MODE = 0, + + /* linear */ + CLUTTER_LINEAR, + + /* quadratic */ + CLUTTER_EASE_IN_QUAD, + CLUTTER_EASE_OUT_QUAD, + CLUTTER_EASE_IN_OUT_QUAD, + + /* cubic */ + CLUTTER_EASE_IN_CUBIC, + CLUTTER_EASE_OUT_CUBIC, + CLUTTER_EASE_IN_OUT_CUBIC, + + /* quartic */ + CLUTTER_EASE_IN_QUART, + CLUTTER_EASE_OUT_QUART, + CLUTTER_EASE_IN_OUT_QUART, + + /* quintic */ + CLUTTER_EASE_IN_QUINT, + CLUTTER_EASE_OUT_QUINT, + CLUTTER_EASE_IN_OUT_QUINT, + + /* sinusoidal */ + CLUTTER_EASE_IN_SINE, + CLUTTER_EASE_OUT_SINE, + CLUTTER_EASE_IN_OUT_SINE, + + /* exponential */ + CLUTTER_EASE_IN_EXPO, + CLUTTER_EASE_OUT_EXPO, + CLUTTER_EASE_IN_OUT_EXPO, + + /* circular */ + CLUTTER_EASE_IN_CIRC, + CLUTTER_EASE_OUT_CIRC, + CLUTTER_EASE_IN_OUT_CIRC, + + /* elastic */ + CLUTTER_EASE_IN_ELASTIC, + CLUTTER_EASE_OUT_ELASTIC, + CLUTTER_EASE_IN_OUT_ELASTIC, + + /* overshooting cubic */ + CLUTTER_EASE_IN_BACK, + CLUTTER_EASE_OUT_BACK, + CLUTTER_EASE_IN_OUT_BACK, + + /* exponentially decaying parabolic */ + CLUTTER_EASE_IN_BOUNCE, + CLUTTER_EASE_OUT_BOUNCE, + CLUTTER_EASE_IN_OUT_BOUNCE, + + /* guard, before registered alpha functions */ + CLUTTER_ANIMATION_LAST +} ClutterAnimationMode; + +/** + * ClutterFontFlags: + * @CLUTTER_FONT_MIPMAPPING: Set to use mipmaps for the glyph cache textures. + * @CLUTTER_FONT_HINTING: Set to enable hinting on the glyphs. + * + * Runtime flags to change the font quality. To be used with + * clutter_set_font_flags(). + * + * Since: 1.0 + */ +typedef enum { /*< prefix=CLUTTER_FONT >*/ + CLUTTER_FONT_MIPMAPPING = (1 << 0), + CLUTTER_FONT_HINTING = (1 << 1) +} ClutterFontFlags; + +/** + * ClutterTextDirection: + * @CLUTTER_TEXT_DIRECTION_DEFAULT: Use the default setting, as returned + * by clutter_get_default_text_direction() + * @CLUTTER_TEXT_DIRECTION_LTR: Use left-to-right text direction + * @CLUTTER_TEXT_DIRECTION_RTL: Use right-to-left text direction + * + * The text direction to be used by #ClutterActors + * + * Since: 1.2 + */ +typedef enum { + CLUTTER_TEXT_DIRECTION_DEFAULT, + CLUTTER_TEXT_DIRECTION_LTR, + CLUTTER_TEXT_DIRECTION_RTL +} ClutterTextDirection; + +/** + * ClutterShaderType: + * @CLUTTER_VERTEX_SHADER: a vertex shader + * @CLUTTER_FRAGMENT_SHADER: a fragment shader + * + * The type of GLSL shader program + * + * Since: 1.4 + */ +typedef enum { + CLUTTER_VERTEX_SHADER, + CLUTTER_FRAGMENT_SHADER +} ClutterShaderType; + +/** + * ClutterModifierType: + * @CLUTTER_SHIFT_MASK: Mask applied by the Shift key + * @CLUTTER_LOCK_MASK: Mask applied by the Caps Lock key + * @CLUTTER_CONTROL_MASK: Mask applied by the Control key + * @CLUTTER_MOD1_MASK: Mask applied by the first Mod key + * @CLUTTER_MOD2_MASK: Mask applied by the second Mod key + * @CLUTTER_MOD3_MASK: Mask applied by the third Mod key + * @CLUTTER_MOD4_MASK: Mask applied by the fourth Mod key + * @CLUTTER_MOD5_MASK: Mask applied by the fifth Mod key + * @CLUTTER_BUTTON1_MASK: Mask applied by the first pointer button + * @CLUTTER_BUTTON2_MASK: Mask applied by the second pointer button + * @CLUTTER_BUTTON3_MASK: Mask applied by the third pointer button + * @CLUTTER_BUTTON4_MASK: Mask applied by the fourth pointer button + * @CLUTTER_BUTTON5_MASK: Mask applied by the fifth pointer button + * @CLUTTER_SUPER_MASK: Mask applied by the Super key + * @CLUTTER_HYPER_MASK: Mask applied by the Hyper key + * @CLUTTER_META_MASK: Mask applied by the Meta key + * @CLUTTER_RELEASE_MASK: Mask applied during release + * @CLUTTER_MODIFIER_MASK: A mask covering all modifier types + * + * Masks applied to a #ClutterEvent by modifiers. + * + * Note that Clutter may add internal values to events which include + * reserved values such as %CLUTTER_MODIFIER_RESERVED_13_MASK. Your code + * should preserve and ignore them. You can use %CLUTTER_MODIFIER_MASK to + * remove all reserved values. + * + * Since: 0.4 + */ +typedef enum { + CLUTTER_SHIFT_MASK = 1 << 0, + CLUTTER_LOCK_MASK = 1 << 1, + CLUTTER_CONTROL_MASK = 1 << 2, + CLUTTER_MOD1_MASK = 1 << 3, + CLUTTER_MOD2_MASK = 1 << 4, + CLUTTER_MOD3_MASK = 1 << 5, + CLUTTER_MOD4_MASK = 1 << 6, + CLUTTER_MOD5_MASK = 1 << 7, + CLUTTER_BUTTON1_MASK = 1 << 8, + CLUTTER_BUTTON2_MASK = 1 << 9, + CLUTTER_BUTTON3_MASK = 1 << 10, + CLUTTER_BUTTON4_MASK = 1 << 11, + CLUTTER_BUTTON5_MASK = 1 << 12, + +#ifndef __GTK_DOC_IGNORE__ + CLUTTER_MODIFIER_RESERVED_13_MASK = 1 << 13, + CLUTTER_MODIFIER_RESERVED_14_MASK = 1 << 14, + CLUTTER_MODIFIER_RESERVED_15_MASK = 1 << 15, + CLUTTER_MODIFIER_RESERVED_16_MASK = 1 << 16, + CLUTTER_MODIFIER_RESERVED_17_MASK = 1 << 17, + CLUTTER_MODIFIER_RESERVED_18_MASK = 1 << 18, + CLUTTER_MODIFIER_RESERVED_19_MASK = 1 << 19, + CLUTTER_MODIFIER_RESERVED_20_MASK = 1 << 20, + CLUTTER_MODIFIER_RESERVED_21_MASK = 1 << 21, + CLUTTER_MODIFIER_RESERVED_22_MASK = 1 << 22, + CLUTTER_MODIFIER_RESERVED_23_MASK = 1 << 23, + CLUTTER_MODIFIER_RESERVED_24_MASK = 1 << 24, + CLUTTER_MODIFIER_RESERVED_25_MASK = 1 << 25, +#endif + + CLUTTER_SUPER_MASK = 1 << 26, + CLUTTER_HYPER_MASK = 1 << 27, + CLUTTER_META_MASK = 1 << 28, + +#ifndef __GTK_DOC_IGNORE__ + CLUTTER_MODIFIER_RESERVED_29_MASK = 1 << 29, +#endif + + CLUTTER_RELEASE_MASK = 1 << 30, + + /* Combination of CLUTTER_SHIFT_MASK..CLUTTER_BUTTON5_MASK + CLUTTER_SUPER_MASK + + CLUTTER_HYPER_MASK + CLUTTER_META_MASK + CLUTTER_RELEASE_MASK */ + CLUTTER_MODIFIER_MASK = 0x5c001fff +} ClutterModifierType; + +/** + * ClutterActorFlags: + * @CLUTTER_ACTOR_MAPPED: the actor will be painted (is visible, and inside + * a toplevel, and all parents visible) + * @CLUTTER_ACTOR_REALIZED: the resources associated to the actor have been + * allocated + * @CLUTTER_ACTOR_REACTIVE: the actor 'reacts' to mouse events emmitting event + * signals + * @CLUTTER_ACTOR_VISIBLE: the actor has been shown by the application program + * @CLUTTER_ACTOR_NO_LAYOUT: the actor provides an explicit layout management + * policy for its children; this flag will prevent Clutter from automatic + * queueing of relayout and will defer all layouting to the actor itself + * + * Flags used to signal the state of an actor. + */ +typedef enum { /*< prefix=CLUTTER_ACTOR >*/ + CLUTTER_ACTOR_MAPPED = 1 << 1, + CLUTTER_ACTOR_REALIZED = 1 << 2, + CLUTTER_ACTOR_REACTIVE = 1 << 3, + CLUTTER_ACTOR_VISIBLE = 1 << 4, + CLUTTER_ACTOR_NO_LAYOUT = 1 << 5 +} ClutterActorFlags; + +/** + * ClutterOffscreenRedirect: + * @CLUTTER_OFFSCREEN_REDIRECT_AUTOMATIC_FOR_OPACITY: Only redirect + * the actor if it is semi-transparent and its has_overlaps() + * virtual returns %TRUE. This is the default. + * @CLUTTER_OFFSCREEN_REDIRECT_ALWAYS: Always redirect the actor to an + * offscreen buffer even if it is fully opaque. + * + * Possible flags to pass to clutter_actor_set_offscreen_redirect(). + * + * Since: 1.8 + */ +typedef enum { /*< prefix=CLUTTER_OFFSCREEN_REDIRECT >*/ + CLUTTER_OFFSCREEN_REDIRECT_AUTOMATIC_FOR_OPACITY = 1<<0, + CLUTTER_OFFSCREEN_REDIRECT_ALWAYS = 1<<1 +} ClutterOffscreenRedirect; + +/** + * ClutterAllocationFlags: + * @CLUTTER_ALLOCATION_NONE: No flag set + * @CLUTTER_ABSOLUTE_ORIGIN_CHANGED: Whether the absolute origin of the + * actor has changed; this implies that any ancestor of the actor has + * been moved + * + * Flags passed to the #ClutterActor::allocate() virtual function and + * to the clutter_actor_allocate() function + * + * Since: 1.0 + */ +typedef enum { + CLUTTER_ALLOCATION_NONE = 0, + CLUTTER_ABSOLUTE_ORIGIN_CHANGED = 1 << 1 +} ClutterAllocationFlags; + +/** + * ClutterAlignAxis: + * @CLUTTER_ALIGN_X_AXIS: Maintain the alignment on the X axis + * @CLUTTER_ALIGN_Y_AXIS: Maintain the alignment on the Y axis + * + * Specifies the axis on which #ClutterAlignConstraint should maintain + * the alignment + * + * Since: 1.4 + */ +typedef enum { /*< prefix=CLUTTER_ALIGN >*/ + CLUTTER_ALIGN_X_AXIS, + CLUTTER_ALIGN_Y_AXIS +} ClutterAlignAxis; + +/** + * ClutterInterpolation: + * @CLUTTER_INTERPOLATION_LINEAR: linear interpolation + * @CLUTTER_INTERPOLATION_CUBIC: cubic interpolation + * + * The mode of interpolation between key frames + * + * Since: 1.2 + */ +typedef enum { + CLUTTER_INTERPOLATION_LINEAR, + CLUTTER_INTERPOLATION_CUBIC +} ClutterInterpolation; + +/** + * ClutterBinAlignment: + * @CLUTTER_BIN_ALIGNMENT_FIXED: Fixed position alignment; the + * #ClutterBinLayout will honour the fixed position provided + * by the actors themselves when allocating them + * @CLUTTER_BIN_ALIGNMENT_FILL: Fill the allocation size + * @CLUTTER_BIN_ALIGNMENT_START: Position the actors at the top + * or left side of the container, depending on the axis + * @CLUTTER_BIN_ALIGNMENT_END: Position the actors at the bottom + * or right side of the container, depending on the axis + * @CLUTTER_BIN_ALIGNMENT_CENTER: Position the actors at the + * center of the container, depending on the axis + * + * The alignment policies available on each axis for #ClutterBinLayout + * + * Since: 1.2 + */ +typedef enum { + CLUTTER_BIN_ALIGNMENT_FIXED, + CLUTTER_BIN_ALIGNMENT_FILL, + CLUTTER_BIN_ALIGNMENT_START, + CLUTTER_BIN_ALIGNMENT_END, + CLUTTER_BIN_ALIGNMENT_CENTER +} ClutterBinAlignment; + +/** + * ClutterBindCoordinate: + * @CLUTTER_BIND_X: Bind the X coordinate + * @CLUTTER_BIND_Y: Bind the Y coordinate + * @CLUTTER_BIND_WIDTH: Bind the width + * @CLUTTER_BIND_HEIGHT: Bind the height + * @CLUTTER_BIND_POSITION: Equivalent to to %CLUTTER_BIND_X and + * %CLUTTER_BIND_Y + * @CLUTTER_BIND_SIZE: Equivalent to %CLUTTER_BIND_WIDTH and + * %CLUTTER_BIND_HEIGHT + * + * Specifies which property should be used in a binding + * + * Since: 1.4 + */ +typedef enum { /*< prefix=CLUTTER_BIND >*/ + CLUTTER_BIND_X, + CLUTTER_BIND_Y, + CLUTTER_BIND_WIDTH, + CLUTTER_BIND_HEIGHT, + CLUTTER_BIND_POSITION, + CLUTTER_BIND_SIZE +} ClutterBindCoordinate; + +/** + * ClutterEffectPaintFlags: + * @CLUTTER_EFFECT_PAINT_ACTOR_DIRTY: The actor or one of its children + * has queued a redraw before this paint. This implies that the effect + * should call clutter_actor_continue_paint() to chain to the next + * effect and can not cache any results from a previous paint. + * + * Flags passed to the ‘paint’ or ‘pick’ method of #ClutterEffect. + */ +typedef enum { /*< prefix=CLUTTER_EFFECT_PAINT >*/ + CLUTTER_EFFECT_PAINT_ACTOR_DIRTY = (1 << 0) +} ClutterEffectPaintFlags; + +/** + * ClutterBoxAlignment: + * @CLUTTER_BOX_ALIGNMENT_START: Align the child to the top or to + * to the left, depending on the used axis + * @CLUTTER_BOX_ALIGNMENT_CENTER: Align the child to the center + * @CLUTTER_BOX_ALIGNMENT_END: Align the child to the bottom or to + * the right, depending on the used axis + * + * The alignment policies available on each axis of the #ClutterBoxLayout + * + * Since: 1.2 + */ +typedef enum { + CLUTTER_BOX_ALIGNMENT_START, + CLUTTER_BOX_ALIGNMENT_END, + CLUTTER_BOX_ALIGNMENT_CENTER +} ClutterBoxAlignment; + +/** + * ClutterLongPressState: + * @CLUTTER_LONG_PRESS_QUERY: Queries the action whether it supports + * long presses + * @CLUTTER_LONG_PRESS_ACTIVATE: Activates the action on a long press + * @CLUTTER_LONG_PRESS_CANCEL: The long press was cancelled + * + * The states for the #ClutterClikAction::long-press signal. + * + * Since: 1.8 + */ +typedef enum { /*< prefix=CLUTTER_LONG_PRESS >*/ + CLUTTER_LONG_PRESS_QUERY, + CLUTTER_LONG_PRESS_ACTIVATE, + CLUTTER_LONG_PRESS_CANCEL +} ClutterLongPressState; + +/** + * ClutterStaticColor: + * @CLUTTER_COLOR_WHITE: White color (ffffffff) + * @CLUTTER_COLOR_BLACK: Black color (000000ff) + * @CLUTTER_COLOR_RED: Red color (ff0000ff) + * @CLUTTER_COLOR_DARK_RED: Dark red color (800000ff) + * @CLUTTER_COLOR_GREEN: Green color (00ff00ff) + * @CLUTTER_COLOR_DARK_GREEN: Dark green color (008000ff) + * @CLUTTER_COLOR_BLUE: Blue color (0000ffff) + * @CLUTTER_COLOR_DARK_BLUE: Dark blue color (000080ff) + * @CLUTTER_COLOR_CYAN: Cyan color (00ffffff) + * @CLUTTER_COLOR_DARK_CYAN: Dark cyan color (008080ff) + * @CLUTTER_COLOR_MAGENTA: Magenta color (ff00ffff) + * @CLUTTER_COLOR_DARK_MAGENTA: Dark magenta color (800080ff) + * @CLUTTER_COLOR_YELLOW: Yellow color (ffff00ff) + * @CLUTTER_COLOR_DARK_YELLOW: Dark yellow color (808000ff) + * @CLUTTER_COLOR_GRAY: Gray color (a0a0a4ff) + * @CLUTTER_COLOR_DARK_GRAY: Dark Gray color (808080ff) + * @CLUTTER_COLOR_LIGHT_GRAY: Light gray color (c0c0c0ff) + * @CLUTTER_COLOR_BUTTER: Butter color (edd400ff) + * @CLUTTER_COLOR_BUTTER_LIGHT: Light butter color (fce94fff) + * @CLUTTER_COLOR_BUTTER_DARK: Dark butter color (c4a000ff) + * @CLUTTER_COLOR_ORANGE: Orange color (f57900ff) + * @CLUTTER_COLOR_ORANGE_LIGHT: Light orange color (fcaf3fff) + * @CLUTTER_COLOR_ORANGE_DARK: Dark orange color (ce5c00ff) + * @CLUTTER_COLOR_CHOCOLATE: Chocolate color (c17d11ff) + * @CLUTTER_COLOR_CHOCOLATE_LIGHT: Light chocolate color (e9b96eff) + * @CLUTTER_COLOR_CHOCOLATE_DARK: Dark chocolate color (8f5902ff) + * @CLUTTER_COLOR_CHAMELEON: Chameleon color (73d216ff) + * @CLUTTER_COLOR_CHAMELEON_LIGHT: Light chameleon color (8ae234ff) + * @CLUTTER_COLOR_CHAMELEON_DARK: Dark chameleon color (4e9a06ff) + * @CLUTTER_COLOR_SKY_BLUE: Sky color (3465a4ff) + * @CLUTTER_COLOR_SKY_BLUE_LIGHT: Light sky color (729fcfff) + * @CLUTTER_COLOR_SKY_BLUE_DARK: Dark sky color (204a87ff) + * @CLUTTER_COLOR_PLUM: Plum color (75507bff) + * @CLUTTER_COLOR_PLUM_LIGHT: Light plum color (ad7fa8ff) + * @CLUTTER_COLOR_PLUM_DARK: Dark plum color (5c3566ff) + * @CLUTTER_COLOR_SCARLET_RED: Scarlet red color (cc0000ff) + * @CLUTTER_COLOR_SCARLET_RED_LIGHT: Light scarlet red color (ef2929ff) + * @CLUTTER_COLOR_SCARLET_RED_DARK: Dark scarlet red color (a40000ff) + * @CLUTTER_COLOR_ALUMINIUM_1: Aluminium, first variant (eeeeecff) + * @CLUTTER_COLOR_ALUMINIUM_2: Aluminium, second variant (d3d7cfff) + * @CLUTTER_COLOR_ALUMINIUM_3: Aluminium, third variant (babdb6ff) + * @CLUTTER_COLOR_ALUMINIUM_4: Aluminium, fourth variant (888a85ff) + * @CLUTTER_COLOR_ALUMINIUM_5: Aluminium, fifth variant (555753ff) + * @CLUTTER_COLOR_ALUMINIUM_6: Aluminium, sixth variant (2e3436ff) + * @CLUTTER_COLOR_TRANSPARENT: Transparent color (00000000) + * + * Named colors, for accessing global colors defined by Clutter + * + * Since: 1.6 + */ +typedef enum { /*< prefix=CLUTTER_COLOR >*/ + /* CGA/EGA-like palette */ + CLUTTER_COLOR_WHITE = 0, + CLUTTER_COLOR_BLACK, + CLUTTER_COLOR_RED, + CLUTTER_COLOR_DARK_RED, + CLUTTER_COLOR_GREEN, + CLUTTER_COLOR_DARK_GREEN, + CLUTTER_COLOR_BLUE, + CLUTTER_COLOR_DARK_BLUE, + CLUTTER_COLOR_CYAN, + CLUTTER_COLOR_DARK_CYAN, + CLUTTER_COLOR_MAGENTA, + CLUTTER_COLOR_DARK_MAGENTA, + CLUTTER_COLOR_YELLOW, + CLUTTER_COLOR_DARK_YELLOW, + CLUTTER_COLOR_GRAY, + CLUTTER_COLOR_DARK_GRAY, + CLUTTER_COLOR_LIGHT_GRAY, + + /* Tango icon palette */ + CLUTTER_COLOR_BUTTER, + CLUTTER_COLOR_BUTTER_LIGHT, + CLUTTER_COLOR_BUTTER_DARK, + CLUTTER_COLOR_ORANGE, + CLUTTER_COLOR_ORANGE_LIGHT, + CLUTTER_COLOR_ORANGE_DARK, + CLUTTER_COLOR_CHOCOLATE, + CLUTTER_COLOR_CHOCOLATE_LIGHT, + CLUTTER_COLOR_CHOCOLATE_DARK, + CLUTTER_COLOR_CHAMELEON, + CLUTTER_COLOR_CHAMELEON_LIGHT, + CLUTTER_COLOR_CHAMELEON_DARK, + CLUTTER_COLOR_SKY_BLUE, + CLUTTER_COLOR_SKY_BLUE_LIGHT, + CLUTTER_COLOR_SKY_BLUE_DARK, + CLUTTER_COLOR_PLUM, + CLUTTER_COLOR_PLUM_LIGHT, + CLUTTER_COLOR_PLUM_DARK, + CLUTTER_COLOR_SCARLET_RED, + CLUTTER_COLOR_SCARLET_RED_LIGHT, + CLUTTER_COLOR_SCARLET_RED_DARK, + CLUTTER_COLOR_ALUMINIUM_1, + CLUTTER_COLOR_ALUMINIUM_2, + CLUTTER_COLOR_ALUMINIUM_3, + CLUTTER_COLOR_ALUMINIUM_4, + CLUTTER_COLOR_ALUMINIUM_5, + CLUTTER_COLOR_ALUMINIUM_6, + + /* Fully transparent black */ + CLUTTER_COLOR_TRANSPARENT +} ClutterStaticColor; + +/** + * ClutterDragAxis: + * @CLUTTER_DRAG_AXIS_NONE: No constraint + * @CLUTTER_DRAG_X_AXIS: Set a constraint on the X axis + * @CLUTTER_DRAG_Y_AXIS: Set a constraint on the Y axis + * + * The axis of the constraint that should be applied on the + * dragging action + * + * Since: 1.4 + */ +typedef enum { /*< prefix=CLUTTER_DRAG >*/ + CLUTTER_DRAG_AXIS_NONE = 0, + + CLUTTER_DRAG_X_AXIS, + CLUTTER_DRAG_Y_AXIS +} ClutterDragAxis; + +/** + * ClutterEventFlags: + * @CLUTTER_EVENT_NONE: No flag set + * @CLUTTER_EVENT_FLAG_SYNTHETIC: Synthetic event + * + * Flags for the #ClutterEvent + * + * Since: 0.6 + */ +typedef enum { /*< flags prefix=CLUTTER_EVENT >*/ + CLUTTER_EVENT_NONE = 0, + CLUTTER_EVENT_FLAG_SYNTHETIC = 1 << 0 +} ClutterEventFlags; + +/** + * ClutterEventType: + * @CLUTTER_NOTHING: Empty event + * @CLUTTER_KEY_PRESS: Key press event + * @CLUTTER_KEY_RELEASE: Key release event + * @CLUTTER_MOTION: Pointer motion event + * @CLUTTER_ENTER: Actor enter event + * @CLUTTER_LEAVE: Actor leave event + * @CLUTTER_BUTTON_PRESS: Pointer button press event + * @CLUTTER_BUTTON_RELEASE: Pointer button release event + * @CLUTTER_SCROLL: Pointer scroll event + * @CLUTTER_STAGE_STATE: Stage stage change event + * @CLUTTER_DESTROY_NOTIFY: Destroy notification event + * @CLUTTER_CLIENT_MESSAGE: Client message event + * @CLUTTER_DELETE: Stage delete event + * + * Types of events. + * + * Since: 0.4 + */ +typedef enum { /*< prefix=CLUTTER >*/ + CLUTTER_NOTHING = 0, + CLUTTER_KEY_PRESS, + CLUTTER_KEY_RELEASE, + CLUTTER_MOTION, + CLUTTER_ENTER, + CLUTTER_LEAVE, + CLUTTER_BUTTON_PRESS, + CLUTTER_BUTTON_RELEASE, + CLUTTER_SCROLL, + CLUTTER_STAGE_STATE, + CLUTTER_DESTROY_NOTIFY, + CLUTTER_CLIENT_MESSAGE, + CLUTTER_DELETE +} ClutterEventType; + +/** + * ClutterScrollDirection: + * @CLUTTER_SCROLL_UP: Scroll up + * @CLUTTER_SCROLL_DOWN: Scroll down + * @CLUTTER_SCROLL_LEFT: Scroll left + * @CLUTTER_SCROLL_RIGHT: Scroll right + * + * Direction of a pointer scroll event. + * + * Since: 0.4 + */ +typedef enum { /*< prefix=CLUTTER_SCROLL >*/ + CLUTTER_SCROLL_UP, + CLUTTER_SCROLL_DOWN, + CLUTTER_SCROLL_LEFT, + CLUTTER_SCROLL_RIGHT +} ClutterScrollDirection; + +/** + * ClutterStageState: + * @CLUTTER_STAGE_STATE_FULLSCREEN: Fullscreen mask + * @CLUTTER_STAGE_STATE_OFFSCREEN: Offscreen mask + * @CLUTTER_STAGE_STATE_ACTIVATED: Activated mask + * + * Stage state masks + * + * Since: 0.4 + */ +typedef enum { + CLUTTER_STAGE_STATE_FULLSCREEN = (1<<1), + CLUTTER_STAGE_STATE_OFFSCREEN = (1<<2), + CLUTTER_STAGE_STATE_ACTIVATED = (1<<3) +} ClutterStageState; + +/** + * ClutterFeatureFlags: + * @CLUTTER_FEATURE_TEXTURE_NPOT: Set if NPOTS textures supported. + * @CLUTTER_FEATURE_SYNC_TO_VBLANK: Set if vblank syncing supported. + * @CLUTTER_FEATURE_TEXTURE_YUV: Set if YUV based textures supported. + * @CLUTTER_FEATURE_TEXTURE_READ_PIXELS: Set if texture pixels can be read. + * @CLUTTER_FEATURE_STAGE_STATIC: Set if stage size if fixed (i.e framebuffer) + * @CLUTTER_FEATURE_STAGE_USER_RESIZE: Set if stage is able to be user resized. + * @CLUTTER_FEATURE_STAGE_CURSOR: Set if stage has a graphical cursor. + * @CLUTTER_FEATURE_SHADERS_GLSL: Set if the backend supports GLSL shaders. + * @CLUTTER_FEATURE_OFFSCREEN: Set if the backend supports offscreen rendering. + * @CLUTTER_FEATURE_STAGE_MULTIPLE: Set if multiple stages are supported. + * @CLUTTER_FEATURE_SWAP_EVENTS: Set if the GLX_INTEL_swap_event is supported. + * + * Runtime flags indicating specific features available via Clutter window + * sysytem and graphics backend. + * + * Since: 0.4 + */ +typedef enum +{ + CLUTTER_FEATURE_TEXTURE_NPOT = (1 << 2), + CLUTTER_FEATURE_SYNC_TO_VBLANK = (1 << 3), + CLUTTER_FEATURE_TEXTURE_YUV = (1 << 4), + CLUTTER_FEATURE_TEXTURE_READ_PIXELS = (1 << 5), + CLUTTER_FEATURE_STAGE_STATIC = (1 << 6), + CLUTTER_FEATURE_STAGE_USER_RESIZE = (1 << 7), + CLUTTER_FEATURE_STAGE_CURSOR = (1 << 8), + CLUTTER_FEATURE_SHADERS_GLSL = (1 << 9), + CLUTTER_FEATURE_OFFSCREEN = (1 << 10), + CLUTTER_FEATURE_STAGE_MULTIPLE = (1 << 11), + CLUTTER_FEATURE_SWAP_EVENTS = (1 << 12) +} ClutterFeatureFlags; + +/** + * ClutterFlowOrientation: + * @CLUTTER_FLOW_HORIZONTAL: Arrange the children of the flow layout + * horizontally first + * @CLUTTER_FLOW_VERTICAL: Arrange the children of the flow layout + * vertically first + * + * The direction of the arrangement of the children inside + * a #ClutterFlowLayout + * + * Since: 1.2 + */ +typedef enum { /*< prefix=CLUTTER_FLOW >*/ + CLUTTER_FLOW_HORIZONTAL, + CLUTTER_FLOW_VERTICAL +} ClutterFlowOrientation; + +/** + * ClutterInputDeviceType: + * @CLUTTER_POINTER_DEVICE: A pointer device + * @CLUTTER_KEYBOARD_DEVICE: A keyboard device + * @CLUTTER_EXTENSION_DEVICE: A generic extension device + * @CLUTTER_JOYSTICK_DEVICE: A joystick device + * @CLUTTER_TABLET_DEVICE: A tablet device + * @CLUTTER_TOUCHPAD_DEVICE: A touchpad device + * @CLUTTER_TOUCHSCREEN_DEVICE: A touch screen device + * @CLUTTER_PEN_DEVICE: A pen device + * @CLUTTER_ERASER_DEVICE: An eraser device + * @CLUTTER_CURSOR_DEVICE: A cursor device + * @CLUTTER_N_DEVICE_TYPES: The number of device types + * + * The types of input devices available. + * + * The #ClutterInputDeviceType enumeration can be extended at later + * date; not every platform supports every input device type. + * + * Since: 1.0 + */ +typedef enum { + CLUTTER_POINTER_DEVICE, + CLUTTER_KEYBOARD_DEVICE, + CLUTTER_EXTENSION_DEVICE, + CLUTTER_JOYSTICK_DEVICE, + CLUTTER_TABLET_DEVICE, + CLUTTER_TOUCHPAD_DEVICE, + CLUTTER_TOUCHSCREEN_DEVICE, + CLUTTER_PEN_DEVICE, + CLUTTER_ERASER_DEVICE, + CLUTTER_CURSOR_DEVICE, + + CLUTTER_N_DEVICE_TYPES +} ClutterInputDeviceType; + +/** + * ClutterInputMode: + * @CLUTTER_INPUT_MODE_MASTER: A master, virtual device + * @CLUTTER_INPUT_MODE_SLAVE: A slave, physical device, attached to + * a master device + * @CLUTTER_INPUT_MODE_FLOATING: A slave, physical device, not attached + * to a master device + * + * The mode for input devices available. + * + * Since: 1.6 + */ +typedef enum { + CLUTTER_INPUT_MODE_MASTER, + CLUTTER_INPUT_MODE_SLAVE, + CLUTTER_INPUT_MODE_FLOATING +} ClutterInputMode; + +/** + * ClutterInputAxis: + * @CLUTTER_INPUT_AXIS_IGNORE: Unused axis + * @CLUTTER_INPUT_AXIS_X: The position on the X axis + * @CLUTTER_INPUT_AXIS_Y: The position of the Y axis + * @CLUTTER_INPUT_AXIS_PRESSURE: The pressure information + * @CLUTTER_INPUT_AXIS_XTILT: The tilt on the X axis + * @CLUTTER_INPUT_AXIS_YTILT: The tile on the Y axis + * @CLUTTER_INPUT_AXIS_WHEEL: A wheel + * + * The type of axes Clutter recognizes on a #ClutterInputDevice + * + * Since: 1.6 + */ +typedef enum { + CLUTTER_INPUT_AXIS_IGNORE, + CLUTTER_INPUT_AXIS_X, + CLUTTER_INPUT_AXIS_Y, + CLUTTER_INPUT_AXIS_PRESSURE, + CLUTTER_INPUT_AXIS_XTILT, + CLUTTER_INPUT_AXIS_YTILT, + CLUTTER_INPUT_AXIS_WHEEL +} ClutterInputAxis; + +/** + * ClutterSnapEdge: + * @CLUTTER_SNAP_EDGE_TOP: the top edge + * @CLUTTER_SNAP_EDGE_RIGHT: the right edge + * @CLUTTER_SNAP_EDGE_BOTTOM: the bottom edge + * @CLUTTER_SNAP_EDGE_LEFT: the left edge + * + * The edge to snap + * + * Since: 1.6 + */ +typedef enum { + CLUTTER_SNAP_EDGE_TOP, + CLUTTER_SNAP_EDGE_RIGHT, + CLUTTER_SNAP_EDGE_BOTTOM, + CLUTTER_SNAP_EDGE_LEFT +} ClutterSnapEdge; + +/** + * ClutterPickMode: + * @CLUTTER_PICK_NONE: Do not paint any actor + * @CLUTTER_PICK_REACTIVE: Paint only the reactive actors + * @CLUTTER_PICK_ALL: Paint all actors + * + * Controls the paint cycle of the scene graph when in pick mode + * + * Since: 1.0 + */ +typedef enum { + CLUTTER_PICK_NONE = 0, + CLUTTER_PICK_REACTIVE, + CLUTTER_PICK_ALL +} ClutterPickMode; + +/** + * ClutterSwipeDirection: + * @CLUTTER_SWIPE_DIRECTION_UP: Upwards swipe gesture + * @CLUTTER_SWIPE_DIRECTION_DOWN: Downwards swipe gesture + * @CLUTTER_SWIPE_DIRECTION_LEFT: Leftwards swipe gesture + * @CLUTTER_SWIPE_DIRECTION_RIGHT: Rightwards swipe gesture + * + * The main direction of the swipe gesture + * + * Since: 1.8 + */ +typedef enum { /*< prefix=CLUTTER_SWIPE_DIRECTION >*/ + CLUTTER_SWIPE_DIRECTION_UP = 1 << 0, + CLUTTER_SWIPE_DIRECTION_DOWN = 1 << 1, + CLUTTER_SWIPE_DIRECTION_LEFT = 1 << 2, + CLUTTER_SWIPE_DIRECTION_RIGHT = 1 << 3 +} ClutterSwipeDirection; + +/** + * ClutterTableAlignment: + * @CLUTTER_TABLE_ALIGNMENT_START: Align the child to the top or to the + * left of a cell in the table, depending on the axis + * @CLUTTER_TABLE_ALIGNMENT_CENTER: Align the child to the center of + * a cell in the table + * @CLUTTER_TABLE_ALIGNMENT_END: Align the child to the bottom or to the + * right of a cell in the table, depending on the axis + * + * The alignment policies available on each axis of the #ClutterTableLayout + * + * Since: 1.4 + */ +typedef enum { + CLUTTER_TABLE_ALIGNMENT_START, + CLUTTER_TABLE_ALIGNMENT_CENTER, + CLUTTER_TABLE_ALIGNMENT_END +} ClutterTableAlignment; + +/** + * ClutterTextureFlags: + * @CLUTTER_TEXTURE_NONE: No flags + * @CLUTTER_TEXTURE_RGB_FLAG_BGR: FIXME + * @CLUTTER_TEXTURE_RGB_FLAG_PREMULT: FIXME + * @CLUTTER_TEXTURE_YUV_FLAG_YUV2: FIXME + * + * Flags for clutter_texture_set_from_rgb_data() and + * clutter_texture_set_from_yuv_data(). + * + * Since: 0.4 + */ +typedef enum { /*< prefix=CLUTTER_TEXTURE >*/ + CLUTTER_TEXTURE_NONE = 0, + CLUTTER_TEXTURE_RGB_FLAG_BGR = 1 << 1, + CLUTTER_TEXTURE_RGB_FLAG_PREMULT = 1 << 2, /* FIXME: not handled */ + CLUTTER_TEXTURE_YUV_FLAG_YUV2 = 1 << 3 + + /* FIXME: add compressed types ? */ +} ClutterTextureFlags; + +/** + * ClutterTextureQuality: + * @CLUTTER_TEXTURE_QUALITY_LOW: fastest rendering will use nearest neighbour + * interpolation when rendering. good setting. + * @CLUTTER_TEXTURE_QUALITY_MEDIUM: higher quality rendering without using + * extra resources. + * @CLUTTER_TEXTURE_QUALITY_HIGH: render the texture with the best quality + * available using extra memory. + * + * Enumaration controlling the texture quality. + * + * Since: 0.8 + */ +typedef enum { /*< prefix=CLUTTER_TEXTURE_QUALITY >*/ + CLUTTER_TEXTURE_QUALITY_LOW, + CLUTTER_TEXTURE_QUALITY_MEDIUM, + CLUTTER_TEXTURE_QUALITY_HIGH +} ClutterTextureQuality; + +/** + * ClutterTimelineDirection: + * @CLUTTER_TIMELINE_FORWARD: forward direction for a timeline + * @CLUTTER_TIMELINE_BACKWARD: backward direction for a timeline + * + * The direction of a #ClutterTimeline + * + * Since: 0.6 + */ +typedef enum { + CLUTTER_TIMELINE_FORWARD, + CLUTTER_TIMELINE_BACKWARD +} ClutterTimelineDirection; + +/** + * ClutterUnitType: + * @CLUTTER_UNIT_PIXEL: Unit expressed in pixels (with subpixel precision) + * @CLUTTER_UNIT_EM: Unit expressed in em + * @CLUTTER_UNIT_MM: Unit expressed in millimeters + * @CLUTTER_UNIT_POINT: Unit expressed in points + * @CLUTTER_UNIT_CM: Unit expressed in centimeters + * + * The type of unit in which a value is expressed + * + * This enumeration might be expanded at later date + * + * Since: 1.0 + */ +typedef enum { /*< prefix=CLUTTER_UNIT >*/ + CLUTTER_UNIT_PIXEL, + CLUTTER_UNIT_EM, + CLUTTER_UNIT_MM, + CLUTTER_UNIT_POINT, + CLUTTER_UNIT_CM +} ClutterUnitType; + +#define CLUTTER_PATH_RELATIVE (32) + +/** + * ClutterPathNodeType: + * @CLUTTER_PATH_MOVE_TO: jump to the given position + * @CLUTTER_PATH_LINE_TO: create a line from the last node to the + * given position + * @CLUTTER_PATH_CURVE_TO: bezier curve using the last position and + * three control points. + * @CLUTTER_PATH_CLOSE: create a line from the last node to the last + * %CLUTTER_PATH_MOVE_TO node. + * @CLUTTER_PATH_REL_MOVE_TO: same as %CLUTTER_PATH_MOVE_TO but with + * coordinates relative to the last node. + * @CLUTTER_PATH_REL_LINE_TO: same as %CLUTTER_PATH_LINE_TO but with + * coordinates relative to the last node. + * @CLUTTER_PATH_REL_CURVE_TO: same as %CLUTTER_PATH_CURVE_TO but with + * coordinates relative to the last node. + * + * Types of nodes in a #ClutterPath. + * + * Since: 1.0 + */ +typedef enum { + CLUTTER_PATH_MOVE_TO = 0, + CLUTTER_PATH_LINE_TO = 1, + CLUTTER_PATH_CURVE_TO = 2, + CLUTTER_PATH_CLOSE = 3, + + CLUTTER_PATH_REL_MOVE_TO = CLUTTER_PATH_MOVE_TO | CLUTTER_PATH_RELATIVE, + CLUTTER_PATH_REL_LINE_TO = CLUTTER_PATH_LINE_TO | CLUTTER_PATH_RELATIVE, + CLUTTER_PATH_REL_CURVE_TO = CLUTTER_PATH_CURVE_TO | CLUTTER_PATH_RELATIVE +} ClutterPathNodeType; + +G_END_DECLS + +#endif /* __CLUTTER_ENUMS_H__ */ diff --git a/clutter/clutter-event.h b/clutter/clutter-event.h index d50b3cc1a..d07c92772 100644 --- a/clutter/clutter-event.h +++ b/clutter/clutter-event.h @@ -28,9 +28,8 @@ #ifndef __CLUTTER_EVENT_H__ #define __CLUTTER_EVENT_H__ -#include -#include #include +#include #define CLUTTER_TYPE_EVENT (clutter_event_get_type ()) @@ -54,90 +53,6 @@ G_BEGIN_DECLS -/** - * ClutterEventFlags: - * @CLUTTER_EVENT_NONE: No flag set - * @CLUTTER_EVENT_FLAG_SYNTHETIC: Synthetic event - * - * Flags for the #ClutterEvent - * - * Since: 0.6 - */ -typedef enum { /*< flags prefix=CLUTTER_EVENT >*/ - CLUTTER_EVENT_NONE = 0, - CLUTTER_EVENT_FLAG_SYNTHETIC = 1 << 0 -} ClutterEventFlags; - -/** - * ClutterEventType: - * @CLUTTER_NOTHING: Empty event - * @CLUTTER_KEY_PRESS: Key press event - * @CLUTTER_KEY_RELEASE: Key release event - * @CLUTTER_MOTION: Pointer motion event - * @CLUTTER_ENTER: Actor enter event - * @CLUTTER_LEAVE: Actor leave event - * @CLUTTER_BUTTON_PRESS: Pointer button press event - * @CLUTTER_BUTTON_RELEASE: Pointer button release event - * @CLUTTER_SCROLL: Pointer scroll event - * @CLUTTER_STAGE_STATE: Stage stage change event - * @CLUTTER_DESTROY_NOTIFY: Destroy notification event - * @CLUTTER_CLIENT_MESSAGE: Client message event - * @CLUTTER_DELETE: Stage delete event - * - * Types of events. - * - * Since: 0.4 - */ -typedef enum { /*< prefix=CLUTTER >*/ - CLUTTER_NOTHING = 0, - CLUTTER_KEY_PRESS, - CLUTTER_KEY_RELEASE, - CLUTTER_MOTION, - CLUTTER_ENTER, - CLUTTER_LEAVE, - CLUTTER_BUTTON_PRESS, - CLUTTER_BUTTON_RELEASE, - CLUTTER_SCROLL, - CLUTTER_STAGE_STATE, - CLUTTER_DESTROY_NOTIFY, - CLUTTER_CLIENT_MESSAGE, - CLUTTER_DELETE -} ClutterEventType; - -/** - * ClutterScrollDirection: - * @CLUTTER_SCROLL_UP: Scroll up - * @CLUTTER_SCROLL_DOWN: Scroll down - * @CLUTTER_SCROLL_LEFT: Scroll left - * @CLUTTER_SCROLL_RIGHT: Scroll right - * - * Direction of a pointer scroll event. - * - * Since: 0.4 - */ -typedef enum { /*< prefix=CLUTTER_SCROLL >*/ - CLUTTER_SCROLL_UP, - CLUTTER_SCROLL_DOWN, - CLUTTER_SCROLL_LEFT, - CLUTTER_SCROLL_RIGHT -} ClutterScrollDirection; - -/** - * ClutterStageState: - * @CLUTTER_STAGE_STATE_FULLSCREEN: Fullscreen mask - * @CLUTTER_STAGE_STATE_OFFSCREEN: Offscreen mask - * @CLUTTER_STAGE_STATE_ACTIVATED: Activated mask - * - * Stage state masks - * - * Since: 0.4 - */ -typedef enum { - CLUTTER_STAGE_STATE_FULLSCREEN = (1<<1), - CLUTTER_STAGE_STATE_OFFSCREEN = (1<<2), - CLUTTER_STAGE_STATE_ACTIVATED = (1<<3) -} ClutterStageState; - typedef struct _ClutterAnyEvent ClutterAnyEvent; typedef struct _ClutterButtonEvent ClutterButtonEvent; typedef struct _ClutterKeyEvent ClutterKeyEvent; diff --git a/clutter/clutter-feature.h b/clutter/clutter-feature.h index 4b4ae9d2b..4242ce0fb 100644 --- a/clutter/clutter-feature.h +++ b/clutter/clutter-feature.h @@ -28,44 +28,10 @@ #ifndef __CLUTTER_FEATURE_H__ #define __CLUTTER_FEATURE_H__ -#include +#include G_BEGIN_DECLS -/** - * ClutterFeatureFlags: - * @CLUTTER_FEATURE_TEXTURE_NPOT: Set if NPOTS textures supported. - * @CLUTTER_FEATURE_SYNC_TO_VBLANK: Set if vblank syncing supported. - * @CLUTTER_FEATURE_TEXTURE_YUV: Set if YUV based textures supported. - * @CLUTTER_FEATURE_TEXTURE_READ_PIXELS: Set if texture pixels can be read. - * @CLUTTER_FEATURE_STAGE_STATIC: Set if stage size if fixed (i.e framebuffer) - * @CLUTTER_FEATURE_STAGE_USER_RESIZE: Set if stage is able to be user resized. - * @CLUTTER_FEATURE_STAGE_CURSOR: Set if stage has a graphical cursor. - * @CLUTTER_FEATURE_SHADERS_GLSL: Set if the backend supports GLSL shaders. - * @CLUTTER_FEATURE_OFFSCREEN: Set if the backend supports offscreen rendering. - * @CLUTTER_FEATURE_STAGE_MULTIPLE: Set if multiple stages are supported. - * @CLUTTER_FEATURE_SWAP_EVENTS: Set if the GLX_INTEL_swap_event is supported. - * - * Runtime flags indicating specific features available via Clutter window - * sysytem and graphics backend. - * - * Since: 0.4 - */ -typedef enum -{ - CLUTTER_FEATURE_TEXTURE_NPOT = (1 << 2), - CLUTTER_FEATURE_SYNC_TO_VBLANK = (1 << 3), - CLUTTER_FEATURE_TEXTURE_YUV = (1 << 4), - CLUTTER_FEATURE_TEXTURE_READ_PIXELS = (1 << 5), - CLUTTER_FEATURE_STAGE_STATIC = (1 << 6), - CLUTTER_FEATURE_STAGE_USER_RESIZE = (1 << 7), - CLUTTER_FEATURE_STAGE_CURSOR = (1 << 8), - CLUTTER_FEATURE_SHADERS_GLSL = (1 << 9), - CLUTTER_FEATURE_OFFSCREEN = (1 << 10), - CLUTTER_FEATURE_STAGE_MULTIPLE = (1 << 11), - CLUTTER_FEATURE_SWAP_EVENTS = (1 << 12) -} ClutterFeatureFlags; - gboolean clutter_feature_available (ClutterFeatureFlags feature); ClutterFeatureFlags clutter_feature_get_all (void); diff --git a/clutter/clutter-flow-layout.h b/clutter/clutter-flow-layout.h index 5cbbcd359..abbf82c85 100644 --- a/clutter/clutter-flow-layout.h +++ b/clutter/clutter-flow-layout.h @@ -44,23 +44,6 @@ typedef struct _ClutterFlowLayout ClutterFlowLayout; typedef struct _ClutterFlowLayoutPrivate ClutterFlowLayoutPrivate; typedef struct _ClutterFlowLayoutClass ClutterFlowLayoutClass; -/** - * ClutterFlowOrientation: - * @CLUTTER_FLOW_HORIZONTAL: Arrange the children of the flow layout - * horizontally first - * @CLUTTER_FLOW_VERTICAL: Arrange the children of the flow layout - * vertically first - * - * The direction of the arrangement of the children inside - * a #ClutterFlowLayout - * - * Since: 1.2 - */ -typedef enum { /*< prefix=CLUTTER_FLOW >*/ - CLUTTER_FLOW_HORIZONTAL, - CLUTTER_FLOW_VERTICAL -} ClutterFlowOrientation; - /** * ClutterFlowLayout: * diff --git a/clutter/clutter-input-device.h b/clutter/clutter-input-device.h index 012892067..437a2ccab 100644 --- a/clutter/clutter-input-device.h +++ b/clutter/clutter-input-device.h @@ -48,84 +48,6 @@ G_BEGIN_DECLS typedef struct _ClutterInputDevice ClutterInputDevice; typedef struct _ClutterInputDeviceClass ClutterInputDeviceClass; -/** - * ClutterInputDeviceType: - * @CLUTTER_POINTER_DEVICE: A pointer device - * @CLUTTER_KEYBOARD_DEVICE: A keyboard device - * @CLUTTER_EXTENSION_DEVICE: A generic extension device - * @CLUTTER_JOYSTICK_DEVICE: A joystick device - * @CLUTTER_TABLET_DEVICE: A tablet device - * @CLUTTER_TOUCHPAD_DEVICE: A touchpad device - * @CLUTTER_TOUCHSCREEN_DEVICE: A touch screen device - * @CLUTTER_PEN_DEVICE: A pen device - * @CLUTTER_ERASER_DEVICE: An eraser device - * @CLUTTER_CURSOR_DEVICE: A cursor device - * @CLUTTER_N_DEVICE_TYPES: The number of device types - * - * The types of input devices available. - * - * The #ClutterInputDeviceType enumeration can be extended at later - * date; not every platform supports every input device type. - * - * Since: 1.0 - */ -typedef enum { - CLUTTER_POINTER_DEVICE, - CLUTTER_KEYBOARD_DEVICE, - CLUTTER_EXTENSION_DEVICE, - CLUTTER_JOYSTICK_DEVICE, - CLUTTER_TABLET_DEVICE, - CLUTTER_TOUCHPAD_DEVICE, - CLUTTER_TOUCHSCREEN_DEVICE, - CLUTTER_PEN_DEVICE, - CLUTTER_ERASER_DEVICE, - CLUTTER_CURSOR_DEVICE, - - CLUTTER_N_DEVICE_TYPES -} ClutterInputDeviceType; - -/** - * ClutterInputMode: - * @CLUTTER_INPUT_MODE_MASTER: A master, virtual device - * @CLUTTER_INPUT_MODE_SLAVE: A slave, physical device, attached to - * a master device - * @CLUTTER_INPUT_MODE_FLOATING: A slave, physical device, not attached - * to a master device - * - * The mode for input devices available. - * - * Since: 1.6 - */ -typedef enum { - CLUTTER_INPUT_MODE_MASTER, - CLUTTER_INPUT_MODE_SLAVE, - CLUTTER_INPUT_MODE_FLOATING -} ClutterInputMode; - -/** - * ClutterInputAxis: - * @CLUTTER_INPUT_AXIS_IGNORE: Unused axis - * @CLUTTER_INPUT_AXIS_X: The position on the X axis - * @CLUTTER_INPUT_AXIS_Y: The position of the Y axis - * @CLUTTER_INPUT_AXIS_PRESSURE: The pressure information - * @CLUTTER_INPUT_AXIS_XTILT: The tilt on the X axis - * @CLUTTER_INPUT_AXIS_YTILT: The tile on the Y axis - * @CLUTTER_INPUT_AXIS_WHEEL: A wheel - * - * The type of axes Clutter recognizes on a #ClutterInputDevice - * - * Since: 1.6 - */ -typedef enum { - CLUTTER_INPUT_AXIS_IGNORE, - CLUTTER_INPUT_AXIS_X, - CLUTTER_INPUT_AXIS_Y, - CLUTTER_INPUT_AXIS_PRESSURE, - CLUTTER_INPUT_AXIS_XTILT, - CLUTTER_INPUT_AXIS_YTILT, - CLUTTER_INPUT_AXIS_WHEEL -} ClutterInputAxis; - GType clutter_input_device_get_type (void) G_GNUC_CONST; ClutterInputDeviceType clutter_input_device_get_device_type (ClutterInputDevice *device); diff --git a/clutter/clutter-path.h b/clutter/clutter-path.h index 6d625129f..cdc72061c 100644 --- a/clutter/clutter-path.h +++ b/clutter/clutter-path.h @@ -41,39 +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 _ClutterPathClass ClutterPathClass; typedef struct _ClutterPathPrivate ClutterPathPrivate; typedef struct _ClutterPathNode ClutterPathNode; diff --git a/clutter/clutter-snap-constraint.h b/clutter/clutter-snap-constraint.h index b800f83c5..e27821e09 100644 --- a/clutter/clutter-snap-constraint.h +++ b/clutter/clutter-snap-constraint.h @@ -48,24 +48,6 @@ G_BEGIN_DECLS typedef struct _ClutterSnapConstraint ClutterSnapConstraint; typedef struct _ClutterSnapConstraintClass ClutterSnapConstraintClass; -/** - * ClutterSnapEdge: - * @CLUTTER_SNAP_EDGE_TOP: the top edge - * @CLUTTER_SNAP_EDGE_RIGHT: the right edge - * @CLUTTER_SNAP_EDGE_BOTTOM: the bottom edge - * @CLUTTER_SNAP_EDGE_LEFT: the left edge - * - * The edge to snap - * - * Since: 1.6 - */ -typedef enum { - CLUTTER_SNAP_EDGE_TOP, - CLUTTER_SNAP_EDGE_RIGHT, - CLUTTER_SNAP_EDGE_BOTTOM, - CLUTTER_SNAP_EDGE_LEFT -} ClutterSnapEdge; - GType clutter_snap_constraint_get_type (void) G_GNUC_CONST; ClutterConstraint * clutter_snap_constraint_new (ClutterActor *source, diff --git a/clutter/clutter-stage.h b/clutter/clutter-stage.h index cdd779735..029dbced0 100644 --- a/clutter/clutter-stage.h +++ b/clutter/clutter-stage.h @@ -72,22 +72,6 @@ G_BEGIN_DECLS #endif /* !CLUTTER_DISABLE_DEPRECATED */ -/** - * ClutterPickMode: - * @CLUTTER_PICK_NONE: Do not paint any actor - * @CLUTTER_PICK_REACTIVE: Paint only the reactive actors - * @CLUTTER_PICK_ALL: Paint all actors - * - * Controls the paint cycle of the scene graph when in pick mode - * - * Since: 1.0 - */ -typedef enum { - CLUTTER_PICK_NONE = 0, - CLUTTER_PICK_REACTIVE, - CLUTTER_PICK_ALL -} ClutterPickMode; - typedef struct _ClutterPerspective ClutterPerspective; typedef struct _ClutterFog ClutterFog; diff --git a/clutter/clutter-swipe-action.h b/clutter/clutter-swipe-action.h index b32f2114c..087847d35 100644 --- a/clutter/clutter-swipe-action.h +++ b/clutter/clutter-swipe-action.h @@ -48,24 +48,6 @@ typedef struct _ClutterSwipeAction ClutterSwipeAction; typedef struct _ClutterSwipeActionPrivate ClutterSwipeActionPrivate; typedef struct _ClutterSwipeActionClass ClutterSwipeActionClass; -/** - * ClutterSwipeDirection: - * @CLUTTER_SWIPE_DIRECTION_UP: Upwards swipe gesture - * @CLUTTER_SWIPE_DIRECTION_DOWN: Downwards swipe gesture - * @CLUTTER_SWIPE_DIRECTION_LEFT: Leftwards swipe gesture - * @CLUTTER_SWIPE_DIRECTION_RIGHT: Rightwards swipe gesture - * - * The main direction of the swipe gesture - * - * Since: 1.8 - */ -typedef enum { /*< prefix=CLUTTER_SWIPE_DIRECTION >*/ - CLUTTER_SWIPE_DIRECTION_UP = 1 << 0, - CLUTTER_SWIPE_DIRECTION_DOWN = 1 << 1, - CLUTTER_SWIPE_DIRECTION_LEFT = 1 << 2, - CLUTTER_SWIPE_DIRECTION_RIGHT = 1 << 3 -} ClutterSwipeDirection; - /** * ClutterSwipeAction: * diff --git a/clutter/clutter-table-layout.h b/clutter/clutter-table-layout.h index 145546d8a..99dc8e6bc 100644 --- a/clutter/clutter-table-layout.h +++ b/clutter/clutter-table-layout.h @@ -47,25 +47,6 @@ typedef struct _ClutterTableLayout ClutterTableLayout; typedef struct _ClutterTableLayoutPrivate ClutterTableLayoutPrivate; typedef struct _ClutterTableLayoutClass ClutterTableLayoutClass; -/** - * ClutterTableAlignment: - * @CLUTTER_TABLE_ALIGNMENT_START: Align the child to the top or to the - * left of a cell in the table, depending on the axis - * @CLUTTER_TABLE_ALIGNMENT_CENTER: Align the child to the center of - * a cell in the table - * @CLUTTER_TABLE_ALIGNMENT_END: Align the child to the bottom or to the - * right of a cell in the table, depending on the axis - * - * The alignment policies available on each axis of the #ClutterTableLayout - * - * Since: 1.4 - */ -typedef enum { - CLUTTER_TABLE_ALIGNMENT_START, - CLUTTER_TABLE_ALIGNMENT_CENTER, - CLUTTER_TABLE_ALIGNMENT_END -} ClutterTableAlignment; - /** * ClutterTableLayout: * diff --git a/clutter/clutter-texture.h b/clutter/clutter-texture.h index 530e270f8..01b2ed6a5 100644 --- a/clutter/clutter-texture.h +++ b/clutter/clutter-texture.h @@ -121,46 +121,6 @@ struct _ClutterTextureClass void (*_clutter_texture5) (void); }; -/** - * ClutterTextureFlags: - * @CLUTTER_TEXTURE_NONE: No flags - * @CLUTTER_TEXTURE_RGB_FLAG_BGR: FIXME - * @CLUTTER_TEXTURE_RGB_FLAG_PREMULT: FIXME - * @CLUTTER_TEXTURE_YUV_FLAG_YUV2: FIXME - * - * Flags for clutter_texture_set_from_rgb_data() and - * clutter_texture_set_from_yuv_data(). - * - * Since: 0.4 - */ -typedef enum { /*< prefix=CLUTTER_TEXTURE >*/ - CLUTTER_TEXTURE_NONE = 0, - CLUTTER_TEXTURE_RGB_FLAG_BGR = 1 << 1, - CLUTTER_TEXTURE_RGB_FLAG_PREMULT = 1 << 2, /* FIXME: not handled */ - CLUTTER_TEXTURE_YUV_FLAG_YUV2 = 1 << 3 - - /* FIXME: add compressed types ? */ -} ClutterTextureFlags; - -/** - * ClutterTextureQuality: - * @CLUTTER_TEXTURE_QUALITY_LOW: fastest rendering will use nearest neighbour - * interpolation when rendering. good setting. - * @CLUTTER_TEXTURE_QUALITY_MEDIUM: higher quality rendering without using - * extra resources. - * @CLUTTER_TEXTURE_QUALITY_HIGH: render the texture with the best quality - * available using extra memory. - * - * Enumaration controlling the texture quality. - * - * Since: 0.8 - */ -typedef enum { /*< prefix=CLUTTER_TEXTURE_QUALITY >*/ - CLUTTER_TEXTURE_QUALITY_LOW, - CLUTTER_TEXTURE_QUALITY_MEDIUM, - CLUTTER_TEXTURE_QUALITY_HIGH -} ClutterTextureQuality; - GType clutter_texture_get_type (void) G_GNUC_CONST; ClutterActor * clutter_texture_new (void); diff --git a/clutter/clutter-timeline.h b/clutter/clutter-timeline.h index ce2891081..20f7725e9 100644 --- a/clutter/clutter-timeline.h +++ b/clutter/clutter-timeline.h @@ -28,7 +28,7 @@ #ifndef __CLUTTER_TIMELINE_H__ #define __CLUTTER_TIMELINE_H__ -#include +#include G_BEGIN_DECLS @@ -39,20 +39,6 @@ G_BEGIN_DECLS #define CLUTTER_IS_TIMELINE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), CLUTTER_TYPE_TIMELINE)) #define CLUTTER_TIMELINE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), CLUTTER_TYPE_TIMELINE, ClutterTimelineClass)) -/** - * ClutterTimelineDirection: - * @CLUTTER_TIMELINE_FORWARD: forward direction for a timeline - * @CLUTTER_TIMELINE_BACKWARD: backward direction for a timeline - * - * The direction of a #ClutterTimeline - * - * Since: 0.6 - */ -typedef enum { - CLUTTER_TIMELINE_FORWARD, - CLUTTER_TIMELINE_BACKWARD -} ClutterTimelineDirection; - typedef struct _ClutterTimeline ClutterTimeline; typedef struct _ClutterTimelineClass ClutterTimelineClass; typedef struct _ClutterTimelinePrivate ClutterTimelinePrivate; diff --git a/clutter/clutter-types.h b/clutter/clutter-types.h index 2df3766dd..75e24f445 100644 --- a/clutter/clutter-types.h +++ b/clutter/clutter-types.h @@ -28,7 +28,7 @@ #ifndef __CLUTTER_TYPES_H__ #define __CLUTTER_TYPES_H__ -#include +#include G_BEGIN_DECLS @@ -65,38 +65,6 @@ typedef struct _ClutterBehaviour ClutterBehaviour; typedef struct _ClutterShader ClutterShader; #endif /* DISABLE_DEPRECATED */ -/** - * 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; - typedef struct _ClutterActorBox ClutterActorBox; typedef struct _ClutterGeometry ClutterGeometry; typedef struct _ClutterKnot ClutterKnot; @@ -253,226 +221,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 - * - * Deprecated: 1.10: Use the #ClutterBackend and #cairo_font_options_t instead - */ -typedef enum -{ - CLUTTER_FONT_MIPMAPPING = (1 << 0), - CLUTTER_FONT_HINTING = (1 << 1) -} ClutterFontFlags; - -/** - * ClutterTextDirection: - * @CLUTTER_TEXT_DIRECTION_DEFAULT: Use the default setting, as returned - * by clutter_get_default_text_direction() - * @CLUTTER_TEXT_DIRECTION_LTR: Use left-to-right text direction - * @CLUTTER_TEXT_DIRECTION_RTL: Use right-to-left text direction - * - * The text direction to be used by #ClutterActors - * - * Since: 1.2 - */ -typedef enum { - CLUTTER_TEXT_DIRECTION_DEFAULT, - CLUTTER_TEXT_DIRECTION_LTR, - CLUTTER_TEXT_DIRECTION_RTL -} ClutterTextDirection; - -/** - * ClutterShaderType: - * @CLUTTER_VERTEX_SHADER: a vertex shader - * @CLUTTER_FRAGMENT_SHADER: a fragment shader - * - * The type of GLSL shader program - * - * Since: 1.4 - */ -typedef enum { - CLUTTER_VERTEX_SHADER, - CLUTTER_FRAGMENT_SHADER -} ClutterShaderType; - GType clutter_paint_volume_get_type (void) G_GNUC_CONST; ClutterPaintVolume *clutter_paint_volume_copy (const ClutterPaintVolume *pv); @@ -497,82 +245,6 @@ void clutter_paint_volume_union (ClutterPaintVolume gboolean clutter_paint_volume_set_from_allocation (ClutterPaintVolume *pv, ClutterActor *actor); -/** - * ClutterModifierType: - * @CLUTTER_SHIFT_MASK: Mask applied by the Shift key - * @CLUTTER_LOCK_MASK: Mask applied by the Caps Lock key - * @CLUTTER_CONTROL_MASK: Mask applied by the Control key - * @CLUTTER_MOD1_MASK: Mask applied by the first Mod key - * @CLUTTER_MOD2_MASK: Mask applied by the second Mod key - * @CLUTTER_MOD3_MASK: Mask applied by the third Mod key - * @CLUTTER_MOD4_MASK: Mask applied by the fourth Mod key - * @CLUTTER_MOD5_MASK: Mask applied by the fifth Mod key - * @CLUTTER_BUTTON1_MASK: Mask applied by the first pointer button - * @CLUTTER_BUTTON2_MASK: Mask applied by the second pointer button - * @CLUTTER_BUTTON3_MASK: Mask applied by the third pointer button - * @CLUTTER_BUTTON4_MASK: Mask applied by the fourth pointer button - * @CLUTTER_BUTTON5_MASK: Mask applied by the fifth pointer button - * @CLUTTER_SUPER_MASK: Mask applied by the Super key - * @CLUTTER_HYPER_MASK: Mask applied by the Hyper key - * @CLUTTER_META_MASK: Mask applied by the Meta key - * @CLUTTER_RELEASE_MASK: Mask applied during release - * @CLUTTER_MODIFIER_MASK: A mask covering all modifier types - * - * Masks applied to a #ClutterEvent by modifiers. - * - * Note that Clutter may add internal values to events which include - * reserved values such as %CLUTTER_MODIFIER_RESERVED_13_MASK. Your code - * should preserve and ignore them. You can use %CLUTTER_MODIFIER_MASK to - * remove all reserved values. - * - * Since: 0.4 - */ -typedef enum { - CLUTTER_SHIFT_MASK = 1 << 0, - CLUTTER_LOCK_MASK = 1 << 1, - CLUTTER_CONTROL_MASK = 1 << 2, - CLUTTER_MOD1_MASK = 1 << 3, - CLUTTER_MOD2_MASK = 1 << 4, - CLUTTER_MOD3_MASK = 1 << 5, - CLUTTER_MOD4_MASK = 1 << 6, - CLUTTER_MOD5_MASK = 1 << 7, - CLUTTER_BUTTON1_MASK = 1 << 8, - CLUTTER_BUTTON2_MASK = 1 << 9, - CLUTTER_BUTTON3_MASK = 1 << 10, - CLUTTER_BUTTON4_MASK = 1 << 11, - CLUTTER_BUTTON5_MASK = 1 << 12, - -#ifndef __GTK_DOC_IGNORE__ - CLUTTER_MODIFIER_RESERVED_13_MASK = 1 << 13, - CLUTTER_MODIFIER_RESERVED_14_MASK = 1 << 14, - CLUTTER_MODIFIER_RESERVED_15_MASK = 1 << 15, - CLUTTER_MODIFIER_RESERVED_16_MASK = 1 << 16, - CLUTTER_MODIFIER_RESERVED_17_MASK = 1 << 17, - CLUTTER_MODIFIER_RESERVED_18_MASK = 1 << 18, - CLUTTER_MODIFIER_RESERVED_19_MASK = 1 << 19, - CLUTTER_MODIFIER_RESERVED_20_MASK = 1 << 20, - CLUTTER_MODIFIER_RESERVED_21_MASK = 1 << 21, - CLUTTER_MODIFIER_RESERVED_22_MASK = 1 << 22, - CLUTTER_MODIFIER_RESERVED_23_MASK = 1 << 23, - CLUTTER_MODIFIER_RESERVED_24_MASK = 1 << 24, - CLUTTER_MODIFIER_RESERVED_25_MASK = 1 << 25, -#endif - - CLUTTER_SUPER_MASK = 1 << 26, - CLUTTER_HYPER_MASK = 1 << 27, - CLUTTER_META_MASK = 1 << 28, - -#ifndef __GTK_DOC_IGNORE__ - CLUTTER_MODIFIER_RESERVED_29_MASK = 1 << 29, -#endif - - CLUTTER_RELEASE_MASK = 1 << 30, - - /* Combination of CLUTTER_SHIFT_MASK..CLUTTER_BUTTON5_MASK + CLUTTER_SUPER_MASK - + CLUTTER_HYPER_MASK + CLUTTER_META_MASK + CLUTTER_RELEASE_MASK */ - CLUTTER_MODIFIER_MASK = 0x5c001fff -} ClutterModifierType; - G_END_DECLS #endif /* __CLUTTER_TYPES_H__ */ diff --git a/clutter/clutter-units.h b/clutter/clutter-units.h index 556372054..e50242bf9 100644 --- a/clutter/clutter-units.h +++ b/clutter/clutter-units.h @@ -37,28 +37,6 @@ G_BEGIN_DECLS -/** - * ClutterUnitType: - * @CLUTTER_UNIT_PIXEL: Unit expressed in pixels (with subpixel precision) - * @CLUTTER_UNIT_EM: Unit expressed in em - * @CLUTTER_UNIT_MM: Unit expressed in millimeters - * @CLUTTER_UNIT_POINT: Unit expressed in points - * @CLUTTER_UNIT_CM: Unit expressed in centimeters - * - * The type of unit in which a value is expressed - * - * This enumeration might be expanded at later date - * - * Since: 1.0 - */ -typedef enum { - CLUTTER_UNIT_PIXEL, - CLUTTER_UNIT_EM, - CLUTTER_UNIT_MM, - CLUTTER_UNIT_POINT, - CLUTTER_UNIT_CM -} ClutterUnitType; - /** * ClutterUnits: * @@ -170,18 +148,18 @@ struct _ClutterParamSpecUnits GType clutter_param_units_get_type (void) G_GNUC_CONST; -GParamSpec * clutter_param_spec_units (const gchar *name, - const gchar *nick, - const gchar *blurb, - ClutterUnitType default_type, - gfloat minimum, - gfloat maximum, - gfloat default_value, - GParamFlags flags); +GParamSpec * clutter_param_spec_units (const gchar *name, + const gchar *nick, + const gchar *blurb, + ClutterUnitType default_type, + gfloat minimum, + gfloat maximum, + gfloat default_value, + GParamFlags flags); -void clutter_value_set_units (GValue *value, - const ClutterUnits *units); -const ClutterUnits * clutter_value_get_units (const GValue *value); +void clutter_value_set_units (GValue *value, + const ClutterUnits *units); +const ClutterUnits * clutter_value_get_units (const GValue *value); G_END_DECLS diff --git a/clutter/clutter.h b/clutter/clutter.h index 05c36c91e..7c5c85d9f 100644 --- a/clutter/clutter.h +++ b/clutter/clutter.h @@ -29,6 +29,7 @@ #define __CLUTTER_H_INSIDE__ #include "clutter-config.h" +#include "clutter-types.h" #include "clutter-action.h" #include "clutter-actor.h" @@ -60,6 +61,7 @@ #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" @@ -95,7 +97,6 @@ #include "clutter-texture.h" #include "clutter-text.h" #include "clutter-timeline.h" -#include "clutter-types.h" #include "clutter-units.h" #include "clutter-util.h" #include "clutter-version.h" From 809298b5a2ab77ac2e24e91759eec2af6f43bffd Mon Sep 17 00:00:00 2001 From: Emmanuele Bassi Date: Tue, 4 Oct 2011 14:21:32 +0100 Subject: [PATCH 22/30] Move more typedefs into clutter-types.h --- clutter/clutter-animatable.h | 1 - clutter/clutter-script.h | 1 - clutter/clutter-state.h | 2 -- clutter/clutter-timeline.h | 1 - clutter/clutter-types.h | 12 +++++++----- 5 files changed, 7 insertions(+), 10 deletions(-) diff --git a/clutter/clutter-animatable.h b/clutter/clutter-animatable.h index 13690f9fc..e310fe665 100644 --- a/clutter/clutter-animatable.h +++ b/clutter/clutter-animatable.h @@ -38,7 +38,6 @@ G_BEGIN_DECLS #define CLUTTER_IS_ANIMATABLE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), CLUTTER_TYPE_ANIMATABLE)) #define CLUTTER_ANIMATABLE_GET_IFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), CLUTTER_TYPE_ANIMATABLE, ClutterAnimatableIface)) -typedef struct _ClutterAnimatable ClutterAnimatable; /* dummy typedef */ typedef struct _ClutterAnimatableIface ClutterAnimatableIface; /** diff --git a/clutter/clutter-script.h b/clutter/clutter-script.h index 68eb61dce..1da98709a 100644 --- a/clutter/clutter-script.h +++ b/clutter/clutter-script.h @@ -29,7 +29,6 @@ #define __CLUTTER_SCRIPT_H__ #include -#include G_BEGIN_DECLS diff --git a/clutter/clutter-state.h b/clutter/clutter-state.h index 79342c767..2bbc7392b 100644 --- a/clutter/clutter-state.h +++ b/clutter/clutter-state.h @@ -25,7 +25,6 @@ #define __CLUTTER_STATE_H__ #include -#include G_BEGIN_DECLS @@ -37,7 +36,6 @@ G_BEGIN_DECLS #define CLUTTER_IS_STATE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), CLUTTER_TYPE_STATE)) #define CLUTTER_STATE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), CLUTTER_TYPE_STATE, ClutterStateClass)) -typedef struct _ClutterState ClutterState; typedef struct _ClutterStatePrivate ClutterStatePrivate; typedef struct _ClutterStateClass ClutterStateClass; diff --git a/clutter/clutter-timeline.h b/clutter/clutter-timeline.h index 20f7725e9..ce642f3e1 100644 --- a/clutter/clutter-timeline.h +++ b/clutter/clutter-timeline.h @@ -39,7 +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)) -typedef struct _ClutterTimeline ClutterTimeline; typedef struct _ClutterTimelineClass ClutterTimelineClass; typedef struct _ClutterTimelinePrivate ClutterTimelinePrivate; diff --git a/clutter/clutter-types.h b/clutter/clutter-types.h index 75e24f445..eda51860d 100644 --- a/clutter/clutter-types.h +++ b/clutter/clutter-types.h @@ -38,7 +38,6 @@ G_BEGIN_DECLS #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; @@ -48,16 +47,16 @@ typedef struct _ClutterLayoutMeta ClutterLayoutMeta; typedef struct _ClutterActorMeta ClutterActorMeta; typedef struct _ClutterAlpha ClutterAlpha; +typedef struct _ClutterAnimatable ClutterAnimatable; /* dummy */ typedef struct _ClutterAnimator ClutterAnimator; -typedef struct _ClutterPath ClutterPath; +typedef struct _ClutterState ClutterState; +typedef struct _ClutterTimeline ClutterTimeline; typedef struct _ClutterAction ClutterAction; typedef struct _ClutterConstraint ClutterConstraint; typedef struct _ClutterEffect ClutterEffect; -typedef struct _ClutterColor ClutterColor; - -typedef union _ClutterEvent ClutterEvent; +typedef struct _ClutterPath ClutterPath; #if !defined(CLUTTER_DISABLE_DEPRECATED) || defined(CLUTTER_COMPILATION) typedef struct _ClutterBehaviour ClutterBehaviour; @@ -66,10 +65,13 @@ typedef struct _ClutterShader ClutterShader; #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: * From 31bee53eb769b4d72b39c0994adf1ddf345de209 Mon Sep 17 00:00:00 2001 From: Emmanuele Bassi Date: Tue, 11 Oct 2011 18:25:14 +0100 Subject: [PATCH 23/30] docs: Fixes to build the API reference --- doc/reference/clutter/clutter-sections.txt | 9 +++++++++ doc/reference/clutter/running-clutter.xml | 20 ++++++++++---------- 2 files changed, 19 insertions(+), 10 deletions(-) diff --git a/doc/reference/clutter/clutter-sections.txt b/doc/reference/clutter/clutter-sections.txt index 2354712c2..891968bfc 100644 --- a/doc/reference/clutter/clutter-sections.txt +++ b/doc/reference/clutter/clutter-sections.txt @@ -428,6 +428,7 @@ clutter_actor_add_action clutter_actor_add_action_with_name clutter_actor_remove_action clutter_actor_remove_action_by_name +clutter_actor_has_actions clutter_actor_get_actions clutter_actor_get_action clutter_actor_clear_actions @@ -435,6 +436,7 @@ clutter_actor_add_constraint clutter_actor_add_constraint_with_name clutter_actor_remove_constraint clutter_actor_remove_constraint_by_name +clutter_actor_has_constraints clutter_actor_get_constraints clutter_actor_get_constraint clutter_actor_clear_constraints @@ -442,6 +444,7 @@ clutter_actor_add_effect clutter_actor_add_effect_with_name clutter_actor_remove_effect clutter_actor_remove_effect_by_name +clutter_actor_has_effects clutter_actor_get_effects clutter_actor_get_effect clutter_actor_clear_effects @@ -1065,6 +1068,7 @@ clutter_event_get_key_code clutter_event_set_key_unicode clutter_event_get_key_unicode clutter_keysym_to_unicode +clutter_unicode_to_keysym clutter_event_set_related @@ -1125,6 +1129,11 @@ clutter_input_device_get_device_coords clutter_input_device_get_pointer_actor clutter_input_device_get_pointer_stage + +clutter_input_device_grab +clutter_input_device_ungrab +clutter_input_device_get_grabbed_actor + clutter_input_device_update_from_event diff --git a/doc/reference/clutter/running-clutter.xml b/doc/reference/clutter/running-clutter.xml index 3eb743156..94cd2cd66 100644 --- a/doc/reference/clutter/running-clutter.xml +++ b/doc/reference/clutter/running-clutter.xml @@ -256,7 +256,7 @@ The keys in this section strictly map to the #GObject properties exposed by the #ClutterSettings type; if Clutter is running on an X11 platform, the XSettings manager will take precedence over the - values specified in the settings.ini + values specified in the settings.ini file. @@ -268,32 +268,32 @@ ShowFps A boolean value, equivalent to setting - CLUTTER_SHOW_FPS. + CLUTTER_SHOW_FPS. DisableMipmappedText A boolean value, equivalent to setting - CLUTTER_DISABLE_MIPMAPPED_TEXT. + CLUTTER_DISABLE_MIPMAPPED_TEXT. UseFuzzyPicking A boolean value, equivalent to setting - CLUTTER_FUZZY_PICK. + CLUTTER_FUZZY_PICK. EnableAccessibility A boolean value, equivalent to setting - CLUTTER_ENABLE_ACCESSIBILITY. + CLUTTER_ENABLE_ACCESSIBILITY. DefaultFps An integer value, equivalent to setting - CLUTTER_DEFAULT_FPS. + CLUTTER_DEFAULT_FPS. TextDirection A string value, equivalent to setting - CLUTTER_TEXT_DIRECTION. + CLUTTER_TEXT_DIRECTION. @@ -305,19 +305,19 @@ Debug A string containing the debugging flags, in the same - format that should be used with the CLUTTER_DEBUG + format that should be used with the CLUTTER_DEBUG environment variable. PaintDebug A string containing the paint debugging flags, in the same - format that should be used with the CLUTTER_PAINT + format that should be used with the CLUTTER_PAINT environment variable. PickDebug A string containing the pick debugging flags, in the same - format that should be used with the CLUTTER_PICK + format that should be used with the CLUTTER_PICK environment variable. From 7bd5659962c34b54631074212f4746394a076564 Mon Sep 17 00:00:00 2001 From: Emmanuele Bassi Date: Tue, 11 Oct 2011 22:43:54 +0100 Subject: [PATCH 24/30] Do not leak strings from GKeyFile The string getters always copy, so we need to free the returned values. --- clutter/clutter-main.c | 12 ++++++++++-- clutter/clutter-settings.c | 4 ++-- 2 files changed, 12 insertions(+), 4 deletions(-) diff --git a/clutter/clutter-main.c b/clutter/clutter-main.c index 28b285750..2cd5649cc 100644 --- a/clutter/clutter-main.c +++ b/clutter/clutter-main.c @@ -225,7 +225,7 @@ clutter_config_read_from_key_file (GKeyFile *keyfile) GError *key_error = NULL; gboolean bool_value; gint int_value; - const gchar *str_value; + gchar *str_value; if (!g_key_file_has_group (keyfile, ENVIRONMENT_GROUP)) return; @@ -294,6 +294,8 @@ clutter_config_read_from_key_file (GKeyFile *keyfile) else clutter_text_direction = CLUTTER_TEXT_DIRECTION_LTR; } + + g_free (str_value); } #ifdef CLUTTER_ENABLE_DEBUG @@ -301,7 +303,7 @@ static void clutter_debug_read_from_key_file (GKeyFile *keyfile) { GError *key_error = NULL; - const gchar *value; + gchar *value; if (!g_key_file_has_group (keyfile, DEBUG_GROUP)) return; @@ -319,6 +321,8 @@ clutter_debug_read_from_key_file (GKeyFile *keyfile) else g_clear_error (&key_error); + g_free (value); + value = g_key_file_get_value (keyfile, DEBUG_GROUP, "PaintDebug", &key_error); @@ -332,6 +336,8 @@ clutter_debug_read_from_key_file (GKeyFile *keyfile) else g_clear_error (&key_error); + g_free (value); + value = g_key_file_get_value (keyfile, DEBUG_GROUP, "PickDebug", &key_error); @@ -344,6 +350,8 @@ clutter_debug_read_from_key_file (GKeyFile *keyfile) } else g_clear_error (&key_error); + + g_free (value); } #endif diff --git a/clutter/clutter-settings.c b/clutter/clutter-settings.c index 293f6467f..d61620ffb 100644 --- a/clutter/clutter-settings.c +++ b/clutter/clutter-settings.c @@ -760,12 +760,12 @@ _clutter_settings_read_from_key_file (ClutterSettings *settings, case G_TYPE_STRING: { - const gchar *val; + gchar *val; val = g_key_file_get_string (keyfile, SETTINGS_GROUP, p_name, &key_error); - g_value_set_string (&value, val); + g_value_take_string (&value, val); } break; } From b34e89e0c5b192adf1b12841d80cfec89c836c01 Mon Sep 17 00:00:00 2001 From: Emmanuele Bassi Date: Tue, 11 Oct 2011 23:02:17 +0100 Subject: [PATCH 25/30] Fix duplicate typedef of ClutterAlpha Caught on OS X but not on my Fedora machine. Weird. --- clutter/clutter-alpha.h | 1 - 1 file changed, 1 deletion(-) diff --git a/clutter/clutter-alpha.h b/clutter/clutter-alpha.h index 5f64d1d7d..4cd85bc22 100644 --- a/clutter/clutter-alpha.h +++ b/clutter/clutter-alpha.h @@ -44,7 +44,6 @@ G_BEGIN_DECLS #define CLUTTER_IS_ALPHA_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), CLUTTER_TYPE_ALPHA)) #define CLUTTER_ALPHA_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), CLUTTER_TYPE_ALPHA, ClutterAlphaClass)) -typedef struct _ClutterAlpha ClutterAlpha; typedef struct _ClutterAlphaClass ClutterAlphaClass; typedef struct _ClutterAlphaPrivate ClutterAlphaPrivate; From af7afc29a716a813197d024a973a2d6db80d6758 Mon Sep 17 00:00:00 2001 From: Emmanuele Bassi Date: Tue, 11 Oct 2011 23:03:09 +0100 Subject: [PATCH 26/30] Add a Clutter-specific deprecation macro for symbols Just like GLIB_DEPRECATED and GLIB_DEPRECATED_FOR, Clutter should have its own wrappers for G_DEPRECATED and G_DEPRECATED_FOR, to allow opting out of deprecation warnings. Deprecation warnings are enabled by default, now, even when building Clutter. --- clutter/clutter-actor.h | 11 +++++++++++ clutter/clutter-animatable.h | 1 + clutter/clutter-backend.h | 13 +++++++++++++ clutter/clutter-cairo-texture.h | 3 +++ clutter/clutter-main.h | 21 ++++++++++++++++++--- clutter/clutter-texture.h | 1 + clutter/clutter-types.h | 14 ++++++++++++++ clutter/clutter-util.h | 3 ++- clutter/cogl/clutter-egl.h | 2 ++ clutter/x11/clutter-x11.h | 6 ++++-- 10 files changed, 69 insertions(+), 6 deletions(-) diff --git a/clutter/clutter-actor.h b/clutter/clutter-actor.h index 39c1d0abc..380d92b69 100644 --- a/clutter/clutter-actor.h +++ b/clutter/clutter-actor.h @@ -398,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 @@ -470,19 +471,29 @@ gboolean clutter_actor_event (ClutterActor gboolean capture); #ifndef CLUTTER_DISABLE_DEPRECATED +CLUTTER_DEPRECATED ClutterActor * clutter_get_actor_by_gid (guint32 id_); #endif #if !defined(CLUTTER_DISABLE_DEPRECATED) || defined(CLUTTER_COMPILATION) +CLUTTER_DEPRECATED_FOR(clutter_actor_add_effect) gboolean clutter_actor_set_shader (ClutterActor *self, ClutterShader *shader); + +CLUTTER_DEPRECATED_FOR(clutter_actor_get_effect) ClutterShader * clutter_actor_get_shader (ClutterActor *self); + +CLUTTER_DEPRECATED_FOR(clutter_shader_effect_set_uniform_value) void clutter_actor_set_shader_param (ClutterActor *self, const gchar *param, const GValue *value); + +CLUTTER_DEPRECATED_FOR(clutter_shader_effect_set_uniform) void clutter_actor_set_shader_param_int (ClutterActor *self, const gchar *param, gint value); + +CLUTTER_DEPRECATED_FOR(clutter_shader_effect_set_uniform) void clutter_actor_set_shader_param_float (ClutterActor *self, const gchar *param, gfloat value); diff --git a/clutter/clutter-animatable.h b/clutter/clutter-animatable.h index e310fe665..5be9437c3 100644 --- a/clutter/clutter-animatable.h +++ b/clutter/clutter-animatable.h @@ -98,6 +98,7 @@ struct _ClutterAnimatableIface GType clutter_animatable_get_type (void) G_GNUC_CONST; #ifndef CLUTTER_DISABLE_DEPRECATED +CLUTTER_DEPRECATED_FOR(clutter_animatable_interpolate_value) gboolean clutter_animatable_animate_property (ClutterAnimatable *animatable, ClutterAnimation *animation, const gchar *property_name, diff --git a/clutter/clutter-backend.h b/clutter/clutter-backend.h index 6bb11ea2a..22707fc65 100644 --- a/clutter/clutter-backend.h +++ b/clutter/clutter-backend.h @@ -64,16 +64,29 @@ GType clutter_backend_get_type (void) G_GNUC_CONST; ClutterBackend *clutter_get_default_backend (void); #ifndef CLUTTER_DISABLE_DEPRECATED +CLUTTER_DEPRECATED_FOR(ClutterSettings:font_dpi) void clutter_backend_set_resolution (ClutterBackend *backend, gdouble dpi); + +CLUTTER_DEPRECATED_FOR(ClutterSettings:double_click_time) void clutter_backend_set_double_click_time (ClutterBackend *backend, guint msec); + +CLUTTER_DEPRECATED_FOR(ClutterSettings:double_click_time) guint clutter_backend_get_double_click_time (ClutterBackend *backend); + +CLUTTER_DEPRECATED_FOR(ClutterSettings:double_click_distance) void clutter_backend_set_double_click_distance (ClutterBackend *backend, guint distance); + +CLUTTER_DEPRECATED_FOR(ClutterSettings:double_click_distance) guint clutter_backend_get_double_click_distance (ClutterBackend *backend); + +CLUTTER_DEPRECATED_FOR(ClutterSettings:font_name) void clutter_backend_set_font_name (ClutterBackend *backend, const gchar *font_name); + +CLUTTER_DEPRECATED_FOR(ClutterSettings:font_name) const gchar * clutter_backend_get_font_name (ClutterBackend *backend); #endif /* CLUTTER_DISABLE_DEPRECATED */ diff --git a/clutter/clutter-cairo-texture.h b/clutter/clutter-cairo-texture.h index 4b65f8cc9..feae77c99 100644 --- a/clutter/clutter-cairo-texture.h +++ b/clutter/clutter-cairo-texture.h @@ -117,11 +117,14 @@ ClutterActor * clutter_cairo_texture_new (guint guint height); #ifndef CLUTTER_DISABLE_DEPRECATED +CLUTTER_DEPRECATED_FOR(clutter_cairo_texture_invalidate_rectangle) cairo_t * clutter_cairo_texture_create_region (ClutterCairoTexture *self, gint x_offset, gint y_offset, gint width, gint height); + +CLUTTER_DEPRECATED_FOR(clutter_cairo_texture_invalidate) cairo_t * clutter_cairo_texture_create (ClutterCairoTexture *self); #endif /* CLUTTER_DISABLE_DEPRECATED */ diff --git a/clutter/clutter-main.h b/clutter/clutter-main.h index 77be12d49..a50405ad1 100644 --- a/clutter/clutter-main.h +++ b/clutter/clutter-main.h @@ -97,8 +97,8 @@ void clutter_main_quit (void); gint clutter_main_level (void); #if !defined(CLUTTER_DISABLE_DEPRECATED) || defined(CLUTTER_COMPILATION) -void clutter_redraw (ClutterStage *stage) - G_GNUC_DEPRECATED_FOR (clutter_stage_ensure_redraw); +CLUTTER_DEPRECATED_FOR(clutter_stage_ensure_redraw) +void clutter_redraw (ClutterStage *stage); #endif void clutter_do_event (ClutterEvent *event); @@ -111,6 +111,7 @@ gboolean clutter_get_accessibility_enabled (void); /* Threading functions */ #if !defined(CLUTTER_DISABLE_DEPRECATED) || defined(CLUTTER_COMPILATION) +CLUTTER_DEPRECATED void clutter_threads_init (void); #endif @@ -134,9 +135,11 @@ guint clutter_threads_add_timeout_full (gint priority, GDestroyNotify notify); #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, @@ -150,7 +153,10 @@ guint clutter_threads_add_repaint_func (GSourceFunc func, void clutter_threads_remove_repaint_func (guint handle_id); #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 */ @@ -166,18 +172,27 @@ 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); + +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 +#endif /* CLUTTER_DISABLE_DEPRECATED */ PangoFontMap * clutter_get_font_map (void); diff --git a/clutter/clutter-texture.h b/clutter/clutter-texture.h index 01b2ed6a5..8c9431ae2 100644 --- a/clutter/clutter-texture.h +++ b/clutter/clutter-texture.h @@ -128,6 +128,7 @@ ClutterActor * clutter_texture_new_from_file (const gchar GError **error); #ifndef CLUTTER_DISABLE_DEPRECATED +CLUTTER_DEPRECATED_FOR(ClutterOffscreenEffect) ClutterActor * clutter_texture_new_from_actor (ClutterActor *actor); #endif /* CLUTTER_DISABLE_DEPRECATED */ diff --git a/clutter/clutter-types.h b/clutter/clutter-types.h index eda51860d..0ce665500 100644 --- a/clutter/clutter-types.h +++ b/clutter/clutter-types.h @@ -32,6 +32,20 @@ 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 ()) diff --git a/clutter/clutter-util.h b/clutter/clutter-util.h index d1fe9f8f1..a3f19bea1 100644 --- a/clutter/clutter-util.h +++ b/clutter/clutter-util.h @@ -34,7 +34,8 @@ G_BEGIN_DECLS #ifndef CLUTTER_DISABLE_DEPRECATED -gint clutter_util_next_p2 (gint a) G_GNUC_DEPRECATED; +CLUTTER_DEPRECATED +gint clutter_util_next_p2 (gint a); #endif /* CLUTTER_DISABLE_DEPRECATED */ diff --git a/clutter/cogl/clutter-egl.h b/clutter/cogl/clutter-egl.h index 53ee7b563..93710392e 100644 --- a/clutter/cogl/clutter-egl.h +++ b/clutter/cogl/clutter-egl.h @@ -62,6 +62,7 @@ G_BEGIN_DECLS * * Deprecated: 1.6: Use clutter_egl_get_egl_display() instead */ +CLUTTER_DEPRECATED_FOR(clutter_egl_get_egl_display) EGLDisplay clutter_eglx_display (void); /** @@ -73,6 +74,7 @@ EGLDisplay clutter_eglx_display (void); * * Deprecated: 1.6: Use clutter_egl_get_egl_display() instead */ +CLUTTER_DEPRECATED_FOR(clutter_egl_get_egl_display) EGLDisplay clutter_egl_display (void); #endif /* CLUTTER_DISABLE_DEPRECATED */ diff --git a/clutter/x11/clutter-x11.h b/clutter/x11/clutter-x11.h index 262a54686..7c50f31cc 100644 --- a/clutter/x11/clutter-x11.h +++ b/clutter/x11/clutter-x11.h @@ -107,7 +107,8 @@ XVisualInfo *clutter_x11_get_visual_info (void); void clutter_x11_set_display (Display * xdpy); #ifndef CLUTTER_DISABLE_DEPRECATED -XVisualInfo *clutter_x11_get_stage_visual (ClutterStage *stage) G_GNUC_DEPRECATED; +CLUTTER_DEPRECATED_FOR(clutter_x11_get_visual_info) +XVisualInfo *clutter_x11_get_stage_visual (ClutterStage *stage); #endif Window clutter_x11_get_stage_window (ClutterStage *stage); @@ -127,7 +128,8 @@ gboolean clutter_x11_has_event_retrieval (void); ClutterStage *clutter_x11_get_stage_from_window (Window win); #ifndef CLUTTER_DISABLE_DEPRECATED -const GSList* clutter_x11_get_input_devices (void) G_GNUC_DEPRECATED; +CLUTTER_DEPRECATED_FOR(clutter_device_manager_peek_devices) +const GSList* clutter_x11_get_input_devices (void); #endif void clutter_x11_enable_xinput (void); From ef0e52f0e184f42eaf66116b371eb2013f39328c Mon Sep 17 00:00:00 2001 From: Emmanuele Bassi Date: Tue, 11 Oct 2011 23:06:06 +0100 Subject: [PATCH 27/30] build: Disable deprecation warnings with --enable-deprecated Just like we turn everything on with --disable-deprecated, we have to turn everything off with --enable-deprecated. This means disabling the deprecation warnings from the compiler as well. --- configure.ac | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/configure.ac b/configure.ac index a0bce5941..4606dd7e0 100644 --- a/configure.ac +++ b/configure.ac @@ -741,7 +741,7 @@ AS_CASE([$enable_deprecated], [yes], [ - CLUTTER_DEPRECATED_CFLAGS="" + CLUTTER_DEPRECATED_CFLAGS="-DGLIB_DISABLE_DEPRECATION_WARNINGS -DCLUTTER_DISABLE_DEPRECATION_WARNINGS" ], [AC_MSG_ERROR([Unknown argument for --enable-deprecated])] From 2ede853ea3bf2b2576a7ddfffc29af37c695d611 Mon Sep 17 00:00:00 2001 From: Emmanuele Bassi Date: Tue, 11 Oct 2011 23:11:56 +0100 Subject: [PATCH 28/30] Fix included header --- clutter/clutter-util.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/clutter/clutter-util.h b/clutter/clutter-util.h index a3f19bea1..63a382358 100644 --- a/clutter/clutter-util.h +++ b/clutter/clutter-util.h @@ -28,7 +28,7 @@ #ifndef __CLUTTER_UTIL_H__ #define __CLUTTER_UTIL_H__ -#include +#include G_BEGIN_DECLS From 193b345786f2ae3c2a518f3ca9dac719386992a4 Mon Sep 17 00:00:00 2001 From: Emmanuele Bassi Date: Tue, 11 Oct 2011 23:42:23 +0100 Subject: [PATCH 29/30] Remove some compiler warnings Some issues found using clang as the compiler. --- clutter/clutter-main.c | 2 +- clutter/clutter-model.c | 12 ++++++------ clutter/clutter-script-parser.c | 2 +- clutter/osx/clutter-event-loop-osx.c | 4 ++-- clutter/osx/clutter-stage-osx.c | 2 +- 5 files changed, 11 insertions(+), 11 deletions(-) diff --git a/clutter/clutter-main.c b/clutter/clutter-main.c index 2cd5649cc..7c482c4f7 100644 --- a/clutter/clutter-main.c +++ b/clutter/clutter-main.c @@ -684,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"); diff --git a/clutter/clutter-model.c b/clutter/clutter-model.c index 17836c316..346b34fa1 100644 --- a/clutter/clutter-model.c +++ b/clutter/clutter-model.c @@ -232,7 +232,7 @@ clutter_model_real_get_column_type (ClutterModel *model, { ClutterModelPrivate *priv = model->priv; - if (column < 0 || column >= clutter_model_get_n_columns (model)) + if (column >= clutter_model_get_n_columns (model)) return G_TYPE_INVALID; return priv->column_types[column]; @@ -244,7 +244,7 @@ clutter_model_real_get_column_name (ClutterModel *model, { ClutterModelPrivate *priv = model->priv; - if (column < 0 || column >= clutter_model_get_n_columns (model)) + if (column >= clutter_model_get_n_columns (model)) return NULL; if (priv->column_names && priv->column_names[column]) @@ -1390,7 +1390,7 @@ clutter_model_get_column_name (ClutterModel *model, g_return_val_if_fail (CLUTTER_IS_MODEL (model), NULL); - if (column < 0 || column >= clutter_model_get_n_columns (model)) + if (column >= clutter_model_get_n_columns (model)) { g_warning ("%s: Invalid column id value %d\n", G_STRLOC, column); return NULL; @@ -1422,7 +1422,7 @@ clutter_model_get_column_type (ClutterModel *model, g_return_val_if_fail (CLUTTER_IS_MODEL (model), G_TYPE_INVALID); - if (column < 0 || column >= clutter_model_get_n_columns (model)) + if (column >= clutter_model_get_n_columns (model)) { g_warning ("%s: Invalid column id value %d\n", G_STRLOC, column); return G_TYPE_INVALID; @@ -2003,7 +2003,7 @@ clutter_model_iter_set_internal_valist (ClutterModelIter *iter, gchar *error = NULL; GType col_type; - if (column < 0 || column >= clutter_model_get_n_columns (model)) + if (column >= clutter_model_get_n_columns (model)) { g_warning ("%s: Invalid column number %d added to iter " "(remember to end you list of columns with a -1)", @@ -2169,7 +2169,7 @@ clutter_model_iter_get_valist (ClutterModelIter *iter, gchar *error = NULL; GType col_type; - if (column < 0 || column >= clutter_model_get_n_columns (model)) + if (column >= clutter_model_get_n_columns (model)) { g_warning ("%s: Invalid column number %d added to iter " "(remember to end you list of columns with a -1)", diff --git a/clutter/clutter-script-parser.c b/clutter/clutter-script-parser.c index 8a33b55c3..dd36ac944 100644 --- a/clutter/clutter-script-parser.c +++ b/clutter/clutter-script-parser.c @@ -1937,7 +1937,7 @@ void _clutter_script_construct_object (ClutterScript *script, ObjectInfo *oinfo) { - GArray *params; + GArray *params = NULL; guint i; /* we have completely updated the object */ diff --git a/clutter/osx/clutter-event-loop-osx.c b/clutter/osx/clutter-event-loop-osx.c index 484a88e7f..d8e6dd6e4 100644 --- a/clutter/osx/clutter-event-loop-osx.c +++ b/clutter/osx/clutter-event-loop-osx.c @@ -524,8 +524,8 @@ select_thread_start_poll (GPollFD *ufds, have_new_pollfds = TRUE; else { - if (!((nfds == 1 && poll_fd_index < 0 && g_thread_supported ()) || - (nfds == 2 && poll_fd_index >= 0 && g_thread_supported ()))) + if (!((nfds == 1 && poll_fd_index < 0) || + (nfds == 2 && poll_fd_index >= 0))) select_thread_set_state (POLLING_RESTART); } } diff --git a/clutter/osx/clutter-stage-osx.c b/clutter/osx/clutter-stage-osx.c index ecea1476f..f19dbfcb8 100644 --- a/clutter/osx/clutter-stage-osx.c +++ b/clutter/osx/clutter-stage-osx.c @@ -135,7 +135,7 @@ clutter_stage_osx_get_wrapper (ClutterStageWindow *stage_window); - (void)windowDidChangeScreen:(NSNotification *)notification { - clutter_redraw(CLUTTER_STAGE(self->stage_osx->wrapper)); + clutter_stage_ensure_redraw (CLUTTER_STAGE(self->stage_osx->wrapper)); } @end From 29a16980fe69212149673725edf23b45947235bf Mon Sep 17 00:00:00 2001 From: Emmanuele Bassi Date: Wed, 12 Oct 2011 00:20:43 +0100 Subject: [PATCH 30/30] interactive/threads: Use G_PRIVATE_INIT Though strictly not necessary, we should be using the proper init macro for GPrivate. --- tests/interactive/test-threads.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/interactive/test-threads.c b/tests/interactive/test-threads.c index 4327d53be..72a68a908 100644 --- a/tests/interactive/test-threads.c +++ b/tests/interactive/test-threads.c @@ -52,7 +52,7 @@ test_thread_done_idle (gpointer user_data) return FALSE; } -static GPrivate test_thread_data; +static GPrivate test_thread_data = G_PRIVATE_INIT (test_thread_data_free); typedef struct {