summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJonathan Atton <jonathan.atton@gmail.com>2010-10-09 08:02:49 +0000
committerJonathan Atton <jonathan.atton@gmail.com>2010-10-09 08:02:49 +0000
commitcaf94e7f7f491a424ae5460b6229ecc1c0ccb536 (patch)
tree26f7b463c74a5a9206d37dc2a71ece8929bfaa0f
parent5be988868aa3d62ece98e849b9ee4bf6d8a06e6e (diff)
lib eweather :
- add a new and simple themes, no animations, only a simple image by weather - add a test application : eweather_test - add eweather_object_theme_set - press any key to change the theme in eweather_test SVN revision: 53228
-rw-r--r--configure.ac14
-rw-r--r--data/Makefile.am22
-rw-r--r--data/default/Makefile.am22
-rw-r--r--data/default/images/LICENSE.GPL2362
-rw-r--r--data/default/images/LICENSE.GPL3696
-rw-r--r--data/default/images/Makefile.am8
-rw-r--r--data/default/images/bg_day_clear.pngbin0 -> 89042 bytes
-rw-r--r--data/default/images/bg_day_heavyrain.pngbin0 -> 95242 bytes
-rw-r--r--data/default/images/bg_day_rain.pngbin0 -> 102244 bytes
-rw-r--r--data/default/images/bg_night_clear.pngbin0 -> 70350 bytes
-rw-r--r--data/default/images/bg_night_rain.pngbin0 -> 71135 bytes
-rw-r--r--data/default/images/city_name_background.pngbin0 -> 54864 bytes
-rw-r--r--data/default/images/cloud_cloud_1.pngbin0 -> 88259 bytes
-rw-r--r--data/default/images/cloud_cloud_1_line.pngbin0 -> 293 bytes
-rw-r--r--data/default/images/cloud_cloud_2.pngbin0 -> 32288 bytes
-rw-r--r--data/default/images/cloud_cloud_2_line.pngbin0 -> 316 bytes
-rw-r--r--data/default/images/cloud_cloud_3.pngbin0 -> 22858 bytes
-rw-r--r--data/default/images/cloud_cloud_3_line.pngbin0 -> 326 bytes
-rw-r--r--data/default/images/cloud_rain_1.pngbin0 -> 74085 bytes
-rw-r--r--data/default/images/cloud_rain_1_line.pngbin0 -> 220 bytes
-rw-r--r--data/default/images/cloud_rain_2.pngbin0 -> 32900 bytes
-rw-r--r--data/default/images/cloud_rain_2_line.pngbin0 -> 217 bytes
-rw-r--r--data/default/images/cloud_rain_3.pngbin0 -> 22621 bytes
-rw-r--r--data/default/images/cloud_rain_3_line.pngbin0 -> 205 bytes
-rw-r--r--data/default/images/cloud_storm_1.pngbin0 -> 80582 bytes
-rw-r--r--data/default/images/cloud_storm_1_line.pngbin0 -> 190 bytes
-rw-r--r--data/default/images/cloud_storm_2.pngbin0 -> 29242 bytes
-rw-r--r--data/default/images/cloud_storm_2_line.pngbin0 -> 211 bytes
-rw-r--r--data/default/images/cloud_storm_3.pngbin0 -> 20001 bytes
-rw-r--r--data/default/images/cloud_storm_3_line.pngbin0 -> 218 bytes
-rw-r--r--data/default/images/cloud_tstorm_1.pngbin0 -> 80582 bytes
-rw-r--r--data/default/images/cloud_tstorm_1_line.pngbin0 -> 190 bytes
-rw-r--r--data/default/images/cloud_tstorm_2.pngbin0 -> 29242 bytes
-rw-r--r--data/default/images/cloud_tstorm_2_line.pngbin0 -> 211 bytes
-rw-r--r--data/default/images/cloud_tstorm_3.pngbin0 -> 20001 bytes
-rw-r--r--data/default/images/cloud_tstorm_3_line.pngbin0 -> 218 bytes
-rw-r--r--data/default/images/division_line.pngbin0 -> 145 bytes
-rw-r--r--data/default/images/fog.pngbin0 -> 4556 bytes
-rw-r--r--data/default/images/haze.pngbin0 -> 4647 bytes
-rw-r--r--data/default/images/icon_max.pngbin0 -> 294 bytes
-rw-r--r--data/default/images/icon_min.pngbin0 -> 300 bytes
-rw-r--r--data/default/images/moon.pngbin0 -> 13263 bytes
-rw-r--r--data/default/images/moon_line.pngbin0 -> 211 bytes
-rw-r--r--data/default/images/rain_01.pngbin0 -> 34699 bytes
-rw-r--r--data/default/images/rain_02.pngbin0 -> 18613 bytes
-rw-r--r--data/default/images/rain_03.pngbin0 -> 20882 bytes
-rw-r--r--data/default/images/snow_flake.pngbin0 -> 1524 bytes
-rw-r--r--data/default/images/snow_flake_01.pngbin0 -> 1524 bytes
-rw-r--r--data/default/images/snow_flake_02.pngbin0 -> 1099 bytes
-rw-r--r--data/default/images/snow_flake_03.pngbin0 -> 797 bytes
-rw-r--r--data/default/images/snow_flake_04.pngbin0 -> 1354 bytes
-rw-r--r--data/default/images/snow_flake_05.pngbin0 -> 988 bytes
-rw-r--r--data/default/images/snow_flake_06.pngbin0 -> 733 bytes
-rw-r--r--data/default/images/snow_flake_07.pngbin0 -> 890 bytes
-rw-r--r--data/default/images/snow_flake_08.pngbin0 -> 651 bytes
-rw-r--r--data/default/images/snow_flake_09.pngbin0 -> 456 bytes
-rw-r--r--data/default/images/sun.pngbin0 -> 56707 bytes
-rw-r--r--data/default/images/sun_line.pngbin0 -> 402 bytes
-rw-r--r--data/default/images/thunder.pngbin0 -> 25862 bytes
-rw-r--r--data/default/images/title_bar.pngbin0 -> 21557 bytes
-rw-r--r--data/default/theme.edc1998
-rw-r--r--data/simple/Makefile.am22
-rw-r--r--data/simple/images/EWEATHER_TYPE_CLEAR_NIGHT.pngbin0 -> 80837 bytes
-rw-r--r--data/simple/images/EWEATHER_TYPE_CLOUDY.pngbin0 -> 152301 bytes
-rw-r--r--data/simple/images/EWEATHER_TYPE_FOGGY.pngbin0 -> 144830 bytes
-rw-r--r--data/simple/images/EWEATHER_TYPE_HEAVY_SNOW.pngbin0 -> 166124 bytes
-rw-r--r--data/simple/images/EWEATHER_TYPE_ISOLATED_THUNDERSTORMS.pngbin0 -> 148888 bytes
-rw-r--r--data/simple/images/EWEATHER_TYPE_MOSTLY_CLOUDY_NIGHT.pngbin0 -> 125769 bytes
-rw-r--r--data/simple/images/EWEATHER_TYPE_PARTLY_CLOUDY_DAY.pngbin0 -> 133068 bytes
-rw-r--r--data/simple/images/EWEATHER_TYPE_PARTLY_CLOUDY_NIGHT.pngbin0 -> 101508 bytes
-rw-r--r--data/simple/images/EWEATHER_TYPE_RAIN.pngbin0 -> 164470 bytes
-rw-r--r--data/simple/images/EWEATHER_TYPE_RAIN_SNOW.pngbin0 -> 171963 bytes
-rw-r--r--data/simple/images/EWEATHER_TYPE_SNOW.pngbin0 -> 159415 bytes
-rw-r--r--data/simple/images/EWEATHER_TYPE_SUNNY.pngbin0 -> 117788 bytes
-rw-r--r--data/simple/images/EWEATHER_TYPE_THUNDERSTORMS.pngbin0 -> 179327 bytes
-rw-r--r--data/simple/images/EWEATHER_TYPE_WINDY.pngbin0 -> 133068 bytes
-rw-r--r--data/simple/images/Makefile.am8
-rw-r--r--data/simple/theme.edc345
-rw-r--r--module.desktop.in2
-rw-r--r--src/Makefile.am2
-rw-r--r--src/bin/Makefile.am17
-rw-r--r--src/bin/eweather_test.c102
-rw-r--r--src/lib/EWeather_Smart.h1
-rw-r--r--src/lib/eweather_smart.c41
-rw-r--r--src/plugins/test/test.c349
85 files changed, 3802 insertions, 209 deletions
diff --git a/configure.ac b/configure.ac
index 1089f89..ab0e4b1 100644
--- a/configure.ac
+++ b/configure.ac
@@ -44,9 +44,11 @@ AC_SUBST(dlopen_libs)
44 44
45PKG_CHECK_MODULES(E, [ecore 45PKG_CHECK_MODULES(E, [ecore
46 ecore-file 46 ecore-file
47 edje 47 ecore-evas
48 ecore-con]) 48 evas
49release=$(pkg-config --variable=release enlightenment) 49 ecore-con
50 edje])
51release=$(pkg-config --variable=release enlightenment)eina_module_list_free
50MODULE_ARCH="$host_os-$host_cpu-$release" 52MODULE_ARCH="$host_os-$host_cpu-$release"
51AC_SUBST(MODULE_ARCH) 53AC_SUBST(MODULE_ARCH)
52AC_DEFINE_UNQUOTED(MODULE_ARCH, "$MODULE_ARCH", "Module architecture") 54AC_DEFINE_UNQUOTED(MODULE_ARCH, "$MODULE_ARCH", "Module architecture")
@@ -73,9 +75,13 @@ AC_OUTPUT([
73Makefile 75Makefile
74eweather.pc 76eweather.pc
75data/Makefile 77data/Makefile
76data/images/Makefile 78data/default/Makefile
79data/default/images/Makefile
80data/simple/Makefile
81data/simple/images/Makefile
77src/Makefile 82src/Makefile
78src/lib/Makefile 83src/lib/Makefile
84src/bin/Makefile
79src/plugins/Makefile 85src/plugins/Makefile
80src/plugins/test/Makefile 86src/plugins/test/Makefile
81src/plugins/yahoo/Makefile 87src/plugins/yahoo/Makefile
diff --git a/data/Makefile.am b/data/Makefile.am
index 3cd0213..b59e7c6 100644
--- a/data/Makefile.am
+++ b/data/Makefile.am
@@ -1,22 +1,2 @@
1MAINTAINERCLEANFILES = Makefile.in theme.edj 1SUBDIRS = default simple
2 2
3SUBDIRS = images
4
5EDJ = theme.edj
6
7EXTRA_DIST = theme.edc
8
9EDJE_FLAGS = -v \
10 -id $(top_srcdir)/data/images
11
12theme.edj: theme.edc
13 $(EDJE_CC) $(EDJE_FLAGS) $(top_srcdir)/data/theme.edc
14
15icondir = $(pkgdatadir)
16icon_DATA = $(EDJ)
17
18clean-local:
19 rm -rf *.edj *~
20
21uninstall:
22 rm -rf $(DESTDIR)$(pkgdatadir)²
diff --git a/data/default/Makefile.am b/data/default/Makefile.am
new file mode 100644
index 0000000..894fb56
--- /dev/null
+++ b/data/default/Makefile.am
@@ -0,0 +1,22 @@
1MAINTAINERCLEANFILES = Makefile.in theme.edj
2
3SUBDIRS = images
4
5EDJ = theme.edj
6
7EXTRA_DIST = theme.edc
8
9EDJE_FLAGS = -v \
10 -id $(top_srcdir)/data/default/images
11
12theme.edj: theme.edc
13 $(EDJE_CC) $(EDJE_FLAGS) $(top_srcdir)/data/default/theme.edc
14
15icondir = $(pkgdatadir)/default
16icon_DATA = $(EDJ)
17
18clean-local:
19 rm -rf *.edj *~
20
21uninstall:
22 rm -rf $(DESTDIR)$(pkgdatadir)²
diff --git a/data/default/images/LICENSE.GPL2 b/data/default/images/LICENSE.GPL2
new file mode 100644
index 0000000..2d20aa4
--- /dev/null
+++ b/data/default/images/LICENSE.GPL2
@@ -0,0 +1,362 @@
1 GNU GENERAL PUBLIC LICENSE
2
3 The Qt GUI Toolkit is Copyright (C) 2008 Nokia Corporation and/or its subsidiary(-ies).
4 Contact: Qt Software Information (qt-info@nokia.com)
5
6 You may use, distribute and copy the Qt GUI Toolkit under the terms of
7 GNU General Public License version 2, which is displayed below.
8
9-------------------------------------------------------------------------
10
11 GNU GENERAL PUBLIC LICENSE
12 Version 2, June 1991
13
14 Copyright (C) 1989, 1991 Free Software Foundation, Inc.
15 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
16 Everyone is permitted to copy and distribute verbatim copies
17 of this license document, but changing it is not allowed.
18
19 Preamble
20
21 The licenses for most software are designed to take away your
22freedom to share and change it. By contrast, the GNU General Public
23License is intended to guarantee your freedom to share and change free
24software--to make sure the software is free for all its users. This
25General Public License applies to most of the Free Software
26Foundation's software and to any other program whose authors commit to
27using it. (Some other Free Software Foundation software is covered by
28the GNU Library General Public License instead.) You can apply it to
29your programs, too.
30
31 When we speak of free software, we are referring to freedom, not
32price. Our General Public Licenses are designed to make sure that you
33have the freedom to distribute copies of free software (and charge for
34this service if you wish), that you receive source code or can get it
35if you want it, that you can change the software or use pieces of it
36in new free programs; and that you know you can do these things.
37
38 To protect your rights, we need to make restrictions that forbid
39anyone to deny you these rights or to ask you to surrender the rights.
40These restrictions translate to certain responsibilities for you if you
41distribute copies of the software, or if you modify it.
42
43 For example, if you distribute copies of such a program, whether
44gratis or for a fee, you must give the recipients all the rights that
45you have. You must make sure that they, too, receive or can get the
46source code. And you must show them these terms so they know their
47rights.
48
49 We protect your rights with two steps: (1) copyright the software, and
50(2) offer you this license which gives you legal permission to copy,
51distribute and/or modify the software.
52
53 Also, for each author's protection and ours, we want to make certain
54that everyone understands that there is no warranty for this free
55software. If the software is modified by someone else and passed on, we
56want its recipients to know that what they have is not the original, so
57that any problems introduced by others will not reflect on the original
58authors' reputations.
59
60 Finally, any free program is threatened constantly by software
61patents. We wish to avoid the danger that redistributors of a free
62program will individually obtain patent licenses, in effect making the
63program proprietary. To prevent this, we have made it clear that any
64patent must be licensed for everyone's free use or not licensed at all.
65
66 The precise terms and conditions for copying, distribution and
67modification follow.
68
69 GNU GENERAL PUBLIC LICENSE
70 TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
71
72 0. This License applies to any program or other work which contains
73a notice placed by the copyright holder saying it may be distributed
74under the terms of this General Public License. The "Program", below,
75refers to any such program or work, and a "work based on the Program"
76means either the Program or any derivative work under copyright law:
77that is to say, a work containing the Program or a portion of it,
78either verbatim or with modifications and/or translated into another
79language. (Hereinafter, translation is included without limitation in
80the term "modification".) Each licensee is addressed as "you".
81
82Activities other than copying, distribution and modification are not
83covered by this License; they are outside its scope. The act of
84running the Program is not restricted, and the output from the Program
85is covered only if its contents constitute a work based on the
86Program (independent of having been made by running the Program).
87Whether that is true depends on what the Program does.
88
89 1. You may copy and distribute verbatim copies of the Program's
90source code as you receive it, in any medium, provided that you
91conspicuously and appropriately publish on each copy an appropriate
92copyright notice and disclaimer of warranty; keep intact all the
93notices that refer to this License and to the absence of any warranty;
94and give any other recipients of the Program a copy of this License
95along with the Program.
96
97You may charge a fee for the physical act of transferring a copy, and
98you may at your option offer warranty protection in exchange for a fee.
99
100 2. You may modify your copy or copies of the Program or any portion
101of it, thus forming a work based on the Program, and copy and
102distribute such modifications or work under the terms of Section 1
103above, provided that you also meet all of these conditions:
104
105 a) You must cause the modified files to carry prominent notices
106 stating that you changed the files and the date of any change.
107
108 b) You must cause any work that you distribute or publish, that in
109 whole or in part contains or is derived from the Program or any
110 part thereof, to be licensed as a whole at no charge to all third
111 parties under the terms of this License.
112
113 c) If the modified program normally reads commands interactively
114 when run, you must cause it, when started running for such
115 interactive use in the most ordinary way, to print or display an
116 announcement including an appropriate copyright notice and a
117 notice that there is no warranty (or else, saying that you provide
118 a warranty) and that users may redistribute the program under
119 these conditions, and telling the user how to view a copy of this
120 License. (Exception: if the Program itself is interactive but
121 does not normally print such an announcement, your work based on
122 the Program is not required to print an announcement.)
123
124These requirements apply to the modified work as a whole. If
125identifiable sections of that work are not derived from the Program,
126and can be reasonably considered independent and separate works in
127themselves, then this License, and its terms, do not apply to those
128sections when you distribute them as separate works. But when you
129distribute the same sections as part of a whole which is a work based
130on the Program, the distribution of the whole must be on the terms of
131this License, whose permissions for other licensees extend to the
132entire whole, and thus to each and every part regardless of who wrote it.
133
134Thus, it is not the intent of this section to claim rights or contest
135your rights to work written entirely by you; rather, the intent is to
136exercise the right to control the distribution of derivative or
137collective works based on the Program.
138
139In addition, mere aggregation of another work not based on the Program
140with the Program (or with a work based on the Program) on a volume of
141a storage or distribution medium does not bring the other work under
142the scope of this License.
143
144 3. You may copy and distribute the Program (or a work based on it,
145under Section 2) in object code or executable form under the terms of
146Sections 1 and 2 above provided that you also do one of the following:
147
148 a) Accompany it with the complete corresponding machine-readable
149 source code, which must be distributed under the terms of Sections
150 1 and 2 above on a medium customarily used for software interchange; or,
151
152 b) Accompany it with a written offer, valid for at least three
153 years, to give any third party, for a charge no more than your
154 cost of physically performing source distribution, a complete
155 machine-readable copy of the corresponding source code, to be
156 distributed under the terms of Sections 1 and 2 above on a medium
157 customarily used for software interchange; or,
158
159 c) Accompany it with the information you received as to the offer
160 to distribute corresponding source code. (This alternative is
161 allowed only for noncommercial distribution and only if you
162 received the program in object code or executable form with such
163 an offer, in accord with Subsection b above.)
164
165The source code for a work means the preferred form of the work for
166making modifications to it. For an executable work, complete source
167code means all the source code for all modules it contains, plus any
168associated interface definition files, plus the scripts used to
169control compilation and installation of the executable. However, as a
170special exception, the source code distributed need not include
171anything that is normally distributed (in either source or binary
172form) with the major components (compiler, kernel, and so on) of the
173operating system on which the executable runs, unless that component
174itself accompanies the executable.
175
176If distribution of executable or object code is made by offering
177access to copy from a designated place, then offering equivalent
178access to copy the source code from the same place counts as
179distribution of the source code, even though third parties are not
180compelled to copy the source along with the object code.
181
182 4. You may not copy, modify, sublicense, or distribute the Program
183except as expressly provided under this License. Any attempt
184otherwise to copy, modify, sublicense or distribute the Program is
185void, and will automatically terminate your rights under this License.
186However, parties who have received copies, or rights, from you under
187this License will not have their licenses terminated so long as such
188parties remain in full compliance.
189
190 5. You are not required to accept this License, since you have not
191signed it. However, nothing else grants you permission to modify or
192distribute the Program or its derivative works. These actions are
193prohibited by law if you do not accept this License. Therefore, by
194modifying or distributing the Program (or any work based on the
195Program), you indicate your acceptance of this License to do so, and
196all its terms and conditions for copying, distributing or modifying
197the Program or works based on it.
198
199 6. Each time you redistribute the Program (or any work based on the
200Program), the recipient automatically receives a license from the
201original licensor to copy, distribute or modify the Program subject to
202these terms and conditions. You may not impose any further
203restrictions on the recipients' exercise of the rights granted herein.
204You are not responsible for enforcing compliance by third parties to
205this License.
206
207 7. If, as a consequence of a court judgment or allegation of patent
208infringement or for any other reason (not limited to patent issues),
209conditions are imposed on you (whether by court order, agreement or
210otherwise) that contradict the conditions of this License, they do not
211excuse you from the conditions of this License. If you cannot
212distribute so as to satisfy simultaneously your obligations under this
213License and any other pertinent obligations, then as a consequence you
214may not distribute the Program at all. For example, if a patent
215license would not permit royalty-free redistribution of the Program by
216all those who receive copies directly or indirectly through you, then
217the only way you could satisfy both it and this License would be to
218refrain entirely from distribution of the Program.
219
220If any portion of this section is held invalid or unenforceable under
221any particular circumstance, the balance of the section is intended to
222apply and the section as a whole is intended to apply in other
223circumstances.
224
225It is not the purpose of this section to induce you to infringe any
226patents or other property right claims or to contest validity of any
227such claims; this section has the sole purpose of protecting the
228integrity of the free software distribution system, which is
229implemented by public license practices. Many people have made
230generous contributions to the wide range of software distributed
231through that system in reliance on consistent application of that
232system; it is up to the author/donor to decide if he or she is willing
233to distribute software through any other system and a licensee cannot
234impose that choice.
235
236This section is intended to make thoroughly clear what is believed to
237be a consequence of the rest of this License.
238
239 8. If the distribution and/or use of the Program is restricted in
240certain countries either by patents or by copyrighted interfaces, the
241original copyright holder who places the Program under this License
242may add an explicit geographical distribution limitation excluding
243those countries, so that distribution is permitted only in or among
244countries not thus excluded. In such case, this License incorporates
245the limitation as if written in the body of this License.
246
247 9. The Free Software Foundation may publish revised and/or new versions
248of the General Public License from time to time. Such new versions will
249be similar in spirit to the present version, but may differ in detail to
250address new problems or concerns.
251
252Each version is given a distinguishing version number. If the Program
253specifies a version number of this License which applies to it and "any
254later version", you have the option of following the terms and conditions
255either of that version or of any later version published by the Free
256Software Foundation. If the Program does not specify a version number of
257this License, you may choose any version ever published by the Free Software
258Foundation.
259
260 10. If you wish to incorporate parts of the Program into other free
261programs whose distribution conditions are different, write to the author
262to ask for permission. For software which is copyrighted by the Free
263Software Foundation, write to the Free Software Foundation; we sometimes
264make exceptions for this. Our decision will be guided by the two goals
265of preserving the free status of all derivatives of our free software and
266of promoting the sharing and reuse of software generally.
267
268 NO WARRANTY
269
270 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
271FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
272OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
273PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
274OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
275MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
276TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
277PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
278REPAIR OR CORRECTION.
279
280 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
281WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
282REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
283INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
284OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
285TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
286YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
287PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
288POSSIBILITY OF SUCH DAMAGES.
289
290 END OF TERMS AND CONDITIONS
291
292 How to Apply These Terms to Your New Programs
293
294 If you develop a new program, and you want it to be of the greatest
295possible use to the public, the best way to achieve this is to make it
296free software which everyone can redistribute and change under these terms.
297
298 To do so, attach the following notices to the program. It is safest
299to attach them to the start of each source file to most effectively
300convey the exclusion of warranty; and each file should have at least
301the "copyright" line and a pointer to where the full notice is found.
302
303 <one line to give the program's name and a brief idea of what it does.>
304 Copyright (C) <year> <name of author>
305
306 This program is free software; you can redistribute it and/or modify
307 it under the terms of the GNU General Public License as published by
308 the Free Software Foundation; either version 2 of the License, or
309 (at your option) any later version.
310
311 This program is distributed in the hope that it will be useful,
312 but WITHOUT ANY WARRANTY; without even the implied warranty of
313 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
314 GNU General Public License for more details.
315
316 You should have received a copy of the GNU General Public License
317 along with this program; if not, write to the Free Software
318 Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
319
320
321Also add information on how to contact you by electronic and paper mail.
322
323If the program is interactive, make it output a short notice like this
324when it starts in an interactive mode:
325
326 Gnomovision version 69, Copyright (C) year name of author
327 Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
328 This is free software, and you are welcome to redistribute it
329 under certain conditions; type `show c' for details.
330
331The hypothetical commands `show w' and `show c' should show the appropriate
332parts of the General Public License. Of course, the commands you use may
333be called something other than `show w' and `show c'; they could even be
334mouse-clicks or menu items--whatever suits your program.
335
336You should also get your employer (if you work as a programmer) or your
337school, if any, to sign a "copyright disclaimer" for the program, if
338necessary. Here is a sample; alter the names:
339
340 Yoyodyne, Inc., hereby disclaims all copyright interest in the program
341 `Gnomovision' (which makes passes at compilers) written by James Hacker.
342
343 <signature of Ty Coon>, 1 April 1989
344 Ty Coon, President of Vice
345
346This General Public License does not permit incorporating your program into
347proprietary programs. If your program is a subroutine library, you may
348consider it more useful to permit linking proprietary applications with the
349library. If this is what you want to do, use the GNU Library General
350Public License instead of this License.
351
352-------------------------------------------------------------------------
353
354In addition, as a special exception, Trolltech gives permission to link the
355code of its release of Qt with the OpenSSL project's "OpenSSL" library (or
356modified versions of it that use the same license as the "OpenSSL"
357library), and distribute the linked executables. You must comply with the GNU
358General Public License version 2 or the GNU General Public License version 3
359in all respects for all of the code used other than the "OpenSSL" code. If
360you modify this file, you may extend this exception to your version of the
361file, but you are not obligated to do so. If you do not wish to do so,
362delete this exception statement from your version of this file.
diff --git a/data/default/images/LICENSE.GPL3 b/data/default/images/LICENSE.GPL3
new file mode 100644
index 0000000..dec7d74
--- /dev/null
+++ b/data/default/images/LICENSE.GPL3
@@ -0,0 +1,696 @@
1 GNU GENERAL PUBLIC LICENSE
2
3 The Qt GUI Toolkit is Copyright (C) 2008 Nokia Corporation and/or its subsidiary(-ies).
4 Contact: Qt Software Information (qt-info@nokia.com)
5
6 You may use, distribute and copy the Qt GUI Toolkit under the terms of
7 GNU General Public License version 3, which is displayed below.
8
9-------------------------------------------------------------------------
10
11 GNU GENERAL PUBLIC LICENSE
12 Version 3, 29 June 2007
13
14 Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/>
15 Everyone is permitted to copy and distribute verbatim copies
16 of this license document, but changing it is not allowed.
17
18 Preamble
19
20 The GNU General Public License is a free, copyleft license for
21software and other kinds of works.
22
23 The licenses for most software and other practical works are designed
24to take away your freedom to share and change the works. By contrast,
25the GNU General Public License is intended to guarantee your freedom to
26share and change all versions of a program--to make sure it remains free
27software for all its users. We, the Free Software Foundation, use the
28GNU General Public License for most of our software; it applies also to
29any other work released this way by its authors. You can apply it to
30your programs, too.
31
32 When we speak of free software, we are referring to freedom, not
33price. Our General Public Licenses are designed to make sure that you
34have the freedom to distribute copies of free software (and charge for
35them if you wish), that you receive source code or can get it if you
36want it, that you can change the software or use pieces of it in new
37free programs, and that you know you can do these things.
38
39 To protect your rights, we need to prevent others from denying you
40these rights or asking you to surrender the rights. Therefore, you have
41certain responsibilities if you distribute copies of the software, or if
42you modify it: responsibilities to respect the freedom of others.
43
44 For example, if you distribute copies of such a program, whether
45gratis or for a fee, you must pass on to the recipients the same
46freedoms that you received. You must make sure that they, too, receive
47or can get the source code. And you must show them these terms so they
48know their rights.
49
50 Developers that use the GNU GPL protect your rights with two steps:
51(1) assert copyright on the software, and (2) offer you this License
52giving you legal permission to copy, distribute and/or modify it.
53
54 For the developers' and authors' protection, the GPL clearly explains
55that there is no warranty for this free software. For both users' and
56authors' sake, the GPL requires that modified versions be marked as
57changed, so that their problems will not be attributed erroneously to
58authors of previous versions.
59
60 Some devices are designed to deny users access to install or run
61modified versions of the software inside them, although the manufacturer
62can do so. This is fundamentally incompatible with the aim of
63protecting users' freedom to change the software. The systematic
64pattern of such abuse occurs in the area of products for individuals to
65use, which is precisely where it is most unacceptable. Therefore, we
66have designed this version of the GPL to prohibit the practice for those
67products. If such problems arise substantially in other domains, we
68stand ready to extend this provision to those domains in future versions
69of the GPL, as needed to protect the freedom of users.
70
71 Finally, every program is threatened constantly by software patents.
72States should not allow patents to restrict development and use of
73software on general-purpose computers, but in those that do, we wish to
74avoid the special danger that patents applied to a free program could
75make it effectively proprietary. To prevent this, the GPL assures that
76patents cannot be used to render the program non-free.
77
78 The precise terms and conditions for copying, distribution and
79modification follow.
80
81 TERMS AND CONDITIONS
82
83 0. Definitions.
84
85 "This License" refers to version 3 of the GNU General Public License.
86
87 "Copyright" also means copyright-like laws that apply to other kinds of
88works, such as semiconductor masks.
89
90 "The Program" refers to any copyrightable work licensed under this
91License. Each licensee is addressed as "you". "Licensees" and
92"recipients" may be individuals or organizations.
93
94 To "modify" a work means to copy from or adapt all or part of the work
95in a fashion requiring copyright permission, other than the making of an
96exact copy. The resulting work is called a "modified version" of the
97earlier work or a work "based on" the earlier work.
98
99 A "covered work" means either the unmodified Program or a work based
100on the Program.
101
102 To "propagate" a work means to do anything with it that, without
103permission, would make you directly or secondarily liable for
104infringement under applicable copyright law, except executing it on a
105computer or modifying a private copy. Propagation includes copying,
106distribution (with or without modification), making available to the
107public, and in some countries other activities as well.
108
109 To "convey" a work means any kind of propagation that enables other
110parties to make or receive copies. Mere interaction with a user through
111a computer network, with no transfer of a copy, is not conveying.
112
113 An interactive user interface displays "Appropriate Legal Notices"
114to the extent that it includes a convenient and prominently visible
115feature that (1) displays an appropriate copyright notice, and (2)
116tells the user that there is no warranty for the work (except to the
117extent that warranties are provided), that licensees may convey the
118work under this License, and how to view a copy of this License. If
119the interface presents a list of user commands or options, such as a
120menu, a prominent item in the list meets this criterion.
121
122 1. Source Code.
123
124 The "source code" for a work means the preferred form of the work
125for making modifications to it. "Object code" means any non-source
126form of a work.
127
128 A "Standard Interface" means an interface that either is an official
129standard defined by a recognized standards body, or, in the case of
130interfaces specified for a particular programming language, one that
131is widely used among developers working in that language.
132
133 The "System Libraries" of an executable work include anything, other
134than the work as a whole, that (a) is included in the normal form of
135packaging a Major Component, but which is not part of that Major
136Component, and (b) serves only to enable use of the work with that
137Major Component, or to implement a Standard Interface for which an
138implementation is available to the public in source code form. A
139"Major Component", in this context, means a major essential component
140(kernel, window system, and so on) of the specific operating system
141(if any) on which the executable work runs, or a compiler used to
142produce the work, or an object code interpreter used to run it.
143
144 The "Corresponding Source" for a work in object code form means all
145the source code needed to generate, install, and (for an executable
146work) run the object code and to modify the work, including scripts to
147control those activities. However, it does not include the work's
148System Libraries, or general-purpose tools or generally available free
149programs which are used unmodified in performing those activities but
150which are not part of the work. For example, Corresponding Source
151includes interface definition files associated with source files for
152the work, and the source code for shared libraries and dynamically
153linked subprograms that the work is specifically designed to require,
154such as by intimate data communication or control flow between those
155subprograms and other parts of the work.
156
157 The Corresponding Source need not include anything that users
158can regenerate automatically from other parts of the Corresponding
159Source.
160
161 The Corresponding Source for a work in source code form is that
162same work.
163
164 2. Basic Permissions.
165
166 All rights granted under this License are granted for the term of
167copyright on the Program, and are irrevocable provided the stated
168conditions are met. This License explicitly affirms your unlimited
169permission to run the unmodified Program. The output from running a
170covered work is covered by this License only if the output, given its
171content, constitutes a covered work. This License acknowledges your
172rights of fair use or other equivalent, as provided by copyright law.
173
174 You may make, run and propagate covered works that you do not
175convey, without conditions so long as your license otherwise remains
176in force. You may convey covered works to others for the sole purpose
177of having them make modifications exclusively for you, or provide you
178with facilities for running those works, provided that you comply with
179the terms of this License in conveying all material for which you do
180not control copyright. Those thus making or running the covered works
181for you must do so exclusively on your behalf, under your direction
182and control, on terms that prohibit them from making any copies of
183your copyrighted material outside their relationship with you.
184
185 Conveying under any other circumstances is permitted solely under
186the conditions stated below. Sublicensing is not allowed; section 10
187makes it unnecessary.
188
189 3. Protecting Users' Legal Rights From Anti-Circumvention Law.
190
191 No covered work shall be deemed part of an effective technological
192measure under any applicable law fulfilling obligations under article
19311 of the WIPO copyright treaty adopted on 20 December 1996, or
194similar laws prohibiting or restricting circumvention of such
195measures.
196
197 When you convey a covered work, you waive any legal power to forbid
198circumvention of technological measures to the extent such circumvention
199is effected by exercising rights under this License with respect to
200the covered work, and you disclaim any intention to limit operation or
201modification of the work as a means of enforcing, against the work's
202users, your or third parties' legal rights to forbid circumvention of
203technological measures.
204
205 4. Conveying Verbatim Copies.
206
207 You may convey verbatim copies of the Program's source code as you
208receive it, in any medium, provided that you conspicuously and
209appropriately publish on each copy an appropriate copyright notice;
210keep intact all notices stating that this License and any
211non-permissive terms added in accord with section 7 apply to the code;
212keep intact all notices of the absence of any warranty; and give all
213recipients a copy of this License along with the Program.
214
215 You may charge any price or no price for each copy that you convey,
216and you may offer support or warranty protection for a fee.
217
218 5. Conveying Modified Source Versions.
219
220 You may convey a work based on the Program, or the modifications to
221produce it from the Program, in the form of source code under the
222terms of section 4, provided that you also meet all of these conditions:
223
224 a) The work must carry prominent notices stating that you modified
225 it, and giving a relevant date.
226
227 b) The work must carry prominent notices stating that it is
228 released under this License and any conditions added under section
229 7. This requirement modifies the requirement in section 4 to
230 "keep intact all notices".
231
232 c) You must license the entire work, as a whole, under this
233 License to anyone who comes into possession of a copy. This
234 License will therefore apply, along with any applicable section 7
235 additional terms, to the whole of the work, and all its parts,
236 regardless of how they are packaged. This License gives no
237 permission to license the work in any other way, but it does not
238 invalidate such permission if you have separately received it.
239
240 d) If the work has interactive user interfaces, each must display
241 Appropriate Legal Notices; however, if the Program has interactive
242 interfaces that do not display Appropriate Legal Notices, your
243 work need not make them do so.
244
245 A compilation of a covered work with other separate and independent
246works, which are not by their nature extensions of the covered work,
247and which are not combined with it such as to form a larger program,
248in or on a volume of a storage or distribution medium, is called an
249"aggregate" if the compilation and its resulting copyright are not
250used to limit the access or legal rights of the compilation's users
251beyond what the individual works permit. Inclusion of a covered work
252in an aggregate does not cause this License to apply to the other
253parts of the aggregate.
254
255 6. Conveying Non-Source Forms.
256
257 You may convey a covered work in object code form under the terms
258of sections 4 and 5, provided that you also convey the
259machine-readable Corresponding Source under the terms of this License,
260in one of these ways:
261
262 a) Convey the object code in, or embodied in, a physical product
263 (including a physical distribution medium), accompanied by the
264 Corresponding Source fixed on a durable physical medium
265 customarily used for software interchange.
266
267 b) Convey the object code in, or embodied in, a physical product
268 (including a physical distribution medium), accompanied by a
269 written offer, valid for at least three years and valid for as
270 long as you offer spare parts or customer support for that product
271 model, to give anyone who possesses the object code either (1) a
272 copy of the Corresponding Source for all the software in the
273 product that is covered by this License, on a durable physical
274 medium customarily used for software interchange, for a price no
275 more than your reasonable cost of physically performing this
276 conveying of source, or (2) access to copy the
277 Corresponding Source from a network server at no charge.
278
279 c) Convey individual copies of the object code with a copy of the
280 written offer to provide the Corresponding Source. This
281 alternative is allowed only occasionally and noncommercially, and
282 only if you received the object code with such an offer, in accord
283 with subsection 6b.
284
285 d) Convey the object code by offering access from a designated
286 place (gratis or for a charge), and offer equivalent access to the
287 Corresponding Source in the same way through the same place at no
288 further charge. You need not require recipients to copy the
289 Corresponding Source along with the object code. If the place to
290 copy the object code is a network server, the Corresponding Source
291 may be on a different server (operated by you or a third party)
292 that supports equivalent copying facilities, provided you maintain
293 clear directions next to the object code saying where to find the
294 Corresponding Source. Regardless of what server hosts the
295 Corresponding Source, you remain obligated to ensure that it is
296 available for as long as needed to satisfy these requirements.
297
298 e) Convey the object code using peer-to-peer transmission, provided
299 you inform other peers where the object code and Corresponding
300 Source of the work are being offered to the general public at no
301 charge under subsection 6d.
302
303 A separable portion of the object code, whose source code is excluded
304from the Corresponding Source as a System Library, need not be
305included in conveying the object code work.
306
307 A "User Product" is either (1) a "consumer product", which means any
308tangible personal property which is normally used for personal, family,
309or household purposes, or (2) anything designed or sold for incorporation
310into a dwelling. In determining whether a product is a consumer product,
311doubtful cases shall be resolved in favor of coverage. For a particular
312product received by a particular user, "normally used" refers to a
313typical or common use of that class of product, regardless of the status
314of the particular user or of the way in which the particular user
315actually uses, or expects or is expected to use, the product. A product
316is a consumer product regardless of whether the product has substantial
317commercial, industrial or non-consumer uses, unless such uses represent
318the only significant mode of use of the product.
319
320 "Installation Information" for a User Product means any methods,
321procedures, authorization keys, or other information required to install
322and execute modified versions of a covered work in that User Product from
323a modified version of its Corresponding Source. The information must
324suffice to ensure that the continued functioning of the modified object
325code is in no case prevented or interfered with solely because
326modification has been made.
327
328 If you convey an object code work under this section in, or with, or
329specifically for use in, a User Product, and the conveying occurs as
330part of a transaction in which the right of possession and use of the
331User Product is transferred to the recipient in perpetuity or for a
332fixed term (regardless of how the transaction is characterized), the
333Corresponding Source conveyed under this section must be accompanied
334by the Installation Information. But this requirement does not apply
335if neither you nor any third party retains the ability to install
336modified object code on the User Product (for example, the work has
337been installed in ROM).
338
339 The requirement to provide Installation Information does not include a
340requirement to continue to provide support service, warranty, or updates
341for a work that has been modified or installed by the recipient, or for
342the User Product in which it has been modified or installed. Access to a
343network may be denied when the modification itself materially and
344adversely affects the operation of the network or violates the rules and
345protocols for communication across the network.
346
347 Corresponding Source conveyed, and Installation Information provided,
348in accord with this section must be in a format that is publicly
349documented (and with an implementation available to the public in
350source code form), and must require no special password or key for
351unpacking, reading or copying.
352
353 7. Additional Terms.
354
355 "Additional permissions" are terms that supplement the terms of this
356License by making exceptions from one or more of its conditions.
357Additional permissions that are applicable to the entire Program shall
358be treated as though they were included in this License, to the extent
359that they are valid under applicable law. If additional permissions
360apply only to part of the Program, that part may be used separately
361under those permissions, but the entire Program remains governed by
362this License without regard to the additional permissions.
363
364 When you convey a copy of a covered work, you may at your option
365remove any additional permissions from that copy, or from any part of
366it. (Additional permissions may be written to require their own
367removal in certain cases when you modify the work.) You may place
368additional permissions on material, added by you to a covered work,
369for which you have or can give appropriate copyright permission.
370
371 Notwithstanding any other provision of this License, for material you
372add to a covered work, you may (if authorized by the copyright holders of
373that material) supplement the terms of this License with terms:
374
375 a) Disclaiming warranty or limiting liability differently from the
376 terms of sections 15 and 16 of this License; or
377
378 b) Requiring preservation of specified reasonable legal notices or
379 author attributions in that material or in the Appropriate Legal
380 Notices displayed by works containing it; or
381
382 c) Prohibiting misrepresentation of the origin of that material, or
383 requiring that modified versions of such material be marked in
384 reasonable ways as different from the original version; or
385
386 d) Limiting the use for publicity purposes of names of licensors or
387 authors of the material; or
388
389 e) Declining to grant rights under trademark law for use of some
390 trade names, trademarks, or service marks; or
391
392 f) Requiring indemnification of licensors and authors of that
393 material by anyone who conveys the material (or modified versions of
394 it) with contractual assumptions of liability to the recipient, for
395 any liability that these contractual assumptions directly impose on
396 those licensors and authors.
397
398 All other non-permissive additional terms are considered "further
399restrictions" within the meaning of section 10. If the Program as you
400received it, or any part of it, contains a notice stating that it is
401governed by this License along with a term that is a further
402restriction, you may remove that term. If a license document contains
403a further restriction but permits relicensing or conveying under this
404License, you may add to a covered work material governed by the terms
405of that license document, provided that the further restriction does
406not survive such relicensing or conveying.
407
408 If you add terms to a covered work in accord with this section, you
409must place, in the relevant source files, a statement of the
410additional terms that apply to those files, or a notice indicating
411where to find the applicable terms.
412
413 Additional terms, permissive or non-permissive, may be stated in the
414form of a separately written license, or stated as exceptions;
415the above requirements apply either way.
416
417 8. Termination.
418
419 You may not propagate or modify a covered work except as expressly
420provided under this License. Any attempt otherwise to propagate or
421modify it is void, and will automatically terminate your rights under
422this License (including any patent licenses granted under the third
423paragraph of section 11).
424
425 However, if you cease all violation of this License, then your
426license from a particular copyright holder is reinstated (a)
427provisionally, unless and until the copyright holder explicitly and
428finally terminates your license, and (b) permanently, if the copyright
429holder fails to notify you of the violation by some reasonable means
430prior to 60 days after the cessation.
431
432 Moreover, your license from a particular copyright holder is
433reinstated permanently if the copyright holder notifies you of the
434violation by some reasonable means, this is the first time you have
435received notice of violation of this License (for any work) from that
436copyright holder, and you cure the violation prior to 30 days after
437your receipt of the notice.
438
439 Termination of your rights under this section does not terminate the
440licenses of parties who have received copies or rights from you under
441this License. If your rights have been terminated and not permanently
442reinstated, you do not qualify to receive new licenses for the same
443material under section 10.
444
445 9. Acceptance Not Required for Having Copies.
446
447 You are not required to accept this License in order to receive or
448run a copy of the Program. Ancillary propagation of a covered work
449occurring solely as a consequence of using peer-to-peer transmission
450to receive a copy likewise does not require acceptance. However,
451nothing other than this License grants you permission to propagate or
452modify any covered work. These actions infringe copyright if you do
453not accept this License. Therefore, by modifying or propagating a
454covered work, you indicate your acceptance of this License to do so.
455
456 10. Automatic Licensing of Downstream Recipients.
457
458 Each time you convey a covered work, the recipient automatically
459receives a license from the original licensors, to run, modify and
460propagate that work, subject to this License. You are not responsible
461for enforcing compliance by third parties with this License.
462
463 An "entity transaction" is a transaction transferring control of an
464organization, or substantially all assets of one, or subdividing an
465organization, or merging organizations. If propagation of a covered
466work results from an entity transaction, each party to that
467transaction who receives a copy of the work also receives whatever
468licenses to the work the party's predecessor in interest had or could
469give under the previous paragraph, plus a right to possession of the
470Corresponding Source of the work from the predecessor in interest, if
471the predecessor has it or can get it with reasonable efforts.
472
473 You may not impose any further restrictions on the exercise of the
474rights granted or affirmed under this License. For example, you may
475not impose a license fee, royalty, or other charge for exercise of
476rights granted under this License, and you may not initiate litigation
477(including a cross-claim or counterclaim in a lawsuit) alleging that
478any patent claim is infringed by making, using, selling, offering for
479sale, or importing the Program or any portion of it.
480
481 11. Patents.
482
483 A "contributor" is a copyright holder who authorizes use under this
484License of the Program or a work on which the Program is based. The
485work thus licensed is called the contributor's "contributor version".
486
487 A contributor's "essential patent claims" are all patent claims
488owned or controlled by the contributor, whether already acquired or
489hereafter acquired, that would be infringed by some manner, permitted
490by this License, of making, using, or selling its contributor version,
491but do not include claims that would be infringed only as a
492consequence of further modification of the contributor version. For
493purposes of this definition, "control" includes the right to grant
494patent sublicenses in a manner consistent with the requirements of
495this License.
496
497 Each contributor grants you a non-exclusive, worldwide, royalty-free
498patent license under the contributor's essential patent claims, to
499make, use, sell, offer for sale, import and otherwise run, modify and
500propagate the contents of its contributor version.
501
502 In the following three paragraphs, a "patent license" is any express
503agreement or commitment, however denominated, not to enforce a patent
504(such as an express permission to practice a patent or covenant not to
505sue for patent infringement). To "grant" such a patent license to a
506party means to make such an agreement or commitment not to enforce a
507patent against the party.
508
509 If you convey a covered work, knowingly relying on a patent license,
510and the Corresponding Source of the work is not available for anyone
511to copy, free of charge and under the terms of this License, through a
512publicly available network server or other readily accessible means,
513then you must either (1) cause the Corresponding Source to be so
514available, or (2) arrange to deprive yourself of the benefit of the
515patent license for this particular work, or (3) arrange, in a manner
516consistent with the requirements of this License, to extend the patent
517license to downstream recipients. "Knowingly relying" means you have
518actual knowledge that, but for the patent license, your conveying the
519covered work in a country, or your recipient's use of the covered work
520in a country, would infringe one or more identifiable patents in that
521country that you have reason to believe are valid.
522
523 If, pursuant to or in connection with a single transaction or
524arrangement, you convey, or propagate by procuring conveyance of, a
525covered work, and grant a patent license to some of the parties
526receiving the covered work authorizing them to use, propagate, modify
527or convey a specific copy of the covered work, then the patent license
528you grant is automatically extended to all recipients of the covered
529work and works based on it.
530
531 A patent license is "discriminatory" if it does not include within
532the scope of its coverage, prohibits the exercise of, or is
533conditioned on the non-exercise of one or more of the rights that are
534specifically granted under this License. You may not convey a covered
535work if you are a party to an arrangement with a third party that is
536in the business of distributing software, under which you make payment
537to the third party based on the extent of your activity of conveying
538the work, and under which the third party grants, to any of the
539parties who would receive the covered work from you, a discriminatory
540patent license (a) in connection with copies of the covered work
541conveyed by you (or copies made from those copies), or (b) primarily
542for and in connection with specific products or compilations that
543contain the covered work, unless you entered into that arrangement,
544or that patent license was granted, prior to 28 March 2007.
545
546 Nothing in this License shall be construed as excluding or limiting
547any implied license or other defenses to infringement that may
548otherwise be available to you under applicable patent law.
549
550 12. No Surrender of Others' Freedom.
551
552 If conditions are imposed on you (whether by court order, agreement or
553otherwise) that contradict the conditions of this License, they do not
554excuse you from the conditions of this License. If you cannot convey a
555covered work so as to satisfy simultaneously your obligations under this
556License and any other pertinent obligations, then as a consequence you may
557not convey it at all. For example, if you agree to terms that obligate you
558to collect a royalty for further conveying from those to whom you convey
559the Program, the only way you could satisfy both those terms and this
560License would be to refrain entirely from conveying the Program.
561
562 13. Use with the GNU Affero General Public License.
563
564 Notwithstanding any other provision of this License, you have
565permission to link or combine any covered work with a work licensed
566under version 3 of the GNU Affero General Public License into a single
567combined work, and to convey the resulting work. The terms of this
568License will continue to apply to the part which is the covered work,
569but the special requirements of the GNU Affero General Public License,
570section 13, concerning interaction through a network will apply to the
571combination as such.
572
573 14. Revised Versions of this License.
574
575 The Free Software Foundation may publish revised and/or new versions of
576the GNU General Public License from time to time. Such new versions will
577be similar in spirit to the present version, but may differ in detail to
578address new problems or concerns.
579
580 Each version is given a distinguishing version number. If the
581Program specifies that a certain numbered version of the GNU General
582Public License "or any later version" applies to it, you have the
583option of following the terms and conditions either of that numbered
584version or of any later version published by the Free Software
585Foundation. If the Program does not specify a version number of the
586GNU General Public License, you may choose any version ever published
587by the Free Software Foundation.
588
589 If the Program specifies that a proxy can decide which future
590versions of the GNU General Public License can be used, that proxy's
591public statement of acceptance of a version permanently authorizes you
592to choose that version for the Program.
593
594 Later license versions may give you additional or different
595permissions. However, no additional obligations are imposed on any
596author or copyright holder as a result of your choosing to follow a
597later version.
598
599 15. Disclaimer of Warranty.
600
601 THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY
602APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT
603HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY
604OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,
605THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
606PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM
607IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF
608ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
609
610 16. Limitation of Liability.
611
612 IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
613WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS
614THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY
615GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE
616USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF
617DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD
618PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),
619EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF
620SUCH DAMAGES.
621
622 17. Interpretation of Sections 15 and 16.
623
624 If the disclaimer of warranty and limitation of liability provided
625above cannot be given local legal effect according to their terms,
626reviewing courts shall apply local law that most closely approximates
627an absolute waiver of all civil liability in connection with the
628Program, unless a warranty or assumption of liability accompanies a
629copy of the Program in return for a fee.
630
631 END OF TERMS AND CONDITIONS
632
633 How to Apply These Terms to Your New Programs
634
635 If you develop a new program, and you want it to be of the greatest
636possible use to the public, the best way to achieve this is to make it
637free software which everyone can redistribute and change under these terms.
638
639 To do so, attach the following notices to the program. It is safest
640to attach them to the start of each source file to most effectively
641state the exclusion of warranty; and each file should have at least
642the "copyright" line and a pointer to where the full notice is found.
643
644 <one line to give the program's name and a brief idea of what it does.>
645 Copyright (C) <year> <name of author>
646
647 This program is free software: you can redistribute it and/or modify
648 it under the terms of the GNU General Public License as published by
649 the Free Software Foundation, either version 3 of the License, or
650 (at your option) any later version.
651
652 This program is distributed in the hope that it will be useful,
653 but WITHOUT ANY WARRANTY; without even the implied warranty of
654 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
655 GNU General Public License for more details.
656
657 You should have received a copy of the GNU General Public License
658 along with this program. If not, see <http://www.gnu.org/licenses/>.
659
660Also add information on how to contact you by electronic and paper mail.
661
662 If the program does terminal interaction, make it output a short
663notice like this when it starts in an interactive mode:
664
665 <program> Copyright (C) <year> <name of author>
666 This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
667 This is free software, and you are welcome to redistribute it
668 under certain conditions; type `show c' for details.
669
670The hypothetical commands `show w' and `show c' should show the appropriate
671parts of the General Public License. Of course, your program's commands
672might be different; for a GUI interface, you would use an "about box".
673
674 You should also get your employer (if you work as a programmer) or school,
675if any, to sign a "copyright disclaimer" for the program, if necessary.
676For more information on this, and how to apply and follow the GNU GPL, see
677<http://www.gnu.org/licenses/>.
678
679 The GNU General Public License does not permit incorporating your program
680into proprietary programs. If your program is a subroutine library, you
681may consider it more useful to permit linking proprietary applications with
682the library. If this is what you want to do, use the GNU Lesser General
683Public License instead of this License. But first, please read
684<http://www.gnu.org/philosophy/why-not-lgpl.html>.
685
686-------------------------------------------------------------------------
687
688In addition, as a special exception, Trolltech gives permission to link the
689code of its release of Qt with the OpenSSL project's "OpenSSL" library (or
690modified versions of it that use the same license as the "OpenSSL"
691library), and distribute the linked executables. You must comply with the GNU
692General Public License version 2 or the GNU General Public License version 3
693in all respects for all of the code used other than the "OpenSSL" code. If
694you modify this file, you may extend this exception to your version of the
695file, but you are not obligated to do so. If you do not wish to do so,
696delete this exception statement from your version of this file.
diff --git a/data/default/images/Makefile.am b/data/default/images/Makefile.am
new file mode 100644
index 0000000..dcff587
--- /dev/null
+++ b/data/default/images/Makefile.am
@@ -0,0 +1,8 @@
1MAINTAINERCLEANFILES = Makefile.in
2
3# data files for the module
4filesdir = $(datadir)/default/images
5
6files_DATA = $(wildcard *.png)
7
8EXTRA_DIST = $(files_DATA)
diff --git a/data/default/images/bg_day_clear.png b/data/default/images/bg_day_clear.png
new file mode 100644
index 0000000..cee5ce4
--- /dev/null
+++ b/data/default/images/bg_day_clear.png
Binary files differ
diff --git a/data/default/images/bg_day_heavyrain.png b/data/default/images/bg_day_heavyrain.png
new file mode 100644
index 0000000..1cf9122
--- /dev/null
+++ b/data/default/images/bg_day_heavyrain.png
Binary files differ
diff --git a/data/default/images/bg_day_rain.png b/data/default/images/bg_day_rain.png
new file mode 100644
index 0000000..48052c5
--- /dev/null
+++ b/data/default/images/bg_day_rain.png
Binary files differ
diff --git a/data/default/images/bg_night_clear.png b/data/default/images/bg_night_clear.png
new file mode 100644
index 0000000..a30a1a7
--- /dev/null
+++ b/data/default/images/bg_night_clear.png
Binary files differ
diff --git a/data/default/images/bg_night_rain.png b/data/default/images/bg_night_rain.png
new file mode 100644
index 0000000..f2ae59b
--- /dev/null
+++ b/data/default/images/bg_night_rain.png
Binary files differ
diff --git a/data/default/images/city_name_background.png b/data/default/images/city_name_background.png
new file mode 100644
index 0000000..8de1aab
--- /dev/null
+++ b/data/default/images/city_name_background.png
Binary files differ
diff --git a/data/default/images/cloud_cloud_1.png b/data/default/images/cloud_cloud_1.png
new file mode 100644
index 0000000..ed8f1c8
--- /dev/null
+++ b/data/default/images/cloud_cloud_1.png
Binary files differ
diff --git a/data/default/images/cloud_cloud_1_line.png b/data/default/images/cloud_cloud_1_line.png
new file mode 100644
index 0000000..8a4b090
--- /dev/null
+++ b/data/default/images/cloud_cloud_1_line.png
Binary files differ
diff --git a/data/default/images/cloud_cloud_2.png b/data/default/images/cloud_cloud_2.png
new file mode 100644
index 0000000..981bbd2
--- /dev/null
+++ b/data/default/images/cloud_cloud_2.png
Binary files differ
diff --git a/data/default/images/cloud_cloud_2_line.png b/data/default/images/cloud_cloud_2_line.png
new file mode 100644
index 0000000..b9b8ca3
--- /dev/null
+++ b/data/default/images/cloud_cloud_2_line.png
Binary files differ
diff --git a/data/default/images/cloud_cloud_3.png b/data/default/images/cloud_cloud_3.png
new file mode 100644
index 0000000..ea9faa2
--- /dev/null
+++ b/data/default/images/cloud_cloud_3.png
Binary files differ
diff --git a/data/default/images/cloud_cloud_3_line.png b/data/default/images/cloud_cloud_3_line.png
new file mode 100644
index 0000000..0486741
--- /dev/null
+++ b/data/default/images/cloud_cloud_3_line.png
Binary files differ
diff --git a/data/default/images/cloud_rain_1.png b/data/default/images/cloud_rain_1.png
new file mode 100644
index 0000000..7ae8b71
--- /dev/null
+++ b/data/default/images/cloud_rain_1.png
Binary files differ
diff --git a/data/default/images/cloud_rain_1_line.png b/data/default/images/cloud_rain_1_line.png
new file mode 100644
index 0000000..204207b
--- /dev/null
+++ b/data/default/images/cloud_rain_1_line.png
Binary files differ
diff --git a/data/default/images/cloud_rain_2.png b/data/default/images/cloud_rain_2.png
new file mode 100644
index 0000000..b0812a3
--- /dev/null
+++ b/data/default/images/cloud_rain_2.png
Binary files differ
diff --git a/data/default/images/cloud_rain_2_line.png b/data/default/images/cloud_rain_2_line.png
new file mode 100644
index 0000000..ddef2d4
--- /dev/null
+++ b/data/default/images/cloud_rain_2_line.png
Binary files differ
diff --git a/data/default/images/cloud_rain_3.png b/data/default/images/cloud_rain_3.png
new file mode 100644
index 0000000..5f2a442
--- /dev/null
+++ b/data/default/images/cloud_rain_3.png
Binary files differ
diff --git a/data/default/images/cloud_rain_3_line.png b/data/default/images/cloud_rain_3_line.png
new file mode 100644
index 0000000..862f631
--- /dev/null
+++ b/data/default/images/cloud_rain_3_line.png
Binary files differ
diff --git a/data/default/images/cloud_storm_1.png b/data/default/images/cloud_storm_1.png
new file mode 100644
index 0000000..147656f
--- /dev/null
+++ b/data/default/images/cloud_storm_1.png
Binary files differ
diff --git a/data/default/images/cloud_storm_1_line.png b/data/default/images/cloud_storm_1_line.png
new file mode 100644
index 0000000..013a082
--- /dev/null
+++ b/data/default/images/cloud_storm_1_line.png
Binary files differ
diff --git a/data/default/images/cloud_storm_2.png b/data/default/images/cloud_storm_2.png
new file mode 100644
index 0000000..2f02fa7
--- /dev/null
+++ b/data/default/images/cloud_storm_2.png
Binary files differ
diff --git a/data/default/images/cloud_storm_2_line.png b/data/default/images/cloud_storm_2_line.png
new file mode 100644
index 0000000..51b38b1
--- /dev/null
+++ b/data/default/images/cloud_storm_2_line.png
Binary files differ
diff --git a/data/default/images/cloud_storm_3.png b/data/default/images/cloud_storm_3.png
new file mode 100644
index 0000000..3bc4f02
--- /dev/null
+++ b/data/default/images/cloud_storm_3.png
Binary files differ
diff --git a/data/default/images/cloud_storm_3_line.png b/data/default/images/cloud_storm_3_line.png
new file mode 100644
index 0000000..ad52b91
--- /dev/null
+++ b/data/default/images/cloud_storm_3_line.png
Binary files differ
diff --git a/data/default/images/cloud_tstorm_1.png b/data/default/images/cloud_tstorm_1.png
new file mode 100644
index 0000000..147656f
--- /dev/null
+++ b/data/default/images/cloud_tstorm_1.png
Binary files differ
diff --git a/data/default/images/cloud_tstorm_1_line.png b/data/default/images/cloud_tstorm_1_line.png
new file mode 100644
index 0000000..013a082
--- /dev/null
+++ b/data/default/images/cloud_tstorm_1_line.png
Binary files differ
diff --git a/data/default/images/cloud_tstorm_2.png b/data/default/images/cloud_tstorm_2.png
new file mode 100644
index 0000000..2f02fa7
--- /dev/null
+++ b/data/default/images/cloud_tstorm_2.png
Binary files differ
diff --git a/data/default/images/cloud_tstorm_2_line.png b/data/default/images/cloud_tstorm_2_line.png
new file mode 100644
index 0000000..51b38b1
--- /dev/null
+++ b/data/default/images/cloud_tstorm_2_line.png
Binary files differ
diff --git a/data/default/images/cloud_tstorm_3.png b/data/default/images/cloud_tstorm_3.png
new file mode 100644
index 0000000..3bc4f02
--- /dev/null
+++ b/data/default/images/cloud_tstorm_3.png
Binary files differ
diff --git a/data/default/images/cloud_tstorm_3_line.png b/data/default/images/cloud_tstorm_3_line.png
new file mode 100644
index 0000000..ad52b91
--- /dev/null
+++ b/data/default/images/cloud_tstorm_3_line.png
Binary files differ
diff --git a/data/default/images/division_line.png b/data/default/images/division_line.png
new file mode 100644
index 0000000..896c69c
--- /dev/null
+++ b/data/default/images/division_line.png
Binary files differ
diff --git a/data/default/images/fog.png b/data/default/images/fog.png
new file mode 100644
index 0000000..1f95acf
--- /dev/null
+++ b/data/default/images/fog.png
Binary files differ
diff --git a/data/default/images/haze.png b/data/default/images/haze.png
new file mode 100644
index 0000000..9df4d1e
--- /dev/null
+++ b/data/default/images/haze.png
Binary files differ
diff --git a/data/default/images/icon_max.png b/data/default/images/icon_max.png
new file mode 100644
index 0000000..6228c74
--- /dev/null
+++ b/data/default/images/icon_max.png
Binary files differ
diff --git a/data/default/images/icon_min.png b/data/default/images/icon_min.png
new file mode 100644
index 0000000..919bf67
--- /dev/null
+++ b/data/default/images/icon_min.png
Binary files differ
diff --git a/data/default/images/moon.png b/data/default/images/moon.png
new file mode 100644
index 0000000..0a8037d
--- /dev/null
+++ b/data/default/images/moon.png
Binary files differ
diff --git a/data/default/images/moon_line.png b/data/default/images/moon_line.png
new file mode 100644
index 0000000..449cb4a
--- /dev/null
+++ b/data/default/images/moon_line.png
Binary files differ
diff --git a/data/default/images/rain_01.png b/data/default/images/rain_01.png
new file mode 100644
index 0000000..c35f47a
--- /dev/null
+++ b/data/default/images/rain_01.png
Binary files differ
diff --git a/data/default/images/rain_02.png b/data/default/images/rain_02.png
new file mode 100644
index 0000000..cbc9a74
--- /dev/null
+++ b/data/default/images/rain_02.png
Binary files differ
diff --git a/data/default/images/rain_03.png b/data/default/images/rain_03.png
new file mode 100644
index 0000000..9d36a7c
--- /dev/null
+++ b/data/default/images/rain_03.png
Binary files differ
diff --git a/data/default/images/snow_flake.png b/data/default/images/snow_flake.png
new file mode 100644
index 0000000..39c5751
--- /dev/null
+++ b/data/default/images/snow_flake.png
Binary files differ
diff --git a/data/default/images/snow_flake_01.png b/data/default/images/snow_flake_01.png
new file mode 100644
index 0000000..39c5751
--- /dev/null
+++ b/data/default/images/snow_flake_01.png
Binary files differ
diff --git a/data/default/images/snow_flake_02.png b/data/default/images/snow_flake_02.png
new file mode 100644
index 0000000..3aaeb24
--- /dev/null
+++ b/data/default/images/snow_flake_02.png
Binary files differ
diff --git a/data/default/images/snow_flake_03.png b/data/default/images/snow_flake_03.png
new file mode 100644
index 0000000..a84c736
--- /dev/null
+++ b/data/default/images/snow_flake_03.png
Binary files differ
diff --git a/data/default/images/snow_flake_04.png b/data/default/images/snow_flake_04.png
new file mode 100644
index 0000000..007d921
--- /dev/null
+++ b/data/default/images/snow_flake_04.png
Binary files differ
diff --git a/data/default/images/snow_flake_05.png b/data/default/images/snow_flake_05.png
new file mode 100644
index 0000000..c833da1
--- /dev/null
+++ b/data/default/images/snow_flake_05.png
Binary files differ
diff --git a/data/default/images/snow_flake_06.png b/data/default/images/snow_flake_06.png
new file mode 100644
index 0000000..2db4a02
--- /dev/null
+++ b/data/default/images/snow_flake_06.png
Binary files differ
diff --git a/data/default/images/snow_flake_07.png b/data/default/images/snow_flake_07.png
new file mode 100644
index 0000000..e1a3bed
--- /dev/null
+++ b/data/default/images/snow_flake_07.png
Binary files differ
diff --git a/data/default/images/snow_flake_08.png b/data/default/images/snow_flake_08.png
new file mode 100644
index 0000000..5a6ac67
--- /dev/null
+++ b/data/default/images/snow_flake_08.png
Binary files differ
diff --git a/data/default/images/snow_flake_09.png b/data/default/images/snow_flake_09.png
new file mode 100644
index 0000000..bbee2d9
--- /dev/null
+++ b/data/default/images/snow_flake_09.png
Binary files differ
diff --git a/data/default/images/sun.png b/data/default/images/sun.png
new file mode 100644
index 0000000..304cae9
--- /dev/null
+++ b/data/default/images/sun.png
Binary files differ
diff --git a/data/default/images/sun_line.png b/data/default/images/sun_line.png
new file mode 100644
index 0000000..f963c27
--- /dev/null
+++ b/data/default/images/sun_line.png
Binary files differ
diff --git a/data/default/images/thunder.png b/data/default/images/thunder.png
new file mode 100644
index 0000000..d07b36b
--- /dev/null
+++ b/data/default/images/thunder.png
Binary files differ
diff --git a/data/default/images/title_bar.png b/data/default/images/title_bar.png
new file mode 100644
index 0000000..5943884
--- /dev/null
+++ b/data/default/images/title_bar.png
Binary files differ
diff --git a/data/default/theme.edc b/data/default/theme.edc
new file mode 100644
index 0000000..01b8649
--- /dev/null
+++ b/data/default/theme.edc
@@ -0,0 +1,1998 @@
1images
2{
3 image: "city_name_background.png" COMP;
4 image: "title_bar.png" COMP;
5 image: "bg_day_clear.png" COMP;
6 image: "bg_day_heavyrain.png" COMP;
7 image: "bg_day_rain.png" COMP;
8 image: "bg_night_clear.png" COMP;
9 image: "bg_night_rain.png" COMP;
10 image: "cloud_storm_1.png" COMP;
11 image: "cloud_storm_1_line.png" COMP;
12 image: "cloud_storm_2.png" COMP;
13 image: "cloud_storm_2_line.png" COMP;
14 image: "cloud_storm_3.png" COMP;
15 image: "cloud_storm_3_line.png" COMP;
16 image: "cloud_tstorm_1.png" COMP;
17 image: "cloud_tstorm_1_line.png" COMP;
18 image: "cloud_tstorm_2.png" COMP;
19 image: "cloud_tstorm_2_line.png" COMP;
20 image: "cloud_tstorm_3.png" COMP;
21 image: "cloud_tstorm_3_line.png" COMP;
22 image: "thunder.png" COMP;
23 image: "cloud_rain_1.png" COMP;
24 image: "cloud_rain_1_line.png" COMP;
25 image: "cloud_rain_2.png" COMP;
26 image: "cloud_rain_2_line.png" COMP;
27 image: "cloud_rain_3.png" COMP;
28 image: "cloud_rain_3_line.png" COMP;
29 image: "cloud_cloud_1.png" COMP;
30 image: "cloud_cloud_1_line.png" COMP;
31 image: "cloud_cloud_2.png" COMP;
32 image: "cloud_cloud_2_line.png" COMP;
33 image: "cloud_cloud_3.png" COMP;
34 image: "cloud_cloud_3_line.png" COMP;
35 image: "moon.png" COMP;
36 image: "moon_line.png" COMP;
37 image: "sun.png" COMP;
38 image: "sun_line.png" COMP;
39 image: "rain_01.png" COMP;
40 image: "rain_02.png" COMP;
41 image: "rain_03.png" COMP;
42 image: "snow_flake.png" COMP;
43 image: "snow_flake_01.png" COMP;
44 image: "snow_flake_02.png" COMP;
45 image: "snow_flake_03.png" COMP;
46 image: "snow_flake_04.png" COMP;
47 image: "snow_flake_05.png" COMP;
48 image: "snow_flake_06.png" COMP;
49 image: "snow_flake_07.png" COMP;
50 image: "snow_flake_08.png" COMP;
51 image: "snow_flake_09.png" COMP;
52 image: "fog.png" COMP;
53 image: "haze.png" COMP;
54 image: "division_line.png" COMP;
55 image: "icon_max.png" COMP;
56 image: "icon_min.png" COMP;
57}
58
59#define THUNDER_H 0.15
60
61#define CLOUD_3(TYPE, IMAGE, CLOUD_H) \
62part \
63{ \
64 name: "cloud_"TYPE"_3_line"; \
65 mouse_events: 0; \
66 clip_to: "whole"; \
67 description \
68 { \
69 state: "default" 0.0; \
70 color: 255 255 255 75; \
71 rel1.to_x: "cloud_"TYPE"_3"; \
72 rel1.relative: 0.443 0.0; \
73 rel1.offset: 0 0; \
74 rel2.to: "cloud_"TYPE"_3"; \
75 rel2.offset: 0 0; \
76 rel2.relative: 0.443 0.057; \
77 image.normal: "cloud_"IMAGE"_3_line.png"; \
78 } \
79} \
80part \
81{ \
82 name: "cloud_"TYPE"_3"; \
83 mouse_events: 0; \
84 clip_to: "whole"; \
85 description \
86 { \
87 state: "default" 0.0; \
88 aspect: 2.155 1; \
89 aspect_preference: VERTICAL; \
90 rel1.relative: 0.18 0.0-CLOUD_H; \
91 rel2.relative: 0.18 0.0; \
92 image.normal: "cloud_"IMAGE"_3.png"; \
93 } \
94 description \
95 { \
96 state: "up" 0.0; \
97 inherit: "default" 0.0; \
98 } \
99 description \
100 { \
101 state: "down" 0.0; \
102 inherit: "default" 0.0; \
103 rel1.relative: 0.18 0.29; \
104 rel2.relative: 0.18 0.29+CLOUD_H; \
105 } \
106 description \
107 { \
108 state: "down_2" 0.0; \
109 inherit: "default" 0.0; \
110 rel1.relative: 0.18 0.31; \
111 rel2.relative: 0.18 0.31+CLOUD_H; \
112 } \
113 description \
114 { \
115 state: "down_3" 0.0; \
116 inherit: "default" 0.0; \
117 rel1.relative: 0.18 0.28; \
118 rel2.relative: 0.18 0.28+CLOUD_H; \
119 } \
120} \
121program \
122{ \
123 name: "cloud_3_"TYPE"_up"; \
124 signal: TYPE",up"; \
125 action: STATE_SET "up" 0.0; \
126 target: "cloud_"TYPE"_3"; \
127 transition: ACCELERATE 0.75; \
128} \
129program \
130{ \
131 name: "cloud_3_"TYPE"_down"; \
132 signal: TYPE",down"; \
133 action: STATE_SET "down_2" 0.0; \
134 target: "cloud_"TYPE"_3"; \
135 transition: DECELERATE 0.8; \
136 after: "cloud_3_"TYPE"_down_2"; \
137} \
138program \
139{ \
140 name: "cloud_3_"TYPE"_down_2"; \
141 action: STATE_SET "down_3" 0.0; \
142 target: "cloud_"TYPE"_3"; \
143 transition: DECELERATE 0.4; \
144 after: "cloud_3_"TYPE"_down_3"; \
145} \
146program \
147{ \
148 name: "cloud_3_"TYPE"_down_3"; \
149 action: STATE_SET "down" 0.0; \
150 target: "cloud_"TYPE"_3"; \
151 transition: DECELERATE 0.15; \
152}
153
154
155
156#define CLOUD_3_2(TYPE, IMAGE, CLOUD_H) \
157part \
158{ \
159 name: "cloud_"TYPE"_3_line_2"; \
160 mouse_events: 0; \
161 clip_to: "whole"; \
162 description \
163 { \
164 state: "default" 0.0; \
165 color: 255 255 255 75; \
166 rel1.to_x: "cloud_"TYPE"_3_2"; \
167 rel1.relative: 0.443 0.0; \
168 rel1.offset: 0 0; \
169 rel2.to: "cloud_"TYPE"_3_2"; \
170 rel2.offset: 0 0; \
171 rel2.relative: 0.443 0.057; \
172 image.normal: "cloud_"IMAGE"_3_line.png"; \
173 } \
174} \
175part \
176{ \
177 name: "cloud_"TYPE"_3_2"; \
178 mouse_events: 0; \
179 clip_to: "whole"; \
180 description \
181 { \
182 state: "default" 0.0; \
183 aspect: 2.155 1; \
184 aspect_preference: VERTICAL; \
185 rel1.relative: 0.9 0.0-CLOUD_H; \
186 rel2.relative: 0.9 0.0; \
187 image.normal: "cloud_"IMAGE"_3.png"; \
188 } \
189 description \
190 { \
191 state: "up" 0.0; \
192 inherit: "default" 0.0; \
193 } \
194 description \
195 { \
196 state: "down" 0.0; \
197 inherit: "default" 0.0; \
198 rel1.relative: 0.9 0.36; \
199 rel2.relative: 0.9 0.36+CLOUD_H; \
200 } \
201 description \
202 { \
203 state: "down_2" 0.0; \
204 inherit: "default" 0.0; \
205 rel1.relative: 0.9 0.38; \
206 rel2.relative: 0.9 0.38+CLOUD_H; \
207 } \
208 description \
209 { \
210 state: "down_3" 0.0; \
211 inherit: "default" 0.0; \
212 rel1.relative: 0.9 0.35; \
213 rel2.relative: 0.9 0.35+CLOUD_H; \
214 } \
215} \
216program \
217{ \
218 name: "cloud_3_2_"TYPE"_up"; \
219 signal: TYPE",up"; \
220 action: STATE_SET "up" 0.0; \
221 target: "cloud_"TYPE"_3_2"; \
222 transition: ACCELERATE 0.65; \
223} \
224program \
225{ \
226 name: "cloud_3_2_"TYPE"_down"; \
227 signal: TYPE",down"; \
228 action: STATE_SET "down_2" 0.0; \
229 target: "cloud_"TYPE"_3_2"; \
230 transition: DECELERATE 0.7; \
231 after: "cloud_3_2_"TYPE"_down_2"; \
232} \
233program \
234{ \
235 name: "cloud_3_2_"TYPE"_down_2"; \
236 action: STATE_SET "down_3" 0.0; \
237 target: "cloud_"TYPE"_3_2"; \
238 transition: DECELERATE 0.35; \
239 after: "cloud_3_2_"TYPE"_down_3"; \
240} \
241program \
242{ \
243 name: "cloud_3_2_"TYPE"_down_3"; \
244 action: STATE_SET "down" 0.0; \
245 target: "cloud_"TYPE"_3_2"; \
246 transition: DECELERATE 0.2; \
247}
248
249#define CLOUD_2(TYPE, IMAGE, CLOUD_H) \
250part \
251{ \
252 name: "cloud_"TYPE"_2_line"; \
253 mouse_events: 0; \
254 clip_to: "whole"; \
255 description \
256 { \
257 state: "default" 0.0; \
258 color: 255 255 255 75; \
259 rel1.to_x: "cloud_"TYPE"_2"; \
260 rel1.relative: 0.443 0.0; \
261 rel1.offset: 0 0; \
262 rel2.to: "cloud_"TYPE"_2"; \
263 rel2.offset: 0 0; \
264 rel2.relative: 0.443 0.057; \
265 image.normal: "cloud_"IMAGE"_2_line.png"; \
266 } \
267} \
268part \
269{ \
270 name: "cloud_"TYPE"_2"; \
271 mouse_events: 0; \
272 clip_to: "whole"; \
273 description \
274 { \
275 state: "default" 0.0; \
276 aspect: 2.155 1; \
277 aspect_preference: VERTICAL; \
278 rel1.relative: 0.35 0.0-CLOUD_H; \
279 rel2.relative: 0.35 0.0; \
280 image.normal: "cloud_"IMAGE"_2.png"; \
281 } \
282 description \
283 { \
284 state: "up" 0.0; \
285 inherit: "default" 0.0; \
286 } \
287 description \
288 { \
289 state: "down" 0.0; \
290 inherit: "default" 0.0; \
291 rel1.relative: 0.35 0.33; \
292 rel2.relative: 0.35 0.33+CLOUD_H; \
293 } \
294 description \
295 { \
296 state: "down_2" 0.0; \
297 inherit: "default" 0.0; \
298 rel1.relative: 0.35 0.35; \
299 rel2.relative: 0.35 0.35+CLOUD_H; \
300 } \
301 description \
302 { \
303 state: "down_3" 0.0; \
304 inherit: "default" 0.0; \
305 rel1.relative: 0.35 0.32; \
306 rel2.relative: 0.35 0.32+CLOUD_H; \
307 } \
308} \
309program \
310{ \
311 name: "cloud_2_"TYPE"_up"; \
312 signal: TYPE",up"; \
313 action: STATE_SET "up" 0.0; \
314 target: "cloud_"TYPE"_2"; \
315 transition: ACCELERATE 0.8; \
316} \
317program \
318{ \
319 name: "cloud_2_"TYPE"_down"; \
320 signal: TYPE",down"; \
321 action: STATE_SET "down_2" 0.0; \
322 target: "cloud_"TYPE"_2"; \
323 transition: DECELERATE 0.65; \
324 after: "cloud_2_"TYPE"_down_2"; \
325} \
326program \
327{ \
328 name: "cloud_2_"TYPE"_down_2"; \
329 action: STATE_SET "down_3" 0.0; \
330 target: "cloud_"TYPE"_2"; \
331 transition: DECELERATE 0.1; \
332 after: "cloud_2_"TYPE"_down_3"; \
333} \
334program \
335{ \
336 name: "cloud_2_"TYPE"_down_3"; \
337 action: STATE_SET "down" 0.0; \
338 target: "cloud_"TYPE"_2"; \
339 transition: DECELERATE 0.2; \
340}
341
342#define CLOUD_1(TYPE, IMAGE, CLOUD_H) \
343part \
344{ \
345 name: "cloud_"TYPE"_1_line"; \
346 mouse_events: 0; \
347 clip_to: "whole"; \
348 description \
349 { \
350 state: "default" 0.0; \
351 color: 255 255 255 75; \
352 rel1.to_x: "cloud_"TYPE"_1"; \
353 rel1.relative: 0.443 0.0; \
354 rel1.offset: 0 0; \
355 rel2.to: "cloud_"TYPE"_1"; \
356 rel2.offset: 0 0; \
357 rel2.relative: 0.443 0.057; \
358 image.normal: "cloud_"IMAGE"_1_line.png"; \
359 } \
360} \
361part \
362{ \
363 name: "cloud_"TYPE"_1"; \
364 mouse_events: 0; \
365 clip_to: "whole"; \
366 description \
367 { \
368 state: "default" 0.0; \
369 aspect: 2.155 1; \
370 aspect_preference: VERTICAL; \
371 rel1.relative: 0.7 0.0-CLOUD_H; \
372 rel2.relative: 0.7 0.0; \
373 image.normal: "cloud_"IMAGE"_1.png"; \
374 } \
375 description \
376 { \
377 state: "up" 0.0; \
378 inherit: "default" 0.0; \
379 } \
380 description \
381 { \
382 state: "down" 0.0; \
383 inherit: "default" 0.0; \
384 rel1.relative: 0.7 0.35; \
385 rel2.relative: 0.7 0.35+CLOUD_H; \
386 } \
387 description \
388 { \
389 state: "down_2" 0.0; \
390 inherit: "default" 0.0; \
391 rel1.relative: 0.7 0.37; \
392 rel2.relative: 0.7 0.37+CLOUD_H; \
393 } \
394 description \
395 { \
396 state: "down_3" 0.0; \
397 inherit: "default" 0.0; \
398 rel1.relative: 0.7 0.34; \
399 rel2.relative: 0.7 0.34+CLOUD_H; \
400 } \
401} \
402program \
403{ \
404 name: "cloud_1_"TYPE"_up"; \
405 signal: TYPE",up"; \
406 action: STATE_SET "up" 0.0; \
407 target: "cloud_"TYPE"_1"; \
408 transition: ACCELERATE 0.7; \
409} \
410program \
411{ \
412 name: "cloud_1_"TYPE"_down"; \
413 signal: TYPE",down"; \
414 action: STATE_SET "down_2" 0.0; \
415 target: "cloud_"TYPE"_1"; \
416 transition: DECELERATE 0.7; \
417 after: "cloud_1_"TYPE"_down_2"; \
418} \
419program \
420{ \
421 name: "cloud_1_"TYPE"_down_2"; \
422 action: STATE_SET "down_3" 0.0; \
423 target: "cloud_"TYPE"_1"; \
424 transition: DECELERATE 0.3; \
425 after: "cloud_1_"TYPE"_down_3"; \
426} \
427program \
428{ \
429 name: "cloud_1_"TYPE"_down_3"; \
430 action: STATE_SET "down" 0.0; \
431 target: "cloud_"TYPE"_1"; \
432 transition: DECELERATE 0.2; \
433}
434
435#define CLOUD_1_2(TYPE, IMAGE, CLOUD_H) \
436part \
437{ \
438 name: "cloud_"TYPE"_1_line_2"; \
439 mouse_events: 0; \
440 clip_to: "whole"; \
441 description \
442 { \
443 state: "default" 0.0; \
444 color: 255 255 255 75; \
445 rel1.to_x: "cloud_"TYPE"_1_2"; \
446 rel1.relative: 0.443 0.0; \
447 rel1.offset: 0 0; \
448 rel2.to: "cloud_"TYPE"_1_2"; \
449 rel2.offset: 0 0; \
450 rel2.relative: 0.443 0.057; \
451 image.normal: "cloud_"IMAGE"_1_line.png"; \
452 } \
453} \
454part \
455{ \
456 name: "cloud_"TYPE"_1_2"; \
457 mouse_events: 0; \
458 clip_to: "whole"; \
459 description \
460 { \
461 state: "default" 0.0; \
462 aspect: 2.155 1; \
463 aspect_preference: VERTICAL; \
464 rel1.relative: 0.1 0.0-CLOUD_H; \
465 rel2.relative: 0.1 0.0; \
466 image.normal: "cloud_"IMAGE"_1.png"; \
467 } \
468 description \
469 { \
470 state: "up" 0.0; \
471 inherit: "default" 0.0; \
472 } \
473 description \
474 { \
475 state: "down" 0.0; \
476 inherit: "default" 0.0; \
477 rel1.relative: 0.1 0.38; \
478 rel2.relative: 0.1 0.38+CLOUD_H; \
479 } \
480 description \
481 { \
482 state: "down_2" 0.0; \
483 inherit: "default" 0.0; \
484 rel1.relative: 0.1 0.40; \
485 rel2.relative: 0.1 0.40+CLOUD_H; \
486 } \
487 description \
488 { \
489 state: "down_3" 0.0; \
490 inherit: "default" 0.0; \
491 rel1.relative: 0.1 0.37; \
492 rel2.relative: 0.1 0.37+CLOUD_H; \
493 } \
494} \
495program \
496{ \
497 name: "cloud_1_2_"TYPE"_up"; \
498 signal: TYPE",up"; \
499 action: STATE_SET "up" 0.0; \
500 target: "cloud_"TYPE"_1_2"; \
501 transition: ACCELERATE 0.8; \
502} \
503program \
504{ \
505 name: "cloud_1_2_"TYPE"_down"; \
506 signal: TYPE",down"; \
507 action: STATE_SET "down_2" 0.0; \
508 target: "cloud_"TYPE"_1_2"; \
509 transition: DECELERATE 0.6; \
510 after: "cloud_1_2_"TYPE"_down_2"; \
511} \
512program \
513{ \
514 name: "cloud_1_2_"TYPE"_down_2"; \
515 action: STATE_SET "down_3" 0.0; \
516 target: "cloud_"TYPE"_1_2"; \
517 transition: DECELERATE 0.4; \
518 after: "cloud_1_2_"TYPE"_down_3"; \
519} \
520program \
521{ \
522 name: "cloud_1_2_"TYPE"_down_3"; \
523 action: STATE_SET "down" 0.0; \
524 target: "cloud_"TYPE"_1_2"; \
525 transition: DECELERATE 0.1; \
526}
527
528
529#define CLOUDS(TYPE, IMAGE) \
530 CLOUD_3(TYPE, IMAGE, 0.13); \
531 CLOUD_3_2(TYPE, IMAGE, 0.13) \
532 CLOUD_2(TYPE, IMAGE, 0.17); \
533 CLOUD_1(TYPE, IMAGE, 0.2); \
534 CLOUD_1_2(TYPE, IMAGE, 0.2);
535
536#define CLOUDS_THUNDERS(TYPE, IMAGE) \
537 CLOUD_3(TYPE, IMAGE, 0.13); \
538 CLOUD_3_2(TYPE, IMAGE, 0.13) \
539 CLOUD_2(TYPE, IMAGE, 0.17); \
540 part \
541 { \
542 name: "cloud_"TYPE"_2_thunder_line"; \
543 mouse_events: 0; \
544 clip_to: "whole"; \
545 description \
546 { \
547 state: "default" 0.0; \
548 color: 255 255 255 75; \
549 rel1.to_x: "cloud_"TYPE"_2_thunder"; \
550 rel1.relative: 0.443 0.0; \
551 rel1.offset: 0 0; \
552 rel2.to: "cloud_"TYPE"_2_thunder"; \
553 rel2.offset: 0 0; \
554 rel2.relative: 0.443 0.057; \
555 image.normal: "cloud_storm_2_line.png"; \
556 } \
557 } \
558 part \
559 { \
560 name: "cloud_"TYPE"_2_thunder"; \
561 mouse_events: 0; \
562 clip_to: "whole"; \
563 description \
564 { \
565 state: "default" 0.0; \
566 color: 255 255 255 255; \
567 aspect: 0.469 1; \
568 aspect_preference: VERTICAL; \
569 rel1.to_x: "cloud_"TYPE"_2"; \
570 rel1.relative: 0.4 0.0-THUNDER_H; \
571 rel2.to_x: "cloud_"TYPE"_2"; \
572 rel2.relative: 0.4 0.0; \
573 image.normal: "thunder.png"; \
574 } \
575 description \
576 { \
577 state: "up" 0.0; \
578 inherit: "default" 0.0; \
579 } \
580 description \
581 { \
582 state: "down" 0.0; \
583 inherit: "default" 0.0; \
584 rel1.relative: 0.4 0.33+0.17-0.03; \
585 rel2.relative: 0.4 0.33+0.17-0.03+THUNDER_H; \
586 } \
587 description \
588 { \
589 state: "down_2" 0.0; \
590 inherit: "default" 0.0; \
591 rel1.relative: 0.4 0.35+0.17-0.03; \
592 rel2.relative: 0.4 0.35+0.17-0.03+THUNDER_H; \
593 } \
594 description \
595 { \
596 state: "down_3" 0.0; \
597 inherit: "default" 0.0; \
598 rel1.relative: 0.4 0.30+0.17-0.03; \
599 rel2.relative: 0.4 0.30+0.17-0.03+THUNDER_H; \
600 } \
601 } \
602 CLOUD_1(TYPE, IMAGE, 0.2); \
603 part \
604 { \
605 name: "cloud_"TYPE"_1_thunder_line_1"; \
606 mouse_events: 0; \
607 clip_to: "whole"; \
608 description \
609 { \
610 state: "default" 0.0; \
611 color: 255 255 255 75; \
612 rel1.to_x: "cloud_"TYPE"_1_thunder"; \
613 rel1.relative: 0.443 0.0; \
614 rel1.offset: 0 0; \
615 rel2.to: "cloud_"TYPE"_1_thunder"; \
616 rel2.offset: 0 0; \
617 rel2.relative: 0.443 0.057; \
618 image.normal: "cloud_storm_1_line.png"; \
619 } \
620 } \
621 part \
622 { \
623 name: "cloud_"TYPE"_1_thunder"; \
624 mouse_events: 0; \
625 clip_to: "whole"; \
626 description \
627 { \
628 state: "default" 0.0; \
629 color: 255 255 255 255; \
630 aspect: 0.469 1; \
631 aspect_preference: VERTICAL; \
632 rel1.to_x: "cloud_"TYPE"_1"; \
633 rel1.relative: 0.5 0.0-THUNDER_H; \
634 rel2.to_x: "cloud_"TYPE"_1"; \
635 rel2.relative: 0.5 0.0; \
636 image.normal: "thunder.png"; \
637 } \
638 description \
639 { \
640 state: "up" 0.0; \
641 inherit: "default" 0.0; \
642 } \
643 description \
644 { \
645 state: "down" 0.0; \
646 inherit: "default" 0.0; \
647 rel1.relative: 0.5 0.35+0.2-0.03; \
648 rel2.relative: 0.5 0.35+0.2-0.03+THUNDER_H; \
649 } \
650 description \
651 { \
652 state: "down_2" 0.0; \
653 inherit: "default" 0.0; \
654 rel1.relative: 0.5 0.4+0.2-0.03; \
655 rel2.relative: 0.5 0.4+0.2-0.03+THUNDER_H; \
656 } \
657 description \
658 { \
659 state: "down_3" 0.0; \
660 inherit: "default" 0.0; \
661 rel1.relative: 0.5 0.32+0.2-0.03; \
662 rel2.relative: 0.5 0.32+0.2-0.03+THUNDER_H; \
663 } \
664 } \
665 CLOUD_1_2(TYPE, IMAGE, 0.2); \
666 part \
667 { \
668 name: "cloud_"TYPE"_1_thunder_line_2"; \
669 mouse_events: 0; \
670 clip_to: "whole"; \
671 description \
672 { \
673 state: "default" 0.0; \
674 color: 255 255 255 75; \
675 rel1.to_x: "cloud_"TYPE"_1_thunder_2"; \
676 rel1.relative: 0.443 0.0; \
677 rel1.offset: 0 0; \
678 rel2.to: "cloud_"TYPE"_1_thunder_2"; \
679 rel2.offset: 0 0; \
680 rel2.relative: 0.443 0.057; \
681 image.normal: "cloud_storm_1_line.png"; \
682 } \
683 } \
684 part \
685 { \
686 name: "cloud_"TYPE"_1_thunder_2"; \
687 mouse_events: 0; \
688 clip_to: "whole"; \
689 description \
690 { \
691 state: "default" 0.0; \
692 color: 255 255 255 255; \
693 aspect: 0.469 1; \
694 aspect_preference: VERTICAL; \
695 rel1.to_x: "cloud_"TYPE"_1_2"; \
696 rel1.relative: 0.5 0.0-THUNDER_H; \
697 rel2.to_x: "cloud_"TYPE"_1_2"; \
698 rel2.relative: 0.5 0.0; \
699 image.normal: "thunder.png"; \
700 } \
701 description \
702 { \
703 state: "up" 0.0; \
704 inherit: "default" 0.0; \
705 } \
706 description \
707 { \
708 state: "down" 0.0; \
709 inherit: "default" 0.0; \
710 rel1.relative: 0.5 0.38+0.2-0.03; \
711 rel2.relative: 0.5 0.38+0.2-0.03+THUNDER_H; \
712 } \
713 description \
714 { \
715 state: "down_2" 0.0; \
716 inherit: "default" 0.0; \
717 rel1.relative: 0.5 0.42+0.2-0.03; \
718 rel2.relative: 0.5 0.42+0.2-0.03+THUNDER_H; \
719 } \
720 description \
721 { \
722 state: "down_3" 0.0; \
723 inherit: "default" 0.0; \
724 rel1.relative: 0.5 0.35+0.2-0.03; \
725 rel2.relative: 0.5 0.35+0.2-0.03+THUNDER_H; \
726 } \
727 } \
728 program \
729 { \
730 name: "thunder_"TYPE"_up"; \
731 signal: TYPE",up"; \
732 action: STATE_SET "up" 0.0; \
733 target: "cloud_"TYPE"_1_thunder"; \
734 transition: ACCELERATE 0.55; \
735 } \
736 program \
737 { \
738 name: "thunder_"TYPE"_down"; \
739 signal: TYPE",down"; \
740 action: STATE_SET "down_2" 0.0; \
741 target: "cloud_"TYPE"_1_thunder"; \
742 transition: DECELERATE 0.55; \
743 after: "thunder_"TYPE"_down_2"; \
744 } \
745 program \
746 { \
747 name: "thunder_"TYPE"_down_2"; \
748 action: STATE_SET "down_3" 0.0; \
749 target: "cloud_"TYPE"_1_thunder"; \
750 transition: DECELERATE 0.2; \
751 after: "thunder_"TYPE"_down_3"; \
752 } \
753 program \
754 { \
755 name: "thunder_"TYPE"_down_3"; \
756 action: STATE_SET "down" 0.0; \
757 target: "cloud_"TYPE"_1_thunder"; \
758 transition: DECELERATE 0.1; \
759 } \
760 program \
761 { \
762 name: "thunder_1_2_"TYPE"_up"; \
763 signal: TYPE",up"; \
764 action: STATE_SET "up" 0.0; \
765 target: "cloud_"TYPE"_1_thunder_2"; \
766 transition: ACCELERATE 0.75; \
767 } \
768 program \
769 { \
770 name: "thunder_1_2_"TYPE"_down"; \
771 signal: TYPE",down"; \
772 action: STATE_SET "down_2" 0.0; \
773 target: "cloud_"TYPE"_1_thunder_2"; \
774 transition: DECELERATE 0.6; \
775 after: "thunder_1_2_"TYPE"_down_2"; \
776 } \
777 program \
778 { \
779 name: "thunder_1_2_"TYPE"_down_2"; \
780 action: STATE_SET "down_3" 0.0; \
781 target: "cloud_"TYPE"_1_thunder_2"; \
782 transition: DECELERATE 0.25; \
783 after: "thunder_1_2_"TYPE"_down_3"; \
784 } \
785 program \
786 { \
787 name: "thunder_1_2_"TYPE"_down_3"; \
788 action: STATE_SET "down" 0.0; \
789 target: "cloud_"TYPE"_1_thunder_2"; \
790 transition: DECELERATE 0.15; \
791 } \
792 program \
793 { \
794 name: "thunder_2_"TYPE"_up"; \
795 signal: TYPE",up"; \
796 action: STATE_SET "up" 0.0; \
797 target: "cloud_"TYPE"_2_thunder"; \
798 transition: ACCELERATE 0.6; \
799 } \
800 program \
801 { \
802 name: "thunder_2_"TYPE"_down"; \
803 signal: TYPE",down"; \
804 action: STATE_SET "down_2" 0.0; \
805 target: "cloud_"TYPE"_2_thunder"; \
806 transition: DECELERATE 0.8; \
807 after: "thunder_2_"TYPE"_down_2"; \
808 } \
809 program \
810 { \
811 name: "thunder_2_"TYPE"_down_2"; \
812 action: STATE_SET "down_3" 0.0; \
813 target: "cloud_"TYPE"_2_thunder"; \
814 transition: DECELERATE 0.3; \
815 after: "thunder_2_"TYPE"_down_3"; \
816 } \
817 program \
818 { \
819 name: "thunder_2_"TYPE"_down_3"; \
820 action: STATE_SET "down" 0.0; \
821 target: "cloud_"TYPE"_2_thunder"; \
822 transition: DECELERATE 0.2; \
823 }
824
825#define CLOUDS_THUNDERS_ISOLATED(TYPE, IMAGE) \
826 CLOUD_3(TYPE, IMAGE, 0.13); \
827 CLOUD_3_2(TYPE, IMAGE, 0.13) \
828 CLOUD_2(TYPE, IMAGE, 0.17); \
829 part \
830 { \
831 name: "cloud_"TYPE"_2_thunder_line"; \
832 mouse_events: 0; \
833 clip_to: "whole"; \
834 description \
835 { \
836 state: "default" 0.0; \
837 color: 255 255 255 75; \
838 rel1.to_x: "cloud_"TYPE"_2_thunder"; \
839 rel1.relative: 0.443 0.0; \
840 rel1.offset: 0 0; \
841 rel2.to: "cloud_"TYPE"_2_thunder"; \
842 rel2.offset: 0 0; \
843 rel2.relative: 0.443 0.057; \
844 image.normal: "cloud_storm_2_line.png"; \
845 } \
846 } \
847 part \
848 { \
849 name: "cloud_"TYPE"_2_thunder"; \
850 mouse_events: 0; \
851 clip_to: "whole"; \
852 description \
853 { \
854 state: "default" 0.0; \
855 color: 255 255 255 255; \
856 aspect: 0.469 1; \
857 aspect_preference: VERTICAL; \
858 rel1.to_x: "cloud_"TYPE"_2"; \
859 rel1.relative: 0.4 0.0-THUNDER_H; \
860 rel2.to_x: "cloud_"TYPE"_2"; \
861 rel2.relative: 0.4 0.0; \
862 image.normal: "thunder.png"; \
863 } \
864 description \
865 { \
866 state: "up" 0.0; \
867 inherit: "default" 0.0; \
868 } \
869 description \
870 { \
871 state: "down" 0.0; \
872 inherit: "default" 0.0; \
873 rel1.relative: 0.4 0.33+0.17-0.03; \
874 rel2.relative: 0.4 0.33+0.17-0.03+THUNDER_H; \
875 } \
876 description \
877 { \
878 state: "down_2" 0.0; \
879 inherit: "default" 0.0; \
880 rel1.relative: 0.4 0.35+0.17-0.03; \
881 rel2.relative: 0.4 0.35+0.17-0.03+THUNDER_H; \
882 } \
883 description \
884 { \
885 state: "down_3" 0.0; \
886 inherit: "default" 0.0; \
887 rel1.relative: 0.4 0.30+0.17-0.03; \
888 rel2.relative: 0.4 0.30+0.17-0.03+THUNDER_H; \
889 } \
890 } \
891 program \
892 { \
893 name: "thunder_2_"TYPE"_up"; \
894 signal: TYPE",up"; \
895 action: STATE_SET "up" 0.0; \
896 target: "cloud_"TYPE"_2_thunder"; \
897 transition: ACCELERATE 0.6; \
898 } \
899 program \
900 { \
901 name: "thunder_2_"TYPE"_down"; \
902 signal: TYPE",down"; \
903 action: STATE_SET "down_2" 0.0; \
904 target: "cloud_"TYPE"_2_thunder"; \
905 transition: DECELERATE 0.8; \
906 after: "thunder_2_"TYPE"_down_2"; \
907 } \
908 program \
909 { \
910 name: "thunder_2_"TYPE"_down_2"; \
911 action: STATE_SET "down_3" 0.0; \
912 target: "cloud_"TYPE"_2_thunder"; \
913 transition: DECELERATE 0.3; \
914 after: "thunder_2_"TYPE"_down_3"; \
915 } \
916 program \
917 { \
918 name: "thunder_2_"TYPE"_down_3"; \
919 action: STATE_SET "down" 0.0; \
920 target: "cloud_"TYPE"_2_thunder"; \
921 transition: DECELERATE 0.2; \
922 }
923
924
925#define SPHERE(TYPE, SPHERE_H, REL_H) \
926 part \
927 { \
928 name: TYPE"_line"; \
929 mouse_events: 0; \
930 clip_to: "whole"; \
931 description \
932 { \
933 state: "default" 0.0; \
934 color: 255 255 255 75; \
935 rel1.to_x: TYPE""; \
936 rel1.relative: 0.5 0.0; \
937 rel1.offset: 0 0; \
938 rel2.to: TYPE""; \
939 rel2.offset: 0 0; \
940 rel2.relative: 0.5 0.5; \
941 image.normal: TYPE"_line.png"; \
942 } \
943 } \
944 part \
945 { \
946 name: TYPE""; \
947 mouse_events: 0; \
948 clip_to: "whole"; \
949 description \
950 { \
951 state: "default" 0.0; \
952 aspect: 1 1; \
953 aspect_preference: VERTICAL; \
954 rel1.relative: 0.5 0.0-SPHERE_H; \
955 rel2.relative: 0.5 0.0; \
956 image.normal: TYPE".png"; \
957 } \
958 description \
959 { \
960 state: "up" 0.0; \
961 inherit: "default" 0.0; \
962 } \
963 description \
964 { \
965 state: "down" 0.0; \
966 inherit: "default" 0.0; \
967 rel1.relative: 0.5 REL_H; \
968 rel2.relative: 0.5 (REL_H+SPHERE_H); \
969 } \
970 description \
971 { \
972 state: "down_2" 0.0; \
973 inherit: "default" 0.0; \
974 rel1.relative: 0.5 (REL_H+0.03); \
975 rel2.relative: 0.5 (REL_H+0.03+SPHERE_H); \
976 } \
977 description \
978 { \
979 state: "down_3" 0.0; \
980 inherit: "default" 0.0; \
981 rel1.relative: 0.5 (REL_H-0.02); \
982 rel2.relative: 0.5 (REL_H-0.02+SPHERE_H); \
983 } \
984 } \
985 program \
986 { \
987 name: TYPE"_up"; \
988 signal: TYPE",up"; \
989 action: STATE_SET "up" 0.0; \
990 target: TYPE""; \
991 transition: ACCELERATE 0.6; \
992 } \
993 program \
994 { \
995 name: TYPE"_down"; \
996 signal: TYPE",down"; \
997 action: STATE_SET "down_2" 0.0; \
998 target: TYPE""; \
999 transition: DECELERATE 0.8; \
1000 after: TYPE"_down_2"; \
1001 } \
1002 program \
1003 { \
1004 name: TYPE"_down_2"; \
1005 action: STATE_SET "down_3" 0.0; \
1006 target: TYPE""; \
1007 transition: DECELERATE 0.3; \
1008 after: TYPE"_down_3"; \
1009 } \
1010 program \
1011 { \
1012 name: TYPE"_down_3"; \
1013 action: STATE_SET "down" 0.0; \
1014 target: TYPE""; \
1015 transition: DECELERATE 0.2; \
1016 }
1017
1018#define RAIN(TYPE, IMAGE) \
1019 part \
1020 { \
1021 name: TYPE"_rain"; \
1022 mouse_events: 0; \
1023 clip_to: "whole"; \
1024 description \
1025 { \
1026 state: "default" 0.0; \
1027 aspect: 1 1; \
1028 aspect_preference: VERTICAL; \
1029 color: 255 255 255 0; \
1030 rel1.relative: 0.0 0.4; \
1031 rel2.relative: 1.0 0.95; \
1032 image.normal: IMAGE".png"; \
1033 } \
1034 description \
1035 { \
1036 state: "visible" 0.0; \
1037 inherit: "default" 0.0; \
1038 color: 255 255 255 255; \
1039 } \
1040 } \
1041 program \
1042 { \
1043 name: TYPE"_show"; \
1044 signal: TYPE",show"; \
1045 action: STATE_SET "visible" 0.0; \
1046 target: TYPE"_rain"; \
1047 transition: LINEAR 0.5; \
1048 } \
1049 program \
1050 { \
1051 name: TYPE"_hide"; \
1052 signal: TYPE",hide"; \
1053 action: STATE_SET "default" 0.0; \
1054 target: TYPE"_rain"; \
1055 transition: LINEAR 0.5; \
1056 }
1057
1058#define WIND(TYPE, IMAGE) \
1059 part \
1060 { \
1061 name: TYPE"_wind"; \
1062 mouse_events: 0; \
1063 clip_to: "whole"; \
1064 description \
1065 { \
1066 state: "default" 0.0; \
1067 aspect: 1 1; \
1068 aspect_preference: VERTICAL; \
1069 color: 255 255 255 0; \
1070 rel1.relative: 0.0 0.4; \
1071 rel2.relative: 1.0 0.95; \
1072 image.normal: IMAGE".png"; \
1073 } \
1074 description \
1075 { \
1076 state: "visible" 0.0; \
1077 inherit: "default" 0.0; \
1078 color: 255 255 255 255; \
1079 } \
1080 } \
1081 program \
1082 { \
1083 name: TYPE"_show"; \
1084 signal: TYPE",show"; \
1085 action: STATE_SET "visible" 0.0; \
1086 target: TYPE"_wind"; \
1087 transition: LINEAR 0.5; \
1088 } \
1089 program \
1090 { \
1091 name: TYPE"_hide"; \
1092 signal: TYPE",hide"; \
1093 action: STATE_SET "default" 0.0; \
1094 target: TYPE"_wind"; \
1095 transition: LINEAR 0.5; \
1096 }
1097
1098#define FOGGY(TYPE, IMAGE) \
1099 part \
1100 { \
1101 name: TYPE"_foggy"; \
1102 mouse_events: 0; \
1103 clip_to: "whole"; \
1104 description \
1105 { \
1106 state: "default" 0.0; \
1107 color: 150 150 150 0; \
1108 rel1.relative: -0.1 0.0; \
1109 rel2.relative: 1.0 1.0; \
1110 image.normal: IMAGE".png"; \
1111 } \
1112 description \
1113 { \
1114 state: "visible" 0.0; \
1115 inherit: "default" 0.0; \
1116 color: 150 150 150 255; \
1117 } \
1118 } \
1119 program \
1120 { \
1121 name: TYPE"_show"; \
1122 signal: TYPE",show"; \
1123 action: STATE_SET "visible" 0.0; \
1124 target: TYPE"_foggy"; \
1125 transition: LINEAR 0.5; \
1126 } \
1127 program \
1128 { \
1129 name: TYPE"_hide"; \
1130 signal: TYPE",hide"; \
1131 action: STATE_SET "default" 0.0; \
1132 target: TYPE"_foggy"; \
1133 transition: LINEAR 0.5; \
1134 }
1135
1136#define SNOW(TYPE) \
1137 part \
1138 { \
1139 name: TYPE"_snow"; \
1140 mouse_events: 0; \
1141 clip_to: "whole"; \
1142 description \
1143 { \
1144 state: "default" 0.0; \
1145 aspect: 1 1; \
1146 aspect_preference: VERTICAL; \
1147 color: 255 255 255 0; \
1148 rel1.relative: 0.35 0.6; \
1149 rel2.relative: 0.35 0.65; \
1150 image.normal: "snow_flake.png"; \
1151 } \
1152 description \
1153 { \
1154 state: "visible" 0.0; \
1155 inherit: "default" 0.0; \
1156 color: 255 255 255 255; \
1157 } \
1158 } \
1159 part \
1160 { \
1161 name: TYPE"_snow_01"; \
1162 mouse_events: 0; \
1163 clip_to: "whole"; \
1164 description \
1165 { \
1166 state: "default" 0.0; \
1167 aspect: 1 1; \
1168 aspect_preference: VERTICAL; \
1169 color: 255 255 255 0; \
1170 rel1.relative: 0.45 0.58; \
1171 rel2.relative: 0.45 0.63; \
1172 image.normal: "snow_flake_01.png"; \
1173 } \
1174 description \
1175 { \
1176 state: "visible" 0.0; \
1177 inherit: "default" 0.0; \
1178 color: 255 255 255 255; \
1179 } \
1180 } \
1181 part \
1182 { \
1183 name: TYPE"_snow_02"; \
1184 mouse_events: 0; \
1185 clip_to: "whole"; \
1186 description \
1187 { \
1188 state: "default" 0.0; \
1189 aspect: 1 1; \
1190 aspect_preference: VERTICAL; \
1191 color: 255 255 255 0; \
1192 rel1.relative: 0.75 0.65; \
1193 rel2.relative: 0.75 0.7; \
1194 image.normal: "snow_flake_02.png"; \
1195 } \
1196 description \
1197 { \
1198 state: "visible" 0.0; \
1199 inherit: "default" 0.0; \
1200 color: 255 255 255 255; \
1201 } \
1202 } \
1203 part \
1204 { \
1205 name: TYPE"_snow_03"; \
1206 mouse_events: 0; \
1207 clip_to: "whole"; \
1208 description \
1209 { \
1210 state: "default" 0.0; \
1211 aspect: 1 1; \
1212 aspect_preference: VERTICAL; \
1213 color: 255 255 255 0; \
1214 rel1.relative: 0.2 0.65; \
1215 rel2.relative: 0.2 0.7; \
1216 image.normal: "snow_flake_03.png"; \
1217 } \
1218 description \
1219 { \
1220 state: "visible" 0.0; \
1221 inherit: "default" 0.0; \
1222 color: 255 255 255 255; \
1223 } \
1224 } \
1225 part \
1226 { \
1227 name: TYPE"_snow_04"; \
1228 mouse_events: 0; \
1229 clip_to: "whole"; \
1230 description \
1231 { \
1232 state: "default" 0.0; \
1233 aspect: 1 1; \
1234 aspect_preference: VERTICAL; \
1235 color: 255 255 255 0; \
1236 rel1.relative: 0.27 0.7; \
1237 rel2.relative: 0.27 0.74; \
1238 image.normal: "snow_flake_04.png"; \
1239 } \
1240 description \
1241 { \
1242 state: "visible" 0.0; \
1243 inherit: "default" 0.0; \
1244 color: 255 255 255 255; \
1245 } \
1246 } \
1247 part \
1248 { \
1249 name: TYPE"_snow_05"; \
1250 mouse_events: 0; \
1251 clip_to: "whole"; \
1252 description \
1253 { \
1254 state: "default" 0.0; \
1255 aspect: 1 1; \
1256 aspect_preference: VERTICAL; \
1257 color: 255 255 255 0; \
1258 rel1.relative: 0.27 0.7; \
1259 rel2.relative: 0.27 0.74; \
1260 image.normal: "snow_flake_05.png"; \
1261 } \
1262 description \
1263 { \
1264 state: "visible" 0.0; \
1265 inherit: "default" 0.0; \
1266 color: 255 255 255 255; \
1267 } \
1268 } \
1269 part \
1270 { \
1271 name: TYPE"_snow_06"; \
1272 mouse_events: 0; \
1273 clip_to: "whole"; \
1274 description \
1275 { \
1276 state: "default" 0.0; \
1277 aspect: 1 1; \
1278 aspect_preference: VERTICAL; \
1279 color: 255 255 255 0; \
1280 rel1.relative: 0.9 0.7; \
1281 rel2.relative: 0.9 0.74; \
1282 image.normal: "snow_flake_06.png"; \
1283 } \
1284 description \
1285 { \
1286 state: "visible" 0.0; \
1287 inherit: "default" 0.0; \
1288 color: 255 255 255 255; \
1289 } \
1290 } \
1291 part \
1292 { \
1293 name: TYPE"_snow_07"; \
1294 mouse_events: 0; \
1295 clip_to: "whole"; \
1296 description \
1297 { \
1298 state: "default" 0.0; \
1299 aspect: 1 1; \
1300 aspect_preference: VERTICAL; \
1301 color: 255 255 255 0; \
1302 rel1.relative: 0.78 0.75; \
1303 rel2.relative: 0.78 0.78; \
1304 image.normal: "snow_flake_07.png"; \
1305 } \
1306 description \
1307 { \
1308 state: "visible" 0.0; \
1309 inherit: "default" 0.0; \
1310 color: 255 255 255 255; \
1311 } \
1312 } \
1313 part \
1314 { \
1315 name: TYPE"_snow_08"; \
1316 mouse_events: 0; \
1317 clip_to: "whole"; \
1318 description \
1319 { \
1320 state: "default" 0.0; \
1321 aspect: 1 1; \
1322 aspect_preference: VERTICAL; \
1323 color: 255 255 255 0; \
1324 rel1.relative: 0.15 0.78; \
1325 rel2.relative: 0.15 0.8; \
1326 image.normal: "snow_flake_08.png"; \
1327 } \
1328 description \
1329 { \
1330 state: "visible" 0.0; \
1331 inherit: "default" 0.0; \
1332 color: 255 255 255 255; \
1333 } \
1334 } \
1335 part \
1336 { \
1337 name: TYPE"_snow_09"; \
1338 mouse_events: 0; \
1339 clip_to: "whole"; \
1340 description \
1341 { \
1342 state: "default" 0.0; \
1343 aspect: 1 1; \
1344 aspect_preference: VERTICAL; \
1345 color: 255 255 255 0; \
1346 rel1.relative: 0.6 0.7; \
1347 rel2.relative: 0.6 0.73; \
1348 image.normal: "snow_flake_09.png"; \
1349 } \
1350 description \
1351 { \
1352 state: "visible" 0.0; \
1353 inherit: "default" 0.0; \
1354 color: 255 255 255 255; \
1355 } \
1356 } \
1357 program \
1358 { \
1359 name: TYPE"_snow_show"; \
1360 signal: TYPE",show"; \
1361 action: STATE_SET "visible" 0.0; \
1362 target: TYPE"_snow"; \
1363 target: TYPE"_snow_01"; \
1364 target: TYPE"_snow_02"; \
1365 target: TYPE"_snow_03"; \
1366 target: TYPE"_snow_04"; \
1367 target: TYPE"_snow_05"; \
1368 target: TYPE"_snow_06"; \
1369 target: TYPE"_snow_07"; \
1370 target: TYPE"_snow_08"; \
1371 target: TYPE"_snow_09"; \
1372 transition: LINEAR 0.5; \
1373 } \
1374 program \
1375 { \
1376 name: TYPE"_snow_hide"; \
1377 signal: TYPE",hide"; \
1378 action: STATE_SET "default" 0.0; \
1379 target: TYPE"_snow"; \
1380 target: TYPE"_snow_01"; \
1381 target: TYPE"_snow_02"; \
1382 target: TYPE"_snow_03"; \
1383 target: TYPE"_snow_04"; \
1384 target: TYPE"_snow_05"; \
1385 target: TYPE"_snow_06"; \
1386 target: TYPE"_snow_07"; \
1387 target: TYPE"_snow_08"; \
1388 target: TYPE"_snow_09"; \
1389 transition: LINEAR 0.5; \
1390 }
1391
1392
1393#define BG(TYPE) \
1394 part \
1395 { \
1396 name: "bg_"TYPE; \
1397 mouse_events: 1; \
1398 clip_to: "whole"; \
1399 description \
1400 { \
1401 state: "default" 0.0; \
1402 rel1.relative: 1.0 0.0; \
1403 rel2.relative: 2.1 1.0; \
1404 image.normal: "bg_"TYPE".png"; \
1405 } \
1406 description \
1407 { \
1408 state: "right" 0.0; \
1409 inherit: "default" 0.0; \
1410 } \
1411 description \
1412 { \
1413 state: "left" 0.0; \
1414 inherit: "default" 0.0; \
1415 rel1.relative: -1.1 0.0; \
1416 rel2.relative: 0.0 1.0; \
1417 } \
1418 description \
1419 { \
1420 state: "show" 0.0; \
1421 inherit: "default" 0.0; \
1422 rel1.relative: -0.1 0.0; \
1423 rel2.relative: 1.0 1.0; \
1424 } \
1425 } \
1426 program \
1427 { \
1428 name: TYPE"_right_show"; \
1429 signal: TYPE",right,show"; \
1430 action: STATE_SET "right" 0.0; \
1431 target: "bg_"TYPE; \
1432 after: TYPE"_right_show_2"; \
1433 } \
1434 program \
1435 { \
1436 name: TYPE"_right_show_2"; \
1437 action: STATE_SET "show" 0.0; \
1438 target: "bg_"TYPE; \
1439 transition: LINEAR 0.5; \
1440 } \
1441 program \
1442 { \
1443 name: TYPE"_left_show"; \
1444 signal: TYPE",left,show"; \
1445 action: STATE_SET "left" 0.0; \
1446 target: "bg_"TYPE; \
1447 after: TYPE"_left_show_2"; \
1448 } \
1449 program \
1450 { \
1451 name: TYPE"_left_show_2"; \
1452 action: STATE_SET "show" 0.0; \
1453 target: "bg_"TYPE; \
1454 transition: LINEAR 0.5; \
1455 } \
1456 program \
1457 { \
1458 name: TYPE"_right_hide"; \
1459 signal: TYPE",right,hide"; \
1460 action: STATE_SET "left" 0.0; \
1461 target: "bg_"TYPE; \
1462 transition: LINEAR 0.5; \
1463 } \
1464 program \
1465 { \
1466 name: TYPE"_left_hide"; \
1467 signal: TYPE",left,hide"; \
1468 action: STATE_SET "right" 0.0; \
1469 target: "bg_"TYPE; \
1470 transition: LINEAR 0.5; \
1471 }
1472
1473#define PGME_WAIT_END(CLOUD, DELAY) \
1474 program \
1475 { \
1476 name: CLOUD"_wait_end"; \
1477 signal: CLOUD",up"; \
1478 in: DELAY 0.0; \
1479 after: "show_bg"; \
1480 }
1481
1482/**
1483 * @param DIRECTION right or left.
1484 * @param BG day_clear, day_heavyrain, day_rain, night_clear, night_rain
1485 * @param SPHERE moon or sun
1486 * @param CLOUD 'empty', _storm, _rain or _tstorm
1487 * @param MISC rain, snow ...
1488 *
1489 * A new signal is created : DIRECTION,BG,SPHERE,CLOUD
1490 */
1491#define PGME(DIRECTION, BG, SPHERE, CLOUD, MISC) \
1492 program \
1493 { \
1494 name: DIRECTION"_"BG"_"SPHERE"_"CLOUD"_"MISC; \
1495 signal: DIRECTION","BG","SPHERE","CLOUD","MISC; \
1496 script \
1497 { \
1498 new signal[128]; \
1499 set_str(next_show_signal, CLOUD",down"); \
1500 set_str(next_hide_signal, CLOUD",up"); \
1501 set_str(next_show_sphere, SPHERE",down"); \
1502 set_str(next_hide_sphere, SPHERE",up"); \
1503 set_str(next_show_misc, MISC",show"); \
1504 set_str(next_hide_misc, MISC",hide"); \
1505 \
1506 set_str(next_bg, BG); \
1507 set_str(direction, DIRECTION); \
1508 \
1509 get_str(current_hide_signal, signal, 128); \
1510 if( strcmp(signal, "") ) \
1511 emit(signal, ""); \
1512 else \
1513 run_program(PROGRAM:"show_bg"); \
1514 \
1515 get_str(current_hide_sphere, signal, 128); \
1516 if( strcmp(signal, "") ) \
1517 emit(signal, ""); \
1518 \
1519 get_str(current_hide_misc, signal, 128); \
1520 if( strcmp(signal, "") ) \
1521 emit(signal, ""); \
1522 } \
1523 }
1524
1525collections
1526{
1527 group
1528 {
1529 name: "main";
1530 parts
1531 {
1532 part
1533 {
1534 name: "whole";
1535 type: RECT;
1536 description
1537 {
1538 state: "default" 0.0;
1539 color: 0 0 0 100;
1540 }
1541 }
1542 part
1543 {
1544 name: "clipper";
1545 type: RECT;
1546 description
1547 {
1548 state: "default" 0.0;
1549 color: 0 0 0 0;
1550 visible: 1;
1551 }
1552 description
1553 {
1554 state: "expose" 0.0;
1555 color: 0 0 0 0;
1556 }
1557 description
1558 {
1559 state: "fullscreen" 0.0;
1560 color: 255 255 255 255;
1561 }
1562 }
1563 part
1564 {
1565 name: "object.swallow";
1566 type: SWALLOW;
1567 clip_to: "clipper";
1568 description
1569 {
1570 state: "default" 0.0;
1571 }
1572 }
1573 part
1574 {
1575 name: "object.content";
1576 type: RECT;
1577 description
1578 {
1579 state: "default" 0.0;
1580 rel1.offset: 10 10;
1581 rel2.offset: -10 -10;
1582 visible: 1;
1583 color: 0 0 0 0;
1584 }
1585 description
1586 {
1587 state: "fullscreen" 0.0;
1588 inherit: "default" 0.0;
1589 }
1590 description
1591 {
1592 state: "expose" 0.0;
1593 inherit: "default" 0.0;
1594 color: 255 255 255 255;
1595 }
1596 }
1597 }
1598 programs
1599 {
1600 program
1601 {
1602 name: "expose";
1603 signal: "expose";
1604 action: STATE_SET "expose" 0.0;
1605 target: "clipper";
1606 target: "object.content";
1607 transition: ACCELERATE 0.7;
1608 }
1609 program
1610 {
1611 name: "fullscreen";
1612 signal: "fullscreen";
1613 action: STATE_SET "fullscreen" 0.0;
1614 target: "clipper";
1615 target: "object.content";
1616 transition: ACCELERATE 0.7;
1617 after: "fullscreen_done";
1618 }
1619 program
1620 {
1621 name: "fullscreen_done";
1622 action: SIGNAL_EMIT "fullscreen,done" "";
1623 }
1624 }
1625 }
1626 group
1627 {
1628 name: "weather";
1629 min: 165 300;
1630 script
1631 {
1632 public current_hide_signal;
1633 public next_show_signal;
1634 public next_hide_signal;
1635
1636 public current_hide_sphere;
1637 public next_show_sphere;
1638 public next_hide_sphere;
1639
1640 public current_bg;
1641 public next_bg;
1642 public direction;
1643
1644 public current_hide_misc;
1645 public next_show_misc;
1646 public next_hide_misc;
1647 }
1648 parts
1649 {
1650 part
1651 {
1652 name: "whole";
1653 mouse_events: 0;
1654 description
1655 {
1656 state: "default" 0.0;
1657 }
1658 }
1659 part
1660 {
1661 name: "bg";
1662 type: RECT;
1663 clip_to: "whole";
1664 mouse_events: 0;
1665 description
1666 {
1667 state: "default" 0.0;
1668 color: 0 0 0 255;
1669 }
1670 }
1671 BG("day_clear");
1672 BG("day_heavyrain");
1673 BG("day_rain");
1674 BG("night_clear");
1675 BG("night_rain");
1676
1677 RAIN("rain", "rain_01");
1678 WIND("windy", "haze");
1679 SNOW("snow");
1680
1681 RAIN("rain_snow", "rain_01");
1682 SNOW("rain_snow");
1683
1684 SPHERE("moon", 0.3, 0.2);
1685 SPHERE("sun", 0.5, 0.1);
1686 CLOUDS("storm", "storm");
1687 CLOUDS("rain", "rain");
1688 CLOUDS("cloud", "cloud");
1689 CLOUDS_THUNDERS("tstorm", "tstorm");
1690 CLOUDS_THUNDERS_ISOLATED("isolated_tstorm", "tstorm");
1691
1692 CLOUD_3("isolated_cloud", "cloud", 0.13);
1693 CLOUD_3_2("isolated_cloud", "cloud", 0.13);
1694 CLOUD_2("isolated_cloud", "cloud", 0.17);
1695
1696
1697 FOGGY("foggy", "fog");
1698 part
1699 {
1700 name: "title_bar";
1701 mouse_events: 0;
1702 clip_to: "whole";
1703 description
1704 {
1705 state: "default" 0.0;
1706 rel2.relative: 1.0 0.075;
1707 image.normal: "title_bar.png";
1708 }
1709 }
1710 part
1711 {
1712 name: "text.date";
1713 type: TEXT;
1714 effect: SOFT_SHADOW;
1715 mouse_events: 0;
1716 clip_to: "whole";
1717 scale: 1;
1718 description
1719 {
1720 state: "default" 0.0;
1721 rel1.relative: 0.5 0.0;
1722 rel2.relative: 0.5 0.075;
1723 text
1724 {
1725 text: "";
1726 font: "Sans,Edje-Vera";
1727 size: 10;
1728 min: 1 1;
1729 align: 0.5 0.5;
1730 text_class: "module_small_s";
1731 }
1732 }
1733 }
1734 part
1735 {
1736 name: "text.temp";
1737 type: TEXT;
1738 mouse_events: 0;
1739 clip_to: "whole";
1740 scale: 1;
1741 description
1742 {
1743 state: "default" 0.0;
1744 rel1.relative: 0.5 0.63;
1745 rel2.relative: 0.5 0.75;
1746 text
1747 {
1748 text: "";
1749 font: "Sans,Edje-Vera";
1750 size: 32;
1751 min: 1 1;
1752 max: 1 1;
1753 align: 0.5 1.0;
1754 text_class: "module_large";
1755 }
1756 }
1757 }
1758 part
1759 {
1760 name: "separator";
1761 mouse_events: 0;
1762 clip_to: "whole";
1763 description
1764 {
1765 state: "default" 0.0;
1766 rel1.relative: 0.2 0.75;
1767 rel2.relative: 0.8 0.75;
1768 rel2.offset: 0 3;
1769 image.normal: "division_line.png";
1770 }
1771 }
1772 part
1773 {
1774 name: "icon_min";
1775 mouse_events: 0;
1776 clip_to: "whole";
1777 description
1778 {
1779 state: "default" 0.0;
1780 aspect: 0.655 1;
1781 aspect_preference: VERTICAL;
1782 rel1.to_y: "text.temp_min";
1783 rel1.relative: 0.2 0.0;
1784 rel2.to_y: "text.temp_min";
1785 rel2.relative: 0.2 1.0;
1786 image.normal: "icon_min.png";
1787 }
1788 }
1789 part
1790 {
1791 name: "text.temp_min";
1792 type: TEXT;
1793 mouse_events: 0;
1794 clip_to: "whole";
1795 scale: 1;
1796 description
1797 {
1798 state: "default" 0.0;
1799 align: 0.0 0.0;
1800 rel1.to_x: "icon_min";
1801 rel1.relative: 1.0 0.75;
1802 rel1.offset: 3 5;
1803 rel2.relative: 1.0 0.75;
1804 rel2.offset: 3 0;
1805 text
1806 {
1807 text: "";
1808 font: "Sans,Edje-Vera";
1809 size: 14;
1810 min: 1 1;
1811 max: 1 1;
1812 align: 0.0 0.5;
1813 text_class: "module_small";
1814 }
1815 }
1816 }
1817 part
1818 {
1819 name: "icon_max";
1820 mouse_events: 0;
1821 clip_to: "whole";
1822 description
1823 {
1824 state: "default" 0.0;
1825 aspect: 0.655 1;
1826 align: 0.5 0.0;
1827 aspect_preference: VERTICAL;
1828 rel1.to_y: "text.temp_max";
1829 rel1.relative: 0.8 0.0;
1830 rel2.to_y: "text.temp_max";
1831 rel2.relative: 0.8 1.0;
1832 image.normal: "icon_max.png";
1833 }
1834 }
1835 part
1836 {
1837 name: "text.temp_max";
1838 type: TEXT;
1839 mouse_events: 0;
1840 clip_to: "whole";
1841 scale: 1;
1842 description
1843 {
1844 state: "default" 0.0;
1845 align: 1.0 0.0;
1846 rel1.relative: 0.0 0.75;
1847 rel1.offset: -3 5;
1848 rel2.to_x: "icon_max";
1849 rel2.relative: 0.0 0.75;
1850 rel2.offset: -3 0;
1851 text
1852 {
1853 text: "";
1854 font: "Sans,Edje-Vera";
1855 size: 14;
1856 min: 1 1;
1857 max: 1 1;
1858 align: 1.0 0.5;
1859 text_class: "module_small";
1860 }
1861 }
1862 }
1863 part
1864 {
1865 name: "city_name_background";
1866 mouse_events: 0;
1867 clip_to: "whole";
1868 description
1869 {
1870 state: "default" 0.0;
1871 rel1.relative: 0.0 0.85;
1872 image.normal: "city_name_background.png";
1873 }
1874 }
1875 part
1876 {
1877 name: "text.city";
1878 type: TEXT;
1879 effect: SOFT_SHADOW;
1880 mouse_events: 0;
1881 clip_to: "whole";
1882 scale: 1;
1883 description
1884 {
1885 state: "default" 0.0;
1886 rel1.relative: 0.5 0.85;
1887 rel2.relative: 0.5 1.0;
1888 text
1889 {
1890 text: "";
1891 font: "Sans,Edje-Vera";
1892 size: 16;
1893 min: 1 1;
1894 align: 0.5 0.5;
1895 text_class: "module_normal_s";
1896 }
1897 }
1898 }
1899 }
1900 programs
1901 {
1902 PGME("right", "night_clear", "moon", "nothing", "");
1903 PGME("right", "day_clear", "sun", "nothing", "");
1904 PGME_WAIT_END("nothing", 0.6);
1905
1906 PGME("right", "day_clear", "sun", "isolated_cloud", "windy");
1907 PGME("right", "day_clear", "sun", "isolated_cloud", "");
1908 PGME("right", "night_clear", "moon", "isolated_cloud", "");
1909 PGME_WAIT_END("isolated_cloud", 0.8);
1910
1911 PGME("right", "day_heavyrain", "sun", "isolated_tstorm", "rain");
1912 PGME_WAIT_END("isolated_tstorm", 0.8);
1913
1914 PGME("right", "day_rain", "sun", "rain", "rain");
1915 PGME("right", "day_rain", "sun", "rain", "snow");
1916 PGME("right", "day_rain", "sun", "rain", "rain_snow");
1917 PGME_WAIT_END("rain", 0.8);
1918
1919 PGME("right", "day_heavyrain", "sun", "storm", "snow");
1920 PGME_WAIT_END("storm", 0.8);
1921
1922 PGME("right", "day_heavyrain", "sun", "tstorm", "rain");
1923 PGME_WAIT_END("tstorm", 0.8);
1924
1925 PGME("right", "day_rain", "sun", "cloud", "foggy");
1926 PGME("right", "day_clear", "sun", "cloud", "");
1927 PGME("right", "night_clear", "moon", "cloud", "");
1928 PGME_WAIT_END("cloud", 0.8);
1929
1930 program
1931 {
1932 name: "show_bg";
1933 script
1934 {
1935 new signal[128];
1936 new str1[128];
1937 new str2[128];
1938 new str3[128];
1939
1940 get_str(direction, str1, 128);
1941 get_str(current_bg, str2, 128);
1942 get_str(next_bg, str3, 128);
1943
1944 if(strcmp(str2, str3))
1945 {
1946 snprintf(signal, 128, "%s,%s,hide", str2, str1);
1947
1948 if( strcmp(signal, "") )
1949 emit(signal, "");
1950
1951 snprintf(signal, 128, "%s,%s,show", str3, str1);
1952 if( strcmp(signal, "") )
1953 emit(signal, "");
1954
1955 set_str(current_bg, str3);
1956 }
1957 }
1958 after: "show_bg_end";
1959 }
1960 program
1961 {
1962 name: "show_bg_end";
1963 in: 0.5 0.0;
1964 after: "show_next";
1965 }
1966 program
1967 {
1968 name: "show_next";
1969 script
1970 {
1971 new signal[128];
1972 set_str(current_hide_signal, "");
1973 set_str(current_hide_sphere, "");
1974
1975 get_str(next_show_signal, signal, 128);
1976 emit(signal, "");
1977
1978 get_str(next_show_sphere, signal, 128);
1979 emit(signal, "");
1980
1981 get_str(next_show_misc, signal, 128);
1982 if(strcmp(signal, ""))
1983 emit(signal, "");
1984
1985 get_str(next_hide_signal, signal, 128);
1986 set_str(current_hide_signal, signal);
1987
1988 get_str(next_hide_sphere, signal, 128);
1989 set_str(current_hide_sphere, signal);
1990
1991 get_str(next_hide_misc, signal, 128);
1992 set_str(current_hide_misc, signal);
1993 }
1994 }
1995 }
1996 }
1997}
1998
diff --git a/data/simple/Makefile.am b/data/simple/Makefile.am
new file mode 100644
index 0000000..356067f
--- /dev/null
+++ b/data/simple/Makefile.am
@@ -0,0 +1,22 @@
1MAINTAINERCLEANFILES = Makefile.in theme.edj
2
3SUBDIRS = images
4
5EDJ = theme.edj
6
7EXTRA_DIST = theme.edc
8
9EDJE_FLAGS = -v \
10 -id $(top_srcdir)/data/simple/images
11
12theme.edj: theme.edc
13 $(EDJE_CC) $(EDJE_FLAGS) $(top_srcdir)/data/simple/theme.edc
14
15icondir = $(pkgdatadir)/simple
16icon_DATA = $(EDJ)
17
18clean-local:
19 rm -rf *.edj *~
20
21uninstall:
22 rm -rf $(DESTDIR)$(pkgdatadir)²
diff --git a/data/simple/images/EWEATHER_TYPE_CLEAR_NIGHT.png b/data/simple/images/EWEATHER_TYPE_CLEAR_NIGHT.png
new file mode 100644
index 0000000..998b5fc
--- /dev/null
+++ b/data/simple/images/EWEATHER_TYPE_CLEAR_NIGHT.png
Binary files differ
diff --git a/data/simple/images/EWEATHER_TYPE_CLOUDY.png b/data/simple/images/EWEATHER_TYPE_CLOUDY.png
new file mode 100644
index 0000000..49eb82a
--- /dev/null
+++ b/data/simple/images/EWEATHER_TYPE_CLOUDY.png
Binary files differ
diff --git a/data/simple/images/EWEATHER_TYPE_FOGGY.png b/data/simple/images/EWEATHER_TYPE_FOGGY.png
new file mode 100644
index 0000000..1f20347
--- /dev/null
+++ b/data/simple/images/EWEATHER_TYPE_FOGGY.png
Binary files differ
diff --git a/data/simple/images/EWEATHER_TYPE_HEAVY_SNOW.png b/data/simple/images/EWEATHER_TYPE_HEAVY_SNOW.png
new file mode 100644
index 0000000..1e74f97
--- /dev/null
+++ b/data/simple/images/EWEATHER_TYPE_HEAVY_SNOW.png
Binary files differ
diff --git a/data/simple/images/EWEATHER_TYPE_ISOLATED_THUNDERSTORMS.png b/data/simple/images/EWEATHER_TYPE_ISOLATED_THUNDERSTORMS.png
new file mode 100644
index 0000000..2e3e332
--- /dev/null
+++ b/data/simple/images/EWEATHER_TYPE_ISOLATED_THUNDERSTORMS.png
Binary files differ
diff --git a/data/simple/images/EWEATHER_TYPE_MOSTLY_CLOUDY_NIGHT.png b/data/simple/images/EWEATHER_TYPE_MOSTLY_CLOUDY_NIGHT.png
new file mode 100644
index 0000000..d00c0cf
--- /dev/null
+++ b/data/simple/images/EWEATHER_TYPE_MOSTLY_CLOUDY_NIGHT.png
Binary files differ
diff --git a/data/simple/images/EWEATHER_TYPE_PARTLY_CLOUDY_DAY.png b/data/simple/images/EWEATHER_TYPE_PARTLY_CLOUDY_DAY.png
new file mode 100644
index 0000000..cb95b93
--- /dev/null
+++ b/data/simple/images/EWEATHER_TYPE_PARTLY_CLOUDY_DAY.png
Binary files differ
diff --git a/data/simple/images/EWEATHER_TYPE_PARTLY_CLOUDY_NIGHT.png b/data/simple/images/EWEATHER_TYPE_PARTLY_CLOUDY_NIGHT.png
new file mode 100644
index 0000000..bedce03
--- /dev/null
+++ b/data/simple/images/EWEATHER_TYPE_PARTLY_CLOUDY_NIGHT.png
Binary files differ
diff --git a/data/simple/images/EWEATHER_TYPE_RAIN.png b/data/simple/images/EWEATHER_TYPE_RAIN.png
new file mode 100644
index 0000000..4506218
--- /dev/null
+++ b/data/simple/images/EWEATHER_TYPE_RAIN.png
Binary files differ
diff --git a/data/simple/images/EWEATHER_TYPE_RAIN_SNOW.png b/data/simple/images/EWEATHER_TYPE_RAIN_SNOW.png
new file mode 100644
index 0000000..6ed3f47
--- /dev/null
+++ b/data/simple/images/EWEATHER_TYPE_RAIN_SNOW.png
Binary files differ
diff --git a/data/simple/images/EWEATHER_TYPE_SNOW.png b/data/simple/images/EWEATHER_TYPE_SNOW.png
new file mode 100644
index 0000000..2c6ea14
--- /dev/null
+++ b/data/simple/images/EWEATHER_TYPE_SNOW.png
Binary files differ
diff --git a/data/simple/images/EWEATHER_TYPE_SUNNY.png b/data/simple/images/EWEATHER_TYPE_SUNNY.png
new file mode 100644
index 0000000..b6af85f
--- /dev/null
+++ b/data/simple/images/EWEATHER_TYPE_SUNNY.png
Binary files differ
diff --git a/data/simple/images/EWEATHER_TYPE_THUNDERSTORMS.png b/data/simple/images/EWEATHER_TYPE_THUNDERSTORMS.png
new file mode 100644
index 0000000..c23d08a
--- /dev/null
+++ b/data/simple/images/EWEATHER_TYPE_THUNDERSTORMS.png
Binary files differ
diff --git a/data/simple/images/EWEATHER_TYPE_WINDY.png b/data/simple/images/EWEATHER_TYPE_WINDY.png
new file mode 100644
index 0000000..d1e8b4f
--- /dev/null
+++ b/data/simple/images/EWEATHER_TYPE_WINDY.png
Binary files differ
diff --git a/data/simple/images/Makefile.am b/data/simple/images/Makefile.am
new file mode 100644
index 0000000..63423e3
--- /dev/null
+++ b/data/simple/images/Makefile.am
@@ -0,0 +1,8 @@
1MAINTAINERCLEANFILES = Makefile.in
2
3# data files for the module
4filesdir = $(datadir)/simple/images
5
6files_DATA = $(wildcard *.png)
7
8EXTRA_DIST = $(files_DATA)
diff --git a/data/simple/theme.edc b/data/simple/theme.edc
new file mode 100644
index 0000000..978fb5f
--- /dev/null
+++ b/data/simple/theme.edc
@@ -0,0 +1,345 @@
1images
2{
3 image: "EWEATHER_TYPE_CLEAR_NIGHT.png" COMP;
4 image: "EWEATHER_TYPE_CLOUDY.png" COMP;
5 image: "EWEATHER_TYPE_FOGGY.png" COMP;
6 image: "EWEATHER_TYPE_HEAVY_SNOW.png" COMP;
7 image: "EWEATHER_TYPE_ISOLATED_THUNDERSTORMS.png" COMP;
8 image: "EWEATHER_TYPE_MOSTLY_CLOUDY_NIGHT.png" COMP;
9 image: "EWEATHER_TYPE_PARTLY_CLOUDY_DAY.png" COMP;
10 image: "EWEATHER_TYPE_PARTLY_CLOUDY_NIGHT.png" COMP;
11 image: "EWEATHER_TYPE_RAIN.png" COMP;
12 image: "EWEATHER_TYPE_RAIN_SNOW.png" COMP;
13 image: "EWEATHER_TYPE_SNOW.png" COMP;
14 image: "EWEATHER_TYPE_SUNNY.png" COMP;
15 image: "EWEATHER_TYPE_THUNDERSTORMS.png" COMP;
16 image: "EWEATHER_TYPE_WINDY.png" COMP;
17}
18
19#define WEATHER(IMAGE,SIGNAL) \
20 part \
21 { \
22 name: "part_"SIGNAL; \
23 mouse_events: 1; \
24 description \
25 { \
26 state: "default" 0.0; \
27 color: 255 255 255 0; \
28 image.normal: IMAGE; \
29 } \
30 description \
31 { \
32 state: "show" 0.0; \
33 inherit: "default" 0.0; \
34 color: 255 255 255 255; \
35 } \
36 description \
37 { \
38 state: "hide" 0.0; \
39 inherit: "default" 0.0; \
40 } \
41 } \
42 program \
43 { \
44 name: SIGNAL; \
45 signal: SIGNAL; \
46 script \
47 { \
48 new signal[128]; \
49 get_str(hide_source, signal, 128); \
50 if( strcmp(signal, "") ) \
51 emit("hide", signal); \
52 set_str(hide_source, "pgme_"SIGNAL);\
53 emit("show", "pgme_"SIGNAL); \
54 } \
55 } \
56 program \
57 { \
58 name: "show_"SIGNAL; \
59 signal: "show"; \
60 source: "pgme_"SIGNAL; \
61 action: STATE_SET "show" 0.0; \
62 target: "part_"SIGNAL; \
63 transition: SINUSOIDAL 1.0; \
64 } \
65 program \
66 { \
67 name: "hide_"SIGNAL; \
68 signal: "hide"; \
69 source: "pgme_"SIGNAL; \
70 action: STATE_SET "hide" 0.0; \
71 target: "part_"SIGNAL; \
72 transition: SINUSOIDAL 1.0; \
73 }
74
75
76
77
78collections
79{
80 group
81 {
82 name: "main";
83 parts
84 {
85 part
86 {
87 name: "whole";
88 type: RECT;
89 description
90 {
91 state: "default" 0.0;
92 color: 0 0 0 100;
93 }
94 }
95 part
96 {
97 name: "clipper";
98 type: RECT;
99 description
100 {
101 state: "default" 0.0;
102 color: 0 0 0 0;
103 visible: 1;
104 }
105 description
106 {
107 state: "expose" 0.0;
108 color: 0 0 0 0;
109 }
110 description
111 {
112 state: "fullscreen" 0.0;
113 color: 255 255 255 255;
114 }
115 }
116 part
117 {
118 name: "object.swallow";
119 type: SWALLOW;
120 clip_to: "clipper";
121 description
122 {
123 state: "default" 0.0;
124 }
125 }
126 part
127 {
128 name: "object.content";
129 type: RECT;
130 description
131 {
132 state: "default" 0.0;
133 rel1.offset: 10 10;
134 rel2.offset: -10 -10;
135 visible: 1;
136 color: 0 0 0 0;
137 }
138 description
139 {
140 state: "fullscreen" 0.0;
141 inherit: "default" 0.0;
142 }
143 description
144 {
145 state: "expose" 0.0;
146 inherit: "default" 0.0;
147 color: 255 255 255 255;
148 }
149 }
150 }
151 programs
152 {
153 program
154 {
155 name: "expose";
156 signal: "expose";
157 action: STATE_SET "expose" 0.0;
158 target: "clipper";
159 target: "object.content";
160 transition: ACCELERATE 0.7;
161 }
162 program
163 {
164 name: "fullscreen";
165 signal: "fullscreen";
166 action: STATE_SET "fullscreen" 0.0;
167 target: "clipper";
168 target: "object.content";
169 transition: ACCELERATE 0.7;
170 after: "fullscreen_done";
171 }
172 program
173 {
174 name: "fullscreen_done";
175 action: SIGNAL_EMIT "fullscreen,done" "";
176 }
177 }
178 }
179 group
180 {
181 name: "weather";
182 min: 165 300;
183 script
184 {
185 public hide_source;
186 }
187 parts
188 {
189 part
190 {
191 name: "whole";
192 mouse_events: 1;
193 description
194 {
195 state: "default" 0.0;
196 }
197 }
198
199 //WEATHER("EWEATHER_TYPE_WINDY.png", "right,day_clear,sun,isolated_cloud,windy");
200 //WEATHER("EWEATHER_TYPE_RAIN.png", "right,day_rain,sun,rain,rain");
201 WEATHER("EWEATHER_TYPE_SNOW.png", "right,day_rain,sun,rain,snow");
202 WEATHER("EWEATHER_TYPE_RAIN_SNOW.png", "right,day_rain,sun,rain,rain_snow");
203 WEATHER("EWEATHER_TYPE_FOGGY.png", "right,day_rain,sun,cloud,foggy");
204 WEATHER("EWEATHER_TYPE_CLOUDY.png", "right,day_clear,sun,cloud,");
205 WEATHER("EWEATHER_TYPE_MOSTLY_CLOUDY_NIGHT.png", "right,night_clear,moon,cloud,");
206 WEATHER("EWEATHER_TYPE_PARTLY_CLOUDY_NIGHT.png", "right,night_clear,moon,isolated_cloud,");
207 WEATHER("EWEATHER_TYPE_PARTLY_CLOUDY_DAY.png", "right,day_clear,sun,isolated_cloud,");
208 WEATHER("EWEATHER_TYPE_CLEAR_NIGHT.png", "right,night_clear,moon,nothing,");
209 WEATHER("EWEATHER_TYPE_SUNNY.png", "right,day_clear,sun,nothing,");
210 WEATHER("EWEATHER_TYPE_ISOLATED_THUNDERSTORMS.png", "right,day_heavyrain,sun,isolated_tstorm,rain");
211 WEATHER("EWEATHER_TYPE_THUNDERSTORMS.png", "right,day_heavyrain,sun,tstorm,rain");
212 WEATHER("EWEATHER_TYPE_HEAVY_SNOW.png", "right,day_heavyrain,sun,storm,snow");
213
214 //TEXT PARTS
215 part
216 {
217 name: "text.date";
218 type: TEXT;
219 effect: SOFT_SHADOW;
220 mouse_events: 0;
221 clip_to: "whole";
222 scale: 1;
223 description
224 {
225 state: "default" 0.0;
226 rel1.relative: 0.5 0.0;
227 rel2.relative: 0.5 0.075;
228 text
229 {
230 text: "";
231 font: "Sans,Edje-Vera";
232 size: 10;
233 min: 1 1;
234 align: 0.5 0.5;
235 text_class: "module_small_s";
236 }
237 }
238 }
239 part
240 {
241 name: "text.temp";
242 type: TEXT;
243 mouse_events: 0;
244 clip_to: "whole";
245 scale: 1;
246 description
247 {
248 state: "default" 0.0;
249 rel1.relative: 0.5 0.63;
250 rel2.relative: 0.5 0.75;
251 text
252 {
253 text: "";
254 font: "Sans,Edje-Vera";
255 size: 32;
256 min: 1 1;
257 max: 1 1;
258 align: 0.5 1.0;
259 text_class: "module_large";
260 }
261 }
262 }
263 part
264 {
265 name: "text.temp_min";
266 type: TEXT;
267 mouse_events: 0;
268 clip_to: "whole";
269 scale: 1;
270 description
271 {
272 state: "default" 0.0;
273 align: 0.0 0.0;
274 rel1.relative: 1.0 0.75;
275 rel1.offset: 3 5;
276 rel2.relative: 1.0 0.75;
277 rel2.offset: 3 0;
278 text
279 {
280 text: "";
281 font: "Sans,Edje-Vera";
282 size: 14;
283 min: 1 1;
284 max: 1 1;
285 align: 0.0 0.5;
286 text_class: "module_small";
287 }
288 }
289 }
290 part
291 {
292 name: "text.temp_max";
293 type: TEXT;
294 mouse_events: 0;
295 clip_to: "whole";
296 scale: 1;
297 description
298 {
299 state: "default" 0.0;
300 align: 1.0 0.0;
301 rel1.relative: 0.0 0.75;
302 rel1.offset: -3 5;
303 rel2.relative: 0.0 0.75;
304 rel2.offset: -3 0;
305 text
306 {
307 text: "";
308 font: "Sans,Edje-Vera";
309 size: 14;
310 min: 1 1;
311 max: 1 1;
312 align: 1.0 0.5;
313 text_class: "module_small";
314 }
315 }
316 }
317 part
318 {
319 name: "text.city";
320 type: TEXT;
321 effect: SOFT_SHADOW;
322 mouse_events: 0;
323 clip_to: "whole";
324 scale: 1;
325 description
326 {
327 state: "default" 0.0;
328 rel1.relative: 0.5 0.85;
329 rel2.relative: 0.5 1.0;
330 text
331 {
332 text: "";
333 font: "Sans,Edje-Vera";
334 size: 16;
335 min: 1 1;
336 align: 0.5 0.5;
337 text_class: "module_normal_s";
338 }
339 }
340 }
341 //
342 }
343 }
344}
345
diff --git a/module.desktop.in b/module.desktop.in
index 526f8ec..e4ec51e 100644
--- a/module.desktop.in
+++ b/module.desktop.in
@@ -6,7 +6,6 @@ Name[eo]=Vetero
6Name[hu]=Időjárás 6Name[hu]=Időjárás
7Name[fr]=Météo 7Name[fr]=Météo
8Name[el]=Καιρός 8Name[el]=Καιρός
9Name[pt]=Metereologia
10Icon=weather 9Icon=weather
11Comment=<title>Weather Gadget</title><br>A weather gadget. 10Comment=<title>Weather Gadget</title><br>A weather gadget.
12Comment[cs]=<title>Gadget na počasí</title><br>Zobrazí aktuální počasí. 11Comment[cs]=<title>Gadget na počasí</title><br>Zobrazí aktuální počasí.
@@ -15,4 +14,3 @@ Comment[hu]=<title>Időjárás modul</title><br>Az aktuális, helyi időjárást
15Comment[it]=<title>Modulo Weather</title><br>Un modulo per le condizioni meteo. 14Comment[it]=<title>Modulo Weather</title><br>Un modulo per le condizioni meteo.
16Comment[fr]=<title>Gadget Météo</title><br>Affiche la météo actuelle. 15Comment[fr]=<title>Gadget Météo</title><br>Affiche la météo actuelle.
17Comment[el]=<title>Συστατικό-Καιρός</title><br>Ένα συστατικό που δείχνει τις καιρικές συνθήκες. 16Comment[el]=<title>Συστατικό-Καιρός</title><br>Ένα συστατικό που δείχνει τις καιρικές συνθήκες.
18Comment[pt]=<title>Gadget Metereológico</title><br>Um gadget para previsões metereológicas \ No newline at end of file
diff --git a/src/Makefile.am b/src/Makefile.am
index e7b7b8d..0e1e124 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -3,4 +3,4 @@ MAINTAINERCLEANFILES = Makefile.in aclocal.m4 config.guess config.h.in \
3 config.sub configure depcomp install-sh ltmain.sh \ 3 config.sub configure depcomp install-sh ltmain.sh \
4 missing module.desktop config.rpath mkinstalldirs 4 missing module.desktop config.rpath mkinstalldirs
5 5
6SUBDIRS = lib plugins 6SUBDIRS = lib plugins bin
diff --git a/src/bin/Makefile.am b/src/bin/Makefile.am
new file mode 100644
index 0000000..90a45a9
--- /dev/null
+++ b/src/bin/Makefile.am
@@ -0,0 +1,17 @@
1
2MAINTAINERCLEANFILES = Makefile.in
3
4AM_CPPFLAGS = \
5-I$(top_srcdir) \
6-I$(top_srcdir)/src/lib \
7-DPACKAGE_BIN_DIR=\"$(bindir)\" \
8-DPACKAGE_LIB_DIR=\"$(libdir)\" \
9-DPACKAGE_DATA_DIR=\"$(datadir)/$(PACKAGE)\" \
10@E_CFLAGS@
11
12bin_PROGRAMS = eweather_test
13
14eweather_test_SOURCES = eweather_test.c
15
16eweather_test_LDADD = @E_LIBS@ $(top_builddir)/src/lib/libeweather.la
17
diff --git a/src/bin/eweather_test.c b/src/bin/eweather_test.c
new file mode 100644
index 0000000..9c5fda6
--- /dev/null
+++ b/src/bin/eweather_test.c
@@ -0,0 +1,102 @@
1
2#include <stdlib.h>
3#include <stdio.h>
4#include <string.h>
5
6#include <Evas.h>
7#include <Ecore.h>
8#include <Ecore_Evas.h>
9#include <Edje.h>
10
11#include "EWeather_Smart.h"
12
13Ecore_Evas *ecore_evas;
14Evas *evas;
15Evas_Object *ow;
16EWeather *eweather;
17
18int i_theme = 0;
19static const char* _themes[] =
20{
21 PACKAGE_DATA_DIR"/default/theme.edj",
22 PACKAGE_DATA_DIR"/simple/theme.edj"
23};
24
25
26 static void
27_resize_cb(Ecore_Evas *ee)
28{
29 Evas_Coord w, h;
30
31 evas_output_viewport_get(evas, NULL, NULL, &w, &h);
32 evas_object_resize(ow, w, h);
33}
34
35 static void
36_delete_request_cb(Ecore_Evas *ee)
37{
38 ecore_main_loop_quit();
39}
40
41 static void
42_key_up_cb(void *data, Evas *evas, Evas_Object *o_day, void *event)
43{
44 i_theme = (i_theme + 1 ) %2;
45
46 printf("Set theme : %s\n", _themes[i_theme]);
47 eweather_theme_set(ow, _themes[i_theme]);
48}
49
50
51int main(int argc, char **argv)
52{
53 Eina_Array *array;
54 Eina_Module *m;
55 int i;
56 Eina_Array_Iterator it;
57
58 eina_init();
59
60 edje_init();
61 edje_frametime_set(1.0 / 30.0);
62
63 if (!ecore_evas_init()) return -1;
64 ecore_evas = ecore_evas_new(NULL, 0, 0, 400, 600, NULL);
65 if (!ecore_evas) return -1;
66 ecore_evas_callback_delete_request_set(ecore_evas, _delete_request_cb);
67
68 ecore_evas_callback_resize_set(ecore_evas, _resize_cb);
69 ecore_evas_title_set(ecore_evas, "EWeather Test Program");
70 ecore_evas_name_class_set(ecore_evas, "eweather_test", "main");
71 ecore_evas_show(ecore_evas);
72 evas = ecore_evas_get(ecore_evas);
73
74 //eweather object
75 ow = eweather_object_add(evas);
76 eweather = eweather_object_eweather_get(ow);
77 evas_object_show(ow);
78 _resize_cb(ecore_evas);
79
80 array = eweather_plugins_list_get(eweather);
81
82 EINA_ARRAY_ITER_NEXT(array, i, m, it)
83 {
84 if(!strcmp(eweather_plugin_name_get(eweather, i), "Test"))
85 {
86 eweather_plugin_set(eweather, m);
87 break;
88 }
89 }
90
91 evas_object_focus_set(ow, EINA_TRUE);
92 evas_object_event_callback_add(ow, EVAS_CALLBACK_KEY_UP,
93 _key_up_cb, NULL);
94
95 printf("Press any key to change the theme\n");
96 //
97
98 ecore_main_loop_begin();
99
100 return 1;
101}
102
diff --git a/src/lib/EWeather_Smart.h b/src/lib/EWeather_Smart.h
index 90c4222..362b7fe 100644
--- a/src/lib/EWeather_Smart.h
+++ b/src/lib/EWeather_Smart.h
@@ -19,5 +19,6 @@ EAPI Evas_Object * eweather_object_add(Evas *evas);
19EAPI const char * eweather_object_signal_type_get(EWeather_Type type); 19EAPI const char * eweather_object_signal_type_get(EWeather_Type type);
20EAPI EWeather * eweather_object_eweather_get(Evas_Object *obj); 20EAPI EWeather * eweather_object_eweather_get(Evas_Object *obj);
21EAPI void eweather_object_mode_set(Evas_Object *obj, EWeather_Object_Mode mode); 21EAPI void eweather_object_mode_set(Evas_Object *obj, EWeather_Object_Mode mode);
22EAPI void eweather_theme_set(Evas_Object *obj, const char *theme);
22 23
23#endif 24#endif
diff --git a/src/lib/eweather_smart.c b/src/lib/eweather_smart.c
index 6175d5b..3c072ce 100644
--- a/src/lib/eweather_smart.c
+++ b/src/lib/eweather_smart.c
@@ -13,6 +13,7 @@ struct _Smart_Data
13 Evas_Object *main; //main weather object 13 Evas_Object *main; //main weather object
14 int current_day; 14 int current_day;
15 EWeather_Object_Mode mode; 15 EWeather_Object_Mode mode;
16 const char *theme; //eina stringshare
16 17
17 struct 18 struct
18 { 19 {
@@ -120,6 +121,27 @@ EWeather *eweather_object_eweather_get(Evas_Object *obj)
120 return sd->eweather; 121 return sd->eweather;
121} 122}
122 123
124void eweather_theme_set(Evas_Object *obj, const char *theme)
125{
126 Eina_List *l;
127 Evas_Object *o, *_obj;
128 Smart_Data *sd = evas_object_smart_data_get(obj);
129 if(!sd) return ;
130
131 eina_stringshare_del(sd->theme);
132 sd->theme = eina_stringshare_add(theme);
133
134 edje_object_file_set(sd->obj, sd->theme, "main");
135 edje_object_file_set(sd->main, sd->theme, "weather");
136 EINA_LIST_FOREACH(sd->objs, l, _obj)
137 edje_object_file_set(_obj, sd->theme, "weather");
138
139 int mode = sd->mode;
140 sd->mode = -1; //No mode
141 eweather_object_mode_set(obj, mode);
142
143 _eweather_update_cb(obj, sd->eweather);
144}
123 145
124void eweather_object_mode_set(Evas_Object *obj, EWeather_Object_Mode mode) 146void eweather_object_mode_set(Evas_Object *obj, EWeather_Object_Mode mode)
125{ 147{
@@ -173,7 +195,6 @@ _mouse_up_cb(void *data, Evas *evas, Evas_Object *o_day, void *event)
173 if (!sd) return; 195 if (!sd) return;
174 196
175 if(ev->button != 1) return ; 197 if(ev->button != 1) return ;
176
177 sd->thumbscroll.moved = EINA_TRUE; 198 sd->thumbscroll.moved = EINA_TRUE;
178 if(sd->thumbscroll.is) 199 if(sd->thumbscroll.is)
179 { 200 {
@@ -212,8 +233,8 @@ _mouse_down_cb(void *data, Evas *evas, Evas_Object *o_day, void *event)
212 Evas_Object *obj = data; 233 Evas_Object *obj = data;
213 Evas_Event_Mouse_Down *ev = (Evas_Event_Mouse_Down*) event; 234 Evas_Event_Mouse_Down *ev = (Evas_Event_Mouse_Down*) event;
214 Smart_Data *sd = evas_object_smart_data_get(obj); 235 Smart_Data *sd = evas_object_smart_data_get(obj);
215 if (!sd) return;
216 236
237 if (!sd) return;
217 if(ev->button != 1) return ; 238 if(ev->button != 1) return ;
218 239
219 sd->thumbscroll.moved = EINA_FALSE; 240 sd->thumbscroll.moved = EINA_FALSE;
@@ -286,7 +307,7 @@ static void _eweather_update_cb(void *data, EWeather *eweather)
286 if(!o_day) 307 if(!o_day)
287 { 308 {
288 o_day = edje_object_add(evas_object_evas_get(obj)); 309 o_day = edje_object_add(evas_object_evas_get(obj));
289 edje_object_file_set(o_day, PACKAGE_DATA_DIR"/theme.edj", "weather"); 310 edje_object_file_set(o_day, sd->theme, "weather");
290 evas_object_smart_member_add(o_day, obj); 311 evas_object_smart_member_add(o_day, obj);
291 evas_object_show(o_day);