Commit Graph

12606 Commits

Author SHA1 Message Date
Cedric BAIL 19c65cdc8d ecore_evas: make ecore_evas buffer asynchronous. 2017-04-28 16:11:23 -07:00
Cedric BAIL 849a182018 evas: only call output function on initialized output. 2017-04-28 16:11:23 -07:00
Cedric BAIL 23dddfffac ecore_evas: do timeout reset on RENDER_POST for future asynchronous rendering. 2017-04-28 16:11:23 -07:00
Cedric BAIL 1bd82596a6 ecore_evas: properly warn when we are already rendering. 2017-04-28 16:11:23 -07:00
Cedric BAIL da8efae8c0 ecore_evas: refactor ecore_evas buffer render logic.
First step into introducing async rendering for ecore_evas buffer.
2017-04-28 16:11:23 -07:00
Andy Williams e99bfd7e7d elm_code: Fix selection,start signal
@fix
2017-04-28 21:18:35 +01:00
Al Poole 7ee68cb4e2 eio: improve Kevent (FreeBSD et. al)
Summary: Adds initial support for file/directory creation and deletion detection.

Reviewers: raster, cedric

Reviewed By: cedric

Subscribers: raster, jpeg

Differential Revision: https://phab.enlightenment.org/D4811

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2017-04-28 10:17:17 -07:00
Carsten Haitzler aa92cddb8b evas font code - build on older freetypes without new definitions
use the actual #35 as:

in freetype and it cant change without breaking abi...

@fix
2017-04-28 18:41:39 +09:00
Carsten Haitzler b2ca7a96dc thread fence code - move elsewhere in file to avoid conflicts 2017-04-28 18:41:39 +09:00
Derek Foreman 83adbadc89 evas: Add a function to block for render thread completion
This is needed by dmabuf engine fallback when it realizes it locally
allocated a buffer, has been rendering to it, but the compositor can't use
it.

So the engine copies its buffer contents into a new wl_shm buffer and
continues from there - however we need to make sure the async renderer
has finished first, so we don't copy a partial buffer.

This allows us to block for all previously submit actions in the render
queue to complete.
2017-04-26 13:47:46 -05:00
Bryce Harrington 70cbb29477 ecore_evas: Add doxygen for ecore_evas_gl_x11_options_new()
Reviewers: devilhorns

Subscribers: cedric, jpeg

Differential Revision: https://phab.enlightenment.org/D4828
2017-04-26 13:34:52 -04:00
Daniel Kolesa 6af8527117 eo: move all the key_ properties to C 2017-04-26 16:19:06 +02:00
Daniel Kolesa 20d1cf94c3 eo: move wref_add/wref_del to C 2017-04-26 16:19:06 +02:00
Daniel Kolesa 67c7eb3134 eo: move future_link to C 2017-04-26 16:19:06 +02:00
Stefan Schmidt f406bae8b7 ecore: efl_promise: remove superfluous NULL check
f is already checked against NULL in the eina array macro. No need to check
again.

CID: 1362730
2017-04-26 15:12:53 +02:00
Stefan Schmidt c56bb560d0 eldbus: check return of dbus_signature_iter_next()
CID: 1341856
2017-04-26 14:49:37 +02:00
Stefan Schmidt 24d6d83cf8 evas_filter: initialize was_empty to false to have a defined state
It is used further below in an if clause but might not have been
initialized at that point.

CID: 1374276
2017-04-26 14:27:30 +02:00
Jaeun Choi afbe8ade6b evas: fix logic in evas_events.c
Summary:
when collecting the objects under a mouse pointer,
evas uses the geometry of an object to decide
whether the mouse pointer is inside the area of the object,
which is inappropriate for a mapped object.
so mapped objects don't receive mouse events when they should.
this patch fixes the issue.

Test Plan: A sample code will be added as comments

Reviewers: jpeg, raster

Subscribers: cedric, eunue

Differential Revision: https://phab.enlightenment.org/D4826
2017-04-26 18:42:49 +09:00
Vyacheslav Reutskiy f9702fe1f9 elm_fileselector: made fileselector styling more flexible
Previously the progressbar in fileselector use hardcoded style name
"wheel", that made unpossible to create different style for
fileselector. This commit made it possible.

@fix
2017-04-26 11:16:01 +03:00
Vyacheslav Reutskiy a17a91b22f elm_cursor: add style name for sub cursor
Missing style name for sub cursor call the next error output:

ERR<24193>:elementary lib/elementary/els_cursor.c:734 elm_cursor_theme()
Could not apply the theme to the cursor style=(null)

Also this error call extra recalc for cursor hot spots.

Fixes T5408
@fix
2017-04-26 09:26:19 +03:00
Vincent Torri 540de0e254 Ecore_Evas: use window states and event property to fix ecore_evas_fullscreen_set()
This implies that elm_win_fullscreen_set() is also fixed

@fix
2017-04-26 15:07:38 +09:00
Vincent Torri 3f389c6e1e Ecore_Win32: add Property event API
@feature
2017-04-26 15:07:36 +09:00
Vincent Torri fd9ec9d1af Ecore_Win32: add ecore_win32_window_state_get() API to retrieve a window states
@feature
2017-04-26 15:07:34 +09:00
Vincent Torri 19797c9615 Ecore_Win32: update fullscreen state 2017-04-26 15:07:32 +09:00
Vincent Torri fdaa4f2418 Ecore_Win32: follow a bit more X code 2017-04-26 15:07:31 +09:00
Vincent Torri f497cf7bb5 Ecore_Win32: fix information message 2017-04-26 15:07:26 +09:00
Vincent Torri ea4765051e Ecore_Win32: fix spelling 2017-04-26 15:07:18 +09:00
Bryce Harrington 51ac5ba137 efl_ui_focus_manager: check for null return from node_get
Summary:
node_get() can return NULL sometimes.  Add a missing check, and add dox
for the function to document the error return.

>>>     CID 1374434:  Null pointer dereferences  (NULL_RETURNS)
>>>     Assigning: "node" = null return value from "node_get".

@fix CID1374434

Subscribers: cedric, jpeg

Differential Revision: https://phab.enlightenment.org/D4824

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2017-04-25 16:29:46 -07:00
Jeeyong Um e105646041 edje_cc: introduce "Anchors" - easy way to set parts relationship
Test Plan: compile src/examples/edc-anchors.c and run

Reviewers: zmike, raster, cedric, jpeg

Reviewed By: raster, jpeg

Subscribers: raster, barbieri, zmike, SanghyeonLee, taxi2se, Jaehyun_Cho

Differential Revision: https://phab.enlightenment.org/D4775

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2017-04-25 16:25:15 -07:00
Cedric BAIL 7f5ec0c8ea evas: do not rely on Evas canvas for Evas Ector engine backend. 2017-04-25 16:16:30 -07:00
Marcel Hollerbach b077058e44 elm_box/table: set the order directly when a container is registered
The following situation:
 - A Box in a naviframe, with n children.
 - All added children register to the focus graph with the box as parent,
   order gets set correctly.
 - Naviframe hides this item, so box property tree unfocusable gets set
   to true, it gets unregistered from the focus graph, even every single
   child gets unregistered.
 - The item gets shown - every child and the table are getting
   registered again.
 - Order is not set again, since the box does not get changed
 - Order of the children is mixed up.

This should fix this case since the order is flushed every time the box
gets registered.
2017-04-25 21:38:54 +02:00
Marcel Hollerbach 69877a91af efl_ui_focus_manager: safe fields from the node
There could be the case that the item gets freed due to some handling in
a event handler of the event EFL_UI_FOCUS_MANAGER_EVENT_FOCUSED.
So the code now sets the node to NULL after the event is called and
saves the fields that are rfom use later.
2017-04-25 21:38:54 +02:00
Gustavo Sverzut Barbieri 6dd3594735 efl.net: rename Ip.Address to Ip_Address.
It's unlikely that we'll have other stuff under Ip namespace, also not
that likely to have other than Ip Addresses (to invert it to
Address.Ip), thus make a toplevel entry Ip_Address as suggested by
DaveMDS.
2017-04-25 11:18:00 -03:00
Vyacheslav Reutskiy d54e130b70 elm_entry: reset 'icon' and 'end' swallow when style changed
Fixes T5397
2017-04-25 16:35:33 +03:00
Jean-Philippe Andre e274512c81 efl/gfx: Remove unused function
This fixes a warning with -Wunused-function
2017-04-25 21:22:32 +09:00
Jean-Philippe Andre ac121a628d evas: Fix crash in idle_flush
As reported by raster on the ML. The pointer passed to the
engines is not an engine output but an Efl_Canvas_Output.
2017-04-25 21:19:42 +09:00
Stefan Schmidt 672677a0e3 docs: efl_ui_focus_manager: document last missing items in this new file 2017-04-25 11:32:36 +02:00
Stefan Schmidt 764d8b1375 docs: elm_widget: document new foc us_register method 2017-04-25 11:32:03 +02:00
Stefan Schmidt 9ef12061e4 docs: efl_ui_focus_manager: document focus relations struct members 2017-04-25 11:13:12 +02:00
Jean-Philippe Andre b25d464f9f evas render: Fix issue with map render
Test case:
  elementary_test -to "Gesture Layer"

Just move the pictures around (eg. to the bottom). They could
disappear entirely.

This is because the geometry used was based on the smart
object "bounding box" rather than the mapped output.

@fix
2017-04-25 14:37:00 +09:00
Cedric BAIL 55e1b3f205 evas: remove engine.data.output.
This is the first step toward handling multi output. This patch
remove engine.data.output from Evas structure and use an Eina_List
for it instead. It also start moving code around to fetch an output
or an engine context (which are the same at the moment, but will be
split in a later patch).
2017-04-24 15:10:48 -07:00
Cedric BAIL bc43eeba00 evas: start setting up output independently of the engine. 2017-04-24 15:10:48 -07:00
Cedric BAIL 76c6830b29 evas: evas_render actually need to access that structure. 2017-04-24 15:10:48 -07:00
Bryce Harrington 4b653b7a31 evas: Fix grammar of which vs. that
Subscribers: cedric, jpeg

Differential Revision: https://phab.enlightenment.org/D4809
2017-04-24 08:28:31 -04:00
Bryce Harrington 9652703e7a evas: Fix grammar for which vs. that
Subscribers: cedric, jpeg

Differential Revision: https://phab.enlightenment.org/D4808
2017-04-24 08:27:50 -04:00
Bryce Harrington a7bac868bc ecore_evas: Fix grammar for at/to/for/on/which/etc.
Summary:
Fixes some grammar confusion for in that/this, that/which, to/at,
to/for, at/by, etc.

Subscribers: cedric, jpeg

Differential Revision: https://phab.enlightenment.org/D4806
2017-04-24 08:26:18 -04:00
Bryce Harrington a2e55b5c39 Fix spelling of 'alpha channel'
Subscribers: cedric, jpeg

Differential Revision: https://phab.enlightenment.org/D4817
2017-04-24 08:25:22 -04:00
Youngbok Shin caed13d3fc evas: round glyph's advance before adding it to pen_x
Summary:
Rounding the sum of glyph's advance could cause inconsistency of
each glyph's positions. When Evas enables Harfbuzz library,
Each glyph's position has to be handled by only nearby glyphs.
But, currently, totally unrelated glyph's advacne could change
other glyphs positions.

ex) 1. "connect."
    2. "Tap here to connect."

You can see different gap between "c" and "o" of word "connect".
It should be same even if there was a different text before the word "connect".
@fix

Test Plan: N/A

Reviewers: raster, herdsman, jpeg

Reviewed By: raster

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D4782
2017-04-24 13:32:36 +03:00
Carsten Haitzler a6dc7da029 efreetd - make ability to not connect to efreetd non-critical
it's an error we can survive, so make it that level
2017-04-23 21:17:40 +09:00
Shinwoo Kim 3041b80b8b elementary: fix typo on comment
change "an widget" to "a widget".
2017-04-23 17:02:14 +09:00
Marcel Hollerbach 23e7155840 efl_ui_focus_manager: change the new order that gets set
Lets say there is a box with the following ordered children:
|Button|Box|Button|Box|Button| the two boxes do not have any children
at the time of the setup. The logic of the order_update will only order
the children like that:
|Button|Button|Button| Which is correct by that time, the two boxes dont
have any children.
Now the two boxes are also getting children, the order will not
selfupdate or anything so the logical chain would be:
|Button|Button|Button|Box|Box|. Which is wrong. To solve that the
manager keeps the order that got set last, and reapplies the order again
if something gets added to the parent where the order was set.

This should fix strange next / prev operations in ephoto.
2017-04-22 18:30:08 +02:00
Carsten Haitzler 29feb60d50 ecore - fix epoll ifdefs and case handling 2017-04-22 12:22:17 +09:00
Derek Foreman 05e8d76021 ecore_drm2: Fix ticking when atomic mode set is enabled
Putting the PAGE_FLIP_EVENT flag on the set rotation request resulted
in an extra event on the drm device fd that screwed up page flipping
badly from that point on.

@fix
2017-04-21 16:39:19 -05:00
Mike Blumenkrantz ab67217434 eina_tiler: use int size matching Eina_Rectangle internally to avoid overflow
since this code's creation it seems that the internal int size was set to use
short in order to micro-optimize memory usage, while the api function parameters
used Eina_Rectangle which had a larger int size. when initializing the internal
rect struct, this would lead to overflows which resulted in broken tilers which
returned iterators with no valid rects after having valid rects added

test case: run weston-subsurfaces

@fix
2017-04-21 16:16:12 -04:00
Mike Blumenkrantz ea0a3d304a elm_win: do not require mouse buttons to be pressed to activate csd move/resize
the api function requires this, but the unified handler for api+edje handler does
not, since edje singals are deferred and the button which triggered the move
may be released before the signal is processed

ref ea7bbfe47d
@fix
2017-04-21 16:16:12 -04:00
Mike Blumenkrantz eb9a5165f4 ecore-wl2: move ecore_wl2_display_inputs_get() into ecore_wl2_display.c 2017-04-21 16:16:12 -04:00
Cedric Bail 8187e34741 eina: some architecture don't like prefetch on NULL apparently. 2017-04-21 11:29:38 -07:00
Daniel Kolesa 3fb4bc336e eo: hide dbg_info from eo files
Continues b780cf2af2.
2017-04-21 17:59:32 +02:00
Daniel Kolesa da43c63ce1 eo: move event related structures and callback to C
We don't need to keep this in eo files anymore because the APIs
using them are now fully in C. This also allows removal of the
event callback builtin from Eolian.
2017-04-21 15:48:31 +02:00
Carsten Haitzler 24b77d8ed9 eio monitor - remove unused vars and fix warning 2017-04-21 16:39:06 +09:00
Carsten Haitzler f077fb1e0d eina mmap - fix warnings thanks to missing include
add include for eina_file.h
2017-04-21 16:38:40 +09:00
Carsten Haitzler b26276a7e9 eina debug - fix include of eina_file.h that was missing
fixes new warnings
2017-04-21 16:38:18 +09:00
Carsten Haitzler c6eacd6f27 efl_io_closer - fix warning about error print
lazy removal of fcntl without fixing up error print... fixed.
2017-04-21 16:23:16 +09:00
Carsten Haitzler 7282716820 ecore_pipe - fix warning of sign vs unsigned comparison 2017-04-21 16:19:43 +09:00
Carsten Haitzler a6253f44a9 elm widget - fix weak reference messup that causes segv's
welm widget weak refered the logical parent slot but never unreffed
the weak ref - ever. this should fix that. in fact it does. one crash
less with:

elementary_test -to "icon standard"

@fix
2017-04-21 16:14:06 +09:00
Ivan Furs 9d5a1d098c evas_async_events: Integrated Ecore_Pipe in evas_async_events
Summary: Integrated Ecore_Pipe in evas_async_events

Reviewers: vtorri, artem.popov, cedric, jpeg, raster, #eflete

Reviewed By: cedric

Subscribers: cedric, jpeg

Differential Revision: https://phab.enlightenment.org/D4622
2017-04-21 16:14:06 +09:00
Jean-Philippe Andre 966df3130a focus: Review EO file and adjust doc a bit
I was reading it to understand this new focus system. So I also
made some cosmetic changes here and there in the file: wrap, fix
a few typos, add missing docs. I'm not pretending that the doc
is perfect now. This really was just a personal review.
2017-04-21 15:11:51 +09:00
Jean-Philippe Andre 57a960d26b focus: Fix shadow variable warning 2017-04-21 14:58:02 +09:00
Jean-Philippe Andre a33815eeef ecore wl2: Fix compilation 2017-04-21 10:08:52 +09:00
Derek Foreman f45b63edbd ecore_wl2: Don't crash when drag and drop is unsupported by compositor
Check for presence of data device manager so we don't crash if it's not
there.
2017-04-20 14:41:54 -05:00
Daniel Kolesa b780cf2af2 eo: move unbindable event APIs to C
In a few classes, this requires some manual expansion. This should
not break anything but it's also fairly ugly; a better solution
would be appreciated, for now we do this.

Similar changes will be done to a few other Efl.Object APIs as
well at later point.
2017-04-20 18:24:38 +02:00
Daniel Kolesa da982535f6 eo: move Efl_Event definition back to C
It's not used anywhere in eo files and has a void pointer.
2017-04-20 16:15:22 +02:00
Marcel Hollerbach 295940c0bc efl_ui_focus_manager: select the widget with the smallest distance
this improves the correctness-feeling when moving focus through a
elementary application.
2017-04-20 14:38:59 +02:00
Marcel Hollerbach 4450ff374f elm_interface_scrollable: add focus override
it seems this override got lost somewhere
2017-04-20 14:38:59 +02:00
Marcel Hollerbach c867ab64e0 elm_list: migrate to new focus system 2017-04-20 14:38:59 +02:00
Marcel Hollerbach 20a78af94f fix .eo file breaks 2017-04-20 14:38:59 +02:00
Marcel Hollerbach 800390bcb0 focus_tests: fix the test suite
this brings back the working testsuite and fixes a bug in the
submanager.
2017-04-20 14:38:59 +02:00
Marcel Hollerbach 3dfc546a2f efl_ui_focus_manager: the order contains nodes not focusables 2017-04-20 14:38:59 +02:00
Marcel Hollerbach fb6c37f16f elementary: introduce helper functions for the redirects 2017-04-20 14:38:59 +02:00
Marcel Hollerbach 74b4327746 update according to cedrics review comments 2017-04-20 14:38:58 +02:00
Marcel Hollerbach b056857093 focus: update object definition
Summary: This introduces a new focus system and the migration to this system.

Test Plan: run elementary_test

Reviewers: cedric

Differential Revision: https://phab.enlightenment.org/D4511
2017-04-20 14:38:58 +02:00
Marcel Hollerbach 716ec352d1 elm_widget: add unfocusable to debug informations 2017-04-20 14:38:58 +02:00
Marcel Hollerbach 5c48607460 efl_ui_focus_manager: make setting a order easier 2017-04-20 14:38:58 +02:00
Marcel Hollerbach eb88bbe63d elm_box,grid,table: take the resize object as evas object 2017-04-20 14:38:58 +02:00
Marcel Hollerbach 8c8570ba6a efl_ui_focus_manager: if there is no normal item then just do nothing 2017-04-20 14:38:58 +02:00
Marcel Hollerbach bd5bf5e719 efl_ui_flip: migrate to new focus system 2017-04-20 14:38:58 +02:00
Marcel Hollerbach 996a502495 elm_grid: migrate to new focus system 2017-04-20 14:38:58 +02:00
Marcel Hollerbach 23fd22836d efl_ui_focus_manager: there is the case that n can be NULL 2017-04-20 14:38:58 +02:00
Marcel Hollerbach a3c44fcf68 efl_ui_focus_manager_sub: do not update if parent is NULL
is is actually a dangerous case, and should NEVER happen
2017-04-20 14:38:58 +02:00
Marcel Hollerbach d481dd58ec efl_ui_frame: migrate to new focus system
when collapsed the subtree is unfocusable
2017-04-20 14:38:58 +02:00
Marcel Hollerbach 7c35606d06 elm_table: migrate to new focus system 2017-04-20 14:38:58 +02:00
Marcel Hollerbach 7994fa3f68 elm_interface_scrollable: fix bringing in of items 2017-04-20 14:38:58 +02:00
Marcel Hollerbach 073c72acce elm_scroller: migrate to new focus system
the scrollable interface is doing most of the work, if we know that
something is already focused we just leave the action_move.
2017-04-20 14:38:58 +02:00
Marcel Hollerbach 9b64e7316a elm_widget: evalulate show flag and call focus on super 2017-04-20 14:38:58 +02:00
Marcel Hollerbach dfceeb78c3 elm_menu: mirgrate to the new focus
this just means the menu is registering a new manager, it is not really
doing anything, its just there so the children which are searching for
one are finiding one. Elm menu has not handled anything with keys in the
past and will later learn to do so.
2017-04-20 14:38:58 +02:00
Marcel Hollerbach 1ecf648dd8 elm_hover: migrate to new focus system
the hover will set itself as redirect once it is visible. And unset
itself once it is hidden.
2017-04-20 14:38:58 +02:00
Marcel Hollerbach ef8aed0385 efl_ui_win: migrate to the new focus system
this means, focus requests are redirected to the new focus manager.
2017-04-20 14:38:58 +02:00
Marcel Hollerbach 44e40c7c5e elm_interface_scrollable: use the submanager to register the children
this adds the registered elements at the broder of the scrollable to the
parents manager. scroller and gengrid works for registering
2017-04-20 14:38:58 +02:00
Marcel Hollerbach c203087d3b elm_box: set the correct order 2017-04-20 14:38:58 +02:00
Marcel Hollerbach f09dd5e3df efl_ui_focus_manager: allow settings of subsets
those subsets will just be prepended.
2017-04-20 14:38:58 +02:00
Marcel Hollerbach 5b3fd27931 efl_ui_focus_manager: handle logical end correctly. 2017-04-20 14:38:58 +02:00
Marcel Hollerbach 6245e5a579 efl_ui_focus_manager: fix error message 2017-04-20 14:38:58 +02:00
Marcel Hollerbach 13982b2bd9 efl_ui_focus_manager: return the new candidate 2017-04-20 14:38:57 +02:00
Marcel Hollerbach a5c7006579 efl_ui_focus_manager: handle redirect objects in logical better 2017-04-20 14:38:57 +02:00
Marcel Hollerbach 200ad8ab50 efl_ui_focus_manager: be more secure 2017-04-20 14:38:57 +02:00
Marcel Hollerbach 924033e88a efl_ui_focus_manager: fix sub manager logical handling 2017-04-20 14:38:57 +02:00
Marcel Hollerbach a4616bb6fe efl_ui_focus_manager: better error messages 2017-04-20 14:38:57 +02:00
Marcel Hollerbach 09824ec450 efl_ui_focus_manager_sub: focus the item in sub and main manager 2017-04-20 14:38:57 +02:00
Marcel Hollerbach d4bd5c9961 efl_ui_focus_manager: add log domain for focus movements 2017-04-20 14:38:57 +02:00
Marcel Hollerbach 89cc2ca06a efl_ui_focus_manager: restructure node struct
a redirect can happen for logical OR normal
2017-04-20 14:38:57 +02:00
Marcel Hollerbach 0c1c2711f3 efl_ui_focus_manager: more debug information 2017-04-20 14:38:57 +02:00
Marcel Hollerbach 6d1df04f24 efl_ui_focus_manager: do not depend on elm widget events 2017-04-20 14:38:57 +02:00
Marcel Hollerbach 54145f488b efl_ui_focus_manager: unset redirect when focusing new item 2017-04-20 14:38:57 +02:00
Marcel Hollerbach 1424875f0a efl_ui_focus_manager: make next and prev searching deadlock prove 2017-04-20 14:38:57 +02:00
Marcel Hollerbach 8a216da3bb efl_ui_focus_manager: unset redirect when destroyed 2017-04-20 14:38:57 +02:00
Marcel Hollerbach be251b0496 efl_ui_focus_manager: allow flushing of one single node
this gives a massive performance boost
2017-04-20 14:38:57 +02:00
Marcel Hollerbach 0df0d9d358 efl_ui_focus_manager_sub: register the forwared itself 2017-04-20 14:38:57 +02:00
Marcel Hollerbach 0f2657983f efl_ui_focus_manager: handle redirect managers in a better way 2017-04-20 14:38:57 +02:00
Marcel Hollerbach b53f3edd15 elm_widget: update focus register work
now it trackes changes of the parent manager. And registers more
reliable.
2017-04-20 14:38:57 +02:00
Marcel Hollerbach 67a697fedd efl_ui_focus_manager: fix up tracking and returning of data
a logical parent should not be in the border elements. The child should
also be not deleted itself. If we do so correct deletion could fail.
2017-04-20 14:38:57 +02:00
Marcel Hollerbach 669db4841a efl_ui_focus_manager_sub: update to recenent changes 2017-04-20 14:38:57 +02:00
Marcel Hollerbach 7eb1df349c efl_ui_focus_manager_sub: register children correctly 2017-04-20 14:38:57 +02:00
Marcel Hollerbach 4932ec5f63 elm_widget: add logical parent to interface
and evaluate all values correctly and emit the correct events
2017-04-20 14:38:57 +02:00
Marcel Hollerbach e614c96466 elm_widget: make sure we dont have a destructed logical parent 2017-04-20 14:38:57 +02:00
Marcel Hollerbach 6264eb64e4 efl_ui_focus_manager_sub: register the root as logical 2017-04-20 14:38:57 +02:00
Marcel Hollerbach f6aefb2d88 efl_ui_focus_manager: a logical item should never get focus. 2017-04-20 14:38:57 +02:00
Marcel Hollerbach a5868fc819 efl_ui_focus_manager: use data iterator not key iterator
this saves one call to node_get
2017-04-20 14:38:57 +02:00
Marcel Hollerbach 37ce83cc04 elm_widget: enhance focus handling of the widget
widgets will now use there widget parent as logical parent.
2017-04-20 14:38:57 +02:00
Marcel Hollerbach 1f8e6dcb37 elm_widget: add debugging informations for a manager in a widget 2017-04-20 14:38:57 +02:00
Marcel Hollerbach f2248410b2 efl_ui_focus_manager: new api for adding a logical widget
a widget which is registered logically will not be used for right left
top or down relations.
2017-04-20 14:38:57 +02:00
Marcel Hollerbach 9aa7c63b2f efl_ui_win: make it a focus manager
Added a focusmanager with the window itself as the root.
2017-04-20 14:38:57 +02:00
Marcel Hollerbach 97265254e6 elm_widget: make it a efl_ui_focus_object
it will register based on it can_focus flag
2017-04-20 14:38:57 +02:00
Marcel Hollerbach 0eefeca64b efl_ui_focus_manager: add new api to receive child configuration 2017-04-20 14:38:57 +02:00
Marcel Hollerbach 78e7891029 focus: fix compilation
it seems like eolian changed, so i need to import the eina_types
2017-04-20 14:38:57 +02:00
Marcel Hollerbach b75b5f4c05 managersub: remove the select_set call
this can be done directly be inheriting border_elements and cutting down
the set.
2017-04-20 14:38:57 +02:00
Marcel Hollerbach ef3f302a65 focus: update documentation on all eo files
we should now have a complete documentation of those eo files
2017-04-20 14:38:57 +02:00
Marcel Hollerbach 357715f091 focus: update object definition
the event is now a bit better, since you only need to subscribe to one
event instead of two, the new state is passed in the event.
2017-04-20 14:38:57 +02:00
Marcel Hollerbach 01f46ae205 efl_ui: introduce a focus manager and sub manager object
The Efl.Ui.Focus.Manager abstracts the creation of a localization graph
and a logical tree. The localization graph is used to find a object
right left up or down of a given object. The logical tree is used to
iterate throuw the containers which are used to build a ui.

Those managers can be used bound to some layer in the ui, so for
example the window is a layer, the content of a scroller is a layer.
With those layers, we can make sure that movements of a scroller for
example just means that this graph of objects in the scroller needs to
be recalculated, and not the complete ui.

The advantage of having this to layer bound datastructures is that you
can easily debug those graphs, since the complete layer of this
managerobject can be calculated completly.
2017-04-20 14:38:57 +02:00
Jean-Philippe Andre 331bf9f746 elm_image: Fix file_set when preload is disabled
If we disable preload, then the second file set on an elm_image
object would not trigger a deletion of the first image. As a
consequence, both images would be visible... really bad if there's
alpha or different dimensions!

Thanks Anand Kumar for the report!

@fix
2017-04-20 18:54:59 +09:00
Derek Foreman 30cd3f8615 ecore_wl2: destroy dmabuf global at shutdown
Fixes a small memory leak.
2017-04-19 16:45:34 -05:00
Derek Foreman 9d3eaac080 ecore_wl2: refactor global cleanup in shutdown paths
Both session recovery and regular disconnect do this, so make
it a function to ensure they stay in sync.
2017-04-19 16:40:17 -05:00
Chris Michael c4b22eb59c ecore-drm2: Iterate plane formats properly
This patch addresses an issue where plane formats were not being
properly copied into our Plane State structure and causing any usage
of our atomic code paths to crash and burn

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2017-04-19 14:58:11 -04:00
Chris Michael 8eb1e925ae elput: Remove specific case for pointer wheel tilt
Since efl-jenkins does not have libinput >= 1.7.0, this commit broke
the jenkins build due to missing
LIBINPUT_POINTER_AXIS_SOURCE_WHEEL_TILT value. We should be able to
get by with letting 'default' case handle it....

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2017-04-19 14:13:29 -04:00
Jeeyong Um c8ca766a49 elm.hoversel: highlight selected item when auto update is enabled
Summary:
When auto update is enabled, the label of the hoversel will be that of selected
item. This feature is usually used when changing state of something.
Highlighting item previous selected will show what is current state more
explicitly especailly hoversel has many items.

Test Plan: elementary_test -to hoversel

Reviewers: cedric, jpeg

Differential Revision: https://phab.enlightenment.org/D4799

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2017-04-19 10:49:21 -07:00
Bryce Harrington 0d59a7a803 ecore_evas: fix some incorrect words
Summary:
 + whichever -> whatever
 + hyphenate pre-* and post-*
 + flowed -> followed

Subscribers: cedric, jpeg

Differential Revision: https://phab.enlightenment.org/D4802

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2017-04-19 10:49:21 -07:00
Bryce Harrington 288e60dee2 evas: fix several incorrect words
Reviewers: cedric

Reviewed By: cedric

Subscribers: cedric, jpeg

Differential Revision: https://phab.enlightenment.org/D4803

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2017-04-19 10:49:20 -07:00
Bryce Harrington 4768b38e6c evas: fix spelling for "ptimitive"
Reviewers: cedric

Reviewed By: cedric

Subscribers: cedric, jpeg

Differential Revision: https://phab.enlightenment.org/D4804

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2017-04-19 10:49:20 -07:00
Chris Michael 642e7357f8 elput: Add case for wheel tilt when getting pointer axis value
libinput >= 1.7.0 added support for
LIBINPUT_POINTER_AXIS_SOURCE_WHEEL_TILT, however we do not yet support
that in elput, thus gcc was spilling a warning about an unhandled
enumeration value here. We'll add a case for the above, plus a default
to cover any future additions.

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2017-04-19 13:16:57 -04:00
Chris Michael 0e6cd3fbf5 elput: Remove unused variable
Gcc reports 'flags' as unused here, so remove it

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2017-04-19 13:15:02 -04:00
Chris Michael 0652fbe91c ecore-con: Remove unused variable
Gcc complains that 'flags' here may be used uninitialized. In looking
at the code, 'flags' does not seem to be needed in the debug prints
here. If we keep and initialize the variable to 0 during declaration,
it would only ever print out 0 anyway as 'flags' is never changed in the
code.

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2017-04-19 10:57:43 -04:00
Daniel Kolesa 84a584b313 eolian: fix buggy generation of auto/empty on properties
We only want to generate auto/empty function bodies on what is
specified inside the braces for properties, not for the whole
property.
2017-04-19 13:24:38 +02:00
Jeeyong Um 7ba0707851 Evas.Table: Apply mirrored correctly when align is set
Summary:
When table items are left aligned and mirrored is set, items should be placed
from the right side, but align is not changed. (still left-aligned)

@fix

Test Plan: make and run attached example

Reviewers: cedric, jpeg

Subscribers: thiepha, woohyun

Differential Revision: https://phab.enlightenment.org/D4758
2017-04-19 16:47:39 +09:00
se.osadchy abd71b2cfc elm_map: Fix elm_map_overlay_color_get
Summary:
Add all supports types for overlay color (such as in Doc.)
@fix

Reviewers: cedric, Hermet, raster, NikaWhite, jpeg

Reviewed By: jpeg

Subscribers: jpeg, artem.popov

Differential Revision: https://phab.enlightenment.org/D4800
2017-04-19 14:55:41 +09:00
Jean-Philippe Andre ec71288548 eo: Micro-optimize function calls
This is related to the previous changes to efl_super.
2017-04-19 14:44:14 +09:00
Jean-Philippe Andre 9a81165830 eo: Remove super bit from eo id
It is not required anymore as the super class and super bit can
be stored inside the object data. See the previous patches.
2017-04-19 11:41:15 +09:00
Jean-Philippe Andre 28d785ccb8 eo: Add docs for efl_super and efl_cast (doxygen) 2017-04-19 11:35:48 +09:00
Jean-Philippe Andre 19b9234f23 eo: Add new API efl_cast
This is similar to efl_super but the specified class is the one
we want to call the function on. This is similar to dynamic_cast<>
in C++.

Note: both efl_super() and efl_cast() need documentation!

This is an experimental feature.

Fixes T5311

@feature

Maniphest Tasks: T5311

Differential Revision: https://phab.enlightenment.org/D4797
2017-04-19 11:15:30 +09:00
Jean-Philippe Andre 85636658e0 eo: Remove lock from efl_super
I've always really disliked this lock. If someone calls a non-eo
function by accident with efl_super() then you'll most likely end
up in a deadlock.

This adds the cur_klass pointer to the object itself, exploiting
the fact that we have 8 bytes of padding (on 64 bits, at least).

Also, this opens the door to efl_cast() which would be similar to
efl_super() except that only a dynamic cast is done, not a call
to the parent function.

make benchmark shows a performance improvement, surprisingly.

This is a bit experimental. See also the following commit (efl_cast)
2017-04-19 11:04:12 +09:00
Ivan Furs c9469e0b01 ecore_pipe: Fixed dead lock with epoll
See a76ebea2d8 and the following
commits on this file.

The following test scenario let to easily reproducible
application hangs:

  elementary_test -to "Icon Desktops"
  # then scroll vigorously with the mouse wheel up/down

This patch was applied as a new revision on the below diff:

Differential Revision: https://phab.enlightenment.org/D4754
2017-04-19 10:33:03 +09:00
Cedric BAIL b12311804f elput: use new API eina_file_close_on_exec. 2017-04-18 16:56:56 -07:00
Cedric BAIL 9bd80d542c eio: use new API eina_file_close_on_exec. 2017-04-18 16:56:40 -07:00
Cedric BAIL 214e22bf72 ecore_file: use new API eina_file_close_on_exec. 2017-04-18 16:56:18 -07:00
Cedric BAIL 662f7d3310 ecore_con: use new API eina_file_close_on_exec. 2017-04-18 16:56:01 -07:00
Cedric BAIL 712f7e878b ecore: use new API eina_file_close_on_exec. 2017-04-18 16:55:31 -07:00
Cedric BAIL a2094567c9 evas: use new API eina_file_close_on_exec. 2017-04-18 16:55:03 -07:00
Cedric BAIL fed9ca47f2 eet: use new API eina_file_close_on_exec. 2017-04-18 16:54:44 -07:00
Cedric BAIL b2893dfc77 eina: use new API eina_file_close_on_exec. 2017-04-18 16:54:03 -07:00
Cedric BAIL 9d8549f7a3 eina: add an API to correctly do close on exec. 2017-04-18 16:53:26 -07:00
Chris Michael e2a6ee29f0 ecore-drm2: Add fields to plane structure for current, next, pending
FBOs

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2017-04-18 07:55:10 -04:00
Chris Michael d3d9ab2296 ecore-drm2: Free any previous atomic request
If we fail the atomic request merge, cleanup any previous request and
just use the new one.

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2017-04-18 07:55:10 -04:00
Chris Michael 345fefd3ef ecore-drm2: Add API functions for atomic commit test and commit
This patch adds 2 new API functions, one which we can use to test atomic
commits before actually applying them, and another which does the
actual Atomic commit.

@feature

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2017-04-18 07:55:10 -04:00
Chris Michael 9d5c76e0d5 ecore-drm2: Add library symlink to merge atomic commit requests
Small commit to symlink to drmModeAtomicMerge function so we can use
that for atomic commit tests.

@feature

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2017-04-18 07:55:10 -04:00
Chris Michael 9e07d37320 ecore-drm2: Add API function to set plane destination
When we do an atomic commit, we need to know where to place a given
plane (in the case of overlays) in relation to the CRTC, so provide an
API function that can be used for that purpose.

@feature

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2017-04-18 07:55:10 -04:00
Chris Michael 44d5c855e0 ecore-drm2: Store plane src values on assign
As we will need the plane state source values when we do an atomic
commit, we can store them when plane_assign is called as we already
have the FBO available.

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2017-04-18 07:55:10 -04:00
Chris Michael 19da4706f3 ecore-drm2: Add hardware plane functions
This patch adds a new file where we can store any additional functions
we may need to work with hardware planes. Currently the file contains
a public function that can be used to assign a given Ecore_Drm2_Fb to
a hardware plane

@feature

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2017-04-18 07:55:10 -04:00
Chris Michael f1525ecf35 ecore-drm2: Cleanup list of output planes on output_destroy
Small patch to make sure we free memory previously allocated for
hardware planes when we destroy an output

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2017-04-18 07:55:10 -04:00
Chris Michael 9dbf54e2f6 ecore-drm2: Move defines for CAP_CURSOR sizes to private header
As we may need these defines in other files, move them to the private
header so there is access to them.

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2017-04-18 07:55:10 -04:00
Chris Michael 205c829a11 ecore-drm2: Store cursor size on device
As we will need these values later to determine if an FBO can go onto
the cursor plane, we should store this in the device structure to
avoid having to refetch them later.

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2017-04-18 07:55:10 -04:00
Chris Michael 980ed70eb9 ecore-drm2: Support multiple planes on a given output
Various hardware can support multiple planes on a given output. As
such, we need to be able to store multiple plane states per-output.
This small patch adds support for that.

@feature

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2017-04-18 07:55:10 -04:00
Chris Michael 4f8f41299f ecore-drm2: Add support for plane formats
Small patch to store supported formats on a given plane state. This
will be used for assigning dmabuf clients to a hardware plane based on
size and supported format.

@feature

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2017-04-18 07:55:10 -04:00
Chris Michael 0a647f9fce ecore-drm2: Remove old atomic flipping code
As we are refactoring the usage of hardware planes and atomic commits,
we need to remove the old usage of atomic flipping for ecore_drm2_fb
because atomic flipping will be handled differently.

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2017-04-18 07:55:10 -04:00
Chris Michael 43104a7268 ecore-drm2: Add opaque structure to represent a hardware plane
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2017-04-18 07:55:10 -04:00
Chris Michael 554883c048 ecore-drm2: Disable driver whitelist tests
While having the ability to test for specific driver and kernel
versions is nice to ensure that Atomic is supported, it quickly can
get out of hand trying to maintain this whitelist so (for now) disable
it and rely on the kernel results from drmSetCap.

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2017-04-18 07:55:10 -04:00
Derek Foreman 61f40d58f7 ecore_drm2: Add ecore_drm2_fb_dmabuf_import
Imports a set of dmabuf buffers as a single Ecore_Drm2_Fb
2017-04-18 07:55:10 -04:00
Derek Foreman f0fc86516d ecore_drm2: store 4 handles, strides, and planes
We're going to support multi-planar formats soon.

It'll be great, you'll love it.
2017-04-18 07:55:10 -04:00
Derek Foreman 45e173d186 ecore_drm2: Use library function instead of ioctl for addfb2
Minor clean up.
2017-04-18 07:55:10 -04:00
Jean-Philippe Andre 86d1f2b6cd eo: Use COW to save 8~16 bytes per object
Summary:
This uses Eina_Cow to implement support for rarely used features
in EO objects. This covers:
- composite objects (eg. UI widgets: combobox, text, video, win)
- vtable for efl_object_override
- del_intercept

All of these features are quite tricky to get right and while
very useful, should still be used with great care. With this patch,
the size of an _Eo_Object struct comes down from 80 bytes (rounded
up from 72b) to 64 bytes (rounded up from 56b) on 64 bits.

Also I haven't measured precisely but I don't expect any performance
impact since the COW data is more likely to remain in L1/L2 cache,
as the default one will be used most often. Unfortunately, the
results of "make benchmark" have been quite inconsistent over
multiple runs.

This saves ~64kb in elementary_test (>4k objects) at the cost of
~100 calls to COW write (del intercept on some events).

@optimization

Reviewers: raster, cedric

Differential Revision: https://phab.enlightenment.org/D4796
2017-04-18 18:52:27 +09:00
Bryce Harrington 10f1fedfec ecore_evas: Unnecessary to test p before calling free(p)
Summary:
Modern, standards-compliant compilers already test p, so as per the C
spec it is superfluous to do so before the call.

Reviewers: jpeg

Reviewed By: jpeg

Subscribers: cedric, jpeg

Differential Revision: https://phab.enlightenment.org/D4791
2017-04-18 18:42:51 +09:00
Vyacheslav Reutskiy c4e7d611d6 elm_filselector: don't force the icon size
A icon in the files view, mode grid, should not apply size bigger then
swallow for it. This commit additional fix for
52ddf9331a
2017-04-18 11:32:52 +03:00
Carsten Haitzler c65782b15c ecore file - use eina_file_mkstmp to solve umask complaint
this fixes coverity CID 1039614
2017-04-18 17:30:50 +09:00
Carsten Haitzler 706c7f9e3b genlist - fix coverity complaint about null check
we checked for null and then just used a null return later inthe loop.
this fixes that. this should fix CID 1360955
2017-04-18 17:30:50 +09:00
Carsten Haitzler 330368c10c eina log - try and fix coverity complaint about integer overflow again
it seems coverity didn't like our checks like if end - start > 0xffff
then dont do anything. this should effectively stop any issues but
seemingly not, so try another way to keep coverity happy.

CID 1361219
2017-04-18 17:30:50 +09:00
Carsten Haitzler f3f032e63f eina log - try and fix coverity complaint about integer overflow again
it seems coverity didn't like our checks like if end - start > 0xffff
then dont do anything. this should effectively stop any issues but
seemingly not, so try another way to keep coverity happy.

CID 1361220
2017-04-18 17:30:50 +09:00
Carsten Haitzler 4a4b0d8794 evas key lock state set - remove dead code
l is checked for NULL twice. this removes the pointless second check.
@fix
2017-04-18 17:30:50 +09:00
Carsten Haitzler 4e282c79bd evas key modifier state set - remove dead code
m is checked for NULL twice. this removes the pointless second check.
@fix
2017-04-18 17:30:50 +09:00
Carsten Haitzler 55ad786873 evas - table - remove logically dead code
this is right - it is dead code. this fixes CID 1372487

@fix
2017-04-18 17:30:50 +09:00
Jihoon Kim badf7bca45 ecore_imf: Added a new ecore_imf_context_keyboard_mode_get API and input_panel_event_callback type
Summary:
Applications want to know the current keyboard mode state to handle application's size manually.
So added a new ecore_imf_context_keyboard_mode_get API and input_panel_event_callback type for
keyboard mode.

Test Plan: Tested in Tizen device

Reviewers: jihoon, woohyun, id213sin

Reviewed By: jihoon

Subscribers: cedric, jsuya, z-wony, jpeg

Differential Revision: https://phab.enlightenment.org/D4790
2017-04-18 16:18:10 +09:00
Vyacheslav Reutskiy 52ddf9331a elm_fileselector: fix thumbnail size for other themes bisides default
Elm_fileselector has the hardcoded value for calculate the item size
with thumbail, this size was 16, it's looks like thumbnail size plus
labal text height, but hardcoded value haven't effect to scale. Other
problem with items without labels. As a result we have correct
thumbnail size only with default theme and with scale 1.0.

This commit made the item size accordingly to size what user set. It's
made more clearly this API behavior.

@fix
2017-04-18 10:04:07 +03:00
Vyacheslav Reutskiy 0ecf3c6906 fileselector: apply style for files view
By some reason style does not applyed to genlist/gengrid in
fileselector. Also fixed issue with applyed style for files view on
change mode.  Now this problem is fixed.

@fix
2017-04-18 10:04:07 +03:00
Jean-Philippe Andre acb9ae70fe eo/elm: Simplify box/grid EO API
After talking with @eunue I realised that the way I'd first
implemented the box/grid "pack" API was simply too complicated.
I had tried to make it possible to change the layout function
at runtime, like good old evas box, but since there are no function
pointers in EO the final design was really convoluted.

If someone really needs to change the layout of a box at runtime,
just create your own subclass, or unpack all items and repack them
in a new box.

Note: there are still some issues with the layout params & flow
2017-04-18 15:34:29 +09:00