this pairs with the newly-added -N option to denote groups in edc files
which should not be checked for correct namespacing
the option is useful for cases such as music_control.edc,
where a group has been shipping for years with API signals like
"btn,clicked" which cannot be changed since they are used in an external
application and compatibility must be maintained
the documentation for this option explicitly states that it must only be used
inside an #ifdef SKIP_NAMESPACE_VALIDATION block, allowing this keyword to
be easily removed at a later point
ref T7072
@feature
Differential Revision: https://phab.enlightenment.org/D6388
Summary:
when -N is passed, parts and program signals will be checked for
traditional namespacing based on the group name, causing compile failure
if inconsistency is detected
@feature
ref T6911
Reviewers: cedric, devilhorns
Reviewed By: cedric
Subscribers: #committers
Tags: #efl
Maniphest Tasks: T6911
Differential Revision: https://phab.enlightenment.org/D6036
this uses the just-added "id" property to allow referencing images
by name from that theme. example:
=FILE1=
id: "myfile";
images.image: "someimage.png" COMP;
=FILE2=
requires: "myfile";
images.image: "someimage.png" EXTERNAL "myfile";
FILE2 will now load someimage.png from FILE1 at runtime if FILE1 is
currently opened in edje, and FILE1 will be kept open until FILE2 is
closed
@feature
this option was broken due to immediately triggering EMFILE errors
during thread initialization and then attempting to exit while threads
were still ongoing
some work is still needed to make this an improvement over the current
default of not using threads
@fix
Summary:
When inherit_script is set to 1, script of current group contains
variables and funtions from script of parent groups. If there is same
name variable or function, newly defined one will replace that of
parents.
Reviewers: cedric, jpeg
Subscribers: taxi2se
Differential Revision: https://phab.enlightenment.org/D5062
Signed-off-by: Cedric Bail <cedric@osg.samsung.com>
Summary:
Fix parsing error which occurs when lazEDC keyword is combined
with other keyword by period. (like parts.rect)
@fix
Test Plan: Download attached file and run "make"
Reviewers: Hermet, cedric, jpeg
Subscribers: taxi2se
Differential Revision: https://phab.enlightenment.org/D4309
Summary:
"after" program inherited from inherit_only group does not have original
program lookup, but _edje_program_copy() doesn't consider this case.
When it fails to copy program lookup, new program lookup should be appeded.
@fix
Test Plan: make attached program and run
Reviewers: cedric, jpeg, Hermet
Reviewed By: Hermet
Subscribers: taxi2se
Differential Revision: https://phab.enlightenment.org/D4253
Summary:
This is the svg loader which will parse the svg file and store it in a intermediate structure.
It provides the helper function to get EET descriptor to save the structure into eet file.
NOTE: Not all svg attributes are handled yet. but most common attributes are handled .
Reviewers: Hermet, cedric
Subscribers: Hermet, cedric, jpeg
Differential Revision: https://phab.enlightenment.org/D3868
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
Summary:
EXTERNAL parts can have parameters, and its form is like the next.
params.string: "param_name" "param_value";
This patch will shorten above line by the next syntax.
params.param_name: "param_value";
The type of param will be determined by the type of inserted value.
Reviewers: cedric, raster, Hermet
Subscribers: jpeg
Differential Revision: https://phab.enlightenment.org/D3958
Signed-off-by: Cedric Bail <cedric@osg.samsung.com>
Summary:
program_remove attribute allows to remove program inherited from
parent group, but if its action is EDJE_ACTION_TYPE_SCRIPT,
anonymous lookup also should be deleted.
@fix
Reviewers: cedric, jpeg
Differential Revision: https://phab.enlightenment.org/D3875
Signed-off-by: Cedric Bail <cedric@osg.samsung.com>
Summary:
Support hexadecimal color code in EDC.
Four types of color code are acceptable.
All values below mean 'Red'. (255 0 0 255)
color: "#F00";
color: "#F00F";
color: "#FF0000";
color: "#FF0000FF";
Color code tables are usually provided with hexadecimal numbers.
Supporting hexadecimal color code will allow developers to skip
manual conversion hex to decimal.
Test Plan: Test case will provided with seperated commit.
Reviewers: cedric, jpeg, raster
Reviewed By: raster
Subscribers: raster
Differential Revision: https://phab.enlightenment.org/D3831
Summary:
Detecting missing part for insert_before/after is broken.
This patch makes the feature work and clarifies error message,
and removes redundant internal function.
Reviewers: cedric, jpeg
Subscribers: raster, jpeg
Maniphest Tasks: T2513
Differential Revision: https://phab.enlightenment.org/D3576
Summary:
The "color_tree" block contains a list of one or more "node" blocks.
A "node" block consists of its own color class name and the list of child
color classes. At runtime, parent color class will be referred instead,
if child color class is set to part but its color values are not defined.
Reviewers: raster, Jaehyun_Cho, jpeg, cedric
Reviewed By: cedric
Subscribers: cedric, kimcinoo
Differential Revision: https://phab.enlightenment.org/D3606
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
This reverts commit 2ca99b8b68.
This breaks elm compile:
EDJ default.edj
edje_cc: Critical. In group "genlist_arrow": Unable to find part "sel_bevel" for insert_after in part "arrow_img_l".
Summary:
Detecting missing part for insert_before/after is broken.
This patch makes the feature work and clarifies error message,
and removes redundant internal function.
Reviewers: cedric, jpeg
Subscribers: jpeg
Maniphest Tasks: T2513
Differential Revision: https://phab.enlightenment.org/D3576
Summary:
edje_cc does not check whether insert_before/after part exists.
edje_cc will notify a compilation error to developer when insert_before
or insert_after part does not exist.
T2513
Reviewers: Hermet, NikaWhite
Subscribers: cedric, jpeg
Maniphest Tasks: T2513
Differential Revision: https://phab.enlightenment.org/D3517
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
Summary:
I have a strange feeling that I always commit the same code to edje-3d, I hope it will finish very soon.
However here are some important new keywords, descriptors for them, methods for models,
structure for providing animation in edje programs and some more changes.
Reviewers: raster, Hermet, cedric
Reviewed By: cedric
Subscribers: jpeg, artem.popov
Projects: #efl
Differential Revision: https://phab.enlightenment.org/D3437
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
Summary:
Add the transition scale flag and the transtion scale value.
This flag can be change using "transition_scale_enable" in edje program.
If flag is true, the transition scale value affect the transition speed of edje
The transition scale value can be change by elm_config.
@feature
Test Plan: elementary_config
Reviewers: Hermet, cedric
Subscribers: cedric
Differential Revision: https://phab.enlightenment.org/D2287
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
Summary:
Internationalisation of the static text specified as part of the edc is implemented.
Problem: Static text when specified in the edc, remains unchanged when the system language is changed.
Solution: Language support is provided even for the static strings in the edc.
Test Plan:
Test code to test this implementation is done as part of efl/src/examples/edje/edje-text.c and efl/src/examples/edje/text.edc
Compile the code with the below command
edje_cc -md <dir path>/efl/src/examples/edje/ text.edc && gcc -o edje-text edje-text.c `pkg-config --libs --cflags ecore-evas edje evas ecore`
./edje-text
1) change the language of the system using the command
export LANGUAGE=hi
./edje.text
Not the text Loading gets displayed in hindi language
2) change the language of the system using the command
export LANGUAGE=ta
./edje.text
Not the text Loading gets displayed in tamil language
3) change the language of the system using the command
export LANGUAGE=en
./edje.text
Not the text Loading gets displayed in english language
As the number of .mo files in the /edje folder can be increased, those many languages can be supported
Reviewers: cedric, shilpasingh
Reviewed By: shilpasingh
Subscribers: cedric, rajeshps, govi, poornima.srinivasan
Differential Revision: https://phab.enlightenment.org/D2336
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
Summary: Anotate to Annotate
Test Plan: test it to make sure I didn't break it...
Reviewers: raster, cedric
Differential Revision: https://phab.enlightenment.org/D2356
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
Summary:
We were facing one problem in tizen sdk's build system as it does not trigger build for edc file
if only sub-edc files are changed. During analysis, we found that there is no option in edje_cc
for dumping include dependencies which other compiler (clang/ gcc etc) does have. We can do other
hack to solve this problem but it will be great if edje_cc can emit gnu style include dependency
target.
This patch will add support to generate gnu format include dependency file while compiling edc file.
similar to what gcc generates with option '-MMD -MF=<dep_file> -MT<dep_file>'
https://gcc.gnu.org/onlinedocs/gcc-4.9.2/gcc/Preprocessor-Options.html
Test Plan: no failure in existing test
Reviewers: raster, cedric
Reviewed By: cedric
Projects: #efl
Differential Revision: https://phab.enlightenment.org/D2263
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
Summary:
I have added some methods to edje_cc_out.c to organize model lookups. The same methods already exists for images.
Also, I have removed source_type because now we don't need it in efl_file_set.
@feature
Reviewers: raster, Hermet, cedric
Reviewed By: cedric
Subscribers: cedric
Differential Revision: https://phab.enlightenment.org/D1886
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
NOTE: I do believe their is still the possibility that a wrong program
or part may reference a dead part. Would require to check that scenario
better later.
this allows for program.source to be omitted 99% of the time since most sources in an application/library will be the same within a single group
@feature
this allows any number of parts/programs to be added by name into a logical grouping which can then be referenced inside a program.
eg.
before
------
program { signal: XYZ; source: 123;
action: STATE_SET "default";
targets: "sup" "dawg" "parts" "up" "in" "dis" "progrizzle";
}
program { signal: ABC; source: 123;
action: STATE_SET "notdefault";
targets: "sup" "dawg" "parts" "up" "in" "dis" "progrizzle" "tooizzle";
}
======
after
------
target_group: "default" "sup" "dawg" "parts" "up" "in" "dis" "progrizzle";
program { signal: XYZ; source: 123;
action: STATE_SET "default";
group: "default";
}
program { signal: ABC; source: 123;
action: STATE_SET "notdefault";
group: "default";
target: "tooizzle";
}
@feature
in today's modern world of fast-paced, HTML5-driven, C++-riddled
development, nobody wants to spend hours typing out long words like
"description" or "mouse_events" or "name". there's no time for it
and certainly nobody is going to allocate budget for this sort of
keyboard-related nonsense.
enter lazEDC: the solution for edje-loving keyboard jockeys everywhere.
by breaking the parser of edje_cc with the strength of 10 frenchmen,
new, shorter keywords such as "nomouse" can be used in place of lengthy,
rambling statements like "mouse_events: 0", and things like
part { name: "clip"; type: RECT; description { state: "default" 0.0; }}
can now be written as
rect { "clip"; }
with the exact same effect.
initial tests show that complex and terrible edc files such as the infamous
"genlist.edc" can be reduced in size by over 15% using these new features.
see edcref for docs, and genlist.edc for examples
@feature
@awesome
Add a new flag in EDC files to specify ETC1 compression
should be enabled. It follows the same rules as the
current LOSSY flag for JPEG compression.
@feature
this is just some syntax shortening for program.after which causes program.action and program.script to create a new program and automatically chain it within the sequence{} block
recursive sequences not currently allowed/planned (don't be insane)
@feature
Summary:
...cannot encode those things into edje.
In our case, we need vibration when longpressed. But those files are not
audio or image and cannot be encoded into edje. Also, this library is not
opensource so should not be linked directly with edje.
So we should call vibration API by using this plug-in.
Reviewers: raster, cedric, seoz, Hermet
CC: cedric
Differential Revision: https://phab.enlightenment.org/D588
Being annoyed by different types of eina critical macros - CRI, CRIT,
CRITICAL -, I concluded to unify them to one. Discussed on IRC and
finally, CRI was chosen to meet the consistency with other macros -
ERR, WRN, INF, DBG - in terms of the number of characters.
If there is any missing bits, please let me know.