gtk: Add _gtk_animation_description_to_string()

Reverses _gtk_animation_description_from_string()
This commit is contained in:
Benjamin Otte 2011-04-06 21:42:21 +02:00
parent 6e18b5f3de
commit dc43239a61
2 changed files with 44 additions and 0 deletions

View File

@ -123,6 +123,49 @@ _gtk_animation_description_from_string (const gchar *str)
return _gtk_animation_description_new ((gdouble) duration, progress_type, loop);
}
char *
_gtk_animation_description_to_string (GtkAnimationDescription *desc)
{
GString *str;
int duration;
g_return_val_if_fail (desc != NULL, NULL);
str = g_string_new ("");
duration = desc->duration;
if (duration % 1000 == 0)
g_string_append_printf (str, "%ds", (int) desc->duration / 1000);
else
g_string_append_printf (str, "%dms", (int) desc->duration);
switch (desc->progress_type)
{
case GTK_TIMELINE_PROGRESS_LINEAR:
g_string_append (str, " linear");
break;
case GTK_TIMELINE_PROGRESS_EASE:
g_string_append (str, " ease");
break;
case GTK_TIMELINE_PROGRESS_EASE_IN:
g_string_append (str, " ease-in");
break;
case GTK_TIMELINE_PROGRESS_EASE_OUT:
g_string_append (str, " ease-out");
break;
case GTK_TIMELINE_PROGRESS_EASE_IN_OUT:
g_string_append (str, " ease-in-out");
break;
default:
g_assert_not_reached ();
}
if (desc->loop)
g_string_append (str, " loop");
return g_string_free (str, FALSE);
}
GType
_gtk_animation_description_get_type (void)
{

View File

@ -43,6 +43,7 @@ GtkAnimationDescription * _gtk_animation_description_ref (GtkAnima
void _gtk_animation_description_unref (GtkAnimationDescription *desc);
GtkAnimationDescription * _gtk_animation_description_from_string (const gchar *str);
char * _gtk_animation_description_to_string (GtkAnimationDescription *desc);
G_END_DECLS