Marcel Hollerbach [Fri, 13 Oct 2017 09:09:56 +0000 (11:09 +0200)]
elm_toolbar: use prepare to get focus into the items again
Marcel Hollerbach [Fri, 13 Oct 2017 09:09:03 +0000 (11:09 +0200)]
efl_ui_focus_object: introduce prepare_logical
with this call a registered logical item could prepare itself for a
deeper traversal
Marcel Hollerbach [Thu, 12 Oct 2017 19:25:49 +0000 (21:25 +0200)]
efl_ui_focus: add parent_provider
thats just a little helper, where the logic to find and fetch the
provider is bound to the position in the widget tree, this means that
for example gengrid could change the way the logical parent is
evalulated. (For example to map the logical parent to a item)
Marcel Hollerbach [Thu, 12 Oct 2017 19:24:59 +0000 (21:24 +0200)]
efl_ui_focus_manager_calc: make sure to not access out of bounds mem
Amitesh Singh [Fri, 13 Oct 2017 07:10:31 +0000 (16:10 +0900)]
tests: eina strbuf - fix compilation
refer patch
2cf24eb30428fd56
Amitesh Singh [Fri, 13 Oct 2017 05:36:31 +0000 (14:36 +0900)]
eina: strbuf - Add strftime related functions
eina_strbuf_append_strftime()
eina_strbuf_insert_strftime()
eina_strbuf_prepend_strftime() - macro
We need these functions for implementing generic format function
interface especially for calander.
Ref T6204
Jaehyun Cho [Fri, 13 Oct 2017 06:01:24 +0000 (15:01 +0900)]
efl_animation: Fix shadowing local variable warning
Jean-Philippe Andre [Fri, 13 Oct 2017 05:29:15 +0000 (14:29 +0900)]
evas: Fix crash when object is not fully created
This fixes make check.
Jean-Philippe Andre [Fri, 13 Oct 2017 05:15:52 +0000 (14:15 +0900)]
evas: Fix C++ compilation
Efl.Animation and Efl.Canvas.Object need each other, and introduce a
cyclic dependency. Eolian doesn't complain... but C++ fails to compile,
as one header must be included before the other, and vice-versa.
Do we have other cyclic dependencies? I remember we lifted the
limitation in eolian itself, but can't remember exactly how it should be
handled...
Ping @q66 @felipealmeida
Jean-Philippe Andre [Fri, 13 Oct 2017 02:07:28 +0000 (11:07 +0900)]
edje: Fix make check
Oops. The API was tested.
See
19dff855194f2c4b411fc5d27b33d212ff26bcb0
Jean-Philippe Andre [Fri, 13 Oct 2017 01:54:54 +0000 (10:54 +0900)]
eo: Simplify debug_name_override
Simply pass in the strbuf and don't expect the callee to own it. This
makes things simpler and safer (it'll crash only if the callee frees
said strbuf, and shouldn't leak). efl_ebug_name is new in the upcoming
release, EFL 1.21.
Realised this after talking with Amitesh. Thanks.
See
999dbd9764426890c0e11841358f9219082b89b2
And
c4769ff8989bab2b745017b843f073e5737e91e0
Derek Foreman [Wed, 11 Oct 2017 20:45:11 +0000 (15:45 -0500)]
ecore_wl2: Synchronize state with surface commits
This is really several inseparable commits mashed together, as doing this
a piece at a time would introduce broken intermediate revisions.
Double buffer incoming "configure" state from the compositor so it's held
back during asynchronous render and processed at frame completion.
Hold off on certain requests if their API has been invoked during async
render.
This should fix a lot of races, cosmetic issues, issues where weston can
kill our clients for acking configure (or not) at bad times, etc.
Derek Foreman [Wed, 11 Oct 2017 20:39:26 +0000 (15:39 -0500)]
ecore_wl2: Don't overwrite saved geometry if switching fs to max
If we switch from fullscreen to maximized we need to keep the pre-fs
geometry around in case we ever unmaximize AND unfullscreen.
Derek Foreman [Wed, 11 Oct 2017 20:38:39 +0000 (15:38 -0500)]
ecore_wl2: Don't overwrite saved geometry if switching max to fs
If we switch from maximized to fullscreen we need to keep the pre-max
geometry around in case we ever unmaximize AND unfullscreen.
Derek Foreman [Wed, 11 Oct 2017 20:30:54 +0000 (15:30 -0500)]
ecore_wl2: Push out maximize set with a display flush
We want this request to get to the compositor as soon as possible.
Derek Foreman [Wed, 11 Oct 2017 20:26:29 +0000 (15:26 -0500)]
ecore_wl2: Push out fullscreen set with a display flush
We want this request to get to the compositor as soon as possible.
Derek Foreman [Wed, 11 Oct 2017 14:04:59 +0000 (09:04 -0500)]
wayland_dmabuf: Clean up unused variable
Pending is useless now that we use immediate buffer creation.
Derek Foreman [Wed, 11 Oct 2017 14:00:49 +0000 (09:00 -0500)]
wayland_dmabuf: Use create_immed
We've really always needed to do immediate creates. On a surface resize
there's no place to wait for the round trip for the new buffers to exist.
We've gotten away with this until now by good luck because we dispatch
wayland events during asynchronous render. However, with async render off
or if schedule happens in an unfortunate order, we can end up with
tearing.
Derek Foreman [Wed, 11 Oct 2017 13:58:41 +0000 (08:58 -0500)]
ecore_wl2: Bind dmabuf version 2
Version 2 allows for create_immed requets. No new events are added until
version 3, so this is a trivial update.
Derek Foreman [Thu, 5 Oct 2017 20:15:10 +0000 (15:15 -0500)]
ecore_wl2: Fix setting empty input regions
We should still update window->input_rect when the input region is empty.
Derek Foreman [Thu, 5 Oct 2017 19:56:58 +0000 (14:56 -0500)]
ecore_wl2: Fix setting empty opaque regions
We should still update window->opaque when the opaque region is empty.
Derek Foreman [Thu, 5 Oct 2017 19:07:26 +0000 (14:07 -0500)]
ecore_evas_wayland: Use ecore_wl2_false_commit to trigger frame callbacks
This will allow us to receive a tick without changing any other state.
Derek Foreman [Thu, 5 Oct 2017 19:06:42 +0000 (14:06 -0500)]
ecore_wl2: Add as partial commit function for setting off a tick
This adds the concept of a "false commit" that just sends a surface
commit without changing any other state.
This is intended to be used by ecore_evas to request a frame callback
from the compositor
Derek Foreman [Wed, 4 Oct 2017 18:46:34 +0000 (13:46 -0500)]
ecore_wl2: Add new API to latch window state for updates
Add an API to call at the beginning of render to latch state at
that moment, and use it for the wayland engine.
Derek Foreman [Wed, 4 Oct 2017 17:12:55 +0000 (12:12 -0500)]
ecore_wl2: Split configurations into client set and compositor requested
This should lead to clearer and more maintainable code than having one
pile of state that's asynchronously fiddled with by both client and
compositor.
Derek Foreman [Fri, 29 Sep 2017 21:18:43 +0000 (16:18 -0500)]
ecore_wl2: Move some state into its own struct
These need to be double buffered, and that will be done in a follow up
patch.
Derek Foreman [Fri, 29 Sep 2017 21:17:18 +0000 (16:17 -0500)]
ecore_wayland: Use ecore_wl2_window_resizing_get() to get resizing
Use the getter instead of directly accessing the structs.
Derek Foreman [Fri, 29 Sep 2017 21:16:11 +0000 (16:16 -0500)]
ecore_wl2: Add a getter for window->resizing
Derek Foreman [Fri, 29 Sep 2017 17:56:10 +0000 (12:56 -0500)]
ecore_wl2: Fix some @since tags
Seems my brain missed the efl release and started tagging new API
incorrectly in the doxy.
This is all beta API that should probably only be used by other EFL
internals anyway, but I suppose it's a good idea to try to be somewhat
correct.
Derek Foreman [Thu, 14 Sep 2017 22:04:51 +0000 (17:04 -0500)]
wayland_shm: Make some function static
Only used in this file.
Derek Foreman [Thu, 14 Sep 2017 22:04:21 +0000 (17:04 -0500)]
wayland_shm: Kill stale comment
This comment doesn't make sense now, as all the frame callback stuff
is in ecore_wl2.
Derek Foreman [Thu, 14 Sep 2017 22:02:50 +0000 (17:02 -0500)]
wayland_dmabuf: make dlsym queried symbols static
We only need these in this file.
Derek Foreman [Thu, 14 Sep 2017 17:35:16 +0000 (12:35 -0500)]
wayland_shm: Remove hidden from the outbuf
Outbuf shouldn't have to track its hidden status, that should be ecore_evas
problem. Until now we were doing this because our kludgey wayland
ticking made things difficult, but I think it's safe to remove now.
Derek Foreman [Thu, 14 Sep 2017 17:30:12 +0000 (12:30 -0500)]
wayland_shm: Remove hidden from surface posting calls
Now that we tick based on frame callbacks it should be impossible to post
an update while hidden.
Derek Foreman [Tue, 12 Sep 2017 14:54:33 +0000 (09:54 -0500)]
wayland_shm: stop storing wl_display in dmabuf_surface
Query it through the engine info's ecore_wl2_display instead.
Derek Foreman [Tue, 12 Sep 2017 13:37:04 +0000 (08:37 -0500)]
evas_shm: Remove wl_dmabuf and wl_shm from engine info
All queries for these are now on the ecore_wl2_display
Derek Foreman [Mon, 11 Sep 2017 22:16:17 +0000 (17:16 -0500)]
wayland_shm: Remove surface_set function
Now that we use the display's shm and dmabuf pointers we don't need to
update them.
Derek Foreman [Mon, 11 Sep 2017 22:11:36 +0000 (17:11 -0500)]
wayland_dmabuf: Query zwp_linux_dmabuf_v1 from display
Get it from the display instead of using our stored copy.
Derek Foreman [Mon, 11 Sep 2017 22:06:31 +0000 (17:06 -0500)]
evas_shm: query wl_shm from ecore_wl2_display
Stop using the internally stored copy, always query from active display.
This fixes session recovery.
Derek Foreman [Mon, 11 Sep 2017 21:57:05 +0000 (16:57 -0500)]
wayland_shm: Add Outbuf to Surface struct
We're going to need that soon.
Derek Foreman [Mon, 11 Sep 2017 21:42:30 +0000 (16:42 -0500)]
wayland_shm: Pass Surface instead of Shm_Surface
Surface has some variables we'll need later.
Derek Foreman [Mon, 11 Sep 2017 20:48:56 +0000 (15:48 -0500)]
wayland_shm: Handle dirty bit outside of the backends
We don't have to query that deeply to know whether we need to redraw the
buffer or not, we can make that decision in more generic code.
Derek Foreman [Mon, 11 Sep 2017 20:37:53 +0000 (15:37 -0500)]
wayland_shm: Store the ecore_wl2_display in the Outbuf
We'll need it soon.
Stephen Houston [Thu, 12 Oct 2017 16:37:28 +0000 (11:37 -0500)]
Luncher theme: Handle space to the left, right, and bottom in the active preview better.
Jaehyun Cho [Wed, 13 Sep 2017 05:59:22 +0000 (14:59 +0900)]
efl_animation: Add interpolator property
Interpolator property is added to apply interpolation function.
Jaehyun Cho [Tue, 12 Sep 2017 08:49:40 +0000 (17:49 +0900)]
ecore: Add Efl.Interpolator class
Efl.Interpolator class is to interpolate a value.
Efl.Interpolator class has the following interpolation function classes
as its subclasses.
Efl.Interpolator.Linear
Efl.Interpolator.Accelerate
Efl.Interpolator.Decelerate
Efl.Interpolator.Sinusoidal
Efl.Interpolator.Divisor
Efl.Interpolator.Bounce
Efl.Interpolator.Spring
Efl.Interpolator.Cubic_Bezier
Jaehyun Cho [Tue, 5 Sep 2017 02:33:58 +0000 (11:33 +0900)]
efl_animation: Add repeat_mode property
To not display original state when the reverse repeat starts, the
animators in group parallel and group sequential are deleted.
Jaehyun Cho [Mon, 4 Sep 2017 10:17:48 +0000 (19:17 +0900)]
efl_animation: Add start_delay property
Add start_delay property to delay the given amount of time in seconds
from when the animation starts until the animation is animated.
Jaehyun Cho [Wed, 30 Aug 2017 11:20:15 +0000 (20:20 +0900)]
efl_animation: Add repeat_count property
Jaehyun Cho [Wed, 30 Aug 2017 09:17:18 +0000 (18:17 +0900)]
efl_animation: Add pause and resume methods
Add target_map_reset method to fix flicking issue when animation is
paused and resumed.
Jaehyun Cho [Wed, 30 Aug 2017 07:16:18 +0000 (16:16 +0900)]
efl_animation: Support event animation
Register an animation for an event.
Start the animation when the event happens.
Jaehyun Cho [Wed, 30 Aug 2017 03:08:41 +0000 (12:08 +0900)]
efl_animation: Add sequential group animation and object
Efl.Animation.Group.Sequential is a class for animations started in
sequence.
Efl.Animation.Object.Group.Sequential is a class which provides
methods for an object of Efl.Animation.Group.Sequential.
The objects added into the sequential group animation object start
in sequence.
Jaehyun Cho [Fri, 25 Aug 2017 08:54:29 +0000 (17:54 +0900)]
efl_animation: Add parallel group animation and object
Efl.Animation.Group.Parallel is a class for animations started in
parallel.
Efl.Animation.Object.Group.Parallel is a class which provides methods
for an object of Efl.Animation.Group.Parallel.
The objects added into the parallel group animation object start in
parallel.
Jaehyun Cho [Fri, 25 Aug 2017 08:17:24 +0000 (17:17 +0900)]
efl_animation: Add group animation object
Jaehyun Cho [Fri, 25 Aug 2017 08:08:59 +0000 (17:08 +0900)]
efl_animation: Add group animation
Efl.Animation.Group is an abstract class which provides methods for
group animations such as parallel and sequential group animations.
Jaehyun Cho [Fri, 25 Aug 2017 07:55:48 +0000 (16:55 +0900)]
efl_animation: Add translate animation object
Jaehyun Cho [Fri, 25 Aug 2017 04:37:12 +0000 (13:37 +0900)]
efl_animation: Add translate animation
Jaehyun Cho [Fri, 25 Aug 2017 03:03:08 +0000 (12:03 +0900)]
efl_animation: Add scale animation object
Jaehyun Cho [Fri, 25 Aug 2017 02:34:28 +0000 (11:34 +0900)]
efl_animation: Add scale animation
Jaehyun Cho [Fri, 25 Aug 2017 02:26:09 +0000 (11:26 +0900)]
efl_animation: Add rotate animation object
Jaehyun Cho [Fri, 25 Aug 2017 02:10:58 +0000 (11:10 +0900)]
efl_animation: Add rotate animation
Jaehyun Cho [Fri, 25 Aug 2017 01:47:26 +0000 (10:47 +0900)]
efl_animation: Add alpha animation object
Jaehyun Cho [Fri, 25 Aug 2017 01:14:51 +0000 (10:14 +0900)]
efl_animation: Add alpha animation
Jaehyun Cho [Thu, 24 Aug 2017 13:34:13 +0000 (22:34 +0900)]
efl_animation: Add animation object
Efl.Animation.Object is a class which starts or cancels animation.
Efl.Animation.Object instance is created by Efl.Animation instance.
So Efl.Animation.Object instance contains animation properties from
Efl.animation instance.
Animation properties are set by using Efl.Animation instance and the
animation is started or cancelled by using Efl.Animation.Object.
Jaehyun Cho [Thu, 24 Aug 2017 11:45:52 +0000 (20:45 +0900)]
efl_animation: Add efl_animation
Efl.Animation is a class which contains basic properties of animation
for Efl.Canvas.Object.
Jean-Philippe Andre [Thu, 12 Oct 2017 09:16:42 +0000 (18:16 +0900)]
widget: Rename focus_region (EO)
This region has little to do with focus, as it's more of a region of
interest within the widget, and not directly related to the highlight
geometry, for instance. It's related to focus in the sense that only
widgets with focus would really care about this region.
I decided to change this name after talking with @bu5hm4n.
Note that gengrid uses this but is also completely broken (the focus
highlight floats around and you don't even see the focused item).
Note: This is very close to show_region but I'm not sure those can be
merged safely (since the default "focus_region" is NULL while the
default "show_region" is the widget's geometry).
Ref T5363
Jean-Philippe Andre [Thu, 12 Oct 2017 07:00:42 +0000 (16:00 +0900)]
edje_object: Mark access_part_iterate as @beta
This may be internal... Not sure we need this exposed outside of the
ATSPI layer, really. Marking as beta for now.
Ref T5315
Sungtaek Hong [Thu, 12 Oct 2017 06:29:39 +0000 (15:29 +0900)]
efl_ui_bg: fix ELM_BG_OPTION_CENTER bg in left top side.
Summary:
- setting size_hint_min logic was deleted while changed elm_bg to efl_ui_bg.
- this sets size_hint_min again.
@fix
Test Plan:
1. Run Elementary test
2. Run Bg Option
3. Select Center radio.
4. Resize windows.
5. Observe bg images remains in center.
Reviewers: jpeg, JackDanielZ
Subscribers: cedric, jpeg
Differential Revision: https://phab.enlightenment.org/D5281
Jean-Philippe Andre [Thu, 12 Oct 2017 06:15:34 +0000 (15:15 +0900)]
evas: Implement support for different H/V font DPI
This is modifying how a rarely used environment variable that sets the
DPI used for font sizing is parsed. The previous form remains valid, of
course. Note that EFL tends to use "scaling" instead of this DPI. The
font DPI is useful for me to open up a terminology window with almost
the same size as my IDE's code viewer.
Use case:
export EVAS_FONT_DPI=95x94 terminology
Note:
I still don't get a 1:1 match with Qt's rendering, and in fact
94x95 works better than what 95x94 (which is reported by xdpyinfo).
Interesting though :)
@feature
Jean-Philippe Andre [Thu, 12 Oct 2017 03:28:23 +0000 (12:28 +0900)]
widget: Some EO docs formatting
Cosmetic surgery.
Cedric BAIL [Wed, 11 Oct 2017 21:19:44 +0000 (14:19 -0700)]
elementary: update elementary binary to use efl_exit().
Cedric BAIL [Wed, 11 Oct 2017 21:15:36 +0000 (14:15 -0700)]
elementary: add way to exit symetric to EFL_MAIN.
Stephen Houston [Wed, 11 Oct 2017 20:05:02 +0000 (15:05 -0500)]
Luncher theme: Offset the preview from the bottom.
Stephen Houston [Wed, 11 Oct 2017 19:02:25 +0000 (14:02 -0500)]
Luncher theme: Keep aspect on luncher preview - Don't force max sizes.
Chris Michael [Wed, 11 Oct 2017 17:07:09 +0000 (13:07 -0400)]
ecore-evas-drm: Reduce code duplication
Minor code cleanup to reduce duplicated function calls.
NB: No functional changes
Signed-off-by: Chris Michael <cp.michael@samsung.com>
Chris Michael [Wed, 11 Oct 2017 13:21:48 +0000 (09:21 -0400)]
emotion: Properly unmap video frame
Calls to gst_video_frame_unmap should take a GstVideoFrame as a
parameter (not a buffer). I believe this was the intended function
here (to unmap the video frame), so fix the call to not pass a
GstBuffer.
@fix
Signed-off-by: Chris Michael <cp.michael@samsung.com>
Chris Michael [Wed, 11 Oct 2017 13:17:35 +0000 (09:17 -0400)]
evas: Compile out unused functions
These timestamp functions are not currently being called, perhaps they
were intended for something later?, but for now just #if 0 them out as
they are not used
Signed-off-by: Chris Michael <cp.michael@samsung.com>
Amitesh Singh [Wed, 11 Oct 2017 08:03:33 +0000 (17:03 +0900)]
efl theme: Add heirarchy for new theme
Marcel Hollerbach [Wed, 11 Oct 2017 07:50:39 +0000 (09:50 +0200)]
elm: include those headers in Elementary.h
Marcel Hollerbach [Wed, 11 Oct 2017 07:13:00 +0000 (09:13 +0200)]
elm: fix compilation of examples
We need to install efl.ui.focus.composition and efl.ui.focus.layer
WooHyun Jung [Wed, 11 Oct 2017 02:00:25 +0000 (11:00 +0900)]
efl_ui_clock: remove unused signals
Marcel Hollerbach [Tue, 10 Oct 2017 20:24:39 +0000 (22:24 +0200)]
elm_main: also return true when the object is a redirect manager
Marcel Hollerbach [Tue, 10 Oct 2017 19:35:27 +0000 (21:35 +0200)]
elm_interface_scrollable: use focus_geometry not normal geometry
Marcel Hollerbach [Tue, 10 Oct 2017 19:23:42 +0000 (21:23 +0200)]
elm_widget: also eval all children when we are visible
Marcel Hollerbach [Tue, 10 Oct 2017 17:52:18 +0000 (19:52 +0200)]
Merge branch 'devs/bu5hm4n/remove-old-focus-api'
This removes the old focus api from elm_widget.
This sadly brings a few breaks with it that will be fixed in the next
few weeks.
There is currently no item-content focus in gengrid, genlist, list.
custom focus chains are not supported right now, calling the api of it
will result in NOPs.
Inline windows are currently also not getting focus, even though they
should.
Marcel Hollerbach [Wed, 27 Sep 2017 19:20:51 +0000 (21:20 +0200)]
elm_widget: remove apis we dont need anymore
Marcel Hollerbach [Tue, 10 Oct 2017 13:20:13 +0000 (15:20 +0200)]
elm_main: port to new focus api
Marcel Hollerbach [Wed, 16 Aug 2017 13:56:57 +0000 (15:56 +0200)]
elm: move the focus direction definition to general
and remove the old definition
Marcel Hollerbach [Mon, 25 Sep 2017 16:00:06 +0000 (18:00 +0200)]
elm_code: remove those parts
they are not anymore needed, before they existed for keeping the focus
in the window, even if the keystrokes should be focus movements. This is
already working without this.
Marcel Hollerbach [Tue, 26 Sep 2017 23:07:20 +0000 (01:07 +0200)]
efl_ui_win: port to new focus api!
Marcel Hollerbach [Wed, 27 Sep 2017 15:28:41 +0000 (17:28 +0200)]
elm_access: Port to the new focus api
Marcel Hollerbach [Tue, 10 Oct 2017 10:07:21 +0000 (12:07 +0200)]
elm_gengrid: disable the code for now
it will return later
Marcel Hollerbach [Tue, 26 Sep 2017 23:26:33 +0000 (01:26 +0200)]
elm_genlist: for now disable this code
it will return later
Marcel Hollerbach [Tue, 26 Sep 2017 23:35:53 +0000 (01:35 +0200)]
elm_list: for now disable the code
it will return later
Marcel Hollerbach [Mon, 25 Sep 2017 16:01:04 +0000 (18:01 +0200)]
elm_colorselector: migrate to composition!
Marcel Hollerbach [Tue, 26 Sep 2017 23:46:00 +0000 (01:46 +0200)]
elm_spinner: migrate to composition!
Marcel Hollerbach [Mon, 2 Oct 2017 20:52:48 +0000 (22:52 +0200)]
elm_panel: make it a layer
Marcel Hollerbach [Mon, 2 Oct 2017 20:47:53 +0000 (22:47 +0200)]
elm_ui_focus_layer: add configurable behaviour
the layer can now be configured if it should be automatically enabled at
visibility and if the focus should cycle in the layer or not.
Marcel Hollerbach [Tue, 26 Sep 2017 23:37:36 +0000 (01:37 +0200)]
elm_notify: remove old api!
Marcel Hollerbach [Sat, 30 Sep 2017 18:01:18 +0000 (20:01 +0200)]
elm_segment_control: migrate to composition!
Yes! We now have a widget where the we can focus items ... but nothing
more ... ?!