tmp = g_slist_next(tmp);
}
g_slist_free(tmp);
-
+ desktop_plugin->priv->scene->actors = NULL;
+ if (desktop_plugin->priv->scene){
+ g_free(desktop_plugin->priv->scene);
+ desktop_plugin->priv->scene = NULL;
+ }
}
void
{
fprintf(stderr,"Reload scene %s\n", desktop_plugin->priv->theme);
destroy_scene(desktop_plugin);
+#if 0
if (!strcmp(desktop_plugin->priv->theme,"Modern"))
- init_scene(desktop_plugin);
+ init_scene_Modern(desktop_plugin);
else if (!strcmp(desktop_plugin->priv->theme,"Berlin"))
- init_scene1(desktop_plugin);
+ init_scene_Berlin(desktop_plugin);
else if (!strcmp(desktop_plugin->priv->theme,"Matrix"))
- init_scene2(desktop_plugin);
+ init_scene_Matrix(desktop_plugin);
+#endif
+ init_scene_theme(desktop_plugin);
}
void
-init_scene2(AWallpaperPlugin *desktop_plugin)
+init_scene_Matrix(AWallpaperPlugin *desktop_plugin)
{
Actor *actor;
Scene *scene;
/* Init Modern Scene */
void
-init_scene(AWallpaperPlugin *desktop_plugin)
+init_scene_Modern(AWallpaperPlugin *desktop_plugin)
{
Actor *actor;
Scene *scene;
scene->actors = g_slist_append(scene->actors, actor);
actor = init_object(desktop_plugin, "stend", "stend0.png",
- 482, 146, 9, 300, 305,
+ 452, 166, 9, 300, 305,
TRUE, TRUE, 100, 255,
(gpointer)&change_static_actor, NULL, NULL);
change_static_actor(actor, desktop_plugin);
scene->actors = g_slist_append(scene->actors, actor);
+ actor = init_object(desktop_plugin, "billboard_text", "",
+ 470, 174, 9, 300, 108,
+ TRUE, FALSE, 100, 255,
+ (gpointer)&change_billboard, NULL, NULL);
+ create_hildon_actor_text(actor, desktop_plugin);
+ //actor->time_start_animation = time(NULL) + 20;
+ change_billboard(actor, desktop_plugin);
+ scene->actors = g_slist_append(scene->actors, actor);
+
actor = init_object(desktop_plugin, "tram", "tram.png",
-300, 225, 10, 350, 210,
FALSE, FALSE, 100, 255,
/* Init Berlin Scene */
void
-init_scene1(AWallpaperPlugin *desktop_plugin)
+init_scene_Berlin(AWallpaperPlugin *desktop_plugin)
{
Actor *actor, *actor1, *actor2;
Scene *scene;
}
+void
+init_scene_theme(AWallpaperPlugin *desktop_plugin)
+{
+ void (*func)(gpointer);
+ func = g_hash_table_lookup(desktop_plugin->priv->hash_scene_func, desktop_plugin->priv->theme);
+ if (func){
+ (*func)(desktop_plugin);
+ }
+}