gint
probability_plane()
{
- return (fast_rnd(10) + 1) * 60;
-// return 0;
+ //return (fast_rnd(10) + 1) * 60;
+ return fast_rnd(180);
}
void
{
gint phase;
char *newfile;
+ gint x0 = 150,
+ x1 = 650,
+ x, y,
+ y0=150, y1 = 150, x2=400, y2=30;
+ double a, b, c;
+ struct timeval tvb;
+ suseconds_t ms;
+ long sec;
+ double t;
+#if 0
+ a = (double)(y2 - (double)(x2*(y1-y0) + x1*y0 - x0*y1)/(x1-x0))/(x2*(x2-x0-x1)+x0*x1);
+ b = (double)(y1-y0)/(x1-x0) - (double)a*(x0+x1);
+ c = (double)(x1*y0 - x0*y1)/(x1-x0) + (double)a*x0*x1;
+ fprintf(stderr, "a=%f, b=%f, c=%f\n", a, b, c);
+#endif
+ gettimeofday(&tvb, NULL);
+
+ ms = tvb.tv_usec;
+ sec = tvb.tv_sec;
if (actor){
if (scene.daytime == TIME_NIGHT){
if (actor->filename)
g_free(actor->filename);
actor->filename = newfile;
+ actor->time_start_animation = sec - fast_rnd(60 * 60);
+ actor->duration_animation = 1 * 60 * 60;
create_hildon_actor(actor, desktop_plugin);
}
- //actor->x = 400;
- //actor->y = 10;
- // actor_set_position_full(actor->widget, x, y, actor->z);
- //probability_sun(actor);
- //fprintf(stderr, "after change sun %d\n", actor->time_start_animation);
+ t = (double)((double)sec+(double)ms/1000000 - actor->time_start_animation) / actor->duration_animation;
+ if (t <= 1)
+ x = path_line(x0, x1, t);
+ else
+ x = path_line(x1, x0, t-1);
+ //y = path_line(y0, y1, t);
+ y = 0.001920*x*x - 1.536*x + 337.2;
+ //y = a*x*x + b*x + c;
+
+ actor_set_position_full(actor->widget, x, y, actor->z);
+
+ if (t>=2){
+ actor->time_start_animation = sec;
+ }
+
}else if (actor->visible){
actor->visible = FALSE;
fprintf(stderr, "destroy moon \n");
/* stop animation */
actor->visible = FALSE;
destroy_hildon_actor(actor);
- actor->time_start_animation = sec + fast_rnd(300);
+ actor->time_start_animation = sec + fast_rnd(60);
}
}
void
change_plane1(Actor *actor, AWallpaperPlugin *desktop_plugin)
{
- gint x0 = 620, y0 = 233, scale0 = 100,
- x1 = 79, y1 = -146, scale1 = 100,
- x, y, scale;
+ gint x0 = 620, y0 = 233,
+ x1 = 79, y1 = -146,
+ x, y;
struct timeval tvb;
suseconds_t ms;
long sec;
void
change_plane2(Actor *actor, AWallpaperPlugin *desktop_plugin)
{
- gint x0 = -actor->width, y0 = 45, scale0 = 100,
- x1 = 800, y1 = 20, scale1 = 100,
- x, y, scale;
+ gint x0 = -actor->width, y0 = 45,
+ x1 = 800, y1 = 20,
+ x, y;
struct timeval tvb;
suseconds_t ms;
long sec;
g_free(actor->filename);
actor->filename = newfile;
-
create_hildon_actor(actor, desktop_plugin);
}
t = (double)((double)sec+(double)ms/1000000 - actor->time_start_animation) / actor->duration_animation;
void
change_window1(Actor * actor, AWallpaperPlugin *desktop_plugin)
{
-
gint now = time(NULL);
if (scene.daytime == TIME_DAY){
- if (actor->visible){
+ if (actor->widget){
actor->visible = FALSE;
destroy_hildon_actor(actor);
}
actor->time_start_animation = 0;
return;
- }else if (actor->time_start_animation == 0){
- actor->time_start_animation = now + fast_rnd(30);
- return;
+ }else {
+ if (!actor->widget)
+ create_hildon_actor(actor, desktop_plugin);
+ if (actor->time_start_animation == 0){
+ actor->time_start_animation = now + fast_rnd(30);
+ return;
+ }
}
- if (!actor->visible){
+ if (!actor->visible)
actor->visible = TRUE;
- create_hildon_actor(actor, desktop_plugin);
- actor->time_start_animation = now + fast_rnd(60) + 10;
- }else {
+ else
actor->visible = FALSE;
- destroy_hildon_actor(actor);
- actor->time_start_animation = now + fast_rnd(60) + 10;
- }
-
+ hildon_animation_actor_set_show(
+ HILDON_ANIMATION_ACTOR(actor->widget),
+ actor->visible
+ );
+ actor->time_start_animation = now + fast_rnd(60) + 10;
+
}
void
void
change_static_actor_with_corner(Actor * actor, AWallpaperPlugin *desktop_plugin)
{
- gchar *newfile;
- gchar buffer[2048];
+ gchar buffer[2048];
if (desktop_plugin->priv->right_corner)
gtk_widget_destroy(desktop_plugin->priv->right_corner);
gint y;
Actor *a;
+ if (!desktop_plugin->priv->rich_animation) return;
+
a = g_ptr_array_index(actor->child, 0);
y = a->y + 10;
if (y > 480) y = -480;
Actor *actor;
GPtrArray *child;
gint now = time(NULL);
+ gint y1, y2;
+
+ if (desktop_plugin->priv->rich_animation){
+ y1 = -480;
+ y2 = -480-480;
+ }else {
+ y1 = 0;
+ y2 = -480;
+ }
fprintf(stderr, "init scene2 \n");
//scene.daytime = get_daytime();
child = g_ptr_array_sized_new(4);
actor = init_object(desktop_plugin, "layer1", "layer1_2.png",
- 0, -480, 6, 800, 960,
+ 0, y1, 6, 800, 960,
TRUE, TRUE, 100, 255,
NULL, NULL, NULL);
//actor->time_start_animation = now;
g_ptr_array_add(child, actor);
actor = init_object(desktop_plugin, "layer1", "layer1_1.png",
- 0, (-480 - 480), 7, 800, 960,
+ 0, y2, 7, 800, 960,
TRUE, TRUE, 100, 255,
NULL, NULL, NULL);
//actor->time_start_animation = now;
g_ptr_array_add(child, actor);
actor = init_object(desktop_plugin, "layer2", "layer2_2.png",
- 0, -480, 8, 800, 960,
+ 0, y1, 8, 800, 960,
TRUE, TRUE, 100, 255,
NULL, NULL, NULL);
//actor->time_start_animation = now;
g_ptr_array_add(child, actor);
actor = init_object(desktop_plugin, "layer2", "layer2_1.png",
- 0, (-480 - 480), 9, 800, 960,
+ 0, y2, 9, 800, 960,
TRUE, TRUE, 100, 255,
NULL, NULL, NULL);
//actor->time_start_animation = now;
g_ptr_array_add(child, actor);
actor = init_object(desktop_plugin, "layers", "",
- 0, (-480 - 480), 9, 800, 960,
+ 0, y2, 9, 800, 960,
FALSE, FALSE, 100, 255,
(gpointer)&change_layer, NULL, child);
actor->time_start_animation = now;
/* init value for random */
scene.seed = time(NULL);
-
-
actor = init_object(desktop_plugin, "sky", "sky0.png",
0, 0, 5, 800, 480,
- TRUE, TRUE, 100, 255,
+ 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, "sun", "sun.png",
0, 0, 6, 88, 88,
- TRUE, TRUE, 100, 255,
- (gpointer)&change_sun, &probability_sun, NULL);
+ FALSE, FALSE, 100, 255,
+ (gpointer)&change_sun, (gpointer)&probability_sun, NULL);
actor->time_start_animation = now;
actor->duration_animation = G_MAXINT;
change_sun(actor, desktop_plugin);
0, fast_rnd(300)-97, 7, 150, 97,
FALSE, FALSE, 100, 255,
(gpointer)&change_cloud, NULL, NULL);
- actor->time_start_animation = now + fast_rnd(180);
+ actor->time_start_animation = now + fast_rnd(20);
actor->duration_animation = 3*60;
scene.actors = g_slist_append(scene.actors, actor);
0, fast_rnd(300)-75, 7, 188, 75,
FALSE, FALSE, 100, 255,
(gpointer)&change_cloud, NULL, NULL);
- actor->time_start_animation = now + fast_rnd(180);
+ actor->time_start_animation = now + fast_rnd(40)+10;
actor->duration_animation = 3*60;
scene.actors = g_slist_append(scene.actors, actor);
0, fast_rnd(300)-75, 7, 150, 75,
FALSE, FALSE, 100, 255,
(gpointer)&change_cloud, NULL, NULL);
- actor->time_start_animation = now + fast_rnd(180);
+ actor->time_start_animation = now + fast_rnd(60) + 20;
actor->duration_animation = 5*60;
scene.actors = g_slist_append(scene.actors, actor);
actor = init_object(desktop_plugin, "sun", "sun.png", 0, 0, 6, 88, 88,
- TRUE, TRUE, 100, 255,
- (gpointer)&change_sun, &probability_sun, NULL);
+ FALSE, FALSE, 100, 255,
+ (gpointer)&change_sun, (gpointer)&probability_sun, NULL);
actor->time_start_animation = time(NULL);
actor->duration_animation = G_MAXINT;
change_sun(actor, desktop_plugin);
actor = init_object(desktop_plugin, "cloud1", "cloud1.png", 0, fast_rnd(300)-97, 7, 150, 97,
FALSE, FALSE, 100, 255,
(gpointer)&change_cloud, NULL, NULL);
- actor->time_start_animation = now + fast_rnd(180);
+ actor->time_start_animation = now + fast_rnd(30) + 10;
actor->duration_animation = 3*60;
scene.actors = g_slist_append(scene.actors, actor);
actor = init_object(desktop_plugin, "cloud2", "cloud2.png", 0, fast_rnd(300)-75, 7, 188, 75,
FALSE, FALSE, 100, 255,
(gpointer)&change_cloud, NULL, NULL);
- actor->time_start_animation = now + fast_rnd(180);
+ actor->time_start_animation = now + fast_rnd(10);
actor->duration_animation = 3*60;
scene.actors = g_slist_append(scene.actors, actor);
actor = init_object(desktop_plugin, "cloud4", "cloud4.png", 0, fast_rnd(300)-75, 7, 150, 75,
FALSE, FALSE, 100, 255,
(gpointer)&change_cloud, NULL, NULL);
- actor->time_start_animation = now + fast_rnd(180);
+ actor->time_start_animation = now + fast_rnd(60) + 20;
actor->duration_animation = 5*60;
scene.actors = g_slist_append(scene.actors, actor);
actor = init_object(desktop_plugin, "plane2", "plane3.png", 0, 45, 8, 160, 50,
FALSE, FALSE, 100, 255,
(gpointer)&change_plane2, NULL, NULL);
- actor->time_start_animation = now + probability_plane();
+ actor->time_start_animation = now + fast_rnd(40) + 20;
actor->duration_animation = 60;
scene.actors = g_slist_append(scene.actors, actor);
actor = init_object(desktop_plugin, "plane1", "tu154.png", 620, 233, 9, 300, 116,
FALSE, FALSE, 100, 255,
(gpointer)&change_plane1, NULL, NULL);
- actor->time_start_animation = now + probability_plane();
+ actor->time_start_animation = now + fast_rnd(20);
actor->duration_animation = 30;
scene.actors = g_slist_append(scene.actors, actor);
static gboolean
short_timeout (AWallpaperPlugin *desktop_plugin)
{
- gint daytime = get_daytime();
+ //gint daytime = get_daytime();
GSList * tmp;
void (*pfunc)(gpointer, gpointer);
time_t now;
rich_animation_press(GtkWidget *widget, GdkEvent *event,
gpointer user_data){
fprintf(stderr,"gggggggggggggggggggg2222\n");
+ return FALSE;
}
static void
animation_wallpaper_plugin_init (AWallpaperPlugin *desktop_plugin)
*/
hd_home_plugin_item_set_settings (HD_HOME_PLUGIN_ITEM (desktop_plugin), TRUE);
g_signal_connect (desktop_plugin, "show-settings",
- G_CALLBACK (lw_settings), priv);
+ G_CALLBACK (show_settings), priv);
gtk_widget_show (desktop_plugin->priv->main_widget);
gtk_container_add (GTK_CONTAINER (desktop_plugin), desktop_plugin->priv->main_widget);
init_applet_position();