this is needed in order to sanely bind parent calls to some objejcts,
but not all.
However, from the canvas structure up we *need* a parent, so we can
fetch the evas from it. So declare it there a none optional
Reviewed-by: Felipe Magno de Almeida <felipe@expertisesolutions.com.br>
Differential Revision: https://phab.enlightenment.org/D11734
Summary:
value_provider can change the value of the property received from VG file.
When a file is cached, the changed properties are applied to all other objects using the same file.
So. If value provider is applied, evas_vg_cache is not caching vg file.
Test Plan: N/A
Reviewers: Hermet, herb, kimcinoo
Reviewed By: Hermet
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D11924
they are privat, they should never be installed.
Reviewed-by: Stefan Schmidt <stefan@datenfreihafen.org>
Differential Revision: https://phab.enlightenment.org/D11933
I know this is internal. However it is public used in public .eo files.
Even if it is internal, and beta, we still need to expose the API in
order to have it correctly in the .so.
Reviewed-by: Stefan Schmidt <stefan@datenfreihafen.org>
Differential Revision: https://phab.enlightenment.org/D11932
helps debug update regions to see if there is too much overdraw or too
many regions. i smelled too manhy and this showed it. i was right. fix
for too many regions coming next
Summary: these are static libs, they shall not be in the static list.
Reviewers: stefan_schmidt, jsuya
Reviewed By: stefan_schmidt, jsuya
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D11923
Summary:
Make the size to be backed up and the size to be compared equal.
and minor fix
Test Plan: N/A
Reviewers: Hermet, herb, kimcinoo
Reviewed By: Hermet
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D11925
Summary:
During shutdown we used to call engine_image_free() which was causing some deadlock.
as we have evas_cache which takes care of freeing all the images we just have to
delete the generic cache without freeing the image during shutdown.
Reviewers: Hermet
Reviewed By: Hermet
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D11915
Summary:
The ector surface size was determined by the size of the vg object.
vg object is usually sized by the size of the container.
So, the ector surface is set unnecessarily large.
This patch sets the ector surface size to the path boundary.
And the path boundary refers to the stroke width and miterlimit.
Test Plan:
vector sample
{F3887634}
{F3887632}
[grey area is ector surface size]
{F3887633}
Reviewers: Hermet, kimcinoo, smohanty, herb
Reviewed By: Hermet
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D11865
Summary:
changed_flag was declared in the private header for internal use(static_lib).
However, as the meson script has been changed, it can no longer be used.
changed_flag can display the property to which the changed
among the properties of value_provider.
there is no problem in providing it as an eo function, so move the function to eo.
Test Plan: N/A
Reviewers: Hermet, herb, kimcinoo
Reviewed By: Hermet
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D11894
this way we can use that list easily in the modules, and keep the list
for later module building.
Differential Revision: https://phab.enlightenment.org/D11897
Summary:
A mask of proxy source can be same with a mask of proxy source's child.
If source_clip is false, then the child object should not use the mask.
Test Plan: {F3888363}
Reviewers: Hermet, herb, jsuya
Reviewed By: Hermet
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D11870
this is wrong, each library should declare it on its own
Reviewed-by: Stefan Schmidt <stefan@datenfreihafen.org>
Differential Revision: https://phab.enlightenment.org/D11883
this is building parts of efl into a single .so and links all modules
and binaries to it.
The libraries themselfs are build as .a's which are linked together as
.so's. Which is required as every subproject has its little custom
c_flags, which are somtimes conflicting.
After the final .so is then built, all the split up libraries are
replaced with the efl-one. After that the modules and binaries are built
correctly with the correct link on the efl-one parts.
Reviewed-by: Stefan Schmidt <stefan@datenfreihafen.org>
Differential Revision: https://phab.enlightenment.org/D11808
libraries are split into deps, external deps, and pub deps.
Evas engines are refactored to use the predefined engine deps.
this is preparation work for efl-one.
Reviewed-by: Stefan Schmidt <stefan@datenfreihafen.org>
Differential Revision: https://phab.enlightenment.org/D11806
i noticed some junk in framespace... this happesn when solid objects
are outside the normal window content area and their solid areas are
not clipped to this inner frame area thus those areas are not "zeroed
out" next render.
@fix
Add it to subprojects which are not using it and remove and old
ELEMENTARY_BUILD define we no longer use. This allows us to have a
central place in the main meson.build file to set this variable.
Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Reviewed-by: Vincent Torri <vincent.torri@gmail.com>
Reviewed-by: João Paulo Taylor Ienczak Zanette <joao.tiz@expertisesolutions.com.br>
Differential Revision: https://phab.enlightenment.org/D11854
Summary:
The alpha_set cancels preload, and do not try to load it again.
So the image is not showing, if the alpha_set is called while preloading.
[Sample]
Evas_Object *image = elm_image_add(box);
elm_box_pack_end(box, image);
evas_object_show(image);
elm_image_file_set(image, "img.png", NULL); // start preloading
Evas_Object *eimg = elm_image_object_get(image);
evas_object_image_alpha_set(eimg, EINA_TRUE); // cancel preloading
Reviewers: Hermet, jsuya, herb
Reviewed By: Hermet
Subscribers: zmike, cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D11864
Summary:
evas_vg_container should return NULL when the parent is NULL
because the function does not allot NULL parent
@fix
Reviewers: kimcinoo, jsuya, Hermet
Reviewed By: kimcinoo
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D11867
On Windows 64bits, long is a 4 bytes type. Declare count as being a intptr_t instead of long
Reviewed-by: Stefan Schmidt <stefan@datenfreihafen.org>
Differential Revision: https://phab.enlightenment.org/D11836
Summary:
evas_render_updates_internal > eina_array_remove is calling pending_change
pending_change > render_post could call evas_object_change >
evas_render_object_recalc.
The eina_array is removing its item from pending_objects, while
the evas_object_change that is calling evas_render_object_recalc is adding
item to pending_objects.
As a result, the pending_objects.count is incorrect, and it breaks render.
Reviewers: Hermet, jsuya, herb
Reviewed By: Hermet
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D11835
Summary: EAPI must be defined to dllexport when building DLL, and to dllimport when using these DLL. To achieve this, define EFL_BUILD for each library and module, and set DLL_EXPORT unconditionally. Static library are and will be not supported
Test Plan: compilation
Reviewers: zmike, raster, jptiz
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D11834
Summary:
evas_vg_shaep_add should returned NULL when the parent is NULL
because the function does not allow the NULL parent.
@fix
Reviewers: jsuya, Hermet
Reviewed By: Hermet
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D11839
Summary:
When call efl_canvas_object_animation_animation_pause_set,
pd->in is freed by calling efl_canvas_object_animation_stop in _animator_cb.
So when set pause_state, crash occurred
This patch add null check to prevent null access.
Test Plan: N/A
Reviewers: Hermet, kimcinoo, herb, bu5hm4n
Reviewed By: Hermet, bu5hm4n
Subscribers: bu5hm4n, cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D11815
Summary:
This patch reduces calculations for layouting textblock when it is not needed.
Exactly in **evas_object_textblock_render_pre**, layouting was done (if needed) regardless of object visibility.
evas_object_render_pre will async called if object status is changed, for example show->hide
In short words: **We do not layout textblock content if textblock t is hidden.**
```
// suppose textblock is shown
// and user want to hide it and set content in it
// to be visible later on if needed
evas_object_hide(textblock);
evas_object_textblock_text_markup_set(textblock, "Hello World");
//Layouting will be done on textblock regardless of its visiblity, becase render_pre
//will be called and will make it relayout
```
Reviewers: woohyun, zmike, tasn, raster, bu5hm4n
Reviewed By: zmike
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D11508
Summary:
When calling style_user_pop in edje, current style was not freed by
style_user_pop in evas properly (since old_ts was not cared at all).
Because of this, memory was leaked by none accessible textblock styles which
should have been freed.
@fix
Test Plan:
1. call edje_object_part_text_style_user_pop
2. call edje_object_part_text_style_user_push with new style-text
3. repeat #1 and #2 several times and check the memory (ps -u)
Reviewers: ali.alzyod, bowonryu, bu5hm4n, zmike
Reviewed By: ali.alzyod
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D11801
Summary:
The geometry info of evas_vg_node is based on Efl.Path_Bounds.
The size of vg_node does not change unless path data is changed.
Therefore, this API does not work normally.
Test Plan: N/A
Reviewers: Hermet, kimcinoo, herb
Reviewed By: Hermet
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D11809
Summary:
There are wrong implemenation codes in the above and below get objects of efl_canvas_vg_node functin.
and made it working correctly.
Reviewers: Hermet, jsuya
Reviewed By: jsuya
Subscribers: singh.amitesh, cedric, #reviewers, #committers
Tags: #efl
Maniphest Tasks: T8700
Differential Revision: https://phab.enlightenment.org/D11781
Current mask is shared across the objects hierarchy,
children would try to apply this mask on the rendering
when it's enabled by the parent.
but if the map is enabled from one of parents, children should not apply
the parents mask but leaves it to the parent's job.
@fix
so if we call a callback that has e do something like set new pixel
data in a pixel data provider and we do it from the is pixel inside
call ebcause pixels were marked as dirty - pixels may no longer exist
after that, so re-get to make sure and handle properly.
this was found with tiling + e + shaped windows + moving them around
in tiling. it's a valid efl bug though.
@fix
Summary:
this should match all other similar cases when determining whether to
emit the event by checking whether at least one coord has changed, not both
Depends on D11791
Reviewers: devilhorns
Reviewed By: devilhorns
Subscribers: raster, cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D11792
- Put some methods in a group so they are accessible and can be linked to.
- Remove references to Efl_ methods, unavailable in Legacy.
- Incorrect param names and typos
Summary: Clear paragraph during markup set, instead of waiting until next text layout to happen, this will release unused memory right away
Reviewers: woohyun, zmike, bu5hm4n, raster
Subscribers: raster, cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D11773