Dear list:
In Clutter, Can I create a worker thread for creating actors and add them
into the stage?
I found when creating ClutterRectangle, It can work, but when it comes to
ClutterTexture, it failed.
Can anybody help me.
Thanks.
--
Best Regards
#include <clutter/clutter.h>
#include <stdlib.h>
gpointer thread_add_actors(gpointer data)
{
ClutterActor* stage = data;
ClutterColor red = {0xff, 0x0, 0x0, 0xff};
ClutterActor *rect = clutter_rectangle_new_with_color(&red);
clutter_actor_show(rect);
clutter_actor_set_size(rect, 100, 100);
clutter_container_add((ClutterContainer*)stage, rect, NULL);
ClutterActor* photo = clutter_texture_new_from_file("thumbnail.jpg", NULL);
clutter_actor_set_size(photo, 100, 100);
clutter_actor_set_position(photo, 100, 100);
clutter_container_add((ClutterContainer*)stage, photo, NULL);
}
int main(int argc, char** argv)
{
ClutterColor stage_color = {0x00, 0x00, 0x00, 0xff};
clutter_init(&argc, &argv);
ClutterActor *stage = clutter_stage_get_default();
clutter_stage_set_title(CLUTTER_STAGE(stage), "Example");
clutter_actor_set_size(stage, 400, 300);
clutter_stage_set_color(CLUTTER_STAGE(stage), &stage_color);
clutter_actor_show(stage);
g_thread_init(NULL);
g_thread_create(thread_add_actors, stage, TRUE, NULL);
clutter_main();
return EXIT_SUCCESS;
}