This patch adds a small API that we can use to check if the current
video driver supports the usage of drmWaitVBlank. This check is
required for certain drivers (like vbox) which do not support
drmWaitVBlank and thus are causing our animators in ecore_evas to
freeze. We can now use this API from within Ecore_Evas to disable
vsync'd animators and fall back to timer based ones.
@feature
Summary:
how many times was this block of code copied around???
no functional changes
Depends on D8848
Reviewers: segfaultxavi
Reviewed By: segfaultxavi
Subscribers: segfaultxavi, cedric, #reviewers, #committers
Tags: #efl_rendering
Differential Revision: https://phab.enlightenment.org/D8849
Summary:
this is now handled entirely in the masking helper function
no functional changes
Depends on D8847
Reviewers: segfaultxavi
Reviewed By: segfaultxavi
Subscribers: segfaultxavi, cedric, #reviewers, #committers
Tags: #efl_rendering
Differential Revision: https://phab.enlightenment.org/D8848
Summary:
by adding a couple extra params to existing functions, we can reuse
existing code instead of copying it around and adding more bugs
no functional changes
Depends on D8846
Reviewers: segfaultxavi
Reviewed By: segfaultxavi
Subscribers: segfaultxavi, cedric, #reviewers, #committers
Tags: #efl_rendering
Differential Revision: https://phab.enlightenment.org/D8847
Summary: this means we don't need to handle this in the buildtool at all.
Reviewers: vtorri, zmike
Reviewed By: zmike
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D8553
This was an experiment that never properly took off and was never
used by any generator. Its use was highly variable, so it could
not be relied upon. We will still want to reverse the current
behavior eventually (no null by default), but that will be
done with eo file versioning in the future.
@feature
Summary:
sd->cursor_pos is updated in _entry_cursor_changed_signal_cb.
Generally, there is no problem.
But in some cases, before the _entry_cursor_changed_signal_cb is called
there is a situation in which cursor_pos is updated through _elm_entry_efl_ui_widget_theme_apply.
In this case,
before _entry_cursor_changed_signal_cb is called,
in _elm_entry_efl_ui_widget_theme_apply ()
cursor_pos = sd->cursor_pos; The wrong cursor_pos is set here.
Because it is the value before sd->cursor_pos is updated.
This causes an invalid cursor position when entering a key into the entry.
This patch prevents sd->cursor_pos from being updated with invalid values.
Reviewers: zmike, woohyun
Reviewed By: zmike
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D8923
Summary:
The textpath draws text from the start_angle. User needs to set correct
start_angle to center the text. This start_angle could be changed according to
each parameters of circle_set such as x, y, radius, direction and text itself.
So this patch is introducing direction EFL_UI_TEXTPATH_DIRECTION_CC(W)_CENTER.
The center of textpath will be located at the start_angle with this direction.
Test Plan: I will add example if this patch is acceptable.
Reviewers: Hermet, jsuya
Reviewed By: Hermet
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D8892
Summary:
Efl.Ui.Textpath was drawing its text on the job. Because of this, textpath was
slower than other objects which are scrolling on the same scroller.
So this patch makes textpath not use job in the position.set.
Reviewers: Hermet, jsuya
Reviewed By: Hermet
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D8924
Summary:
And the Efl.Orientation interface -> Efl.Gfx.Orientable
(with proper c_prefix so it is not too cumbersome to use from C).
Also, turned the theme_rotation_apply() parameter into an int to avoid confusion.
Fixes T7919
Depends on D8912
Test Plan: Everything continues to build and pass tests
Reviewers: zmike, bu5hm4n, cedric, Hermet, Jaehyun_Cho
Reviewed By: zmike
Subscribers: #reviewers, #committers
Tags: #efl
Maniphest Tasks: T7919
Differential Revision: https://phab.enlightenment.org/D8926
Summary:
This is similar to how it is in Evas, and simplifies the Efl.Orientation
interface, which only needs one property now.
Relates to T7919
Test Plan: Everything builds and tests pass. There's only one example of efl_orientation_set() so there's not much to test yet.
Reviewers: zmike, bu5hm4n, cedric, Hermet, Jaehyun_Cho
Reviewed By: zmike
Subscribers: #reviewers, #committers
Tags: #efl
Maniphest Tasks: T7919
Differential Revision: https://phab.enlightenment.org/D8912
Summary:
if things are a array in a array, then flattening only seems to work
when the first element is a target object. But not when the first
element is then also an string, then the string in the array gets
concatted and added to root array. This is a meson bug, investigation
going on. Additionally, this fixes installed .eo files, as we might want
to installed gesture files when we require them in other objects.
Reviewers: Jaehyun_Cho, zmike
Reviewed By: zmike
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D8910
Summary:
The only implementation of this interface, `Efl.Ui.Table`, only supports two fill
directions (horizontal or vertical), therefore the table_direction property which
supports primary and secondary directions is unnecessarily complicated. Remove it
and use only `Efl.Ui.Direction.direction` to select the fill direction.
Also, expanded the documentation.
Fixes T7962
Test Plan:
Everything builds and tests pass. Efl.Ui.Table elementary_test still work.
Examples need to be adjusted to stop using table_direction.
Reviewers: zmike, YOhoho, bu5hm4n, SanghyeonLee, Jaehyun_Cho
Reviewed By: YOhoho
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Maniphest Tasks: T7962
Differential Revision: https://phab.enlightenment.org/D8902
Summary:
_node_change function is only executed
when the flag is none to prevent duplicate calls.
If CHANGE_MATRIX_FLAG is added to the flag in advance,
_node_change function does not operate normally.
Test Plan:
cd ./src/examples/evas
gcc -o evas_vg_simple evas-vg-simple.c `pkg-config --libs --cflags evas ecore ecore-evas eina ector eo efl` -lm
./evas_vg_simple
Reviewers: Hermet, kimcinoo, smohanty
Reviewed By: Hermet
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D8895
Summary: gcc and clang support the usage of "fall through" comment to suppress this warning
Test Plan: compilation
Reviewers: raster, zmike, cedric
Reviewed By: zmike
Subscribers: #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D8904
This is for consistency with the new eolian_class_c_macro_get
as well as for better clarity, as c_name_get is already provided
by Object and refers to something else.
This is to prepare for type/class renaming support. This adds
the necessary API to retrieve C-specific names. Other refactoring
is necessary elsewhere for now.
This also renames the old API eolian_class_c_name_get to
eolian_class_c_macro_get to avoid conflict as well as clarify
the intention.
Previously, halign_auto was AUTO_NORMAL when halign was set so the given
halign value could not be applied correctly.
Now, halign_auto is modified to AUTO_NONE before halign is set so the
given halign value is applied correctly.
Summary:
frame now uses efl.ui.clickable, which ensures correct click emittion.
The click event is not needed in the event anymore. However, now
efl,action,press / efl,action,unpress is needed.
Depends on D8825
Reviewers: zmike, segfaultxavi, cedric
Reviewed By: zmike
Subscribers: #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D8826
Summary: first step for making Evil private. evil_private.h will be included in the EFL source code instead of Evil.h
Test Plan: compilation
Reviewers: raster, cedric, zmike
Reviewed By: raster
Subscribers: #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D8893
To use Efl.Ui.Widget's "background" and "shadow" part class, each widget
inheriting from Efl.Ui.Widget should not use their Part class for
"background" and "shadow" parts.
Summary:
The memory allocation for the buffer size is improved to
allocate only the width size.
Test Plan: N/A
Reviewers: Hermet, kimcinoo
Reviewed By: Hermet
Subscribers: cedric, #reviewers, smohanty, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D8873
Summary:
these widgets here are containers, means: they contain items that can be
clicked, but the container itself cannot be clicked. Later on, we should
introduce a new interface which contains events that reflect the clicked
event of theire items.
Depends on D8827
Reviewers: zmike, segfaultxavi, cedric
Reviewed By: zmike
Subscribers: #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D8828
Summary:
nothing here uses this directly, and nothing emits events. For now the
implementation is removed. If this is required later on, it can be
readded.
Depends on D8826
Reviewers: zmike, segfaultxavi, cedric
Reviewed By: zmike
Subscribers: #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D8827
Summary:
the implementation of efl_ui_clickable is now used to tricker the
events. efl,action,click and efl,action,click,double is not needed
anymore from the theme.
Depends on D8824
Reviewers: zmike, segfaultxavi, cedric
Reviewed By: zmike
Subscribers: #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D8825
Summary:
This now uses the efl_ui_clickable mixin. It is impossible right now to
test this in the test suite, as every single configuration of the
efl.ui.text object is ending up in an error. Which is not allowed in the
test suite. Additionally, simulating clicks on the objects gets it into
some sort of inifinite recursion when asking for cursor positions.
Depends on D8823
Reviewers: zmike, segfaultxavi, cedric
Reviewed By: zmike
Subscribers: #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D8824
Summary:
the mixin is now used to emit the events of the mixins. This is verified
by the testsuite. The testsuite needs a special treatment for the
object, because a missing image-file of the object would result in a 0x0
image size.
Depends on D8822
Reviewers: zmike, segfaultxavi, cedric
Reviewed By: zmike
Subscribers: #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D8823
Summary:
efl_ui_clickable is now a mixin. The mixin now brings two APIs the press
and unpress API can be used to tell the implementation the state of the
presses. Within the implementation the calls to press / unpress are then
converted to longpress / clicked events.
Reviewers: zmike, segfaultxavi, cedric
Reviewed By: zmike
Subscribers: #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D8820
Summary:
This removes another bit of legacy API from the C# bindings.
This also reverts "elm: Put back Policy and Policy_Quit in EO files"
(a9132a9a66) so that these two Elm enums are
definitely out of the EO files.
Test Plan:
Everything, including mono bindings, continue to build.
At runtime, C# apps still exit when all windows are closed.
Reviewers: lauromoura, vitor.sousa, q66
Reviewed By: q66
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D8890
Summary:
https://phab.enlightenment.org/T7544
Provides a way for a user to get a gesture manager, recognizer instance.
Supports different recognizer properties for each target(Eo).
Gesture, Touch Class Life-cycle re-implementation. for supporting multiple touches.
Add below gestures.
efl_canvas_gesture_tap
efl_canvas_gesture_double_tap
efl_canvas_gesture_triple_tap
efl_canvas_gesture_long_tap
efl_canvas_gesture_momentum
efl_canvas_gesture_zoom
efl_canvas_gesture_flick
Test Plan:
Simple test -> test_gesture_framework.c
More test cases will upload.
Reviewers: woohyun, smohanty, segfaultxavi, Jaehyun_Cho
Reviewed By: Jaehyun_Cho
Subscribers: Jaehyun_Cho, segfaultxavi, cedric
Tags: #efl, #do_not_merge
Differential Revision: https://phab.enlightenment.org/D7579
Summary:
the events changed here should not be used. They should use legacy
events.
Depends on D8816
Reviewers: zmike, segfaultxavi, cedric
Reviewed By: zmike
Subscribers: #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D8819
Summary:
This commits prepares the tree in order to mess with the events in the
Efl.Ui.Clickable event. Events which have been emitted in a none legacy
widget, are now emitted either with evas, when the widget is legacy due
to inheritance. Or via the normal event and normal event functions.
In case the widget is a legacy only widget (not used at all in the new
api), then the events are for now emitted with
evas_object_smart_callback_call.
Cases where event handlers have been added to legacy widgets, smart
events are now used, and not the eo one anymore.
ref T7844
Depends on D8813
Reviewers: cedric, zmike, segfaultxavi
Reviewed By: zmike
Subscribers: #reviewers, #committers
Tags: #efl
Maniphest Tasks: T7844
Differential Revision: https://phab.enlightenment.org/D8816
Summary:
the repeat event is only emitted by the implementations of
efl_ui_autorepeat. Additionally, the event should only be used by those
who implement this interface.
Depends on D8832
Reviewers: zmike, segfaultxavi, cedric
Reviewed By: zmike, segfaultxavi
Subscribers: jpeg, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D8813
Summary:
the widget itself is a focus_layer which means, the tree is orphaned and
cannot be accessed until the panel is visible. There is not need for us
to manually track this state.
fix T7908
Depends on D8831
Reviewers: marcellus, zmike, segfaultxavi, cedric
Reviewed By: zmike
Subscribers: #reviewers, #committers
Tags: #efl
Maniphest Tasks: T7908
Differential Revision: https://phab.enlightenment.org/D8832
Summary:
if auto_fill is set (which is the default for image objects), manually setting
the fill for the image would previously only persist until the image was resized,
at which point the auto_fill would activate and re-set the image's fill to be
the same as the image's object geometry
this fixes the auto_fill behavior to stop modifying the image's fill geometry
if the fill is manually changed by the user, which fixes using fill on most
image objects
@fix
Reviewers: cedric, Hermet
Reviewed By: cedric
Subscribers: #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D8879
Summary:
this is already a risky call for larger scanlines, so use the clamped value
to further reduce the chance of blowing out the stack
Depends on D8839
Reviewers: cedric, segfaultxavi
Reviewed By: segfaultxavi
Subscribers: segfaultxavi, #reviewers, #committers
Tags: #efl_rendering
Differential Revision: https://phab.enlightenment.org/D8840
Summary:
the 'y' parameter is not relevant here. this clamping exists solely
to avoid reading outside the bounds of the mask, and 'y' is the scanline
at which to begin the masking
subtracting the mask size here does not make sense: we are attempting to clamp
to the size of the mask in order to avoid buffer over-read, so this means that
we are mapping the maximum y coordinate of the mask (mask_y + mask_h) to be
relative to the clipped y coordinate (dst_clip_y)
Depends on D8838
Reviewers: cedric, segfaultxavi
Reviewed By: segfaultxavi
Subscribers: segfaultxavi, #reviewers, #committers
Tags: #efl_rendering
Differential Revision: https://phab.enlightenment.org/D8839
Summary:
this was a bit confusing to read since the comparators are not ordered
as expected
no functional changes
Depends on D8837
Reviewers: cedric, segfaultxavi
Reviewed By: segfaultxavi
Subscribers: segfaultxavi, #reviewers, #committers
Tags: #efl_rendering
Differential Revision: https://phab.enlightenment.org/D8838
Summary:
this code block was repeated multiple times throughout the function
no functional changes
Reviewers: cedric, kimcinoo
Reviewed By: kimcinoo
Subscribers: kimcinoo, #reviewers, #committers
Tags: #efl_rendering
Differential Revision: https://phab.enlightenment.org/D8837
In e027ad2626 these enums were moved to header files, which is correct,
since they are legacy and should not be present in EO files.
However, the C# bindings are still using them.
Until nobody is using these two enums, adding them back to EO fixes the build.
Summary:
The legacy API is available after https://phab.enlightenment.org/D7033 but
internal function does not care of it. This change makes textpath work with
the legacy style file(./data/elementary/themes/edc/elm/textpath.edc).
Reviewers: Hermet, jsuya
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D8875
Summary:
This patch fixes the wrong ingroup name of elm_textpath APIs.
Elm_Textpath had been defined in elm_textpath.h
enum values had been included into Efl_Ui group
So I had modified all APIs and enum values to be inclused in Elm_Textpath_Group.
Test Plan: run unit test cases
Reviewers: segfaultxavi, cedric, zmike, Hermet
Reviewed By: Hermet
Subscribers: #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D8885
the animation itself does not implement the player interface, and
nothing forces it to do so. Additionally, we should ask the reference
object for the current progress. Not the animation object.
This fixes pos_set / pos_get.
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Differential Revision: https://phab.enlightenment.org/D8783
This enable vpath to recognize also ${} as a variable. It does mimic
what Efl.ViewModel provide with Efl.ViewModel.PropertyText and various
other language.
Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D8883
This simply a bit the logic of things, but more refactoring would be nice for this widget.
Reviewed-by: SangHyeon Jade Lee <sh10233.lee@samsung.com>
Differential Revision: https://phab.enlightenment.org/D8799
This model provide facility to filter the content of composited model.
Reviewed-by: SangHyeon Jade Lee <sh10233.lee@samsung.com>
Differential Revision: https://phab.enlightenment.org/D8797
These are legacy-only and not used anywhere in .eo files, so
move them where they belong. They are still used within impls
around the place. The others can't be moved as they are still
used in .eo files in places, that has to be dealt with separately.
Summary: int is 32 bits, HANDLE is void *, so cast to uintptr_t in between
Test Plan: compilation
Reviewers: raster, cedric, zmike
Reviewed By: zmike
Subscribers: #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D8865
Summary:
localtime_r() is already defined by mingw-w64 when _POSIX_C_SOURCE is defined
edit: also only define _POSIX_C_SOURCE (correctly) on windows
Reviewers: bu5hm4n
Reviewed By: bu5hm4n
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D8859
Summary: localtime_r() is already defined by mingw-w64 when _POSIX_C_SOURCE is defined
Test Plan: compilation
Reviewers: raster, zmike, cedric
Subscribers: #reviewers, #committers
Tags: #efl
Maniphest Tasks: T7907
Differential Revision: https://phab.enlightenment.org/D8854
Summary:
forbid the creation of short name (legacy of DOS)
Without optimisation
1. using only Win32 API, just iterating over directories (in micro seconds) :
10 files : 47
1000 files : 270
100000 files : 73227
2. using eina_file_dir_list() with a callback which does nothing :
10 files : 53
1000 files : 265
100000 files : 69624
usually there is a small overhead for eina API, which is normal
With optimisation
1. using only Win32 API, just iterating over directories (in micro seconds) :
10 files : 51
1000 files : 256
100000 files : 33345
2. using eina_file_dir_list() with a callback which does nothing :
10 files : 53
1000 files : 251
100000 files : 33832
speed up with 1000 files and more. Twice faster with 100000 files
Test Plan: benchmark program
Reviewers: raster, cedric, zmike
Subscribers: #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D8842
u or v go below 0... sometimes. right now i don't know the full path
to there, bute crashes with flat theme when the busy spinner shows
over an ibar icon when you launch... this at least stops that.
this needs hunting in more detail than i'm going to do on my laptop
on the couch...
This patch deal with two cases:
1- Setting text in Entry (elm_entry_entry_set) , as the one get using (elm_entry_entry_get), caused the entry to become empty.
* becase entry string was free inside the elm_entry_entry_set function, without checking new passed string.
Now we check if same string was passed to the function, then nothing need to be changed.
```
// Old Behaviour : Entry will become empty
// New Behaviour : Entry will Skip setting same text
elm_entry_entry_set(app->entry, elm_entry_entry_get(app->entry));
```
2- Setting text in Entry (elm_entry_entry_set) , with same content string.
* internally entry will set empty string then set passed string, which will case recalculation and re-render the entry element.
Now we check if same string data that is passed to the function is the same of the entry content, then nothing need to be changed.
```
// This will be skiped internally since same text is set
elm_entry_entry_set(app->entry, "aaaaa");
elm_entry_entry_set(app->entry, "aaaaa"); //skipped
```
Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D8572
these would normally be set by the build system when detecting the
system's libdl functions, but since we are providing them then we must
advertise the functionality to ensure that the right codepaths will
be used
Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D8729
this enables windows engine selections and other functionality
Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D8728
this file is included by itself (without Eina.h) so it must also include
its dependency headers
Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D8727
Efl.Content implementation is here quite useless. The default part is
not in the theme, the setting will just error out. And from my POV, a
default content would not make sense.
ref T7817
Reviewed-by: Xavi Artigas <xavierartigas@yahoo.es>
Differential Revision: https://phab.enlightenment.org/D8807
eo_prefix is not required here. And the class documentation is improved.
Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D8806
the property should not exist. if something is not supported then do not
inherit from this interface. If something wants to use the button
theme, then this can be easily used via API.
In legacy we already have the situation that things inherit from the
button class. To solve this, the enabled call is disabled on those
widgets, and disable every time it is called.
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Differential Revision: https://phab.enlightenment.org/D8805
This splits the eolian_file_parse API into two, one for parsing
files already present in the database (always by filename) and
one for parsing paths.
It fixes several bugs/leaks on the way (incorrect use of
stringshare etc.) as well as adds checking for whether there
are no conflicting filenames at scan time, for free. That means
it is now no longer possible to scan two paths which have an eo
or eot file of the same name in them.
It should also be faster now.
It also fixes T7820.
@fix
Now, efl_content_iterate, efl_content_count, efl_pack, efl_pack_unpack,
efl_pack_unpack_all and efl_pack_clear are available for relative_layout.
Reviewed-by: Xavi Artigas <xavierartigas@yahoo.es>
Differential Revision: https://phab.enlightenment.org/D8631
D8610 Makes API Testcase fault.
"<" is never searching.
@fix
Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D8803
ATSPI role page_tab was set on invalid object and thus ignored.
Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D8789
Summary:
Markup support is added to Efl.Ui.Text through runtime composition, but the C#
bindings do not know about it unless Efl.Text_Markup appears in the hierarchy.
Test Plan: The Markup property is available now for Efl.Ui.Text, it can be used and renders the expected results.
Reviewers: lauromoura, bu5hm4n, zmike
Reviewed By: bu5hm4n
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D8758
Summary:
evas_gl_common_image_content_hint_set makes RGBA_Image NULL if content hint
is EVAS_IMAGE_CONTENT_HINT_DYNAMIC with 'sec_tbm_surface' and 'egl_tbm_ext'.
efl_file_save(_efl_canvas_image_internal_efl_file_save_save) does not work
in this case because ENFN->image_data_direct_get returns FALSE.
This patch makes ENFN->image_data_direct_get work but you need to free its
returned data after using it.
Reviewers: Hermet, jsuya
Reviewed By: Hermet
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D8516
there were some corrupted pair of group scopes,
Edje class size, text were under the both Edje Object and Edje Part
Edje Communication Interface Message, Edje Perspective were wrongly same.
Swallow, Box, Tabe were under the Edje Text Part.
This fixes all of them.
this add strndup implementation that does not seg fault when string is NULL.
This also implements strndup on Windows.
Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D8790
when a child is deleted (externally), the widget should be forgotten
internally.
Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D8751
otherwise we would not give up ownership of the widget
Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D8749
this behavior is implemented in efl_pack, so this should be in this
implementation.
Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D8748
when a object is unpacked, we should ensure that only elements are
deleted from the box when they are added.
Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D8742
this is a starting point for further function additions. this is esp.
usefull since a few functions need to be executed to every added object.
Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D8740
this is needed in order to make efl_ui_pager complete.
Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D8739
i don't know why this is here. But undependend from if the widget is in
animation or not. We should ensure that the added content to the pager
is displayed and added. Having this failing is super unexpected to the
user, and basically undebuggable.
Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D8738
otherwise they will adjust the parent property, and we do not want to
have that.
Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D8737
when a widget is marked internal, widgets can use that to behave in
certain ways. Box for example uses this to not alter the widget_parent
property anymore. Which is usefull for when boxes are used internally.
Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D8736
Summary:
if wl2_input logic gets a 'touch down' event from touch device,
input->focus.touch has set and it cause the logic handles every input as touch input
from that moment at _ecore_wl2_input_mouse_move_send function.
that is the reason why the patch(410c1f9587) has written for.
however, if there are multiple touch input devices,
clearing focus.touch variable without checking any conditions causes another problem.
I mean a case such as 'touch 1 down' -> 'touch 2 down' -> 'touch 1 up' -> 'touch 2 up'
at the moment 'touch 1 up' event executed, focus.touch would be cleared,
and 'touch 2 up' and following touch events will not be executed properly at the moment.
this patch counts a number of touch devices which are grabbing to clear focus.touch at proper time.
Reviewers: devilhorns
Reviewed By: devilhorns
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D8787
so sw rendering make call ecore drm2 calls from a thread - i didnt
know that. so this makes my fix for gl hangs add hangs in sw as a
result. this fixes that. not perfect but better. do need refcoutnts on
outputs to be perfect...
also sometimes the commits fail so retry a few times...
this still leaves us wth another hang that is a separate issue.
@fix
elm_scroller_loop_set cannot be used for other widgets except scroller,
the API should be generic as this functionality can be implemented by other widgets as well.
Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D8686
As we cannot pass NULL to strcmp (crashes when we do), we should check
for a valid sd->last_location here in order to avoid crashing. This
was detected in Enlightenment Screen Settings dialog by selecting a
monitor in the hoversel drop down.
@fix
lets assume a user passes in a string like "blabla%dehydra" then %d will
be resolved by snprintf. Which is probebly not what we want. This
resolves this case and ensures that eina_vpath_resolve does not get
piped through snprintf
Reviewed-by: Dave Andreoli <dave@gurumeditation.it>
Differential Revision: https://phab.enlightenment.org/D8753
Before this patch we were directly sending this event on the Efl.CompositeModel, but they
actually might contain an Efl.Model in the event child field. That Efl.Model wouldn't have
been converted before to an Efl.CompositeModel exposing incoherence from the user of
the object point of view. This patch fix that behavior.
Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D8661
This is usefule to allow timeout future to be propagated through eina_future_all
or eina_future_race for example.
Reviewed-by: Xavi Artigas <xavierartigas@yahoo.es>
Differential Revision: https://phab.enlightenment.org/D8655
Summary:
Avoid using "Item" since this is used by Grid and List items, or "Child" since
this is what Efl.Object uses.
Also clarify what each container does.
Test Plan: Only changes in docs. Everything still builds and passes tests.
Reviewers: bu5hm4n, cedric, zmike
Reviewed By: bu5hm4n
Subscribers: #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D8720
otherwise we start to delete callbacks etc. on a widget that we do not
have.
Reviewed-by: SangHyeon Jade Lee <sh10233.lee@samsung.com>
Differential Revision: https://phab.enlightenment.org/D8706
if a child is removed from grid, the parent should not be grid anymore.
Additionally, group members should also be removed, or random deletions
of widgets could happen.
Reviewed-by: SangHyeon Jade Lee <sh10233.lee@samsung.com>
Differential Revision: https://phab.enlightenment.org/D8705
grid only accepts grid items, not general widgets. If a wrong type is
passed in, a error should be printed.
Reviewed-by: SangHyeon Jade Lee <sh10233.lee@samsung.com>
Differential Revision: https://phab.enlightenment.org/D8704
efl_pack defines behaviour for indexes greater and smaller than 0 and
the actaul size of items. With this commit the defined lange -count <->
count -1 now works as expected.
Reviewed-by: SangHyeon Jade Lee <sh10233.lee@samsung.com>
Differential Revision: https://phab.enlightenment.org/D8703
the APIs in pack should only allow a single registeration of a item.
And when this item is registered, the parent should be set accordingly.
Reviewed-by: SangHyeon Jade Lee <sh10233.lee@samsung.com>
Differential Revision: https://phab.enlightenment.org/D8702
the pack interface is a general interface for how we pack things into a
container. the align and padding property has less to nothing to do with
this. Hence this commit splits the two properties into theire own
interface.
fix T7825
Reviewed-by: Xavi Artigas <xavierartigas@yahoo.es>
Differential Revision: https://phab.enlightenment.org/D8699
If efl_ref() is called to child, then child may not be deleted when
container is deleted.
This causes _on_child_del() is called after container is deleted and it
causes crash if container data is accessed in _on_child_del().
To resolve the above issue, all callbacks of child are deleted not to
call _on_child_del() after container is deleted.
Summary:
1. src_event_in should not be initialized when grabbed object exists.
2. when object of pointer grab is deleted and if object has proxy,
proxy object of pointer grab should be deleted together.
Reviewers: Hermet
Reviewed By: Hermet
Subscribers: zmike, cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D8698
Summary:
In case of the ref count bigger than 1.
That means the eo_theme ref count is 2.
In that case we need to call efl_unref when theme freed.
other case we can delete eo_theme.
@fix
Reviewers: Jaehyun_Cho, woohyun, Hermet
Reviewed By: Jaehyun_Cho
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D8714
Instead of using old way for linear search for Escape Strings or Escape values, we will sort these values and string in compile time then binary search them.
In simple words:
Instead of having one array with pair of {escapeChar,escapeValue} and linear search it.
We will have two arrays with pair of {escapeChar,escapeValue}, one with escapeChar Sorted, and one with escapeValue sorted.
and we will use one of the array to binary search escape chars, and use the other to binary search escape values,
1- This will increase the speed for the search a lot for both Escape characters and Escape values.
2- Make code more easy to understand and trace
3- This will also fix bug for
```
int value;
const char * value = evas_textblock_string_escape_get("",&value)
//because of some unhanded case in previous code, this will return "&qout;" , which is first element in predefined escape character array
```
Reviewed-by: Xavi Artigas <xavierartigas@yahoo.es>
Differential Revision: https://phab.enlightenment.org/D8610
There some engine option defines could be generalized from the window system
since those options could be used through wayland, x11 both, and probably so on.
This is a prepartion patch to support msaa in wayland.
ui window needs to deliver engine options (stencil, depth, msaa bits)
to evas engine side, ecore_evas_wayland_egl should have the argument to pass.
Summary:
I forgot `efl_pack_layout_request` after relation_xxx is changed.
Unnecessary register function in `relation_xxx_get` will return unexpected result.
if a object is not child of relative_layout, `relation_xxx_get` should return
`target = NULL` and `relative = 0.0` with error message.
Test Plan: make check
Reviewers: Jaehyun_Cho
Reviewed By: Jaehyun_Cho
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D8627
Summary:
If the size or hints of a child changes, relative_layout need to update layout.
And, if a child is deleted, it should be unregisterd from relative_layout.
Depends on D8625
Test Plan: elementary_test -to 'efl.ui.relative_layout'
Reviewers: Jaehyun_Cho
Reviewed By: Jaehyun_Cho
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D8626
Summary: If there is no clipper of container, color_set and clipper_set api won't work.
Test Plan:
1. elementary_test -to 'efl.ui.relative_layout'
2. Click button1
3. check that buttons color are changed.
Reviewers: Jaehyun_Cho
Reviewed By: Jaehyun_Cho
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D8625
Previously, animation was not applied immediately when player starts
animation because elapsed time is 0.
This caused flickering object if animation begins with alpha 0 because
the alpha 0 animation is not applied immediately.
Now, animation is applied immediately when player start animation.
This was a terrible oversight, but the point of having a small native type for future was
for making them efficient. Still we were using one Eo object for dispatching per future
to dispatch new value. I could have gathered all the dispatch with just one object, but
at the end we do have one object that notify us of the loop iteration... the loop object!
And we have event on that object that we can rely to trigger the dispatching of future
without requiring any additional object. So let's do that instead.
Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D8567
this commit ensures the following:
- Delete content when new content is set
- Content set input validation
- Correct parent setting
Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D8682
This patchset ensures that the following features are supported:
- content-widget deletion on set content
- content-widget validation on set calls
- invalid cases return false
- event emission
Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D8681
when you inherit from widget_parent, you MUST call the super function.
Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D8680
Coverity reports that we leak the return from _escape(command) here,
so since we have to free the return from _escape, place it in it's own
variable that we can call free() on after we are done with it.
Fixes CID1399105
@fix
Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D8688
Fix selected event compatibility issue.
When item of hoversel is selected,
item selected callback does not call in hoversel sample of elementary_test.
Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D8683
Summary:
if there are multiple input devices, especially touch and mouse type devices simultaneous.
a logic can't recognize the current input device in _ecore_wl2_input_mouse_move_send function.
because focus.touch would not be cleared even touch actions from user has finished.
This patch clears input->focus.touch if users release their finger from touch device.
Reviewers: raster, eagleeye, devilhorns
Reviewed By: devilhorns
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D8673
Remove evas_table.
This expect to improve performance by removing internal function call related
evas_table.
Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D8615
This fix the following warning:
ERR<12924>:eo ../src/lib/eo/eo.c:880 _efl_add_internal_start() Creation of 'Efl.Io.Model' object at line 443 in '../src/lib/elementary/elc_fileselector_entry.c' is done without parent. This should use efl_add_ref.
Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D8536
On the long run, we might just want to have an Efl.Model dedicated to
be used by fileselector and inherit Efl.IoModel from it. At the moment,
we don't, but I think it is still best to rely on this assumption to
make the fileselector code simpler.
Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D8654
This enable relying on Eo reflection capabilities to expose Efl.Model properties.
Should make API nicer to maintain.
Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D8652
NULL is valid, and the sub_object code does refuse to allow NULL, hence
we need this check here.
Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D8638
something else might cause the object to get magically revived. Once the
object is invalidated, some things are able to set a parent again, which
causes the widget to continue with refcount 1 and a parent.
Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D8637
before the events where not emitted correctly. Additionally input values
like 0x1 have been accepted as valid.
Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D8636
Summary:
it FINALLY happend! With this python bindings should be able to work
again with a meson build, you can also enable b_lundef right now. And it
appears to work, with this we can also get another step closer to a
windows build.
Depends on D8669
Reviewers: zmike, stefan_schmidt, cedric, vtorri
Reviewed By: zmike
Subscribers: #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D8670
Summary:
with this we don't have any static module anymore in the engine
directory. This means either *all* modules in the enignes directory are
static OR shared. There is no mixture anymore. This is a requirement for
the directory to be build whenever we want it to be build.
Depends on D8667
Reviewers: zmike, stefan_schmidt, cedric, vtorri
Reviewed By: zmike
Subscribers: #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D8668
This future where relying on the parent model being alive to work (efl_parent_get). For
that reason we should have been using efl_future_then with the parent Model as a measure
to make sure this is always the case.
Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D8500
Test Plan: compilation with autotools and meson (at least as far as it can go)
Reviewers: zmike, raster
Reviewed By: zmike
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D8646
The efl_ui_layout.eo.h header was incorrectly not included in
Elementary.h, which resulted in build failures after the legacy
and otherwise unused efl_ui_layout.eo.legacy.h include was removed.
This patch adds a new field to the crtc atomic state which will be
used to support crtc background_color property, and also fills in that
state during crtc atomic state fill.
@feature
evas map has used integer coodinate system since it's born,
since object's transition is jiggled, not perfectly smooth.
It's obvious because Positioning must be stepping with integer units
without any subpixel rendering.
Currently, this patch is a sort of preparatory to improve this,
only valid for high-quality evas map (smooth + anti-aliasing)
Summary:
the perspective could be handled in the gl backend,
Here map coordinates don't need to get perspective ones but
local coordinates instead as it does same to integer coordinates.
I have no idea origin issues exactly,
but this changed fx, fy values are working correctly in client side.
Reviewers: devilhorns, #committers
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D8563
Now we need to make sure implementations actually follow this behavior.
Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D8635
since commit a1addad60e, To add myself as a sub object of parent object will be
done in Efl.Ui.Widget constructor.
Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D8280
Issue with global list item, used to same styles. (in destructor we do not remove styles from it, which will cause memory leak)
Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D8578
instead of loading them from user32.dll
Summary: current mingw-w64 declare these functions
Test Plan: compilation
Reviewers: zmike, raster, cedric
Reviewed By: zmike
Subscribers: #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D8644
Summary:
meson and autotools were a bit out of sync with this, resulting in
unexpected behavior
Reviewers: billiob
Reviewed By: billiob
Subscribers: billiob, cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D8641
otherwise we do not clear the internals, and fail to get the count to 0.
Reviewed-by: YeongJong Lee <yj34.lee@samsung.com>
Differential Revision: https://phab.enlightenment.org/D8555
_pack_at is used to add new subobjects to the table. When a object is
already part of this table, then we should not add it again. Additional,
when there is already a gi structure, but the parent is something else,
then we should NOT just reuse this struct, otherwise we might use a
struct reference that we do not own. The struct could be owned by
another table widget.
The test must be adjusted, before we did not error on adding a widget
twice. Now we do (just like in box). Hence we should not do that in
test.
Reviewed-by: YeongJong Lee <yj34.lee@samsung.com>
Differential Revision: https://phab.enlightenment.org/D8554
when a element is added two times, we should print an error. Same for
removing a child that is not part of this container.
Reviewed-by: Xavi Artigas <xavierartigas@yahoo.es>
Differential Revision: https://phab.enlightenment.org/D8522
we are calling visible_set on them later on, this will drop errors,
additionally this safes us from checking this in the widget-container
code.
Reviewed-by: Xavi Artigas <xavierartigas@yahoo.es>
Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D8520
Remove legacy stuff from Efl.Ui.Box.
This expect to improve performance by removing internal function call related
evas_box.
Reviewed-by: Xavi Artigas <xavierartigas@yahoo.es>
Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D8417
Some APIs accept both positive and negative indices when accessing items.
This patch changes the documentation for the lower limit from `-(count - 1)` to
`-count` to allow accessing the very first item.
For example (content_count = 5):
| |first item| | | |last item|
|positive index| 0 | 1| 2| 3| 4 |
|negative index| -5 |-4|-3|-2| -1 |
If negative indices are limited to be >= -4 the first item cannot be accessed
using negative indices.
Also, range limit of `pack_at` is removed for usability.
Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Reviewed-by: YeongJong Lee <yj34.lee@samsung.com>
Differential Revision: https://phab.enlightenment.org/D8433
Summary: fix theme apply logic for new return value
Test Plan: 1. run elementary_test for elm_notify and elm_popup
Reviewers: Jaehyun_Cho, woohyun
Reviewed By: Jaehyun_Cho
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D8628
Pager creates Efl.Canvas.Rectangle objects when pager is constructed.
Since the parent of these component objects is evas, these component
objects are not deleted automatically when pager is deleted.
These component objects cause event block after pager is deleted.
(e.g. click event is blocked)
To resolve this issue, these component objects are deleted manually when
pager is deleted.
Summary: eina implement them for all OSes
Test Plan: compilation
Reviewers: raster, cedric, zmike
Reviewed By: raster
Subscribers: #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D8621
Summary: this is triggered during object construction when no image exists
Reviewers: devilhorns
Reviewed By: devilhorns
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D8617
Summary:
with autotools, EFL_BUILD was passed to the preprocessor for libraries and binaries, which was wrong. Only libraries must have EFL_BUILD defined. See T7797 for an explanation
This also fix EAPI in Ecore_Getopt.g and Efl_UI.h
Also note that all the wayland and drm Makefile's have not been touched
Test Plan: compilation
Reviewers: raster, zmike, cedric
Subscribers: #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D8602
Summary:
char type can be singed or unsinged according to the standard.
variables for keeping sign value should be sign, and that is the reason
why this patch modify a type for some variables explictly.
Reviewers: eagleeye
Reviewed By: eagleeye
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D8604
Summary:
The efl_ui_widget_disabled_set calling even the state is not change when widget create and destroy.
It broken backward compatibility.
T7799
@fix
Reviewers: bu5hm4n, Jaehyun_Cho
Reviewed By: Jaehyun_Cho
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D8600
Summary:
If another mask is set in the mask source, the rendering of the mask is performed in order.
The mask will render one buffer in order.
And depending on some types, the initial values of the buffers may be different. (alpha zero or 255).
If the implementation for masking is
efl_canvas_vg_node_mask_set(layer, mask1, MASKADD);
efl_canvas_vg_node_mask_set(mask1, mask2, MASKSUBSTRACT);
efl_canvas_vg_node_mask_set(mask3, mask4, MASKINTERSECT);
Supports rendering for consecutive masks.
Reviewers: Hermet, cedric
Reviewed By: Hermet
Subscribers: #reviewers, #committers, smohanty, kimcinoo
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D8517
We need a proper interface to toggle high-quality mapping,
until that, we disable the anti_aliasing feature.
Since adjecent polygons(such as textpath) shouldn't get this aa feature.
Remove old anti-alias code since high quality map is replaced with new one.
New anti-aliasing is logically same but having a regression bug,
it should be stablized.
Summary:
This new implementation of evas map texture mapping
is designed for high quality rendering same level to GL.
If you use a high-end device, performance is not too bad, you can turn this on.
You might have practical image quality even in software rendering.
Since this implementation still have a few optimization points (+simd)
and stablizings, it may be useful in somewhat limited envrionments right now.
However the functionality definitely works fine, so please turn this on by
demand (anti_alias + smooth) for a while.
{F3667773} {F3667776} {F3667778}
Reviewers: #committers, devilhorns, raster
Reviewed By: #committers, raster
Subscribers: raster, devilhorns, cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D8106
Summary:
Current textpath on sw rendering is too jiggled,
quaility is very poor to use.
This option uses better quality texture mapping logic
in order to improve the image quality.
Depends on D8106
Reviewers: #committers
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D8465
During shutdown, sometimes, we can have an error generated on the object
while it is invalidating, but before it is invalidated. This lead to
properties on the object to change to an error state and trigger the
properties changed logic. At this point, the parent has already been
destroyed and we don't really have anything more to do. So let's not
do anything.
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Differential Revision: https://phab.enlightenment.org/D8502
Theme is set during finalize in Efl.Ui.Layout_Base.
Therefore, it is not necessary to call theme set function if the widget
inherits Efl.Ui.Layout_Base and its klass is properly set.
Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D8559
Summary:
Rework general event handling to check individually each event call, if the
object is not alive then the event will not be propagated.
WeakReferences (and lambdas capturing those WeakRefs) are used to ensure this.
Dispose methods in object now take care of checking if efl libraries are still
initialized and thread-safely unregister each event before performing an
efl_unref on the Eo object.
Event handling in C# is now centered around a single dictionary inside the
object: `EoEvents`.
C# event triggers now properly trigger events on C too.
Standardize C# event-triggering methods names (remove underscores).
Some diminished use of static memory due events no longer requiring static key
objects to be registered/unregistered.
Some fixing of white space generation for generated events.
Depends on D8431
Reviewers: lauromoura, felipealmeida, segfaultxavi
Reviewed By: lauromoura
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D8564
Summary:
This commit mainly fixes errors caused by deallocating resources in the garbage
collector thread. Using `ecore_main_loop_thread_safe_call_async` to queue
resource deallocation in the main thread seems to solve it.
Also, some `efl_ref` calls are added in places they were missing, mainly
objects that unref in the destructor thus taking ownership if efl_ref is not
called.
Also fix improper resource deallocation in tests that were causing it to crash,
enabling it to call Efl.All.Shutdown again. This allocation and the deallocation
process was moved from the Eo class constructor to static class methods that are
called in the test 'set up' and 'tear down' methods.
Queuing resource deallocation in the main thread make it mandatory that tests
call `Efl.App.AppMain.Iterate()` if they want to check proper resource
deallocation (like TestFunctionPointers.set_callback_inherited_called_from_c).
Extras:
Remove duplicated declaration of 'eflcustomexportsmono' in meson in order to fix
some linking problems.
Remove some unused code around deallocation functions that had to be reworked.
Object allocation is now supplied with the call site information it expects
(file name and line for _efl_add_start).
Depends on D8550
Test Plan: meson test
Reviewers: felipealmeida, lauromoura, cedric, segfaultxavi
Reviewed By: lauromoura
Subscribers: segfaultxavi
Tags: #efl_language_bindings, #do_not_merge
Differential Revision: https://phab.enlightenment.org/D8431
Summary:
When I add "efl_event_callback_add(btn, EFL_GFX_ENTITY_EVENT_VISIBILITY_CHANGED, _cb, NULL)",
_cb is not called. Because of callback_mask is not set correctly.
Test Plan: unit test
Reviewers: zmike, cedric
Subscribers: #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D8528
Summary: it is useless to check for header files which necessarly exist
Test Plan: compilation
Reviewers: raster, cedric, zmike
Reviewed By: zmike
Subscribers: #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D8535
Summary:
after a fork does happen, the new process does not have any self created
threads at all. However, _thread_cb can contain suspend calls of
ecore_thread_main_loop_begin. _ecore_main_call_flush will then wait in
the suspend block for the thread to call ecore_thread_main_loop_end.
However, the thread is dead, the end function will never be called.
Hence we should ensure that we definitly kill every entry in _thread_cb
that has a susped flag on true.
This fixes deadlocks while running the testsuites with
EIO_MONITOR_POLL=1
Depends on D8526
Reviewers: cedric, segfaultxavi, zmike
Reviewed By: zmike
Subscribers: #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D8531
Summary:
we need to to this here, otherwise we effectfily start the monitor
later, which means, we can miss a change in the filesystem. However,
this makes things a lot slower.
Reviewers: cedric
Reviewed By: cedric
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D8526
Summary:
Little introduction into what eio did before this commit:
Efl.Io.Model creation:
- direct ls of a directory in a thread (A)
- take all the contents of a directory and feed it slowly back into
the mainloop
- when all events have been feeded back to the mainloop and have been
processed: start monitoring (B)
However, any file created between (A) and (B) will not be in the model,
since not the listing nor the monitoring did caputure it. Hence we need
to start monitoring before we actaully start listing. In the callbacks
we then check if we already published something.
ref T7311
Reviewers: zmike, cedric
Reviewed By: cedric
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Maniphest Tasks: T7311
Differential Revision: https://phab.enlightenment.org/D8525
Summary:
The @ingroup of elm_object_item APIs is Elm_General in elm_object_item.h.
Since legacy prefix of Elm_Widget_Item is elm_object_item,
the prefix of Elm_Widget_Item APIs is elm_object_item.
Consequently, to display the legacy Elm_Widget_Item APIs with
elm_object_item APIs, the @ingroup is changed from Elm_Object_Item_Group
to Elm_General.
Test Plan: make doc and check the documentation
Reviewers: segfaultxavi
Reviewed By: segfaultxavi
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D8529
This reverts commit 913a5bff66.
The commit is reverted because the commit implements features during
feature freeze period before release.
913a5bff66 will be restored after release.
This reverts commit 74c48f0296.
The commit is reverted because the commit implements features during
feature freeze period before release.
74c48f0296 will be restored after release.
This reverts commit e3d2a0cf12.
The commit is reverted to revert the following commit.
74c48f0296
The above commit will be restored after release and then
e3d2a0cf12 will be also restored.
There is a wrong case that fails caching ector surfaces.
Those vector objects manually constructing shapes,
passed wrong pointer as the cacahing key instead of root node pointer.
This fixes it.
Summary:
Coverity reports that we potentially leak char *s here. If we do not
have 'data_ret', then the malloc'd 's' sould be freed as we are not
going to use it.
Fixes Coverity CID1396949
@fix
Reviewers: raster, cedric, bu5hm4n, zmike
Reviewed By: bu5hm4n
Subscribers: #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D8523
Summary:
passing null here causes any log message to crash the app and is probably not
the intended result
Reviewers: cedric, segfaultxavi
Reviewed By: cedric, segfaultxavi
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D8513
Summary:
1- Speed up detecting new lines.
```
if (!strncmp(text, "<br", 3) || !strncmp(text, "<ps", 3))
```
This will cause 6 comparisons (if one of conditions did not meet), or at least 3 comparisons.
this is changed to
```
if (!strncmp(text, "<", 1))
```
2- Speedup detecting lines
If this condition is true, we should increment the string for next iteration 3 times, not just one
```
if (!strncmp(text, "<br", 3) || !strncmp(text, "<ps", 3))
```
if '<' founded then 'pr' or 'br', we will skip 3 characters for next iteration.
```
if (!strncmp(text, "<", 1))
{
text++;
len--;
if (!strncmp(text, "br", 2) || !strncmp(text, "ps", 2))
{
text += 2;
len -= 2;
```
3- Prevent reading invalid memory out of the string
```
if (text[3] == '>' || ((text[3] == '/') && (text[4] == '>')))
```
string could reach last char in string (original string ends with "<br")
but now we will check if remaining string length allow comparison :
```
if (text[0] == '>' || (len > 1 && ((text[0] == '/') && (text[1] == '>'))))
```
Test Plan:
```
static int
oldFunc(const char *text)
{
if (!text)
return 0;
while (*text)
{
if (!strncmp(text, "<br", 3) || !strncmp(text, "<ps", 3))
{
if (text[3] == '>' || ((text[3] == '/') && (text[4] == '>')))
{
return 1;
}
}
text++;
}
return 0;
}
static int
newFunc(const char *text)
{
if (!text)
return 0;
char *pTemp = (char *)text;
while (pTemp = strchr(pTemp, '<'))
{
pTemp++;
if (!strncmp(pTemp, "br", 2) || !strncmp(pTemp, "ps", 2))
{
pTemp += 2;
if (pTemp[0] != '\0' && (pTemp[0] == '>' || (pTemp[0] == '/' && pTemp[1] == '>')))
{
return 1;
}
}
}
return 0;
}
int main()
{
int counter = 1000;
srand(time(NULL));
char pStr[50001] = {0};
char AllChars[] = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789<>";
int AllCharsLen = strlen(AllChars);
for (int i = 0; i < 50000; i++)
pStr[i] = AllChars[rand() % AllCharsLen];
clock_t start, end;
double total_Time1 = 0;
int i;
for (int j = 0; j < 3; j++)
{
if (j == 0)
{
printf("random String\n");
}
else if (j == 1)
{
printf("With Random <br/>\n");
int location = rand()%(5000 - 5);
pStr[location++] = '<';
pStr[location++] = 'b';
pStr[location++] = 'r';
pStr[location++] = '/';
pStr[location++] = '>';
}
else if (j == 2)
{
printf("With Random <ps>\n");
int location = rand()%(5000 - 4);
pStr[location++] = '<';
pStr[location++] = 'p';
pStr[location++] = 's';
pStr[location++] = '>';
}
start = clock();
for (i = 0; i < counter; i++)
oldFunc(pStr);
end = clock();
total_Time1 = ((double)(end - start)) / CLOCKS_PER_SEC;
printf("original = %f has new Line = %i\n", total_Time1, oldFunc(pStr));
start = clock();
for (i = 0; i < counter; i++)
newFunc(pStr);
end = clock();
total_Time1 = ((double)(end - start)) / CLOCKS_PER_SEC;
printf("modified = %f has new line = %i\n\n", total_Time1, newFunc(pStr));
}
}
```
output:
random String
original = 2.523000 has new Line = 0
modified = 0.090000 has new line = 0
With Random <br/>
original = 0.081000 has new Line = 1
modified = 0.003000 has new line = 1
With Random <ps>
original = 0.016000 has new Line = 1
modified = 0.001000 has new line = 1
Reviewers: zmike, woohyun, bowonryu
Reviewed By: zmike
Subscribers: bu5hm4n, segfaultxavi, zmike, cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D8497
this resolves a lot of cases where focus_highlight API was called on a
object, which is not a efl_ui_win object. With this patch we ensure that
the object is always a window.
Reviewed-by: Xavi Artigas <xavierartigas@yahoo.es>
Differential Revision: https://phab.enlightenment.org/D8476
the problem with the previous implementation (just redirect the calls to
the widget_parent then to the efl_parent is that after invalidate its
impossible to find the window where the widget is in. However, there are
cases where we want to have access to the window of the widget, for
example, to invalidate focus highlight etc..
The window of a widget is always constant, and cannot be changed (as the
evas object cannot hop accross different evas)
Reviewed-by: Jaehyun Cho <jae_hyun.cho@samsung.com>
Differential Revision: https://phab.enlightenment.org/D8475
If docs are present at property and set/get levels only one is used.
Ref T7717
Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D8494
exit_on_close and exit_on_all_windows_closed deserve a bit of clarification
since they have very similar meanings.
Also, add proper Eina.Value doc references.
Ref T7717
Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D8511
Eina.Values are built-in eolian types, accessed through any_value and
any_value_ptr. However, these types cannot be used in doc references.
Adding a placeholder extern struct Eina.Value causes no harm, and will allow
referencing the type from EO docs later on.
In C#, Eina.Value is defined in the manual binding code so the doc reference
resolves to a valid type.
Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D8510
before the refactoring of the disabled property, there was no way to
enable a widget which has a disabled tree. This here however enables
this to work again like this. The user will be told with an error
message. The integraty of the property is maintained accross reparents.
Reviewed-by: Jaehyun Cho <jae_hyun.cho@samsung.com>
Differential Revision: https://phab.enlightenment.org/D8459
Summary: This feature will apply side button style for each left and right button of alert popup
Reviewers: Jaehyun_Cho, cedric
Reviewed By: Jaehyun_Cho
Subscribers: #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D8492
eo methods should not be called on legacy objects
Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D8487
Both at the emitter (efl_event_callback_call) and the receiver
(info field in the Efl.Event structure).
The Events tutorial should repeat this.
Fixes T7760
Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D8486
when a mouse cursor is over a slider, the mouse wheel should be used to
affect the state of the slider, not also the one of the slider.
ref T2529
Reviewed-by: Bowon Ryu <bowon.ryu@samsung.com>
Reviewed-by: Jaehyun Cho <jae_hyun.cho@samsung.com>
Differential Revision: https://phab.enlightenment.org/D8455
Marcel notted that when using the LIST view of the fileselector on a
big directory, we end up having to wait for the entire genlist to be
populated to be able to switch to another directory. This is actually
a side effect of the populate code being triggered through an idler.
This idler was useful when the list was populated directly, but now
that we rely on Efl.Io.Model, we should be asynchronous enough that
it shouldn't be a problem to actually not be asynchronous here. By
removing the reliance on the idler, we are not queued after all the
idler and can properly short circuit all of that.
Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D8491
so after a phone call, two days of debugging, tears, crying etc. etc. we
finally came to a point of enlightenment! *Someone* (bu5hm4n) moved
gengrid and genlist events from eo back to smart events, so we can work
arround legacy borks and event-name collisions, at this point he did not
knew that some widgets (fileselector) already relied on those *lovely*
events. Hence this broke theoretically the testsuite, however, the
fileselector testsuite is ultimatily buggy, and the wait function does
not return false when it timeouts, (i don't know why not). So this break
was never discovered.
Additionally there is a second issue. it appears, that when we
immidiatly quit the mainloop after we have got the selected callback,
that then genlist decides to forget about the sd->selected pointer, and
NULLs that one out. Which then results in the fact that
elm_fileselector_selected_get ends up returning invalid paths.
Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D8488
Model provided by an item selection would have there parent being the current
model of the fileselector. Once that one is replaced by the item model, it would
automatically invalidate the model and break any further request. This lead to
a bug where you could only get into one directory before everything else
being empty.
Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D8450
In some case, the properties changed event would be triggered first on the object model
instead of the target model. This now enforce that the target will be the first model
to handle and react on the information.
Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D8449
There was no need in the first place to do all this asynchronous work here.
It is more robust to do it in sync.
Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D8448
Ecore_Thread excpect resolution of the error and done case to be instantaneous,
while Eina_Future default scheduler linked with Ecore main loop is build around
asynchronous answer. This create a lot of potential. A better patch would be
to provide an Ecore_Thread helper that does the integration properly. Sadly
we are in release now, so this is basically what an helper would do, but
contained inside Efl_Io_Manager.
This also solve the same problem as D7970 and D8053, but it should avoid its
side effect.
Reviewed-by: YeongJong Lee <yj34.lee@samsung.com>
Differential Revision: https://phab.enlightenment.org/D8371
There is no point in keeping a pointer to the main loop now that we
are using efl_future_then. This resolve potential bug with leftover
dangling weak reference as efl_future_then do require a free case
otherwise.
Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D8374
As we now do everything asynchronously, we do have model representing child
of the main model that don't provide enough information to be displayed yet.
This are not tracked by a genlist item, nor are they a child of the
fileselector. To properly handle their lifecycle, it is necessary to unref
them manually explicitely.
Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D8375
This is a minimal change and it would be best to refactor the code completely
using all the infrastructure we have now instead of the organically grown code,
but I am afraid of doing such a big change at this point of our release cycle.
Part of the improvement are use of efl_replace to make sure Eo object reference
are set to NULL once reference are dropped. Handling the case when a processed
child is actually pointing to an error. Also it is not supported by model to
get their parent stolen, so this has been fixed too. Finally setting the path
asynchronously was creating more trouble than needed, when it could be done in
a synchronous way.
Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D8336
This bring no functional change to Eo and efl_part.
Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D8357
This allow for the safe use of efl_ref/efl_unref around an efl_part
without calling any function on that part.
Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D8358
This reverts commit cced5487c8.
This patch was pushed just to silence warning without fixing the problem and doing
something that was incorrect (coupling an efl_del with an efl_ref).
Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D8429
This fix the borkage of the "selected" smart event not being triggered.
Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D8332
Summary:
as you can see in T7620, there is quite some critics about how we are
handling configs in elm. This patch enables the compile-time standard
config to be used instead of some weak-wrong-usage hardcoded structure
defines somewhere in elm.
This means, that every update to the default theme will be also in the
next build embedded, without any config files installed at all, the
standard config for desktops will work, and a error will be printed, so
the user does have the possibility to interact with elm as he wishes,
while he sees this error.
fixes T7620
Reviewers: zmike, cedric, segfaultxavi, devilhorns
Reviewed By: zmike
Subscribers: devilhorns, #reviewers, #committers
Tags: #efl
Maniphest Tasks: T7620
Differential Revision: https://phab.enlightenment.org/D8481
Summary:
By reworking on efl_file, logic flow for entry has been changed.
and it causes autosave making a file that is passed to elm_entry_file_set empty.
Test Plan:
1. call elm_entry_file_set for a file.
2. check the file is not empty after calling the function.
Reviewers: zmike, bu5hm4n
Reviewed By: zmike
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D8362
Summary:
The EVAS_CALLBACK_RENDER_POST callback has been deferred when the callback is registered during the render(inside_post_render flag on).
In the sync render case, the logic to call deferred callbacks is missing, and callbacks are not being called in certain cases.
@fix
Reviewers: ManMower, Hermet
Reviewed By: Hermet
Subscribers: zmike, cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D8478
Summary:
Context management classes now store constant copies of the tags they
are supposed to hold. So, they are immutable objects now.
Functions that manipulate context create new object copies as needed.
`constexpr` was added for class constructor and functions.
Indentation generator now used four space by default.
Also, the amount of desired spaces can now be specified at call site.
Added helper methods to return 'indented' and 'unindented' version of a
given indentation generator object.
Test Plan: ninja test
Reviewers: felipealmeida, lauromoura
Reviewed By: lauromoura
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D8467
Summary:
there have been wrong function calls, that did not work at all, since
the function pointer had the wrong type. This fixes the segfaulting
examples of evas3d. However, they still do not render, at least, they
don't crash anymore.
Depends on D8381
Reviewers: cedric, segfaultxavi, zmike, stefan_schmidt
Reviewed By: zmike
Subscribers: #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D8382
Summary:
Before b3327c761e, -1 was returned on`elm_win_rotation_get`, if `obj` is NULL.
This fixes backward compatibility.
Test Plan: make check
Reviewers: Hermet
Reviewed By: Hermet
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D8474
Summary:
I fixed the tab_pager behavior problem caused by changing efl interface.
and I have also fixed some sample code errors.
- using efl_file_load for efl_file_set
- using efl_del for unpacked tab_page
- disable unimplemented features
Test Plan: elementary_test -to efl.ui.tab_pager
Reviewers: Jaehyun_Cho
Reviewed By: Jaehyun_Cho
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D8471
Summary:
When moving the magnifier in elm_entry, _magnifier_move
function occured infinite loop problem by calling
evas_object_move twice with different positions.
So, I changed it to call evas_object_move once.
ref T7202
Test Plan:
1. Set profile to "mobile"
2. elementary_test
3. entry
4. long press mouse button on elm_entry
5. when the magnifier is shown, try to move it
Reviewers: zmike, bu5hm4n, bowonryu, id213sin
Reviewed By: zmike
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Maniphest Tasks: T7202
Differential Revision: https://phab.enlightenment.org/D8462
Originally, this job task was introduced for trick optimization to avoid
unnecessary duplicated compuation.
But this introduced a regression bug as well, image geometry updation was
delayed by this.
So, we remove the job here.
@fix T7360
update order can be quite expensive, so this here tries to skip it as
often as possible.
ref T7384
Reviewed-by: SangHyeon Jade Lee <sh10233.lee@samsung.com>
Differential Revision: https://phab.enlightenment.org/D8367
before just everything has been registered, now only the realized items
are registered.
ref T7384
Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D8366
Summary:
if 0 is set as reading_info_type, remove existing reading_info and
allow default reading info types (name, role, state and description)
to be read.
Do not set reading info again in reading_info_type_set API if new
value matches the old value.
Test Plan:
If application does not set reading_info_type or set 0 reading_info_type,
All four reading info types of an accessible object should be read on highlight.
Signed-off-by: Shilpa Singh <shilpa.singh@samsung.com>
Reviewers: kimcinoo, jsuya, bu5hm4n, lukasz.stanislawski
Subscribers: prasoonsingh16, rajeev.jnnce, #reviewers, cedric, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D8435
this path should not be triggered for objects which are being deleted,
which was the case in all of the referenced bug reportst
fix T4904, T7100, T7421
Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D8445
Summary:
Enlightenment uses this function to get information about a given
output, so we should be accounting for output rotation when returning
width/height values.
ref T7690
@fix
Depends on D8114
Reviewers: raster, cedric, zmike
Reviewed By: cedric
Subscribers: cedric
Tags: #efl, #do_not_merge
Maniphest Tasks: T7690
Differential Revision: https://phab.enlightenment.org/D8115
Summary:
Small patch to add an API function which can be used to return a given
output's rotation value
ref T7690
@feature
Depends on D8113
Reviewers: raster, cedric, zmike, stefan_schmidt, bu5hm4n
Reviewed By: cedric
Subscribers: cedric
Tags: #efl, #do_not_merge
Maniphest Tasks: T7690
Differential Revision: https://phab.enlightenment.org/D8114
Summary:
When we call ecore_drm2_output_rotation_set we need to store that
value in the Output structure so that it can be checked later when
needed.
ref T7690
Depends on D8112
Reviewers: raster, cedric, zmike
Reviewed By: cedric
Subscribers: cedric
Tags: #efl, #do_not_merge
Maniphest Tasks: T7690
Differential Revision: https://phab.enlightenment.org/D8113
Summary:
Setting output primary plane rotation is broken at the moment, so this
commit will disable that for now until this can be investigated
ref T7690
Depends on D8111
Reviewers: raster, cedric, zmike
Subscribers: cedric
Tags: #efl, #do_not_merge
Maniphest Tasks: T7690
Differential Revision: https://phab.enlightenment.org/D8112
Summary:
When we are trying to set an FB onto a plane, we need to update the
plane state values to reflect any changes in the FB. Failure to do
this will result in Atomic Commit failures as the plane state values
will not match what the FB is.
ref T7690
@fix
Depends on D8110
Reviewers: raster, cedric, zmike
Reviewed By: cedric
Subscribers: cedric
Tags: #efl, #do_not_merge
Maniphest Tasks: T7690
Differential Revision: https://phab.enlightenment.org/D8111
Summary:
Apparently something has been changed recently in libdrm
that causes AtomicAddProperty to fail when trying to set plane rotation. Until
this can be found & fixed, let's just disable trying to rotate
hardware planes with atomic commits.
ref T7690
@fix
Reviewers: raster, cedric, zmike
Subscribers: zmike, cedric
Tags: #efl, #do_not_merge
Maniphest Tasks: T7690
Differential Revision: https://phab.enlightenment.org/D8110
Summary: Previous @since tags have already been removed from eo files.
Test Plan: Everything builds, but stable classes now have Since tags in the docs.
Reviewers: zmike, bu5hm4n
Reviewed By: bu5hm4n
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D8446
Summary: time values are of type long, but a double values was used
Test Plan: compilation
Reviewers: raster, zmike, q66, simotek
Reviewed By: zmike, simotek
Subscribers: simotek, cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D8444
this takes the current generated output from eolian for legacy code in
efl and adds it to the tree, then removes legacy references from the
corresponding eo files. in the case where the entire eo file was for
a legacy object, that eo file has been removed from the tree
ref T7724
this takes the current generated output from eolian for legacy code in
efl and adds it to the tree, then removes legacy references from the
corresponding eo files. in the case where the entire eo file was for
a legacy object, that eo file has been removed from the tree
ref T7724
Summary:
fix Eina_Error type calculation in _efl_ui_layout_base_efl_ui_widget_theme_apply() to behave as before.
@fix
Test Plan: run elementary_test for all widgets
Reviewers: #reviewers, Jaehyun_Cho, Hermet
Reviewed By: Jaehyun_Cho
Subscribers: cedric, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D8443
automatic theme lotation is layout base class property which can be applied
layout based widget classes.
currently it only comparing EFL_UI_LAYOUT_CLASS so layout base inherited class
can not be applied this feature properly.
depends D8434
Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D8436
current code set the disable EINA_TRUE when disabled,
but once it was set diabled, it never changed EINA_FALSE even we set the orientation_mode_disable as FALSE.
Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D8434
Summary:
Instead of flag returned by gesture callbacks, always EVAS_EVENT_FLAG_NONE
flag was being used.
Test Plan:
As event flag was not being appropriately updated, in some cases expected
behaviour was not seen.
Reviewers: shilpasingh, cedric, Hermet, segfaultxavi
Reviewed By: shilpasingh, segfaultxavi
Subscribers: segfaultxavi, #reviewers, rajeev.jnnce, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D8421
this (unintentionally) revealed some bugs where apps/examples were mixing
eo and legacy code for elm_win which breaks things pretty badly. I'm only
here so I don't get fined.
ref T7713
Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D8401
calling this function indicates legacy is forbidden, not successfully
loading a file. this is functionally meaningless, as the only way to
trigger the previous codepath would be to have previously set legacy
as forbidden, but perhaps it will be slightly easier to read now
Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D8400
the ordering of priority here is supposed to be:
1. env vars
2. global override config
3. window config
4. global config
in the case where 1 and 3 were not set, however, this would end up
mangling the global config values and not using the gl options
@fix
Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D8389
Summary:
All legacy @since tags have already moved to the *.legacy.h files.
EO files are now devoid of @since tags (except some eldbus still
needed for legacy).
Upcoming patches will add @since 1.22 to those APIs which come out
of beta in this release.
APIs marked @beta do not need @since tags.
Test Plan: Everything builds, EO docs (like DocFX) have no Since tags.
Reviewers: zmike, bu5hm4n, lauromoura, cedric
Reviewed By: cedric
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D8430
however, efl_ui_tab_bar does pass in there a int. For now i decided that
we just pass NULL here, if this is not accaptable then we can still add
another event to the object itself.
fix T7758
Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D8418
Coverity reports that both pname & file variables can be null here,
and that we are potentially passing NULL to strcmp. Check for valid
variables before passing to strcmp
Fixes Coverity CID1399423, CID1399421
@fix
Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D8350
this event does not get emitted when selection per se changes, it gets
emitted when the selection in the window manager changes. we should
prefix this even with that.
ref T7476
Reviewed-by: Xavi Artigas <xavierartigas@yahoo.es>
Differential Revision: https://phab.enlightenment.org/D8424
this event is not used here, and if it ever is used, then it should
probebly be using efl.ui.selectable.
Reviewed-by: Xavi Artigas <xavierartigas@yahoo.es>
Differential Revision: https://phab.enlightenment.org/D8423
Add attribute_del API, currently there is no provision to delete a particular attribute(key-value pair)
from the attribute list of a widget.
Add test cases for efl_access_attribute_append, efl_access_attributes_get, efl_access_attribute_del and efl_access_attributes_clear API
Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Reviewed-by: Shinwoo Kim <cinoo.kim@samsung.com>
Differential Revision: https://phab.enlightenment.org/D8386
Summary:
>>! In T5301#110572, @jpeg wrote:
> Quick recap before I leave.
> ...
> ...
> - Pack interfaces - T5328
>
> Table does not need to inherit from "linear" (1d) layout: this brings unnecessary complexity, for a dubious use case.
We don't have linear layout policy of table(2d) layout. furthermore, i don't
think it will be clearly defined. it is enough for Efl.Pack_Table to support
`efl_pack` which work the same as `efl_pack_end`.
ref T5719, T5328
Test Plan:
- make
- elementary_test -to 'efl.ui.table'
- elementary_test -to 'efl.ui.table(linear api)'
Reviewers: zmike, woohyun, segfaultxavi
Reviewed By: segfaultxavi
Subscribers: cedric, #reviewers, jpeg, #committers
Tags: #efl
Maniphest Tasks: T5719, T5328
Differential Revision: https://phab.enlightenment.org/D8420
Summary:
Only the number was being used, and in places were it should not be.
Now the Since version appears only in <summary> tags, with proper
context (Since EFL 1.22).
Test Plan: make && gendoc should produce DocFX pages which make more sense.
Reviewers: lauromoura, zmike, bu5hm4n
Reviewed By: lauromoura
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D8012
Summary:
it appears that this event calling is a bit fishy, the value of the
second callback call was never set, i think the shrink flag here is what
we want to return here.
T7758
Depends on D8406
Reviewers: cedric, zmike, segfaultxavi
Reviewed By: zmike
Subscribers: #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D8407
Summary:
this was conflicting with a model event. Prefixing it with "item,"
resolves this, and describes better what it does.
Depends on D8413
Reviewers: zmike
Reviewed By: zmike
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D8414
Summary:
we want to rename it, and this would break legacy behaviour, so better
this way.
Depends on D8412
Reviewers: zmike
Reviewed By: zmike
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D8413
Summary:
This reverts commit f629f11bed.
This breaks legacy events. As the selected event is used in legacy
widgets. Also this commits mixed up two different concepts, selection in
a entry etc. and selection of a item.
Depends on D8411
Reviewers: zmike
Reviewed By: zmike
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D8412
Summary:
the difference here is, that the macro before did not print ERR's the
one now does. Hence this commit remove two error messages.
Reviewers: devilhorns
Reviewed By: devilhorns
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D8415
Summary:
the difference here is, that the macro before did not print ERR's the
one now does. Hence this commit remove two error messages.
Depends on D8394
Reviewers: zmike, segfaultxavi, cedric, devilhorns
Reviewed By: segfaultxavi
Subscribers: #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D8395
Summary:
before the efl_file_set operations have been safed, and then applied on
the internal evas_image. With the refactor
6326e18b3f, this was broken, and the
file_set was applied to the super object which is a layout here.
fix T7748
Reviewers: zmike, segfaultxavi, cedric, devilhorns
Reviewed By: zmike
Subscribers: #reviewers, #committers
Tags: #efl
Maniphest Tasks: T7748
Differential Revision: https://phab.enlightenment.org/D8394
Summary:
Coverity reports that we leak 'data' here (which can happen if we
error on 'eina_value_dup(value)'). Iniitalize 'data' to NULL, and add a
'free' call to cleanup 'data' before we return a rejected future.
Fixes Coverity CID1399097
@fix
Depends on D8350
Reviewers: raster, cedric, zmike, bu5hm4n, stefan_schmidt
Reviewed By: cedric
Subscribers: #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D8352