Commit Graph

308 Commits

Author SHA1 Message Date
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
Jeeyong Um 7a712411ee edje_cc: Allow part to be anchored to GROUP and the part named as "GROUP" 2017-04-26 11:22:58 +09:00
Jeeyong Um 1a04bd3e3d edje_cc: Fix warning caused by missing const modifier 2017-04-26 11:22:55 +09:00
Jeeyong Um e105646041 edje_cc: introduce "Anchors" - easy way to set parts relationship
Test Plan: compile src/examples/edc-anchors.c and run

Reviewers: zmike, raster, cedric, jpeg

Reviewed By: raster, jpeg

Subscribers: raster, barbieri, zmike, SanghyeonLee, taxi2se, Jaehyun_Cho

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

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2017-04-25 16:25:15 -07:00
Jeeyong Um d5e724697a edje_cc: Fix external param smart parser 2017-04-25 09:41:46 +09:00
Jeeyong Um 2cd1326c8d edje_cc: Keep script block during group inheritance
Currently, script block is removed when an edje group inherits from other group
after defining its own script block.
  group { "somegroup";
    script {
       ...
    }
    parts {
       ...
    }
    inherit: "othergroup"; // <= previous script block is removed here.
  }

If parent group doesn't have script block, it doesn't need to overwrite previous
one. This will keep script block and print warning when script block is overwritten.
2017-04-20 21:09:59 +09:00
Jeeyong Um e8711baec3 edje_cc: Clean up repeated code in color setter
Summary: Remove duplicated code

Reviewers: jpeg, cedric

Reviewed By: jpeg

Subscribers: bu5hm4n

Differential Revision: https://phab.enlightenment.org/D4769
2017-04-18 18:42:51 +09:00
Sungtaek Hong aaefd66d0c edje_cc: add short state handler for part.description.clip_to
Summary:
part.clip_to statement has short handler named "part.clip"
while part.description.clip_to does not.

Its short handler name should be "part.description.clip"
in order to have same experience with "part.clip".

Reviewers: cedric, Hermet, jpeg, conr2d

Reviewed By: conr2d

Subscribers: conr2d

Differential Revision: https://phab.enlightenment.org/D4789
2017-04-18 16:48:04 +09:00
JEONGHYUN YUN 5fe350d2f7 edje: fix name check matching correctly
Reviewers: jpeg, jypark

This could lead to a crash as we were checking against NULL on
the wrong pointer.

@fix

Subscribers: cedric, jpeg

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

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2017-04-06 15:20:49 -07:00
Jee-Yong Um a6c1c2d08f edje_cc: Keep lookups for removed program
Summary:
Program lookups triggered by removed edje program should be removed when removing
edje program, but program lookups for removed program should be kept to check
exitence of removed program.
This patch keeps lookups for removed program.

Reviewers: cedric, jpeg

Reviewed By: jpeg

Differential Revision: https://phab.enlightenment.org/D4544
2017-01-04 15:30:21 +09:00
Vyacheslav Reutskiy f12a08ab15 edje_cc: add svg file name '.png' if it use as image
This path add notify for user in case when svg use in image section. It
need for clear understanding why vertor image scale like bitmap. And
add to file name new extension '.png'
2016-12-22 18:16:48 +02:00
Vyacheslav Reutskiy 715a66ed11 edje_cc: calculate and save the parts count in "edje/file" 2016-12-22 18:00:17 +02:00
Jean-Philippe Andre 176b0c8d03 Revert "edje: fix float comparison warning in edje_cc."
This reverts commit 9730eb1f47.

This introduces new issues, such as:
Warning: naviframe.edc:451: couldn't find an exact match in
 part 'elements_clip' when looking for 'hidden' 0.000000. Falling
 back to nearest one 'hidden' 0.000000.

Because some comparison was not done properly, and changed
float != 0 to float == 0.

Get it right if you insist on "fixing" those floating point
comparisons.
2016-12-22 14:13:25 +09:00
Jean-Philippe Andre a7c50179d3 edje_cc: Redefine STRDUP with eina 2016-12-22 10:51:05 +09:00
Bruno Dilly 9308410479 edje: support filtering allowed seats per part
collections.group.parts.part.allowed_seats keeps a list
of seat names to be used for events filter.

So when evas devices of seat type are added, filters
may be applied for each part.

If no seat is listed, every seat may interact with such
part.
2016-12-21 23:03:33 -02:00
Cedric BAIL 9730eb1f47 edje: fix float comparison warning in edje_cc. 2016-12-20 16:39:30 -08:00
Bruno Dilly 287486e920 edje: add flag to choose between evas or edje seat naming
collections.group.use_custom_seat_names should be set to '1'
to use seat names on signals as provided by Evas.

By default just follow Edje naming approach
("seat1", "seat2", ...)
2016-12-19 14:58:35 -02:00
Bruno Dilly 0ab6567b3e edje: accept optional seat parameter on FOCUS_OBJECT
If not provided, FOCUS_OBJECT action will keep acting
over default seat.

Also include a usage on edje-multiseat test
(actually no example was exercising this action).
2016-12-19 14:58:35 -02:00
Bruno Dilly 5cfdf3ec3a edje: support seat on focus action and signals
Seat goes as an optional parameter for FOCUS_SET (if not
provided, act over default seat), and emit signals
with seat suffix:
 * focus,in,$SEAT
 * focus,out,$SEAT
 * focus,part,in,$SEAT
 * focus,part,out,$SEAT
2016-12-19 14:58:35 -02:00