not tested
authorVlad Vasiliev <vlad@toshiba2.oblgaz>
Tue, 30 Mar 2010 23:01:23 +0000 (02:01 +0300)
committerVlad Vasiliev <vlad@toshiba2.oblgaz>
Tue, 30 Mar 2010 23:01:23 +0000 (02:01 +0300)
applet/src/livewp-home-widget.c

index 90c9c87..7f5bd3c 100644 (file)
@@ -156,14 +156,8 @@ actor_set_position_full(GtkWidget *actor, gint x, gint y, gint z)
  hildon_animation_actor_set_position_full (HILDON_ANIMATION_ACTOR (actor),x-xapplet, y-yapplet, z);
 }
 
-void func(gpointer data)
-{
-    if (data)
-        fprintf(stderr, "11111111111111111 function %s\n", data);
-}
-
 static GtkWidget* 
-init_object(gchar * name, gint x, gint y, gint z, gint width, gint height, void (*pfunc)(gpointer))
+init_object(gchar * name, gint x, gint y, gint z, gint width, gint height, void (*pfunc)(GtkWidget*, gpointer))
 {
   GtkWidget *actor;
   GdkPixbuf *pixbuf;
@@ -212,6 +206,28 @@ init_object(gchar * name, gint x, gint y, gint z, gint width, gint height, void
   return actor;
 }
 
+void change_sun(GtkWidget * actor, gpointer data)
+{
+    double alt, azm;
+    gint x, y, z, daytime;
+    if (actor){
+        fprintf(stderr, "111111111111 function %s\n", g_object_get_data(G_OBJECT(actor), "name"));
+    }
+    if (data){
+        fprintf(stderr, "11111111111111111 function %s\n", data);
+    }
+    daytime = get_daytime();
+    if (daytime != TIME_NIGHT){
+         hildon_animation_actor_set_show(actor, 1);
+         //multiactor_set_visible(ma, TRUE);
+         get_sun_pos(&alt, &azm);
+         get_sun_screen_pos(alt, azm, &x, &y);
+         actor_set_position_full(actor, x, y, g_object_get_data(G_OBJECT(actor), "z"));
+         //multiactor_set_position(ma, x - ma->x, y - ma->y, 0);
+    } 
+}
+
+
 static void
 init_scene(GtkWidget *window)
 {
@@ -220,6 +236,7 @@ init_scene(GtkWidget *window)
   GtkWidget *image;
   double alt, azm;
   gint x, y;
+  GSList * list = NULL;
 
   scene.window = window;
   scene.daytime = get_daytime();
@@ -228,9 +245,10 @@ init_scene(GtkWidget *window)
 
   get_sun_pos(&alt, &azm);
   get_sun_screen_pos(alt, azm, &x, &y);
-  actor = init_object("sun", x, y, 20, 88, 88, &func);
+  actor = init_object("sun", x, y, 20, 88, 88, &change_sun);
   scene.static_actors = g_slist_append(scene.static_actors, G_OBJECT(actor));
   scene.dynamic_actors = g_slist_append(scene.dynamic_actors, G_OBJECT(actor));
+  //ma1->multiactor_init("sun", g_slist_append(list, G_OBJECT(actor)));
 
   actor = init_object("sky", 0, 0, 0, 800, 480, NULL);
   scene.static_actors = g_slist_append(scene.static_actors, G_OBJECT(actor));
@@ -240,8 +258,7 @@ init_scene(GtkWidget *window)
 
   actor = init_object("cloud1", 400, 150, 2, 200, 150, NULL);
   scene.dynamic_actors = g_slist_append(scene.dynamic_actors, G_OBJECT(actor));
-
-  GSList * list = NULL;
+/*
   actor = init_object("sun", 10, 10, 50, 88, 88, NULL);
   list = g_slist_append(list, G_OBJECT(actor));
   actor = init_object("cloud1", 50, 50, 49, 150, 100, NULL);
@@ -249,7 +266,7 @@ init_scene(GtkWidget *window)
 
   ma1 = multiactor_init("multi", list, 0, 0, 50, 1.0, TRUE);
   //objects_list = g_slist_append(objects_list, G_OBJECT(ma)); 
-  
+  */
 
 }