diff options
Diffstat (limited to '')
29 files changed, 4797 insertions, 0 deletions
diff --git a/libraries/edje/src/examples/Makefile.am b/libraries/edje/src/examples/Makefile.am new file mode 100644 index 0000000..20e2c81 --- /dev/null +++ b/libraries/edje/src/examples/Makefile.am | |||
@@ -0,0 +1,107 @@ | |||
1 | MAINTAINERCLEANFILES = Makefile.in | ||
2 | |||
3 | pkglibdir = $(datadir)/$(PACKAGE)/examples | ||
4 | if ENABLE_MULTISENSE | ||
5 | MULTISENSE_EDC_FILE = multisense.edc | ||
6 | SND_DIR = -sd $(srcdir) | ||
7 | endif | ||
8 | #put here all EDCs one needs to the examples | ||
9 | EDCS = basic.edc \ | ||
10 | swallow.edc \ | ||
11 | text.edc \ | ||
12 | table.edc \ | ||
13 | box.edc \ | ||
14 | drag.edc \ | ||
15 | signals-messages.edc \ | ||
16 | color-class.edc \ | ||
17 | perspective.edc \ | ||
18 | animations.edc \ | ||
19 | lua_script.edc \ | ||
20 | sigtest.edc \ | ||
21 | $(MULTISENSE_EDC_FILE) | ||
22 | |||
23 | filesdir = $(datadir)/$(PACKAGE)/examples | ||
24 | files_DATA = | ||
25 | |||
26 | if BUILD_EXAMPLES | ||
27 | |||
28 | AM_CPPFLAGS = \ | ||
29 | -I. \ | ||
30 | -I$(top_srcdir)/src/lib \ | ||
31 | -I$(top_srcdir)/src/lib/include \ | ||
32 | -DPACKAGE_BIN_DIR=\"$(bindir)\" \ | ||
33 | -DPACKAGE_LIB_DIR=\"$(libdir)\" \ | ||
34 | -DPACKAGE_DATA_DIR=\"$(datadir)/$(PACKAGE)\" \ | ||
35 | -DPACKAGE_EXAMPLES_DIR=\"$(datadir)/$(PACKAGE)/examples\" | ||
36 | |||
37 | pkglib_PROGRAMS = | ||
38 | |||
39 | #the ones using ecore_evas follow | ||
40 | AM_CPPFLAGS += @EDJE_CFLAGS@ | ||
41 | |||
42 | pkglib_PROGRAMS += \ | ||
43 | edje-basic \ | ||
44 | edje-swallow \ | ||
45 | edje-text \ | ||
46 | edje-table \ | ||
47 | edje-box \ | ||
48 | edje-box2 \ | ||
49 | edje-drag\ | ||
50 | edje-signals-messages \ | ||
51 | edje-color-class \ | ||
52 | edje-perspective \ | ||
53 | edje-animations \ | ||
54 | sigtest | ||
55 | |||
56 | LDADD = $(top_builddir)/src/lib/libedje.la @EDJE_LIBS@ | ||
57 | |||
58 | .edc.edj: | ||
59 | $(edje_cc) -v -id $(srcdir) $(SND_DIR) $< $(builddir)/$(@F) | ||
60 | |||
61 | EDJS = $(EDCS:%.edc=%.edj) | ||
62 | |||
63 | files_DATA += $(EDJS) | ||
64 | |||
65 | endif # if BUILD_EXAMPLES | ||
66 | |||
67 | if INSTALL_EXAMPLES | ||
68 | |||
69 | #put here additional data when installing examples | ||
70 | files_DATA += \ | ||
71 | $(srcdir)/bubble.png \ | ||
72 | $(srcdir)/red.png \ | ||
73 | $(srcdir)/test.png \ | ||
74 | $(srcdir)/Vera.ttf | ||
75 | |||
76 | files_DATA += \ | ||
77 | $(EDCS) \ | ||
78 | $(srcdir)/edje-basic.c \ | ||
79 | $(srcdir)/edje-swallow.c \ | ||
80 | $(srcdir)/edje-text.c \ | ||
81 | $(srcdir)/edje-table.c \ | ||
82 | $(srcdir)/edje-box.c \ | ||
83 | $(srcdir)/edje-box2.c \ | ||
84 | $(srcdir)/edje-drag.c \ | ||
85 | $(srcdir)/edje-signals-messages.c \ | ||
86 | $(srcdir)/edje-color-class.c \ | ||
87 | $(srcdir)/edje-perspective.c \ | ||
88 | $(srcdir)/edje-animations.c \ | ||
89 | $(srcdir)/sigtest.c | ||
90 | endif | ||
91 | |||
92 | EXTRA_DIST = $(EDCS) \ | ||
93 | $(srcdir)/bubble.png \ | ||
94 | $(srcdir)/red.png \ | ||
95 | $(srcdir)/test.png \ | ||
96 | $(srcdir)/edje-basic.c \ | ||
97 | $(srcdir)/edje-swallow.c \ | ||
98 | $(srcdir)/edje-text.c \ | ||
99 | $(srcdir)/edje-table.c \ | ||
100 | $(srcdir)/edje-box.c \ | ||
101 | $(srcdir)/edje-box2.c \ | ||
102 | $(srcdir)/edje-drag.c \ | ||
103 | $(srcdir)/edje-signals-messages.c \ | ||
104 | $(srcdir)/edje-color-class.c \ | ||
105 | $(srcdir)/edje-perspective.c \ | ||
106 | $(srcdir)/edje-animations.c \ | ||
107 | $(srcdir)/sigtest.c | ||
diff --git a/libraries/edje/src/examples/Makefile.in b/libraries/edje/src/examples/Makefile.in new file mode 100644 index 0000000..bde628f --- /dev/null +++ b/libraries/edje/src/examples/Makefile.in | |||
@@ -0,0 +1,827 @@ | |||
1 | # Makefile.in generated by automake 1.11.1 from Makefile.am. | ||
2 | # @configure_input@ | ||
3 | |||
4 | # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, | ||
5 | # 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation, | ||
6 | # Inc. | ||
7 | # This Makefile.in is free software; the Free Software Foundation | ||
8 | # gives unlimited permission to copy and/or distribute it, | ||
9 | # with or without modifications, as long as this notice is preserved. | ||
10 | |||
11 | # This program is distributed in the hope that it will be useful, | ||
12 | # but WITHOUT ANY WARRANTY, to the extent permitted by law; without | ||
13 | # even the implied warranty of MERCHANTABILITY or FITNESS FOR A | ||
14 | # PARTICULAR PURPOSE. | ||
15 | |||
16 | @SET_MAKE@ | ||
17 | |||
18 | |||
19 | VPATH = @srcdir@ | ||
20 | pkgdatadir = $(datadir)/@PACKAGE@ | ||
21 | pkgincludedir = $(includedir)/@PACKAGE@ | ||
22 | pkglibexecdir = $(libexecdir)/@PACKAGE@ | ||
23 | am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd | ||
24 | install_sh_DATA = $(install_sh) -c -m 644 | ||
25 | install_sh_PROGRAM = $(install_sh) -c | ||
26 | install_sh_SCRIPT = $(install_sh) -c | ||
27 | INSTALL_HEADER = $(INSTALL_DATA) | ||
28 | transform = $(program_transform_name) | ||
29 | NORMAL_INSTALL = : | ||
30 | PRE_INSTALL = : | ||
31 | POST_INSTALL = : | ||
32 | NORMAL_UNINSTALL = : | ||
33 | PRE_UNINSTALL = : | ||
34 | POST_UNINSTALL = : | ||
35 | build_triplet = @build@ | ||
36 | host_triplet = @host@ | ||
37 | @BUILD_EXAMPLES_TRUE@pkglib_PROGRAMS = edje-basic$(EXEEXT) \ | ||
38 | @BUILD_EXAMPLES_TRUE@ edje-swallow$(EXEEXT) edje-text$(EXEEXT) \ | ||
39 | @BUILD_EXAMPLES_TRUE@ edje-table$(EXEEXT) edje-box$(EXEEXT) \ | ||
40 | @BUILD_EXAMPLES_TRUE@ edje-box2$(EXEEXT) edje-drag$(EXEEXT) \ | ||
41 | @BUILD_EXAMPLES_TRUE@ edje-signals-messages$(EXEEXT) \ | ||
42 | @BUILD_EXAMPLES_TRUE@ edje-color-class$(EXEEXT) \ | ||
43 | @BUILD_EXAMPLES_TRUE@ edje-perspective$(EXEEXT) \ | ||
44 | @BUILD_EXAMPLES_TRUE@ edje-animations$(EXEEXT) sigtest$(EXEEXT) | ||
45 | @BUILD_EXAMPLES_TRUE@am__append_1 = $(EDJS) | ||
46 | |||
47 | #put here additional data when installing examples | ||
48 | @INSTALL_EXAMPLES_TRUE@am__append_2 = $(srcdir)/bubble.png \ | ||
49 | @INSTALL_EXAMPLES_TRUE@ $(srcdir)/red.png $(srcdir)/test.png \ | ||
50 | @INSTALL_EXAMPLES_TRUE@ $(srcdir)/Vera.ttf $(EDCS) \ | ||
51 | @INSTALL_EXAMPLES_TRUE@ $(srcdir)/edje-basic.c \ | ||
52 | @INSTALL_EXAMPLES_TRUE@ $(srcdir)/edje-swallow.c \ | ||
53 | @INSTALL_EXAMPLES_TRUE@ $(srcdir)/edje-text.c \ | ||
54 | @INSTALL_EXAMPLES_TRUE@ $(srcdir)/edje-table.c \ | ||
55 | @INSTALL_EXAMPLES_TRUE@ $(srcdir)/edje-box.c \ | ||
56 | @INSTALL_EXAMPLES_TRUE@ $(srcdir)/edje-box2.c \ | ||
57 | @INSTALL_EXAMPLES_TRUE@ $(srcdir)/edje-drag.c \ | ||
58 | @INSTALL_EXAMPLES_TRUE@ $(srcdir)/edje-signals-messages.c \ | ||
59 | @INSTALL_EXAMPLES_TRUE@ $(srcdir)/edje-color-class.c \ | ||
60 | @INSTALL_EXAMPLES_TRUE@ $(srcdir)/edje-perspective.c \ | ||
61 | @INSTALL_EXAMPLES_TRUE@ $(srcdir)/edje-animations.c \ | ||
62 | @INSTALL_EXAMPLES_TRUE@ $(srcdir)/sigtest.c | ||
63 | subdir = src/examples | ||
64 | DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in | ||
65 | ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 | ||
66 | am__aclocal_m4_deps = $(top_srcdir)/m4/ac_attribute.m4 \ | ||
67 | $(top_srcdir)/m4/efl_binary.m4 \ | ||
68 | $(top_srcdir)/m4/efl_coverage.m4 \ | ||
69 | $(top_srcdir)/m4/efl_doxygen.m4 \ | ||
70 | $(top_srcdir)/m4/efl_path_max.m4 $(top_srcdir)/m4/efl_tests.m4 \ | ||
71 | $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \ | ||
72 | $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ | ||
73 | $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/configure.ac | ||
74 | am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ | ||
75 | $(ACLOCAL_M4) | ||
76 | mkinstalldirs = $(install_sh) -d | ||
77 | CONFIG_HEADER = $(top_builddir)/config.h | ||
78 | CONFIG_CLEAN_FILES = | ||
79 | CONFIG_CLEAN_VPATH_FILES = | ||
80 | am__installdirs = "$(DESTDIR)$(pkglibdir)" "$(DESTDIR)$(filesdir)" | ||
81 | PROGRAMS = $(pkglib_PROGRAMS) | ||
82 | edje_animations_SOURCES = edje-animations.c | ||
83 | edje_animations_OBJECTS = edje-animations.$(OBJEXT) | ||
84 | edje_animations_LDADD = $(LDADD) | ||
85 | @BUILD_EXAMPLES_TRUE@edje_animations_DEPENDENCIES = \ | ||
86 | @BUILD_EXAMPLES_TRUE@ $(top_builddir)/src/lib/libedje.la | ||
87 | AM_V_lt = $(am__v_lt_$(V)) | ||
88 | am__v_lt_ = $(am__v_lt_$(AM_DEFAULT_VERBOSITY)) | ||
89 | am__v_lt_0 = --silent | ||
90 | edje_basic_SOURCES = edje-basic.c | ||
91 | edje_basic_OBJECTS = edje-basic.$(OBJEXT) | ||
92 | edje_basic_LDADD = $(LDADD) | ||
93 | @BUILD_EXAMPLES_TRUE@edje_basic_DEPENDENCIES = \ | ||
94 | @BUILD_EXAMPLES_TRUE@ $(top_builddir)/src/lib/libedje.la | ||
95 | edje_box_SOURCES = edje-box.c | ||
96 | edje_box_OBJECTS = edje-box.$(OBJEXT) | ||
97 | edje_box_LDADD = $(LDADD) | ||
98 | @BUILD_EXAMPLES_TRUE@edje_box_DEPENDENCIES = \ | ||
99 | @BUILD_EXAMPLES_TRUE@ $(top_builddir)/src/lib/libedje.la | ||
100 | edje_box2_SOURCES = edje-box2.c | ||
101 | edje_box2_OBJECTS = edje-box2.$(OBJEXT) | ||
102 | edje_box2_LDADD = $(LDADD) | ||
103 | @BUILD_EXAMPLES_TRUE@edje_box2_DEPENDENCIES = \ | ||
104 | @BUILD_EXAMPLES_TRUE@ $(top_builddir)/src/lib/libedje.la | ||
105 | edje_color_class_SOURCES = edje-color-class.c | ||
106 | edje_color_class_OBJECTS = edje-color-class.$(OBJEXT) | ||
107 | edje_color_class_LDADD = $(LDADD) | ||
108 | @BUILD_EXAMPLES_TRUE@edje_color_class_DEPENDENCIES = \ | ||
109 | @BUILD_EXAMPLES_TRUE@ $(top_builddir)/src/lib/libedje.la | ||
110 | edje_drag_SOURCES = edje-drag.c | ||
111 | edje_drag_OBJECTS = edje-drag.$(OBJEXT) | ||
112 | edje_drag_LDADD = $(LDADD) | ||
113 | @BUILD_EXAMPLES_TRUE@edje_drag_DEPENDENCIES = \ | ||
114 | @BUILD_EXAMPLES_TRUE@ $(top_builddir)/src/lib/libedje.la | ||
115 | edje_perspective_SOURCES = edje-perspective.c | ||
116 | edje_perspective_OBJECTS = edje-perspective.$(OBJEXT) | ||
117 | edje_perspective_LDADD = $(LDADD) | ||
118 | @BUILD_EXAMPLES_TRUE@edje_perspective_DEPENDENCIES = \ | ||
119 | @BUILD_EXAMPLES_TRUE@ $(top_builddir)/src/lib/libedje.la | ||
120 | edje_signals_messages_SOURCES = edje-signals-messages.c | ||
121 | edje_signals_messages_OBJECTS = edje-signals-messages.$(OBJEXT) | ||
122 | edje_signals_messages_LDADD = $(LDADD) | ||
123 | @BUILD_EXAMPLES_TRUE@edje_signals_messages_DEPENDENCIES = \ | ||
124 | @BUILD_EXAMPLES_TRUE@ $(top_builddir)/src/lib/libedje.la | ||
125 | edje_swallow_SOURCES = edje-swallow.c | ||
126 | edje_swallow_OBJECTS = edje-swallow.$(OBJEXT) | ||
127 | edje_swallow_LDADD = $(LDADD) | ||
128 | @BUILD_EXAMPLES_TRUE@edje_swallow_DEPENDENCIES = \ | ||
129 | @BUILD_EXAMPLES_TRUE@ $(top_builddir)/src/lib/libedje.la | ||
130 | edje_table_SOURCES = edje-table.c | ||
131 | edje_table_OBJECTS = edje-table.$(OBJEXT) | ||
132 | edje_table_LDADD = $(LDADD) | ||
133 | @BUILD_EXAMPLES_TRUE@edje_table_DEPENDENCIES = \ | ||
134 | @BUILD_EXAMPLES_TRUE@ $(top_builddir)/src/lib/libedje.la | ||
135 | edje_text_SOURCES = edje-text.c | ||
136 | edje_text_OBJECTS = edje-text.$(OBJEXT) | ||
137 | edje_text_LDADD = $(LDADD) | ||
138 | @BUILD_EXAMPLES_TRUE@edje_text_DEPENDENCIES = \ | ||
139 | @BUILD_EXAMPLES_TRUE@ $(top_builddir)/src/lib/libedje.la | ||
140 | sigtest_SOURCES = sigtest.c | ||
141 | sigtest_OBJECTS = sigtest.$(OBJEXT) | ||
142 | sigtest_LDADD = $(LDADD) | ||
143 | @BUILD_EXAMPLES_TRUE@sigtest_DEPENDENCIES = \ | ||
144 | @BUILD_EXAMPLES_TRUE@ $(top_builddir)/src/lib/libedje.la | ||
145 | DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir) | ||
146 | depcomp = $(SHELL) $(top_srcdir)/depcomp | ||
147 | am__depfiles_maybe = depfiles | ||
148 | am__mv = mv -f | ||
149 | COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ | ||
150 | $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) | ||
151 | LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ | ||
152 | $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \ | ||
153 | $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ | ||
154 | $(AM_CFLAGS) $(CFLAGS) | ||
155 | AM_V_CC = $(am__v_CC_$(V)) | ||
156 | am__v_CC_ = $(am__v_CC_$(AM_DEFAULT_VERBOSITY)) | ||
157 | am__v_CC_0 = @echo " CC " $@; | ||
158 | AM_V_at = $(am__v_at_$(V)) | ||
159 | am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY)) | ||
160 | am__v_at_0 = @ | ||
161 | CCLD = $(CC) | ||
162 | LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ | ||
163 | $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ | ||
164 | $(AM_LDFLAGS) $(LDFLAGS) -o $@ | ||
165 | AM_V_CCLD = $(am__v_CCLD_$(V)) | ||
166 | am__v_CCLD_ = $(am__v_CCLD_$(AM_DEFAULT_VERBOSITY)) | ||
167 | am__v_CCLD_0 = @echo " CCLD " $@; | ||
168 | AM_V_GEN = $(am__v_GEN_$(V)) | ||
169 | am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY)) | ||
170 | am__v_GEN_0 = @echo " GEN " $@; | ||
171 | SOURCES = edje-animations.c edje-basic.c edje-box.c edje-box2.c \ | ||
172 | edje-color-class.c edje-drag.c edje-perspective.c \ | ||
173 | edje-signals-messages.c edje-swallow.c edje-table.c \ | ||
174 | edje-text.c sigtest.c | ||
175 | DIST_SOURCES = edje-animations.c edje-basic.c edje-box.c edje-box2.c \ | ||
176 | edje-color-class.c edje-drag.c edje-perspective.c \ | ||
177 | edje-signals-messages.c edje-swallow.c edje-table.c \ | ||
178 | edje-text.c sigtest.c | ||
179 | am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; | ||
180 | am__vpath_adj = case $$p in \ | ||
181 | $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ | ||
182 | *) f=$$p;; \ | ||
183 | esac; | ||
184 | am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`; | ||
185 | am__install_max = 40 | ||
186 | am__nobase_strip_setup = \ | ||
187 | srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'` | ||
188 | am__nobase_strip = \ | ||
189 | for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||" | ||
190 | am__nobase_list = $(am__nobase_strip_setup); \ | ||
191 | for p in $$list; do echo "$$p $$p"; done | \ | ||
192 | sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \ | ||
193 | $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \ | ||
194 | if (++n[$$2] == $(am__install_max)) \ | ||
195 | { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \ | ||
196 | END { for (dir in files) print dir, files[dir] }' | ||
197 | am__base_list = \ | ||
198 | sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ | ||
199 | sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | ||
200 | DATA = $(files_DATA) | ||
201 | ETAGS = etags | ||
202 | CTAGS = ctags | ||
203 | DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) | ||
204 | pkglibdir = $(datadir)/$(PACKAGE)/examples | ||
205 | ACLOCAL = @ACLOCAL@ | ||
206 | ALLOCA = @ALLOCA@ | ||
207 | ALSA_CFLAGS = @ALSA_CFLAGS@ | ||
208 | ALSA_LIBS = @ALSA_LIBS@ | ||
209 | AMTAR = @AMTAR@ | ||
210 | AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ | ||
211 | AR = @AR@ | ||
212 | AS = @AS@ | ||
213 | AUTOCONF = @AUTOCONF@ | ||
214 | AUTOHEADER = @AUTOHEADER@ | ||
215 | AUTOMAKE = @AUTOMAKE@ | ||
216 | AWK = @AWK@ | ||
217 | CC = @CC@ | ||
218 | CCDEPMODE = @CCDEPMODE@ | ||
219 | CFLAGS = @CFLAGS@ | ||
220 | CHECK_CFLAGS = @CHECK_CFLAGS@ | ||
221 | CHECK_LIBS = @CHECK_LIBS@ | ||
222 | CPP = @CPP@ | ||
223 | CPPFLAGS = @CPPFLAGS@ | ||
224 | CYGPATH_W = @CYGPATH_W@ | ||
225 | DEFS = @DEFS@ | ||
226 | DEPDIR = @DEPDIR@ | ||
227 | DLLTOOL = @DLLTOOL@ | ||
228 | DSYMUTIL = @DSYMUTIL@ | ||
229 | DUMPBIN = @DUMPBIN@ | ||
230 | ECHO_C = @ECHO_C@ | ||
231 | ECHO_N = @ECHO_N@ | ||
232 | ECHO_T = @ECHO_T@ | ||
233 | ECORE_IMF_CFLAGS = @ECORE_IMF_CFLAGS@ | ||
234 | ECORE_IMF_LIBS = @ECORE_IMF_LIBS@ | ||
235 | EDJE_CC_CFLAGS = @EDJE_CC_CFLAGS@ | ||
236 | EDJE_CC_LIBS = @EDJE_CC_LIBS@ | ||
237 | EDJE_CC_PRG = @EDJE_CC_PRG@ | ||
238 | EDJE_CFLAGS = @EDJE_CFLAGS@ | ||
239 | EDJE_DECC_CFLAGS = @EDJE_DECC_CFLAGS@ | ||
240 | EDJE_DECC_LIBS = @EDJE_DECC_LIBS@ | ||
241 | EDJE_DECC_PRG = @EDJE_DECC_PRG@ | ||
242 | EDJE_EXTERNAL_INSPECTOR_CFLAGS = @EDJE_EXTERNAL_INSPECTOR_CFLAGS@ | ||
243 | EDJE_EXTERNAL_INSPECTOR_LIBS = @EDJE_EXTERNAL_INSPECTOR_LIBS@ | ||
244 | EDJE_EXTERNAL_INSPECTOR_PRG = @EDJE_EXTERNAL_INSPECTOR_PRG@ | ||
245 | EDJE_INSPECTOR_CFLAGS = @EDJE_INSPECTOR_CFLAGS@ | ||
246 | EDJE_INSPECTOR_LIBS = @EDJE_INSPECTOR_LIBS@ | ||
247 | EDJE_INSPECTOR_PRG = @EDJE_INSPECTOR_PRG@ | ||
248 | EDJE_LIBS = @EDJE_LIBS@ | ||
249 | EDJE_PLAYER_CFLAGS = @EDJE_PLAYER_CFLAGS@ | ||
250 | EDJE_PLAYER_LIBS = @EDJE_PLAYER_LIBS@ | ||
251 | EDJE_PLAYER_PRG = @EDJE_PLAYER_PRG@ | ||
252 | EDJE_RECC_PRG = @EDJE_RECC_PRG@ | ||
253 | EFL_COVERAGE_CFLAGS = @EFL_COVERAGE_CFLAGS@ | ||
254 | EFL_COVERAGE_LIBS = @EFL_COVERAGE_LIBS@ | ||
255 | EFL_EDJE_BUILD = @EFL_EDJE_BUILD@ | ||
256 | EGREP = @EGREP@ | ||
257 | EVIL_CFLAGS = @EVIL_CFLAGS@ | ||
258 | EVIL_LIBS = @EVIL_LIBS@ | ||
259 | EXEEXT = @EXEEXT@ | ||
260 | FGREP = @FGREP@ | ||
261 | FLAC_CFLAGS = @FLAC_CFLAGS@ | ||
262 | FLAC_LIBS = @FLAC_LIBS@ | ||
263 | GREP = @GREP@ | ||
264 | INSTALL = @INSTALL@ | ||
265 | INSTALL_DATA = @INSTALL_DATA@ | ||
266 | INSTALL_PROGRAM = @INSTALL_PROGRAM@ | ||
267 | INSTALL_SCRIPT = @INSTALL_SCRIPT@ | ||
268 | INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ | ||
269 | LD = @LD@ | ||
270 | LDFLAGS = @LDFLAGS@ | ||
271 | LIBOBJS = @LIBOBJS@ | ||
272 | LIBS = @LIBS@ | ||
273 | LIBTOOL = @LIBTOOL@ | ||
274 | LIPO = @LIPO@ | ||
275 | LN_S = @LN_S@ | ||
276 | LTLIBOBJS = @LTLIBOBJS@ | ||
277 | LUA_CFLAGS = @LUA_CFLAGS@ | ||
278 | LUA_LIBS = @LUA_LIBS@ | ||
279 | MAKEINFO = @MAKEINFO@ | ||
280 | MINIMAL_CFLAGS = @MINIMAL_CFLAGS@ | ||
281 | MINIMAL_LIBS = @MINIMAL_LIBS@ | ||
282 | MKDIR_P = @MKDIR_P@ | ||
283 | MODULE_ARCH = @MODULE_ARCH@ | ||
284 | NM = @NM@ | ||
285 | NMEDIT = @NMEDIT@ | ||
286 | OBJDUMP = @OBJDUMP@ | ||
287 | OBJEXT = @OBJEXT@ | ||
288 | OTOOL = @OTOOL@ | ||
289 | OTOOL64 = @OTOOL64@ | ||
290 | PACKAGE = @PACKAGE@ | ||
291 | PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ | ||
292 | PACKAGE_NAME = @PACKAGE_NAME@ | ||
293 | PACKAGE_STRING = @PACKAGE_STRING@ | ||
294 | PACKAGE_TARNAME = @PACKAGE_TARNAME@ | ||
295 | PACKAGE_URL = @PACKAGE_URL@ | ||
296 | PACKAGE_VERSION = @PACKAGE_VERSION@ | ||
297 | PATH_SEPARATOR = @PATH_SEPARATOR@ | ||
298 | PKG_CONFIG = @PKG_CONFIG@ | ||
299 | PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ | ||
300 | PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ | ||
301 | PYTHON = @PYTHON@ | ||
302 | PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@ | ||
303 | PYTHON_PLATFORM = @PYTHON_PLATFORM@ | ||
304 | PYTHON_PREFIX = @PYTHON_PREFIX@ | ||
305 | PYTHON_VERSION = @PYTHON_VERSION@ | ||
306 | RANLIB = @RANLIB@ | ||
307 | REMIX_CFLAGS = @REMIX_CFLAGS@ | ||
308 | REMIX_LIBS = @REMIX_LIBS@ | ||
309 | REMIX_PLUGIN_DIR = @REMIX_PLUGIN_DIR@ | ||
310 | SED = @SED@ | ||
311 | SET_MAKE = @SET_MAKE@ | ||
312 | SHELL = @SHELL@ | ||
313 | SNDFILE_CFLAGS = @SNDFILE_CFLAGS@ | ||
314 | SNDFILE_LIBS = @SNDFILE_LIBS@ | ||
315 | STRIP = @STRIP@ | ||
316 | VERSION = @VERSION@ | ||
317 | VMAJ = @VMAJ@ | ||
318 | VORBISENC_CFLAGS = @VORBISENC_CFLAGS@ | ||
319 | VORBISENC_LIBS = @VORBISENC_LIBS@ | ||
320 | abs_builddir = @abs_builddir@ | ||
321 | abs_srcdir = @abs_srcdir@ | ||
322 | abs_top_builddir = @abs_top_builddir@ | ||
323 | abs_top_srcdir = @abs_top_srcdir@ | ||
324 | ac_ct_CC = @ac_ct_CC@ | ||
325 | ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ | ||
326 | am__include = @am__include@ | ||
327 | am__leading_dot = @am__leading_dot@ | ||
328 | am__quote = @am__quote@ | ||
329 | am__tar = @am__tar@ | ||
330 | am__untar = @am__untar@ | ||
331 | bindir = @bindir@ | ||
332 | build = @build@ | ||
333 | build_alias = @build_alias@ | ||
334 | build_cpu = @build_cpu@ | ||
335 | build_os = @build_os@ | ||
336 | build_vendor = @build_vendor@ | ||
337 | builddir = @builddir@ | ||
338 | datadir = @datadir@ | ||
339 | datarootdir = @datarootdir@ | ||
340 | docdir = @docdir@ | ||
341 | dvidir = @dvidir@ | ||
342 | edje_cc = @edje_cc@ | ||
343 | efl_doxygen = @efl_doxygen@ | ||
344 | efl_have_doxygen = @efl_have_doxygen@ | ||
345 | exec_prefix = @exec_prefix@ | ||
346 | have_lcov = @have_lcov@ | ||
347 | host = @host@ | ||
348 | host_alias = @host_alias@ | ||
349 | host_cpu = @host_cpu@ | ||
350 | host_os = @host_os@ | ||
351 | host_vendor = @host_vendor@ | ||
352 | htmldir = @htmldir@ | ||
353 | includedir = @includedir@ | ||
354 | infodir = @infodir@ | ||
355 | install_sh = @install_sh@ | ||
356 | libdir = @libdir@ | ||
357 | libexecdir = @libexecdir@ | ||
358 | localedir = @localedir@ | ||
359 | localstatedir = @localstatedir@ | ||
360 | lt_ECHO = @lt_ECHO@ | ||
361 | lt_enable_auto_import = @lt_enable_auto_import@ | ||
362 | lua_libs = @lua_libs@ | ||
363 | mandir = @mandir@ | ||
364 | mkdir_p = @mkdir_p@ | ||
365 | oldincludedir = @oldincludedir@ | ||
366 | pdfdir = @pdfdir@ | ||
367 | pkgconfig_requires_private = @pkgconfig_requires_private@ | ||
368 | pkgpyexecdir = @pkgpyexecdir@ | ||
369 | pkgpythondir = @pkgpythondir@ | ||
370 | prefix = @prefix@ | ||
371 | program_transform_name = @program_transform_name@ | ||
372 | psdir = @psdir@ | ||
373 | pyexecdir = @pyexecdir@ | ||
374 | pythondir = @pythondir@ | ||
375 | release_info = @release_info@ | ||
376 | requirement_edje = @requirement_edje@ | ||
377 | sbindir = @sbindir@ | ||
378 | sharedstatedir = @sharedstatedir@ | ||
379 | srcdir = @srcdir@ | ||
380 | sysconfdir = @sysconfdir@ | ||
381 | target_alias = @target_alias@ | ||
382 | top_build_prefix = @top_build_prefix@ | ||
383 | top_builddir = @top_builddir@ | ||
384 | top_srcdir = @top_srcdir@ | ||
385 | version_info = @version_info@ | ||
386 | vimdir = @vimdir@ | ||
387 | MAINTAINERCLEANFILES = Makefile.in | ||
388 | @ENABLE_MULTISENSE_TRUE@MULTISENSE_EDC_FILE = multisense.edc | ||
389 | @ENABLE_MULTISENSE_TRUE@SND_DIR = -sd $(srcdir) | ||
390 | #put here all EDCs one needs to the examples | ||
391 | EDCS = basic.edc \ | ||
392 | swallow.edc \ | ||
393 | text.edc \ | ||
394 | table.edc \ | ||
395 | box.edc \ | ||
396 | drag.edc \ | ||
397 | signals-messages.edc \ | ||
398 | color-class.edc \ | ||
399 | perspective.edc \ | ||
400 | animations.edc \ | ||
401 | lua_script.edc \ | ||
402 | sigtest.edc \ | ||
403 | $(MULTISENSE_EDC_FILE) | ||
404 | |||
405 | filesdir = $(datadir)/$(PACKAGE)/examples | ||
406 | files_DATA = $(am__append_1) $(am__append_2) | ||
407 | |||
408 | #the ones using ecore_evas follow | ||
409 | @BUILD_EXAMPLES_TRUE@AM_CPPFLAGS = -I. -I$(top_srcdir)/src/lib \ | ||
410 | @BUILD_EXAMPLES_TRUE@ -I$(top_srcdir)/src/lib/include \ | ||
411 | @BUILD_EXAMPLES_TRUE@ -DPACKAGE_BIN_DIR=\"$(bindir)\" \ | ||
412 | @BUILD_EXAMPLES_TRUE@ -DPACKAGE_LIB_DIR=\"$(libdir)\" \ | ||
413 | @BUILD_EXAMPLES_TRUE@ -DPACKAGE_DATA_DIR=\"$(datadir)/$(PACKAGE)\" \ | ||
414 | @BUILD_EXAMPLES_TRUE@ -DPACKAGE_EXAMPLES_DIR=\"$(datadir)/$(PACKAGE)/examples\" \ | ||
415 | @BUILD_EXAMPLES_TRUE@ @EDJE_CFLAGS@ $(am__empty) | ||
416 | @BUILD_EXAMPLES_TRUE@LDADD = $(top_builddir)/src/lib/libedje.la @EDJE_LIBS@ | ||
417 | @BUILD_EXAMPLES_TRUE@EDJS = $(EDCS:%.edc=%.edj) | ||
418 | EXTRA_DIST = $(EDCS) \ | ||
419 | $(srcdir)/bubble.png \ | ||
420 | $(srcdir)/red.png \ | ||
421 | $(srcdir)/test.png \ | ||
422 | $(srcdir)/edje-basic.c \ | ||
423 | $(srcdir)/edje-swallow.c \ | ||
424 | $(srcdir)/edje-text.c \ | ||
425 | $(srcdir)/edje-table.c \ | ||
426 | $(srcdir)/edje-box.c \ | ||
427 | $(srcdir)/edje-box2.c \ | ||
428 | $(srcdir)/edje-drag.c \ | ||
429 | $(srcdir)/edje-signals-messages.c \ | ||
430 | $(srcdir)/edje-color-class.c \ | ||
431 | $(srcdir)/edje-perspective.c \ | ||
432 | $(srcdir)/edje-animations.c \ | ||
433 | $(srcdir)/sigtest.c | ||
434 | |||
435 | all: all-am | ||
436 | |||
437 | .SUFFIXES: | ||
438 | .SUFFIXES: .c .edc .edj .lo .o .obj | ||
439 | $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) | ||
440 | @for dep in $?; do \ | ||
441 | case '$(am__configure_deps)' in \ | ||
442 | *$$dep*) \ | ||
443 | ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ | ||
444 | && { if test -f $@; then exit 0; else break; fi; }; \ | ||
445 | exit 1;; \ | ||
446 | esac; \ | ||
447 | done; \ | ||
448 | echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu src/examples/Makefile'; \ | ||
449 | $(am__cd) $(top_srcdir) && \ | ||
450 | $(AUTOMAKE) --gnu src/examples/Makefile | ||
451 | .PRECIOUS: Makefile | ||
452 | Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status | ||
453 | @case '$?' in \ | ||
454 | *config.status*) \ | ||
455 | cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ | ||
456 | *) \ | ||
457 | echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ | ||
458 | cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ | ||
459 | esac; | ||
460 | |||
461 | $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) | ||
462 | cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh | ||
463 | |||
464 | $(top_srcdir)/configure: $(am__configure_deps) | ||
465 | cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh | ||
466 | $(ACLOCAL_M4): $(am__aclocal_m4_deps) | ||
467 | cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh | ||
468 | $(am__aclocal_m4_deps): | ||
469 | install-pkglibPROGRAMS: $(pkglib_PROGRAMS) | ||
470 | @$(NORMAL_INSTALL) | ||
471 | test -z "$(pkglibdir)" || $(MKDIR_P) "$(DESTDIR)$(pkglibdir)" | ||
472 | @list='$(pkglib_PROGRAMS)'; test -n "$(pkglibdir)" || list=; \ | ||
473 | for p in $$list; do echo "$$p $$p"; done | \ | ||
474 | sed 's/$(EXEEXT)$$//' | \ | ||
475 | while read p p1; do if test -f $$p || test -f $$p1; \ | ||
476 | then echo "$$p"; echo "$$p"; else :; fi; \ | ||
477 | done | \ | ||
478 | sed -e 'p;s,.*/,,;n;h' -e 's|.*|.|' \ | ||
479 | -e 'p;x;s,.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/' | \ | ||
480 | sed 'N;N;N;s,\n, ,g' | \ | ||
481 | $(AWK) 'BEGIN { files["."] = ""; dirs["."] = 1 } \ | ||
482 | { d=$$3; if (dirs[d] != 1) { print "d", d; dirs[d] = 1 } \ | ||
483 | if ($$2 == $$4) files[d] = files[d] " " $$1; \ | ||
484 | else { print "f", $$3 "/" $$4, $$1; } } \ | ||
485 | END { for (d in files) print "f", d, files[d] }' | \ | ||
486 | while read type dir files; do \ | ||
487 | if test "$$dir" = .; then dir=; else dir=/$$dir; fi; \ | ||
488 | test -z "$$files" || { \ | ||
489 | echo " $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL_PROGRAM) $$files '$(DESTDIR)$(pkglibdir)$$dir'"; \ | ||
490 | $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL_PROGRAM) $$files "$(DESTDIR)$(pkglibdir)$$dir" || exit $$?; \ | ||
491 | } \ | ||
492 | ; done | ||
493 | |||
494 | uninstall-pkglibPROGRAMS: | ||
495 | @$(NORMAL_UNINSTALL) | ||
496 | @list='$(pkglib_PROGRAMS)'; test -n "$(pkglibdir)" || list=; \ | ||
497 | files=`for p in $$list; do echo "$$p"; done | \ | ||
498 | sed -e 'h;s,^.*/,,;s/$(EXEEXT)$$//;$(transform)' \ | ||
499 | -e 's/$$/$(EXEEXT)/' `; \ | ||
500 | test -n "$$list" || exit 0; \ | ||
501 | echo " ( cd '$(DESTDIR)$(pkglibdir)' && rm -f" $$files ")"; \ | ||
502 | cd "$(DESTDIR)$(pkglibdir)" && rm -f $$files | ||
503 | |||
504 | clean-pkglibPROGRAMS: | ||
505 | @list='$(pkglib_PROGRAMS)'; test -n "$$list" || exit 0; \ | ||
506 | echo " rm -f" $$list; \ | ||
507 | rm -f $$list || exit $$?; \ | ||
508 | test -n "$(EXEEXT)" || exit 0; \ | ||
509 | list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \ | ||
510 | echo " rm -f" $$list; \ | ||
511 | rm -f $$list | ||
512 | edje-animations$(EXEEXT): $(edje_animations_OBJECTS) $(edje_animations_DEPENDENCIES) | ||
513 | @rm -f edje-animations$(EXEEXT) | ||
514 | $(AM_V_CCLD)$(LINK) $(edje_animations_OBJECTS) $(edje_animations_LDADD) $(LIBS) | ||
515 | edje-basic$(EXEEXT): $(edje_basic_OBJECTS) $(edje_basic_DEPENDENCIES) | ||
516 | @rm -f edje-basic$(EXEEXT) | ||
517 | $(AM_V_CCLD)$(LINK) $(edje_basic_OBJECTS) $(edje_basic_LDADD) $(LIBS) | ||
518 | edje-box$(EXEEXT): $(edje_box_OBJECTS) $(edje_box_DEPENDENCIES) | ||
519 | @rm -f edje-box$(EXEEXT) | ||
520 | $(AM_V_CCLD)$(LINK) $(edje_box_OBJECTS) $(edje_box_LDADD) $(LIBS) | ||
521 | edje-box2$(EXEEXT): $(edje_box2_OBJECTS) $(edje_box2_DEPENDENCIES) | ||
522 | @rm -f edje-box2$(EXEEXT) | ||
523 | $(AM_V_CCLD)$(LINK) $(edje_box2_OBJECTS) $(edje_box2_LDADD) $(LIBS) | ||
524 | edje-color-class$(EXEEXT): $(edje_color_class_OBJECTS) $(edje_color_class_DEPENDENCIES) | ||
525 | @rm -f edje-color-class$(EXEEXT) | ||
526 | $(AM_V_CCLD)$(LINK) $(edje_color_class_OBJECTS) $(edje_color_class_LDADD) $(LIBS) | ||
527 | edje-drag$(EXEEXT): $(edje_drag_OBJECTS) $(edje_drag_DEPENDENCIES) | ||
528 | @rm -f edje-drag$(EXEEXT) | ||
529 | $(AM_V_CCLD)$(LINK) $(edje_drag_OBJECTS) $(edje_drag_LDADD) $(LIBS) | ||
530 | edje-perspective$(EXEEXT): $(edje_perspective_OBJECTS) $(edje_perspective_DEPENDENCIES) | ||
531 | @rm -f edje-perspective$(EXEEXT) | ||
532 | $(AM_V_CCLD)$(LINK) $(edje_perspective_OBJECTS) $(edje_perspective_LDADD) $(LIBS) | ||
533 | edje-signals-messages$(EXEEXT): $(edje_signals_messages_OBJECTS) $(edje_signals_messages_DEPENDENCIES) | ||
534 | @rm -f edje-signals-messages$(EXEEXT) | ||
535 | $(AM_V_CCLD)$(LINK) $(edje_signals_messages_OBJECTS) $(edje_signals_messages_LDADD) $(LIBS) | ||
536 | edje-swallow$(EXEEXT): $(edje_swallow_OBJECTS) $(edje_swallow_DEPENDENCIES) | ||
537 | @rm -f edje-swallow$(EXEEXT) | ||
538 | $(AM_V_CCLD)$(LINK) $(edje_swallow_OBJECTS) $(edje_swallow_LDADD) $(LIBS) | ||
539 | edje-table$(EXEEXT): $(edje_table_OBJECTS) $(edje_table_DEPENDENCIES) | ||
540 | @rm -f edje-table$(EXEEXT) | ||
541 | $(AM_V_CCLD)$(LINK) $(edje_table_OBJECTS) $(edje_table_LDADD) $(LIBS) | ||
542 | edje-text$(EXEEXT): $(edje_text_OBJECTS) $(edje_text_DEPENDENCIES) | ||
543 | @rm -f edje-text$(EXEEXT) | ||
544 | $(AM_V_CCLD)$(LINK) $(edje_text_OBJECTS) $(edje_text_LDADD) $(LIBS) | ||
545 | sigtest$(EXEEXT): $(sigtest_OBJECTS) $(sigtest_DEPENDENCIES) | ||
546 | @rm -f sigtest$(EXEEXT) | ||
547 | $(AM_V_CCLD)$(LINK) $(sigtest_OBJECTS) $(sigtest_LDADD) $(LIBS) | ||
548 | |||
549 | mostlyclean-compile: | ||
550 | -rm -f *.$(OBJEXT) | ||
551 | |||
552 | distclean-compile: | ||
553 | -rm -f *.tab.c | ||
554 | |||
555 | @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/edje-animations.Po@am__quote@ | ||
556 | @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/edje-basic.Po@am__quote@ | ||
557 | @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/edje-box.Po@am__quote@ | ||
558 | @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/edje-box2.Po@am__quote@ | ||
559 | @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/edje-color-class.Po@am__quote@ | ||
560 | @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/edje-drag.Po@am__quote@ | ||
561 | @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/edje-perspective.Po@am__quote@ | ||
562 | @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/edje-signals-messages.Po@am__quote@ | ||
563 | @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/edje-swallow.Po@am__quote@ | ||
564 | @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/edje-table.Po@am__quote@ | ||
565 | @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/edje-text.Po@am__quote@ | ||
566 | @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sigtest.Po@am__quote@ | ||
567 | |||
568 | .c.o: | ||
569 | @am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< | ||
570 | @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po | ||
571 | @am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@ | ||
572 | @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ | ||
573 | @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ | ||
574 | @am__fastdepCC_FALSE@ $(COMPILE) -c $< | ||
575 | |||
576 | .c.obj: | ||
577 | @am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` | ||
578 | @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po | ||
579 | @am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@ | ||
580 | @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ | ||
581 | @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ | ||
582 | @am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'` | ||
583 | |||
584 | .c.lo: | ||
585 | @am__fastdepCC_TRUE@ $(AM_V_CC)$(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< | ||
586 | @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo | ||
587 | @am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@ | ||
588 | @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ | ||
589 | @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ | ||
590 | @am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $< | ||
591 | |||
592 | mostlyclean-libtool: | ||
593 | -rm -f *.lo | ||
594 | |||
595 | clean-libtool: | ||
596 | -rm -rf .libs _libs | ||
597 | install-filesDATA: $(files_DATA) | ||
598 | @$(NORMAL_INSTALL) | ||
599 | test -z "$(filesdir)" || $(MKDIR_P) "$(DESTDIR)$(filesdir)" | ||
600 | @list='$(files_DATA)'; test -n "$(filesdir)" || list=; \ | ||
601 | for p in $$list; do \ | ||
602 | if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ | ||
603 | echo "$$d$$p"; \ | ||
604 | done | $(am__base_list) | \ | ||
605 | while read files; do \ | ||
606 | echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(filesdir)'"; \ | ||
607 | $(INSTALL_DATA) $$files "$(DESTDIR)$(filesdir)" || exit $$?; \ | ||
608 | done | ||
609 | |||
610 | uninstall-filesDATA: | ||
611 | @$(NORMAL_UNINSTALL) | ||
612 | @list='$(files_DATA)'; test -n "$(filesdir)" || list=; \ | ||
613 | files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ | ||
614 | test -n "$$files" || exit 0; \ | ||
615 | echo " ( cd '$(DESTDIR)$(filesdir)' && rm -f" $$files ")"; \ | ||
616 | cd "$(DESTDIR)$(filesdir)" && rm -f $$files | ||
617 | |||
618 | ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) | ||
619 | list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ | ||
620 | unique=`for i in $$list; do \ | ||
621 | if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ | ||
622 | done | \ | ||
623 | $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ | ||
624 | END { if (nonempty) { for (i in files) print i; }; }'`; \ | ||
625 | mkid -fID $$unique | ||
626 | tags: TAGS | ||
627 | |||
628 | TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ | ||
629 | $(TAGS_FILES) $(LISP) | ||
630 | set x; \ | ||
631 | here=`pwd`; \ | ||
632 | list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ | ||
633 | unique=`for i in $$list; do \ | ||
634 | if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ | ||
635 | done | \ | ||
636 | $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ | ||
637 | END { if (nonempty) { for (i in files) print i; }; }'`; \ | ||
638 | shift; \ | ||
639 | if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ | ||
640 | test -n "$$unique" || unique=$$empty_fix; \ | ||
641 | if test $$# -gt 0; then \ | ||
642 | $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ | ||
643 | "$$@" $$unique; \ | ||
644 | else \ | ||
645 | $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ | ||
646 | $$unique; \ | ||
647 | fi; \ | ||
648 | fi | ||
649 | ctags: CTAGS | ||
650 | CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ | ||
651 | $(TAGS_FILES) $(LISP) | ||
652 | list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ | ||
653 | unique=`for i in $$list; do \ | ||
654 | if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ | ||
655 | done | \ | ||
656 | $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ | ||
657 | END { if (nonempty) { for (i in files) print i; }; }'`; \ | ||
658 | test -z "$(CTAGS_ARGS)$$unique" \ | ||
659 | || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ | ||
660 | $$unique | ||
661 | |||
662 | GTAGS: | ||
663 | here=`$(am__cd) $(top_builddir) && pwd` \ | ||
664 | && $(am__cd) $(top_srcdir) \ | ||
665 | && gtags -i $(GTAGS_ARGS) "$$here" | ||
666 | |||
667 | distclean-tags: | ||
668 | -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags | ||
669 | |||
670 | distdir: $(DISTFILES) | ||
671 | @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ | ||
672 | topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ | ||
673 | list='$(DISTFILES)'; \ | ||
674 | dist_files=`for file in $$list; do echo $$file; done | \ | ||
675 | sed -e "s|^$$srcdirstrip/||;t" \ | ||
676 | -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ | ||
677 | case $$dist_files in \ | ||
678 | */*) $(MKDIR_P) `echo "$$dist_files" | \ | ||
679 | sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ | ||
680 | sort -u` ;; \ | ||
681 | esac; \ | ||
682 | for file in $$dist_files; do \ | ||
683 | if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ | ||
684 | if test -d $$d/$$file; then \ | ||
685 | dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ | ||
686 | if test -d "$(distdir)/$$file"; then \ | ||
687 | find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ | ||
688 | fi; \ | ||
689 | if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ | ||
690 | cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ | ||
691 | find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ | ||
692 | fi; \ | ||
693 | cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ | ||
694 | else \ | ||
695 | test -f "$(distdir)/$$file" \ | ||
696 | || cp -p $$d/$$file "$(distdir)/$$file" \ | ||
697 | || exit 1; \ | ||
698 | fi; \ | ||
699 | done | ||
700 | check-am: all-am | ||
701 | check: check-am | ||
702 | all-am: Makefile $(PROGRAMS) $(DATA) | ||
703 | installdirs: | ||
704 | for dir in "$(DESTDIR)$(pkglibdir)" "$(DESTDIR)$(filesdir)"; do \ | ||
705 | test -z "$$dir" || $(MKDIR_P) "$$dir"; \ | ||
706 | done | ||
707 | install: install-am | ||
708 | install-exec: install-exec-am | ||
709 | install-data: install-data-am | ||
710 | uninstall: uninstall-am | ||
711 | |||
712 | install-am: all-am | ||
713 | @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am | ||
714 | |||
715 | installcheck: installcheck-am | ||
716 | install-strip: | ||
717 | $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ | ||
718 | install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ | ||
719 | `test -z '$(STRIP)' || \ | ||
720 | echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install | ||
721 | mostlyclean-generic: | ||
722 | |||
723 | clean-generic: | ||
724 | |||
725 | distclean-generic: | ||
726 | -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) | ||
727 | -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) | ||
728 | |||
729 | maintainer-clean-generic: | ||
730 | @echo "This command is intended for maintainers to use" | ||
731 | @echo "it deletes files that may require special tools to rebuild." | ||
732 | -test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES) | ||
733 | clean: clean-am | ||
734 | |||
735 | clean-am: clean-generic clean-libtool clean-pkglibPROGRAMS \ | ||
736 | mostlyclean-am | ||
737 | |||
738 | distclean: distclean-am | ||
739 | -rm -rf ./$(DEPDIR) | ||
740 | -rm -f Makefile | ||
741 | distclean-am: clean-am distclean-compile distclean-generic \ | ||
742 | distclean-tags | ||
743 | |||
744 | dvi: dvi-am | ||
745 | |||
746 | dvi-am: | ||
747 | |||
748 | html: html-am | ||
749 | |||
750 | html-am: | ||
751 | |||
752 | info: info-am | ||
753 | |||
754 | info-am: | ||
755 | |||
756 | install-data-am: install-filesDATA | ||
757 | |||
758 | install-dvi: install-dvi-am | ||
759 | |||
760 | install-dvi-am: | ||
761 | |||
762 | install-exec-am: install-pkglibPROGRAMS | ||
763 | |||
764 | install-html: install-html-am | ||
765 | |||
766 | install-html-am: | ||
767 | |||
768 | install-info: install-info-am | ||
769 | |||
770 | install-info-am: | ||
771 | |||
772 | install-man: | ||
773 | |||
774 | install-pdf: install-pdf-am | ||
775 | |||
776 | install-pdf-am: | ||
777 | |||
778 | install-ps: install-ps-am | ||
779 | |||
780 | install-ps-am: | ||
781 | |||
782 | installcheck-am: | ||
783 | |||
784 | maintainer-clean: maintainer-clean-am | ||
785 | -rm -rf ./$(DEPDIR) | ||
786 | -rm -f Makefile | ||
787 | maintainer-clean-am: distclean-am maintainer-clean-generic | ||
788 | |||
789 | mostlyclean: mostlyclean-am | ||
790 | |||
791 | mostlyclean-am: mostlyclean-compile mostlyclean-generic \ | ||
792 | mostlyclean-libtool | ||
793 | |||
794 | pdf: pdf-am | ||
795 | |||
796 | pdf-am: | ||
797 | |||
798 | ps: ps-am | ||
799 | |||
800 | ps-am: | ||
801 | |||
802 | uninstall-am: uninstall-filesDATA uninstall-pkglibPROGRAMS | ||
803 | |||
804 | .MAKE: install-am install-strip | ||
805 | |||
806 | .PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \ | ||
807 | clean-libtool clean-pkglibPROGRAMS ctags distclean \ | ||
808 | distclean-compile distclean-generic distclean-libtool \ | ||
809 | distclean-tags distdir dvi dvi-am html html-am info info-am \ | ||
810 | install install-am install-data install-data-am install-dvi \ | ||
811 | install-dvi-am install-exec install-exec-am install-filesDATA \ | ||
812 | install-html install-html-am install-info install-info-am \ | ||
813 | install-man install-pdf install-pdf-am install-pkglibPROGRAMS \ | ||
814 | install-ps install-ps-am install-strip installcheck \ | ||
815 | installcheck-am installdirs maintainer-clean \ | ||
816 | maintainer-clean-generic mostlyclean mostlyclean-compile \ | ||
817 | mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ | ||
818 | tags uninstall uninstall-am uninstall-filesDATA \ | ||
819 | uninstall-pkglibPROGRAMS | ||
820 | |||
821 | |||
822 | @BUILD_EXAMPLES_TRUE@.edc.edj: | ||
823 | @BUILD_EXAMPLES_TRUE@ $(edje_cc) -v -id $(srcdir) $(SND_DIR) $< $(builddir)/$(@F) | ||
824 | |||
825 | # Tell versions [3.59,3.63) of GNU make to not export all variables. | ||
826 | # Otherwise a system limit (for SysV at least) may be exceeded. | ||
827 | .NOEXPORT: | ||
diff --git a/libraries/edje/src/examples/animations.edc b/libraries/edje/src/examples/animations.edc new file mode 100644 index 0000000..f25296f --- /dev/null +++ b/libraries/edje/src/examples/animations.edc | |||
@@ -0,0 +1,93 @@ | |||
1 | collections { | ||
2 | group { | ||
3 | name: "animations_group"; | ||
4 | min: 100 80; | ||
5 | |||
6 | parts { | ||
7 | part { | ||
8 | name: "part_one"; | ||
9 | type: RECT; | ||
10 | scale: 1; | ||
11 | description { | ||
12 | min: 50 50; | ||
13 | state: "default" 0.0; | ||
14 | color: 0 0 0 255; /* black */ | ||
15 | rel1.relative: 0.0 0.0; | ||
16 | rel2.relative: 0.33 1.0; | ||
17 | } | ||
18 | description { | ||
19 | state: "invert" 1.0; | ||
20 | inherit: "default" 0.0; | ||
21 | rel1.relative: 0.0 0.0; | ||
22 | rel2.relative: 1.0 0.33; | ||
23 | } | ||
24 | } | ||
25 | |||
26 | part { | ||
27 | name: "part_two"; | ||
28 | type: RECT; | ||
29 | scale: 1; | ||
30 | description { | ||
31 | min: 50 50; | ||
32 | state: "default" 0.0; | ||
33 | color: 255 255 0 255; /* yellow */ | ||
34 | rel1.relative: 0.33 0.0; | ||
35 | rel2.relative: 0.66 1.0; | ||
36 | } | ||
37 | description { | ||
38 | state: "invert" 1.0; | ||
39 | inherit: "default" 0.0; | ||
40 | rel1.relative: 0.0 0.66; | ||
41 | rel2.relative: 1.0 1.0; | ||
42 | } | ||
43 | } | ||
44 | |||
45 | part { | ||
46 | name: "part_three"; | ||
47 | type: RECT; | ||
48 | description { | ||
49 | state: "default" 0.0; | ||
50 | color: 255 0 0 255; /* red */ | ||
51 | rel1.relative: 0.66 0.0; | ||
52 | rel2.relative: 1.0 1.0; | ||
53 | } | ||
54 | description { | ||
55 | state: "invert" 1.0; | ||
56 | inherit: "default" 0.0; | ||
57 | rel1.relative: 0.0 0.33; | ||
58 | rel2.relative: 1.0 0.66; | ||
59 | } | ||
60 | } | ||
61 | } | ||
62 | |||
63 | program { | ||
64 | signal: "load"; | ||
65 | source: ""; | ||
66 | in: 2.0 0.0; | ||
67 | after: "animation,state1"; | ||
68 | } | ||
69 | program { | ||
70 | name: "animation,state1"; | ||
71 | signal: "animation,start"; | ||
72 | source: ""; | ||
73 | in: 1.0 0.0; | ||
74 | action: STATE_SET "invert" 1.0; | ||
75 | target: "part_one"; | ||
76 | target: "part_two"; | ||
77 | target: "part_three"; | ||
78 | transition: LINEAR 0.6; | ||
79 | after: "animation,state2"; | ||
80 | } | ||
81 | program { | ||
82 | name: "animation,state2"; | ||
83 | signal: "animation,start"; | ||
84 | source: ""; | ||
85 | in: 1.0 0.0; | ||
86 | action: STATE_SET "default" 0.0; | ||
87 | target: "part_one"; | ||
88 | target: "part_two"; | ||
89 | target: "part_three"; | ||
90 | transition: LINEAR 0.6; | ||
91 | after: "animation,state1"; | ||
92 | } | ||
93 | } | ||
diff --git a/libraries/edje/src/examples/basic.edc b/libraries/edje/src/examples/basic.edc new file mode 100644 index 0000000..a708b50 --- /dev/null +++ b/libraries/edje/src/examples/basic.edc | |||
@@ -0,0 +1,39 @@ | |||
1 | collections { | ||
2 | group { | ||
3 | name: "example_group"; | ||
4 | max: 500 500; | ||
5 | min: 50 50; | ||
6 | |||
7 | data { | ||
8 | item: "example_data" "a string"; | ||
9 | } | ||
10 | |||
11 | parts { | ||
12 | part { | ||
13 | name: "part_one"; | ||
14 | type: RECT; | ||
15 | scale: 1; | ||
16 | description { | ||
17 | min: 50 50; | ||
18 | max: 50 50; | ||
19 | state: "default" 0.0; | ||
20 | color: 0 0 255 255; /* blue */ | ||
21 | rel1.relative: 0.0 0.0; | ||
22 | rel2.relative: 1.0 1.0; | ||
23 | } | ||
24 | } | ||
25 | |||
26 | part { | ||
27 | name: "part_two"; | ||
28 | type: RECT; | ||
29 | description { | ||
30 | state: "default" 0.0; | ||
31 | color: 0 255 0 255; /* green */ | ||
32 | rel1.relative: -1.0 -1.0; | ||
33 | rel2.relative: 0.0 0.0; | ||
34 | } | ||
35 | } | ||
36 | } | ||
37 | |||
38 | } | ||
39 | } | ||
diff --git a/libraries/edje/src/examples/box.edc b/libraries/edje/src/examples/box.edc new file mode 100644 index 0000000..79d04a8 --- /dev/null +++ b/libraries/edje/src/examples/box.edc | |||
@@ -0,0 +1,142 @@ | |||
1 | collections { | ||
2 | |||
3 | group { | ||
4 | name: "example/group"; | ||
5 | |||
6 | parts { | ||
7 | part { | ||
8 | name: "bg"; | ||
9 | type: RECT; | ||
10 | |||
11 | description { | ||
12 | state: "default" 0.0; | ||
13 | color: 128 128 128 255; | ||
14 | rel1.offset: 20 20; | ||
15 | rel2.offset: -21 -21; | ||
16 | } | ||
17 | } | ||
18 | |||
19 | part { | ||
20 | name: "example/title"; | ||
21 | type: TEXT; | ||
22 | |||
23 | description { | ||
24 | state: "default" 0.0; | ||
25 | color: 0 0 0 255; | ||
26 | rel1 { | ||
27 | relative: 0.0 0.0; | ||
28 | offset: 0 0; | ||
29 | to: "bg"; | ||
30 | } | ||
31 | rel2 { | ||
32 | relative: 1.0 0.2; | ||
33 | offset: -1 -1; | ||
34 | to: "bg"; | ||
35 | } | ||
36 | text { | ||
37 | text: "Box Example"; | ||
38 | size: 16; | ||
39 | font: "sans"; | ||
40 | min: 1 1; | ||
41 | } | ||
42 | } | ||
43 | } | ||
44 | |||
45 | part { | ||
46 | name: "example/box"; | ||
47 | type: BOX; | ||
48 | |||
49 | description { | ||
50 | state: "default" 0.0; | ||
51 | |||
52 | box { | ||
53 | layout: "horizontal_flow"; | ||
54 | padding: 2 2; | ||
55 | align: 0.5 0.5; | ||
56 | min: 1 1; | ||
57 | } | ||
58 | rel1 { | ||
59 | relative: 0.0 0.2; | ||
60 | offset: 0 0; | ||
61 | to: "bg"; | ||
62 | } | ||
63 | rel2 { | ||
64 | relative: 1.0 1.0; | ||
65 | offset: -1 -61; | ||
66 | to: "bg"; | ||
67 | } | ||
68 | } | ||
69 | } // example/box | ||
70 | } | ||
71 | } | ||
72 | |||
73 | group { | ||
74 | name: "example/group2"; | ||
75 | |||
76 | parts { | ||
77 | part { | ||
78 | name: "bg"; | ||
79 | type: RECT; | ||
80 | |||
81 | description { | ||
82 | state: "default" 0.0; | ||
83 | color: 128 128 128 255; | ||
84 | rel1.offset: 20 20; | ||
85 | rel2.offset: -21 -21; | ||
86 | } | ||
87 | } | ||
88 | |||
89 | part { | ||
90 | name: "example/title"; | ||
91 | type: TEXT; | ||
92 | |||
93 | description { | ||
94 | state: "default" 0.0; | ||
95 | color: 0 0 0 255; | ||
96 | rel1 { | ||
97 | relative: 0.0 0.0; | ||
98 | offset: 0 0; | ||
99 | to: "bg"; | ||
100 | } | ||
101 | rel2 { | ||
102 | relative: 1.0 0.2; | ||
103 | offset: -1 -1; | ||
104 | to: "bg"; | ||
105 | } | ||
106 | text { | ||
107 | text: "Box Example 2"; | ||
108 | size: 16; | ||
109 | font: "sans"; | ||
110 | min: 1 1; | ||
111 | } | ||
112 | } | ||
113 | } | ||
114 | |||
115 | part { | ||
116 | name: "example/box"; | ||
117 | type: BOX; | ||
118 | |||
119 | description { | ||
120 | state: "default" 0.0; | ||
121 | |||
122 | box { | ||
123 | layout: "custom_layout"; | ||
124 | padding: 2 2; | ||
125 | align: 0.5 0.5; | ||
126 | min: 1 1; | ||
127 | } | ||
128 | rel1 { | ||
129 | relative: 0.0 0.2; | ||
130 | offset: 0 0; | ||
131 | to: "bg"; | ||
132 | } | ||
133 | rel2 { | ||
134 | relative: 1.0 1.0; | ||
135 | offset: -1 -61; | ||
136 | to: "bg"; | ||
137 | } | ||
138 | } | ||
139 | } // example/box | ||
140 | } | ||
141 | } | ||
142 | } | ||
diff --git a/libraries/edje/src/examples/bubble.png b/libraries/edje/src/examples/bubble.png new file mode 100644 index 0000000..8fc50f9 --- /dev/null +++ b/libraries/edje/src/examples/bubble.png | |||
Binary files differ | |||
diff --git a/libraries/edje/src/examples/color-class.edc b/libraries/edje/src/examples/color-class.edc new file mode 100644 index 0000000..c025455 --- /dev/null +++ b/libraries/edje/src/examples/color-class.edc | |||
@@ -0,0 +1,87 @@ | |||
1 | color_classes { | ||
2 | color_class { | ||
3 | name: "red_class"; | ||
4 | color: 255 0 0 255; /* red */ | ||
5 | color2: 255 0 0 255; /* red */ | ||
6 | color3: 255 0 0 255; /* red */ | ||
7 | } | ||
8 | color_class { | ||
9 | name: "green_class"; | ||
10 | color: 0 255 0 255; /* green */ | ||
11 | color2: 0 255 0 255; /* green */ | ||
12 | color3: 0 255 0 255; /* green */ | ||
13 | } | ||
14 | color_class { | ||
15 | name: "blue_class"; | ||
16 | color: 0 0 255 255; /* blue */ | ||
17 | color2: 0 0 255 255; /* blue */ | ||
18 | color3: 0 0 255 255; /* blue */ | ||
19 | } | ||
20 | } | ||
21 | |||
22 | collections { | ||
23 | group { | ||
24 | name: "example_color_class"; | ||
25 | max: 500 500; | ||
26 | min: 50 50; | ||
27 | |||
28 | parts { | ||
29 | part { | ||
30 | name: "part_one"; | ||
31 | type: RECT; | ||
32 | scale: 1; | ||
33 | description { | ||
34 | state: "default" 0.0; | ||
35 | color: 255 255 255 255; | ||
36 | color_class: "blue_class"; | ||
37 | rel1.relative: 0.0 0.0; | ||
38 | rel2.relative: 0.5 0.5; | ||
39 | } | ||
40 | } | ||
41 | |||
42 | part { | ||
43 | name: "part_two"; | ||
44 | type: RECT; | ||
45 | description { | ||
46 | state: "default" 0.0; | ||
47 | color: 255 255 255 255; | ||
48 | color_class: "green_class"; | ||
49 | rel1.relative: 0.5 0.0; | ||
50 | rel2.relative: 1.0 0.5; | ||
51 | } | ||
52 | } | ||
53 | part { | ||
54 | name: "part_three"; | ||
55 | type: RECT; | ||
56 | description { | ||
57 | state: "default" 0.0; | ||
58 | color: 255 255 255 255; | ||
59 | color_class: "red_class"; | ||
60 | rel1.relative: 0.0 0.5; | ||
61 | rel2.relative: 1.0 1.0; | ||
62 | } | ||
63 | } | ||
64 | part { | ||
65 | name: "part_four"; | ||
66 | type: TEXT; | ||
67 | effect: OUTLINE_SHADOW; | ||
68 | description { | ||
69 | state: "default" 0.0; | ||
70 | min: 50 50; | ||
71 | color: 255 255 255 255; | ||
72 | color2: 255 255 255 255; | ||
73 | color3: 255 255 255 255; | ||
74 | color_class: "blue_class"; | ||
75 | rel1.relative: 0.0 0.5; | ||
76 | rel2.relative: 1.0 1.0; | ||
77 | text { | ||
78 | text_class: "example"; | ||
79 | font: "arial"; | ||
80 | size: 45; | ||
81 | min: 1 1; | ||
82 | } | ||
83 | } | ||
84 | } | ||
85 | } | ||
86 | } | ||
87 | } | ||
diff --git a/libraries/edje/src/examples/drag.edc b/libraries/edje/src/examples/drag.edc new file mode 100644 index 0000000..b9247ec --- /dev/null +++ b/libraries/edje/src/examples/drag.edc | |||
@@ -0,0 +1,89 @@ | |||
1 | collections { | ||
2 | group { | ||
3 | name: "example/group"; | ||
4 | |||
5 | min: 160 160; | ||
6 | |||
7 | parts { | ||
8 | part { | ||
9 | name: "bg"; | ||
10 | type: RECT; | ||
11 | |||
12 | mouse_events: 0; | ||
13 | |||
14 | description { | ||
15 | state: "default" 0.0; | ||
16 | } | ||
17 | } // bg | ||
18 | |||
19 | part { | ||
20 | name: "title"; | ||
21 | type: TEXT; | ||
22 | mouse_events: 0; | ||
23 | |||
24 | description { | ||
25 | state: "default" 0.0; | ||
26 | color: 0 0 0 255; | ||
27 | rel1 { | ||
28 | relative: 0.0 0.0; | ||
29 | offset: 0 0; | ||
30 | to: "bg"; | ||
31 | } | ||
32 | rel2 { | ||
33 | relative: 1.0 0.2; | ||
34 | offset: -1 -1; | ||
35 | to: "bg"; | ||
36 | } | ||
37 | text { | ||
38 | text: "Drag Example"; | ||
39 | size: 16; | ||
40 | font: "sans"; | ||
41 | min: 1 1; | ||
42 | } | ||
43 | } | ||
44 | } | ||
45 | |||
46 | part { | ||
47 | name: "drag_area"; | ||
48 | type: RECT; | ||
49 | |||
50 | mouse_events: 0; | ||
51 | |||
52 | description { | ||
53 | state: "default" 0.0; | ||
54 | color: 0 0 0 255; | ||
55 | rel1 { | ||
56 | relative: 0.5 0.3; | ||
57 | offset: -5 0; | ||
58 | } | ||
59 | |||
60 | rel2 { | ||
61 | relative: 0.5 0.9; | ||
62 | offset: 4 0; | ||
63 | } | ||
64 | } | ||
65 | } // drag_area | ||
66 | |||
67 | part { | ||
68 | name: "example/knob"; | ||
69 | type: RECT; | ||
70 | |||
71 | mouse_events: 1; | ||
72 | |||
73 | dragable { | ||
74 | confine: "drag_area"; | ||
75 | x: 0 0 0; | ||
76 | y: 1 1 0; | ||
77 | } | ||
78 | |||
79 | description { | ||
80 | state: "default" 0.0; | ||
81 | |||
82 | color: 255 0 0 200; | ||
83 | |||
84 | } | ||
85 | } // example/knob | ||
86 | |||
87 | } | ||
88 | } | ||
89 | } | ||
diff --git a/libraries/edje/src/examples/edje-animations.c b/libraries/edje/src/examples/edje-animations.c new file mode 100644 index 0000000..9363471 --- /dev/null +++ b/libraries/edje/src/examples/edje-animations.c | |||
@@ -0,0 +1,156 @@ | |||
1 | /** | ||
2 | * Simple Edje example illustrating animations functions. | ||
3 | * | ||
4 | * You'll need at least one Evas engine built for it (excluding the | ||
5 | * buffer one). See stdout/stderr for output. | ||
6 | * | ||
7 | * @verbatim | ||
8 | * edje_cc animations.edc && gcc -o edje-animations edje-animations.c `pkg-config --libs --cflags evas ecore ecore-evas edje` | ||
9 | * @endverbatim | ||
10 | */ | ||
11 | |||
12 | #ifdef HAVE_CONFIG_H | ||
13 | #include "config.h" | ||
14 | #else | ||
15 | #define PACKAGE_EXAMPLES_DIR "." | ||
16 | #define __UNUSED__ | ||
17 | #endif | ||
18 | |||
19 | #include <Ecore.h> | ||
20 | #include <Ecore_Evas.h> | ||
21 | #include <Edje.h> | ||
22 | |||
23 | #define WIDTH (400) | ||
24 | #define HEIGHT (300) | ||
25 | |||
26 | static const char *edje_file_path = PACKAGE_EXAMPLES_DIR "/animations.edj"; | ||
27 | static Ecore_Evas *ee; | ||
28 | static Evas_Object *bg, *edje_obj; | ||
29 | static double frametime = 1.0/30.0; /* default value */ | ||
30 | |||
31 | static void | ||
32 | _on_delete_cb(Ecore_Evas *ee) | ||
33 | { | ||
34 | ecore_main_loop_quit(); | ||
35 | } | ||
36 | |||
37 | static void | ||
38 | _canvas_resize_cb(Ecore_Evas *ee) | ||
39 | { | ||
40 | int w, h; | ||
41 | |||
42 | ecore_evas_geometry_get(ee, NULL, NULL, &w, &h); | ||
43 | evas_object_resize(bg, w, h); | ||
44 | evas_object_resize(edje_obj, w, h); | ||
45 | } | ||
46 | |||
47 | static void | ||
48 | _on_key_down_cb(void *data, Evas *evas, Evas_Object *obj, void *event_info) | ||
49 | { | ||
50 | Evas_Event_Key_Down *ev = event_info; | ||
51 | double ft; | ||
52 | |||
53 | if (!strcmp(ev->key, "plus")) | ||
54 | { | ||
55 | frametime *= 2.0; | ||
56 | fprintf(stdout, "Increasing frametime to: %f\n", frametime); | ||
57 | edje_frametime_set(frametime); | ||
58 | } | ||
59 | else if (!strcmp(ev->key, "minus")) | ||
60 | { | ||
61 | frametime /= 2.0; | ||
62 | fprintf(stdout, "Decreasing frametime to: %f\n", frametime); | ||
63 | edje_frametime_set(frametime); | ||
64 | } | ||
65 | else if (!strcmp(ev->key, "equal")) | ||
66 | { | ||
67 | ft = edje_frametime_get(); | ||
68 | fprintf(stdout, "Frametime: %f\n", ft); | ||
69 | if (edje_object_play_get(obj)) | ||
70 | fprintf(stdout, "Object is playing\n"); | ||
71 | else | ||
72 | fprintf(stdout, "Object was paused\n"); | ||
73 | if (edje_object_animation_get(obj)) | ||
74 | fprintf(stdout, "Animation is running\n"); | ||
75 | else | ||
76 | fprintf(stdout, "Animation was stopped\n"); | ||
77 | } | ||
78 | else if (!strcmp(ev->key, "s")) | ||
79 | { | ||
80 | edje_object_play_set(obj, EINA_FALSE); | ||
81 | fprintf(stdout, "Pausing the object\n"); | ||
82 | } | ||
83 | else if (!strcmp(ev->key, "p")) | ||
84 | { | ||
85 | edje_object_play_set(obj, EINA_TRUE); | ||
86 | fprintf(stdout, "Playing the object\n"); | ||
87 | } | ||
88 | else if (!strcmp(ev->key, "f")) | ||
89 | fprintf(stdout, "Freezing object. Count: %d\n", edje_object_freeze(obj)); | ||
90 | else if (!strcmp(ev->key, "t")) | ||
91 | fprintf(stdout, "Thawing object. Count: %d\n", edje_object_thaw(obj)); | ||
92 | else if (!strcmp(ev->key, "F")) | ||
93 | { | ||
94 | edje_freeze(); | ||
95 | fprintf(stdout, "Freezing all objects\n"); | ||
96 | } | ||
97 | else if (!strcmp(ev->key, "T")) | ||
98 | { | ||
99 | edje_thaw(); | ||
100 | fprintf(stdout, "Thawing all objects\n"); | ||
101 | } | ||
102 | else if (!strcmp(ev->key, "a")) | ||
103 | { | ||
104 | edje_object_animation_set(obj, EINA_TRUE); | ||
105 | fprintf(stdout, "Starting the animation in the Edje object\n"); | ||
106 | } | ||
107 | else if (!strcmp(ev->key, "A")) | ||
108 | { | ||
109 | edje_object_animation_set(obj, EINA_FALSE); | ||
110 | fprintf(stdout, "Stopping the animation in the Edje object\n"); | ||
111 | } | ||
112 | } | ||
113 | |||
114 | int | ||
115 | main(int argc, char *argv[]) | ||
116 | { | ||
117 | Evas *evas; | ||
118 | |||
119 | ecore_evas_init(); | ||
120 | edje_init(); | ||
121 | |||
122 | /* this will give you a window with an Evas canvas under the first | ||
123 | * engine available */ | ||
124 | ee = ecore_evas_new(NULL, 0, 0, WIDTH, HEIGHT, NULL); | ||
125 | |||
126 | ecore_evas_callback_delete_request_set(ee, _on_delete_cb); | ||
127 | ecore_evas_callback_resize_set(ee, _canvas_resize_cb); | ||
128 | ecore_evas_title_set(ee, "Edje Animations Example"); | ||
129 | ecore_evas_show(ee); | ||
130 | |||
131 | evas = ecore_evas_get(ee); | ||
132 | |||
133 | bg = evas_object_rectangle_add(evas); | ||
134 | evas_object_color_set(bg, 255, 255, 255, 255); /* white bg */ | ||
135 | evas_object_move(bg, 0, 0); /* at canvas' origin */ | ||
136 | evas_object_resize(bg, WIDTH, HEIGHT); /* covers full canvas */ | ||
137 | evas_object_show(bg); | ||
138 | |||
139 | edje_obj = edje_object_add(evas); | ||
140 | |||
141 | edje_object_file_set(edje_obj, edje_file_path, "animations_group"); | ||
142 | evas_object_move(edje_obj, 0, 0); | ||
143 | evas_object_resize(edje_obj, WIDTH, HEIGHT); | ||
144 | evas_object_show(edje_obj); | ||
145 | |||
146 | evas_object_event_callback_add(edje_obj, EVAS_CALLBACK_KEY_DOWN, | ||
147 | _on_key_down_cb, NULL); | ||
148 | evas_object_focus_set(edje_obj, EINA_TRUE); | ||
149 | |||
150 | ecore_main_loop_begin(); | ||
151 | |||
152 | ecore_evas_free(ee); | ||
153 | ecore_evas_shutdown(); | ||
154 | edje_shutdown(); | ||
155 | return 0; | ||
156 | } | ||
diff --git a/libraries/edje/src/examples/edje-basic.c b/libraries/edje/src/examples/edje-basic.c new file mode 100644 index 0000000..2a7a862 --- /dev/null +++ b/libraries/edje/src/examples/edje-basic.c | |||
@@ -0,0 +1,226 @@ | |||
1 | /** | ||
2 | * Simple Edje example illustrating the very basic functions of the | ||
3 | * library | ||
4 | * | ||
5 | * You'll need at least one Evas engine built for it (excluding the | ||
6 | * buffer one). See stdout/stderr for output. | ||
7 | * | ||
8 | * @verbatim | ||
9 | * gcc -o edje-basic edje-basic.c `pkg-config --libs --cflags evas ecore ecore-evas edje` | ||
10 | * @endverbatim | ||
11 | */ | ||
12 | |||
13 | #ifdef HAVE_CONFIG_H | ||
14 | #include "config.h" | ||
15 | #else | ||
16 | #define PACKAGE_EXAMPLES_DIR "." | ||
17 | #define __UNUSED__ | ||
18 | #endif | ||
19 | |||
20 | #include <Ecore.h> | ||
21 | #include <Ecore_Evas.h> | ||
22 | #include <Edje.h> | ||
23 | #include <stdio.h> | ||
24 | |||
25 | #define WIDTH (300) | ||
26 | #define HEIGHT (300) | ||
27 | |||
28 | static const char *border_img_path = PACKAGE_EXAMPLES_DIR "/red.png"; | ||
29 | static const char *edje_file_path = PACKAGE_EXAMPLES_DIR "/basic.edj"; | ||
30 | |||
31 | static Ecore_Evas *ee; | ||
32 | static Evas_Object *edje_obj; | ||
33 | |||
34 | static const char commands[] = \ | ||
35 | "commands are:\n" | ||
36 | "\ts - change Edje's global scaling factor\n" | ||
37 | "\tr - change center rectangle's scaling factor\n" | ||
38 | "\th - print help\n"; | ||
39 | |||
40 | static void | ||
41 | _on_keydown(void *data __UNUSED__, | ||
42 | Evas *evas __UNUSED__, | ||
43 | Evas_Object *o __UNUSED__, | ||
44 | void *einfo) | ||
45 | { | ||
46 | Evas_Event_Key_Down *ev = einfo; | ||
47 | |||
48 | if (strcmp(ev->keyname, "h") == 0) /* print help */ | ||
49 | { | ||
50 | fprintf(stdout, commands); | ||
51 | return; | ||
52 | } | ||
53 | |||
54 | if (strcmp(ev->keyname, "s") == 0) /* global scaling factor */ | ||
55 | { | ||
56 | double scale = edje_scale_get(); | ||
57 | |||
58 | printf("got scale %f\n", scale); | ||
59 | |||
60 | if (scale != 1.0) scale = 1.0; | ||
61 | else scale = 2.0; | ||
62 | |||
63 | edje_scale_set(scale); | ||
64 | |||
65 | fprintf(stdout, "Setting global scaling factor to %f.\n", scale); | ||
66 | |||
67 | return; | ||
68 | } | ||
69 | |||
70 | if (strcmp(ev->keyname, "r") == 0) /* individual scaling factor */ | ||
71 | { | ||
72 | double scale = edje_object_scale_get(edje_obj); | ||
73 | |||
74 | printf("got scale %f\n", scale); | ||
75 | |||
76 | if (!scale) scale = 1.0; | ||
77 | else if (scale == 1.0) scale = 2.0; | ||
78 | else scale = 0.0; | ||
79 | |||
80 | edje_object_scale_set(edje_obj, scale); | ||
81 | |||
82 | fprintf(stdout, "Setting center rectangle's scaling factor to %f.\n", | ||
83 | scale); | ||
84 | |||
85 | return; | ||
86 | } | ||
87 | } | ||
88 | |||
89 | static void | ||
90 | _on_delete(Ecore_Evas *ee __UNUSED__) | ||
91 | { | ||
92 | ecore_main_loop_quit(); | ||
93 | } | ||
94 | |||
95 | int | ||
96 | main(void) | ||
97 | { | ||
98 | Evas_Object *border, *bg; | ||
99 | int x, y, w, h; | ||
100 | Evas *evas; | ||
101 | |||
102 | if (!ecore_evas_init()) | ||
103 | return EXIT_FAILURE; | ||
104 | |||
105 | if (!edje_init()) | ||
106 | return EXIT_FAILURE; | ||
107 | |||
108 | /* this will give you a window with an Evas canvas under the first | ||
109 | * engine available */ | ||
110 | ee = ecore_evas_new(NULL, 0, 0, WIDTH, HEIGHT, NULL); | ||
111 | if (!ee) | ||
112 | goto error; | ||
113 | |||
114 | ecore_evas_callback_delete_request_set(ee, _on_delete); | ||
115 | ecore_evas_title_set(ee, "Edje Basics Example"); | ||
116 | ecore_evas_show(ee); | ||
117 | |||
118 | evas = ecore_evas_get(ee); | ||
119 | |||
120 | bg = evas_object_rectangle_add(evas); | ||
121 | evas_object_color_set(bg, 255, 255, 255, 255); /* white bg */ | ||
122 | evas_object_move(bg, 0, 0); /* at canvas' origin */ | ||
123 | evas_object_resize(bg, WIDTH, HEIGHT); /* covers full canvas */ | ||
124 | evas_object_show(bg); | ||
125 | ecore_evas_object_associate(ee, bg, ECORE_EVAS_OBJECT_ASSOCIATE_BASE); | ||
126 | |||
127 | evas_object_focus_set(bg, EINA_TRUE); | ||
128 | evas_object_event_callback_add( | ||
129 | bg, EVAS_CALLBACK_KEY_DOWN, _on_keydown, NULL); | ||
130 | |||
131 | edje_obj = edje_object_add(evas); | ||
132 | |||
133 | /* exercising Edje loading error, on purpose */ | ||
134 | if (!edje_object_file_set(edje_obj, edje_file_path, "unexistant_group")) | ||
135 | { | ||
136 | int err = edje_object_load_error_get(edje_obj); | ||
137 | const char *errmsg = edje_load_error_str(err); | ||
138 | fprintf(stderr, "Could not load 'unexistant_group' from basic.edj:" | ||
139 | " %s\n", errmsg); | ||
140 | } | ||
141 | |||
142 | if (!edje_object_file_set(edje_obj, edje_file_path, "example_group")) | ||
143 | { | ||
144 | int err = edje_object_load_error_get(edje_obj); | ||
145 | const char *errmsg = edje_load_error_str(err); | ||
146 | fprintf(stderr, "Could not load 'example_group' from basic.edj: %s\n", | ||
147 | errmsg); | ||
148 | |||
149 | evas_object_del(edje_obj); | ||
150 | goto error_edj; | ||
151 | } | ||
152 | |||
153 | fprintf(stdout, "Loaded Edje object bound to group 'example_group' from" | ||
154 | " file basic.edj with success!\n"); | ||
155 | |||
156 | evas_object_move(edje_obj, 20, 20); | ||
157 | evas_object_resize(edje_obj, WIDTH - 40, HEIGHT - 40); | ||
158 | evas_object_show(edje_obj); | ||
159 | |||
160 | /* this is a border around the Edje object above, here just to | ||
161 | * emphasize its geometry */ | ||
162 | border = evas_object_image_filled_add(evas); | ||
163 | evas_object_image_file_set(border, border_img_path, NULL); | ||
164 | evas_object_image_border_set(border, 2, 2, 2, 2); | ||
165 | evas_object_image_border_center_fill_set(border, EVAS_BORDER_FILL_NONE); | ||
166 | |||
167 | evas_object_resize(border, WIDTH - 40 + 4, HEIGHT - 40 + 4); | ||
168 | evas_object_move(border, 20 - 2, 20 - 2); | ||
169 | evas_object_show(border); | ||
170 | |||
171 | fprintf(stdout, "'example_data' data field in group 'example_group' has " | ||
172 | "the value: %s\n", edje_object_data_get(edje_obj, | ||
173 | "example_data")); | ||
174 | |||
175 | fprintf(stdout, "Testing if 'part_one' part exists: %s\n", | ||
176 | edje_object_part_exists(edje_obj, "part_one") ? "yes!" : "no"); | ||
177 | |||
178 | edje_object_part_geometry_get(edje_obj, "part_one", &x, &y, &w, &h); | ||
179 | fprintf(stdout, "The geometry of that part inside the Edje object's area " | ||
180 | "is: x = %d, y = %d, w = %d, h = %d\n", x, y, w, h); | ||
181 | |||
182 | evas_object_color_get(edje_object_part_object_get(edje_obj, "part_one"), | ||
183 | &x, &y, &w, &h); | ||
184 | fprintf(stdout, "That part's color components are: r = %d, g = %d, b = %d," | ||
185 | " a = %d\n", x, y, w, h); | ||
186 | |||
187 | edje_object_size_max_get(edje_obj, &w, &h); | ||
188 | fprintf(stdout, "The Edje object's max. size is: %d, %d\n", w, h); | ||
189 | |||
190 | edje_object_size_min_get(edje_obj, &w, &h); | ||
191 | fprintf(stdout, "The Edje object's min. size is: %d, %d\n", w, h); | ||
192 | |||
193 | edje_object_size_min_calc(edje_obj, &w, &h); | ||
194 | fprintf(stdout, "The Edje object's min. size reported by min. size" | ||
195 | " calculation is: w = %d, h = %d\n", w, h); | ||
196 | |||
197 | edje_object_size_min_restricted_calc(edje_obj, &w, &h, 500, 500); | ||
198 | fprintf(stdout, "The Edje object's min. size reported by *restricted* " | ||
199 | "min. size calculation is: w = %d, h = %d\n", w, h); | ||
200 | |||
201 | edje_object_parts_extends_calc(edje_obj, &x, &y, &w, &h); | ||
202 | fprintf(stdout, "The Edje object's \"extended\" geometry is: x = %d, " | ||
203 | "y = %d, w = %d, h = %d\n", x, y, w, h); | ||
204 | |||
205 | fprintf(stdout, commands); | ||
206 | ecore_main_loop_begin(); | ||
207 | |||
208 | ecore_evas_free(ee); | ||
209 | ecore_evas_shutdown(); | ||
210 | edje_shutdown(); | ||
211 | return 0; | ||
212 | |||
213 | error: | ||
214 | fprintf(stderr, "You got to have at least one evas engine built" | ||
215 | " and linked up to ecore-evas for this example to run" | ||
216 | " properly.\n"); | ||
217 | ecore_evas_shutdown(); | ||
218 | return -1; | ||
219 | |||
220 | error_edj: | ||
221 | fprintf(stderr, "Failed to load basic.edj!\n"); | ||
222 | |||
223 | ecore_evas_shutdown(); | ||
224 | return -2; | ||
225 | } | ||
226 | |||
diff --git a/libraries/edje/src/examples/edje-box.c b/libraries/edje/src/examples/edje-box.c new file mode 100644 index 0000000..7fffba3 --- /dev/null +++ b/libraries/edje/src/examples/edje-box.c | |||
@@ -0,0 +1,191 @@ | |||
1 | /** | ||
2 | * Simple Edje example illustrating box functions. | ||
3 | * | ||
4 | * You'll need at least one Evas engine built for it (excluding the | ||
5 | * buffer one). See stdout/stderr for output. | ||
6 | * | ||
7 | * @verbatim | ||
8 | * edje_cc box.edc && gcc -o edje-box edje-box.c `pkg-config --libs --cflags evas ecore ecore-evas edje` | ||
9 | * @endverbatim | ||
10 | */ | ||
11 | |||
12 | #ifdef HAVE_CONFIG_H | ||
13 | #include "config.h" | ||
14 | #else | ||
15 | #define PACKAGE_EXAMPLES_DIR "." | ||
16 | #define __UNUSED__ | ||
17 | #endif | ||
18 | |||
19 | #include <Ecore.h> | ||
20 | #include <Ecore_Evas.h> | ||
21 | #include <Edje.h> | ||
22 | |||
23 | #define WIDTH 300 | ||
24 | #define HEIGHT 300 | ||
25 | |||
26 | #define RECTW 30 | ||
27 | #define RECTH 30 | ||
28 | |||
29 | #define NRECTS 20 | ||
30 | |||
31 | static const char *edje_file_path = PACKAGE_EXAMPLES_DIR "/box.edj"; | ||
32 | |||
33 | struct _App { | ||
34 | Ecore_Evas *ee; | ||
35 | Evas_Object *edje; | ||
36 | Evas_Object *bg; | ||
37 | }; | ||
38 | |||
39 | static void | ||
40 | _on_destroy(Ecore_Evas *ee __UNUSED__) | ||
41 | { | ||
42 | ecore_main_loop_quit(); | ||
43 | } | ||
44 | |||
45 | /* here just to keep our example's window size and background image's | ||
46 | * size in synchrony */ | ||
47 | static void | ||
48 | _canvas_resize_cb(Ecore_Evas *ee) | ||
49 | { | ||
50 | int w, h; | ||
51 | struct _App *app = ecore_evas_data_get(ee, "app"); | ||
52 | |||
53 | ecore_evas_geometry_get(ee, NULL, NULL, &w, &h); | ||
54 | evas_object_resize(app->bg, w, h); | ||
55 | evas_object_resize(app->edje, w, h); | ||
56 | } | ||
57 | |||
58 | static void | ||
59 | _rect_mouse_down(void *data, Evas *e, Evas_Object *o, void *event_info) | ||
60 | { | ||
61 | struct _App *app = data; | ||
62 | Evas_Event_Mouse_Down *ev = event_info; | ||
63 | |||
64 | if (ev->button == 1) | ||
65 | { | ||
66 | printf("Removing rect %p under the mouse pointer.\n", o); | ||
67 | edje_object_part_box_remove(app->edje, "example/box", o); | ||
68 | evas_object_del(o); | ||
69 | } | ||
70 | else if (ev->button == 3) | ||
71 | { | ||
72 | Evas_Object *rect; | ||
73 | Eina_Bool r; | ||
74 | |||
75 | rect = evas_object_rectangle_add(e); | ||
76 | evas_object_color_set(rect, 0, 0, 255, 255); | ||
77 | evas_object_resize(rect, RECTW + 10, RECTH); | ||
78 | evas_object_show(rect); | ||
79 | |||
80 | printf("Inserting rect %p before the rectangle under the mouse pointer.\n", rect); | ||
81 | r = edje_object_part_box_insert_before(app->edje, "example/box", rect, o); | ||
82 | if (!r) | ||
83 | printf("An error ocurred when appending rect %p to the box.\n", rect); | ||
84 | |||
85 | evas_object_event_callback_add(rect, EVAS_CALLBACK_MOUSE_DOWN, _rect_mouse_down, app); | ||
86 | } | ||
87 | } | ||
88 | |||
89 | static void | ||
90 | _bg_key_down(void *data, Evas *e, Evas_Object *o __UNUSED__, void *event_info) | ||
91 | { | ||
92 | struct _App *app = data; | ||
93 | Evas_Event_Key_Down *ev = event_info; | ||
94 | Evas_Object *rect; | ||
95 | Eina_Bool r; | ||
96 | |||
97 | |||
98 | if (!strcmp(ev->keyname, "i")) | ||
99 | { | ||
100 | rect = evas_object_rectangle_add(e); | ||
101 | evas_object_color_set(rect, 0, 0, 128, 255); | ||
102 | evas_object_resize(rect, RECTW + 30, RECTH); | ||
103 | evas_object_show(rect); | ||
104 | |||
105 | printf("Inserting rect %p before the rectangle under the mouse pointer.\n", rect); | ||
106 | r = edje_object_part_box_insert_at(app->edje, "example/box", rect, 0); | ||
107 | if (!r) | ||
108 | printf("An error ocurred when appending rect %p to the box.\n", rect); | ||
109 | |||
110 | evas_object_event_callback_add(rect, EVAS_CALLBACK_MOUSE_DOWN, _rect_mouse_down, app); | ||
111 | } | ||
112 | else if (!strcmp(ev->keyname, "a")) | ||
113 | { | ||
114 | rect = evas_object_rectangle_add(e); | ||
115 | evas_object_color_set(rect, 0, 128, 0, 255); | ||
116 | evas_object_resize(rect, RECTW, RECTH); | ||
117 | evas_object_show(rect); | ||
118 | |||
119 | printf("Inserting rect %p before the rectangle under the mouse pointer.\n", rect); | ||
120 | r = edje_object_part_box_append(app->edje, "example/box", rect); | ||
121 | if (!r) | ||
122 | printf("An error ocurred when appending rect %p to the box.\n", rect); | ||
123 | |||
124 | evas_object_event_callback_add(rect, EVAS_CALLBACK_MOUSE_DOWN, _rect_mouse_down, app); | ||
125 | } | ||
126 | else if (!strcmp(ev->keyname, "c")) | ||
127 | edje_object_part_box_remove_all(app->edje, "example/box", EINA_TRUE); | ||
128 | } | ||
129 | |||
130 | int | ||
131 | main(void) | ||
132 | { | ||
133 | Evas *evas; | ||
134 | struct _App app; | ||
135 | int i; | ||
136 | |||
137 | ecore_evas_init(); | ||
138 | edje_init(); | ||
139 | |||
140 | /* this will give you a window with an Evas canvas under the first | ||
141 | * engine available */ | ||
142 | app.ee = ecore_evas_new(NULL, 0, 0, WIDTH, HEIGHT, NULL); | ||
143 | |||
144 | ecore_evas_callback_destroy_set(app.ee, _on_destroy); | ||
145 | ecore_evas_callback_resize_set(app.ee, _canvas_resize_cb); | ||
146 | ecore_evas_title_set(app.ee, "Edje Box Example"); | ||
147 | ecore_evas_show(app.ee); | ||
148 | |||
149 | ecore_evas_data_set(app.ee, "app", &app); | ||
150 | |||
151 | evas = ecore_evas_get(app.ee); | ||
152 | |||
153 | app.bg = evas_object_rectangle_add(evas); | ||
154 | evas_object_color_set(app.bg, 255, 255, 255, 255); | ||
155 | evas_object_resize(app.bg, WIDTH, HEIGHT); | ||
156 | evas_object_focus_set(app.bg, EINA_TRUE); | ||
157 | evas_object_show(app.bg); | ||
158 | |||
159 | evas_object_event_callback_add(app.bg, EVAS_CALLBACK_KEY_DOWN, _bg_key_down, &app); | ||
160 | |||
161 | app.edje = edje_object_add(evas); | ||
162 | |||
163 | edje_object_file_set(app.edje, edje_file_path, "example/group"); | ||
164 | evas_object_move(app.edje, 0, 0); | ||
165 | evas_object_resize(app.edje, WIDTH, HEIGHT); | ||
166 | evas_object_show(app.edje); | ||
167 | |||
168 | for (i = 0; i < NRECTS; i++) | ||
169 | { | ||
170 | Evas_Object *rect; | ||
171 | Eina_Bool r = EINA_FALSE; | ||
172 | int red = (i * 10) % 256; | ||
173 | rect = evas_object_rectangle_add(evas); | ||
174 | evas_object_color_set(rect, red, 0, 0, 255); | ||
175 | evas_object_resize(rect, RECTW, RECTH); | ||
176 | r = edje_object_part_box_append(app.edje, "example/box", rect); | ||
177 | if (!r) | ||
178 | printf("An error ocurred when appending rect #%d to the box.\n", i); | ||
179 | evas_object_show(rect); | ||
180 | |||
181 | evas_object_event_callback_add( | ||
182 | rect, EVAS_CALLBACK_MOUSE_DOWN, _rect_mouse_down, &app); | ||
183 | } | ||
184 | |||
185 | ecore_main_loop_begin(); | ||
186 | |||
187 | ecore_evas_free(app.ee); | ||
188 | ecore_evas_shutdown(); | ||
189 | edje_shutdown(); | ||
190 | return 0; | ||
191 | } | ||
diff --git a/libraries/edje/src/examples/edje-box2.c b/libraries/edje/src/examples/edje-box2.c new file mode 100644 index 0000000..b3f4e40 --- /dev/null +++ b/libraries/edje/src/examples/edje-box2.c | |||
@@ -0,0 +1,204 @@ | |||
1 | /** | ||
2 | * Simple Edje example illustrating a custom box layout. | ||
3 | * | ||
4 | * You'll need at least one Evas engine built for it (excluding the | ||
5 | * buffer one). See stdout/stderr for output. | ||
6 | * | ||
7 | * @verbatim | ||
8 | * edje_cc box.edc && gcc -o edje-box2 edje-box2.c `pkg-config --libs --cflags evas ecore ecore-evas edje` | ||
9 | * @endverbatim | ||
10 | */ | ||
11 | |||
12 | #ifdef HAVE_CONFIG_H | ||
13 | #include "config.h" | ||
14 | #else | ||
15 | #define PACKAGE_EXAMPLES_DIR "." | ||
16 | #define __UNUSED__ | ||
17 | #endif | ||
18 | |||
19 | #include <Ecore.h> | ||
20 | #include <Evas.h> | ||
21 | #include <Ecore_Evas.h> | ||
22 | #include <Edje.h> | ||
23 | |||
24 | #include <stdlib.h> | ||
25 | #include <stdio.h> | ||
26 | #include <string.h> | ||
27 | |||
28 | static const char *edje_file_path = PACKAGE_EXAMPLES_DIR "/box.edj"; | ||
29 | |||
30 | struct _App { | ||
31 | Ecore_Evas *ee; | ||
32 | Evas *evas; | ||
33 | Evas_Object *bg; | ||
34 | Evas_Object *box; | ||
35 | }; | ||
36 | |||
37 | static struct _App app; | ||
38 | |||
39 | static void | ||
40 | custom_layout(Evas_Object *o, Evas_Object_Box_Data *p, void *data) | ||
41 | { | ||
42 | int x, y, w, h; | ||
43 | int xx, yy, ww, hh; | ||
44 | int count; | ||
45 | Eina_List *l; | ||
46 | Evas_Object_Box_Option *opt; | ||
47 | |||
48 | evas_object_geometry_get(o, &x, &y, &w, &h); | ||
49 | count = eina_list_count(p->children); | ||
50 | ww = w / (count?:1); | ||
51 | hh = h / (count?:1); | ||
52 | if (ww < 1) ww = 1; | ||
53 | if (hh < 1) hh = 1; | ||
54 | |||
55 | xx = x; | ||
56 | yy = y; | ||
57 | EINA_LIST_FOREACH(p->children, l, opt) | ||
58 | { | ||
59 | evas_object_move(opt->obj, xx, yy); | ||
60 | xx += ww; | ||
61 | yy += hh; | ||
62 | } | ||
63 | } | ||
64 | |||
65 | static Evas_Object * | ||
66 | new_greenie_block(Evas *e) | ||
67 | { | ||
68 | Evas_Object *o; | ||
69 | |||
70 | o = evas_object_rectangle_add(e); | ||
71 | evas_object_resize(o, 10, 10); | ||
72 | evas_object_color_set(o, 0, 255, 0, 255); | ||
73 | evas_object_show(o); | ||
74 | |||
75 | return o; | ||
76 | } | ||
77 | |||
78 | static void | ||
79 | on_keydown(void *data, Evas *evas, Evas_Object *o, void *einfo) | ||
80 | { | ||
81 | struct _App *app = data; | ||
82 | Evas_Event_Key_Down *ev = einfo; | ||
83 | const Evas_Modifier *mods; | ||
84 | |||
85 | mods = evas_key_modifier_get(evas); | ||
86 | if (evas_key_modifier_is_set(mods, "Shift")) | ||
87 | { | ||
88 | int pos; | ||
89 | Evas_Object *obj = NULL; | ||
90 | pos = atoi(ev->keyname); | ||
91 | obj = edje_object_part_box_remove_at(app->box, "example/box", pos); | ||
92 | if (obj) | ||
93 | evas_object_del(obj); | ||
94 | return; | ||
95 | } | ||
96 | if (evas_key_modifier_is_set(mods, "Control")) | ||
97 | { | ||
98 | Evas_Object *o; | ||
99 | int pos; | ||
100 | pos = atoi(ev->keyname); | ||
101 | o = new_greenie_block(app->evas); | ||
102 | if (!edje_object_part_box_insert_at(app->box, "example/box", o, pos)) | ||
103 | edje_object_part_box_append(app->box, "example/box", o); | ||
104 | return; | ||
105 | } | ||
106 | if (strcmp(ev->keyname, "Escape") == 0) | ||
107 | ecore_main_loop_quit(); | ||
108 | } | ||
109 | |||
110 | static Evas_Object * | ||
111 | box_new(Evas *evas, const char *name, int x, int y, int w, int h) | ||
112 | { | ||
113 | Evas_Object *o; | ||
114 | |||
115 | o = edje_object_add(evas); | ||
116 | evas_object_move(o, x, y); | ||
117 | evas_object_resize(o, w, h); | ||
118 | if (!edje_object_file_set(o, edje_file_path, "example/group2")) | ||
119 | { | ||
120 | printf("error: could not load file object.\n"); | ||
121 | } | ||
122 | evas_object_show(o); | ||
123 | |||
124 | evas_object_name_set(o, name); | ||
125 | |||
126 | return o; | ||
127 | } | ||
128 | |||
129 | static void | ||
130 | on_resize(Ecore_Evas *ee) | ||
131 | { | ||
132 | int w, h; | ||
133 | |||
134 | evas_output_viewport_get(app.evas, NULL, NULL, &w, &h); | ||
135 | evas_object_resize(app.bg, w, h); | ||
136 | evas_object_resize(app.box, w, h); | ||
137 | } | ||
138 | |||
139 | static void | ||
140 | on_destroy(Ecore_Evas *ee) | ||
141 | { | ||
142 | ecore_main_loop_quit(); | ||
143 | } | ||
144 | |||
145 | int | ||
146 | main(int argc, char *argv[]) | ||
147 | { | ||
148 | Ecore_Evas *ee; | ||
149 | int w, h, i; | ||
150 | Evas_Object *last; | ||
151 | Evas_Object *o; | ||
152 | |||
153 | evas_init(); | ||
154 | ecore_init(); | ||
155 | ecore_evas_init(); | ||
156 | edje_init(); | ||
157 | |||
158 | ee = ecore_evas_new(NULL, 0, 0, 640, 480, NULL); | ||
159 | ecore_evas_show(ee); | ||
160 | |||
161 | app.ee = ee; | ||
162 | app.evas = ecore_evas_get(ee); | ||
163 | |||
164 | ecore_evas_callback_resize_set(ee, on_resize); | ||
165 | ecore_evas_callback_destroy_set(ee, on_destroy); | ||
166 | |||
167 | evas_output_viewport_get(app.evas, NULL, NULL, &w, &h); | ||
168 | |||
169 | app.bg = evas_object_rectangle_add(app.evas); | ||
170 | evas_object_resize(app.bg, w, h); | ||
171 | evas_object_show(app.bg); | ||
172 | evas_object_focus_set(app.bg, 1); | ||
173 | evas_object_event_callback_add( | ||
174 | app.bg, EVAS_CALLBACK_KEY_DOWN, on_keydown, &app); | ||
175 | |||
176 | edje_box_layout_register("custom_layout", custom_layout, NULL, NULL, NULL, NULL); | ||
177 | |||
178 | app.box = box_new(app.evas, "box", 0, 0, w, h); | ||
179 | |||
180 | for (i = 1; i <= 5; i++) | ||
181 | { | ||
182 | o = last = evas_object_rectangle_add(app.evas); | ||
183 | evas_object_size_hint_min_set(o, 50, 50); | ||
184 | evas_object_resize(o, 50, 50); | ||
185 | evas_object_color_set(o, 255, 0, 0, 128); | ||
186 | evas_object_show(o); | ||
187 | |||
188 | if (!edje_object_part_box_append(app.box, "example/box", o)) | ||
189 | { | ||
190 | fprintf(stderr, "error appending child object!\n"); | ||
191 | return 1; | ||
192 | } | ||
193 | } | ||
194 | |||
195 | ecore_main_loop_begin(); | ||
196 | |||
197 | edje_shutdown(); | ||
198 | ecore_evas_shutdown(); | ||
199 | ecore_shutdown(); | ||
200 | evas_shutdown(); | ||
201 | |||
202 | |||
203 | return 0; | ||
204 | } | ||
diff --git a/libraries/edje/src/examples/edje-color-class.c b/libraries/edje/src/examples/edje-color-class.c new file mode 100644 index 0000000..9ac8653 --- /dev/null +++ b/libraries/edje/src/examples/edje-color-class.c | |||
@@ -0,0 +1,257 @@ | |||
1 | /** | ||
2 | * Simple Edje example illustrating color class functions. | ||
3 | * | ||
4 | * You'll need at least one Evas engine built for it (excluding the | ||
5 | * buffer one). See stdout/stderr for output. | ||
6 | * | ||
7 | * @verbatim | ||
8 | * edje_cc color-class.edc && gcc -o edje-table edje-color-class.c `pkg-config --libs --cflags evas ecore ecore-evas edje` | ||
9 | * @endverbatim | ||
10 | */ | ||
11 | |||
12 | #ifdef HAVE_CONFIG_H | ||
13 | #include "config.h" | ||
14 | #else | ||
15 | #define PACKAGE_EXAMPLES_DIR "." | ||
16 | #define __UNUSED__ | ||
17 | #endif | ||
18 | |||
19 | #include <Ecore.h> | ||
20 | #include <Ecore_Evas.h> | ||
21 | #include <Edje.h> | ||
22 | |||
23 | #define WIDTH (400) | ||
24 | #define HEIGHT (400) | ||
25 | |||
26 | static const char *edje_file_path = PACKAGE_EXAMPLES_DIR "/color-class.edj"; | ||
27 | |||
28 | typedef int color[4]; /* rgba */ | ||
29 | |||
30 | static Ecore_Evas *ee, *ee2; | ||
31 | static Evas *evas, *evas2; | ||
32 | static Evas_Object *bg, *edje_obj, *bg2, *edje_obj2; | ||
33 | static const char *selected_class; | ||
34 | |||
35 | static color colors_init_data[] = | ||
36 | {{255, 0, 0, 255}, /* red */ | ||
37 | {0, 255, 0, 255}, /* green */ | ||
38 | {0, 0, 255, 255}, /* blue */ | ||
39 | {0, 0, 0, 255}, /* black */ | ||
40 | {255, 255, 255, 255}, /* white */ | ||
41 | {128, 128, 128, 255}, /* gray */ | ||
42 | {255, 255, 0, 255}, /* yellow */ | ||
43 | {255, 0, 255, 255} /* pink */ | ||
44 | }; | ||
45 | |||
46 | static char *color_names[] = | ||
47 | {"red", "green", "blue", "black", "white", | ||
48 | "gray", "yellow", "pink"}; | ||
49 | |||
50 | static Eina_Bool | ||
51 | _get_color_from_name(const char *n, color *c) | ||
52 | { | ||
53 | int i; | ||
54 | for (i = 0; i < 8; i++) | ||
55 | if (!strcmp(n, color_names[i])) | ||
56 | { | ||
57 | (*c)[0] = (colors_init_data[i])[0]; | ||
58 | (*c)[1] = (colors_init_data[i])[1]; | ||
59 | (*c)[2] = (colors_init_data[i])[2]; | ||
60 | (*c)[3] = (colors_init_data[i])[3]; | ||
61 | return EINA_TRUE; | ||
62 | } | ||
63 | |||
64 | return EINA_FALSE; | ||
65 | } | ||
66 | |||
67 | static void | ||
68 | _color_classes_print(void) | ||
69 | { | ||
70 | Eina_List *classes; | ||
71 | char *class_name; | ||
72 | |||
73 | fprintf(stdout, "Getting the color classes\n\n"); | ||
74 | classes = edje_color_class_list(); | ||
75 | EINA_LIST_FREE(classes, class_name) | ||
76 | { | ||
77 | int r1, r2, r3, g1, g2, g3, b1, b2, b3, | ||
78 | a1, a2, a3; | ||
79 | |||
80 | fprintf(stdout, "\ncolor class: %s\n", class_name); | ||
81 | if (!edje_color_class_get(class_name, &r1, &g1, &b1, &a1, | ||
82 | &r2, &g2, &b2, &a2, &r3, &g3, &b3, &a3)) | ||
83 | fprintf(stderr, "Cannot get the color class\n"); | ||
84 | else | ||
85 | { | ||
86 | |||
87 | fprintf(stdout,"Object color r: %d g: %d b: %d a: %d\n", | ||
88 | r1, g1, b1, a1); | ||
89 | fprintf(stdout,"Text outline color r: %d g: %d b: %d a: %d\n", | ||
90 | r2, g2, b2, a2); | ||
91 | fprintf(stdout,"Text shadow color r: %d g: %d b: %d a: %d\n", | ||
92 | r3, g3, b3, a3); | ||
93 | } | ||
94 | free(class_name); | ||
95 | } | ||
96 | } | ||
97 | |||
98 | static void | ||
99 | _on_destroy(Ecore_Evas *ee) | ||
100 | { | ||
101 | ecore_main_loop_quit(); | ||
102 | } | ||
103 | |||
104 | static void | ||
105 | _on_mouse_down(void *data, Evas *evas, Evas_Object *obj, void *event_info) | ||
106 | { | ||
107 | Evas_Event_Mouse_Down *ev = event_info; | ||
108 | |||
109 | if (ev->button == 1) | ||
110 | if (obj == edje_obj) | ||
111 | edje_color_class_del(selected_class); | ||
112 | else | ||
113 | edje_object_color_class_del(edje_obj2, selected_class); | ||
114 | } | ||
115 | |||
116 | /* here just to keep our example's window size | ||
117 | * in synchrony. */ | ||
118 | static void | ||
119 | _canvas_resize_cb(Ecore_Evas *_ee) | ||
120 | { | ||
121 | int w, h; | ||
122 | |||
123 | ecore_evas_geometry_get(_ee, NULL, NULL, &w, &h); | ||
124 | |||
125 | if (_ee == ee) | ||
126 | { | ||
127 | evas_object_resize(bg, w, h); | ||
128 | evas_object_resize(edje_obj, w, h); | ||
129 | } | ||
130 | else | ||
131 | { | ||
132 | evas_object_resize(bg2, w, h); | ||
133 | evas_object_resize(edje_obj2, w, h); | ||
134 | } | ||
135 | } | ||
136 | |||
137 | static void | ||
138 | _color_class_callback_delete(void *data, Evas *evas, Evas_Object *obj, | ||
139 | const char *emission, void *source) | ||
140 | { | ||
141 | if (!strcmp(data, "process")) | ||
142 | fprintf(stdout, "Color class: %s deleted on process level\n", emission); | ||
143 | else | ||
144 | fprintf(stdout, "Color class: %s deleted on object level\n", emission); | ||
145 | } | ||
146 | |||
147 | static void | ||
148 | _create_windows(void) | ||
149 | { | ||
150 | /* this will give you a window with an Evas canvas under the first | ||
151 | * engine available */ | ||
152 | ee = ecore_evas_new(NULL, 0, 0, WIDTH, HEIGHT, NULL); | ||
153 | ee2 = ecore_evas_new(NULL, 0, 0, WIDTH, HEIGHT, NULL); | ||
154 | |||
155 | ecore_evas_callback_destroy_set(ee, _on_destroy); | ||
156 | ecore_evas_callback_resize_set(ee, _canvas_resize_cb); | ||
157 | ecore_evas_title_set(ee, "Edje Color Class Example"); | ||
158 | ecore_evas_show(ee); | ||
159 | |||
160 | ecore_evas_callback_destroy_set(ee2, _on_destroy); | ||
161 | ecore_evas_callback_resize_set(ee2, _canvas_resize_cb); | ||
162 | ecore_evas_title_set(ee2, "Edje Object Color Class Example"); | ||
163 | ecore_evas_show(ee2); | ||
164 | |||
165 | evas = ecore_evas_get(ee); | ||
166 | evas2 = ecore_evas_get(ee2); | ||
167 | |||
168 | bg = evas_object_rectangle_add(evas); | ||
169 | evas_object_color_set(bg, 255, 255, 255, 255); /* white bg */ | ||
170 | evas_object_move(bg, 0, 0); /* at canvas' origin */ | ||
171 | evas_object_resize(bg, WIDTH, HEIGHT); /* covers full canvas */ | ||
172 | evas_object_show(bg); | ||
173 | |||
174 | bg2 = evas_object_rectangle_add(evas2); | ||
175 | evas_object_color_set(bg2, 255, 255, 255, 255); /* white bg */ | ||
176 | evas_object_move(bg2, 0, 0); /* at canvas' origin */ | ||
177 | evas_object_resize(bg2, WIDTH, HEIGHT); /* covers full canvas */ | ||
178 | evas_object_show(bg2); | ||
179 | |||
180 | edje_obj = edje_object_add(evas); | ||
181 | evas_object_event_callback_add(edje_obj, EVAS_CALLBACK_MOUSE_DOWN, | ||
182 | _on_mouse_down, NULL); | ||
183 | |||
184 | edje_object_file_set(edje_obj, edje_file_path, "example_color_class"); | ||
185 | evas_object_move(edje_obj, 0, 0); /* at canvas' origin */ | ||
186 | evas_object_resize(edje_obj, WIDTH, HEIGHT); | ||
187 | edje_object_part_text_set(edje_obj, "part_four", "EDJE EXAMPLE"); | ||
188 | edje_object_signal_callback_add(edje_obj, "color_class,del", "*", | ||
189 | (Edje_Signal_Cb) _color_class_callback_delete, | ||
190 | "process"); | ||
191 | evas_object_show(edje_obj); | ||
192 | |||
193 | edje_obj2 = edje_object_add(evas2); | ||
194 | evas_object_event_callback_add(edje_obj2, EVAS_CALLBACK_MOUSE_DOWN, | ||
195 | _on_mouse_down, NULL); | ||
196 | |||
197 | edje_object_file_set(edje_obj2, edje_file_path, "example_color_class"); | ||
198 | evas_object_move(edje_obj2, 0, 0); /* at canvas' origin */ | ||
199 | evas_object_resize(edje_obj2, WIDTH, HEIGHT); | ||
200 | edje_object_part_text_set(edje_obj2, "part_four", "EDJE OBJECT EXAMPLE"); | ||
201 | edje_object_signal_callback_add(edje_obj2, "color_class,del", "*", | ||
202 | (Edje_Signal_Cb) _color_class_callback_delete, | ||
203 | "object"); | ||
204 | evas_object_show(edje_obj2); | ||
205 | } | ||
206 | |||
207 | int | ||
208 | main(int argc, char *argv[]) | ||
209 | { | ||
210 | color c1, c2, c3; | ||
211 | int i; | ||
212 | |||
213 | if (argc != 5) | ||
214 | { | ||
215 | fprintf(stderr, "You have to use: %s color_class_name color1, color2," \ | ||
216 | "color3\n", argv[0]); | ||
217 | fprintf(stderr, "Available colors:\n"); | ||
218 | for (i = 0; i < 8; i++) | ||
219 | fprintf(stderr, "%s\n", color_names[i]); | ||
220 | |||
221 | return 1; | ||
222 | } | ||
223 | |||
224 | selected_class = argv[1]; | ||
225 | if (!(_get_color_from_name(argv[2], &c1) && | ||
226 | _get_color_from_name(argv[3], &c2) && | ||
227 | _get_color_from_name(argv[4], &c3))) | ||
228 | { | ||
229 | fprintf(stderr, "Color not available!\n"); | ||
230 | return 2; | ||
231 | } | ||
232 | |||
233 | ecore_evas_init(); | ||
234 | edje_init(); | ||
235 | |||
236 | _create_windows(); | ||
237 | |||
238 | edje_color_class_set(argv[1], /* class name */ | ||
239 | c1[0], c1[1], c1[2], c1[3], /* Object color */ | ||
240 | c2[0], c2[1], c2[2], c2[3], /* Text outline */ | ||
241 | c3[0], c3[1], c3[2], c3[3]); /* Text shadow */ | ||
242 | |||
243 | /* Setting an arbitrary value just to see the difference between */ | ||
244 | /* process level and object level */ | ||
245 | edje_object_color_class_set(edje_obj2, argv[1], /* class name */ | ||
246 | 128, 180, 77, 255, /* Object color */ | ||
247 | 200, 22, 86, 255, /* Text outline */ | ||
248 | 39, 90, 187, 255); /* Text shadow */ | ||
249 | |||
250 | _color_classes_print(); | ||
251 | ecore_main_loop_begin(); | ||
252 | ecore_evas_free(ee); | ||
253 | ecore_evas_free(ee2); | ||
254 | ecore_evas_shutdown(); | ||
255 | edje_shutdown(); | ||
256 | return 0; | ||
257 | } | ||
diff --git a/libraries/edje/src/examples/edje-drag.c b/libraries/edje/src/examples/edje-drag.c new file mode 100644 index 0000000..78e2e72 --- /dev/null +++ b/libraries/edje/src/examples/edje-drag.c | |||
@@ -0,0 +1,157 @@ | |||
1 | /** | ||
2 | * Simple Edje example illustrating drag functions. | ||
3 | * | ||
4 | * You'll need at least one Evas engine built for it (excluding the | ||
5 | * buffer one). See stdout/stderr for output. | ||
6 | * | ||
7 | * @verbatim | ||
8 | * edje_cc drag.edc && gcc -o drag-box drag-box.c `pkg-config --libs --cflags evas ecore ecore-evas edje` | ||
9 | * @endverbatim | ||
10 | */ | ||
11 | |||
12 | #ifdef HAVE_CONFIG_H | ||
13 | #include "config.h" | ||
14 | #else | ||
15 | #define PACKAGE_EXAMPLES_DIR "." | ||
16 | #define __UNUSED__ | ||
17 | #endif | ||
18 | |||
19 | #include <Ecore.h> | ||
20 | #include <Ecore_Evas.h> | ||
21 | #include <Edje.h> | ||
22 | |||
23 | #define WIDTH 300 | ||
24 | #define HEIGHT 300 | ||
25 | |||
26 | #define RECTW 30 | ||
27 | #define RECTH 30 | ||
28 | |||
29 | #define NRECTS 20 | ||
30 | |||
31 | static const char *PARTNAME = "example/knob"; | ||
32 | |||
33 | static const char *edje_file_path = PACKAGE_EXAMPLES_DIR "/drag.edj"; | ||
34 | |||
35 | struct _App { | ||
36 | Ecore_Evas *ee; | ||
37 | Evas_Object *edje; | ||
38 | Evas_Object *bg; | ||
39 | }; | ||
40 | |||
41 | static void | ||
42 | _on_destroy(Ecore_Evas *ee __UNUSED__) | ||
43 | { | ||
44 | ecore_main_loop_quit(); | ||
45 | } | ||
46 | |||
47 | /* here just to keep our example's window size and background image's | ||
48 | * size in synchrony */ | ||
49 | static void | ||
50 | _canvas_resize_cb(Ecore_Evas *ee) | ||
51 | { | ||
52 | int w, h; | ||
53 | struct _App *app = ecore_evas_data_get(ee, "app"); | ||
54 | |||
55 | ecore_evas_geometry_get(ee, NULL, NULL, &w, &h); | ||
56 | evas_object_resize(app->bg, w, h); | ||
57 | evas_object_resize(app->edje, w, h); | ||
58 | } | ||
59 | |||
60 | static void | ||
61 | _bg_key_down(void *data, Evas *e, Evas_Object *o __UNUSED__, void *event_info) | ||
62 | { | ||
63 | struct _App *app = data; | ||
64 | Evas_Event_Key_Down *ev = event_info; | ||
65 | Evas_Object *rect; | ||
66 | Eina_Bool r; | ||
67 | |||
68 | |||
69 | if (!strcmp(ev->keyname, "Down")) | ||
70 | { | ||
71 | edje_object_part_drag_step(app->edje, PARTNAME, 0, 1.0); | ||
72 | } | ||
73 | else if (!strcmp(ev->keyname, "Up")) | ||
74 | { | ||
75 | edje_object_part_drag_step(app->edje, PARTNAME, 0, -1.0); | ||
76 | } | ||
77 | else if (!strcmp(ev->keyname, "m")) | ||
78 | { | ||
79 | edje_object_part_drag_value_set(app->edje, PARTNAME, 0.0, 0.5); | ||
80 | } | ||
81 | else if (!strcmp(ev->keyname, "Prior")) | ||
82 | { | ||
83 | edje_object_part_drag_page(app->edje, PARTNAME, 0.0, -1.0); | ||
84 | } | ||
85 | else if (!strcmp(ev->keyname, "Next")) | ||
86 | { | ||
87 | edje_object_part_drag_page(app->edje, PARTNAME, 0.0, 1.0); | ||
88 | } | ||
89 | else if (!strcmp(ev->keyname, "Escape")) | ||
90 | ecore_main_loop_quit(); | ||
91 | else | ||
92 | printf("unhandled key: %s\n", ev->keyname); | ||
93 | } | ||
94 | |||
95 | static void | ||
96 | _knob_moved_cb(void *data, Evas_Object *o, const char *emission, const char *source) | ||
97 | { | ||
98 | double val; | ||
99 | edje_object_part_drag_value_get(o, PARTNAME, NULL, &val); | ||
100 | printf("value changed to: %0.3f\n", val); | ||
101 | } | ||
102 | |||
103 | int | ||
104 | main(void) | ||
105 | { | ||
106 | Evas *evas; | ||
107 | struct _App app; | ||
108 | int i; | ||
109 | |||
110 | ecore_evas_init(); | ||
111 | edje_init(); | ||
112 | |||
113 | /* this will give you a window with an Evas canvas under the first | ||
114 | * engine available */ | ||
115 | app.ee = ecore_evas_new(NULL, 0, 0, WIDTH, HEIGHT, NULL); | ||
116 | |||
117 | ecore_evas_callback_destroy_set(app.ee, _on_destroy); | ||
118 | ecore_evas_callback_resize_set(app.ee, _canvas_resize_cb); | ||
119 | ecore_evas_title_set(app.ee, "Edje Box Example"); | ||
120 | ecore_evas_show(app.ee); | ||
121 | |||
122 | ecore_evas_data_set(app.ee, "app", &app); | ||
123 | |||
124 | evas = ecore_evas_get(app.ee); | ||
125 | |||
126 | app.bg = evas_object_rectangle_add(evas); | ||
127 | evas_object_color_set(app.bg, 255, 255, 255, 255); | ||
128 | evas_object_resize(app.bg, WIDTH, HEIGHT); | ||
129 | evas_object_focus_set(app.bg, EINA_TRUE); | ||
130 | evas_object_show(app.bg); | ||
131 | |||
132 | evas_object_event_callback_add(app.bg, EVAS_CALLBACK_KEY_DOWN, _bg_key_down, &app); | ||
133 | |||
134 | app.edje = edje_object_add(evas); | ||
135 | |||
136 | edje_object_file_set(app.edje, edje_file_path, "example/group"); | ||
137 | evas_object_move(app.edje, 0, 0); | ||
138 | evas_object_resize(app.edje, WIDTH, HEIGHT); | ||
139 | evas_object_show(app.edje); | ||
140 | |||
141 | edje_object_part_drag_size_set(app.edje, PARTNAME, 1.0, 0.4); | ||
142 | |||
143 | if (!edje_object_part_drag_step_set(app.edje, PARTNAME, 0.0, 0.1)) | ||
144 | printf("error when setting drag step size.\n"); | ||
145 | |||
146 | if (!edje_object_part_drag_page_set(app.edje, PARTNAME, 0.0, 0.3)) | ||
147 | printf("error when setting drag page step size.\n"); | ||
148 | |||
149 | edje_object_signal_callback_add(app.edje, "drag", PARTNAME, _knob_moved_cb, &app); | ||
150 | |||
151 | ecore_main_loop_begin(); | ||
152 | |||
153 | ecore_evas_free(app.ee); | ||
154 | ecore_evas_shutdown(); | ||
155 | edje_shutdown(); | ||
156 | return 0; | ||
157 | } | ||
diff --git a/libraries/edje/src/examples/edje-perspective.c b/libraries/edje/src/examples/edje-perspective.c new file mode 100644 index 0000000..5220b74 --- /dev/null +++ b/libraries/edje/src/examples/edje-perspective.c | |||
@@ -0,0 +1,201 @@ | |||
1 | /** | ||
2 | * Simple Edje example illustrating drag functions. | ||
3 | * | ||
4 | * You'll need at least one Evas engine built for it (excluding the | ||
5 | * buffer one). See stdout/stderr for output. | ||
6 | * | ||
7 | * @verbatim | ||
8 | * edje_cc drag.edc && gcc -o drag-box drag-box.c `pkg-config --libs --cflags evas ecore ecore-evas edje` | ||
9 | * @endverbatim | ||
10 | */ | ||
11 | |||
12 | #ifdef HAVE_CONFIG_H | ||
13 | #include "config.h" | ||
14 | #else | ||
15 | #define PACKAGE_EXAMPLES_DIR "." | ||
16 | #define __UNUSED__ | ||
17 | #endif | ||
18 | |||
19 | #include <Ecore.h> | ||
20 | #include <Ecore_Evas.h> | ||
21 | #include <Edje.h> | ||
22 | |||
23 | #define WIDTH 480 | ||
24 | #define HEIGHT 320 | ||
25 | |||
26 | static const char *edje_file_path = PACKAGE_EXAMPLES_DIR "/perspective.edj"; | ||
27 | |||
28 | struct _App { | ||
29 | Ecore_Evas *ee; | ||
30 | Evas_Object *edje; | ||
31 | Evas_Object *bg; | ||
32 | Edje_Perspective *ps; | ||
33 | Eina_Bool animating; | ||
34 | int x, y; // relative position of part in the screen | ||
35 | int focal; | ||
36 | }; | ||
37 | |||
38 | static void | ||
39 | _on_destroy(Ecore_Evas *ee __UNUSED__) | ||
40 | { | ||
41 | ecore_main_loop_quit(); | ||
42 | } | ||
43 | |||
44 | /* here just to keep our example's window size and background image's | ||
45 | * size in synchrony */ | ||
46 | static void | ||
47 | _canvas_resize_cb(Ecore_Evas *ee) | ||
48 | { | ||
49 | int w, h; | ||
50 | struct _App *app = ecore_evas_data_get(ee, "app"); | ||
51 | |||
52 | ecore_evas_geometry_get(ee, NULL, NULL, &w, &h); | ||
53 | evas_object_resize(app->bg, w, h); | ||
54 | evas_object_resize(app->edje, w, h); | ||
55 | } | ||
56 | |||
57 | static void | ||
58 | _part_move(struct _App *app, int dx, int dy) | ||
59 | { | ||
60 | char emission[64]; | ||
61 | |||
62 | if (app->animating) | ||
63 | return; | ||
64 | |||
65 | app->x += dx; | ||
66 | app->y += dy; | ||
67 | if (app->x > 1) | ||
68 | app->x = 1; | ||
69 | if (app->x < 0) | ||
70 | app->x = 0; | ||
71 | if (app->y > 1) | ||
72 | app->y = 1; | ||
73 | if (app->y < 0) | ||
74 | app->y = 0; | ||
75 | |||
76 | snprintf(emission, sizeof(emission), "move,%d,%d", app->x, app->y); | ||
77 | edje_object_signal_emit(app->edje, emission, ""); | ||
78 | app->animating = EINA_TRUE; | ||
79 | } | ||
80 | |||
81 | |||
82 | static void | ||
83 | _bg_key_down(void *data, Evas *e, Evas_Object *o __UNUSED__, void *event_info) | ||
84 | { | ||
85 | struct _App *app = data; | ||
86 | Evas_Event_Key_Down *ev = event_info; | ||
87 | |||
88 | |||
89 | // just moving the part and text | ||
90 | if (!strcmp(ev->keyname, "Down")) | ||
91 | { | ||
92 | _part_move(app, 0, 1); | ||
93 | } | ||
94 | else if (!strcmp(ev->keyname, "Up")) | ||
95 | { | ||
96 | _part_move(app, 0, -1); | ||
97 | } | ||
98 | else if (!strcmp(ev->keyname, "Left")) | ||
99 | { | ||
100 | _part_move(app, -1, 0); | ||
101 | } | ||
102 | else if (!strcmp(ev->keyname, "Right")) | ||
103 | { | ||
104 | _part_move(app, 1, 0); | ||
105 | } | ||
106 | else if (!strcmp(ev->keyname, "Prior")) | ||
107 | { | ||
108 | _part_move(app, -1, -1); | ||
109 | } | ||
110 | else if (!strcmp(ev->keyname, "Next")) | ||
111 | { | ||
112 | _part_move(app, 1, 1); | ||
113 | } | ||
114 | // adjusting the perspective focal point distance | ||
115 | else if (!strcmp(ev->keyname, "KP_Add")) | ||
116 | { | ||
117 | app->focal += 5; | ||
118 | edje_perspective_set(app->ps, 240, 160, 0, app->focal); | ||
119 | edje_object_calc_force(app->edje); | ||
120 | } | ||
121 | else if (!strcmp(ev->keyname, "KP_Subtract")) | ||
122 | { | ||
123 | app->focal -= 5; | ||
124 | if (app->focal < 5) | ||
125 | app->focal = 5; | ||
126 | |||
127 | edje_perspective_set(app->ps, 240, 160, 0, app->focal); | ||
128 | edje_object_calc_force(app->edje); | ||
129 | } | ||
130 | // exiting | ||
131 | else if (!strcmp(ev->keyname, "Escape")) | ||
132 | ecore_main_loop_quit(); | ||
133 | else | ||
134 | printf("unhandled key: %s\n", ev->keyname); | ||
135 | } | ||
136 | |||
137 | static void | ||
138 | _animation_end_cb(void *data, Evas_Object *o __UNUSED__, const char *emission __UNUSED__, const char *source __UNUSED__) | ||
139 | { | ||
140 | struct _App *app = data; | ||
141 | |||
142 | app->animating = EINA_FALSE; | ||
143 | } | ||
144 | |||
145 | int | ||
146 | main(void) | ||
147 | { | ||
148 | Evas *evas; | ||
149 | struct _App app; | ||
150 | int i; | ||
151 | |||
152 | ecore_evas_init(); | ||
153 | edje_init(); | ||
154 | |||
155 | edje_frametime_set(((double)1) / 60); | ||
156 | |||
157 | /* this will give you a window with an Evas canvas under the first | ||
158 | * engine available */ | ||
159 | app.animating = EINA_FALSE; | ||
160 | app.x = 0; | ||
161 | app.y = 0; | ||
162 | app.focal = 50; | ||
163 | app.ee = ecore_evas_new(NULL, 0, 0, WIDTH, HEIGHT, NULL); | ||
164 | |||
165 | ecore_evas_callback_destroy_set(app.ee, _on_destroy); | ||
166 | ecore_evas_callback_resize_set(app.ee, _canvas_resize_cb); | ||
167 | ecore_evas_title_set(app.ee, "Edje Box Example"); | ||
168 | ecore_evas_show(app.ee); | ||
169 | |||
170 | ecore_evas_data_set(app.ee, "app", &app); | ||
171 | |||
172 | evas = ecore_evas_get(app.ee); | ||
173 | |||
174 | app.bg = evas_object_rectangle_add(evas); | ||
175 | evas_object_color_set(app.bg, 255, 255, 255, 255); | ||
176 | evas_object_resize(app.bg, WIDTH, HEIGHT); | ||
177 | evas_object_focus_set(app.bg, EINA_TRUE); | ||
178 | evas_object_show(app.bg); | ||
179 | |||
180 | evas_object_event_callback_add(app.bg, EVAS_CALLBACK_KEY_DOWN, _bg_key_down, &app); | ||
181 | |||
182 | app.edje = edje_object_add(evas); | ||
183 | |||
184 | edje_object_file_set(app.edje, edje_file_path, "example/group"); | ||
185 | evas_object_move(app.edje, 0, 0); | ||
186 | evas_object_resize(app.edje, WIDTH, HEIGHT); | ||
187 | evas_object_show(app.edje); | ||
188 | |||
189 | edje_object_signal_callback_add(app.edje, "animation,end", "", _animation_end_cb, &app); | ||
190 | |||
191 | app.ps = edje_perspective_new(evas); | ||
192 | edje_perspective_set(app.ps, 240, 160, 0, app.focal); | ||
193 | edje_perspective_global_set(app.ps, EINA_TRUE); | ||
194 | |||
195 | ecore_main_loop_begin(); | ||
196 | |||
197 | ecore_evas_free(app.ee); | ||
198 | ecore_evas_shutdown(); | ||
199 | edje_shutdown(); | ||
200 | return 0; | ||
201 | } | ||
diff --git a/libraries/edje/src/examples/edje-signals-messages.c b/libraries/edje/src/examples/edje-signals-messages.c new file mode 100644 index 0000000..2345738 --- /dev/null +++ b/libraries/edje/src/examples/edje-signals-messages.c | |||
@@ -0,0 +1,230 @@ | |||
1 | /** | ||
2 | * Simple Edje example illustrating the Edje signals and messages | ||
3 | * | ||
4 | * You'll need at least one Evas engine built for it (excluding the | ||
5 | * buffer one). See stdout/stderr for output. | ||
6 | * | ||
7 | * @verbatim | ||
8 | * gcc -o edje-signals-messages edje-signals-messages.c `pkg-config --libs --cflags evas ecore ecore-evas edje` | ||
9 | * @endverbatim | ||
10 | */ | ||
11 | |||
12 | #ifdef HAVE_CONFIG_H | ||
13 | #include "config.h" | ||
14 | #else | ||
15 | #define PACKAGE_EXAMPLES_DIR "." | ||
16 | #define __UNUSED__ | ||
17 | #endif | ||
18 | |||
19 | #include <Ecore.h> | ||
20 | #include <Ecore_Evas.h> | ||
21 | #include <Edje.h> | ||
22 | #include <stdio.h> | ||
23 | |||
24 | #define WIDTH (300) | ||
25 | #define HEIGHT (300) | ||
26 | |||
27 | #define MSG_COLOR 1 | ||
28 | #define MSG_TEXT 2 | ||
29 | |||
30 | static const char *border_img_path = PACKAGE_EXAMPLES_DIR "/red.png"; | ||
31 | static const char *edje_file_path = \ | ||
32 | PACKAGE_EXAMPLES_DIR "/signals-messages.edj"; | ||
33 | |||
34 | static Ecore_Evas *ee; | ||
35 | static Evas_Object *edje_obj; | ||
36 | static Eina_Bool right_rect_show = EINA_TRUE; | ||
37 | |||
38 | static const char *commands = \ | ||
39 | "commands are:\n" | ||
40 | "\tt - toggle right rectangle's visibility\n" | ||
41 | "\th - print help\n"; | ||
42 | |||
43 | static void | ||
44 | _on_keydown(void *data __UNUSED__, | ||
45 | Evas *evas __UNUSED__, | ||
46 | Evas_Object *o __UNUSED__, | ||
47 | void *einfo) | ||
48 | { | ||
49 | Evas_Event_Key_Down *ev = einfo; | ||
50 | |||
51 | if (strcmp(ev->keyname, "h") == 0) /* print help */ | ||
52 | { | ||
53 | fprintf(stdout, commands); | ||
54 | return; | ||
55 | } | ||
56 | |||
57 | if (strcmp(ev->keyname, "t") == 0) /* toggle right rectangle's visibility */ | ||
58 | { | ||
59 | char buf[1024]; | ||
60 | |||
61 | right_rect_show = !right_rect_show; | ||
62 | snprintf(buf, sizeof(buf), "part_right,%s", | ||
63 | right_rect_show ? "show" : "hide"); | ||
64 | |||
65 | printf("emitting %s\n", buf); | ||
66 | |||
67 | edje_object_signal_emit(edje_obj, buf, ""); | ||
68 | |||
69 | return; | ||
70 | } | ||
71 | } | ||
72 | |||
73 | static void | ||
74 | _on_delete(Ecore_Evas *ee __UNUSED__) | ||
75 | { | ||
76 | ecore_main_loop_quit(); | ||
77 | } | ||
78 | |||
79 | /* print signals coming from theme */ | ||
80 | static void | ||
81 | _sig_print(const char *emission, | ||
82 | const char *source) | ||
83 | { | ||
84 | fprintf(stdout, "Signal %s coming from part %s!\n", emission, source); | ||
85 | } | ||
86 | |||
87 | static void | ||
88 | _mouse_wheel_cb(void *data __UNUSED__, | ||
89 | Evas_Object *obj __UNUSED__, | ||
90 | const char *emission, | ||
91 | const char *source) | ||
92 | { | ||
93 | _sig_print(emission, source); | ||
94 | } | ||
95 | |||
96 | /* mouse over signals */ | ||
97 | static void | ||
98 | _mouse_over_cb(void *data __UNUSED__, | ||
99 | Evas_Object *obj __UNUSED__, | ||
100 | const char *emission, | ||
101 | const char *source) | ||
102 | { | ||
103 | int i; | ||
104 | |||
105 | _sig_print(emission, source); | ||
106 | |||
107 | Edje_Message_Int_Set *msg = malloc(sizeof(*msg) + 3 * sizeof(int)); | ||
108 | msg->count = 4; | ||
109 | for (i = 0; i < 4; i++) | ||
110 | msg->val[i] = rand() % 256; | ||
111 | |||
112 | edje_object_message_send(edje_obj, EDJE_MESSAGE_INT_SET, MSG_COLOR, msg); | ||
113 | |||
114 | free(msg); | ||
115 | } | ||
116 | |||
117 | /* print out received message string */ | ||
118 | static void | ||
119 | _message_handle(void *data __UNUSED__, | ||
120 | Evas_Object *obj __UNUSED__, | ||
121 | Edje_Message_Type type, | ||
122 | int id, | ||
123 | void *msg) | ||
124 | { | ||
125 | Edje_Message_String *m; | ||
126 | |||
127 | if (type != EDJE_MESSAGE_STRING) return; | ||
128 | if (id != MSG_TEXT) return; | ||
129 | |||
130 | m = msg; | ||
131 | |||
132 | fprintf(stdout, "String message received: %s\n", m->str); | ||
133 | } | ||
134 | |||
135 | int | ||
136 | main(void) | ||
137 | { | ||
138 | Evas_Object *border, *bg; | ||
139 | Evas *evas; | ||
140 | |||
141 | srand(time(NULL)); | ||
142 | |||
143 | if (!ecore_evas_init()) | ||
144 | return EXIT_FAILURE; | ||
145 | |||
146 | if (!edje_init()) | ||
147 | return EXIT_FAILURE; | ||
148 | |||
149 | /* this will give you a window with an Evas canvas under the first | ||
150 | * engine available */ | ||
151 | ee = ecore_evas_new(NULL, 0, 0, WIDTH, HEIGHT, NULL); | ||
152 | if (!ee) | ||
153 | goto error; | ||
154 | |||
155 | ecore_evas_callback_delete_request_set(ee, _on_delete); | ||
156 | ecore_evas_title_set(ee, "Edje Basics Example"); | ||
157 | ecore_evas_show(ee); | ||
158 | |||
159 | evas = ecore_evas_get(ee); | ||
160 | |||
161 | bg = evas_object_rectangle_add(evas); | ||
162 | evas_object_color_set(bg, 255, 255, 255, 255); /* white bg */ | ||
163 | evas_object_move(bg, 0, 0); /* at canvas' origin */ | ||
164 | evas_object_resize(bg, WIDTH, HEIGHT); /* covers full canvas */ | ||
165 | evas_object_show(bg); | ||
166 | ecore_evas_object_associate(ee, bg, ECORE_EVAS_OBJECT_ASSOCIATE_BASE); | ||
167 | |||
168 | evas_object_focus_set(bg, EINA_TRUE); | ||
169 | evas_object_event_callback_add( | ||
170 | bg, EVAS_CALLBACK_KEY_DOWN, _on_keydown, NULL); | ||
171 | |||
172 | edje_obj = edje_object_add(evas); | ||
173 | |||
174 | if (!edje_object_file_set(edje_obj, edje_file_path, "example_group")) | ||
175 | { | ||
176 | int err = edje_object_load_error_get(edje_obj); | ||
177 | const char *errmsg = edje_load_error_str(err); | ||
178 | fprintf(stderr, "Could not load 'example_group' from " | ||
179 | "signals-messages.edj: %s\n", errmsg); | ||
180 | |||
181 | evas_object_del(edje_obj); | ||
182 | goto error_edj; | ||
183 | } | ||
184 | |||
185 | edje_object_signal_callback_add(edje_obj, "mouse,wheel,*", "part_left", | ||
186 | _mouse_wheel_cb, NULL); | ||
187 | |||
188 | edje_object_signal_callback_add(edje_obj, "mouse,over", "part_right", | ||
189 | _mouse_over_cb, NULL); | ||
190 | |||
191 | edje_object_message_handler_set(edje_obj, _message_handle, NULL); | ||
192 | |||
193 | evas_object_move(edje_obj, 20, 20); | ||
194 | evas_object_resize(edje_obj, WIDTH - 40, HEIGHT - 40); | ||
195 | evas_object_show(edje_obj); | ||
196 | |||
197 | /* this is a border around the Edje object above, here just to | ||
198 | * emphasize its geometry */ | ||
199 | border = evas_object_image_filled_add(evas); | ||
200 | evas_object_image_file_set(border, border_img_path, NULL); | ||
201 | evas_object_image_border_set(border, 2, 2, 2, 2); | ||
202 | evas_object_image_border_center_fill_set(border, EVAS_BORDER_FILL_NONE); | ||
203 | |||
204 | evas_object_resize(border, WIDTH - 40 + 4, HEIGHT - 40 + 4); | ||
205 | evas_object_move(border, 20 - 2, 20 - 2); | ||
206 | evas_object_repeat_events_set(border, EINA_TRUE); | ||
207 | evas_object_show(border); | ||
208 | |||
209 | fprintf(stdout, commands); | ||
210 | ecore_main_loop_begin(); | ||
211 | |||
212 | ecore_evas_free(ee); | ||
213 | ecore_evas_shutdown(); | ||
214 | edje_shutdown(); | ||
215 | return 0; | ||
216 | |||
217 | error: | ||
218 | fprintf(stderr, "You got to have at least one Evas engine built" | ||
219 | " and linked up to ecore-evas for this example to run" | ||
220 | " properly.\n"); | ||
221 | ecore_evas_shutdown(); | ||
222 | return -1; | ||
223 | |||
224 | error_edj: | ||
225 | fprintf(stderr, "Failed to load signals-messages.edj!\n"); | ||
226 | |||
227 | ecore_evas_shutdown(); | ||
228 | return -2; | ||
229 | } | ||
230 | |||
diff --git a/libraries/edje/src/examples/edje-swallow.c b/libraries/edje/src/examples/edje-swallow.c new file mode 100644 index 0000000..a1d30e2 --- /dev/null +++ b/libraries/edje/src/examples/edje-swallow.c | |||
@@ -0,0 +1,95 @@ | |||
1 | /** | ||
2 | * Simple Edje example illustrating swallow functions. | ||
3 | * | ||
4 | * You'll need at least one Evas engine built for it (excluding the | ||
5 | * buffer one). See stdout/stderr for output. | ||
6 | * | ||
7 | * @verbatim | ||
8 | * edje_cc swallow.edc && gcc -o edje-swallow edje-swallow.c `pkg-config --libs --cflags evas ecore ecore-evas edje` | ||
9 | * @endverbatim | ||
10 | */ | ||
11 | |||
12 | #ifdef HAVE_CONFIG_H | ||
13 | #include "config.h" | ||
14 | #else | ||
15 | #define PACKAGE_EXAMPLES_DIR "." | ||
16 | #define __UNUSED__ | ||
17 | #endif | ||
18 | |||
19 | #include <Ecore.h> | ||
20 | #include <Ecore_Evas.h> | ||
21 | #include <Edje.h> | ||
22 | |||
23 | #define WIDTH (300) | ||
24 | #define HEIGHT (300) | ||
25 | |||
26 | static const char *edje_file_path = PACKAGE_EXAMPLES_DIR "/swallow.edj"; | ||
27 | |||
28 | static Ecore_Evas *ee; | ||
29 | static Evas_Object *bg; | ||
30 | |||
31 | static void | ||
32 | _on_delete(Ecore_Evas *ee __UNUSED__) | ||
33 | { | ||
34 | ecore_main_loop_quit(); | ||
35 | } | ||
36 | |||
37 | /* here just to keep our example's window size and background image's | ||
38 | * size in synchrony */ | ||
39 | static void | ||
40 | _canvas_resize_cb(Ecore_Evas *ee) | ||
41 | { | ||
42 | int w, h; | ||
43 | |||
44 | ecore_evas_geometry_get(ee, NULL, NULL, &w, &h); | ||
45 | evas_object_resize(bg, w, h); | ||
46 | } | ||
47 | |||
48 | int | ||
49 | main(void) | ||
50 | { | ||
51 | Evas_Object *edje_obj, *rect, *obj; | ||
52 | Evas *evas; | ||
53 | |||
54 | ecore_evas_init(); | ||
55 | edje_init(); | ||
56 | |||
57 | /* this will give you a window with an Evas canvas under the first | ||
58 | * engine available */ | ||
59 | ee = ecore_evas_new(NULL, 0, 0, WIDTH, HEIGHT, NULL); | ||
60 | |||
61 | ecore_evas_callback_delete_request_set(ee, _on_delete); | ||
62 | ecore_evas_callback_resize_set(ee, _canvas_resize_cb); | ||
63 | ecore_evas_title_set(ee, "Edje Swallow Example"); | ||
64 | ecore_evas_show(ee); | ||
65 | |||
66 | evas = ecore_evas_get(ee); | ||
67 | |||
68 | bg = evas_object_rectangle_add(evas); | ||
69 | evas_object_color_set(bg, 255, 255, 255, 255); /* white bg */ | ||
70 | evas_object_move(bg, 0, 0); /* at canvas' origin */ | ||
71 | evas_object_resize(bg, WIDTH, HEIGHT); /* covers full canvas */ | ||
72 | evas_object_show(bg); | ||
73 | |||
74 | edje_obj = edje_object_add(evas); | ||
75 | |||
76 | edje_object_file_set(edje_obj, edje_file_path, "example_group"); | ||
77 | evas_object_move(edje_obj, 20, 20); | ||
78 | evas_object_resize(edje_obj, WIDTH - 40, HEIGHT - 40); | ||
79 | evas_object_show(edje_obj); | ||
80 | |||
81 | rect = evas_object_rectangle_add(evas); | ||
82 | evas_object_color_set(rect, 255, 0, 0, 255); | ||
83 | edje_object_part_swallow(edje_obj, "part_one", rect); | ||
84 | |||
85 | obj = edje_object_part_swallow_get(edje_obj, "part_one"); | ||
86 | if(obj == rect) | ||
87 | printf("Swallowing worked!\n"); | ||
88 | |||
89 | ecore_main_loop_begin(); | ||
90 | |||
91 | ecore_evas_free(ee); | ||
92 | ecore_evas_shutdown(); | ||
93 | edje_shutdown(); | ||
94 | return 0; | ||
95 | } | ||
diff --git a/libraries/edje/src/examples/edje-table.c b/libraries/edje/src/examples/edje-table.c new file mode 100644 index 0000000..3866d22 --- /dev/null +++ b/libraries/edje/src/examples/edje-table.c | |||
@@ -0,0 +1,165 @@ | |||
1 | /** | ||
2 | * Simple Edje example illustrating table functions. | ||
3 | * | ||
4 | * You'll need at least one Evas engine built for it (excluding the | ||
5 | * buffer one). See stdout/stderr for output. | ||
6 | * | ||
7 | * @verbatim | ||
8 | * edje_cc table.edc && gcc -o edje-table edje-table.c `pkg-config --libs --cflags evas ecore ecore-evas edje` | ||
9 | * @endverbatim | ||
10 | */ | ||
11 | |||
12 | #ifdef HAVE_CONFIG_H | ||
13 | #include "config.h" | ||
14 | #else | ||
15 | #define PACKAGE_EXAMPLES_DIR "." | ||
16 | #define __UNUSED__ | ||
17 | #endif | ||
18 | |||
19 | #include <Ecore.h> | ||
20 | #include <Ecore_Evas.h> | ||
21 | #include <Edje.h> | ||
22 | |||
23 | #define WIDTH (400) | ||
24 | #define HEIGHT (400) | ||
25 | |||
26 | static const char *edje_file_path = PACKAGE_EXAMPLES_DIR "/table.edj"; | ||
27 | |||
28 | static Ecore_Evas *ee; | ||
29 | static Evas *evas; | ||
30 | static Evas_Object *bg, *edje_obj, *rects[4]; | ||
31 | |||
32 | static void | ||
33 | _on_delete(Ecore_Evas *ee __UNUSED__) | ||
34 | { | ||
35 | ecore_main_loop_quit(); | ||
36 | } | ||
37 | |||
38 | /* Try to get the number of columns and rows of the table | ||
39 | * and print them. */ | ||
40 | static void | ||
41 | _columns_rows_print(void) | ||
42 | { | ||
43 | int cols, rows; | ||
44 | |||
45 | if (edje_object_part_table_col_row_size_get(edje_obj, "table_part", &cols, | ||
46 | &rows)) | ||
47 | fprintf(stdout, "Number of columns: %d\nNumber of rows: %d\n", cols, rows); | ||
48 | else | ||
49 | fprintf(stderr, "Cannot get the number of columns and rows\n"); | ||
50 | } | ||
51 | |||
52 | /* here just to keep our example's window size and table items | ||
53 | * size in synchrony. */ | ||
54 | static void | ||
55 | _canvas_resize_cb(Ecore_Evas *ee) | ||
56 | { | ||
57 | int i, w, h; | ||
58 | |||
59 | ecore_evas_geometry_get(ee, NULL, NULL, &w, &h); | ||
60 | |||
61 | evas_object_resize(bg, w, h); | ||
62 | evas_object_resize(edje_obj, w, h); | ||
63 | |||
64 | for (i = 0; i < 4; i++) | ||
65 | evas_object_size_hint_min_set(rects[i], w/2, h/2); | ||
66 | } | ||
67 | |||
68 | /* Mouse button 1 = remove the clicked item | ||
69 | * any other button = remove all items. */ | ||
70 | static void | ||
71 | _on_mouse_down(void *data, Evas *evas, Evas_Object *obj, void *event_info) | ||
72 | { | ||
73 | Evas_Event_Mouse_Down *ev = event_info; | ||
74 | |||
75 | if (ev->button != 1) | ||
76 | edje_object_part_table_clear(edje_obj, "table_part", EINA_TRUE); | ||
77 | else if (!edje_object_part_table_unpack(edje_obj, "table_part", obj)) | ||
78 | fprintf(stderr, "Cannot remove the selected rectangle\n"); | ||
79 | |||
80 | evas_object_del(obj); | ||
81 | _columns_rows_print(); | ||
82 | } | ||
83 | |||
84 | static void | ||
85 | _rects_create(void) | ||
86 | { | ||
87 | int i; | ||
88 | |||
89 | for (i = 0; i < 4; i++) | ||
90 | { | ||
91 | rects[i] = evas_object_rectangle_add(evas); | ||
92 | evas_object_size_hint_min_set(rects[i], 200, 200); | ||
93 | evas_object_size_hint_weight_set(rects[i], 1.0, 1.0); | ||
94 | evas_object_show(rects[i]); | ||
95 | evas_object_event_callback_add(rects[i], EVAS_CALLBACK_MOUSE_DOWN, | ||
96 | _on_mouse_down, NULL); | ||
97 | } | ||
98 | } | ||
99 | |||
100 | int | ||
101 | main(void) | ||
102 | { | ||
103 | int i; | ||
104 | |||
105 | ecore_evas_init(); | ||
106 | edje_init(); | ||
107 | |||
108 | /* this will give you a window with an Evas canvas under the first | ||
109 | * engine available */ | ||
110 | ee = ecore_evas_new(NULL, 0, 0, WIDTH, HEIGHT, NULL); | ||
111 | |||
112 | ecore_evas_callback_delete_request_set(ee, _on_delete); | ||
113 | ecore_evas_callback_resize_set(ee, _canvas_resize_cb); | ||
114 | ecore_evas_title_set(ee, "Edje Table Example"); | ||
115 | ecore_evas_show(ee); | ||
116 | |||
117 | evas = ecore_evas_get(ee); | ||
118 | |||
119 | bg = evas_object_rectangle_add(evas); | ||
120 | evas_object_color_set(bg, 255, 255, 255, 255); /* white bg */ | ||
121 | evas_object_move(bg, 0, 0); /* at canvas' origin */ | ||
122 | evas_object_resize(bg, WIDTH, HEIGHT); /* covers full canvas */ | ||
123 | evas_object_show(bg); | ||
124 | |||
125 | edje_obj = edje_object_add(evas); | ||
126 | |||
127 | edje_object_file_set(edje_obj, edje_file_path, "example_table"); | ||
128 | evas_object_move(edje_obj, 0, 0); /* at canvas' origin */ | ||
129 | evas_object_resize(edje_obj, WIDTH, HEIGHT); | ||
130 | evas_object_show(edje_obj); | ||
131 | |||
132 | _rects_create(); | ||
133 | |||
134 | /* Colouring the rectangles */ | ||
135 | evas_object_color_set(rects[0], 255, 0, 0, 255); | ||
136 | evas_object_color_set(rects[1], 0, 255, 0, 255); | ||
137 | evas_object_color_set(rects[2], 0, 0, 255, 255); | ||
138 | evas_object_color_set(rects[3], 128, 128, 128, 255); | ||
139 | |||
140 | /* Packing the rectangles into the table */ | ||
141 | if (!edje_object_part_table_pack(edje_obj, "table_part", rects[0], | ||
142 | 0, 0, 1, 2)) | ||
143 | fprintf(stderr, "Cannot add the rectangle 1 to table\n"); | ||
144 | |||
145 | if (!edje_object_part_table_pack(edje_obj, "table_part", rects[1], | ||
146 | 0, 1, 1, 1)) | ||
147 | fprintf(stderr, "Cannot add the rectangle 2 to table\n"); | ||
148 | |||
149 | if (!edje_object_part_table_pack(edje_obj, "table_part", rects[2], | ||
150 | 1, 0, 1, 1)) | ||
151 | fprintf(stderr, "Cannot add the rectangle 3 to table\n"); | ||
152 | |||
153 | if (!edje_object_part_table_pack(edje_obj, "table_part", rects[3], | ||
154 | 1, 1, 1, 1)) | ||
155 | fprintf(stderr, "Cannot add the rectangle 4 to table\n"); | ||
156 | |||
157 | _columns_rows_print(); | ||
158 | |||
159 | ecore_main_loop_begin(); | ||
160 | |||
161 | ecore_evas_free(ee); | ||
162 | ecore_evas_shutdown(); | ||
163 | edje_shutdown(); | ||
164 | return 0; | ||
165 | } | ||
diff --git a/libraries/edje/src/examples/edje-text.c b/libraries/edje/src/examples/edje-text.c new file mode 100644 index 0000000..0916509 --- /dev/null +++ b/libraries/edje/src/examples/edje-text.c | |||
@@ -0,0 +1,92 @@ | |||
1 | /** | ||
2 | * Simple Edje example illustrating text functions. | ||
3 | * | ||
4 | * You'll need at least one Evas engine built for it (excluding the | ||
5 | * buffer one). See stdout/stderr for output. | ||
6 | * | ||
7 | * @verbatim | ||
8 | * edje_cc text.edc && gcc -o edje-text edje-text.c `pkg-config --libs --cflags ecore-evas edje` | ||
9 | * @endverbatim | ||
10 | */ | ||
11 | |||
12 | #ifdef HAVE_CONFIG_H | ||
13 | #include "config.h" | ||
14 | #else | ||
15 | #define PACKAGE_EXAMPLES_DIR "." | ||
16 | #define __UNUSED__ | ||
17 | #endif | ||
18 | |||
19 | #include <Ecore.h> | ||
20 | #include <Ecore_Evas.h> | ||
21 | #include <Edje.h> | ||
22 | |||
23 | #define WIDTH (300) | ||
24 | #define HEIGHT (300) | ||
25 | |||
26 | static const char *edje_file_path = PACKAGE_EXAMPLES_DIR "/text.edj"; | ||
27 | |||
28 | static Ecore_Evas *ee; | ||
29 | static Evas_Object *bg; | ||
30 | |||
31 | static void | ||
32 | _on_delete(Ecore_Evas *ee __UNUSED__) | ||
33 | { | ||
34 | ecore_main_loop_quit(); | ||
35 | } | ||
36 | |||
37 | static void | ||
38 | _cb(void *data, Evas_Object *obj, const char *part) | ||
39 | { | ||
40 | printf("text: %s\n", edje_object_part_text_unescaped_get(obj, part)); | ||
41 | } | ||
42 | |||
43 | int | ||
44 | main(void) | ||
45 | { | ||
46 | Evas_Object *edje_obj, *rect, *obj; | ||
47 | Evas *evas; | ||
48 | |||
49 | ecore_evas_init(); | ||
50 | edje_init(); | ||
51 | |||
52 | /* this will give you a window with an Evas canvas under the first | ||
53 | * engine available */ | ||
54 | ee = ecore_evas_new(NULL, 0, 0, WIDTH, HEIGHT, NULL); | ||
55 | |||
56 | ecore_evas_callback_delete_request_set(ee, _on_delete); | ||
57 | ecore_evas_title_set(ee, "Edje text Example"); | ||
58 | ecore_evas_show(ee); | ||
59 | |||
60 | evas = ecore_evas_get(ee); | ||
61 | |||
62 | bg = evas_object_rectangle_add(evas); | ||
63 | evas_object_color_set(bg, 255, 255, 255, 255); /* white bg */ | ||
64 | evas_object_move(bg, 0, 0); /* at canvas' origin */ | ||
65 | evas_object_resize(bg, WIDTH, HEIGHT); /* covers full canvas */ | ||
66 | evas_object_show(bg); | ||
67 | ecore_evas_object_associate(ee, bg, ECORE_EVAS_OBJECT_ASSOCIATE_BASE); | ||
68 | |||
69 | edje_obj = edje_object_add(evas); | ||
70 | |||
71 | edje_object_file_set(edje_obj, edje_file_path, "example_group"); | ||
72 | evas_object_move(edje_obj, 20, 20); | ||
73 | evas_object_resize(edje_obj, WIDTH - 40, HEIGHT - 40); | ||
74 | evas_object_show(edje_obj); | ||
75 | |||
76 | edje_object_text_change_cb_set(edje_obj, _cb, NULL); | ||
77 | edje_object_part_text_set(edje_obj, "part_one", "one"); | ||
78 | edje_object_part_text_set(edje_obj, "part_two", "<b>two"); | ||
79 | |||
80 | edje_object_part_text_select_allow_set(edje_obj, "part_two", EINA_TRUE); | ||
81 | edje_object_part_text_select_all(edje_obj, "part_two"); | ||
82 | printf("selection: %s\n", edje_object_part_text_selection_get(edje_obj, "part_two")); | ||
83 | edje_object_part_text_select_none(edje_obj, "part_two"); | ||
84 | printf("selection: %s\n", edje_object_part_text_selection_get(edje_obj, "part_two")); | ||
85 | |||
86 | ecore_main_loop_begin(); | ||
87 | |||
88 | ecore_evas_free(ee); | ||
89 | ecore_evas_shutdown(); | ||
90 | edje_shutdown(); | ||
91 | return 0; | ||
92 | } | ||
diff --git a/libraries/edje/src/examples/lua_script.edc b/libraries/edje/src/examples/lua_script.edc new file mode 100644 index 0000000..24e8ebe --- /dev/null +++ b/libraries/edje/src/examples/lua_script.edc | |||
@@ -0,0 +1,405 @@ | |||
1 | color_classes { | ||
2 | color_class { name: "test_colour"; color: 255 255 255 255; } | ||
3 | } | ||
4 | |||
5 | fonts { | ||
6 | font: "Vera.ttf" "default"; | ||
7 | } | ||
8 | |||
9 | images { | ||
10 | image: "bubble.png" COMP; | ||
11 | image: "test.png" COMP; | ||
12 | } | ||
13 | |||
14 | collections { | ||
15 | group { | ||
16 | name: "main"; | ||
17 | lua_script_only: 1; | ||
18 | lua_script { | ||
19 | --// stick object private/local vars here | ||
20 | local D; | ||
21 | local count = 0; | ||
22 | local fndata = 99; | ||
23 | local text_geom; | ||
24 | |||
25 | --// Functions to print tables. | ||
26 | local print_table, print_table_start; | ||
27 | |||
28 | function print_table_start(table, space, name) | ||
29 | print(space .. name .. ": "); | ||
30 | print(space .. "{"); | ||
31 | print_table(table, space .. " "); | ||
32 | print(space .. "}"); | ||
33 | end | ||
34 | |||
35 | function print_table(table, space) | ||
36 | for k, v in pairs(table) do | ||
37 | if type(v) == "table" then | ||
38 | print_table_start(v, space, k); | ||
39 | elseif type(v) == "string" then | ||
40 | print(space .. k .. ': "' .. v .. '";') | ||
41 | else | ||
42 | print(space .. k .. ": " .. v .. ";") | ||
43 | end | ||
44 | end | ||
45 | end | ||
46 | |||
47 | local function mycb3 (v) | ||
48 | print("lua::callback transition " .. D.val .. " v: " .. v); | ||
49 | d = {}; | ||
50 | d = edje.size(d); | ||
51 | print("lua::objsize= " .. d.w .. " , " .. d.h); | ||
52 | sz = {w=v * 80, h=v * 40}; | ||
53 | D.rect:geom(((d.w / 2) * math.sin(v * 2 * math.pi)) + ((d.w - sz.w) / 2), | ||
54 | ((d.h / 2) * math.cos(v * 2 * math.pi)) + ((d.h - sz.h) / 2), | ||
55 | sz.w, sz.h); | ||
56 | D.rect:color(255, 128, v * 255, 255); | ||
57 | d = D.rect:move(d); | ||
58 | print("lua::pos= " .. d.x .. " , " .. d.y); | ||
59 | |||
60 | r = D.rect:above(); | ||
61 | if (r ~= nil) then | ||
62 | print("lua::rcol"); | ||
63 | r:color(20, v * 255, 60, 255); | ||
64 | else | ||
65 | print("lua::r none!!!!!!!!!!!!!!1"); | ||
66 | end | ||
67 | d = edje.size(); | ||
68 | D.clip:geom(10, 10, d.w - 20, d.h - 20); | ||
69 | c = D.clip:clipees(); | ||
70 | for i=1,table.getn(c),1 do | ||
71 | d = c[i]:geom(); | ||
72 | print("lua::" .. i .. " geom = " .. d.x .. "," .. d.y .. " " .. d.w .. "x" .. d.h); | ||
73 | end | ||
74 | return true; --// repeat the timer | ||
75 | end | ||
76 | |||
77 | local function mycb2 () | ||
78 | print("lua::callback animator " .. count .. " seconds: " .. edje.seconds() .. " looptime: " .. edje.looptime()); | ||
79 | edje.color_class("test_colour", 255, (count * 10) % 255, 255, 255); | ||
80 | edje.text_class("test_text_class", "Sans:style=Bold", ((count * 3) % 100) + 8); | ||
81 | if (5 > (count % 10)) then | ||
82 | D.text:font("default", 32); | ||
83 | else | ||
84 | D.text:font("Sans:style=Bold", 32); | ||
85 | end | ||
86 | edje_geom = edje.geom(); | ||
87 | text_geom = D.text:geom(); | ||
88 | D.text:move((edje_geom.w - text_geom.w) / 2, (edje_geom.h - text_geom.h) / 8); | ||
89 | return true; --// repeat the timer | ||
90 | end | ||
91 | |||
92 | local function mycb () | ||
93 | print("lua::callback timer " .. count .. " fndata = " .. fndata); | ||
94 | count = count + 1; --// keep count of calls - object data | ||
95 | fndata = fndata + 3; --// play with object vars to see if they persist | ||
96 | D.tim = edje.timer(0.25, mycb); --// inside cb add new timer | ||
97 | return false; --// cease repeating the timer | ||
98 | end | ||
99 | |||
100 | --// init object here | ||
101 | D = {}; --// data is empty table to start | ||
102 | D.val = math.random(); --// start with some random value so | ||
103 | fndata = fndata + D.val; --// func data start point | ||
104 | print("lua::init ... " .. D.val); | ||
105 | edje.echo("lua::echo('hello world')"); | ||
106 | |||
107 | --// actually add the timer to call mycb in 1.23 sec | ||
108 | D.tim = edje.timer(1.23, mycb); | ||
109 | D.tra = edje.transition(5.0, mycb3); | ||
110 | D.ani = edje.animator(mycb2); | ||
111 | edje_geom = edje.geom(); | ||
112 | |||
113 | if (edje.spanky) then edje.spanky(); end | ||
114 | |||
115 | local date = edje.date(); | ||
116 | print("lua:: date: " .. | ||
117 | date.year .. "|" .. | ||
118 | date.month .. "|" .. | ||
119 | date.day .. "|" .. | ||
120 | date.yearday .. "|" .. | ||
121 | date.weekday .. "|" .. | ||
122 | date.hour .. "|" .. | ||
123 | date.min .. "|" .. | ||
124 | date.sec | ||
125 | ); | ||
126 | |||
127 | --// send some random edje message | ||
128 | edje.messagesend(7, "none" ); | ||
129 | edje.messagesend(7, "sig", "signal", "source"); | ||
130 | edje.messagesend(7, "str", "hello world"); | ||
131 | edje.messagesend(7, "int", 987); | ||
132 | edje.messagesend(7, "float", 987.321); | ||
133 | edje.messagesend(7, "strset", {"hello", "there", "world"}); | ||
134 | edje.messagesend(7, "intset", {1, 2, 3}); | ||
135 | edje.messagesend(7, "floatset", {1.1, 2.2, 3.3}); | ||
136 | edje.messagesend(7, "strint", "hello world", 7); | ||
137 | edje.messagesend(7, "strfloat", "hello world", 7.654); | ||
138 | edje.messagesend(7, "strintset","hello world", {1, 2, 3}); | ||
139 | |||
140 | D.edje = edje.edje(); | ||
141 | D.edje:file("plain/edje/group"); | ||
142 | D.edje:show(); | ||
143 | |||
144 | D.rect = edje.rect(); | ||
145 | D.rect:geom (5, 10, 50, 30); | ||
146 | D.rect:color (255, 128, 60, 255); | ||
147 | D.rect:show (); | ||
148 | |||
149 | D.rect2 = edje.rect(); | ||
150 | D.rect2:geom (50, 50, 50, 50); | ||
151 | D.rect2:color (20, 30, 60, 120); | ||
152 | D.rect2:show (); | ||
153 | |||
154 | D.clip = edje.rect(); | ||
155 | D.clip:geom (10, 10, 150, 150); | ||
156 | D.clip:color (200, 200, 50, 200); | ||
157 | D.clip:show (); | ||
158 | |||
159 | D.rect2:clip(D.clip); | ||
160 | D.rect:clip(D.clip); | ||
161 | |||
162 | D.text = edje.text(); | ||
163 | D.text:geom (50, 5, 150, 50); | ||
164 | D.text:color (255, 0, 0, 255); | ||
165 | D.text:font("Sans:style=Bold", 32); | ||
166 | D.text:text("Lua rocks!"); | ||
167 | text_geom = D.text:geom(); | ||
168 | print(D.text:text()); | ||
169 | D.text:show(); | ||
170 | |||
171 | --// Fun with maps! | ||
172 | D.map = edje.map(4); --// 4 is the only supported map size at the moment. | ||
173 | --// These all do the same thing. | ||
174 | --// Note, lua likes to start at 1, C (and thus evas) at 0. I choose to agree with C. | ||
175 | D.map:coord(0, 50, 50, 0); | ||
176 | D.map:coord(1, 100, 50, 0); | ||
177 | D.map:coord(2, 100, 100, 0); | ||
178 | D.map:coord(3, 50, 100, 0); | ||
179 | D.map:populate(50, 50, 50, 50, 0); | ||
180 | D.map:populate(D.rect2, 0); | ||
181 | D.map:populate(D.rect2); | ||
182 | |||
183 | --// print the results | ||
184 | D.coord = D.map:coord(0); | ||
185 | print("lua::map coords for point 0 x=" .. D.coord.x .. " y=" .. D.coord.y .. " z=" .. D.coord.z); | ||
186 | D.coord = D.map:coord(1); | ||
187 | print("lua::map coords for point 1 x=" .. D.coord.x .. " y=" .. D.coord.y .. " z=" .. D.coord.z); | ||
188 | D.coord = D.map:coord(2); | ||
189 | print("lua::map coords for point 2 x=" .. D.coord.x .. " y=" .. D.coord.y .. " z=" .. D.coord.z); | ||
190 | D.coord = D.map:coord(3); | ||
191 | print("lua::map coords for point 3 x=" .. D.coord.x .. " y=" .. D.coord.y .. " z=" .. D.coord.z); | ||
192 | |||
193 | D.map:smooth(false); | ||
194 | D.map:alpha(true); | ||
195 | |||
196 | if (D.map:alpha()) then | ||
197 | print("lua::map is alpha"); | ||
198 | end | ||
199 | |||
200 | if (D.map:smooth()) then | ||
201 | print("lua::map is smooooth"); | ||
202 | end | ||
203 | |||
204 | if (D.map:clockwise()) then | ||
205 | print("lua::map is clockwise"); | ||
206 | end | ||
207 | |||
208 | D.map:color(255, 255, 255, 255); // set all points to this colour. | ||
209 | D.map:color(1, 255, 0, 255, 255); // set just one point to this colour. | ||
210 | |||
211 | D.map:lighting(75, 75, 10, 255, 255, 255, 0, 255, 0); // Ambient light and a 3D light source. | ||
212 | |||
213 | --// Toss it around. | ||
214 | D.map:rotate(45.0, 75, 75); | ||
215 | D.map:zoom(1.5, 1.5, 75, 75); | ||
216 | D.map:rotate3d(10.0, 20.0, 30.0, 75, 75, 0); | ||
217 | D.map:perspective(200, 200, 0, 20); | ||
218 | |||
219 | --// For image UV mapping. | ||
220 | D.map:uv(0, 0.0, 0.0); | ||
221 | D.map:uv(1, 50.0, 0.0); | ||
222 | D.map:uv(2, 50.0, 50.0); | ||
223 | D.map:uv(3, 0.0, 50.0); | ||
224 | |||
225 | --// Actually apply the resulting transformations. | ||
226 | D.rect2:map(D.map); | ||
227 | D.rect2:map_enable(true); | ||
228 | if (D.rect2:map_enable()) then | ||
229 | print("lua::map enabled"); | ||
230 | end | ||
231 | |||
232 | D.rect2:map_source(D.rect); --// Don't think this is actually implemented in evas. | ||
233 | |||
234 | --// D.map:dup(); | ||
235 | --// D.map:size(); --// perhaps overide the # operator? For now it's only gonna return 4 anyway. | ||
236 | |||
237 | --// example of deleting something | ||
238 | --// D.tim:del(); | ||
239 | |||
240 | --// test the color_class stuff | ||
241 | colour = edje.color_class("test_colour"); | ||
242 | print("lua::color_class= " .. colour.r .. "," .. colour.g .. "," .. colour.b .. "," .. colour.a); | ||
243 | colour = edje.color_class("test_colour", 32, 64, 255, 128); | ||
244 | print("lua::color_class= " .. colour.r .. "," .. colour.g .. "," .. colour.b .. "," .. colour.a); | ||
245 | colour = edje.color_class("test_colour", { r=255, g=0, b=255, a=255 }); | ||
246 | print("lua::color_class= " .. colour.r .. "," .. colour.g .. "," .. colour.b .. "," .. colour.a); | ||
247 | text = edje.text_class("test_text_class", "Sans:style=Bold", 8); | ||
248 | print("lua::text_class= " .. text.font .. " size " .. text.size); | ||
249 | |||
250 | --// Do something bad, just to see what happens. | ||
251 | --// edje.color_class(nil); | ||
252 | |||
253 | --// shutdown func - generally empty or not there. everything garbage collected for you | ||
254 | function shutdown () | ||
255 | print("lua::shutdown ... " .. D.val); | ||
256 | end | ||
257 | |||
258 | function show () | ||
259 | print("lua::show ... " .. D.val); | ||
260 | end | ||
261 | |||
262 | function hide () | ||
263 | print("lua::hide ... " .. D.val); | ||
264 | end | ||
265 | |||
266 | function move (x, y) | ||
267 | print("lua::move x=" .. x .. " x=" .. y); | ||
268 | D.edje:move(0, 0); | ||
269 | end | ||
270 | |||
271 | function resize (w, h) | ||
272 | print("lua::resize w=" .. w .. " h=" .. h); | ||
273 | D.text:move((w - text_geom.w) / 2, (h - text_geom.h) / 8); | ||
274 | D.edje:resize(w, h); | ||
275 | end | ||
276 | |||
277 | function message (id, type, ...) | ||
278 | print("lua::message id=" .. id .. " type=" .. type); | ||
279 | --// handle your message type here. check id + type then use the | ||
280 | --// vararg appropriately. they are the same as the params passed | ||
281 | --// to edje:messagesend() (if any are passed at all). Any array | ||
282 | --// arguments are passed as a single table. | ||
283 | |||
284 | if ("none" == type) then | ||
285 | print("lua::message no args"); | ||
286 | elseif ("strset" == type) then | ||
287 | strs = ... ; | ||
288 | print_table_start(strs, "", "lua::message strings"); | ||
289 | elseif ("intset" == type) then | ||
290 | ints = ... ; | ||
291 | print_table_start(ints, "", "lua::message ints"); | ||
292 | elseif ("floatset" == type) then | ||
293 | floats = ... ; | ||
294 | print_table_start(floats, "", "lua::message floats"); | ||
295 | elseif ("strintset" == type) then | ||
296 | str, ints = ... ; | ||
297 | print("lua::message " .. str); | ||
298 | print_table_start(ints, "", "lua::message ints"); | ||
299 | elseif ("strfloatset" == type) then | ||
300 | str, floats = ... ; | ||
301 | print("lua::message " .. str); | ||
302 | print_table_start(floats, "", "lua::message floats"); | ||
303 | else | ||
304 | print("lua::message " .. ... ); | ||
305 | end | ||
306 | end | ||
307 | |||
308 | function signal (sig, src) | ||
309 | print("lua::signal sig= " .. sig .. " src= " .. src); | ||
310 | end | ||
311 | } | ||
312 | } | ||
313 | |||
314 | // The group name NEEDS a / in it, | ||
315 | // or the part below that tries to swallow it won't work. | ||
316 | // Leaving just the lua part visible. | ||
317 | group { | ||
318 | name: "bubbles/lua"; | ||
319 | lua_script_only: 1; | ||
320 | lua_script { | ||
321 | local bubbles = { }; | ||
322 | local bubbleCols = 8; | ||
323 | local bubbleRows = 6; | ||
324 | |||
325 | for i = 1, bubbleRows do | ||
326 | row = { }; | ||
327 | for j = 1, bubbleCols do | ||
328 | image = edje.image(); | ||
329 | image:image("bubble.png"); | ||
330 | image:show(); | ||
331 | table.insert(row, image); | ||
332 | end | ||
333 | table.insert(bubbles, row); | ||
334 | end | ||
335 | |||
336 | function resize (w, h) | ||
337 | for i = 1, bubbleRows do | ||
338 | for j = 1, bubbleCols do | ||
339 | w1 = w / bubbleCols; | ||
340 | h1 = h / bubbleRows; | ||
341 | bubbles[i][j]:geom((j - 1) * w1, (i - 1) * h1, w1, h1); | ||
342 | if ((1 == i) or (1 == j) or (bubbleRows == i) or (bubbleCols == j)) then | ||
343 | bubbles[i][j]:color(0, 255, 0, 200); | ||
344 | else | ||
345 | bubbles[i][j]:color(math.random(200) + 55, 0, math.random(255) + 55, 200); | ||
346 | end | ||
347 | end | ||
348 | end | ||
349 | end | ||
350 | } | ||
351 | } | ||
352 | |||
353 | group { | ||
354 | name: "plain/edje/group"; | ||
355 | parts { | ||
356 | part { | ||
357 | name: "background"; | ||
358 | type: RECT; | ||
359 | mouse_events: 0; | ||
360 | description { | ||
361 | state: "default" 0.0; | ||
362 | color: 0 0 0 255; | ||
363 | } | ||
364 | } | ||
365 | |||
366 | // A lua group embedded in an edje group. | ||
367 | part { | ||
368 | name: "bubbles_lua"; | ||
369 | type: GROUP; | ||
370 | source: "bubbles/lua"; | ||
371 | mouse_events: 0; | ||
372 | description { state: "default" 0.0; } | ||
373 | } | ||
374 | |||
375 | part { | ||
376 | name: "background_image"; | ||
377 | type: IMAGE; | ||
378 | mouse_events: 0; | ||
379 | description { | ||
380 | state: "default" 0.0; | ||
381 | aspect_preference: HORIZONTAL; | ||
382 | color_class: "test_colour"; | ||
383 | image { normal: "test.png"; } | ||
384 | } | ||
385 | } | ||
386 | |||
387 | part { | ||
388 | name: "some_text"; | ||
389 | type: TEXT; | ||
390 | mouse_events: 0; | ||
391 | description { | ||
392 | state: "default" 0; | ||
393 | text | ||
394 | { | ||
395 | text: "This is test text."; | ||
396 | text_class: "test_text_class"; | ||
397 | } | ||
398 | } | ||
399 | } | ||
400 | |||
401 | } | ||
402 | } | ||
403 | |||
404 | } | ||
405 | |||
diff --git a/libraries/edje/src/examples/perspective.edc b/libraries/edje/src/examples/perspective.edc new file mode 100644 index 0000000..810ae18 --- /dev/null +++ b/libraries/edje/src/examples/perspective.edc | |||
@@ -0,0 +1,140 @@ | |||
1 | collections { | ||
2 | group { | ||
3 | name: "example/group"; | ||
4 | |||
5 | min: 480 320; | ||
6 | |||
7 | parts { | ||
8 | part { | ||
9 | name: "bg"; | ||
10 | type: RECT; | ||
11 | mouse_events: 1; | ||
12 | |||
13 | description { | ||
14 | state: "default" 0.0; | ||
15 | } | ||
16 | } // bg | ||
17 | |||
18 | part { | ||
19 | name: "rectangle"; | ||
20 | type: RECT; | ||
21 | mouse_events: 0; | ||
22 | |||
23 | description { | ||
24 | state: "default" 0.0; | ||
25 | color: 255 0 0 128; | ||
26 | |||
27 | rel1 { | ||
28 | offset: -5 -5; | ||
29 | to: "title"; | ||
30 | } | ||
31 | rel2 { | ||
32 | offset: 4 4; | ||
33 | to: "title"; | ||
34 | } | ||
35 | |||
36 | map { | ||
37 | on: 1; | ||
38 | perspective_on: 1; | ||
39 | rotation { | ||
40 | x: 45; | ||
41 | } | ||
42 | } | ||
43 | } | ||
44 | } // rectangle | ||
45 | |||
46 | part { | ||
47 | name: "title"; | ||
48 | type: TEXT; | ||
49 | mouse_events: 0; | ||
50 | |||
51 | description { | ||
52 | state: "default" 0.0; | ||
53 | color: 200 200 200 255; | ||
54 | |||
55 | align: 0.0 0.5; | ||
56 | |||
57 | rel1.relative: 0.1 0.1; | ||
58 | rel2.relative: 0.1 0.1; | ||
59 | |||
60 | text { | ||
61 | text: "Perspective example"; | ||
62 | font: "Sans"; | ||
63 | size: 16; | ||
64 | min: 1 1; | ||
65 | } | ||
66 | |||
67 | map { | ||
68 | on: 1; | ||
69 | perspective_on: 1; | ||
70 | rotation { | ||
71 | x: 45; | ||
72 | } | ||
73 | } | ||
74 | } | ||
75 | |||
76 | description { | ||
77 | state: "right" 0.0; | ||
78 | inherit: "default" 0.0; | ||
79 | |||
80 | rel1.relative: 0.5 0.1; | ||
81 | rel2.relative: 0.5 0.1; | ||
82 | } | ||
83 | description { | ||
84 | state: "bottom" 0.0; | ||
85 | inherit: "default" 0.0; | ||
86 | |||
87 | rel1.relative: 0.1 0.9; | ||
88 | rel2.relative: 0.1 0.9; | ||
89 | } | ||
90 | description { | ||
91 | state: "bottomright" 0.0; | ||
92 | inherit: "default" 0.0; | ||
93 | |||
94 | rel1.relative: 0.5 0.9; | ||
95 | rel2.relative: 0.5 0.9; | ||
96 | } | ||
97 | } // title | ||
98 | } | ||
99 | |||
100 | programs { | ||
101 | program { | ||
102 | name: "move,right"; | ||
103 | signal: "move,1,0"; | ||
104 | action: STATE_SET "right" 0.0; | ||
105 | transition: SINUSOIDAL 1.0; | ||
106 | target: "title"; | ||
107 | after: "animation,end"; | ||
108 | } | ||
109 | program { | ||
110 | name: "move,bottom"; | ||
111 | signal: "move,0,1"; | ||
112 | action: STATE_SET "bottom" 0.0; | ||
113 | transition: SINUSOIDAL 1.0; | ||
114 | target: "title"; | ||
115 | after: "animation,end"; | ||
116 | } | ||
117 | program { | ||
118 | name: "move,bottomright"; | ||
119 | signal: "move,1,1"; | ||
120 | action: STATE_SET "bottomright" 0.0; | ||
121 | transition: SINUSOIDAL 1.0; | ||
122 | target: "title"; | ||
123 | after: "animation,end"; | ||
124 | } | ||
125 | program { | ||
126 | name: "move,default"; | ||
127 | signal: "move,0,0"; | ||
128 | action: STATE_SET "default" 0.0; | ||
129 | transition: SINUSOIDAL 1.0; | ||
130 | target: "title"; | ||
131 | after: "animation,end"; | ||
132 | } | ||
133 | |||
134 | program { | ||
135 | name: "animation,end"; | ||
136 | action: SIGNAL_EMIT "animation,end" ""; | ||
137 | } | ||
138 | } | ||
139 | } | ||
140 | } | ||
diff --git a/libraries/edje/src/examples/red.png b/libraries/edje/src/examples/red.png new file mode 100644 index 0000000..dd03528 --- /dev/null +++ b/libraries/edje/src/examples/red.png | |||
Binary files differ | |||
diff --git a/libraries/edje/src/examples/signals-messages.edc b/libraries/edje/src/examples/signals-messages.edc new file mode 100644 index 0000000..45d9c58 --- /dev/null +++ b/libraries/edje/src/examples/signals-messages.edc | |||
@@ -0,0 +1,174 @@ | |||
1 | #define MSG_COLOR 1 | ||
2 | #define MSG_TEXT 2 | ||
3 | |||
4 | collections { | ||
5 | group { | ||
6 | name: "example_group"; | ||
7 | |||
8 | parts { | ||
9 | part { | ||
10 | name: "part_right"; | ||
11 | type: RECT; | ||
12 | clip_to: "part_right_clipper"; | ||
13 | description { | ||
14 | min: 50 50; | ||
15 | max: 50 50; | ||
16 | state: "default" 0.0; | ||
17 | color: 0 0 255 255; /* blue */ | ||
18 | rel1.relative: 1.0 0.5; | ||
19 | rel1.offset: -49 0; | ||
20 | rel2.relative: 1.0 0.5; | ||
21 | } | ||
22 | } | ||
23 | |||
24 | part { | ||
25 | name: "part_left"; | ||
26 | type: RECT; | ||
27 | description { | ||
28 | color_class: "cc"; | ||
29 | min: 50 50; | ||
30 | max: 50 50; | ||
31 | state: "default" 0.0; | ||
32 | rel1.relative: 0.0 0.5; | ||
33 | rel2.relative: 0.0 0.5; | ||
34 | rel2.offset: 50 -1; | ||
35 | } | ||
36 | } | ||
37 | |||
38 | part { | ||
39 | name: "text"; | ||
40 | type: TEXT; | ||
41 | description { | ||
42 | min: 150 50; | ||
43 | max: 150 50; | ||
44 | fixed: 1 1; | ||
45 | color: 0 0 0 255; | ||
46 | state: "default" 0.0; | ||
47 | rel1.relative: 0.5 0.5; | ||
48 | rel2.relative: 0.5 0.5; | ||
49 | text { | ||
50 | font: "Sans"; | ||
51 | size: 20; | ||
52 | min: 1 1; | ||
53 | align: 0.5 0.5; | ||
54 | } | ||
55 | } | ||
56 | } | ||
57 | |||
58 | part { | ||
59 | name: "part_right_clipper"; | ||
60 | type: RECT; | ||
61 | repeat_events: 1; | ||
62 | |||
63 | description { | ||
64 | min: 50 50; | ||
65 | max: 50 50; | ||
66 | |||
67 | state: "default" 0.0; | ||
68 | rel1.relative: 1.0 0.5; | ||
69 | rel1.offset: -49 0; | ||
70 | rel2.relative: 1.0 0.5; | ||
71 | } | ||
72 | |||
73 | description { | ||
74 | state: "hidden" 0.0; | ||
75 | inherit: "default" 0.0; | ||
76 | visible: 0; | ||
77 | } | ||
78 | } | ||
79 | } | ||
80 | |||
81 | script { | ||
82 | public global_str0; | ||
83 | public global_str1; | ||
84 | public global_str2; | ||
85 | public str_idx; | ||
86 | |||
87 | public set_text_string() { | ||
88 | new tmp[1024]; | ||
89 | new idx; | ||
90 | idx = get_int(str_idx); | ||
91 | |||
92 | if (idx == 0) | ||
93 | get_str(global_str0, tmp, 1024); | ||
94 | else if (idx == 1) | ||
95 | get_str(global_str1, tmp, 1024); | ||
96 | else if (idx == 2) | ||
97 | get_str(global_str2, tmp, 1024); | ||
98 | else return; | ||
99 | |||
100 | set_text(PART:"text", tmp); | ||
101 | send_message(MSG_STRING, MSG_TEXT, tmp); | ||
102 | } | ||
103 | |||
104 | public message(Msg_Type:type, id, ...) { | ||
105 | if ((type == MSG_INT_SET) && (id == MSG_COLOR)) { | ||
106 | new r, g, b, a; | ||
107 | |||
108 | r = getarg(3); | ||
109 | g = getarg(4); | ||
110 | b = getarg(5); | ||
111 | a = getarg(6); | ||
112 | |||
113 | set_color_class("cc", r, g, b, a); | ||
114 | } | ||
115 | } | ||
116 | } | ||
117 | |||
118 | programs { | ||
119 | program { | ||
120 | name: "bootstrap"; | ||
121 | signal: "load"; | ||
122 | source: ""; | ||
123 | script { | ||
124 | set_str(global_str0, "String one"); | ||
125 | set_str(global_str1, "String two"); | ||
126 | set_str(global_str2, "String three"); | ||
127 | set_int(str_idx, 0); | ||
128 | set_text_string(); | ||
129 | } | ||
130 | } | ||
131 | |||
132 | program { /* custom signal */ | ||
133 | name: "part_right,hovered"; | ||
134 | signal: "mouse,move"; | ||
135 | source: "part_right"; | ||
136 | action: SIGNAL_EMIT "mouse,over" "part_right"; | ||
137 | } | ||
138 | |||
139 | program { /* hide right rectangle */ | ||
140 | name: "part_right,hide"; | ||
141 | signal: "part_right,hide"; | ||
142 | source: ""; | ||
143 | action: STATE_SET "hidden" 0.0; | ||
144 | target: "part_right_clipper"; | ||
145 | } | ||
146 | |||
147 | program { | ||
148 | name: "part_right,show"; | ||
149 | signal: "part_right,show"; | ||
150 | source: ""; | ||
151 | action: STATE_SET "default" 0.0; | ||
152 | target: "part_right_clipper"; | ||
153 | } | ||
154 | |||
155 | program { /* change text part's string value */ | ||
156 | name: "text,change"; | ||
157 | signal: "mouse,clicked,1"; | ||
158 | source: "part_left"; | ||
159 | script { | ||
160 | new idx; | ||
161 | idx = get_int(str_idx); | ||
162 | idx = idx + 1; | ||
163 | |||
164 | if (idx > 2) | ||
165 | set_int(str_idx, 0); | ||
166 | else | ||
167 | set_int(str_idx, idx); | ||
168 | |||
169 | set_text_string(); | ||
170 | } | ||
171 | } | ||
172 | } | ||
173 | } | ||
174 | } | ||
diff --git a/libraries/edje/src/examples/sigtest.c b/libraries/edje/src/examples/sigtest.c new file mode 100644 index 0000000..6e4d85f --- /dev/null +++ b/libraries/edje/src/examples/sigtest.c | |||
@@ -0,0 +1,309 @@ | |||
1 | #ifdef HAVE_CONFIG_H | ||
2 | #include "config.h" | ||
3 | #else | ||
4 | #define PACKAGE_EXAMPLES_DIR "." | ||
5 | #define __UNUSED__ | ||
6 | #endif | ||
7 | |||
8 | #include <Ecore.h> | ||
9 | #include <Ecore_Evas.h> | ||
10 | #include <Edje.h> | ||
11 | #include <stdio.h> | ||
12 | |||
13 | #define WIDTH (300) | ||
14 | #define HEIGHT (300) | ||
15 | |||
16 | static const char *border_img_path = PACKAGE_EXAMPLES_DIR "/red.png"; | ||
17 | static const char *edje_file_path = PACKAGE_EXAMPLES_DIR "/sigtest.edj"; | ||
18 | |||
19 | static Ecore_Evas *ee; | ||
20 | static Evas_Object *edje_obj; | ||
21 | |||
22 | static const char commands[] = \ | ||
23 | "commands are:\n" | ||
24 | "\te - change te edje base\n" | ||
25 | "\tl - change to lua base\n" | ||
26 | "\tm - send message\n" | ||
27 | "\ts - send signal\n" | ||
28 | "\th - print help\n"; | ||
29 | |||
30 | static void | ||
31 | _on_keydown(void *data __UNUSED__, | ||
32 | Evas *evas __UNUSED__, | ||
33 | Evas_Object *o __UNUSED__, | ||
34 | void *einfo) | ||
35 | { | ||
36 | Evas_Event_Key_Down *ev = einfo; | ||
37 | |||
38 | if (strcmp(ev->keyname, "h") == 0) | ||
39 | { | ||
40 | fprintf(stdout, commands); | ||
41 | return; | ||
42 | } | ||
43 | |||
44 | if (strcmp(ev->keyname, "e") == 0) | ||
45 | { | ||
46 | if (!edje_object_file_set(edje_obj, edje_file_path, "plain/edje/group")) | ||
47 | { | ||
48 | int err = edje_object_load_error_get(edje_obj); | ||
49 | const char *errmsg = edje_load_error_str(err); | ||
50 | |||
51 | fprintf(stderr, "Could not load 'plain/edje/group' from sigtest.edj: %s\n", errmsg); | ||
52 | } | ||
53 | else | ||
54 | fprintf(stdout, "Loaded Edje object bound to group 'plain/edje/group' from" | ||
55 | " file sigtest.edj with success!\n"); | ||
56 | return; | ||
57 | } | ||
58 | |||
59 | if (strcmp(ev->keyname, "l") == 0) | ||
60 | { | ||
61 | if (!edje_object_file_set(edje_obj, edje_file_path, "lua_base")) | ||
62 | { | ||
63 | int err = edje_object_load_error_get(edje_obj); | ||
64 | const char *errmsg = edje_load_error_str(err); | ||
65 | |||
66 | fprintf(stderr, "Could not load 'lua_base' from sigtest.edj: %s\n", errmsg); | ||
67 | } | ||
68 | else | ||
69 | fprintf(stdout, "Loaded Edje object bound to group 'lua_base' from" | ||
70 | " file sigtest.edj with success!\n"); | ||
71 | return; | ||
72 | } | ||
73 | |||
74 | if (strcmp(ev->keyname, "m") == 0) | ||
75 | { | ||
76 | Edje_Message_String *msg = malloc(sizeof(*msg)); | ||
77 | |||
78 | fprintf(stdout, "\n"); | ||
79 | msg->str = strdup("C message text"); | ||
80 | edje_object_message_send(edje_obj, EDJE_MESSAGE_STRING, 2, msg); | ||
81 | free(msg); | ||
82 | fprintf(stdout, "C message sent\n"); | ||
83 | return; | ||
84 | } | ||
85 | |||
86 | if (strcmp(ev->keyname, "s") == 0) | ||
87 | { | ||
88 | fprintf(stdout, "\n"); | ||
89 | edje_object_signal_emit(edje_obj, "C signal 1", "Csource"); | ||
90 | edje_object_signal_emit(edje_obj, "bubbles_lua:C signal 2", "Csource"); | ||
91 | fprintf(stdout, "C signal sent\n"); | ||
92 | return; | ||
93 | } | ||
94 | } | ||
95 | |||
96 | static void | ||
97 | _on_message(void *data, Evas_Object *obj, Edje_Message_Type type, int id, void *msg) | ||
98 | { | ||
99 | int i; | ||
100 | |||
101 | fprintf(stdout, "C::message id=%d type=%d ", id, type); | ||
102 | switch (type) | ||
103 | { | ||
104 | case EDJE_MESSAGE_NONE : | ||
105 | { | ||
106 | fprintf(stdout, " NONE"); | ||
107 | break; | ||
108 | } | ||
109 | |||
110 | case EDJE_MESSAGE_SIGNAL : | ||
111 | { | ||
112 | fprintf(stdout, " SIGNAL "); | ||
113 | break; | ||
114 | } | ||
115 | |||
116 | case EDJE_MESSAGE_STRING : | ||
117 | { | ||
118 | Edje_Message_String *mmsg = msg; | ||
119 | |||
120 | fprintf(stdout, " STRING %s", mmsg->str); | ||
121 | break; | ||
122 | } | ||
123 | |||
124 | case EDJE_MESSAGE_INT : | ||
125 | { | ||
126 | Edje_Message_Int *mmsg = msg; | ||
127 | |||
128 | fprintf(stdout, " INT %d", mmsg->val); | ||
129 | break; | ||
130 | } | ||
131 | |||
132 | case EDJE_MESSAGE_FLOAT : | ||
133 | { | ||
134 | Edje_Message_Float *mmsg = msg; | ||
135 | |||
136 | fprintf(stdout, " FLOAT %f", mmsg->val); | ||
137 | break; | ||
138 | } | ||
139 | |||
140 | case EDJE_MESSAGE_STRING_SET : | ||
141 | { | ||
142 | Edje_Message_String_Set *mmsg = msg; | ||
143 | |||
144 | fprintf(stdout, " STRING_SET -\n"); | ||
145 | for (i = 0; i < mmsg->count; i++) | ||
146 | fprintf(stdout, " %s\n", mmsg->str[i]); | ||
147 | break; | ||
148 | } | ||
149 | |||
150 | case EDJE_MESSAGE_INT_SET : | ||
151 | { | ||
152 | Edje_Message_Int_Set *mmsg = msg; | ||
153 | |||
154 | fprintf(stdout, " INT_SET -\n"); | ||
155 | for (i = 0; i < mmsg->count; i++) | ||
156 | fprintf(stdout, " %d\n", mmsg->val[i]); | ||
157 | break; | ||
158 | } | ||
159 | |||
160 | case EDJE_MESSAGE_FLOAT_SET : | ||
161 | { | ||
162 | Edje_Message_Float_Set *mmsg = msg; | ||
163 | |||
164 | fprintf(stdout, " FLOAT_SET -\n"); | ||
165 | for (i = 0; i < mmsg->count; i++) | ||
166 | fprintf(stdout, " %f\n", mmsg->val[i]); | ||
167 | break; | ||
168 | } | ||
169 | |||
170 | case EDJE_MESSAGE_STRING_INT : | ||
171 | { | ||
172 | Edje_Message_String_Int *mmsg = msg; | ||
173 | |||
174 | fprintf(stdout, " STRING_INT %s %d", mmsg->str, mmsg->val); | ||
175 | break; | ||
176 | } | ||
177 | |||
178 | case EDJE_MESSAGE_STRING_FLOAT : | ||
179 | { | ||
180 | Edje_Message_String_Float *mmsg = msg; | ||
181 | |||
182 | fprintf(stdout, " STRING_FLOAT %s %f", mmsg->str, mmsg->val); | ||
183 | break; | ||
184 | } | ||
185 | |||
186 | case EDJE_MESSAGE_STRING_INT_SET : | ||
187 | { | ||
188 | Edje_Message_String_Int_Set *mmsg = msg; | ||
189 | |||
190 | fprintf(stdout, " STRING_INT_SET %s -\n", mmsg->str); | ||
191 | for (i = 0; i < mmsg->count; i++) | ||
192 | fprintf(stdout, " %d\n", mmsg->val[i]); | ||
193 | break; | ||
194 | } | ||
195 | |||
196 | case EDJE_MESSAGE_STRING_FLOAT_SET : | ||
197 | { | ||
198 | Edje_Message_String_Float_Set *mmsg = msg; | ||
199 | |||
200 | fprintf(stdout, " STRING_FLOAT_SET %s -\n", mmsg->str); | ||
201 | for (i = 0; i < mmsg->count; i++) | ||
202 | fprintf(stdout, " %f\n", mmsg->val[i]); | ||
203 | break; | ||
204 | } | ||
205 | } | ||
206 | fprintf(stdout, "\n"); | ||
207 | } | ||
208 | |||
209 | static void | ||
210 | _on_signal(void *data, Evas_Object *obj __UNUSED__, const char *emission, const char *source) | ||
211 | { | ||
212 | fprintf(stdout, "C::signal sig=|%s| src=|%s|\n", emission, source); | ||
213 | } | ||
214 | |||
215 | static void | ||
216 | _on_delete(Ecore_Evas *ee __UNUSED__) | ||
217 | { | ||
218 | ecore_main_loop_quit(); | ||
219 | } | ||
220 | |||
221 | int | ||
222 | main(void) | ||
223 | { | ||
224 | Evas_Object *border, *bg; | ||
225 | Evas *evas; | ||
226 | |||
227 | if (!ecore_evas_init()) | ||
228 | return EXIT_FAILURE; | ||
229 | |||
230 | if (!edje_init()) | ||
231 | return EXIT_FAILURE; | ||
232 | |||
233 | /* this will give you a window with an Evas canvas under the first | ||
234 | * engine available */ | ||
235 | ee = ecore_evas_new(NULL, 0, 0, WIDTH, HEIGHT, NULL); | ||
236 | if (!ee) | ||
237 | goto error; | ||
238 | |||
239 | ecore_evas_callback_delete_request_set(ee, _on_delete); | ||
240 | ecore_evas_title_set(ee, "Signals and wessages tester"); | ||
241 | ecore_evas_show(ee); | ||
242 | |||
243 | evas = ecore_evas_get(ee); | ||
244 | |||
245 | bg = evas_object_rectangle_add(evas); | ||
246 | evas_object_color_set(bg, 255, 255, 255, 255); /* white bg */ | ||
247 | evas_object_move(bg, 0, 0); /* at canvas' origin */ | ||
248 | evas_object_resize(bg, WIDTH, HEIGHT); /* covers full canvas */ | ||
249 | evas_object_show(bg); | ||
250 | ecore_evas_object_associate(ee, bg, ECORE_EVAS_OBJECT_ASSOCIATE_BASE); | ||
251 | |||
252 | evas_object_focus_set(bg, EINA_TRUE); | ||
253 | evas_object_event_callback_add( | ||
254 | bg, EVAS_CALLBACK_KEY_DOWN, _on_keydown, NULL); | ||
255 | |||
256 | edje_obj = edje_object_add(evas); | ||
257 | |||
258 | edje_object_message_handler_set(edje_obj, _on_message, NULL); | ||
259 | edje_object_signal_callback_add(edje_obj, "*", "*", _on_signal, NULL); | ||
260 | |||
261 | if (!edje_object_file_set(edje_obj, edje_file_path, "lua_base")) | ||
262 | { | ||
263 | int err = edje_object_load_error_get(edje_obj); | ||
264 | const char *errmsg = edje_load_error_str(err); | ||
265 | fprintf(stderr, "Could not load 'lua_base' from sigtest.edj: %s\n", | ||
266 | errmsg); | ||
267 | |||
268 | evas_object_del(edje_obj); | ||
269 | goto error_edj; | ||
270 | } | ||
271 | |||
272 | fprintf(stdout, "Loaded Edje object bound to group 'lua_base' from" | ||
273 | " file sigtest.edj with success!\n"); | ||
274 | |||
275 | evas_object_move(edje_obj, 20, 20); | ||
276 | evas_object_resize(edje_obj, WIDTH - 40, HEIGHT - 40); | ||
277 | evas_object_show(edje_obj); | ||
278 | |||
279 | /* this is a border around the Edje object above, here just to | ||
280 | * emphasize its geometry */ | ||
281 | border = evas_object_image_filled_add(evas); | ||
282 | evas_object_image_file_set(border, border_img_path, NULL); | ||
283 | evas_object_image_border_set(border, 2, 2, 2, 2); | ||
284 | evas_object_image_border_center_fill_set(border, EVAS_BORDER_FILL_NONE); | ||
285 | |||
286 | evas_object_resize(border, WIDTH - 40 + 4, HEIGHT - 40 + 4); | ||
287 | evas_object_move(border, 20 - 2, 20 - 2); | ||
288 | evas_object_show(border); | ||
289 | |||
290 | ecore_main_loop_begin(); | ||
291 | |||
292 | ecore_evas_free(ee); | ||
293 | ecore_evas_shutdown(); | ||
294 | edje_shutdown(); | ||
295 | return 0; | ||
296 | |||
297 | error: | ||
298 | fprintf(stderr, "You got to have at least one evas engine built" | ||
299 | " and linked up to ecore-evas for this example to run" | ||
300 | " properly.\n"); | ||
301 | ecore_evas_shutdown(); | ||
302 | return -1; | ||
303 | |||
304 | error_edj: | ||
305 | fprintf(stderr, "Failed to load sigtest.edj!\n"); | ||
306 | |||
307 | ecore_evas_shutdown(); | ||
308 | return -2; | ||
309 | } | ||
diff --git a/libraries/edje/src/examples/sigtest.edc b/libraries/edje/src/examples/sigtest.edc new file mode 100644 index 0000000..ef2a854 --- /dev/null +++ b/libraries/edje/src/examples/sigtest.edc | |||
@@ -0,0 +1,303 @@ | |||
1 | fonts { | ||
2 | font: "Vera.ttf" "default"; | ||
3 | } | ||
4 | |||
5 | images { | ||
6 | image: "bubble.png" COMP; | ||
7 | } | ||
8 | |||
9 | collections { | ||
10 | group { | ||
11 | name: "lua_base"; | ||
12 | lua_script_only: 1; | ||
13 | lua_script { | ||
14 | --// stick object private/local vars here | ||
15 | local D; | ||
16 | local text_geom; | ||
17 | |||
18 | --// Functions to print tables. | ||
19 | local print_table, print_table_start; | ||
20 | |||
21 | function print_table_start(table, space, name) | ||
22 | print(space .. name .. ": "); | ||
23 | print(space .. "{"); | ||
24 | print_table(table, space .. " "); | ||
25 | print(space .. "}"); | ||
26 | end | ||
27 | |||
28 | function print_table(table, space) | ||
29 | for k, v in pairs(table) do | ||
30 | if type(v) == "table" then | ||
31 | print_table_start(v, space, k); | ||
32 | elseif type(v) == "string" then | ||
33 | print(space .. k .. ': "' .. v .. '";') | ||
34 | else | ||
35 | print(space .. k .. ": " .. v .. ";") | ||
36 | end | ||
37 | end | ||
38 | end | ||
39 | |||
40 | |||
41 | --// init object here | ||
42 | D = {}; --// data is empty table to start | ||
43 | edje_geom = edje.geom(); | ||
44 | |||
45 | D.edje = edje.edje(); | ||
46 | D.edje:file("plain/edje/group"); | ||
47 | D.edje:move(0, 0); | ||
48 | D.edje:resize(edje_geom.w, edje_geom.h); | ||
49 | D.edje:show(); | ||
50 | |||
51 | edje.text_class("test_text_class", "Sans:style=Bold", 10); | ||
52 | |||
53 | --// send some random edje message | ||
54 | edje.messagesend(7, "none" ); | ||
55 | edje.messagesend(7, "sig", "lua message signal", "luaSource"); | ||
56 | edje.messagesend(7, "str", "hello world"); | ||
57 | edje.messagesend(7, "int", 987); | ||
58 | edje.messagesend(7, "float", 987.321); | ||
59 | edje.messagesend(7, "strset", {"hello", "there", "world"}); | ||
60 | edje.messagesend(7, "intset", {1, 2, 3}); | ||
61 | edje.messagesend(7, "floatset", {1.1, 2.2, 3.3}); | ||
62 | edje.messagesend(7, "strint", "hello world", 7); | ||
63 | edje.messagesend(7, "strfloat", "hello world", 7.654); | ||
64 | edje.messagesend(7, "strintset","hello world", {1, 2, 3}); | ||
65 | --// and a signal | ||
66 | edje.emit("lua signal", "luaSource"); | ||
67 | |||
68 | |||
69 | function move (x, y) | ||
70 | print("lua::move x=" .. x .. " x=" .. y); | ||
71 | D.edje:move(0, 0); | ||
72 | end | ||
73 | |||
74 | function resize (w, h) | ||
75 | print("lua::resize w=" .. w .. " h=" .. h); | ||
76 | D.edje:resize(w, h); | ||
77 | end | ||
78 | |||
79 | function message (id, type, ...) | ||
80 | print("lua::message id=" .. id .. " type=" .. type); | ||
81 | --// handle your message type here. check id + type then use the | ||
82 | --// vararg appropriately. they are the same as the params passed | ||
83 | --// to edje:messagesend() (if any are passed at all). Any array | ||
84 | --// arguments are passed as a single table. | ||
85 | |||
86 | if ("none" == type) then | ||
87 | print("lua::message no args"); | ||
88 | elseif ("strset" == type) then | ||
89 | strs = ... ; | ||
90 | print_table_start(strs, "", "lua::message strings"); | ||
91 | elseif ("intset" == type) then | ||
92 | ints = ... ; | ||
93 | print_table_start(ints, "", "lua::message ints"); | ||
94 | elseif ("floatset" == type) then | ||
95 | floats = ... ; | ||
96 | print_table_start(floats, "", "lua::message floats"); | ||
97 | elseif ("strintset" == type) then | ||
98 | str, ints = ... ; | ||
99 | print("lua::message " .. str); | ||
100 | print_table_start(ints, "", "lua::message ints"); | ||
101 | elseif ("strfloatset" == type) then | ||
102 | str, floats = ... ; | ||
103 | print("lua::message " .. str); | ||
104 | print_table_start(floats, "", "lua::message floats"); | ||
105 | else | ||
106 | print("lua::message " .. ... ); | ||
107 | end | ||
108 | end | ||
109 | |||
110 | function signal (sig, src) | ||
111 | print("lua::signal sig=|" .. sig .. "| src=" .. src .. "|"); | ||
112 | end | ||
113 | } | ||
114 | } | ||
115 | |||
116 | // The group name NEEDS a / in it, | ||
117 | // or the part below that tries to swallow it won't work. | ||
118 | // Leaving just the lua part visible. | ||
119 | group { | ||
120 | name: "bubbles/lua"; | ||
121 | lua_script_only: 1; | ||
122 | lua_script { | ||
123 | local bubbles = { }; | ||
124 | local bubbleCols = 8; | ||
125 | local bubbleRows = 6; | ||
126 | |||
127 | --// Functions to print tables. | ||
128 | local print_table, print_table_start; | ||
129 | |||
130 | function print_table_start(table, space, name) | ||
131 | print(space .. name .. ": "); | ||
132 | print(space .. "{"); | ||
133 | print_table(table, space .. " "); | ||
134 | print(space .. "}"); | ||
135 | end | ||
136 | |||
137 | function print_table(table, space) | ||
138 | for k, v in pairs(table) do | ||
139 | if type(v) == "table" then | ||
140 | print_table_start(v, space, k); | ||
141 | elseif type(v) == "string" then | ||
142 | print(space .. k .. ': "' .. v .. '";') | ||
143 | else | ||
144 | print(space .. k .. ": " .. v .. ";") | ||
145 | end | ||
146 | end | ||
147 | end | ||
148 | |||
149 | |||
150 | for i = 1, bubbleRows do | ||
151 | row = { }; | ||
152 | for j = 1, bubbleCols do | ||
153 | image = edje.image(); | ||
154 | image:image("bubble.png"); | ||
155 | image:show(); | ||
156 | table.insert(row, image); | ||
157 | end | ||
158 | table.insert(bubbles, row); | ||
159 | end | ||
160 | |||
161 | function resize (w, h) | ||
162 | for i = 1, bubbleRows do | ||
163 | for j = 1, bubbleCols do | ||
164 | w1 = w / bubbleCols; | ||
165 | h1 = h / bubbleRows; | ||
166 | bubbles[i][j]:geom((j - 1) * w1, (i - 1) * h1, w1, h1); | ||
167 | if ((1 == i) or (1 == j) or (bubbleRows == i) or (bubbleCols == j)) then | ||
168 | bubbles[i][j]:color(0, 255, 0, 200); | ||
169 | else | ||
170 | bubbles[i][j]:color(math.random(200) + 55, 0, math.random(255) + 55, 200); | ||
171 | end | ||
172 | end | ||
173 | end | ||
174 | end | ||
175 | |||
176 | function message (id, type, ...) | ||
177 | print("bubbles::message id=" .. id .. " type=" .. type); | ||
178 | --// handle your message type here. check id + type then use the | ||
179 | --// vararg appropriately. they are the same as the params passed | ||
180 | --// to edje:messagesend() (if any are passed at all). Any array | ||
181 | --// arguments are passed as a single table. | ||
182 | |||
183 | if ("none" == type) then | ||
184 | print("bubbles::message no args"); | ||
185 | elseif ("strset" == type) then | ||
186 | strs = ... ; | ||
187 | print_table_start(strs, "", "bubbles::message strings"); | ||
188 | elseif ("intset" == type) then | ||
189 | ints = ... ; | ||
190 | print_table_start(ints, "", "bubbles::message ints"); | ||
191 | elseif ("floatset" == type) then | ||
192 | floats = ... ; | ||
193 | print_table_start(floats, "", "bubbles::message floats"); | ||
194 | elseif ("strintset" == type) then | ||
195 | str, ints = ... ; | ||
196 | print("bubbles::message " .. str); | ||
197 | print_table_start(ints, "", "bubbles::message ints"); | ||
198 | elseif ("strfloatset" == type) then | ||
199 | str, floats = ... ; | ||
200 | print("bubbles::message " .. str); | ||
201 | print_table_start(floats, "", "bubbles::message floats"); | ||
202 | else | ||
203 | print("bubbles::message " .. ... ); | ||
204 | end | ||
205 | end | ||
206 | |||
207 | function signal (sig, src) | ||
208 | print("bubbles::signal sig=|" .. sig .. "| src=|" .. src .. "|"); | ||
209 | end | ||
210 | } | ||
211 | } | ||
212 | |||
213 | group { | ||
214 | name: "plain/edje/group"; | ||
215 | parts { | ||
216 | part { | ||
217 | name: "background"; | ||
218 | type: RECT; | ||
219 | mouse_events: 0; | ||
220 | description { | ||
221 | state: "default" 0.0; | ||
222 | color: 0 0 0 255; | ||
223 | } | ||
224 | } | ||
225 | |||
226 | // A lua group embedded in an edje group. | ||
227 | part { | ||
228 | name: "bubbles_lua"; | ||
229 | type: GROUP; | ||
230 | source: "bubbles/lua"; | ||
231 | mouse_events: 0; | ||
232 | description { state: "default" 0.0; visible: 1; } | ||
233 | } | ||
234 | |||
235 | part { | ||
236 | name: "some_text"; | ||
237 | type: TEXT; | ||
238 | mouse_events: 0; | ||
239 | description { | ||
240 | state: "default" 0; | ||
241 | visible: 1; | ||
242 | text | ||
243 | { | ||
244 | text: "This is test text."; | ||
245 | text_class: "test_text_class"; | ||
246 | } | ||
247 | } | ||
248 | } | ||
249 | |||
250 | program { name: "show_signals"; | ||
251 | signal: "*"; | ||
252 | source: "*"; | ||
253 | script | ||
254 | { | ||
255 | new buf[128]; | ||
256 | |||
257 | snprintf(buf, 128, "edje::signal sig=%s sig=%s", sig, src); | ||
258 | set_text(PART:"some_text", buf); | ||
259 | } | ||
260 | } | ||
261 | |||
262 | script { | ||
263 | public global_str0; | ||
264 | public global_str1; | ||
265 | public global_str2; | ||
266 | public str_idx; | ||
267 | |||
268 | public set_text_string() { | ||
269 | new tmp[1024]; | ||
270 | new idx; | ||
271 | idx = get_int(str_idx); | ||
272 | |||
273 | if (idx == 0) | ||
274 | get_str(global_str0, tmp, 1024); | ||
275 | else if (idx == 1) | ||
276 | get_str(global_str1, tmp, 1024); | ||
277 | else if (idx == 2) | ||
278 | get_str(global_str2, tmp, 1024); | ||
279 | else return; | ||
280 | |||
281 | set_text(PART:"some_text", tmp); | ||
282 | send_message(MSG_STRING, 1, tmp); | ||
283 | } | ||
284 | |||
285 | public message(Msg_Type:type, id, ...) { | ||
286 | if (type == MSG_STRING) { | ||
287 | new text[64]; | ||
288 | new buf[128]; | ||
289 | |||
290 | getsarg(3, text, 64); | ||
291 | snprintf(buf, 128, "embryo::message |%s|", text); | ||
292 | set_text(PART:"some_text", buf); | ||
293 | } | ||
294 | } | ||
295 | |||
296 | |||
297 | } | ||
298 | |||
299 | } | ||
300 | } | ||
301 | |||
302 | } | ||
303 | |||
diff --git a/libraries/edje/src/examples/swallow.edc b/libraries/edje/src/examples/swallow.edc new file mode 100644 index 0000000..a62a0b5 --- /dev/null +++ b/libraries/edje/src/examples/swallow.edc | |||
@@ -0,0 +1,21 @@ | |||
1 | collections { | ||
2 | group { | ||
3 | name: "example_group"; | ||
4 | max: 500 500; | ||
5 | min: 50 50; | ||
6 | |||
7 | parts { | ||
8 | part { | ||
9 | name: "part_one"; | ||
10 | type: SWALLOW; | ||
11 | description { | ||
12 | min: 50 50; | ||
13 | state: "default" 0.0; | ||
14 | rel1.relative: 0.0 0.0; | ||
15 | rel2.relative: 1.0 1.0; | ||
16 | } | ||
17 | } | ||
18 | } | ||
19 | |||
20 | } | ||
21 | } | ||
diff --git a/libraries/edje/src/examples/table.edc b/libraries/edje/src/examples/table.edc new file mode 100644 index 0000000..5453705 --- /dev/null +++ b/libraries/edje/src/examples/table.edc | |||
@@ -0,0 +1,19 @@ | |||
1 | collections { | ||
2 | group { | ||
3 | name: "example_table"; | ||
4 | min: 50 50; | ||
5 | |||
6 | parts { | ||
7 | part { | ||
8 | name: "table_part"; | ||
9 | type: TABLE; | ||
10 | description { | ||
11 | min: 50 50; | ||
12 | state: "default" 0.0; | ||
13 | rel1.relative: 0.0 0.0; | ||
14 | rel2.relative: 1.0 1.0; | ||
15 | } | ||
16 | } | ||
17 | } | ||
18 | } | ||
19 | } | ||
diff --git a/libraries/edje/src/examples/test.png b/libraries/edje/src/examples/test.png new file mode 100644 index 0000000..fb620d7 --- /dev/null +++ b/libraries/edje/src/examples/test.png | |||
Binary files differ | |||
diff --git a/libraries/edje/src/examples/text.edc b/libraries/edje/src/examples/text.edc new file mode 100644 index 0000000..257a078 --- /dev/null +++ b/libraries/edje/src/examples/text.edc | |||
@@ -0,0 +1,68 @@ | |||
1 | collections { | ||
2 | group { | ||
3 | name: "sel_group"; | ||
4 | parts { | ||
5 | part { | ||
6 | name: "rect"; | ||
7 | type: RECT; | ||
8 | description { | ||
9 | state: "default" 0.0; | ||
10 | color: 0 255 0 255; /* green */ | ||
11 | rel1.relative: 0.0 0.0; | ||
12 | rel2.relative: 1.0 1.0; | ||
13 | } | ||
14 | } | ||
15 | } | ||
16 | } | ||
17 | group { | ||
18 | name: "example_group"; | ||
19 | max: 500 500; | ||
20 | min: 50 50; | ||
21 | |||
22 | styles { | ||
23 | style { | ||
24 | name: "textblock_style"; | ||
25 | base: "font=Sans font_size=22 color=#600 wrap=word"; | ||
26 | tag: "br" "\n"; | ||
27 | tag: "hilight" "+ font_weight=Bold"; | ||
28 | tag: "b" "+ font_weight=Bold"; | ||
29 | tag: "tab" "\t"; | ||
30 | } | ||
31 | } | ||
32 | parts { | ||
33 | part { | ||
34 | name: "part_one"; | ||
35 | type: TEXT; | ||
36 | description { | ||
37 | min: 50 50; | ||
38 | state: "default" 0.0; | ||
39 | color: 0 0 255 255; /* blue */ | ||
40 | rel1.relative: 0.0 0.0; | ||
41 | rel2.relative: 1.0 0.5; | ||
42 | text { | ||
43 | font: "arial"; | ||
44 | size: 22; | ||
45 | min: 1 1; | ||
46 | } | ||
47 | } | ||
48 | } | ||
49 | part { | ||
50 | name: "part_two"; | ||
51 | type: TEXTBLOCK; | ||
52 | select_mode: EXPLICIT; | ||
53 | source: "sel_group"; | ||
54 | entry_mode: PLAIN; | ||
55 | description { | ||
56 | min: 50 50; | ||
57 | state: "default" 0.0; | ||
58 | rel1.relative: 0.0 0.5; | ||
59 | rel2.relative: 1.0 1.0; | ||
60 | text { | ||
61 | style: "textblock_style"; | ||
62 | min: 1 1; | ||
63 | } | ||
64 | } | ||
65 | } | ||
66 | } | ||
67 | } | ||
68 | } | ||