The upper mask is the one that should actually move as the gap is between the lower and
the upper mask when removing an element from the array.
Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D10632
The composite model was erroneously giving the reference to a children composited model
instead of the origianl children which made it impossible for the composited model
to delete the right child.
Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D10631
This patch use volatile model to make sure that a model is properly cleaned once it is not
used anymore.
Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D10625
Figuring out why model fetch was sometime not working recursively allow to
reduce the amount of request that need to be made. In this case, notifying
the position manager or lack of notification was triggering a case where the
item would not show up (Joice of nested asynchronous behavior).
Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D10624
The children removal event is happening on the parent model, so access
values directly.
T8358
Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D10623
Summary:
play_sector method is API for playing section.
If the animation object has section information, user can play the section.
Get the start and end section name and get the frame of each section.
And set and play the min and max frames of the current animation object.
Depends on D10506
Test Plan:
For example. Animation objects have "first","second" and "third" sectors.
And sector "second" has duration information.
User can use it like this:
efl_ui_animation_view_play_sector(anim_view, "first", "second");
efl_ui_animation_view_play_sector(anim_view, "second", NULL);
efl_ui_animation_view_play_sector(anim_view, "first", NULL); // first sector ~ end frame of animation object.
efl_ui_animation_view_play_sector(anim_view, "second", "third");
efl_ui_animation_view_play_sector(anim_view, "second", "wrong name");
Reviewers: Hermet, smohanty, kimcinoo
Reviewed By: Hermet
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D10507
Summary:
These APIs to get and set frames for a specific section for playing section.
Depends on D10505
Test Plan: N/A
Reviewers: Hermet, smohanty, kimcinoo
Reviewed By: Hermet
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D10506
Summary:
These APIs to get and set frames for a specific section in vg animation.
get API looks for a sector by name in the markerlist of VG_File_Data.
Then return start and end frames.
Depends on D10504
Test Plan: N/A
Reviewers: Hermet, smohanty, kimcinoo
Reviewed By: Hermet
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D10505
Summary: If json data has marker information, it is stored in vg file data.
Test Plan: N/A
Reviewers: Hermet, smohanty, kimcinoo
Reviewed By: Hermet
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D10504
this here is the same effect as in my previous commit:
When re retheme a object, we need to reset the signals, otherwise there
would be wrongly displayed scrollbars.
This fixes wrong scrollbars in enlightenment.
Differential Revision: https://phab.enlightenment.org/D10628
Summary:
start_delay and duration both have to be > 0.0 otherwise there should be
an error. This also adds the neccessary checks, to ensure that.
For now this is only added to the normal evas test suite, maybe we eed
to refactor these efl_* API tests into theire own test suite. However,
not for now.
Reviewers: segfaultxavi
Reviewed By: segfaultxavi
Subscribers: segfaultxavi, cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D10617
Summary:
CoreCLR, the runtime of dotnet, has some issues regarding storing
environment variables (see dotnet/coreclr issue #15812), keeping them in
a local cache instead of flushing to the native `setenv`.
This commit replaces the usage of
`System.Environment.SetEnvironmentVariable` with a `setenv` wrapper.
Test Plan: Run without DISPLAY set and with dotnet.
Reviewers: felipealmeida, brunobelo, segfaultxavi, YOhoho
Reviewed By: brunobelo
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D10619
the scrolbars have been displayed wrongly before. Reason for this is
that the theme displays the bars per default, the code however works
with hidden by default. This was worked arround before with the fact
that we are explicitly hiding the vbar/hbar before.
The reason this previous code was not working proberly is that entry
decided to retheme a object that was already set to the interface
scrollable object. Which means, it was not detected by the code. With
the newly introduced reset function you can tell the interface, that you
have changed the group, signals will be emitted accordingly.
Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D10622
Efl.Model can be nested and Efl.Ui.CollectionView use this ability. Listening
on the nested model instead of the nester model can lead to event being triggered
that shouldn't. Better listen on the top model.
Differential Revision: https://phab.enlightenment.org/D10621
EINA_FALSE is to be returned only if one of the callback did call
efl_event_callback_stop not if their was no callback called.
Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D10620
This fix adding item not always showing up in the CollectionView right away.
The main issue comes down to the fact we can not chain a new request when one
is already resolved partially. The code now make sure to properly do this.
Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D10614
This reverts commit 2f676a6591.
This causes segv's in edje_cc - i suspect the eet changes (or in combo
to how they are used in edje):
AddressSanitizer:DEADLYSIGNAL
=================================================================
==8991==ERROR: AddressSanitizer: SEGV on unknown address 0x000001010000 (pc 0xffff9f002604 bp 0xfffffa747700 sp 0xfffffa747700 T0)
==8991==The signal is caused by a READ memory access.
#0 0xffff9f002600 in _eet_hash_gen ../src/lib/eet/eet_utils.c:25
#1 0xffff9efdd024 in eet_dictionary_string_add ../src/lib/eet/eet_dictionary.c:103
#2 0xffff9efbe324 in eet_data_put_string ../src/lib/eet/eet_data.c:849
#3 0xffff9efc1c4c in eet_data_put_type ../src/lib/eet/eet_data.c:1427
#4 0xffff9efd9128 in eet_data_put_unknown ../src/lib/eet/eet_data.c:4730
#5 0xffff9efdb320 in _eet_data_descriptor_encode ../src/lib/eet/eet_data.c:5108
#6 0xffff9efd5958 in eet_data_put_variant ../src/lib/eet/eet_data.c:4309
#7 0xffff9efdb320 in _eet_data_descriptor_encode ../src/lib/eet/eet_data.c:5108
#8 0xffff9efd9270 in eet_data_put_unknown ../src/lib/eet/eet_data.c:4739
#9 0xffff9efdb320 in _eet_data_descriptor_encode ../src/lib/eet/eet_data.c:5108
#10 0xffff9efd8ca0 in eet_data_put_array ../src/lib/eet/eet_data.c:4692
#11 0xffff9efdb320 in _eet_data_descriptor_encode ../src/lib/eet/eet_data.c:5108
#12 0xffff9efc7768 in eet_data_write_cipher ../src/lib/eet/eet_data.c:2403
#13 0xffff9efc78a4 in eet_data_write ../src/lib/eet/eet_data.c:2420
#14 0xaaaabb151dcc in data_thread_group ../src/bin/edje/edje_cc_out.c:2045
#15 0xaaaabb152130 in data_write_groups ../src/bin/edje/edje_cc_out.c:2086
#16 0xaaaabb157734 in data_write ../src/bin/edje/edje_cc_out.c:2866
#17 0xaaaabb14122c in main ../src/bin/edje/edje_cc.c:456
#18 0xffff9dbd92a0 in __libc_start_main (/usr/lib/aarch64-linux-gnu/libc.so.6+0x242a0)
#19 0xaaaabb13ea00 (/home/raster/C/git/efl/build/src/bin/edje/edje_cc+0x38a00)
AddressSanitizer can not provide additional info.
SUMMARY: AddressSanitizer: SEGV ../src/lib/eet/eet_utils.c:25 in _eet_hash_gen
==8991==ABORTING
Aborted (core dumped)
When compiling breaks... it's certainly time to revert ASAP :(
Summary:
Instead of a getter with an explicit return type, change it to be a
single-valued property.
The eolian C generator takes care of making this single value the actual
return value of the C function.
This also makes these properties able to be reflected on.
The stack properties returns just a pointer and not a new ref, so no
@move needed.
Beta properties will be handled in a future commit.
Depends on D10601
Reviewers: segfaultxavi, bu5hm4n, q66, cedric
Reviewed By: segfaultxavi
Subscribers: #reviewers, #committers, brunobelo, felipealmeida
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D10602
ecore_file_cp can cause config data(eet file) invalid,
once multiple processes are trying to call elm_config_save.
this patch replaces it with ecore_file_mv to prevent the problem.
Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D10578
It should takes true almost all times when it checks.
Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D10606
efl_ui_position_manager_entity_entities_ready is expecting the end offset and not the
length of how many items have been updated. Sending the correct number fixes the problem.
Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Reviewed-by: SangHyeon Jade Lee <sh10233.lee@samsung.com>
Differential Revision: https://phab.enlightenment.org/D10590
Summary:
OK, so, ALL interpolator parameters were called "factor" and the docs
literally said "First factor, Second factor, ..."
After diving into the actual implementation, proper names (and types) for the
parameters were found and proper docs written.
I am afraid I could not make any sense of the Divisor interpolator code. Those
docs still need writing.
Test Plan: Everything still builds and passes tests. No functional changes.
Reviewers: zmike, cedric, bu5hm4n, Jaehyun_Cho
Reviewed By: bu5hm4n
Subscribers: #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D10603
Summary:
in case of setting a state of check by calling a API,
the flags that used for changed cb aren't changed.
which causes that the callback not invoked when it should be.
this patch resets the flags to make it work properly.
Reviewers: bu5hm4n
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D10591
Summary:
This makes sure the user is warned if it ignores a return value that
could potentially be a memory leak.
This also makes possible to use `value {}` blocks with `@move` instead
of value-less properties with `@no_unused`.
Also removed the `@move` from canvas_text_async_layout as it is ignored
in the only place it is used.
Reviewers: q66
Reviewed By: q66
Subscribers: #reviewers, #committers, bu5hm4n, felipealmeida, cedric, segfaultxavi
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D10601
As this function is only used in 1 place and will likely never be used
outside of the modular dmabuf engine, we can move it to be internal
only.
ref T8013
As this function is only used in 1 place and will likely never be used
outside of the modular dmabuf engine, we can move it to be internal
only.
ref T8013
As this function is only used in 1 place and will likely never be used
outside of the modular dmabuf engine, we can move it to be internal
only.
ref T8013
As this function is only used in 1 place and will likely never be used
outside of the modular dmabuf engine, we can move it to be internal
only.
ref T8013
As this function is only used in 1 place and will likely never be used
outside of the modular dmabuf engine, we can move it to be internal
only.
ref T8013
As this function is only used in 1 place and will likely never be used
outside of the modular dmabuf engine, we can move it to be internal
only.
ref T8013
As this function is only used in 1 place and will likely never be used
outside of the modular dmabuf engine, we can move it to be internal
only.
ref T8013
As this function is only used in 1 place and will likely never be used
outside of the modular dmabuf engine, we can move it to be internal
only.
ref T8013
As this function is only used in 1 place and will likely never be used
outside of the modular dmabuf engine, we can move it to be internal
only.
ref T8013
As this function is only used in 1 place and will likely never be used
outside of the modular dmabuf engine, we can move it to be internal
only.
ref T8013
As this function is only used in 1 place and will likely never be used
outside of the modular dmabuf engine, we can move it to be internal
only.
ref T8013
As this function is only used in 1 place and will likely never be used
outside of the modular dmabuf engine, we can move it to be internal
only.
ref T8013
As this function is only used in 1 place and will likely never be used
outside of the modular dmabuf engine, we can move it to be internal
only.
ref T8013
As this function is only used in 1 place and will likely never be used
outside of the modular dmabuf engine, we can move it to be internal
only.
ref T8013
As this function is only used in 1 place and will likely never be used
outside of the modular dmabuf engine, we can move it to be internal
only.
ref T8013
As this function is only used in 1 place and will likely never be used
outside of the modular dmabuf engine, we can move it to be internal
only.
ref T8013
As this function is only used in 1 place and will likely never be used
outside of the modular dmabuf engine, we can move it to be internal
only.
ref T8013
As this function is only used in 1 place and will likely never be used
outside of the modular dmabuf engine, we can move it to be internal
only.
ref T8013
As this function is only used in 1 place and will likely never be used
outside of the modular dmabuf engine, we can move it to be internal
only.
ref T8013
As this function is only used in 1 place and will likely never be used
outside of the modular dmabuf engine, we can move it to be internal
only.
ref T8013
As this function is only used in 1 place and will likely never be used
outside of the modular dmabuf engine, we can move it to be internal
only.
ref T8013
As this function is only used in 1 place and will likely never be used
outside of the modular dmabuf engine, we can move it to be internal
only.
ref T8013
As this function is only used in 1 place and will likely never be used
outside of the modular dmabuf engine, we can move it to be internal
only.
ref T8013
As this function is only used in 1 place and will likely never be used
outside of the modular dmabuf engine, we can move it to be internal
only.
ref T8013
As this function is only used in 1 place and will likely never be used
outside of the modular dmabuf engine, we can move it to be internal
only.
ref T8013
As this function is only used in 1 place and will likely never be used
outside of the modular dmabuf engine, we can move it to be internal
only.
ref T8013
As this function is only used in 1 place and will likely never be used
outside of the modular dmabuf engine, we can move it to be internal
only.
ref T8013
As this function is only used in 1 place and will likely never be used
outside of the modular dmabuf engine, we can move it to be internal
only.
ref T8013
As this function is only used in 1 place and will likely never be used
outside of the modular dmabuf engine, we can move it to be internal
only.
ref T8013
Summary: This is the first version of inverse color filter both GL and SW.
Test Plan:
1. Create filter_example with following .
efl_gfx_filter_program_set(image, "inverse_color ()", "inverse color");
2. Run.
./filter_example (Use ELM_ACCEL=gl for GL engine)
Reviewers: Hermet, jsuya
Reviewed By: Hermet
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D10335
Summary:
to be taken over by doccop
Depends on D10559
Reviewers: Jaehyun_Cho, bu5hm4n
Reviewed By: bu5hm4n
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D10560
Summary:
These docs were lacking a lot of detail.
Depends on D10562
Reviewers: bu5hm4n, cedric, zmike, Jaehyun_Cho
Reviewed By: cedric
Subscribers: #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D10565
Summary:
with this the passing of positions is getting more easy. Additionally,
Reading the API call gets easier, as parameters are semantically
grouped.
Depends on D10558
Reviewers: segfaultxavi, Jaehyun_Cho
Reviewed By: segfaultxavi
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Maniphest Tasks: T8288
Differential Revision: https://phab.enlightenment.org/D10559
Summary:
with this commit invalid values are not accepted silently anymore. But
rather a error will be raised.
Depends on D10350
Reviewers: segfaultxavi, Jaehyun_Cho
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Maniphest Tasks: T8288
Differential Revision: https://phab.enlightenment.org/D10558
Summary:
in task T8288 we concluded that a few APIs need to be adjusted in order
to stabelize animation classes at some point. This also adds a new macro
to eina in order to create EINA_VECTOR2 values more easily.
ref T8288
Reviewers: Jaehyun_Cho, segfaultxavi, zmike
Reviewed By: zmike
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Maniphest Tasks: T8288
Differential Revision: https://phab.enlightenment.org/D10350
First - the big problem. This breaks enlightenment's bluez5 popup. it
does a sortyed inert using the item data and the item data for one of
the itmes to compare in _cb_insert_cmp() in e_mod_popup.c when it
calls elm_object_item_data_get(0 returns a junk ptr for the item data
after this patch. i haven't managed to figure out exactly why in my
last 30 mins of looking.
But a closer look... this disables immediate processing of:
1. the first block of items (32items) which was intended so for
short/small lists you have some content by the time you go to the
first frame, and at least the first block of itso you seem to have
visual contnt and not a blank list until idlers can process further
content. so the patch being reverted would have gotten rid of this
logic that gets you content as opposed to blank:
while ((sd->queue) && ((!sd->blocks) || (!sd->blocks->next)))
2. if it's a homogenous list, all items have the same size so we do
have to realize the first item of each class type but ONLY that one.
further items should not need realizing as we can ASSUME the height to
be the same as the first item... that's the point of homogenous +
compress lists - all items of the same class have the same height and
width thus shortcutting further need to calculate nd realize. if we
are reizing everything in a homogenous list then the issue lies with
something going wrong with this above logic. we shokuld be able to
handle such lists super fastif this logic was working.
that's the 2nd while:
while ((sd->queue) && (sd->blocks) &&
(sd->homogeneous) && (sd->mode == ELM_LIST_COMPRESS))
so overall, this should not have been realizing every item. either
just the first block of 32, OR just the first item of any class and
thus assume all further items are the same size without realizing
being needed. if these broke then the solution is not commenting this
out but finding out why this logic is breaking :)
and not to mention... this commenting out also caused segfaults in
existing applications which are doing the right thing. perhaps the
sorting logic also needed updating as well if this above is commented out...
but i didn't have time to chase it more than this.
---
This reverts commit 0777b74f07.
Summary:
This specific EFL_EVENT_DEL handler was registered thousand of time alone on
an Evas device. Potential solution are to improve handling of this kind of large
scale callback logic or just not take that path. I find it easier to have a custom
code in this case to handle the destruction of Evas device and avoid this
thousand of callback.
Depends on D10492
Reviewers: zmike, raster, bu5hm4n, Hermet
Reviewed By: zmike
Subscribers: #reviewers, #committers
Tags: #efl
Maniphest Tasks: T8321
Differential Revision: https://phab.enlightenment.org/D10493
Summary:
It is unlikely that the code was working before and it was a bad idea
anyway. There is no user of this API in EFL.
Depends on D10490
Reviewers: zmike, raster, bu5hm4n, Hermet
Reviewed By: zmike
Subscribers: #reviewers, #committers
Tags: #efl
Maniphest Tasks: T8321
Differential Revision: https://phab.enlightenment.org/D10491
Summary:
The internal and the API we would like is mostly a canvas API. A lot of the code
in evas is working around the fact that efl_input_device is not defined inside Evas.
This patch is the first step to try to clean this up.
Depends on D10487
Reviewers: zmike, raster, bu5hm4n, Hermet
Reviewed By: zmike
Subscribers: #reviewers, #committers
Tags: #efl
Maniphest Tasks: T8321
Differential Revision: https://phab.enlightenment.org/D10488
Summary:
this cannot be evalulated in compile time, so this must be evalulated in
runtime, at the first call.
This should fix OSX build.
Co-authored-by: Cedric Bail <cedric.bail@free.fr>
Reviewers: zmike, cedric, raster
Reviewed By: zmike
Subscribers: #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D10582
This leverage the new infrastructure from Eo that provide a scheduler for any event
attached to any object.
Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D10481
This avoid comparison with potentially uninitialized byte.
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Differential Revision: https://phab.enlightenment.org/D10479
As we do not rely on legacy Ecore Event directly anymore, we do not
need to mind the shutting down of EFL.
Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D10477
This patch introduce a small hash (64 or 32bits) that cache all existing
Efl_Event_Description callback handler registered on an object. It slightly
reduce the time needed to do an unecessary call and cost just a few bytes
per object.
Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D10475
Summary:
ECORE_X_EVENT_FIXES_SELECTION_NOTIFY is only initialized when XFIXES
is available. If ecore_event_handler_add is called with type == 0, it
will trigger an abort and elementary would not initialize properly.
Depends on D10491
Reviewers: zmike, raster, bu5hm4n, Hermet
Reviewed By: zmike
Subscribers: #reviewers, #committers
Tags: #efl
Maniphest Tasks: T8321
Differential Revision: https://phab.enlightenment.org/D10492
Summary:
This reduce in elementary_test the number of callback registered on the
canvas from hundreds to around 10.
Depends on D10486
Reviewers: zmike, raster, bu5hm4n, Hermet
Reviewed By: zmike
Subscribers: #reviewers, #committers
Tags: #efl
Maniphest Tasks: T8321
Differential Revision: https://phab.enlightenment.org/D10487
Summary:
This reduce by 3 the amount of callback registered on the canvas. Another
potential improvement would be to only register those callback if someone
is listening for a 'seat,*' event or if the edje file define seat filters.
Depends on D10484
Reviewers: zmike, raster, bu5hm4n, Hermet
Reviewed By: zmike
Subscribers: #reviewers, #committers
Tags: #efl
Maniphest Tasks: T8321
Differential Revision: https://phab.enlightenment.org/D10486
This code is filled with out of bounds accesses now after the reverted
patch. All those base_char+1, itr+1 etc. in
evas_common_font_query_run_font_end_get() are accessing BEYOND
the end of the run. textgrid shows this instantly to fall over as it
uses single unicode codepoint chars with no nul terminator. As this
api takes an explicit run_len we should never access beyond the end of
the run_len.
Please revisit this code and keep in mind proper memory/bounds
accessing. If there was ano run_len and it assumed strings were
regular strings that had to be nul terminated... then it might be ok,
but not here.
of course if i put in guards for these +1's then it ends up in
infintie loops, so enough debugging and send it back for a rethink. :)
....
Revert "evas_object_textblock: add support for variation sequences"
This reverts commit 46f2d8acdc.
if a legacy timer callback returns false, the timer is deleted. in the
case where the legacy timer is deleted inside the callback while the same
timer is ticking recursively, however, the deletion must be deferred until
the outer-most frame of the timer's callstack has returned from the callback
in order to avoid improperly handling the timer
@fix
Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D10545
no need to strcpy here when we can just pass the length to stringshare directly
CID 1382854
Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D10441
this cannot currently be used for anything and was not explicitly stabilized
Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D10540
this cannot be used for anything and serves no purpose
Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D10539
The idea is to improve memory locality and hopefully get better cache hit
in general.
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Differential Revision: https://phab.enlightenment.org/D10536
Summary: these should error so the user can detect that they screwed up
Reviewers: devilhorns
Reviewed By: devilhorns
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D10563
Summary:
I'm tired of typing all this out. it's exhausting.
also add a couple usages internally to verify that this works as expected
@feature
Reviewers: cedric, bu5hm4n, devilhorns
Reviewed By: devilhorns
Subscribers: devilhorns, bu5hm4n, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D10557
Summary:
this makes the types more explicit
Depends on D10554
Reviewers: segfaultxavi
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D10555
Summary:
this can be used to more explicitly specify that a double is intended to
be a value of 0.0 to 1.0 for the purpose of aligning objects. it also avoids
the need to copy and paste the same docs around everywhere
Reviewers: segfaultxavi
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D10554
Summary:
before recent times we had to support static and shared building based
on the options of the user, which forced us to complicate our build with
the evas_goal hack. the evas_goal hack more or less was the idea of
"faking" the evas build in the evas directory, finish all the .eo
generation there, then build the modules and make all the static files
ready. Then build everything in evas_goal.
Now, that we just build everything the same always, we can simply build
it in the evas way (removing the evas_goal hack FINALLY), as the same modules
are build statically and shared.
This also gives us the possibility to build the shared image loaders
*again* the the modules directory, which unbreaks peoples build scripts
who packaged loader files seperatly.
Reviewers: zmike, raster, cedric, stefan_schmidt
Reviewed By: zmike
Subscribers: #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D10548
if the block is realized, its items have been registered into the focus
manager and must be unregistered to avoid double-registering
@fix
Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D10544
cached item contents should already be hidden by the edje clipper, so this simply
changes their visible state to break them out of the focus calcs
contents must also be explicitly marked as unfocusable during calc-only realize
operations in order to avoid triggering a full focus recalc which will error due
to missing focus adapter in the item block
Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D10543
item move operations require pan recalc in order to process the item block
positioning updates
@fix
Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D10533
this is only a smart callback and not an eo callback
@fix
Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D10527
the documentation says this should trigger when filtering is done, and if
no filtering is pending then it is done
@fix
Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D10526
passing the smart data here (which we always have) makes the function
a little clearer to read. similarly, we can check whether the filter_data
pointer is set inside the function to avoid having to check it everywhere else
Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D10525
this may be called successively during the same mainloop iteration,
so it's important to defer this as much as possible
Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D10524
now that we have a sane and consistent sizing calc mechanism, we no longer
need to be randomly creating jobs to do additional side calcs in addition
to our other multiple bespoke calculation methods
instead, we can now call the calc function directly during the group calc
to perform all the calcs at once and avoid the overhead of constantly triggering
calc jobs
a possible future improvement here could be to remove the _calc_job() call in
the internal pan object's group_calculate, as this is likely a duplicated op
but it will require additional testing to verify
unit test performance (e.g., tree) increases roughly 50-80% after this patch
Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D10523
this is a colossal waste of time. it ends up realizing every single item
immediately even if it won't be visible, which defeats the purpose of all
the batching and viewport calculations that genlist explicitly does to
avoid exactly this type of behavior
Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D10522
this was never implemented or documented anywhere and serves only to be
misleading for anyone reading the code
Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D10518
* highlight should only be triggered on mouse down, as that is the point of
interaction with an item which indicates it is "in use"; a mouse-up event
cannot occur on an item which has not previously received a mouse-down event,
so toggling this on mouse-up will be wrong/duplicated 100% of the time
* unhighlight should only be triggered during mouse-up events if the list is
in no-select mode, as it will otherwise be implicitly during selection if
necessary
this should ensure that these events are emitted exactly one time and correctly
for each click event
Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D10517
if the currently-processed timer is recursively deleted (efl_del) while
it is inside the timer tick event callback, we must correctly handle this
case:
* in the place where a timer's inlist is de-linked, we must check to see
if the timer is the current timer and then update that pointer with the next
timer in the list
* in the post-tick part of timer processing, we must NOT update the current timer
pointer if we detect that it has been updated recursively
this fixes processing of timers in the mainloop to trigger more than one legacy timer
per mainloop iteration and likely has some (positive) impact on mainloop throughput
@fix
Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D10515
Summary:
It will be resized on window_resize_job. when the window got specific size.
I don't think this is needed here. It cause doing a calc in vain.
Test Plan: Launching Test applications.
Reviewers: raster, Hermet, zmike
Reviewed By: zmike
Subscribers: zmike, cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D10550
Summary: this is identical to the conditional above and can be merged
to improve code clarity
Reviewers: raster, Hermet, zmike
Reviewed By: zmike
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D10549
Summary:
This commit adds explicit eolian key/value/return info to function_def. The
original parameter/return types are kept for compatibility.
parameter/return -> Mimics the behavior of the generated C API (i.e.
single-valued getters have their lone value translated to be their
return type)
explicit_return -> The actual return value for that block in the EO
file.
keys/values -> The values for respectively key and values blocks.
This should help working with properties in the generators instead of
fumbling with paremeter/return directly
Fixes T8431
Test Plan: extra tests in the diff
Reviewers: felipealmeida, brunobelo, segfaultxavi, YOhoho
Reviewed By: brunobelo
Subscribers: cedric, #reviewers, #committers, woohyun
Tags: #efl
Maniphest Tasks: T8431
Differential Revision: https://phab.enlightenment.org/D10494
Summary:
when the sportlight is hidden, the state should be applied to the
backclip and foreclip, in order to hide the subobjects correctly.
This fixes dangling showing widgets.
Reviewers: Jaehyun_Cho, zmike, segfaultxavi
Reviewed By: zmike
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D10468
if a path has a '/' character in it before the ':' character then it
should be treated as a local file which contains a ':' character in
its name
Reviewers: devilhorns, zmike
Reviewed By: zmike
Subscribers: zmike, cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D10409
Summary:
This is a temporary fix while Text is being revamped.
Efl.Ui.Text internally composites Efl.Text_Cursor (through some other interfaces)
but this was not being advertised in the EO file.
This caused no trouble to C but was preventing C# from using the Cursors API
(because C# relies on the EO composites section).
On top of this, the cursor_new() method has been removed, since it was redundant.
Test Plan:
Builds and passes tests, and C# is able to do things like:
```
Efl.TextCursorCursor cursor = screen.GetTextCursor(Efl.TextCursorGetType.Main);
screen.InsertCursorText(cursor, str);
```
Reviewers: lauromoura, cedric, tasn
Reviewed By: lauromoura
Subscribers: #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D10465
Summary:
Dynamic content are likely to trigger an image state change at pretty
much every frame. This lead to unecessary attempt by Eina_Cow to
deduplicate/cleanup data that are changing all the time. This reduce
memory consumption in Expedite tests that in some small amount. The
gain get bigger the more animation you get on screen. There might be
other potential gain for heavy animated case.
Reviewers: zmike, Hermet, bu5hm4n, smohanty
Reviewed By: zmike
Subscribers: #reviewers, #committers
Tags: #efl
Maniphest Tasks: T8302
Differential Revision: https://phab.enlightenment.org/D10532
Summary:
when looping is enabled, we need to ensure that the correct arrows are
enabled.
ref D9906
Depends on D9908
Reviewers: zmike
Reviewed By: zmike
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D9917
Summary:
our default theme defaults to show everything, the code here assumes
that everything is hidden by default, this fixes all this.
fix T4918
Depends on D9907
Reviewers: zmike
Reviewed By: zmike
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Maniphest Tasks: T4918
Differential Revision: https://phab.enlightenment.org/D9908
Summary:
if bounding is enabled, those values can get smaller and bigger than the
max value.
ref T4918
Depends on D9906
Reviewers: zmike
Reviewed By: zmike
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Maniphest Tasks: T4918
Differential Revision: https://phab.enlightenment.org/D9907
ensure that they haven't changed between time of check and time of open
CID 1396966
Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D10440
Sometimes message is appended when message queue is walking.
In this case, newly added messages are not filtered.
So I add message pending queue for filtering message.
Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D10459
Summary:
this is mainly useful for unit testing, but unsetting values should not be
treated as an error
Reviewers: segfaultxavi
Reviewed By: segfaultxavi
Subscribers: segfaultxavi, cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D10412
Summary:
Like C#, it will also be Apache 2.0
Depends on D9414
Reviewers: vitor.sousa, woohyun, jpeg, lauromoura
Reviewed By: lauromoura
Subscribers: jpeg, cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D9418
Summary:
C# bindings will be lincensed under Apache Sofware License 2.0.
This commit adds the license text to the licenses folder and a copyright
notice to the binding files.
Fixes T8039
Reviewers: woohyun, felipealmeida, vitor.sousa
Reviewed By: felipealmeida
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Maniphest Tasks: T8039
Differential Revision: https://phab.enlightenment.org/D9414
This is never actually used since meson generates eina_config.h
from scratch. Apart from the byteswap checks done in the previous
commit, all of the other things already seem to be done by meson,
so just remove it.
For one, eina_config.h.in is never used by anything since meson,
so doing any checks in it and expecting them to work is wrong.
Byteswaps are one place where this is the case, so move the
checks back in their appropriate place.
Summary:
there is not any way to determine that this function has failed other
than to check this pointer, so ensure that it always has a value which
is meaningful in failure cases
Reviewers: cedric
Reviewed By: cedric
Subscribers: #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D10445
Summary:
this is always a pointer to a stack variable
CID 1405799
Reviewers: cedric
Reviewed By: cedric
Subscribers: #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D10444
Summary:
it's possible that _ecore_get_epoll_fd() can return -1, so ensure that we
correctly handle this
CID 1383850
Reviewers: devilhorns
Reviewed By: devilhorns
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D10394
Summary:
this variable is already only changed inside an #ifdef, so declare and
free it only inside the same ifdef for clarity
ref 9d9aa8b6ae
CID 1400807
Reviewers: devilhorns
Reviewed By: devilhorns
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D10389
Summary:
D7762
Searching for event what is using in gesture manager.
But the value was wrong.
And now D10437 made it better.
Reviewers: Hermet, smohanty, zmike
Reviewed By: zmike
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D10438
Summary:
CollectionView tries to access some properties from the base model so we
need to provide some implementation of the property getter/setter.
Reviewers: SanghyeonLee, cedric, felipealmeida
Reviewed By: SanghyeonLee
Subscribers: #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D10300
Summary:
The current color is affected by the parent's opacity.
If p_opacity is set, it will be applied to the current color.
Test Plan: N/A
Reviewers: Hermet, smohanty, kimcinoo
Reviewed By: Hermet
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D10399
Summary:
We can not have half our code rely on Ecore magic check and the other half
use Eina_Magic or this will lead to inconsistency with Eina_Magic definition.
Reviewers: zmike, segfaultxavi, bu5hm4n, raster
Reviewed By: raster
Subscribers: #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D10383
Summary:
if a legacy widget calls evas_object_size_hint_min_set, this actually sets
efl_gfx_hint_size_restricted_min now, which is supposed to be the hint that
is used internally by widgets. as a result, there is a conflict between the
size which the user expects and the size which the widget tries to calculate.
the user size should always be respected, however, so this adds some tracking
to determine whether the layout's min size was set by the layout during its own
calc or by something externally
@fix
Reviewers: eagleeye, CHAN, woohyun, Jaehyun_Cho, cedric
Reviewed By: cedric
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D10373
Summary:
only call these if they are subscribed to now
ref T8321
Reviewers: cedric
Reviewed By: cedric
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Maniphest Tasks: T8321
Differential Revision: https://phab.enlightenment.org/D10361
Summary:
it seems like this was intended to be handled already, but somehow it wasn't...
ref T8321
Depends on D10358
Reviewers: cedric
Reviewed By: cedric
Subscribers: bu5hm4n, cedric, #reviewers, #committers
Tags: #efl
Maniphest Tasks: T8321
Differential Revision: https://phab.enlightenment.org/D10359
Summary:
this is an error, and it should be printed
Depends on D10355
Reviewers: cedric
Reviewed By: cedric
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D10356
Summary:
we know these ahead of time since they're hardcoded, so we can block their
emission just like we do for eo events
ref T8321
Depends on D10354
Reviewers: cedric
Reviewed By: cedric
Subscribers: bu5hm4n, cedric, #reviewers, #committers
Tags: #efl
Maniphest Tasks: T8321
Differential Revision: https://phab.enlightenment.org/D10355
Summary:
this should be handled like the rest of eo internal events
ref T8321
Depends on D10353
Reviewers: bu5hm4n, cedric
Reviewed By: bu5hm4n, cedric
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Maniphest Tasks: T8321
Differential Revision: https://phab.enlightenment.org/D10354
Summary:
these are not strictly related to the event callback types and should not
have their emission tied to the corresponding event
also add unit test to verify all of these
@fix
Reviewers: cedric
Reviewed By: cedric
Subscribers: bu5hm4n, cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D10353
Summary:
This is not the end of fixing eolian errors. I need to keep fixing
more.
Test Plan:
1. export EOLIAN_ENFORCE_SINCE=1
2. ninja
Reviewers: q66, segfaultxavi, zmike, bu5hm4n, Jaehyun_Cho
Reviewed By: segfaultxavi, Jaehyun_Cho
Subscribers: Jaehyun_Cho, stefan_schmidt, cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D10370
Summary:
The filter did not use text source color. Whatever color a text has, filter
used white color instead of it.
Test Plan: efl_gfx_filter_program_set(non_white_color_text, "code", "name");
Reviewers: Hermet, jsuya, cedric
Reviewed By: cedric
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D10336
Summary:
When a newly created Image_Entry works for instead of an old one,
we need to drop it. And we did dorp it.
The line calling ref and drop was added by following commit.
d550190 evas image cache - add lots more locking to try stamp out
any thread bug
But it is missed by following commit.
9f99ab1 evas cache: clear up caching locking and reference count.
Reviewers: Hermet, raster, jsuya, cedric
Reviewed By: cedric
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D10333
To mimic function behavior
Reviewed-by: Felipe Magno de Almeida <felipe@expertisesolutions.com.br>
Differential Revision: https://phab.enlightenment.org/D10381
Summary:
Since legacy panes did not consider its content's min size, the
content's min size calculation logic is not done for legacy panes.
Reviewers: zmike
Reviewed By: zmike
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D10372
Summary:
this is emitted a lot of times, which costs time. Most of the time they
are however not needed. With this commit, these events are not emitted
anymore.
ref T8321
Reviewers: zmike, cedric
Reviewed By: zmike, cedric
Subscribers: #reviewers, #committers
Tags: #efl
Maniphest Tasks: T8321
Differential Revision: https://phab.enlightenment.org/D10348
Summary:
this variable is already only changed inside an #ifdef, so declare and
free it only inside the same ifdef for clarity
CIDs 1401016, 1400807
Reviewers: cedric
Reviewed By: cedric
Subscribers: bu5hm4n, cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D10320
Summary:
when we are returning 0 in a animation callback, the animator will be
deleted.
This fixes a crash in tab_pager.
Depends on D10306
Reviewers: segfaultxavi
Reviewed By: segfaultxavi
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D10307
This should silence 32-bit warnings about long long stuff
Reviewers: vtorri, cedric, bu5hm4n
Reviewed By: cedric
Subscribers: #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D10214
Summary:
We can not have half our code rely on Ecore magic check and the other half
use Eina_Magic or this will lead to inconsistency with Eina_Magic definition.
Depends on D10363
Reviewers: zmike, bu5hm4n, segfaultxavi, stefan_schmidt
Reviewed By: zmike
Subscribers: #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D10364
Summary:
Instead of setting the default text at the library level, keep the
summary empty if nothing is provided.
The libeolian users them are free to check if the summary was actually
empty or a placeholder text was added.
ref T8309
Test Plan: Run attached tests
Reviewers: q66, segfaultxavi
Subscribers: cedric, brunobelo, #reviewers, felipealmeida, #committers
Tags: #efl
Maniphest Tasks: T8309
Differential Revision: https://phab.enlightenment.org/D10285
Summary:
Even if the same window, the same file, and the same size,
different images may be requested due to property changes caused by value_provider.
Test Plan: N/A
Reviewers: Hermet, smohanty, kimcinoo
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D10303
gendoc.py --exclude-beta
generate the docs excluding all the classes/types/etc in beta state,
a bit hackish but do the job. There are some broken links around that
refer to objects in beta state that are (correctly) not generated,
nothing we can do to fix this.
Summary:
this is just a cosmetic change for ease of debugging since it will already
be clamped to max size during eval if it remains unchanged
for max size hints a value of -1 means that the hint is unset but a value
of 0 is technically valid depending on the implementation
Depends on D10296
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D10297
Summary:
win objects should never permit the max size on any axis to be 0, otherwise
the window will be clamped to 1px on the given axis
fixes T8304
@fix
Depends on D10272
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Maniphest Tasks: T8304
Differential Revision: https://phab.enlightenment.org/D10296
Lots of EO files had the same information at the property and set/get level.
Removed the redundant bits, and moved to the property level the common ones.
Set and Get documentation should be used only to clarify setter-only or
getter-only behavior.
Summary:
This solve a bug when there is a change in order of destruction and you would expect the model to still work.
Depends on D10287
Reviewers: zmike, bu5hm4n, segfaultxavi, stefan_schmidt, jsuya
Reviewed By: bu5hm4n
Subscribers: #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D10288
Summary:
If the connection is destroyed before the proxy, the proxy will clear itself and self destroy.
Before that it will trigger the free callback to handle proper cleanup. Refcounting it doesn't
protect it from this self destruction scenario. So it is mandatory to always have a free callback
set on a proxy to handle its death properly.
Depends on D10286
Reviewers: zmike, bu5hm4n, segfaultxavi, stefan_schmidt, jsuya
Reviewed By: zmike
Subscribers: #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D10287
Summary:
it is already picked up when datetime is invalidated, due to the correct
parent beeing set.
Reviewers: zmike
Reviewed By: zmike
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D10291
Summary:
from https://en.cppreference.com/w/c/memory/realloc
```
On success, returns the pointer to the beginning of newly allocated memory.
To avoid a memory leak, the returned pointer must be deallocated with free()
or realloc(). The original pointer ptr is invalidated and any access to it
is undefined behavior (even if reallocation was in-place).
On failure, returns a null pointer. The original pointer ptr remains valid
and may need to be deallocated with free() or realloc(). ```
So a temporary to test if `realloc` failed
then use the original pointer to use `free`.
`CID1404749`
`CID1404741`
Reviewers: lauromoura, felipealmeida, zmike
Reviewed By: zmike
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D10284
Since the 1.23 release we are stricter with the use of evil. It is
supposed to be used inside efl only and not exposed as API. Make this
clear in the docs as well.
Reviewed-by: Vincent Torri <vincent.torri@gmail.com>
Differential Revision: https://phab.enlightenment.org/D10295
While we switched evil to be not a public AP, but internal lib only, we
still want to have its documentation shown.
Reviewed-by: Vincent Torri <vincent.torri@gmail.com>
Differential Revision: https://phab.enlightenment.org/D10270
due to meson's insistence on naming even moudles libmodule.so, and our
complexity of build as in the previous commits ... have a special case
for in tree module loading for these.
if your platform is picky enough it won't want to leave unresolved
symbols (which wshould be resovled at runtime from the host lib) so we
need to link these modules to evas. the problem is due to the
complicated build of some modules being static and some shared, evas
is declared with evas_goal and this has to be declared after static
modules are declared but since i was declaring static and shared at
the same time from a table this breaks. so i have to move all the
static and shared module stuff into evas_goal into 2 phases. one phase
for the static and one for the shared after evas is delcared so evas
as a target exists to link to.
This group got lost at some point and resulted in broken link in our
doxygen documentation.
Reviewed-by: Xavi Artigas <xavierartigas@yahoo.es>
Differential Revision: https://phab.enlightenment.org/D10273
Summary:
this is not a clickable widget, so it shouldn't use finger size
ref T8304
@fix
Reviewers: segfaultxavi
Reviewed By: segfaultxavi
Subscribers: segfaultxavi, cedric, #reviewers, #committers
Tags: #efl
Maniphest Tasks: T8304
Differential Revision: https://phab.enlightenment.org/D10274
Summary:
This change `content_padding` parameter type to int from double for consistency
of size properties.
`scalable` should be handled in more common size API.
Co-authored-by: Mike Blumenkrantz <zmike@samsung.com>
ref T7864
Test Plan: ninja test
Reviewers: zmike
Reviewed By: zmike
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Maniphest Tasks: T7864
Differential Revision: https://phab.enlightenment.org/D10154
Summary:
If value_provider is applied to Efl.Ui.Animation_View, it is passed as vector object.
The passed value_provider list passes to Vg_File_Data.
If there is a value_Provider list in Vg_File_Data,
it apply the property to Lottie_Animation using lottie_animation_property_override api.
Depends on D9874
Test Plan:
...
Eo *vp = efl_add(EFL_GFX_VG_VALUE_PROVIDER_CLASS, p);
efl_gfx_vg_value_provider_keypath_set(vp, "**");
efl_gfx_vg_value_provider_fill_color_set(vp, 100, 0 ,0 ,255);
efl_ui_animation_view_value_provider_override(anim_view, vp);
vp = efl_add(EFL_GFX_VG_VALUE_PROVIDER_CLASS, p);
efl_gfx_vg_value_provider_keypath_set(vp, "**");
efl_gfx_vg_value_provider_stroke_width_set(vp, 50.0);
efl_gfx_vg_value_provider_stroke_color_set(vp, 0, 255, 0, 100);
efl_ui_animation_view_value_provider_override(anim_view, vp);
...
Reviewers: Hermet, kimcinoo, smohanty
Reviewed By: Hermet
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D9897
Summary:
Efl.Gfx.Vg.Value_Provider is an object for integrating and managing the properties of vector objects.
These values are dependent on the keypath.
Keypath is the target a specific content or a set of contents that will be updated.
It can include the specific name of the contents, wildcard(*) or Globstar(**).
The valueProvider is borrowed from another library that uses a vector object of type json, such as Efl.Ui.Animation_View
(5fc0e59e0c/lottie-swift/src/Public/iOS/AnimatedControl.swift (L50))
This feature should be used with some patches that apply to the vg json loader and Efl.Canvas.Vg.Object.
Test Plan: N/A
Reviewers: Hermet, kimcinoo, smohanty
Reviewed By: Hermet
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D9874
I'm afraid but this breaks the mono bindings too close to a release.
This also fixes the missing docs errors by adding a lot of inconsistent
placeholder text ("No description supplied.", "TBD") which will make
finding them later on more complicated.
I was the one that asked for this feature but it is not critical at this
point, so I suggest we explore some refinements (like T8291) before landing
this patch in its current state.
This reverts commit 2946cb3c32.
The things that require docs include classes, variables, typedecls,
events and methods/properties. Implements, params, returns, parts
and struct/enum fields don't require them.
Empty/whitespace only string does not count as documentation.
While this may seem safe, and likely is on any 64-bit system,
it may not be entirely well defined. And in this case we should
not have to worry about copying.
Maybe fixes T8276...
in order to do that, we need to ensure that the internal box is
calculated, otherwise the position is still not updated correctly.
This fixes wrong cursor positions in edi.
fixes T8214
Reviewed-by: Stefan Schmidt <stefan@datenfreihafen.org>
Differential Revision: https://phab.enlightenment.org/D10225
otherwise we are setting a cursor from time to time at a uninitialized
position. Which causes disappeared cursors
Reviewed-by: Stefan Schmidt <stefan@datenfreihafen.org>
Differential Revision: https://phab.enlightenment.org/D10224
This reverts commit 5455a2dcf7.
these classes were explicitly stabilized for 1.22
see T7599, T7600, T7601
Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Reviewed-by: Stefan Schmidt <stefan@datenfreihafen.org>
Differential Revision: https://phab.enlightenment.org/D9901
these require legacy types and headers, which should not be brought into
this header
Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D10235
the general headers here pull in legacy headers, which is bad
Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D10231
this includes all related headers
ref T8274
Additional Authors: Lauro Moura <lauromoura@expertisesolutions.com.br>
Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D10228
this has no relation to legacy and should not be included in legacy headers
Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D10227
this includes all the efl.canvas headers and adds some compilation tests
for the header to the unit test suite
ref T8274
Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D10226
in revision D9859 the scroll events have been renamed. However this also
renamed the legacy widgets, which also renamed the evas smart events,
which is a bug. With this commit we are back to plain old
evas_smart_callback_call calls, as these just take the string, and do
not need the bypassing through the eo events.
This fixes:
- elm_test gengrid,toolbar,panel (the events are now shown correctly
again)
- scrolling in elm_code_widget
- elm_map in a touchscreen
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Differential Revision: https://phab.enlightenment.org/D10240
Summary:
"Dragable" is a misspelling:
https://en.wiktionary.org/wiki/dragable
We have it EVERYWHERE in EFL, even with jokes:
./src/lib/efl/interfaces/efl_ui_drag.eo:1
This patch only fixes the theme API so it does not get carved in stone for this release.
Depends on D10217
Test Plan: No functional changes.
Reviewers: zmike
Reviewed By: zmike
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D10218
Summary:
To make clear the meaning, hbar and vbar are replaced to horizontal_bar
and vertical_bar.
Reviewers: zmike, woohyun, segfaultxavi
Reviewed By: zmike, segfaultxavi
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D10217
Summary:
Initial version implementing grayscale filter in pure GL.
This patch needs a logt of love as 5bce712 did.
Grasyscale formula:
https://www.tutorialspoint.com/dip/grayscale_to_rgb_conversion.htm
Test Plan:
1. Create filter_example with following .
efl_gfx_filter_program_set(image, "grayscale ()", "grayscale");
2. Run.
ELM_ACCEL=gl ./filter_example
Reviewers: Hermet, jsuya
Subscribers: ali.alzyod, cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D9858
Summary:
It is not correct to change the parent and hope that refcount will work
for you. The parent chain is a decision made by the user, not something
a widget can touch. Only ref count are to be used when given an outside
object. As things where not triggering destruction, there was also no
point where the image buffer would be getting to zero and be freed. This
commit also fix this.
Reviewers: Hermet, zmike
Reviewed By: Hermet
Subscribers: #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D10169
Summary:
this isn't strictly necessary at the moment
Depends on D10197
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D10199
Summary:
be very explicit here so that users can immediately know how to resolve
the issue
Depends on D10193
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D10194
Summary:
a variable with the same name is declared above
Depends on D10192
Reviewers: segfaultxavi
Reviewed By: segfaultxavi
Subscribers: segfaultxavi, cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D10193
Summary:
a layout (not layout_base) should not defer signals. theme groups loaded
by a layout widget can be anything, and are not subject to the versioning
requirements that efl widgets have
Depends on D10055
Reviewers: cedric
Reviewed By: cedric
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D10192
Summary:
block calls to XSelectInput with the root window if the root window is
currently being "managed" in-process in order to avoid breaking the
running wm
Depends on D10013
Reviewers: devilhorns
Reviewed By: devilhorns
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D10014
Summary:
this is just a shortcut for watching properties in the case where no wm is
active in the process
Depends on D10012
Reviewers: devilhorns
Reviewed By: devilhorns
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D10013
Summary:
when ecore_x_window_manage is called, this is probably only for the case of
managing the root window, i.e., running a window manager. store this state
internally so that we can avoid calling additional XSelectInput later and
fucking up the expected eventing
Depends on D9899
Reviewers: devilhorns
Reviewed By: devilhorns
Subscribers: devilhorns, cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D10012
this is just a button and not the full clickable struct
Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D10198
Summary:
fixes T7871
fixes T7852
This also works arround a eolian issue where composites do not mark the
inherited API from the composites as implemented.
Reviewers: SanghyeonLee, cedric, segfaultxavi, zmike
Reviewed By: segfaultxavi
Subscribers: SanghyeonLee, cedric
Tags: #efl
Maniphest Tasks: T7871, T7852
Differential Revision: https://phab.enlightenment.org/D10184
Summary:
with this commit that api for single and multi selectable shares the
same prefix, which makes sense in c as we do not really differ between
those two types there anyway.
ref T7871
Reviewers: SanghyeonLee, segfaultxavi
Reviewed By: segfaultxavi
Subscribers: segfaultxavi, cedric, #reviewers, #committers
Tags: #efl
Maniphest Tasks: T7871
Differential Revision: https://phab.enlightenment.org/D10183
Summary:
this is versioned, so the correct signal will always be emitted for the theme
version that is provided
ref T8231
Depends on D10164
Reviewers: segfaultxavi
Reviewed By: segfaultxavi
Subscribers: segfaultxavi, cedric, #reviewers, #committers
Tags: #efl
Maniphest Tasks: T8231
Differential Revision: https://phab.enlightenment.org/D10158
Summary:
the theme version isn't available until the theme has been applied, so
we can create an array of all the pending signals and defer them until
such time as we get a theme or destroy the object
this is internal and can be reworked at a later time as needed
ref T8231
Depends on D10157
Reviewers: cedric
Reviewed By: cedric
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Maniphest Tasks: T8231
Differential Revision: https://phab.enlightenment.org/D10164
multi_selectable_aync already changed name as
selected_iterator_new
so multi_selectable change name also for unity of API.
not sure about we need unselected_items_get in multi_selectable,
so skip to create new api for this time.
Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D10148
I accidentally inverted this; the frame timing needs to be divided by
the playback speed to have the correct time here
Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D10147
it's important to handle cases where a "future" theme is trying to be used
by "current" efl. this throws a serious error, since it's possible that the
widget may look/act in a way that makes it unusable
ref T8231
Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D10153
Summary:
this still potentially needs some work and changing the implementations
now would be too invasive
ref T7864
Reviewers: segfaultxavi
Reviewed By: segfaultxavi
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Maniphest Tasks: T7864
Differential Revision: https://phab.enlightenment.org/D10149
Summary:
evas_object_callbacks_finalized could take NULL obj because
_efl_canvas_object_efl_object_finalize could call it with NULL obj.
Reviewers: bu5hm4n, jsuya, Hermet
Reviewed By: bu5hm4n
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D10141
Summary:
After making efl_ui_text interface be stabilized, this property
can be considered again about its opening.
ref T8097
Reviewers: zmike, bu5hm4n
Reviewed By: zmike
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Maniphest Tasks: T8097
Differential Revision: https://phab.enlightenment.org/D10140
Summary: If theme doesn't have version data, `version` can be NULL.
Reviewers: zmike
Reviewed By: zmike
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D10146
these aren't implemented by anything and duplicate the functionality provided
by efl.gfx.image::image,preload_state,changed
ref T7876
Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D10128
there are more discussion need on this range selection.
we could extend this parameter with range structure(aka Eina.Range)
so that extendable object to object, int to int, Range to Range.
Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D10145
If my understanding is correct, below referenced commit needs to be applied to
efl_ui_win only.
@ref D10049
Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D10143
Summary:
our new method naming rule only allow verb at the last position,
so change name to fallow rule.
Reviewers: bu5hm4n, cedric, segfaultxavi
Reviewed By: bu5hm4n, segfaultxavi
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D10144
this is a bit of an overhaul wherein the existing 'play' mechanics are
all inverted. 'pause' is a state which stops playback but does not affect
the playback_position property.
this patch also includes implementations of Efl.Player::playing for
a couple classes which (now) only implement pause, as this is a requirement
for the objects to actually activate their animations
test cases:
* unit tests
* all elm_test animation cases
* elm_test video
* rage
Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D10114
this has some overlap with the existing 'play' property which will
soon be renamed. the intent here is that there is a property for
controlling the 'playing' state and then another property for managing
'pausing' the play state
ref T7877
Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D10113
efl.playable implements a number of properties which are also present
in efl.player. playable was intended to be separate, so enforce this
split in all classes which use player
ref T7877
Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D10109
Summary:
efl,anim,activate is the signal used by buttons, which is what this is
ref T8231
Depends on D10099
Reviewers: segfaultxavi
Reviewed By: segfaultxavi
Subscribers: segfaultxavi, cedric, #reviewers, #committers
Tags: #efl
Maniphest Tasks: T8231
Differential Revision: https://phab.enlightenment.org/D10100
Summary:
this makes the meaning of the variable more clear
no functional changes
Depends on D10092
Reviewers: cedric
Reviewed By: cedric
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D10093
Summary:
part aliasing should be done at the layout level, not using bespoke string
comparisons. also this removes the "title" part of the alert_popup theme
which was previously considered api
Depends on D10091
Reviewers: cedric
Reviewed By: cedric
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D10092
Summary:
this throws error and warning messages if the theme api version does
not match the current efl version, and it will cause unit tests to fail
when the theme version is not updated
ref T8231
Depends on D10093
Reviewers: cedric
Reviewed By: cedric
Subscribers: cedric, #reviewers, #committers
Tags: #efl_widgets
Maniphest Tasks: T8231
Differential Revision: https://phab.enlightenment.org/D10081
Summary:
We have been casting the selection to unsigned char * for the address of
sel and not for the value. Coverity pointed this out:
Overrunning buffer pointed to by (unsigned char *)&sel of 8 bytes by
passing it to a function which accesses it at byte offset 167 using argument 168
It seems this has been working by memory layout and luck if I understand
it all correctly.
Coverity ID: 1402666
Reviewers: thiepha, raster, zmike
Reviewed By: zmike
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D10107
if a non-null value is passed here, this needs to actually evaluate
all the part aliases
Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D10091
these are internal apis for managing part aliasing on the C side,
but they apply to efl_ui_layout and not elm_layout
no functional changes
Reviewed-by: Xavi Artigas <xavierartigas@yahoo.es>
Differential Revision: https://phab.enlightenment.org/D10090
After 892c26f906, widget factories require
a widget to be their parents.
This commit updates C# tests and adds a warning message to elementary if the user does
not provide one.
Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D10122
Summary: this does not require any other interfaces
Reviewers: bu5hm4n
Reviewed By: bu5hm4n
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D10110