platform/upstream/efl.git
7 years agoevas: add @since for map_coords_get()
Mike Blumenkrantz [Fri, 30 Jun 2017 20:51:43 +0000 (16:51 -0400)]
evas: add @since for map_coords_get()

ref eaeaf8831c139880a5e179cdbab8873320a62476

7 years agoevas: expose evas_map_coords_get.
Cedric BAIL [Wed, 28 Jun 2017 21:42:28 +0000 (14:42 -0700)]
evas: expose evas_map_coords_get.

7 years agoefl-wl: add .pc file
Mike Blumenkrantz [Fri, 30 Jun 2017 20:03:03 +0000 (16:03 -0400)]
efl-wl: add .pc file

7 years agoAdd a new test for elm_image align inside a swallow
Dave Andreoli [Fri, 30 Jun 2017 20:15:37 +0000 (22:15 +0200)]
Add a new test for elm_image align inside a swallow

This is broken since 1.18, more info on T4635

7 years agosoftware_generic: Improve dmabuf validity tests
Derek Foreman [Fri, 30 Jun 2017 19:54:12 +0000 (14:54 -0500)]
software_generic: Improve dmabuf validity tests

Now that upper layers set load errors this can be less gruesome.

Also, add some checks that were in E here where they belong.

7 years agogl_drm: Improve dmabuf validity test
Derek Foreman [Fri, 30 Jun 2017 19:52:54 +0000 (14:52 -0500)]
gl_drm: Improve dmabuf validity test

Now that higher layers are setting load errors this can be less gruesome.

7 years agoevas image: Set load error on native image set failure
Derek Foreman [Fri, 30 Jun 2017 19:10:50 +0000 (14:10 -0500)]
evas image: Set load error on native image set failure

evas_object_image_native_surface_set() has no return, so without
setting load error we can't tell if it failed.

fix T5418

7 years agotheme: use FLOOR rounding for digital clock themes
Mike Blumenkrantz [Fri, 30 Jun 2017 18:59:21 +0000 (14:59 -0400)]
theme: use FLOOR rounding for digital clock themes

the default rounding method allows for a value of 60 when setting the
seconds on a clock

fix T5639

7 years agoefl_wl: a multiseat wayland compositor in an evas smart object
Mike Blumenkrantz [Fri, 30 Jun 2017 18:59:21 +0000 (14:59 -0400)]
efl_wl: a multiseat wayland compositor in an evas smart object

build when wayland support is enabled and provide two test/demo cases

beta api

@feature

Reviewed-By: Cedric BAIL <cedric@osg.samsung.com>
7 years agoecore_drm2: fix scanout_on callback firing too often
Derek Foreman [Fri, 30 Jun 2017 15:26:41 +0000 (10:26 -0500)]
ecore_drm2: fix scanout_on callback firing too often

We need to increase the on scanout count for a buffer only when the
plane it's on makes its transition from pending to visible.

Previously it was firing for every refresh which would break refcounting
for any plane using surface that didn't change every frame.

7 years agoMerge branch 'devs/bu5hm4n/gengrid_item_manager'
Marcel Hollerbach [Fri, 30 Jun 2017 08:28:05 +0000 (10:28 +0200)]
Merge branch 'devs/bu5hm4n/gengrid_item_manager'

This merges a little refactor of gengrids keybindings code.
The refactor includes consistent item looping in horizontal and mirrored
mode. It also fixes the divergence between the focused and selected item
after a few operations

7 years agoelm_gengrid: remove duplicated code
Marcel Hollerbach [Thu, 29 Jun 2017 16:41:06 +0000 (18:41 +0200)]
elm_gengrid: remove duplicated code

7 years agoelm_gengrid: refactor duplicated code
Marcel Hollerbach [Thu, 29 Jun 2017 16:29:24 +0000 (18:29 +0200)]
elm_gengrid: refactor duplicated code

this brings the simple selection move into a single spot

7 years agoelm_gengrid: refactor single selection move
Marcel Hollerbach [Thu, 29 Jun 2017 13:37:34 +0000 (15:37 +0200)]
elm_gengrid: refactor single selection move

7 years agoelm_gengrid: refactor focus movement
Marcel Hollerbach [Thu, 29 Jun 2017 11:13:40 +0000 (13:13 +0200)]
elm_gengrid: refactor focus movement

This removes duplicated code and brings it into a smaller way more
readable function

7 years agoelm_gengrid: gengrid never sets the focus objects this is always NULL
Marcel Hollerbach [Wed, 28 Jun 2017 14:06:10 +0000 (16:06 +0200)]
elm_gengrid: gengrid never sets the focus objects this is always NULL

7 years agoelm_gengrid: refactor reorder mode
Marcel Hollerbach [Wed, 28 Jun 2017 13:10:14 +0000 (15:10 +0200)]
elm_gengrid: refactor reorder mode

Its breaking the logic down into 3 little functions that could be reused
later. Overall this reduces the code duplication

7 years agoelm_fileselector: correct the focus chain
Marcel Hollerbach [Sun, 25 Jun 2017 15:50:35 +0000 (17:50 +0200)]
elm_fileselector: correct the focus chain

7 years agoelm: Always pass valid part name inside part APIs
Jean-Philippe Andre [Thu, 29 Jun 2017 11:02:59 +0000 (20:02 +0900)]
elm: Always pass valid part name inside part APIs

This affects the legacy content_set/get/unset part APIs. This
should avoid some unwanted ERR messages in case an elm_object_
API is used on an elm widget that doesn't implement said API.

What this does is request the widget for the name of the default
part if NULL was passed in. Since some widgets are not elm_layout,
they have to override the API themselves, which is why I made it
an internal EO API (rather than a series of efl_isa()).

In theory, part should never be NULL when reaching the internal
implementation code in the widgets, at least for content.

In EO, efl_part(obj, NULL) should be invalid.

Ref T5629

7 years agoelm_entry: use layout text/content aliases when text_set/get content_set/get/unset
Sungtaek Hong [Thu, 29 Jun 2017 10:32:19 +0000 (19:32 +0900)]
elm_entry: use layout text/content aliases when text_set/get content_set/get/unset

Summary:
- elm_entry has elm.guide text part and it can be set by "guide".
- However when using text_aliases_get, this cannot be found.
- Add elm_obj_elm_layout_part_aliasing_eval() internal APIs to make entry
  use proper aliases.

Test Plan:
1. Run elementary test
           2. Observe search entry has guide text with "guide" part.
           3. Run Entry 8.
           4. Observe "elm.guide" part also works.
           5. Observe "icon" and "end" part works.

Reviewers: id213sin, herdsman, jpeg

Reviewed By: jpeg

Subscribers: conr2d, cedric, jpeg

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

7 years agowidget: Avoid ERR in elm_object_content_ APIs
Jean-Philippe Andre [Thu, 29 Jun 2017 10:09:27 +0000 (19:09 +0900)]
widget: Avoid ERR in elm_object_content_ APIs

If content_part_{set,get,unset} are called on a widget that
is not a layout (or flip, and a few others), then some ERR
messages would be printed out.

We hide these ERR messages as all elm_object APIs should be
callable on an object for which elm_object_widget_check()
returns true.

Ref T5629

7 years agoEfl.Observable: Free an iterator after use in observers_update()
Sungtaek Hong [Fri, 30 Jun 2017 04:29:44 +0000 (13:29 +0900)]
Efl.Observable: Free an iterator after use in observers_update()

Summary:
- In _efl_observable_observers_update() iterator is allocated but not freed.
- This frees the iterator.

@fix

Reviewers: conr2d, jpeg

Reviewed By: jpeg

Subscribers: cedric, jpeg

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

7 years agogenlist: move to next focusable/selectable item when looping
Amitesh Singh [Fri, 30 Jun 2017 03:18:33 +0000 (12:18 +0900)]
genlist: move to next focusable/selectable item when looping

this fixes a bug in genlist when scrolling is enabled and
items at top and bottom are disabled. Focus behaviour is not normal
in case up arrow is pressed when focus is at the top enabled item
or down key is pressed when focus is at bottom enabled item.

fixes T5576

7 years agodrm: Implement hardware plane support
Derek Foreman [Thu, 29 Jun 2017 22:15:36 +0000 (17:15 -0500)]
drm: Implement hardware plane support

Adds the ability for drm to place native surfaces on harware planes.

ref 33b50238d2d54e77c23f42c00c6bfafc9a9a1080

7 years agosoftware_generic: fix eng_image_native_get
Derek Foreman [Thu, 29 Jun 2017 22:12:01 +0000 (17:12 -0500)]
software_generic: fix eng_image_native_get

This has been a stub for a long time, but now we have a native_set, so
we should have a native_get too.

This is required for hw plane usage on the software engine.

7 years agoElm layout: fix broken text part name resolving
Daniel Hirt [Thu, 29 Jun 2017 18:33:12 +0000 (21:33 +0300)]
Elm layout: fix broken text part name resolving

This adds a few workaround to overcome the efl_part port.
Quite a few layouts got broken in some specific cases.

7 years agogl_drm: Check dmabuf attribute version before trusting attributes
Derek Foreman [Thu, 29 Jun 2017 18:54:48 +0000 (13:54 -0500)]
gl_drm: Check dmabuf attribute version before trusting attributes

We shouldn't do anything with a dmabuf structure until confirming the
version matches the one we know.

7 years agosoftware_generic: Check dmabuf attribute version during set
Derek Foreman [Thu, 29 Jun 2017 18:52:53 +0000 (13:52 -0500)]
software_generic: Check dmabuf attribute version during set

We should check here instead of only at time of usage.

7 years agodmabuf: Make a define for the version of the dmabuf attribute struct
Derek Foreman [Thu, 29 Jun 2017 18:51:07 +0000 (13:51 -0500)]
dmabuf: Make a define for the version of the dmabuf attribute struct

I should've done this in the first place, and the version checks are
starting to spread out a bit.

7 years agoEvas textblock: fix legacy_newline in legacy API
Daniel Hirt [Sun, 25 Jun 2017 10:21:52 +0000 (13:21 +0300)]
Evas textblock: fix legacy_newline in legacy API

Fixes 4fda417bc9e0c59f3a3645057279a29cc0057cd2 that disabled
legacy_newline for both legacy (textblock) and new (canvas text) api.
It should enable legacy_newline for legacy.

7 years agoEvas textblock: re-apply paragraph position inference
Daniel Hirt [Thu, 29 Jun 2017 10:57:54 +0000 (13:57 +0300)]
Evas textblock: re-apply paragraph position inference

For some reason, c39855a8ac6f86c2dd8b1856ed70f85e0e521f3e also seems to
address an issue with height calculations (although not mentioned in
the commit message).

It already went in v1.19, so by applying
b8beb6834b01f9688cb5e7aa177bacbc713318b9 I also reverted that behavior.
Seems like a correct one, so re-applying.

Fixes T5594

7 years agorelease: Update NEWS and bump version for 1.20.0-alpha1 release
Stefan Schmidt [Thu, 29 Jun 2017 10:49:09 +0000 (12:49 +0200)]
release: Update NEWS and bump version for 1.20.0-alpha1 release

7 years agobuild: split of BUILT_SOURCES cleanup from CLEANFILES
Stefan Schmidt [Thu, 29 Jun 2017 09:37:29 +0000 (11:37 +0200)]
build: split of BUILT_SOURCES cleanup from CLEANFILES

This was another instance of the arguments list to long problem when the
file list of CLEANFILES got to long. During distclean the cleanup failed
and left tons of files sitting around. We rm these files in our own
local clean rule now.

7 years agopo: update po files for alpha release
Stefan Schmidt [Wed, 28 Jun 2017 18:08:29 +0000 (20:08 +0200)]
po: update po files for alpha release

7 years agotests : eolain: make sure all the needed files for land in dist
Stefan Schmidt [Wed, 28 Jun 2017 16:16:11 +0000 (18:16 +0200)]
tests : eolain: make sure all the needed files for land in dist

All kind of test files for the function pointer test in eolian have been
missing in dist and thus failed distcheck.

7 years agoevas/vg: rewrite the vg example with more test cases
smohanty [Thu, 29 Jun 2017 08:20:45 +0000 (17:20 +0900)]
evas/vg: rewrite the vg example with more test cases

basic shape, stroke, transformation, interpolation test cases added

Reviewers: jpeg

Subscribers: cedric

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

7 years agoefl/interface: emit path change event when stroke width change.
smohanty [Thu, 29 Jun 2017 08:27:37 +0000 (17:27 +0900)]
efl/interface: emit path change event when stroke width change.

Reviewers: jpeg

Subscribers: cedric, jpeg

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

7 years agoelm_test: Add test edc for tooltip with no min size
Jean-Philippe Andre [Thu, 29 Jun 2017 08:11:00 +0000 (17:11 +0900)]
elm_test: Add test edc for tooltip with no min size

See 283afce3c8acd902d4708ab491b6192f1665dd77
Test case name: Tooltip -> "Tooltip with no min size"

7 years agoels_tooltip: Remove infinite job calls
Jaehyun Cho [Thu, 29 Jun 2017 07:12:37 +0000 (16:12 +0900)]
els_tooltip: Remove infinite job calls

Summary:
When tooltip or content size is 0, tooltip reconfigure job is called infinitely.
This patch removes the infinite job calls.

Test Plan:
See following patch, test case "Tooltip" -> "Tooltip with no min size"

Reviewers: zmike

Subscribers: cedric, jpeg

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

7 years agoevas: Fix compilation warnings
Jean-Philippe Andre [Thu, 29 Jun 2017 04:52:13 +0000 (13:52 +0900)]
evas: Fix compilation warnings

See 7365c087c7feb218881fb8de9e371312bf1421cc
Shadow variable.

7 years agoelm_code: Fix a compilation warning
Jean-Philippe Andre [Thu, 29 Jun 2017 04:42:35 +0000 (13:42 +0900)]
elm_code: Fix a compilation warning

warning: expression result unused; should this cast be to 'void'?
[-Wunused-value]

7 years agogl_drm: Fix a few compilation warnings
Jean-Philippe Andre [Thu, 29 Jun 2017 04:42:21 +0000 (13:42 +0900)]
gl_drm: Fix a few compilation warnings

warning: expression which evaluates to zero treated as a null
pointer constant of type 'void *' [-Wnon-literal-null-conversion]

7 years agospinner: don't allow dragging if widget is disabled
Amitesh Singh [Thu, 29 Jun 2017 05:41:41 +0000 (14:41 +0900)]
spinner: don't allow dragging if widget is disabled

fixes T5569

7 years agoedje player - add slave command to set text of text part for testing
Carsten Haitzler (Rasterman) [Thu, 1 Jun 2017 09:22:12 +0000 (18:22 +0900)]
edje player - add slave command to set text of text part for testing

@feature

7 years agoelm test: image zoomable - allow gif to be played in test example
Amitesh Singh [Thu, 29 Jun 2017 02:56:48 +0000 (11:56 +0900)]
elm test: image zoomable - allow gif to be played in test example

play gif file if its selected through file selector

elm test -> photocam -> select photo -> {select any gif anim file}

7 years agoelua: use up to date lua API
Daniel Kolesa [Wed, 28 Jun 2017 09:51:29 +0000 (11:51 +0200)]
elua: use up to date lua API

luaL_reg is a 5.0 API which we don't support.

7 years agoedje: Fix part reuse, fixes make check
Jean-Philippe Andre [Wed, 28 Jun 2017 08:17:18 +0000 (17:17 +0900)]
edje: Fix part reuse, fixes make check

An error was spotted when using an efl_part() handle for more
than one call (valid if you do efl_ref on the handle).

Thanks @stefan for the report!

7 years agoelc_popup: atspi - make popup label accessible
Shinwoo Kim [Wed, 28 Jun 2017 00:24:16 +0000 (09:24 +0900)]
elc_popup: atspi - make popup label accessible

The application could customize default behavior of popup label.
There was no way to get the popup label so far.

7 years agoeina,ecore_cocoa: fix detection of the macOS SDK version
Jean Guyomarc'h [Tue, 27 Jun 2017 21:09:09 +0000 (23:09 +0200)]
eina,ecore_cocoa: fix detection of the macOS SDK version

There was trouble with Homebrew's CI to build EFL on a macOS < 10.12
which uses a 10.12 SDK. See PR #13252 on github, Homebrew/homebrew-core
for details.

@fix

7 years agoelm_code: Fix tests of widget tokens
Andy Williams [Tue, 27 Jun 2017 21:07:24 +0000 (22:07 +0100)]
elm_code: Fix tests of widget tokens

7 years agoelm_code: fix whitespace highlighting
Andy Williams [Tue, 27 Jun 2017 15:19:16 +0000 (16:19 +0100)]
elm_code: fix whitespace highlighting

7 years agoecore-wl2: Add more window types to Window Type enum
Chris Michael [Tue, 27 Jun 2017 15:14:26 +0000 (11:14 -0400)]
ecore-wl2: Add more window types to Window Type enum

Small patch which adds more window types to the Window Type enum.
These window types may be used by various compositors in different
ways. This patch does not add or change any functionality, it just
extends the window type enum to include the ability to specify other
types of windows.

'#divergence'

@feature

Signed-off-by: Chris Michael <cp.michael@samsung.com>
7 years agoecore-wl2: Add client-side event for Window Deactivate
Chris Michael [Tue, 27 Jun 2017 13:46:55 +0000 (09:46 -0400)]
ecore-wl2: Add client-side event for Window Deactivate

This patch adds and sends a client-side event for when a window gets
deactivated.

'#divergence'

@feature

Signed-off-by: Chris Michael <cp.michael@samsung.com>
7 years agoecore-wl2: Add client-side event for Window Activate
Chris Michael [Tue, 27 Jun 2017 13:41:03 +0000 (09:41 -0400)]
ecore-wl2: Add client-side event for Window Activate

This patch adds and sends a client-side event when a window gets
activated.

'#divergence'

@feature

Signed-off-by: Chris Michael <cp.michael@samsung.com>
7 years agoecore-wl2: Add client-side event for Window Hide
Chris Michael [Tue, 27 Jun 2017 13:26:55 +0000 (09:26 -0400)]
ecore-wl2: Add client-side event for Window Hide

Small patch to add and send a client-side event for when a window gets
hidden.

'#divergence'

@feature

Signed-off-by: Chris Michael <cp.michael@samsung.com>
7 years agoecore-wl2: Add client-side event for Window Show
Chris Michael [Tue, 27 Jun 2017 13:17:36 +0000 (09:17 -0400)]
ecore-wl2: Add client-side event for Window Show

Small patch to add and send a client-side event for when a window gets
shown.

'#divergence'

@feature

Signed-off-by: Chris Michael <cp.michael@samsung.com>
7 years agoelm_code: Add a matched token so we can highlight searches
Andy Williams [Mon, 26 Jun 2017 21:17:07 +0000 (22:17 +0100)]
elm_code: Add a matched token so we can highlight searches

Should make dense matches in a text editor clearer.

7 years agoecore-wl2: use first seat to start move/resize op when none specified
Mike Blumenkrantz [Mon, 26 Jun 2017 14:32:00 +0000 (10:32 -0400)]
ecore-wl2: use first seat to start move/resize op when none specified

don't do lookups by name, the default seat is the first one added

7 years agoAdd since tag in elm_entry_prediction_hint_set
Jihoon Kim [Mon, 26 Jun 2017 08:53:04 +0000 (17:53 +0900)]
Add since tag in elm_entry_prediction_hint_set

7 years agoelm_entry: Add prediction hint API
Jihoon Kim [Mon, 26 Jun 2017 04:44:58 +0000 (13:44 +0900)]
elm_entry: Add prediction hint API

prediction hint can be used to provide an intelligent reply suggestion.

@feature

7 years agofix issue with patch D4981
Andy Williams [Sun, 25 Jun 2017 09:41:11 +0000 (10:41 +0100)]
fix issue with patch D4981

7 years agoTest: check gl API nullity before invoking deletion functions
Daniel Zaoui [Sun, 25 Jun 2017 08:23:35 +0000 (11:23 +0300)]
Test: check gl API nullity before invoking deletion functions

It happens when OpenGL ES 3.x is not supported.

@fix

7 years agoevas event grabber: add function to block stacking updates while visible
Mike Blumenkrantz [Fri, 23 Jun 2017 21:43:58 +0000 (17:43 -0400)]
evas event grabber: add function to block stacking updates while visible

@feature

7 years agoelm_list/genlist/gengrid: don't unselect items when moving the mouse out of them
Mike Blumenkrantz [Fri, 23 Jun 2017 21:43:58 +0000 (17:43 -0400)]
elm_list/genlist/gengrid: don't unselect items when moving the mouse out of them

this seems wrong since it's using smart object geometry to determine
event-based positioning within an edje object. considering it from a user pov,
it definitely is wrong because why would you deselect items based on mouse
movement?

ref D2622
ref da81eff8979bef066317984d606dd66bdba49717

@fix

7 years agoeina_log: make a log level of 0 disable the log domain
Mike Blumenkrantz [Fri, 23 Jun 2017 21:43:58 +0000 (17:43 -0400)]
eina_log: make a log level of 0 disable the log domain

this has always been specified in the docs as the means by which a log domain
is disabled

@fix

7 years agoelm_win: access wl seats in a more portable way
Mike Blumenkrantz [Fri, 23 Jun 2017 21:43:58 +0000 (17:43 -0400)]
elm_win: access wl seats in a more portable way

seat names are not guaranteed to be the same in every compositor so
this should not be hardcoded

7 years agoevas: check object layer existence before deref to avoid crash
Mike Blumenkrantz [Fri, 23 Jun 2017 21:43:58 +0000 (17:43 -0400)]
evas: check object layer existence before deref to avoid crash

@fix

7 years agoecore-wl2: do not send exit event on disconnect if servers exist
Mike Blumenkrantz [Fri, 23 Jun 2017 21:43:58 +0000 (17:43 -0400)]
ecore-wl2: do not send exit event on disconnect if servers exist

this kills the compositor.

@fix

7 years agoelm_cursor: store and reapply non-elm cursors when setting an elm cursor
Mike Blumenkrantz [Fri, 23 Jun 2017 21:43:58 +0000 (17:43 -0400)]
elm_cursor: store and reapply non-elm cursors when setting an elm cursor

when using elm with non-elm objects, any custom cursors would previously be
destroyed by any elm_entry widget upon mouse-in

@fix

7 years agoelm_box: unpack objects from internal evas box before elm reparent
Mike Blumenkrantz [Fri, 23 Jun 2017 21:43:57 +0000 (17:43 -0400)]
elm_box: unpack objects from internal evas box before elm reparent

this ensures that smart_parent_get() will not return the evas box for
any widget which overrides parent apis

7 years agoevas_box: add safety check for adding box children to multiple boxes
Mike Blumenkrantz [Fri, 23 Jun 2017 21:43:57 +0000 (17:43 -0400)]
evas_box: add safety check for adding box children to multiple boxes

this is guaranteed to cause a crash or equally bad behavior, so ensure an
error is raised

@fix

7 years agogengrid: implement reusable content based on genlist implementation
Mike Blumenkrantz [Fri, 23 Jun 2017 21:43:57 +0000 (17:43 -0400)]
gengrid: implement reusable content based on genlist implementation

@feature

7 years agogl_drm: Implement hardware plane support
Derek Foreman [Thu, 22 Jun 2017 17:48:45 +0000 (12:48 -0500)]
gl_drm: Implement hardware plane support

Adds the ability for gl_drm to place native surfaces on hardware planes.

7 years agoevas_render: Use hardware planes
Derek Foreman [Thu, 22 Jun 2017 17:46:16 +0000 (12:46 -0500)]
evas_render: Use hardware planes

This is a very simple proof of concept for using hardware planes for
evas image objects.

Right now only dmabuf objects will be dropped into planes, and they're
considered in the order they're in in the scene graph with no attention
paid to which objects will have the most benefit from being on a plane
at all.  There's nothing to prevent your mouse cursor from consuming the
only hardware plane capable of UHD video. :)

This is mostly just to help test the low level functionality in the
engines and ecore_drm2 that enable hardware planes.  Smarter plane usage
is coming.

7 years agoevas_object_image: Add support for direct scanout
Derek Foreman [Thu, 22 Jun 2017 17:39:24 +0000 (12:39 -0500)]
evas_object_image: Add support for direct scanout

Add functions for assigning hardware planes to evas image objects.

The unfortunate asymmetry of the code is due to plane assignment being
only fully verifiable by doing a test commit through ecore_drm2, so it's
simpler to have the "test" function also do the "assignment", and call
the release on failure to clean up after a failed test.

7 years agoevas_object_image: Track whether an image object supports direct scanout
Derek Foreman [Wed, 21 Jun 2017 20:06:01 +0000 (15:06 -0500)]
evas_object_image: Track whether an image object supports direct scanout

If an evas object is a wayland dmabuf, uses native surface 5 or higher,
and has a scanout handler set, then it meets the basic requirements for
placing on a hardware plane.

7 years agosoftware_generic: Add plane assign/release function pointers
Derek Foreman [Wed, 21 Jun 2017 19:12:40 +0000 (14:12 -0500)]
software_generic: Add plane assign/release function pointers

Functions to assign a plane for a native surface, and release a plane
that's been assigned to a native surface.

These are empty for now as they'll need to be overridden in any backend
that can handle planes.

7 years agonative surface: Add scanout handlers
Derek Foreman [Wed, 21 Jun 2017 19:10:20 +0000 (14:10 -0500)]
native surface: Add scanout handlers

When a native surface ends up on a hardware plane, the caller needs to
know about it so it can prevent the resource from being destroyed while
on scanout (which may cause an implicit page flip and a stall), and
so it knows that the content may have changed usage domains.

This adds stubs for dealing with this - only for wl dmabuf right now, but
it may be useful for other surface types later.

7 years agoecore_drm2: Add scanout status callbacks
Derek Foreman [Fri, 16 Jun 2017 21:32:45 +0000 (16:32 -0500)]
ecore_drm2: Add scanout status callbacks

This generates callbacks when a fb becomes scanned out on a hardware plane
or when it no longer is.

7 years agoecore_drm2: Add callbacks for plane assign/release
Derek Foreman [Fri, 16 Jun 2017 21:30:39 +0000 (16:30 -0500)]
ecore_drm2: Add callbacks for plane assign/release

E will need these to gate wayland buffer releases.

7 years agoecore_drm2: Add Fb deleted event
Derek Foreman [Fri, 16 Jun 2017 21:19:29 +0000 (16:19 -0500)]
ecore_drm2: Add Fb deleted event

7 years agoecore_drm2: Track number of times an fb is on scanout
Derek Foreman [Fri, 16 Jun 2017 21:17:56 +0000 (16:17 -0500)]
ecore_drm2: Track number of times an fb is on scanout

The same fb can be placed in multiple hardware planes, we need to keep
track of the number of planes it's on at any time so we can send events
to a compositor in a later commit.

7 years agoecore_drm2: Track whether an Ecore_Drm2_Plane has ever been on scanout
Derek Foreman [Fri, 16 Jun 2017 21:15:57 +0000 (16:15 -0500)]
ecore_drm2: Track whether an Ecore_Drm2_Plane has ever been on scanout

7 years agoecore_drm2: Move fb from plane state struct to plane struct
Derek Foreman [Fri, 16 Jun 2017 21:07:15 +0000 (16:07 -0500)]
ecore_drm2: Move fb from plane state struct to plane struct

The plane state struct needs the fb id for drm updates, and the plane
state can be updated even if it's pointed to by a dead plane.

Dead planes need to keep their fb so we can properly handle the fb
lifetime.

7 years agoecore_drm2: Don't clear plane fb on release
Derek Foreman [Fri, 16 Jun 2017 21:04:18 +0000 (16:04 -0500)]
ecore_drm2: Don't clear plane fb on release

We'll need this later for post-page flip bookkeeping, and nothing will
notice that it's not cleared now anyway.

7 years agoecore_drm2: Remove obsolete per output fb callback api
Derek Foreman [Thu, 15 Jun 2017 18:04:31 +0000 (13:04 -0500)]
ecore_drm2: Remove obsolete per output fb callback api

It's all beta API so I can throw this away now that there are no in-tree
users anymore.

7 years agoecore_drm2: Stop using the old per output release callbacks
Derek Foreman [Thu, 15 Jun 2017 18:03:16 +0000 (13:03 -0500)]
ecore_drm2: Stop using the old per output release callbacks

7 years agogl_drm ee: Move to new per fb status callbacks
Derek Foreman [Thu, 15 Jun 2017 18:02:21 +0000 (13:02 -0500)]
gl_drm ee: Move to new per fb status callbacks

Switch over to the per fb status callbacks as the old per output api is
about to be removed.

7 years agoecore_drm2: Update buffer release mechanism to send new status information
Derek Foreman [Thu, 15 Jun 2017 18:00:56 +0000 (13:00 -0500)]
ecore_drm2: Update buffer release mechanism to send new status information

Begin moving internals over to the new per fb status updates.

7 years agoecore_drm2: Add ecore_drm2_fb_status_handler_set
Derek Foreman [Thu, 15 Jun 2017 17:55:03 +0000 (12:55 -0500)]
ecore_drm2: Add ecore_drm2_fb_status_handler_set

The old per output release handler is no longer complicated enough.  In
the near future we'll need to be able to tell an engine that its fb has
been placed on scanout via hardware plane, or removed from a hardware
plane.

It's simpler to provide that information as well as release information
through a single callback.

7 years agogl_drm ee: move release fb callback
Derek Foreman [Thu, 15 Jun 2017 17:16:01 +0000 (12:16 -0500)]
gl_drm ee: move release fb callback

No functional change, just code motion.

7 years agoEfl.Ui.Image.Zoomable: move legacy APIs at the bottom of the file.
Amitesh Singh [Fri, 23 Jun 2017 04:11:54 +0000 (13:11 +0900)]
Efl.Ui.Image.Zoomable: move legacy APIs at the bottom of the file.

7 years agoEfl.Ui.Image.Zoomable: rename data get macros
Amitesh Singh [Fri, 23 Jun 2017 00:15:21 +0000 (09:15 +0900)]
Efl.Ui.Image.Zoomable: rename data get macros

7 years agoEfl.Ui.Slider: implement slider internal part class
Amitesh Singh [Thu, 22 Jun 2017 05:00:58 +0000 (14:00 +0900)]
Efl.Ui.Slider: implement slider internal part class

7 years agoedje: Improve error report with efl_part misuse
Jean-Philippe Andre [Thu, 22 Jun 2017 00:05:41 +0000 (09:05 +0900)]
edje: Improve error report with efl_part misuse

This improves a rare error message when a function is called on an
efl_part() that does not implement it. Example: calling a swallow
function on a non-swallow part.

This isn't entirely fool-proof but should already help quite a bit.

This also changes how the efl_part proxies are stored: the variable
is not reset to NULL every time we use it, instead we check it in
the del intercept.

Note: _part_reuse_error() can not be enabled inside
_internal_proxy_get because there are valid use cases such as:

  func1(efl_part(obj, part), func2(efl_part(obj, part), ...), ...)

Here we use two efl_part() at the same time, on the same object,
but we haven't entered "func1" yet when we are reaching the second
call to efl_part(). This is completely valid and there is pretty
much no way to detect this.

I think I will improve this later with a core function on
Efl.Object like "debug_string".

Ref T5584

7 years agoeo: Improve invalid EO ID error message
Jean-Philippe Andre [Thu, 22 Jun 2017 03:06:31 +0000 (12:06 +0900)]
eo: Improve invalid EO ID error message

This focus on the domain and ID bits is very confusing. Let's
keep it at the end of the message, and also try to guess whether
the object may have been deleted or simply doesn't belong to the
current thread.

7 years agoevas: Lower log level for animator tick cbs
Jean-Philippe Andre [Thu, 22 Jun 2017 02:47:42 +0000 (11:47 +0900)]
evas: Lower log level for animator tick cbs

This doesn't deserve to be INF, it's really low-level debug
information.

7 years agoEfl.Ui.Slider: move legacy APIs at the bottom of the file.
Amitesh Singh [Thu, 22 Jun 2017 02:11:50 +0000 (11:11 +0900)]
Efl.Ui.Slider: move legacy APIs at the bottom of the file.

7 years agoeina: make sure the eina_debug_private.h header is included into dist
Stefan Schmidt [Wed, 21 Jun 2017 16:16:05 +0000 (18:16 +0200)]
eina: make sure the eina_debug_private.h header is included into dist

This has been missing in the dist tarball and failed distcheck.

7 years agoCanvas text: set 'changed' on the object when text is inserted
Daniel Hirt [Tue, 20 Jun 2017 12:34:14 +0000 (15:34 +0300)]
Canvas text: set 'changed' on the object when text is inserted

This fixes missed updates with the "Ui.Text" when text was inserted.