}
}
}
+void change_tram(GtkWidget * actor, gpointer data)
+{
+ double alt, azm;
+ gint x, y, z, scale, sc, daytime;
+ //fprintf(stderr, "change sun \n");
+ if (actor){
+ x = g_object_get_data(G_OBJECT(actor), "x");
+ y = g_object_get_data(G_OBJECT(actor), "y");
+ scale = g_object_get_data(G_OBJECT(actor), "scale");
+ x = x + 5;
+ if (x > 480+350) x = -350;
+ scale = (x + 400) * 50 / 880 + 100;
+ y = y - 240 * (scale-100) / 100;
+
+ //fprintf(stderr, "scale =%i y=%i\n", y,scale);
+ actor_set_position_full(actor, x, y, g_object_get_data(G_OBJECT(actor), "z"));
+ g_object_set_data(G_OBJECT(actor), "x", x);
+ //g_object_set_data(G_OBJECT(actor), "y", y);
+ hildon_animation_actor_set_scale(actor, (double)scale/100, (double)scale/100);
+ g_object_set_data(G_OBJECT(actor), "scale", scale);
+ }
+}
void change_sky(GtkWidget * actor, gpointer data)
{
get_sun_pos(&alt, &azm);
get_sun_screen_pos(alt, azm, &x, &y);
- actor = init_object("sun", "sun.png", x, y, 20, 88, 88, 1, 10, 255, &change_sun);
+ actor = init_object("sun", "new/sun.png", x, y, 11, 88, 88, 1, 100, 255, &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", "new/sky.png", 0, 0, 5, 800, 480, 1, 100, 255, NULL);
+ scene.dynamic_actors = g_slist_append(scene.dynamic_actors, G_OBJECT(actor));
+
+ actor = init_object("town", "new/town.png", 0, 480-374, 10, 800, 374, 1, 100, 255, NULL);
+ scene.static_actors = g_slist_append(scene.static_actors, G_OBJECT(actor));
+
+ actor = init_object("border", "new/border.png", 0, 480-79, 30, 800, 79, 1, 100, 255, NULL);
+ scene.static_actors = g_slist_append(scene.static_actors, G_OBJECT(actor));
+
+ actor = init_object("tram", "new/tram.png", -350, 60+480-374+34, 25, 350, 274, 1, 100, 255, &change_tram);
+ scene.dynamic_actors = g_slist_append(scene.dynamic_actors, G_OBJECT(actor));
+
+/*
+ actor = init_object("cloud1", 400, 150, 2, 200, 150, NULL);
+ scene.dynamic_actors = g_slist_append(scene.dynamic_actors, G_OBJECT(actor));
+
+ 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);
+ list = g_slist_append(list, G_OBJECT(actor));
+
+ ma1 = multiactor_init("multi", list, 0, 0, 50, 1.0, TRUE);
+ //objects_list = g_slist_append(objects_list, G_OBJECT(ma));
+ */
+
+}
+static void
+init_scene1(GtkWidget *window)
+{
+ GtkWidget *actor;
+ GdkPixbuf *pixbuf;
+ GtkWidget *image;
+ double alt, azm;
+ gint x, y;
+ GSList * list = NULL;
+
+ scene.window = window;
+ scene.daytime = get_daytime();
+ scene.dynamic_actors = NULL;
+ scene.static_actors = NULL;
+
+ get_sun_pos(&alt, &azm);
+ get_sun_screen_pos(alt, azm, &x, &y);
+ actor = init_object("sun", "sun.png", x, y, 20, 88, 88, 1, 100, 255, &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("background", "sky_dark.png", 0, 0, 4, 800, 480, 1, 10, 255, NULL);
+ actor = init_object("background", "sky_dark.png", 0, 0, 4, 800, 480, 1, 100, 255, NULL);
scene.dynamic_actors = g_slist_append(scene.dynamic_actors, G_OBJECT(actor));
- actor = init_object("sky", "sky.png", 0, 0, 5, 800, 480, 1, 10, 255, &change_sky);
+ actor = init_object("sky", "sky.png", 0, 0, 5, 800, 480, 1, 100, 255, &change_sky);
scene.dynamic_actors = g_slist_append(scene.dynamic_actors, G_OBJECT(actor));
- actor = init_object("town", "town.png", 0, 0, 10, 800, 480, 1, 10, 255, NULL);
+ actor = init_object("town", "town.png", 0, 0, 10, 800, 480, 1, 100, 255, NULL);
scene.static_actors = g_slist_append(scene.static_actors, G_OBJECT(actor));
/*
}
+
void
get_sun_screen_pos(double alt, double azm, gint * x, gint * y)
{
x += 40;
y -= 20;
- scale -= 1;
+ scale -= 10;
if (x > 500){
x = 400;
y = 150;
sc = 1;
}
- sc = (double)scale / 10;
+ sc = (double)scale / 100;
hildon_animation_actor_set_scale(actor, sc, sc);
fprintf(stderr, "cloud x=%d y=%d scale=%f", x, y, sc);
actor_set_position_full(actor, x, y, g_object_get_data(G_OBJECT(actor), "z"));
gtk_container_add (GTK_CONTAINER (desktop_plugin), label);
init_applet_position();
init_scene(desktop_plugin);
- desktop_plugin->timer = g_timeout_add(1000*10, plugin_on_timeout, desktop_plugin);
+ desktop_plugin->timer = g_timeout_add(50, plugin_on_timeout, desktop_plugin);
}
static void