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: Added code to include non-edc resource (image, sound, video etc) path in dep file while dumping include dependencies for edc files.
Reviewers: raster, cedric, Sergeant_Whitespace
Reviewed By: cedric, Sergeant_Whitespace
Subscribers: Sergeant_Whitespace
Projects: #efl
Maniphest Tasks: T2252
Differential Revision: https://phab.enlightenment.org/D2270
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: Adding textures to edje_cc and some topblock keywords that I have forgotten to add in previous commits.
Reviewers: Hermet, raster, cedric
Reviewed By: cedric
Subscribers: cedric, artem.popov
Differential Revision: https://phab.enlightenment.org/D2129
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
Summary: Adding of two modes of node orientation, by setting of the angle and by setting of the quaternion.
Reviewers: Hermet, raster, cedric
Reviewed By: cedric
Subscribers: artem.popov, cedric
Differential Revision: https://phab.enlightenment.org/D2087
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
Summary:
"far" and "near" are keywords on windows and can't be used as names of variables.
@fix
Reviewers: cedric, Hermet, raster, perepelits.m
Subscribers: reutskiy.v.v, cedric
Differential Revision: https://phab.enlightenment.org/D2037
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
Summary: Adding of two modes of node orientation: by setting of the target name and by setting of the point to look on.
Reviewers: Hermet, raster, cedric
Subscribers: cedric, artem.popov
Differential Revision: https://phab.enlightenment.org/D2014
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
Summary: add a block "position" to fill the position field for nodes.
Reviewers: raster, Hermet, cedric
Subscribers: cedric
Differential Revision: https://phab.enlightenment.org/D1977
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
Martin reported a porblem with one of the SHR project edc files after an upgrade
to 1.13. The segfault itself is easy enough to fix here but I think there might
be other problems with the edc after this segfault is gone. We will see.
Fixes T2106
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>
Amitesh Singh fixed this issue with Commit
e66e132d9d, but this commit has been reverted
recently, by a commit freeing ressources
(6d0b834a76). It's clear that we are leaking here
if we remove the free, but there is also a valgrind error when this memory is
freed. After trying to debug and understand the code of epp, i can only
propose to remove this free, we will need to include a lot of files before this
memory leak could be visible.
It is also not a real problem, the memory leak only concern the file name passed
in the include directive and epp is started per file anyway. It is unlikely to
create any real life problem and we better spend our time on more pressing matter.
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
Summary:
It is easy to create edj collections that aren't working at all and
edje_cc easily allows user to do that.
For example:
> Having group A with GROUP part that has group B as source.
> Having group B with GROUP part that has group A as source.
In this case edje_cc compile source code perfectly, but if user try to load
this edje as layout or use together with edje_edit it will cause unexpacted
and wrong behaviour.
@fix
Reviewers: seoz, Hermet, reutskiy.v.v, cedric
Reviewed By: cedric
Subscribers: cedric
Differential Revision: https://phab.enlightenment.org/D1908
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
Summary:
Variable include_defaults can be allocated and
go out of scope without freeing it.
Reviewers: cedric, seoz, woohyun, Hermet
Reviewed By: Hermet
Differential Revision: https://phab.enlightenment.org/D1784
Summary:
While going through the code, I found this. Thought this was just a redundant and fixed it.
@fix
Signed-off-by: Srivardhan Hebbar <sri.hebbar@samsung.com>
Reviewers: devilhorns
Subscribers: cedric
Differential Revision: https://phab.enlightenment.org/D1774
Summary:
The name was freed after exit, so freeing it before and also freeing in a error case. There was a return statement after exit, thought it was redundant and removed.
@fix
Signed-off-by: Srivardhan Hebbar <sri.hebbar@samsung.com>
Reviewers: devilhorns, cedric
Reviewed By: cedric
Subscribers: cedric
Differential Revision: https://phab.enlightenment.org/D1758
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
thjis was deprecated even before efl 1.0 by never removed. lua
replaced it for script_only objects and you havent been able to
compile an edje file with script_only enabled since 1.0, so no point
having the code here.
this cleans up that code and cruft.
Set the min, max sizes of the image automatically,
if it uses image set and there's no setting about min, max sizes.
This idea is originated by Jinsol Park.
@feature
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.
Someone fixed a CID without looking of the full use path a data, resulting
in a value being used after free and stored in edje file. Leading to a garbage
string with no meaning for those poor externals.
Summary:
This reverts commit f6eb1f17a1.
This will result into failure of edc compilation with recursive use of include.
Reviewers: cedric, raster, seoz
Reviewed By: seoz
Subscribers: chinmaya061, cedric, seoz
Differential Revision: https://phab.enlightenment.org/D1475
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
Summary:
The pointer used is not freed at the end of the function which
results resource leak.
@fix
Test Plan: Not Available
Reviewers: seoz, raster, cedric
Reviewed By: cedric
Subscribers: raster, seoz, cedric
Differential Revision: https://phab.enlightenment.org/D1438
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
Summary:
wrong structure, a Edje_Image_Directory_Set_Entry, used for copy
a set's data to new file.
@fix
Reviewers: raster, seoz, cedric, Hermet
Reviewed By: Hermet
Subscribers: Sachiel, cedric, seoz
Differential Revision: https://phab.enlightenment.org/D1304
Also fixed some incorrect @context
Changed the @edcsubsection tags so they live in first line of the doccomment, this way you can read them when the file is folded-closed, improving the code readability.
Summary:
This dpi is used to get the scale for each collection.
If each collection has a described dpi, it calculates a proper scale
based on the dpi and dpi which is described in the collection.
@feature
Test Plan:
If add dpi to collection of edc, the edje will save the value as the dpi of the collection.
For example, if the dpi of your device is 100, you just set dpi: 100 in the collection of edc.
If the edj is loaded in another device(dpi is 200), it will scaled 2 times.
It is possible that the described dpi of application and theme are different.
In that case, application and theme have a different scale.
It makes the edj that made in different environment works in one device.
Reviewers: seoz, zmike, JackDanielZ, Hermet, woohyun, cedric, raster
Reviewed By: raster
Subscribers: cedric
Differential Revision: https://phab.enlightenment.org/D1190
Summary:
There is param (of the map block in part's description) that allows user to
set a color for specified vertex/point of that part.
That param was undocumented so actually no one know that this param is exist and can be used in edj file.
Two main fixes:
- adding documentation for map.color param in edc reference.
- adding .edc source code example for seeing how map.color param works.
@fix
Reviewers: cedric, Hermet, raster, seoz
Reviewed By: cedric
CC: cedric, reutskiy.v.v
Differential Revision: https://phab.enlightenment.org/D1083
this was making syntax errors much harder to debug and only served the purpose of further enabling shitty, nonconformant edc creating. removing now before it becomes an api break
this is enabled for all scripts within a group, and it should only be used if you:
1) know what you are doing
2) know why this is unsafe (T905)
@feature
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
partly revert adcc323291 as the default
ellipsis value was 0 as per the document, and must stay, as changing
this breaks edc descirptions as now text is no longer ellipsised by
default. this ACTUALLY broke titlebars on the default theme - just
have a title that is too long and see how it no longer goes:
This is a title he...
it instead covers the screen for as long as the title is.
if you want -1 for ellipsis... then set it. :)
what a huge, colossal cock-up of a clusterfuck. it's a good thing nobody ever uses ellipses or edje. otherwise we'd probably get complaints about this kind of thing.
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
There were a few critical issues:
- Invalid pointer arithmetics on the input data (char vs. int)
- Invalid logic in the pixel duplication code
All of these due to bad copy and paste :(
Also, use LZ4HC instead of LZ4 when compression is enabled.
ETC1 encoding is so damn slow you won't see the difference between
LZ4 and LZ4HC compression times.
After doing some edje_edit manipulations there was a problem that
after edje_decc of changed EDJ file it wasnt able to compile again, because some of scripts
weren't inherited.
The problem was in Code and Code_Script structure.
There is "shared" ("script") field and "original" field that contained a string with embryo script code.
After inheriting whole group, "original" field wasn't copied, so it wasn't able to write
the script into resulted EDJ file (look at edje_cc_out:1407).
@fix
Reviewers: cedric, seoz, raster
Reviewed By: cedric
CC: reutskiy.v.v, cedric
Differential Revision: https://phab.enlightenment.org/D671
Signed-off-by: Cedric BAIL <cedric.bail@free.fr>
previously we allowed users to not specify the state names for non-default description states. this guaranteed crazy behavior during inheritance since it was impossible to properly reference such states.
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
Eina_File line iterator does give the length of the line including the '\n'.
We did previously ignore that and passed the '\n' down to eio_monitor. Obviously
it would fail to monitor a PATH that finished with a '\n' and edje_watch did
stop working. I guess nobody did any real testing with edje watch in the past
year.
@fix
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.
Summary:
This commit will add some API for working with aliases.
There are four functions will be added:
1. edje_edit_group_aliases_get - this function will return the list of aliases of certain group.
2. edje_edit_group_is_alias - this function will check if the given group name is actually an alias.
3. edje_edit_group_aliased_get - return the main real group that is being aliased.
4. edje_edit_group_alias_add - add new alias name.
Also the function "edje_edit_group_del" was modified because of wrong behaviour.
Now if the given group is alias, it will successfully delete it,
but if the given group is main group, it will also delete all it's aliases.
This commit also modify EDJ file by adding new field for detecting if the group is alias or not.
Reviewers: cedric, seoz, raster
Reviewed By: raster
CC: reutskiy.v.v, cedric
Differential Revision: https://phab.enlightenment.org/D376
Summary: Adding an option to use a cubic-bezier curve in edje transitions.
Reviewers: Sachiel, cedric, raster
Reviewed By: raster
CC: raster
Differential Revision: https://phab.enlightenment.org/D319
Summary:
Selection handlers are now implemented in elementary. So, we should remove them from edje.
The BLOCK_HANDLE mode should be removed also.
Reviewers: cedric, tasn
CC: cedric, raster
Differential Revision: https://phab.enlightenment.org/D312
Fix deffect with a missing tokken 'name' in the program description block when
generated by edje_cc.
Reviewers: cedric, seoz
CC: cedric
Differential Revision: https://phab.enlightenment.org/D323
Signed-off-by: Cedric Bail <cedric.bail@samsung.com>
In the case we didn't define the file to save to, fopen would have
been called with a NULL parameter. The result of that call is not
really defined and could have led to some crash at some point.
Fix deffect with a missing tokken 'state' in the first description block when
generated by edje_cc (It is perfectly valid to not specify the first description
name as it will always be "default").
Reviewers: cedric, seoz
Reviewed By: cedric
Differential Revision: https://phab.enlightenment.org/D310
Signed-off-by: Cedric Bail <cedric.bail@samsung.com>
Update the data_process_lookups function.
Earlier images are not deleted, but his name was
removed from the list, and it was possible to
access the image by id. Now all unused images
are deleted.
Reviewers: cedric, seoz
Differential Revision: https://phab.enlightenment.org/D309
Signed-off-by: Cedric Bail <cedric.bail@samsung.com>
It is quite common that in an image sets each image has different border size.
This patch permit to define the border value on a per image basis in the set.
NB: If we are going to exit data_thread_script function due to malloc
failure or fread failure, then we should close the previously fdopen'd
file so that we do not leak 'f'.
Signed-off-by: Chris Michael <cp.michael@samsung.com>
If we have file And fname, then we can call the source_fetch_file
function, HOWEVER we may only have One or the Other in which case we
still need to potentially free the other.
NB: Fixes Coverity CID1039296
Signed-off-by: Chris Michael <cp.michael@samsung.com>
The missing free was only for one of the paths to the end label. The other one
freed it before already. Take this into account to avoid the double free.
No runtime changes. This makes it possible to set mouse_events on a
group, and it will use this value as the default for mouse_events on
every part of that group. It defaults to 1 if not set, to keep things
working as they do now.
That is, instead of setting mouse_events: 0; on every single part you
don't want to receive events, it's now possible to set it for the group
and only use mouse_events: 1; explicitly on those that should handle
events.
This is particularly useful when using table and replicating the
same group all over the place. At least for many games I have in mind
this will save a lot of lines !
this is still in progress, mostly the multisense stuff is pending.
it seems that when we merge ecore_audio in edje the libremix and
similar are gone, at least from Edje, and will be in ecore_audio
itself (or pulseaudio).
Changes:
* __UNUSED__ to EINA_UNUSED
* binaries (epp, embryo_cc, edje_cc) now consider EFL_RUN_IN_TREE and
will assume the binaries are still not installed, running from
build tree location (needs more testing, maybe doesn't work with
srcdir != builddir, still doesn't solve cross compile builds)
SVN revision: 82139