f00e84606c
* configure.ac: Use pkg-config to check for X. Really Check for GL libs. Make gtk binding optional. Cleanup a little. * Makefile.am: * gtk/Makefile.am: Make gtk binding optional * clutter/clutter-element.c: Cleanup a little, notify on size change. * clutter/clutter-texture.c: Lots of cleanups. Add waste prop. Add filter quality prop. * clutter/clutter-clone-texture.c: Make object construction simpler to work better with bindings. * clutter/clutter-stage.c: * clutter/clutter-timeline.c: Minor reformating, cleanups. * examples/test-text.c: (main): Random experimentation
59 lines
1.5 KiB
C
59 lines
1.5 KiB
C
#include <clutter/clutter.h>
|
|
|
|
void
|
|
frame_cb (ClutterTimeline *timeline,
|
|
gint frame_num,
|
|
gpointer data)
|
|
{
|
|
ClutterElement *label = (ClutterElement*)data;
|
|
|
|
clutter_element_set_depth(label, -400 + (frame_num * 40));
|
|
clutter_element_set_opacity (label, 255 - frame_num );
|
|
}
|
|
|
|
|
|
int
|
|
main (int argc, char *argv[])
|
|
{
|
|
ClutterTimeline *timeline;
|
|
ClutterElement *label;
|
|
ClutterElement *stage;
|
|
gchar *text;
|
|
gsize size;
|
|
ClutterColor stage_color = { 0x00, 0x00, 0x00, 0xff };
|
|
ClutterColor label_color = { 0x11, 0xdd, 0x11, 0xaa };
|
|
|
|
clutter_init (&argc, &argv);
|
|
|
|
stage = clutter_stage_get_default ();
|
|
|
|
if (!g_file_get_contents ("test-text.c", &text, &size, NULL))
|
|
g_error("g_file_get_contents() of test-text.c failed");
|
|
|
|
clutter_element_set_size (stage, 800, 600);
|
|
clutter_stage_set_color (CLUTTER_STAGE (stage), &stage_color);
|
|
|
|
label = clutter_label_new_with_text ("Mono 8", text);
|
|
clutter_label_set_color (CLUTTER_LABEL (label), &label_color);
|
|
|
|
clutter_group_add (CLUTTER_GROUP (stage), label);
|
|
clutter_group_show_all (CLUTTER_GROUP (stage));
|
|
|
|
timeline = clutter_timeline_new (400, 60); /* num frames, fps */
|
|
g_object_set(timeline, "loop", TRUE, 0); /* have it loop */
|
|
|
|
g_signal_connect(timeline, "new-frame", G_CALLBACK (frame_cb), label);
|
|
|
|
/* and start it */
|
|
clutter_timeline_start (timeline);
|
|
|
|
g_signal_connect (stage, "key-press-event",
|
|
G_CALLBACK (clutter_main_quit), NULL);
|
|
|
|
g_object_unref (stage);
|
|
|
|
clutter_main();
|
|
|
|
return 0;
|
|
}
|