next step for application
[livewp] / applet / src / livewp-common.h
1 /* vim: set sw=4 ts=4 et: */
2 /*
3  * This file is part of Live Wallpaper (livewp)
4  * 
5  * Copyright (C) 2010 Vlad Vasiliev
6  * Copyright (C) 2010 Tanya Makova
7  *       for the code
8  * 
9  * This software is free software; you can redistribute it and/or
10  * modify it under the terms of the GNU Lesser General Public License
11  * as published by the Free Software Foundation; either version 2.1 of
12  * the License, or (at your option) any later version.
13  * 
14  * This software is distributed in the hope that it will be useful, but
15  * WITHOUT ANY WARRANTY; without even the implied warranty of
16  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
17  * Lesser General Public License for more details.
18  * 
19  * You should have received a copy of the GNU Lesser General Public
20  * License along with this software; if not, write to the Free Software
21  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
22  * 02110-1301 USA
23 */
24 /*******************************************************************************/
25 #ifndef _weather_common_h
26 #define _weather_common_h 1
27 #ifdef HAVE_CONFIG_H
28 #include <config.h>
29 #endif
30
31 #include <gtk/gtk.h>
32 #include <hildon/hildon.h>
33 #include <locale.h>
34 #include <libhildondesktop/libhildondesktop.h>
35 #include <libosso.h>
36
37 #define GETTEXT_PACKAGE "livewp"
38 #include <glib/gi18n-lib.h>
39
40 #define THEME_PATH "/usr/share/livewp/theme"
41 #define SHORT_TIMER 75 /* 100 milisecond */
42 //#define LONG_TIMER 5*60*1000 /* 10 minutes */
43 #define LONG_TIMER  10*1000 /* 10 minutes */
44 enum { SHORT_TIMER_TYPE, LONG_TIMER_TYPE };
45 #define SKY_LEVEL 0 
46 #define SUN_LEVEL 0 
47 #define TOWN_LEVEL 0 
48 #define TRAM_LEVEL 20 
49
50
51 typedef struct _AWallpaperPlugin AWallpaperPlugin;
52 typedef struct _AWallpaperPluginClass AWallpaperPluginClass;
53 typedef struct _Animation_WallpaperPrivate Animation_WallpaperPrivate;
54
55 struct _Animation_WallpaperPrivate
56 {
57     gint long_timer;
58     gint short_timer;
59     gchar *theme;
60     gboolean visible;
61     gboolean rich_animation;
62     GtkWidget *main_widget;
63     GtkWidget *right_corner;
64     AWallpaperPlugin *desktop_plugin;
65 };
66
67 struct _AWallpaperPlugin
68 {
69     HDHomePluginItem parent;
70     Animation_WallpaperPrivate *priv;
71 };
72
73 struct _AWallpaperPluginClass
74 {
75     HDHomePluginItemClass parent_class;
76
77 };
78
79 typedef struct {
80     GtkWidget * widget;
81     gchar  *name;
82     gchar *filename;
83     gint x;
84     gint y;
85     gint z;
86     gint width;
87     gint height;
88     gint scale;
89     gint opacity; 
90     gboolean visible;
91     void (*func_change)(gpointer, gpointer);
92     time_t time_start_animation;
93     gint duration_animation;
94     void (*func_probability)(gpointer);
95
96 } Actor;
97 #endif