done matrix slowly, finished init_scene_theme
[livewp] / applet / src / livewp-scene.c
index 2871871..3cf4667 100644 (file)
@@ -45,16 +45,19 @@ reload_scene(AWallpaperPlugin *desktop_plugin)
 {
     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;
@@ -139,7 +142,7 @@ init_scene2(AWallpaperPlugin *desktop_plugin)
 
 /* Init Modern Scene */
 void
-init_scene(AWallpaperPlugin *desktop_plugin)
+init_scene_Modern(AWallpaperPlugin *desktop_plugin)
 {
   Actor *actor;
   Scene *scene;
@@ -456,7 +459,7 @@ init_scene(AWallpaperPlugin *desktop_plugin)
 
 /* Init Berlin Scene */
 void
-init_scene1(AWallpaperPlugin *desktop_plugin)
+init_scene_Berlin(AWallpaperPlugin *desktop_plugin)
 {
   Actor *actor, *actor1, *actor2;
   Scene *scene;
@@ -624,3 +627,12 @@ init_scene1(AWallpaperPlugin *desktop_plugin)
 
 }
 
+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);
+    }
+}