Commit Graph

54250 Commits

Author SHA1 Message Date
Mike Blumenkrantz 05e74a030b 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
2017-06-23 17:43:44 -04:00
Mike Blumenkrantz 920c3a5d5e 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
2017-06-23 17:43:44 -04:00
Mike Blumenkrantz b4057ef6cc gengrid: implement reusable content based on genlist implementation
@feature
2017-06-23 17:43:44 -04:00
Derek Foreman 33b50238d2 gl_drm: Implement hardware plane support
Adds the ability for gl_drm to place native surfaces on hardware planes.
2017-06-23 08:15:42 -05:00
Derek Foreman 7365c087c7 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.
2017-06-23 08:15:42 -05:00
Derek Foreman 6043e11586 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.
2017-06-23 08:15:42 -05:00
Derek Foreman 3965a663cc 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.
2017-06-23 08:15:42 -05:00
Derek Foreman 7e2c8c1cbd 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.
2017-06-23 08:15:42 -05:00
Derek Foreman 95bf3debd3 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.
2017-06-23 08:15:42 -05:00
Derek Foreman 1552f85ede 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.
2017-06-23 08:15:41 -05:00
Derek Foreman 5f2d4e75ab ecore_drm2: Add callbacks for plane assign/release
E will need these to gate wayland buffer releases.
2017-06-23 08:15:41 -05:00
Derek Foreman c67da0c869 ecore_drm2: Add Fb deleted event 2017-06-23 08:15:41 -05:00
Derek Foreman 69181cc9e8 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.
2017-06-23 08:15:41 -05:00
Derek Foreman bc8b11bd78 ecore_drm2: Track whether an Ecore_Drm2_Plane has ever been on scanout 2017-06-23 08:15:41 -05:00
Derek Foreman a8c7b89cb7 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.
2017-06-23 08:15:41 -05:00
Derek Foreman be90b91ac1 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.
2017-06-23 08:15:41 -05:00
Derek Foreman 74290490ad 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.
2017-06-23 08:15:40 -05:00
Derek Foreman 0d1082f947 ecore_drm2: Stop using the old per output release callbacks 2017-06-23 08:15:40 -05:00
Derek Foreman 4d058ad323 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.
2017-06-23 08:15:40 -05:00
Derek Foreman a97b1ac006 ecore_drm2: Update buffer release mechanism to send new status information
Begin moving internals over to the new per fb status updates.
2017-06-23 08:15:40 -05:00
Derek Foreman a3eed7865a 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.
2017-06-23 08:15:40 -05:00
Derek Foreman bd0774206f gl_drm ee: move release fb callback
No functional change, just code motion.
2017-06-23 08:15:40 -05:00
Amitesh Singh 488e1c20e9 Efl.Ui.Image.Zoomable: move legacy APIs at the bottom of the file. 2017-06-23 13:11:54 +09:00
Amitesh Singh 02e9af50a1 Efl.Ui.Image.Zoomable: rename data get macros 2017-06-23 09:15:21 +09:00
Amitesh Singh b7e55a288e Efl.Ui.Slider: implement slider internal part class 2017-06-22 18:50:02 +09:00
Jean-Philippe Andre 56a74238d1 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
2017-06-22 16:16:21 +09:00
Jean-Philippe Andre 5a98f78ce8 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.
2017-06-22 13:19:23 +09:00
Jean-Philippe Andre eaf21eee14 evas: Lower log level for animator tick cbs
This doesn't deserve to be INF, it's really low-level debug
information.
2017-06-22 11:51:40 +09:00
Amitesh Singh 1775597671 Efl.Ui.Slider: move legacy APIs at the bottom of the file. 2017-06-22 11:14:24 +09:00
Stefan Schmidt 50b8fa08e5 eina: make sure the eina_debug_private.h header is included into dist
This has been missing in the dist tarball and failed distcheck.
2017-06-21 18:17:31 +02:00
Daniel Hirt 070171c7bb Canvas text: set 'changed' on the object when text is inserted
This fixes missed updates with the "Ui.Text" when text was inserted.
2017-06-21 11:29:34 +03:00
Daniel Hirt f3fff0c687 Ui text: defer region show to job
This moves the region-show logic to the proper update job where
cursors are also updated.
2017-06-21 11:29:34 +03:00
Daniel Hirt ec02b5f3fb Ui text: fix cursor api call
This widget doesn't have a text part.
2017-06-21 11:29:34 +03:00
Daniel Hirt 40e97c6589 Canvas layout: fix part text cursor geometry port
Forgot to consider the edje object's offset when porting the code
to efl_part (see 98dad1a52b).
This fixes a few bugs, one of which is region_show for the scrollable
mode.
2017-06-21 10:50:09 +03:00
Jean-Philippe Andre 4ca83755ed slider: Fix slider legacy API
See 4e79dd0f02

That patch was absurd. Do not change the use of a legacy stable
API when you change an EO API. If you need to do that then there
is very clearly a problem in the patch.

This reverts the test case to use the legacy API (which in turn
calls the EO API anyway so both are tested).

Fixes T5587
2017-06-21 15:40:48 +09:00
Chris Michael 52f35fde0c ecore-wl2: Fix issue(s) of setting wrong event device
As we may have both a pointer and touch device on a given system, we
need to accurately set event->device when sending mouse move, wheel,
down, and up events. Previous code here would always try to find a
mouse device first which could potentially end up setting the wrong
event->device (if a touch device also existed).

This patch fixes the issue by comparing the window used for the event
to our focused windows (either mouse or touch) and setting the proper
event->device based on that.

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2017-06-20 11:59:36 -04:00
Vincent Torri fb6530ca2e examples/elm: Use POSIX threads on Windows 2017-06-20 14:34:52 +09:00
Vincent Torri aa17e28e5a examples/net: Fix compilation on Windows 2017-06-20 14:34:52 +09:00
Vincent Torri d03780fdf9 examples/net: Fix compilation on Windows (no getline)
Thnaks @vtorri who authored this patch
2017-06-20 14:18:36 +09:00
Jean-Philippe Andre 6e33145332 examples/net: Use PRIi64 where appropriate
Fixes a warning on Windows. Thanks @vtorri
2017-06-20 14:16:40 +09:00
Jean-Philippe Andre 98b1309c6f cxx examples: Fix button example 00
Text part API has changed.
2017-06-20 14:09:57 +09:00
Sanjeev BA 0e21b4d280 Documentation for elm_code_widget_selection.
Reviewers: jpeg, ajwillia.ms

Subscribers: cedric, jpeg

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

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2017-06-19 14:08:54 -07:00
Cedric BAIL 5c16d4e15b evas: batman use legacy API only. 2017-06-19 14:08:54 -07:00
smohanty d6bd5d52fc evas/vg: Fixed the build issue in evas_vg_simple example
Reviewers: jpeg, vtorri

Subscribers: cedric, jpeg

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

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2017-06-19 14:08:54 -07:00
Youngbok Shin 12787d6665 evas: fix version info for evas_language_direction_get
Summary:
The patch was created for EFL 1.18. But, it was merged for EFL 1.20.
@fix

Test Plan: N/A

Reviewers: herdsman, jpeg, cedric

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

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2017-06-19 14:08:54 -07:00
Lauro Moura bcd1bea56d js: Update after Eolian_Unit API change 2017-06-19 17:36:50 -03:00
Lauro Moura c4558e2910 js: Update after many elm/efl.ui changes
- Win.Standard
- Photocam to Image.Zoomable rename
- Widget namespace changes (elm -> efl.ui)
- setText/setPartText changes (see 3eb649b18)
2017-06-19 17:36:41 -03:00
Daniel Hirt a5e980fbbc Evas text: fix test with Oriya script
We are not providing a font to test that specific script.
Commenting-out this test until we can find one with proper license.
This fixes the test suite fail case.

@fix
2017-06-19 10:15:05 +03:00
Daniel Hirt 108bf99564 Efl text cursor: move around a few definitions
Need to handle this with special care as Efl.Text.Cursor is used in
some functions that are specific to Efl.Canvas.Text, was well as
functions in Efl.Text.Cursor interface.
2017-06-19 10:15:05 +03:00
Daniel Hirt d0da405620 Efl text format: change "halign" and "valign" to use enums
Value-based alignment (e.g. 0.5, 0.3 etc) isn't very practical.
Horizontal and vertical alignments will be assigned with enums
"left", "center", "right", "auto", "locale", for horizontal alignment,
and "top", "center" and "bottom" for vertical alignment.

This changes the previously added "halign" and "valign" properties.
2017-06-19 10:15:05 +03:00