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
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:
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
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:
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
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:
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:
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
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:
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:
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
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
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
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
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