path: root/src/lib/edje/edje_calc.c (unfollow)
AgeCommit message (Collapse)Author
2018-12-18silence most left over compiler warningsJérémy Zurcher
Summary: silence -Wshadow -Wunused-variable -Wunused-parameter Reviewers: segfaultxavi Reviewed By: segfaultxavi Subscribers: segfaultxavi, cedric, #reviewers, #committers Tags: #efl Differential Revision:
2018-11-14edje: fix an overflow issue for state valuesYoungbok Shin
Summary: Whenever _edje_recalc_do() is called, a state value of Edje structure is increased. This increased value will be stored in Edje_Real_Part and Edje_Real_Part_State for calculation optimazation. But, once the state value is overflowed, it ruins calculation logic. @fix Test Plan: Run an Edje file which has infinite animation for over an hour. I'll attach an example to phab. Reviewers: raster, cedric, woohyun, Hermet Reviewed By: Hermet Subscribers: #reviewers, #committers Tags: #efl Differential Revision:
2018-11-09edje calc - wanr - move fallthrough tag to just before next caseCarsten Haitzler (Rasterman)
fixes warning for it not being there... no bug here though
2018-11-09edje calc - warn - fix warn about initting all fields of calc paramsCarsten Haitzler (Rasterman)
2018-09-17edje: Remove hack codeSubodhKumar
Summary: special calculation for textblock is for fit calculation. This is obvious from code that fit is being calculated before text is actually been set to textblock. I am not sure whether this is intentional or mistake but it make sense to calculate fit after text is being set so that formatted and native calculation can be proper. @fix Test Plan: NA Reviewers: cedric, zmike, herdsman, devilhorns Subscribers: stefan_schmidt, #reviewers, #committers, shilpasingh Tags: #efl Differential Revision:
2018-09-10Revert "evas vg: changed "vg object" to "vg""Hermet Park
This reverts commit ec69abed9d63e7876238dffc4b0d3398d1cd1be1. Ooops, I didn't intended this patch. @#!@#!@#!@#
2018-09-10evas vg: changed "vg object" to "vg"Hermet Park
Summary: Following our naming rule, rename to like other primitives. i.e. efl_canvas_rect, efl_canvas_image, efl_canvas_vg ... Subscribers: cedric, #reviewers, #committers Tags: #efl Differential Revision:
2018-09-04edje_calc: remove unused variableYeongjong Lee
Summary: those variables should be removed at 05e3e450e5ecb67f80c1be3df8ab7a08e8d33da2 Reviewers: eagleeye Subscribers: cedric, #reviewers, #committers Tags: #efl Differential Revision:
2018-08-31efl: vector is no more beta version.Hermet Park
2018-04-24Efl.Gfx.Image* (From Efl.Image*)Xavi Artigas
Ref Reviewed-by: Cedric Bail <>
2018-04-24Efl.Gfx.Entity (from Efl.Gfx)Xavi Artigas
Ref Reviewed-by: Cedric Bail <>
2018-04-24Efl.Canvas.Vg.Object (from Efl.Canvas.Vg)Xavi Artigas
Also, Efl.Canvas.Vg.* (from Efl.Canvas.VG.*) Ref Reviewed-by: Cedric Bail <>
2018-02-28edje: add ability to reference images from other edje filesMike Blumenkrantz
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
no functional changes, just a confusing define rename
2018-02-12evas_vg: implement interpolate from Efl.Gfx.PathMike Blumenkrantz
2018-01-16ecore/edje/elm: Fix a few WRN from calls to NULLJean-Philippe Andre
This fixes some of the warnings generated by calling functions on NULL objects. One of the main remaining points is to avoid unwanted warnings on non-existing parts. Ref T6326
2017-12-11interface: rename Efl.Dup to Efl.Duplicate.Amitesh Singh
dup is considered too short and maybe confusing, hence rename it to duplicate instead.
2017-12-07edje: Rename events according to recent renameJean-Philippe Andre
Ref T5315
2017-11-30efl: Introduce interface Efl.DupJean-Philippe Andre
A few classes allow their objects to be duplicated, so they should all use the same interface. Also, rename VG's dup to copy_from as it's not conforming to the definition of dup.
2017-11-13edje: add event for inform about circular dependencyVyacheslav Reutskiy
This commit add the event "circular,dependency" for edje object. Given event is called when edje found the circular dependency between parts in object. This event will be usefull and informative paired with Edje_Edit API.
2017-11-11Revert "Edje: use textblock by default"Carsten Haitzler (Rasterman)
This reverts commit ef3d2120bfa58f9247a441602bd30f13cc7f225a. This breaks E. pager ono my right screen looks like: on my left screen shellf keeps swapping between 2 dizes wobbling back and forth every frame eating cpu and making it "blurry"... note - theme is the flat one in devs/raster/theme/flat2 branch. so this change certainly breaks something...
2017-11-10Edje: use textblock by defaultDaniel Hirt
As most of you know, TEXT part was, up to this point, an Evas.Text object. This patch merges TEXT and TEXTBLOCK both to use Efl.Canvas.Text. Code is added to emulate what TEXT did that TEXTBLOCK did not. I believe we can move forward with TEXT, and deperacate TEXTBLOCK from the EDC. You can also set markup to TEXT parts. Exactness seems to show some differences, but further examination shows that it's due to difference in how width is calculated in Efl.Canvas.Text. The results seem correct. Be sure to report of any breakage via Phabricator or contact me directly. I am running E with this and did not stumble upon any crashes or visual bugs. Signed-off-by: Cedric BAIL <>
2017-11-10Edje: move textblock handling to a separate sourceDaniel Hirt
Signed-off-by: Cedric BAIL <>
2017-11-08evas/vg: changed the efl_vg_dup api signature.subhransu mohanty
Reviewers: jpeg, cedric Subscribers: cedric, jpeg Differential Revision:
2017-10-27evas vg: Add FIXME and fix strbuf useJean-Philippe Andre
This is the result of a really quick review of the new VG code. Most of it was moved around, but this merge includes the following: - Move logic from edje to evas - Create static lib for common VG handling - Add file_set() API - Add a basic VG cache in evas side - Add savers modules, implement loaders and savers.
2017-10-27edje: use the file_set api from vg canvas to load and parse svg file.subhransu mohanty
2017-10-23evas: add set function for root_node property.subhransu mohanty
Summary: Currently user ask for the root_node from the evas_vg object and then attach its tree by setting the root node as parent. With this change this process will be explicit. user has to set the root node to the evas_vg object and the object will take the ownership of the tree. User can query the current vg_tree by root_node_get api. Test Plan: Fixed the test app to reflects this change. Reviewers: jpeg, cedric Reviewed By: jpeg, cedric Subscribers: cedric Differential Revision: Signed-off-by: Cedric Bail <>
2017-10-18edje: correct the usage of EINA_SIZE2DThiep Ha
The usage of EINA_SIZE2D macro as left hand side variable does not save the size value. The Eina_Size2D should be used.
2017-10-04evas: remove use of engine image_load from Evas.Canvas3D.Texture.Cedric Bail
2017-09-28edje - fix check return of _edje_fetchCarsten Haitzler (Rasterman)
fixes CID 1381326
2017-09-18efl: Use Eina.Size2D for size hint restricted minJean-Philippe Andre
This is the "internal" or "intrinsic" minimum size, to be set by EFL and not by applications.
2017-09-18efl: Use Eina.Size2D for Efl.Gfx.sizeJean-Philippe Andre
Big patch as a lot of things call or reimplement size_set. Hopefully I got it right... fingers crossed.
2017-09-18efl: Use Eina.Position2D for Efl.Gfx.positionJean-Philippe Andre
Note: This is a little bit more cumbersome in some places but in most it's more convenient than (x,y).
2017-09-18efl: Introduce Eina.Rect and switch EO APIs to itJean-Philippe Andre
It's a complex struct but defined in EO as a simple struct. ABI-wise it's equivalent to Eina_Rectangle. Some macros that use Eina_Rectangle also work on Eina_Rect out of the box, most of the code dealing with x,y,w,h will require no modifications either. But Eina_Rect provides direct access to a size or position 2d component, as well as the usual x,y,w,h. The field "rect" is provided as a convenience for code dealing with both Eina_Rectangle and Eina_Rect. We may or may not require it. Note: Size2D could use unsigned values but I have spotted a few places in the code that actually use -1 to indicate invalid size (as opposed to 0x0). @feature
2017-09-13efl_gfx_fill: Use Eina.Rectangle for fill (EO)Jean-Philippe Andre
2017-09-13edje: Remove use of smart clipped dataJean-Philippe Andre
This removes dependency on a legacy structure. Edje object does not change the smart data, unlike evas box and grid.
2017-07-20slider: fix jumping handler bug.Hosang Kim
Summary: Actual slider value is not changed. So when user release mouse or touch, slider value is returned to the value by user set. This is a partial revert of f41e2761608fff7b070d630a738 Fixes T5745 Test Plan: elementary_test -> slider Reviewers: jpeg Subscribers: cedric Maniphest Tasks: T5745 Differential Revision:
2017-07-11slider: Allow range limitationsHosang Kim
Summary: When user drags slider, slider value cannot be changed by API. However the necessity of above behavior has emerged. Because sometimes applications want limitation of slider value. Test Plan: elementary_test -> slider -> Limited Reviewers: woohyun, cedric, SanghyeonLee, singh.amitesh, jpeg Reviewed By: jpeg Subscribers: cedric, jpeg Differential Revision:
2017-07-04edje: support legacy Textblock calculation logic for 1.18 edje fileYoungbok Shin
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: Adjusted by @jpeg
2017-06-09Revert "Revert "Edje calc: Fix textblock size calculation logic""Mike Blumenkrantz
This reverts commit 0392cd3c489ee1c69dc768b2c3e8ac01ba1854c1. oops this was supposed to just be local
2017-06-09Revert "Edje calc: Fix textblock size calculation logic"Mike Blumenkrantz
This reverts commit a6fff5bc1e5e30a946e435369bcbaa406dd5d5ba.
2017-06-05edje: object have small difference and we use switch case fallthrough to ↵Cedric BAIL
reuse code.
2017-05-31edje: Reshuffle a bit edje_object.eoJean-Philippe Andre
This changes a few method names: - freeze -> calc_freeze - thaw -> calc_thaw - update_hints -> calc_update_hints Otherwise this is mostly about reshuffling the EO file itself and changing documentation. Ref T5315
2017-05-08edje: null checking the return value of a function eina_mempool_mallocMinchul Lee
Summary: The return value of the function eina_mempool_malloc was dereferenced without checking. I added the checking code similar to the other codes. @fix Reviewers: raster, cedric, jpeg, herdsman, woohyun, stefan_schmidt Subscribers: stefan_schmidt Differential Revision:
2017-04-25edje_cc: introduce "Anchors" - easy way to set parts relationshipJeeyong Um
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: Signed-off-by: Cedric BAIL <>
2017-04-10edje: Add workaround for misuses of clip_setJean-Philippe Andre
An unfortunately very common misuse of clip is as follows: - Layout A is created (edje object / elm_layout) - Object B is swallowed inside A - Clipper C is set to clip B This is a invalid usage, as layout A takes control over the clip property of B (just like it does for geometry, visibility, color...). Since 75ec3a7338c9c2406d4 edje_recalc resets the clip at every calc loop, as it can change between states. In the past, edje_recalc did not reset the clip so anyone could (wrongly) swallow an object and then change its clip from C to modify its color, mask it, blend it, etc... Even though this was not proper use of the API, this is not very clearly documented, and since it worked, it has been (ab)used a lot already. The result now is that a clipper set from C will become visible as an opaque white rectangle covering the entire UI. Booh. This patch is a workaround that should have no impact on well written applications. As a bonus this avoids an extra call to clip_set() from edje. @fix
2017-03-14edje: Move prev_description out of ephysics ifdefJean-Philippe Andre
prev_description was used when HAVE_EPHYSICS is set, which is the default, but I also added a use in 7072fbc2bfe25881 where the map was not properly reset. This removes an ugly #ifdef and opens the door to other fixes similar to that map one.
2017-02-21edje: Fix a major issue with recalc loopJean-Philippe Andre
With the new Efl.Ui.Clock widget, which implements Datetime, most parts are relative to each other, and trigger a near-inifinite recalc of all the parts. Indeed edje was recalculating a part even if it had already calculated it (flag is set). This seemingly simple patch fixes Datetime and probably a lot of other edje widgets. Fixes T4909 @fix
2017-02-14Edje calc: Fix textblock size calculation logicYoungbok Shin
Summary: In singleline textblock, using "text.min: 1 0" and min, max width, Edje allows to use expandable text with ellipsis. It shows ellipsis when only text's width reach the max width. But, Edje couldn't support same feature on multiline textblock. Edje dose not use max height or text.max properly if ellipsis is enabled. This feature is very useful to make a layout with dynamically aligned text. @fix Reviewers: cedric, tasn, woohyun, raster, herdsman Subscribers: z-wony, eagleeye, jpeg Differential Revision:
2017-01-25edje - fix border scale by interpolationCarsten Haitzler (Rasterman)
several theme elements uses transitioning border scale by for animation and this has been broken for quite some time now. the theme sall looked wrong for ages. i just never junted down exactly why, but i know... i wrote the themes that made use of scale by animation interpolating from like 0.1 to 1 and so on to make for example a shadow go from sharp to blurry... the theme hasnt changed. edje did. it broke. this fixes it back to where it was. interpolation now works. i left a comment so no one tries to "fix it". @fix