Commit Graph

54828 Commits

Author SHA1 Message Date
Derek Foreman cb57ea7587 ecore_evas_drm: Tick from the animator registration callback
If we're not ticking already when a new animator is started then we have
to wait for a vblank to get a tick.  That's not great.

If we can, use the time of the last vblank to generate an immediate tick
to avoid this latency.
2017-08-11 17:11:12 -05:00
Derek Foreman e893d7de7d ecore_evas_drm: Let ecore_drm2 track pending page flips
Since the engines can call the flip functions, we need to protect the
ticker from missing those flips.  Thus, we let ecore_drm2, which obviously
sees all flips, track them.
2017-08-11 17:11:12 -05:00
Derek Foreman eec565cc0f ecore_drm2: Add query for pending pageflip
We've been tracking this in ecore_evas, but ecore_evas isn't the only
caller, and it doesn't know about flips initiated by the evas engines.
2017-08-11 17:11:12 -05:00
Al Poole 8dbb8944b3 makefile_evas: fix includes when openjpeg 1.5 and 2.0 are installed.
Reviewers: vtorri

Subscribers: ManMower, cedric, jpeg

Differential Revision: https://phab.enlightenment.org/D5084
2017-08-11 13:10:11 -05:00
Cedric Bail 207cab086f evas: we should be able to access this data during an object being destroyed.
So, this is maybe not the best fix. The question is should we be able to
get efl_data_scope_safe_get return the object private data, when we are
currently executing the object EFL_EVENT_DEL callbacks. Right now we don't
and this lead to bug where we wouldn't have been able to destroy a callback
and get that callback triggered later on destroyed data (I had a crash in
terminology). I have switched back to the not _safe_ version which doesn't
enforce this, but that might not be the only place that need a fix.
2017-08-11 10:18:07 -07:00
Vincent Torri c358ac0222 evas tests - add Jpeg2000 tests
add tests for loading jp2k files correctly and the images
2017-08-11 17:53:28 +09:00
Marcel Hollerbach 190cce71f5 efl_ui_focus_manager_calc: fix the class check of the redirect
this came up with a huge load of errors, i havent noticed them last
night. Sorry.
2017-08-11 10:32:59 +02:00
Amitesh Singh bac7481553 Efl.Ui.Panes: rename min_split_ratio to split_ratio_min 2017-08-11 14:32:13 +09:00
Amitesh Singh 479b189c9a Efl.Ui.Panes: rename allow_user_size_hints to hint_min_allow
thanks to raster for suggestion.
2017-08-11 14:28:51 +09:00
Thiep Ha 92c26078c7 common3d: correct converting number to float 2017-08-11 14:20:10 +09:00
Jeonghyun Yun c208e1b8bf elm_scroller: focus_direction should not be called when scroller focusable and no focusable child
Summary:
when scroller can have focus and scroller's child can't have focus,
there is a problem that scroller is always selected to next focus object.
In this case, it should not enter into _elm_scroller_elm_widget_focus_direction()

Reviewers: woohyun

Subscribers: cedric, jpeg

Differential Revision: https://phab.enlightenment.org/D5085
2017-08-11 13:55:22 +09:00
Sungtaek Hong 5c0fc3f2f3 Cast to double before division during region/coord calculation.
Summary:
int var devided by int is cast to double after devision.
This might cause wrong calculation result.

Reviewers: cedric, jpeg, Jaehyun_Cho

Reviewed By: Jaehyun_Cho

Differential Revision: https://phab.enlightenment.org/D5079
2017-08-11 13:50:56 +09:00
Jean-Philippe Andre 39c791dcbc win: Prevent crash inside ecore evas callbacks
After any complex call on the window, a foreign evas/efl callback may be
triggered that could delete the window object. This leads to crashes in
queued jobs or even immediately after said callback (right now EO
prevents immediate memory free using eina_freeq or eina_trash so the
effects aren't immediate).

Funnily enough, this was a known issue according to some comments, but
no one bothered fixing it...

In this particular instance, a focus_out job was crashing while trying
to access now-invalid sd data.

I believe some uses of ELM_WIN_DATA_GET() may still be slightly unsafe
but most look like they should be the result of an EO call on the object
(eg. a call to efl_event_callback_call), which ensures the object is
alive.

Fixes T5869
2017-08-11 11:23:21 +09:00
Jean-Philippe Andre e2f8ba7ad9 eo: Check refs in efl_data_scope_safe_get
This makes sure the object is actually still alive and kicking before
returning any data. Otherwise the "safe" word is a bit of an abuse...

Ref T5869

@fix
2017-08-11 11:22:11 +09:00
Amitesh Singh 521e2ab83c Efl.Ui.Panes: don't use edje restrict cal to calculate min size 2017-08-11 09:22:57 +09:00
Marcel Hollerbach df3d0e3d7b efl_ui_focus_manager: make focus a property 2017-08-10 20:56:04 +02:00
Marcel Hollerbach d4cd85aa55 efl_ui_focus_manager: split this of tinto a class and a interface
it turns out to be very handy to have a interface for the moving and
border elements, that is unconnected to the way of how widgets are
registering themself.

This for example enables us to get a simple focus manager that just
redirects the call into a internal 2 dimensional data struct
2017-08-10 20:55:50 +02:00
Felipe Magno de Almeida 348a7084af eolian-cxx: Add workaround for clang removing const from parameters 2017-08-10 15:52:25 -03:00
Derek Foreman 49bdba8505 efl_wl: Update to latest dmabuf protocol version
Weston's dmabuf code continues to be modular enough that we can pull
it in with little change.

This updates us to version 3 of the protocol.

Currently only contains stubs for format queries.
2017-08-10 11:36:38 -05:00
Daniel Kolesa 9738a6e3d2 eolian cxx: fix the remaining type errors 2017-08-10 14:10:52 +02:00
Daniel Kolesa 22e27ab045 eolian cxx: fix build after eolian type api change 2017-08-10 13:38:38 +02:00
Daniel Kolesa 436815ca00 ecore, ecore_con: fix const on Eina.Slice
Fixes TODOs from dd5cdda64b
after fixing T5024.
2017-08-10 12:53:14 +02:00
Daniel Kolesa 4733b206dd eolian: fix tests 2017-08-10 12:47:56 +02:00
Daniel Kolesa 706de57b9f eolian: implement proper return type serialization
This accounts for const so that you can't generate functions
that return const values, as that makes no sense.

@fix T5024
2017-08-10 12:41:03 +02:00
Daniel Kolesa e38418dd9d elua: update eolian bindings with c type serialization change 2017-08-10 12:19:59 +02:00
Daniel Kolesa e288f5160b eolian: change C type serialization API to account for returns
This will allow proper handling of const.
2017-08-10 12:12:38 +02:00
Amitesh Singh be53198f95 elm test: rename efl.ui.panes test case 2017-08-10 16:48:46 +09:00
Amitesh Singh d5c80d61e7 Efl.Ui.Image: use internal func to detect legacy usage 2017-08-10 16:43:55 +09:00
Amitesh Singh c7acb8c01c Efl.Ui.Panes: use internal func to detect legacy usage
Ref T5359
2017-08-10 16:30:24 +09:00
Amitesh Singh 26818ab66c Efl.Ui.Panes: set dir to EFL_UI_DIR_VERTICAL 2017-08-10 16:24:12 +09:00
Amitesh Singh 9abd644566 Efl.Ui.Panes: switch to Efl.Ui.Dir (EO)
Ref T5870
2017-08-10 15:59:00 +09:00
Amitesh Singh 599bb616ec Efl.Ui.Panes: rename left/right_size_set to split_ratio
This name makes more sense and one api does the job of two.
We never needed two apis at first place though.
Mark left/right_size_set as legacy apis too.
This patch also implements min_split_ratio on parts.

@feature

refer T5359
2017-08-10 15:15:50 +09:00
Amitesh Singh aaaf1a282a Efl.Ui.Panes: implement allow_user_size_hints on parts
This allows user to set size hints to be respected and
request panes to ignore combined min size.
If this flag is set, the minimum size set by efl_gfx_size_hint_min_set()
is respected forcefully.

@feature

refer T5359
2017-08-10 15:15:50 +09:00
Amitesh Singh 0ca98280d4 Efl.Ui.Panes: allow panes to respect the min size of its content
refer T5359
2017-08-10 15:15:50 +09:00
Jean-Philippe Andre f1a6497459 ctxpopup: Remove use of Orientation API (EO)
ctxpopup belongs to legacy, some work is ongoing to provide a cleaner EO
based API for popups, etc... See T5326

Revert "ctxpopup: implement Efl.Orientation interface functions"

This reverts commit 736fb9d498.

Ref T5870
2017-08-10 14:58:25 +09:00
JEONGHYUN YUN 8546ff727f elm_ctxpopup: Implemented elm_widget_item_part_content_unset for elm_ctxpopup_item
Summary:
ctxpopup item have elm_list item internally.
item_part_content_unset need to pass on content part to elm_list item.

Test Plan:
1. launch elementary_test - ctxpopup
2. click Ctxpopup with part text & content function
3. press "Icon Set" and press "Icon Unset"

Reviewers: jpeg, woohyun, herb, Blackmole

Subscribers: cedric, jpeg

Differential Revision: https://phab.enlightenment.org/D5018
2017-08-10 14:42:08 +09:00
JEONGHYUN YUN bf0b3e0b75 elm_ctxpopup: Add APIs to insert before/after item to a ctxpopup object.
Summary:
There were only 2 APIs (item_append, item_prepend) for ctxpopup item add.
Added more item add APIs (item_insert_before and item_insert_after) for convenience.

Test Plan:
1. launch elementary_test - ctxpopup
2. click Ctxpopup with callback function sample
3. check whether there are 3 items on ctxpopup

Reviewers: woohyun, Jaehyun, jpeg, cedric

Reviewed By: jpeg

Subscribers: cedric, jpeg

Differential Revision: https://phab.enlightenment.org/D5004
2017-08-10 14:42:08 +09:00
arosis 080c926588 elm_ctxpopup: Implemented elm_widget_item_del_pre for elm_ctxpopup_item
Summary:
ctxpopup item have elm_list item internally.
But when elm_ctxpopup item was deleted, elm_list item was not deleted.
elm_list item in elm_ctxpopup item should be deleted in del_pre
when elm_ctxpopup item is deleted by elm_wdg_item_del()

Test Plan:
1. launch elementary_test - ctxpopup
2. click Ctxpopup with label only
3. "Never Show" item should not shown in ctxpopup

Reviewers: jpeg, cedric, woohyun

Subscribers: cedric, jpeg

Differential Revision: https://phab.enlightenment.org/D5044
2017-08-10 14:42:08 +09:00
Jean-Philippe Andre a28b89304e toolbar: Switch to Efl.Ui.Dir (EO)
Ref T5870
2017-08-10 14:42:08 +09:00
Jean-Philippe Andre 63f599a47e separator: Remove orientation API use (EO)
Revert "Separtor: use orientation APIs"

This reverts commit f043c3be61.
Separator is not part of EO API so no need to use Orientation or
Direction API here.

Ref T5870
2017-08-10 14:42:08 +09:00
Jean-Philippe Andre 3c390b3969 index: Switch to Efl.Ui.Dir (EO)
Ref T5870
2017-08-10 14:42:08 +09:00
Jean-Philippe Andre 5edb69f4ae slider: Switch to Efl.Ui.Dir (EO)
Ref T5870
2017-08-10 14:42:08 +09:00
Jean-Philippe Andre c87f6018f9 progressbar: Switch to Efl.Ui.Dir (EO)
Ref T5870
2017-08-10 14:42:08 +09:00
Jean-Philippe Andre 6372dcdc2d grid: Switch to Efl.Ui.Dir (EO)
Ref T5870
2017-08-10 14:42:08 +09:00
Jean-Philippe Andre 43c07afbf1 flip: Switch to Efl.Ui.Dir (EO)
Ref T5870
2017-08-10 14:42:08 +09:00
Jean-Philippe Andre b1488b98de efl.ui.box: Switch to Efl.Ui.Dir (EO)
This makes the default box vertical, just like in legacy.
The flow box is horizontal by default.

Ref T5870
2017-08-10 14:42:08 +09:00
Jean-Philippe Andre d4b4ee867b evas: Modify wheel events direction to bool (EO)
The orientation was overkill here. We only want a bool.

Ref T5870
2017-08-10 14:42:08 +09:00
Jean-Philippe Andre b2dc2274e8 elm_test: Fix some test cases to use legacy
Legacy test cases should keep using the legacy API, not the EO API.

Ref T5870
2017-08-10 14:42:08 +09:00
Jean-Philippe Andre 4270cb032c efl: Introduce Efl.Ui.Direction interface
This introduces, but doesn't make any use of, two types:
 - EO interface Efl.Ui.Direction
 - Enum Efl.Ui.Dir

This is to clean up inconsistencies with Efl.Orient values when used
with widgets.

Ref T5870

@feature
2017-08-10 14:42:08 +09:00
Amitesh Singh 46d4df4962 Efl.Ui.Panes: add first and second as content aliases
'first' and 'second' are more meaningful than
'left'/'right' & 'up'/'down' names.

refer T5359
2017-08-10 14:23:58 +09:00