fork is done
[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 _livewp_common_h
26 #define _livewp_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 /* Position of plugin on desktop */
41 #define Xstartposition 800
42 #define Ystartposition 480 
43
44 #define THEME_PATH "/usr/share/livewp/theme"
45 #define SHORT_TIMER 75 /* 100 milisecond */
46 //#define LONG_TIMER 5*60*1000 /* 10 minutes */
47 #define LONG_TIMER  20*1000 /* 10 minutes */
48 enum { SHORT_TIMER_TYPE, LONG_TIMER_TYPE };
49 #define SKY_LEVEL 0 
50 #define SUN_LEVEL 0 
51 #define TOWN_LEVEL 0 
52 #define TRAM_LEVEL 20 
53
54 typedef struct _Scene Scene;
55 struct _Scene 
56 {
57     GSList * actors;
58     gint daytime;
59     gint timer_type;
60     gint wind_orientation; // +/- 1
61     double wind_angle; // [-1 .. 1]
62     guint seed; /* init value for random  */
63     guint notification;
64 };
65
66 typedef struct _AWallpaperPlugin AWallpaperPlugin;
67 typedef struct _AWallpaperPluginClass AWallpaperPluginClass;
68 typedef struct _Animation_WallpaperPrivate Animation_WallpaperPrivate;
69
70
71
72 struct _Animation_WallpaperPrivate
73 {
74     gint long_timer;
75     gint short_timer;
76     gchar *theme;
77     gboolean visible;
78     gboolean rich_animation;
79     GtkWidget *main_widget;
80     GtkWidget *window;
81     GtkWidget *right_corner;
82     AWallpaperPlugin *desktop_plugin;
83     DBusConnection      *dbus_conn;
84     DBusConnection      *dbus_conn_session;
85     osso_context_t      *osso;
86     gint xapplet;
87     gint yapplet;
88     Scene *scene;
89     GHashTable * hash_scene_func;
90     GKeyFile *config_file;
91     gint view;
92     pid_t  pid;
93 };
94
95 struct _AWallpaperPlugin
96 {
97     HDHomePluginItem parent;
98     Animation_WallpaperPrivate *priv;
99 };
100
101 struct _AWallpaperPluginClass
102 {
103   HDHomePluginItemClass parent_class;
104 };
105
106
107 #define LIVEWP_SIGNAL_INTERFACE "org.maemo.livewp"
108 #define LIVEWP_SIGNAL_PATH "/org/maemo/livewp"
109 #define LIVEWP_SIGNAL_RELOAD_CONFIG_INTERFACE "org.maemo.livewp.reload_config"
110 #define LIVEWP_SIGNAL_RELOAD_CONFIG_PATH "/org/maemo/livewp/reload_config"
111 #define LIVEWP_RELOAD_CONFIG "reload_config"
112 #define LIVEWP_RELOAD_PLUGIN "reload_plugin"
113 #define LIVEWP_STOP_LIVEBG_ON_VIEW1 "stop_livebg_on_view1"
114 #define LIVEWP_STOP_LIVEBG_ON_VIEW2 "stop_livebg_on_view2"
115 #define LIVEWP_STOP_LIVEBG_ON_VIEW3 "stop_livebg_on_view3"
116 #define LIVEWP_STOP_LIVEBG_ON_VIEW4 "stop_livebg_on_view4"
117
118 /* For DBUS notification */
119 #define NOTIFY_SIGNAL_INTERFACE "org.freedesktop.Notifications"
120 #define NOTIFY_SIGNAL_PATH "/org/freedesktop/Notifications"
121 #define NOTIFY_MEMBER "Notify"
122 #define CLOSENOTIFY_MEMBER "NotificationClosed"
123
124 #endif