99b93fa0eec776d624a4fc69892b65e64dd4b571
[hildon] / src / hildon-defines.h
1 /*
2  * This file is a part of hildon
3  *
4  * Copyright (C) 2005, 2006 Nokia Corporation, all rights reserved.
5  *
6  * Contact: Michael Dominic Kostrzewa <michael.kostrzewa@nokia.com>
7  *
8  * This library is free software; you can redistribute it and/or
9  * modify it under the terms of the GNU Lesser General Public License
10  * as published by the Free Software Foundation; version 2.1 of
11  * the License.
12  *
13  * This library is distributed in the hope that it will be useful, but
14  * WITHOUT ANY WARRANTY; without even the implied warranty of
15  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
16  * Lesser General Public License for more details.
17  *
18  * You should have received a copy of the GNU Lesser General Public
19  * License along with this library; if not, write to the Free Software
20  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
21  * 02110-1301 USA
22  *
23  */
24
25 #ifndef                                         __HILDON_DEFINES_H__
26 #define                                         __HILDON_DEFINES_H__
27
28 #include                                        <gtk/gtkwindow.h>
29 #include                                        <gdk/gdkkeysyms.h>
30
31 G_BEGIN_DECLS
32
33 typedef struct                                  _HildonIconSizes HildonIconSizes;
34
35 struct                                          _HildonIconSizes
36 {
37     GtkIconSize icon_size_list;
38     GtkIconSize icon_size_small;
39     GtkIconSize icon_size_toolbar;
40     GtkIconSize icon_size_widg;
41     GtkIconSize icon_size_widg_wizard;
42     GtkIconSize icon_size_grid;
43     GtkIconSize icon_size_big_note;
44     GtkIconSize icon_size_note;
45     GtkIconSize icon_size_statusbar;
46     GtkIconSize icon_size_indi_video_player_pre_roll;
47     GtkIconSize icon_size_indi_key_pad_lock;
48     GtkIconSize icon_size_indi_copy;
49     GtkIconSize icon_size_indi_delete;
50     GtkIconSize icon_size_indi_process;
51     GtkIconSize icon_size_indi_progressball;
52     GtkIconSize icon_size_indi_send;
53     GtkIconSize icon_size_indi_offmode_charging;
54     GtkIconSize icon_size_indi_tap_and_hold;
55     GtkIconSize icon_size_indi_send_receive;
56     GtkIconSize icon_size_indi_wlan_strength;
57     GtkIconSize image_size_indi_nokia_logo;
58     GtkIconSize image_size_indi_startup_failed;
59     GtkIconSize image_size_indi_startup_nokia_logo;
60     GtkIconSize image_size_indi_nokia_hands;
61 };
62
63 extern const                                    HildonIconSizes *hildoniconsizes;
64
65 #define                                         HILDON_ICON_SIZE_CHECK_AND_GET(iconvar) \
66                                                 (!hildoniconsizes ? \
67                                                  hildon_icon_sizes_init (), hildoniconsizes->iconvar : \
68                                                  hildoniconsizes->iconvar)
69
70 #define                                         HILDON_ICON_SIZE_LIST \
71                                                 HILDON_ICON_SIZE_CHECK_AND_GET(icon_size_list)
72
73 #define                                         HILDON_ICON_SIZE_SMALL \
74                                                 HILDON_ICON_SIZE_CHECK_AND_GET(icon_size_small)
75
76 #define                                         HILDON_ICON_SIZE_TOOLBAR \
77                                                 HILDON_ICON_SIZE_CHECK_AND_GET(icon_size_toolbar)
78
79 #define                                         HILDON_ICON_SIZE_WIDG \
80                                                 HILDON_ICON_SIZE_CHECK_AND_GET(icon_size_widg)
81
82 #define                                         HILDON_ICON_SIZE_WIDG_WIZARD \
83                                                 HILDON_ICON_SIZE_CHECK_AND_GET(icon_size_widg_wizard)
84
85 #define                                         HILDON_ICON_SIZE_GRID \
86                                                 HILDON_ICON_SIZE_CHECK_AND_GET(icon_size_grid)
87
88 #define                                         HILDON_ICON_SIZE_BIG_NOTE \
89                                                 HILDON_ICON_SIZE_CHECK_AND_GET(icon_size_big_note)
90
91 #define                                         HILDON_ICON_SIZE_NOTE \
92                                                 HILDON_ICON_SIZE_CHECK_AND_GET(icon_size_note)
93
94 #define                                         HILDON_ICON_SIZE_STATUSBAR \
95                                                 HILDON_ICON_SIZE_CHECK_AND_GET(icon_size_statusbar)
96
97 #define                                         HILDON_ICON_SIZE_INDI_VIDEO_PLAYER_PRE_ROLL \
98                                                 HILDON_ICON_SIZE_CHECK_AND_GET(icon_size_indi_video_player_pre_roll)
99
100 #define                                         HILDON_ICON_SIZE_INDI_COPY \
101                                                 HILDON_ICON_SIZE_CHECK_AND_GET(icon_size_indi_copy)
102
103 #define                                         HILDON_ICON_SIZE_INDI_DELETE \
104                                                 HILDON_ICON_SIZE_CHECK_AND_GET(icon_size_indi_delete)
105
106 #define                                         HILDON_ICON_SIZE_INDI_PROCESS \
107                                                 HILDON_ICON_SIZE_CHECK_AND_GET(icon_size_indi_process)
108
109 #define                                         HILDON_ICON_SIZE_INDI_PROGRESSBALL \
110                                                 HILDON_ICON_SIZE_CHECK_AND_GET(icon_size_indi_progressball)
111
112 #define                                         HILDON_ICON_SIZE_INDI_SEND \
113                                                 HILDON_ICON_SIZE_CHECK_AND_GET(icon_size_indi_send)
114
115 #define                                         HILDON_ICON_SIZE_INDI_OFFMODE_CHARGING \
116                                                 HILDON_ICON_SIZE_CHECK_AND_GET(icon_size_indi_offmode)
117
118 #define                                         HILDON_ICON_SIZE_INDI_TAP_AND_HOLD \
119                                                 HILDON_ICON_SIZE_CHECK_AND_GET(icon_size_tap_and_hold)
120
121 #define                                         HILDON_ICON_SIZE_INDI_SEND_RECEIVE \
122                                                 HILDON_ICON_SIZE_CHECK_AND_GET(icon_size_indi_send_receive)
123
124 #define                                         HILDON_ICON_SIZE_INDI_WLAN_STRENGTH \
125                                                 HILDON_ICON_SIZE_CHECK_AND_GET(icon_size_indi_wlan_strength)
126
127 #define                                         HILDON_IMAGE_SIZE_INDI_NOKIA_LOGO \
128                                                 HILDON_ICON_SIZE_CHECK_AND_GET(image_size_indi_nokia_logo)
129
130 #define                                         HILDON_IMAGE_SIZE_INDI_STARTUP_FAILED \
131                                                 HILDON_ICON_SIZE_CHECK_AND_GET(image_size_indi_startup_nokia_failed)
132
133 #define                                         HILDON_IMAGE_SIZE_INDI_STARTUP_NOKIA_LOGO \
134                                                 HILDON_ICON_SIZE_CHECK_AND_GET(image_size_indi_startup_nokia_logo)
135
136 #define                                         HILDON_IMAGE_SIZE_INDI_NOKIA_HAND \
137                                                 HILDON_ICON_SIZE_CHECK_AND_GET(image_size_indi_nokia_hands)
138
139 /* Actual icon sizes */
140
141 #define                                         HILDON_ICON_PIXEL_SIZE_LIST 64
142
143 #define                                         HILDON_ICON_PIXEL_SIZE_SMALL 26
144
145 #define                                         HILDON_ICON_PIXEL_SIZE_TOOLBAR 26
146
147 #define                                         HILDON_ICON_PIXEL_SIZE_WIDG 26
148
149 #define                                         HILDON_ICON_PIXEL_SIZE_WIDG_WIZARD 50
150
151 #define                                         HILDON_ICON_PIXEL_SIZE_GRID 64
152
153 #define                                         HILDON_ICON_PIXEL_SIZE_BIG_NOTE 50
154
155 #define                                         HILDON_ICON_PIXEL_SIZE_NOTE 26
156
157 #define                                         HILDON_ICON_PIXEL_SIZE_STATUSBAR 40
158
159 #define                                         HILDON_ICON_PIXEL_SIZE_INDI_VIDEO_PLAYER_PRE_ROLL 64
160
161 #define                                         HILDON_ICON_PIXEL_SIZE_INDI_KEY_PAD_LOCK 50
162
163 #define                                         HILDON_ICON_PIXEL_SIZE_INDI_COPY 64
164
165 #define                                         HILDON_ICON_PIXEL_SIZE_INDI_DELETE 64
166
167 #define                                         HILDON_ICON_PIXEL_SIZE_INDI_PROCESS 64
168
169 #define                                         HILDON_ICON_PIXEL_SIZE_INDI_PROGRESSBALL 64
170
171 #define                                         HILDON_ICON_PIXEL_SIZE_INDI_SEND 64
172
173 #define                                         HILDON_ICON_PIXEL_SIZE_INDI_OFFMODE_CHARGING 50
174
175 #define                                         HILDON_ICON_PIXEL_SIZE_INDI_TAP_AND_HOLD 34
176
177 #define                                         HILDON_ICON_PIXEL_SIZE_INDI_SEND_RECEIVE 64
178
179 #define                                         HILDON_ICON_PIXEL_SIZE_INDI_WLAN_STRENGTH 64
180
181 /* Actual image sizes */
182
183 #define                                         HILDON_IMAGE_PIXEL_SIZE_INDI_NOKIA_LOGO 64
184
185 #define                                         HILDON_IMAGE_PIXEL_SIZE_INDI_STARTUP_FAILED 64
186
187 #define                                         HILDON_IMAGE_PIXEL_SIZE_INDI_STARTUP_NOKIA_LOGO 64
188
189 #define                                         HILDON_IMAGE_PIXEL_SIZE_INDI_NOKIA_HANDS 64
190
191 #define                                         HILDON_MARGIN_HALF 3
192
193 #define                                         HILDON_MARGIN_DEFAULT 6
194
195 #define                                         HILDON_MARGIN_DOUBLE 12
196
197 #define                                         HILDON_MARGIN_TRIPLE 18
198
199 /* Hard keys */
200
201 #define                                         HILDON_HARDKEY_UP GDK_Up
202
203 #define                                         HILDON_HARDKEY_LEFT GDK_Left
204
205 #define                                         HILDON_HARDKEY_RIGHT      GDK_Right
206
207 #define                                         HILDON_HARDKEY_DOWN       GDK_Down
208
209 #define                                         HILDON_HARDKEY_SELECT     GDK_Return
210
211 #define                                         HILDON_HARDKEY_MENU       GDK_F4
212
213 #define                                         HILDON_HARDKEY_HOME       GDK_F5
214
215 #define                                         HILDON_HARDKEY_ESC        GDK_Escape
216
217 #define                                         HILDON_HARDKEY_FULLSCREEN GDK_F6
218
219 #define                                         HILDON_HARDKEY_INCREASE   GDK_F7
220
221 #define                                         HILDON_HARDKEY_DECREASE   GDK_F8
222
223 void 
224 hildon_icon_sizes_init                          (void);
225
226 G_END_DECLS
227
228 #endif                                          /* HILDON_DEFINES_H */