|
Packit |
31ecd5 |
#define CLUTTER_DISABLE_DEPRECATION_WARNINGS
|
|
Packit |
31ecd5 |
#include <clutter/clutter.h>
|
|
Packit |
31ecd5 |
|
|
Packit |
31ecd5 |
static void
|
|
Packit |
31ecd5 |
behaviour_opacity (void)
|
|
Packit |
31ecd5 |
{
|
|
Packit |
31ecd5 |
ClutterBehaviour *behaviour;
|
|
Packit |
31ecd5 |
ClutterTimeline *timeline;
|
|
Packit |
31ecd5 |
ClutterAlpha *alpha;
|
|
Packit |
31ecd5 |
guint8 start, end;
|
|
Packit |
31ecd5 |
guint starti;
|
|
Packit |
31ecd5 |
|
|
Packit |
31ecd5 |
timeline = clutter_timeline_new (500);
|
|
Packit |
31ecd5 |
alpha = clutter_alpha_new_full (timeline, CLUTTER_LINEAR);
|
|
Packit |
31ecd5 |
behaviour = clutter_behaviour_opacity_new (alpha, 0, 255);
|
|
Packit |
31ecd5 |
g_assert (CLUTTER_IS_BEHAVIOUR_OPACITY (behaviour));
|
|
Packit |
31ecd5 |
g_object_add_weak_pointer (G_OBJECT (behaviour), (gpointer *) &behaviour);
|
|
Packit |
31ecd5 |
g_object_add_weak_pointer (G_OBJECT (timeline), (gpointer *) &timeline);
|
|
Packit |
31ecd5 |
|
|
Packit |
31ecd5 |
clutter_behaviour_opacity_get_bounds (CLUTTER_BEHAVIOUR_OPACITY (behaviour),
|
|
Packit |
31ecd5 |
&start,
|
|
Packit |
31ecd5 |
&end;;
|
|
Packit |
31ecd5 |
|
|
Packit |
31ecd5 |
if (g_test_verbose ())
|
|
Packit |
31ecd5 |
g_print ("BehaviourOpacity:bounds = %d, %d (expected: 0, 255)\n",
|
|
Packit |
31ecd5 |
start,
|
|
Packit |
31ecd5 |
end);
|
|
Packit |
31ecd5 |
|
|
Packit |
31ecd5 |
g_assert_cmpint (start, ==, 0);
|
|
Packit |
31ecd5 |
g_assert_cmpint (end, ==, 255);
|
|
Packit |
31ecd5 |
|
|
Packit |
31ecd5 |
clutter_behaviour_opacity_set_bounds (CLUTTER_BEHAVIOUR_OPACITY (behaviour),
|
|
Packit |
31ecd5 |
255,
|
|
Packit |
31ecd5 |
0);
|
|
Packit |
31ecd5 |
/* XXX: The gobject property is actually a unsigned int not unsigned char
|
|
Packit |
31ecd5 |
* property so we have to be careful not to corrupt the stack by passing
|
|
Packit |
31ecd5 |
* a guint8 pointer here... */
|
|
Packit |
31ecd5 |
starti = 0;
|
|
Packit |
31ecd5 |
g_object_get (G_OBJECT (behaviour), "opacity-start", &starti, NULL);
|
|
Packit |
31ecd5 |
|
|
Packit |
31ecd5 |
if (g_test_verbose ())
|
|
Packit |
31ecd5 |
g_print ("BehaviourOpacity:start = %d (expected: 255)\n", start);
|
|
Packit |
31ecd5 |
|
|
Packit |
31ecd5 |
g_assert_cmpint (starti, ==, 255);
|
|
Packit |
31ecd5 |
|
|
Packit |
31ecd5 |
g_object_unref (behaviour);
|
|
Packit |
31ecd5 |
g_object_unref (timeline);
|
|
Packit |
31ecd5 |
|
|
Packit |
31ecd5 |
g_assert_null (behaviour);
|
|
Packit |
31ecd5 |
g_assert_null (timeline);
|
|
Packit |
31ecd5 |
}
|
|
Packit |
31ecd5 |
|
|
Packit |
31ecd5 |
static struct
|
|
Packit |
31ecd5 |
{
|
|
Packit |
31ecd5 |
const gchar *path;
|
|
Packit |
31ecd5 |
GTestFunc func;
|
|
Packit |
31ecd5 |
} behaviour_tests[] = {
|
|
Packit |
31ecd5 |
{ "opacity", behaviour_opacity },
|
|
Packit |
31ecd5 |
};
|
|
Packit |
31ecd5 |
|
|
Packit |
31ecd5 |
static const int n_behaviour_tests = G_N_ELEMENTS (behaviour_tests);
|
|
Packit |
31ecd5 |
|
|
Packit |
31ecd5 |
int
|
|
Packit |
31ecd5 |
main (int argc, char *argv[])
|
|
Packit |
31ecd5 |
{
|
|
Packit |
31ecd5 |
int i;
|
|
Packit |
31ecd5 |
|
|
Packit |
31ecd5 |
clutter_test_init (&argc, &argv);
|
|
Packit |
31ecd5 |
|
|
Packit |
31ecd5 |
for (i = 0; i < n_behaviour_tests; i++)
|
|
Packit |
31ecd5 |
{
|
|
Packit |
31ecd5 |
char *path = g_strconcat ("/behaviours/", behaviour_tests[i].path, NULL);
|
|
Packit |
31ecd5 |
|
|
Packit |
31ecd5 |
clutter_test_add (path, behaviour_tests[i].func);
|
|
Packit |
31ecd5 |
|
|
Packit |
31ecd5 |
g_free (path);
|
|
Packit |
31ecd5 |
}
|
|
Packit |
31ecd5 |
|
|
Packit |
31ecd5 |
return clutter_test_run ();
|
|
Packit |
31ecd5 |
}
|