Commit Graph

326 Commits

Author SHA1 Message Date
Subodh Kumar 2854702f8e edje: Add support for map zoom to use other part center.
Summary:
Current:
In edc, zoom is supposed to happen from object center, there is no way to
change the center of the zoom.

Changes:
Adding support to change the center of zooming just like map rotation by using
other part's center.

@feature

Reviewers: cedric, zmike

Reviewed By: zmike

Subscribers: zmike, cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D9115
2019-07-12 12:04:06 -04:00
Carsten Haitzler a492851aed edje cc - warn - use correct free prorotype for has free func 2018-11-09 11:44:00 +00:00
Mike Blumenkrantz 786210db6f edje_cc: add 'skip_namespace_validation' keyword
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
2018-07-05 22:59:18 +02:00
Hermet Park 2663dceaf1 Revert "edje: code refactoring for readibility."
This reverts commit 7fb47fc064.

subsequential revert for previous one.

90a89d1ab2b5d23b29ad0f2680b77b5ba7f56b42.
2018-06-21 19:33:41 +09:00
Hermet Park b70c86f1fc Revert "edje: fix a regression error by 7fb47fc064b8f429242b4d5cdf57071475087821."
This reverts commit 475c93fd75.

long time after touch,
forgot that eet data has key-data pairing structure.
this change would break theme compatibility.

Thanks bu5hm4n for pointing out this.
2018-06-21 19:33:41 +09:00
Hermet Park 475c93fd75 edje: fix a regression error by 7fb47fc064.
That shouldn't be touched, just confused by its name.
2018-06-07 19:38:05 +09:00
Hermet Park 7fb47fc064 edje: code refactoring for readibility.
collection.part is too ambigious, since group has parts as well.
Normally we regard it as "name" (of group) instead of part.
2018-06-07 17:53:12 +09:00
Cedric Bail 9c23ffb675 Revert "edje_cc: fix default color_class colors"
This reverts commit d83ebb6980.

Had to revert this as it break backward compatibility with what theme
expect to be the default value. We could reintroduce this with a version
check if necessary.

T6885
2018-05-02 10:46:34 -07:00
Mike Blumenkrantz 3d9dcbd478 edje: add ability to reference images from other edje files
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
2018-02-28 16:02:38 -05:00
Mike Blumenkrantz 3a86768f3b edje_cc: add "id" toplevel property
this can be used by edje files to identify themselves
2018-02-28 16:02:37 -05:00
Mike Blumenkrantz 30378f26fa edje: reformat bin/ c files
a lot of this was unreadable due to mixed tabs/spaces or just random
formatting
2018-02-28 16:02:37 -05:00
Mike Blumenkrantz 645c573efb edje: EDJE_IMAGE_SOURCE_TYPE_EXTERNAL -> EDJE_IMAGE_SOURCE_TYPE_USER
no functional changes, just a confusing define rename
2018-02-28 16:02:37 -05:00
Jeeyong Um eeb2809d9e edje_cc: Not reset inherit_script during group inherit
If group inherits after setting "inherit_script: 1;", inherit_script
is overwritten by the value of parent group. However, inherit_script
indicates user wants to inherit script in this context, it should not
be initialized as false.
2017-11-21 23:51:21 +09:00
Andrii Kroitor 130052f275 edje_cc: move offset_scale to correct place and fix doc 2017-10-31 10:34:28 +02:00
Andrii Kroitor b836576d2a edje_cc: fix item.max parsing
It is now possible to set item.max back to default value (-1 -1).

@fix
2017-10-30 16:44:32 +02:00
Andrii Kroitor d582b87ba3 edje_cc: make box/table item.spread minimum 1 1
Minimum value was 0 0, but it has same effect as 1 1.
2017-10-30 16:44:32 +02:00
Andrii Kroitor 2b70897e0f edje_cc: fix program.filter description
@fix
2017-10-30 16:44:32 +02:00
Andrii Kroitor b0761cdfa1 edje_cc: fix text.align description
@fix
2017-10-30 16:44:32 +02:00
Andrii Kroitor 939d16bdbf edje_cc: limit map.zoom to non-negative values
@fix
2017-10-30 16:44:31 +02:00
Andrii Kroitor a7769e806a edje_cc: move box and table properties documentation
Documentation comments for properties should be near parser
implementation.

@fix
2017-10-30 16:44:31 +02:00
Andrii Kroitor 8a23f30291 edje_cc: make color parsing consistent
All colors now accept 4 ints or hex string.

@fix
2017-10-30 16:44:31 +02:00
Andrii Kroitor e379397093 edje_cc: make bool parsing consistent
@fix
2017-10-30 16:44:31 +02:00
Andrii Kroitor c8edb208dd edje_cc: fix spelling
@fix
2017-10-30 16:44:31 +02:00
Andrii Kroitor d83ebb6980 edje_cc: fix default color_class colors
If you have undefined color_class, edje will use solid white for its
colors. If you define color_class name without colors edje_cc now has
same defaults instead of 0 0 0 0.

@fix
2017-10-30 16:44:30 +02:00
Andrii Kroitor 6888645598 edje_cc: move part_remove and program_remove to group
These properties belong to group, but were in part's block in edcref.

@fix
2017-10-30 16:44:30 +02:00
Andrii Kroitor a18e7f5242 edje_cc: fix color_class description
It can't be overridden by color values in state. Colors can only be
modified.

@fix
2017-10-30 16:44:30 +02:00
Andrii Kroitor 63e97098f0 edje_cc: fix incorrect type in minmul defaults
@fix
2017-10-30 16:44:30 +02:00
Andrii Kroitor 1df6fc19f1 edje_cc: parse "fixed" as bool
@fix
2017-10-30 16:44:30 +02:00
Andrii Kroitor 5e46c01001 edje_cc: fix state.no_render description
@fix
2017-10-30 16:44:29 +02:00
Andrii Kroitor b297387f5c edje_cc: fix color2 and color3 descriptions
color2 is used for outline
color3 is used for shadow

@fix
2017-10-30 16:44:29 +02:00
Andrii Kroitor ed9aa79344 edje_cc: add missing default values to documentation
@fix
2017-10-30 16:44:29 +02:00
Andrii Kroitor 0aedfdb538 edje_cc: fix errors in documentation
@fix
2017-10-30 16:44:29 +02:00
Carsten Haitzler cda9532f44 edje_cc - add offset_scale/offscale per desc to allow offsets to scale
there already was this flag but only set implicitly with anchor stuff.
allow to be able to set this flag explicitly to allow offsets to be
scaled if part is marked to scale

@feature
2017-10-30 17:51:30 +09:00
Jeeyong Um 64fb807b63 edje_cc: support script inheritance
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>
2017-10-27 13:34:01 -07:00
Stefan Schmidt 4d2117ef2a edje: make the generated default program name reproducible over builds
For programs without specific names edje_cc generated default names in
the form of program_$MEMORY_ADDRESS. That worked well enough for keeping
the names unique, but it causes problems if one wants to have these files
being binary reproducible due to different memory layouts, compilers,
etc. Simply using a counter as unique part should work well enough for
our use case and help people who want to verify builds.

Thanks a lot to Bernhard M. Wiedemann for review and testing.

Fixes T5113
Ref T5495
2017-08-07 14:35:32 +02:00
Carsten Haitzler 075e150a03 edje_cc - remove pointless free of null ptr
not a bug but not useful code either freeing what is already null

found by PVS studio
2017-07-29 11:13:26 +09:00
Carsten Haitzler 53629e2fd2 edje_cc - make list free simpler to make analysers happy
analysers like PVS studio dont know the eina_list_free returning NULL
design pattern for consistency and so dislike the var being set twice
in a row. this will make them happy without any skin off our backs.
not a bug at all.

found by PVS studio
2017-07-29 09:44:54 +09:00
Sungtaek Hong a5fc50c186 edje_cc: fix wrong comment about lazEDC norequired.
Summary: - norequired; stands for required: 0

Reviewers: conr2d, jpeg

Reviewed By: jpeg

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D5036
2017-07-25 14:44:40 +09:00
jiin.moon 4211822701 edje_cc: Add copy item for proxy part
Summary:
Although user use "inherit" in a state of proxy part,
the inherit function does not copy the source_visible and
the source_clip value of parent to the state.

Test Plan: {F1751132}sample

Reviewers: jpeg, cedric

Differential Revision: https://phab.enlightenment.org/D5017

@fix
2017-07-14 11:39:44 +09:00
Youngbok Shin 0735f6aa61 edje: support legacy Textblock calculation logic for 1.18 edje file
Summary:
From EFL 1.19, Edje Textblock calculation logic was fixed according to
Edje documents. But, it broke old edje files which ignored text.min
option for minimum width. Even if the old edje files were wrong,
we need to support them as discussed from T5548.

Also, this patch will change default efl_version to 1.18 from 1.19.
So, without efl_version property, edje file will run on the legacy logic.

Fixes T5548

Test Plan: Turn on/off presentation mode in Enlightenment.

Reviewers: herdsman, cedric, jpeg, zmike, raster

Subscribers: stefan_schmidt

Maniphest Tasks: T5548

Differential Revision: https://phab.enlightenment.org/D4967

Adjusted by @jpeg
2017-07-04 14:13:13 +09:00
Youngbok Shin 638ee888d9 edje: add efl_version property
Summary:
efl_version will be used to figure out which version of EFL lib
is used to develop a edje file.
If there is no property of efl_version, it will be 1.19 as default.
This feature is needed to fix T5548.

Example:
  efl_version: 1 20

@feature

Test Plan: N/A

Reviewers: cedric, jpeg, herdsman, zmike, raster

Reviewed By: cedric

Maniphest Tasks: T5548

Differential Revision: https://phab.enlightenment.org/D4961

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2017-06-14 14:24:08 -07:00
Cedric BAIL d6d9d0f727 edje_cc: when first parameter is a string and the second one a range, just reuse code. 2017-06-05 12:07:57 -07:00
Jean-Philippe Andre b8336030ea doc: Fix filters documentation in edcref
Thanks @rimmed for the report!

@fix
2017-05-19 14:52:50 +09:00
Carsten Haitzler 0feb34927b edje_cc - use mem_alloc to fail and exit if alloc fails and fix err out
PVS sudio thought this was odd and it was a bit. not a real issue as a
mem alloc failure herw would still be fatal and simply a crash... as
opposed to a clean "out of mem" and fatal exit then...

error out eally was not finding originally allocated color and the
malloc should have been a mem_alloc() that guarantees a valid memory
return (or termintion of the process).

@fix
2017-05-17 15:04:01 +09:00
Carsten Haitzler d6d8d84b80 edje_cc docs - fix docs for vector images as it is wrong
it's images { vector: "x.svg"; } not vector { vector: "x.svg"; } ...

@fix
2017-05-17 15:04:01 +09:00
Jeeyong Um 26d728be01 edje_cc: Fix warning caused by conflict between local & global variable 2017-04-28 11:54:11 +09:00
Chris Michael d312f94857 edje: Fix resource leak
The function parse_str returns allocated memory which should be freed
before we exit this function.

Fix Coverity CID1374644

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2017-04-27 11:05:30 -04:00
Chris Michael 70cb03711d edje: Fix resource leak
The function parse_str returns allocated memory which should be freed
before we exit this function.

Fix Coverity CID1374647

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2017-04-27 11:02:51 -04:00
Jeeyong Um 56bbb7467a edje_cc: Convert anchors to beta feature (require -beta when compiled) 2017-04-26 11:33:47 +09:00
Jeeyong Um 56b8d1f908 edje_cc: Allow to set float position for anchors 2017-04-26 11:23:06 +09:00