It relies a bit on evas legacy APIs and will only work on
evas objects (Efl.Canvas.Object) for now.
The main difference with Evas_Map is that there is no
separate map object, as the functions apply directly to
any canvas object.
For convenience, most functions will automatically populate
the map if there was no previous map info. While this may
be convenient, the object's size changes still need to
be tracked to update the map info.
If you touch downs and ups about all of fingers,
that is sufficient condition to call ecore_wl_input_ungrab().
And then one mouse up event is generated from that function.
So if you set a callback about ECORE_EVENT_MOUSE_BUTTON_UP,
you can watch two mouse up events are occurred.
This is a port of the patch for Ecore_Wayland library (deprecated) to
the newer Ecore_Wl2 library.
ref D4112
@fix
Signed-off-by: Chris Michael <cpmichael@osg.samsung.com>
Summary:
Prevent duplicated mouse up events generated from input_ungrab.
If you touch downs and ups about all of fingers,
that is sufficient condition to call ecore_wl_input_ungrab().
And then one mouse up event is generated from that function.
So if you set a callback about ECORE_EVENT_MOUSE_BUTTON_UP,
you can watch two mouse up events are occurred.
Test Plan: Touch and release. And watch mouse up events.
Reviewers: raster, zmike, devilhorns
Reviewed By: devilhorns
Subscribers: ohduna, input.hacker, cedric, jpeg
Differential Revision: https://phab.enlightenment.org/D4112
Not really somethign we would hit here but still better to change this.
tests/elementary/elm_test_config.c: In function ‘elm_config_profiles’:
tests/elementary/elm_test_config.c:206:12: warning: comparison between signed and unsigned integer
expressions [-Wsign-compare]
fail_if(cnt != eina_list_count(list));
We are assigning somethign new to this list so no chance for const here.
tests/elementary/elm_test_config.c: In function ‘_eina_list_string_has’:
tests/elementary/elm_test_config.c:174:11: warning: assignment discards ‘const’ qualifier from
pointer target type [-Wdiscarded-qualifiers]
EINA_LIST_FOREACH(list, l, s)
Summary:
max_sc_w decide popup's "content" area size when popup scrollable is TRUE.
but in popup's edc, "elm/popup/content/XXXX" has min size when scrollable is TRUE. (and it is content area layout)
max_sc_w has fixed value, so I think deciding by edc is better than fixed code.
Test Plan:
1. elementary_test -to popup
2. check "Enable popup scroll"
3. click any list item.
4. observe popup and compare before this patch.
Reviewers: singh.amitesh, herb, Hermet, raster
Subscribers: cedric, jpeg
Differential Revision: https://phab.enlightenment.org/D4113
Summary:
Some fonts can have weird style and weight value.
If a font has a style name as "medium" and a weight value as "semi-bold",
Evas can't load the font using "font=Somefont:style=Medium".
It only can be load with "font=Somefont:style=SemiBold" or
"font=Somefont:weight=SemiBold".
On the other hand, it could be loaded when I tested the following commands.
fc-match -s ":family=Somefont:style=Medium" or
fc-match -s ":family=Somefont:weight=SemiBold"
Evas also should load font based on font's style name.
@fix
Test Plan: N/A
Reviewers: tasn, herdsman, cedric, woohyun, raster
Reviewed By: raster
Subscribers: Blackmole, z-wony, jpeg
Differential Revision: https://phab.enlightenment.org/D4108
if EFL_EO_API_SUPPORT is not defined in user side, this will break the build.
because Elm_Layout type is defined in eo header file.
Just keep using Evas_Object * in legacy yet.
So far this was protected behind ifdef EO_API_SUPPORT. It also
was not used internally. Dropping this before the release, since
we will soon have a (hopefully) better solution to handle various
color representations.
Summary:
refactor setter and getter of edje color class and
move edje_color_class_set/get() into Edje.Object as class functions
Reviewers: cedric, jpeg
Reviewed By: jpeg
Subscribers: kimcinoo
Differential Revision: https://phab.enlightenment.org/D4109
Note by jpeg:
The EO APIs introduced here will be revisited in upcoming patches,
in particular:
1. avoid non-premultiplied colors
2. move to a common color class interface
Summary:
Add bounds-changed signal, this signal can be sent on geometry change
of any evas object when atspi mode is enabled.
Test Plan:
connect to "object:bounds-changed" signal on screen-reader.
when signal BoundsChanged is emitted from elm using elm_interface_atspi_accessible_bounds_changed_signal_emit, the signal should be received
and we should be able to access geometry.
Signed-off-by: Shilpa Singh <shilpa.singh@samsung.com>
Reviewers: cedric, lukasz.stanislawski, kimcinoo
Subscribers: govi, rajeshps, cedric, jpeg
Differential Revision: https://phab.enlightenment.org/D4100
Signed-off-by: Cedric Bail <cedric@osg.samsung.com>
Summary:
When call slide_go before label is resized, setting the sliding is a meaningless.
This patch is for reducing redundant operations.
Signed-off-by: Minkyu Kang <mk7.kang@samsung.com>
Signed-off-by: Deepjyoti Dutta <deepjyoti.d@samsung.com>
Test Plan: elementary_test -to "label slide"
Reviewers: cedric, Hermet
Subscribers: seoz, jpeg
Differential Revision: https://phab.enlightenment.org/D4089
Signed-off-by: Cedric Bail <cedric@osg.samsung.com>
Summary:
If dnd in the same window is activated, the focus goes away from the
ecore_wl2 window to the dnd window, after that focus.pointer is NULL.
After focus.pointer is NULL ev->win of all the events will be 0 which
breaks dnd-motions, drop and end.
With prev_pointer beeing the last focused window, we can simply set this
window as event window. After that dnd with jesus works perfectly.
@fix
Reviewers: devilhorns
Subscribers: cedric, jpeg
Differential Revision: https://phab.enlightenment.org/D4093
The cursor object is meant to be instantiated in the following manner:
eo_add(EFL_CANVAS_TEXT_CURSOR_CLASS, text_obj,
efl_canvas_text_cursor_text_object_set(eo_self, text_obj));
This can't be done directly on the Ui Text object, so it has to be with an
method call, sadly.
@feature
evas-images2 example was broken due to excessive clipping.
This is one more issue with the cached clip geometry.
By default proxy_src_clip is true. The doc (that I wrote)
mentions that it means both objects (image proxy & source)
share the same clipper. So, this does not mean that the proxy
is clipped to the geometry of the source (this can be useful
in some cases, when replacing an object with a proxy to apply
some kind of effect on it... but this could be rare).
Thanks Amitesh for the report.
@fix
Summary:
bin/edje/edje_cc_out.c: In function ‘data_write_images’:
bin/edje/edje_cc_out.c:1164:7: warning: ‘f’ may be used uninitialized in this function [-Wmaybe-uninitialized]
if (!f) return EINA_FALSE;
^
bin/edje/edje_cc_out.c:1154:15: note: ‘f’ was declared here
Eina_File *f;
^
Reviewers: cedric, jpeg
Reviewed By: jpeg
Subscribers: seoz, jpeg
Differential Revision: https://phab.enlightenment.org/D4101
While the shaders automatic regeneration is very useful when
working on shaders, it has been the source of too many
build breaks.
So I'm making this regeneration an opt-in.
You work on shaders?
Set the env var EFL_SHD_REGEN=1
This reverts commit 3c13ef14e3.
This introduced new build breaks, especially with in-tree builds.
In particular, DIR was not defined. See T3975.
I'll make the shaders regen an opt-in rather than on by default.
Summary:
Focus region must be located in entry object.
Therefore if it get out of entry,
it just returns last cursor position that can be shown.
@fix
Test Plan:
1. elementary_test "Entry on Page Scroll"
2. click 2nd btn and close popup
3. page should not be scrolled
Reviewers: raster, herdsman, id213sin, woohyun, tasn, cedric
Subscribers: jpeg
Differential Revision: https://phab.enlightenment.org/D4072
External icons were handled with a global variable, which reason
to exist seem quite weird. It seems to me it was used to retain
some states of the actual parameters to get them later without having
access to the real parameters.
I don't really get how this would have worked with more than one
icon. When I tried to animate an external icon, with two states,
there were leaks and memory corruption... Now both are gone.
@fix
This is a followup on ca55a920d9.
This fixes cnp/dnd for applications started outside of the weston
session. (There are still more problems with dnd and cnp)
This reverts commit 0959e87d99.
This broke the entry behavior that introduced enventor critical issue also.
It looks like a timing issue, but i didn't deep into further.
Please check a simple test case.
https://phab.enlightenment.org/F38614
Before/after applying your patch, the result is totally different.
before key and keyname could have been filled invalid, for example the
character "ö" from the german layout produced "Odiaeresis" instead of ö.
This commit also documents and refactors _ecore_wl2_input_key_translate.
I added the documentation for later use, it was hard to find out why
this was done.
The function also drops the input now if invalid control codes would
have been generated, this is equivalent to the behaviour in x. So
applications cannot get confused by codes which dont exist.
It also doesnt check if there is actual output by checking the highest
bytes anymore, it just tries to create a utf8 character. This fixes
arabic greek and korean keyboard input on wl.
If this breaks the input for some user, feel free to contact me.
This fixes T3073.
This fix is wrt the non-updation of the proxy object.
If a source of a proxy object has mapped objects among its children,
Rendering frame won't be correct while they were keeping changing.
The reason is, evas_object_smart_changed_get() couldn't figure those changes
out correctly because of cached-clip visibility.
Cached-clip of smart member can't be used for map surface updation,
because cached-clip includes the visiblity status out of the smart object.
So, loose the criteria to make it rendering smart members in map.
Most of these functions actually shouldn't be used by
standard applications. Some are hidden behind @protected.
flush_all() and reload() have not been implemented, on
purpose (save() should flush, and reload is automatic).
Instead of being a key "audio_mute" + another key "channel"
I've simply implemented a number of different keys:
audio_mute (= all)
audio_mute_all
audio_mute_effect
...
Elm_Focus_Autoscroll_Mode
Elm_Softcursor_Mode
Elm_Slider_Indicator_Visible_Mode (rename only)
Elm_Focus_Move_Policy (rename only)
This is for Efl.Config API.
This is to port elm_config to EO APIs.
The current implementation relies on the legacy API, by
simply forwarding calls.
The new API is simply efl_config_set("config_name", value)
where value is an Eina_Value (aka. generic_value).
The C interface proposes a few helpers like config_int_set,
config_double_set, etc...
Unfortunately at the moment, not all config options are
supported, as some rely on more complex types:
- lists
- color class and multiple arguments
- unset functions
- enums
Profiles are also not handled at this point.
@feature
So... adding the .x files to BUILT_SOURCES means they would
get deleted during clean. This was bad, but turned to be awful
when this made the check for writability fail.
See:
8a273158782b8912462e
This commit reverts:
0b69356f1b
Notes:
Please revert if this breaks the build for anyone.
I'm pretty sure the use of top_srcdir is not recommended the
way I've done it.
I hate autofoo.
Summary: Which will apply translate property twice once to shape and once to origin.
Reviewers: cedric, jpeg
Reviewed By: jpeg
Subscribers: cedric, jpeg
Differential Revision: https://phab.enlightenment.org/D4086
Summary:
4000x4000 min size limitation was added to prevent infinite
calculation loop. But, it can ruin calculation of some proper Edjes.
Normally, properly generated Edje runs the calculation loop below 10 times.
So, "255" could be proper limitation for calculation loop.
It also make better performance for broken Edje.
Test Plan: N/A
Reviewers: raster, Hermet, woohyun, cedric
Reviewed By: cedric
Subscribers: jpeg, z-wony, Blackmole
Differential Revision: https://phab.enlightenment.org/D4075
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
Summary:
- when index is set to horizontal by elm_index_horizontal_set()
there is no logic about omit calculation. However, when
omit is enabled/disabled by elm_index_omit_enabled_set(),
horizontal index is ignored by
if (sd->orientation == EFL_ORIENT_HORIZONTAL) return;
- This can cause inconsistency when order of calling those APIs
is changed. And also, that "horizontal index cannot be omitted" is not documented
and does not make sense.
- This commit enables omit for horizontal index, but further
change is needed because current logic of getting min_w for
dummy edje object is not accurate when text is set.
Reviewers: cedric, jpeg, Hermet, conr2d
Reviewed By: conr2d
Subscribers: eunue, conr2d, cedric, jpeg
Differential Revision: https://phab.enlightenment.org/D4052
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
Summary:
If elm_genlist_item_bring_in() is called immediately after appending
item, genlist will not scroll to the last one but stop in the middle.
This patch blocks genlist from scrolling to not calculated item.
Test Plan:
1. Download F31560 and uncompress the file
2. make
3. ./test
Reviewers: SanghyeonLee
Subscribers: cedric, DaveMDS, jpeg
Differential Revision: https://phab.enlightenment.org/D4023
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
Summary:
There is a issue about passing the focus to unfocusable scroller.
To prevent the issue, check the status of focusable object and child object
before passing the focus.
Test Plan:
{F38439}
I changed the test file.
The problem occured as below.
1. click button
2. show popup
3. click cancel button in popup
4. lost the focus
Reviewers: Hermet, raster, cedric
Reviewed By: cedric
Subscribers: minkyu, sju27, cedric, jpeg
Differential Revision: https://phab.enlightenment.org/D4056
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
Summary:
Including camera and light to calculation aabb can lead to confusing in detemination
bounding of the whole scene (root node).
@fix
Reviewers: cedric, Hermet, raster
Subscribers: jpeg
Differential Revision: https://phab.enlightenment.org/D4060
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
In commit 3340745c65 the callback array got
removed letting all callback functions around as unused. Somehow the setup
of all these callbacks have gone missing over various refactors.
It supports the same syntax as the config value, but
overrides it. This provides a more convenient way to select
the acceleration for a single window.
Its get() value should be what was effective when the window was
created. So it can depend on the config or a previous call
to set().
@feature
Summary:
When user set text to entry, "changed" smart callback is invoked 2 times.
Because entry set to ""(empty string) and append text internally.
But, in a recent, set flag is added for _entry_text_append().
So, empty string set is does not needed before appending.
@fix
Test Plan:
- elm_entry_entry_set(entry, "text") : 2 times invoked (bug)
- elm_object_part_text_set(entry, NULL, "text") : 2 times invoked (bug)
- elm_object_part_text_set(entry, "elm.text", "text") : 1 times invoked
Reviewers: herdsman, tasn, id213sin, woohyun
Reviewed By: woohyun
Subscribers: cedric, jpeg
Differential Revision: https://phab.enlightenment.org/D4074