Jean-Philippe Andre [Wed, 31 Aug 2016 06:41:12 +0000 (15:41 +0900)]
win: Add EO API to query state of multi touch points
This combines evas canvas functions to list and query
touch points into a single iterator:
- evas_touch_point_list_count
- evas_touch_point_list_nth_xy_get
- evas_touch_point_list_nth_id_get
- evas_touch_point_list_nth_state_get
This also fixes a number of issues related to feeding fake
input events.
Note: I wanted to add delta x,y information as well but it's
in fact not really possible outside the event callback itself,
as the previous x,y position will not be updated unless there's
an event.
@feature
Jean-Philippe Andre [Wed, 31 Aug 2016 05:24:14 +0000 (14:24 +0900)]
win: Move pointer "xy" and "inside" to input interface
Those two properties aren't related to a "drawing" canvas
but to the current state of input.
Note: both Efl.Input.Pointer (pointer input event data) and
Efl.Input.Interface (common interface for input handling objects)
expose a pointer position API. Not sure what to do about that.
Jean-Philippe Andre [Wed, 31 Aug 2016 04:35:15 +0000 (13:35 +0900)]
evas events: Fix axis input values
This adds support for distance, pressure, tilt and twist.
Not entirely sure if normalized & raw (x,y) should be exposed
in the eo interface. Also not sure what to do with tilt_x/y
(as used by libinput) or touch/tool width "major/minor" vs.
radius x/y.
Add debug logs in the example, including the distance.
I can't test most of these values due to a lack of compatible
hardware, but the most basic features seem to work :)
Jean-Philippe Andre [Thu, 1 Sep 2016 02:17:08 +0000 (11:17 +0900)]
evas: Fix unlikely crash with image cache
This happened to me when running elm_suite manually, during
elm_shutdown. At this point, cache shouldn't be null, but better
be safe anyway.
Jean-Philippe Andre [Thu, 1 Sep 2016 02:16:12 +0000 (11:16 +0900)]
ecore_poller: Fix unlikely crash if eo data is null
This happened to me when running elm_suite manually.
Jean-Philippe Andre [Wed, 31 Aug 2016 08:08:00 +0000 (17:08 +0900)]
js: Switch to Efl_Event
I haven't tested the compilation... but I guess this can't hurt.
Jean-Philippe Andre [Wed, 31 Aug 2016 08:07:04 +0000 (17:07 +0900)]
cxx: Fix compilation (Efl_Event)
Jee-Yong Um [Thu, 1 Sep 2016 02:33:04 +0000 (11:33 +0900)]
elementary: remove unused SMART_NAME strings
Summary: Smart name strings are not used any more.
Reviewers: Hermet, cedric, jpeg
Differential Revision: https://phab.enlightenment.org/D4261
Jean Guyomarc'h [Tue, 30 Aug 2016 14:12:47 +0000 (16:12 +0200)]
ecore_cocoa: fix wrong key assignment
Daniel Kolesa [Wed, 31 Aug 2016 15:17:25 +0000 (16:17 +0100)]
docs: add editable section writing to writer
Daniel Kolesa [Wed, 31 Aug 2016 15:10:04 +0000 (16:10 +0100)]
docs: hide date/user/link in included editable sections
Daniel Kolesa [Wed, 31 Aug 2016 15:01:53 +0000 (16:01 +0100)]
docs: initial test for user editable sections
Daniel Kolesa [Wed, 31 Aug 2016 14:53:39 +0000 (15:53 +0100)]
docs: allow false root in namespace tables
Daniel Kolesa [Wed, 31 Aug 2016 14:50:31 +0000 (15:50 +0100)]
docs: separate auto/user from root namespace
Daniel Kolesa [Wed, 31 Aug 2016 14:18:10 +0000 (15:18 +0100)]
docs: generate within the docs:efl:auto namespace (for future editable blocks)
Daniel Hirt [Mon, 1 Aug 2016 12:52:18 +0000 (15:52 +0300)]
Canvas text: fix ellipsis RTL handling
First, fixing ellipsis text positions: ellipsis items should be assigned the
text positions of the omitted text (while maintaining the formatting of the
last visual item). In the case where an entire item was rejected, it
will be assigned that item's text position. If an item was split, it will be
assigned the text position of the split portion.
The BiDi reorder code relies on properly-assigned text positions.
Second, fixing ellipsis handling: the width calc was only considering the
ellipsis item's width. However, if the ellipsis is placed as e.g. the first
visual item (such as in RTL cases), its advance value should've be considered,
instead.
Thanks Youngbok Shin for the test case and information.
@fix
Amitesh Singh [Wed, 31 Aug 2016 10:47:52 +0000 (16:17 +0530)]
eina: module - Add macros for adding module informations
Summary:
These macros allow you to define module informations like
author/description/version/license
e.g.
// Use "Name <email id>" or just "Name"
EINA_MODULE_AUTHOR("Enlightenment Community");
// Mention license
EINA_MODULE_LICENSE("GPL v2");
// What your module does
EINA_MODULE_DESCRIPTION("This is what this module does");
// Module version
EINA_MODULE_VERSION("0.1");
Now eina_modinfo can show these informations to users
$ eina_modinfo module.so
version: 0.1
description: Entry test
license: GPLv2
author: Enlightenment Community
@feature
Reviewers: cedric, tasn, raster, jpeg
Subscribers: seoz
Differential Revision: https://phab.enlightenment.org/D4257
Jean-Philippe Andre [Wed, 31 Aug 2016 02:33:20 +0000 (11:33 +0900)]
evas events: Fix repeated calls to mouse callbacks
After my many input events changes, a same object callback
could be called multiple times in a row because both mouse
and multi events were sent. As such, the multi event had no
direct effect (no callback called) but it reset the object's
last event type. This allowed the mouse event callbacks to be
called again.
Note that I haven't tested multi touch yet :(
Very good catch by @bu5hm4n!
Fixes T4462
Fixes T4467
WooHyun Jung [Wed, 31 Aug 2016 00:36:52 +0000 (09:36 +0900)]
elm widget: remove meaningless brackets
Andy Williams [Tue, 30 Aug 2016 22:22:41 +0000 (23:22 +0100)]
elm: Try to use the code highlight color from out website in Elm_Code
Vitor Sousa [Mon, 29 Aug 2016 23:13:22 +0000 (20:13 -0300)]
efl callbacks: update some events calls to no longer trigger legacy callbacks
Mykyta Biliavskyi [Tue, 30 Aug 2016 13:57:33 +0000 (16:57 +0300)]
Edje edit: allocate memory for mempools.
Just added allocations that missed in "edje - reduce another 400k or so
of memory usage (esp hello world)" commit.
Tom Hacohen [Tue, 30 Aug 2016 12:39:37 +0000 (13:39 +0100)]
Evas engine drm: Fix style (and thus compilation warning).
Double parenthesis in ifs, such as "if ((x = 5))" should only be used
iff using assignment inside of conditions (like the example above). This
explicitly conveys the intention to both the compiler and other
programmers and essentially eliminates the class of bugs that result
from accidental assignment when a comparison was intended and vise-versa
in conditions.
Tom Hacohen [Tue, 30 Aug 2016 12:36:41 +0000 (13:36 +0100)]
Edje cc: Rename and move around shadowing variable.
Tom Hacohen [Tue, 30 Aug 2016 12:34:10 +0000 (13:34 +0100)]
Efl object: Rename Eo_Event -> Efl_Event.
This is the last step of the Eo renaming efforts.
Jean-Philippe Andre [Tue, 30 Aug 2016 11:52:02 +0000 (20:52 +0900)]
ecore_con: Add missing socket.h
Reported and patched by @netstar
Fixes T4461
Jean-Philippe Andre [Tue, 30 Aug 2016 02:04:31 +0000 (11:04 +0900)]
win: Fix ERR message with object,focus,in
enventor exhibits this issue, where the focus target is
NULL in some cases. The ERR message was harmless, but it's
good to avoid it and be explicit that the object should be
non NULL when adding event callbacks.
Jean-Philippe Andre [Mon, 29 Aug 2016 08:04:31 +0000 (17:04 +0900)]
evas events: Properly signal to clients which values are set
Since pointer events are all the same thing, users may not know
what values are valid for what kind of event. Eventually we
want to expose more information, but we also need a way to inform
the caller about the validity of the values we get.
Jean-Philippe Andre [Mon, 29 Aug 2016 08:04:57 +0000 (17:04 +0900)]
evas events: Fix mistake in multi_move
I guess (can't test) that multi touch was broken, as the
position of the event was set to the position of the pointer
on the canvas. Which means all fingers would be in the same
spot, no matter what the real input. Copy & paste error.
Gustavo Sverzut Barbieri [Tue, 30 Aug 2016 02:35:31 +0000 (23:35 -0300)]
efl_net_dialer_http: keep fd directly.
provide curl with CURLOPT_OPENSOCKETFUNCTION and keep the fd in our
private data.
This is required because on _efl_net_dialer_http_efl_io_writer_write()
we may have no fdhandler.
It happened to me while implementing the WebSocket that uses a
bi-directional communication on top of HTTP and the server sent the
whole message, CURL reads:
recvfrom(7, "...", 16384, 0, NULL, NULL) = 86
recvfrom(7, "", 16384, 0, NULL, NULL) = 0
After the empty (second) recvfrom(), CURL will remove the fdhandler:
DBG:ecore_con lib/ecore_con/efl_net_dialer_http.c:482 _efl_net_dialer_http_curlm_socket_manage() dialer=0x4000000040000005 fdhandler=(nil), fd=7, curl_easy=0x5561846ca8d0, flags=0x4
However I should be able to write to this socket, in my case I need to
reply to a PING request with a PONG.
Gustavo Sverzut Barbieri [Mon, 29 Aug 2016 17:50:33 +0000 (14:50 -0300)]
efl_net_dialer_http: allow incompatible configurations such as GET + upload.
CURL is smart and when you ask for CURLOPT_HTTPGET, it will
automatically configure UPLOAD=false. Likewise, if you ask for
UPLOAD=1 it will configure CURLOPT_PUT...
However, to do things like WebSocket we need to do a GET request where
we need to send data, then UPLOAD=true must be used.
Then use both information in order to setup the request method and
upload, using CURLOPT_CUSTOMREQUEST to force a given HTTP method.
Gustavo Sverzut Barbieri [Mon, 29 Aug 2016 17:49:03 +0000 (14:49 -0300)]
efl_net_dialer_http: cancel curl multi timer when it's gone.
If we delete the curl multi handle, then we should stop any timer that
was scheduled, otherwise it will use a dead or null pointer.
also add some debug to help track down when the multi handle is
deleted.
Gustavo Sverzut Barbieri [Wed, 24 Aug 2016 17:55:09 +0000 (14:55 -0300)]
efl_net_dialer_http: dispatch headers even if no data.
in some cases we get headers but no data to receive or send, then we
must still say headers were done and we're connected.
Gustavo Sverzut Barbieri [Mon, 29 Aug 2016 18:59:43 +0000 (15:59 -0300)]
emile: API break, rename sha1 to hmac_sha1, introduce real sha1.
emile_binbuf_sha1() was actually doing HMAC version using the given
key. This doesn't work when all you need is just the SHA1 of the input
data.
Then rename emile_binbuf_sha1() to emile_binbuf_hmac_sha1() and
introduce a new version without key/keylen.
This API was marked as BETA and no real users in the codebase, then it
shouldn't cause us problems.
Jean Guyomarc'h [Mon, 29 Aug 2016 13:53:50 +0000 (15:53 +0200)]
ecore-tests: make sure we always get a canonical path
There may be extraneous slashes that are contained in the returned
generated directories (because they were put there in environment
variables). Since we test with string comparison, some tests would fail
due to different environment setups.
Jean Guyomarc'h [Mon, 29 Aug 2016 13:24:51 +0000 (15:24 +0200)]
eina: fix behaviour break of eina_error_msg_get()
eina_error_msg_get() must return NULL if an incorrect error is provided.
The XSI strerror_r() returns EINVAL when an invalid error is passed to
it, so we can end the function here. If we kept on, we would have tested
against the 'unknown_prefix' ("Unknown error ") which is implementation
defined, and registered a new error when the invalid error message
didn't match the 'unknown_prefix'. This new error message would have
been returned, which is not what we expected.
This case arised on Mac OS X where the 'unkwown prefix' is
"Unknown error: " instead of "Unknown error ".
It fixes eina test suite on Mac OS X.
Jean Guyomarc'h [Mon, 29 Aug 2016 13:22:57 +0000 (15:22 +0200)]
elm-tests: don't include Ecore_X.h when not available
This fixes a build issue on Mac OS X.
Jean Guyomarc'h [Mon, 29 Aug 2016 08:35:21 +0000 (10:35 +0200)]
evas: don't redefine PAGE_SIZE if already defined
On OSX, we include mach.h (via the inlined locks API), which
already defines PAGE_SIZE.
Jean Guyomarc'h [Mon, 29 Aug 2016 17:55:21 +0000 (19:55 +0200)]
elementary: update tooltip documentation
Vitor Sousa [Tue, 23 Aug 2016 00:59:10 +0000 (21:59 -0300)]
elm fileselector: fix events that must be using Efl.Model objects
Use the new behavior of Efl.Object.event_callback_call to correctly
update events to pass Efl.Model objects while still suppling path
strings for legacy smart callbacks.
Override Elm.Fileselector.event_callback_legacy_call in order to separate
the types of any incoming event call that uses Efl.Model.
Subodh Kumar [Mon, 29 Aug 2016 08:23:07 +0000 (17:23 +0900)]
Edje entry: Pass correct cursor position and text to imf in case of selection
Summary:
When selection is there we are passing the whole text and position to imf
which sees that next character like matras (eg .Hindi) should be inserted
(if pressed) and when matra comes the selected text is gone and only matra
remains in the entry.
eg: we have text in hindi like मानक, select all and hit matra in keyboard
selected text is gone, only matra is there.
@fix
Test Plan: Tested in Tizen device
Reviewers: jihoon, tasn, herdsman, thiepha
Subscribers: Hermet, shilpasingh, raster, subodh, jpeg, cedric
Differential Revision: https://phab.enlightenment.org/D2951
Carsten Haitzler (Rasterman) [Mon, 29 Aug 2016 06:36:48 +0000 (15:36 +0900)]
eo callbacks - move to mempools for callback data for more speed
also help reduce fragmentation. also remove callbacks immediately if
callbacks are not being walked at the time (as opposed to just marking
them to need deletion then call a clean that if not being walked will
walk all cb's when we already know what to remove).
@optimize
Carsten Haitzler (Rasterman) [Mon, 29 Aug 2016 05:56:58 +0000 (14:56 +0900)]
efl po's - update
WooHyun Jung [Sat, 27 Aug 2016 04:48:35 +0000 (13:48 +0900)]
elm focus: focus_auto_hide should be done with mouse_down
Focus highlight can be on the air, when focused object in scroller is
moved by mouse down and move.
So, mouse up is not proper for executing focus_auto_hide.
@fix
Carsten Haitzler (Rasterman) [Sat, 27 Aug 2016 00:06:49 +0000 (09:06 +0900)]
fix filselector legacy cb call order and entry set - fix file,chosen
The visible bug for this issue is that the Elm External Video example
is broken:
elementary_test -to "ExtVideo"
The root cause is that the "file,choose" event of the
FileselectorEntry is (wrongly) not listed by the function:
evas_object_smart_callbacks_descriptions_get()
This evas functions is used in elm_external to forward all the widget
events to edje, but it cannot forward the "file,chosen" event because
it's not listed.
Thus the video test is not working for the lacks of that event.
I think the fix should be somewhere in elc_fileselector_entry.c, there
are some hacks there for the incriminated signal, but I don't know how
to properly fix.
as pointed out by dave:
DaveMDS added a comment.Fri, Aug 26, 5:19 PM
I think the problem is in this function: (elc_fileselector_entry.c)
...
this fixes T4337
Vitor Sousa [Wed, 24 Aug 2016 22:43:51 +0000 (19:43 -0300)]
elm fileselector: fix possible premature deletion of Listing_Request struct
In a case where eina_promise_then is executed immediately (like with some
quick and light Efl.Model), the Listing_Request struct will be prematurely
freed in the first iteration of the child processing loop, because the
item_total counter had not accumulated the right number of items yet.
With this commit, we traverse the children accessor first, so we can know
the number of items.
Also, no longer use the Listing_Request pointer after the loop, once it
may have been deallocate already.
And put a note about this too.
Jean Guyomarc'h [Fri, 26 Aug 2016 13:53:05 +0000 (15:53 +0200)]
efreet: mime types database can be empty
When the mime types database is empty, the file will
be exactly 28 bytes.
Fixes T4426
Jean Guyomarc'h [Fri, 26 Aug 2016 13:43:16 +0000 (15:43 +0200)]
elementary: better error handling of fileselector
Jean Guyomarc'h [Fri, 26 Aug 2016 13:04:37 +0000 (15:04 +0200)]
elementary: prevent double free
This one is a bit tricky... When we create the aggregated
promise, if one of the properties of the model returns an
error, the eina_promise_then() will immediately call the
error callback. In this happened for the first item, the
total items in the listing request would be 1.
Before this commit, we tested for incremented the processed
counter and compared it to this total count. If it was
greater or equal, we would free the common listing request.
But in the case of successive failures, we would set the
total counter to 1, then the processed counter to 1 and
therefore free. Then increment the total counter to 2, then
then processed counter to 2, and free again... which would
cause an abort() from the libc or something else nasty.
Now we just decrease the total count of items. We avoid
the cases and double frees, without leaking.
Jean Guyomarc'h [Fri, 26 Aug 2016 13:00:52 +0000 (15:00 +0200)]
elementary: make sure we don't iterate out of bounds
The carray iterator will end iterating only when it finds a NULL
object. We must make sure the last element of the array is NULL
to avoid out of bounds access.
Jean Guyomarc'h [Fri, 26 Aug 2016 15:41:20 +0000 (17:41 +0200)]
eina: overhaul Mac OS X semaphores
Mac OS X does not support POSIX unnamed semaphores, only named
semaphores, which are persistant IPC: when the program exits,
and if semaphores where not released, they stay forever...
All EFL programs were "leaking" a semaphore, due to how
eina_log_monitor manages its resources. Therefore, after building
EFL a lot (which run eolian_gen, eolian_cxx, elua, edje_cc, ...)
we were not able to create any semaphore...
Now, we get rid of these semaphores and use Mac OS X's own
semaphores. Code is less cumbersome, and we don't have any
disavantage of the named semaphores.
Fixes T4423
@fix
Cedric BAIL [Fri, 26 Aug 2016 19:04:23 +0000 (12:04 -0700)]
eo: speedup efl_isa by 50%.
Most of our use case of efl_isa is related to legacy Evas_Object_Image API,
that check the isa of the same object again and again. Caching help.
Cedric BAIL [Fri, 26 Aug 2016 19:03:08 +0000 (12:03 -0700)]
eo: general speedup of all Eo related operation.
This change rely on the fact that we do fetch the same
object id over and over again. _efl_object_call_resolve got
15% faster, efl_data_scope_get 20%.
Cedric BAIL [Fri, 26 Aug 2016 19:01:52 +0000 (12:01 -0700)]
eo: remove useless duplicated check.
Vitor Sousa [Mon, 22 Aug 2016 22:40:39 +0000 (19:40 -0300)]
Efl Object: remove legacy callback calls from event_callback_call
Efl.Object.event_callback_call no longer calls legacy smart callbacks;
calling only event callbacks registered with the given event description
pointer.
Create the method Efl.Object.event_callback_legacy_call to inherit the old
behavior from Efl.Object.event_callback_call, calling both Efl.Object events
and legacy smart callbacks.
Update all other files accordingly in order to still supply legacy
callbacks while they are necessary.
Jean Guyomarc'h [Fri, 26 Aug 2016 14:48:58 +0000 (16:48 +0200)]
ecore_cocoa: fix fullscreen for older osx versions
Tested on 10.11 and 10.9.
Fixes T4395
Jean Guyomarc'h [Fri, 26 Aug 2016 14:35:31 +0000 (16:35 +0200)]
ecore_cocoa: refactor resizing request
Jean Guyomarc'h [Fri, 26 Aug 2016 14:13:18 +0000 (16:13 +0200)]
ecore_cocoa: fix memory leak
Stephen okra Houston [Fri, 26 Aug 2016 15:37:26 +0000 (10:37 -0500)]
Elementary: Genlist Tree Test - Add an item with the indent style to match tree style.
Stephen okra Houston [Fri, 26 Aug 2016 15:05:20 +0000 (10:05 -0500)]
Elementary Theme: Add "indent" genlist item style. This style allows non tree items to match tree items.
Mike Blumenkrantz [Fri, 26 Aug 2016 14:20:45 +0000 (10:20 -0400)]
efreet: add doc note about stringshare reliability for efreet_mime_type_get()
Andy Williams [Fri, 26 Aug 2016 14:17:12 +0000 (15:17 +0100)]
elm: Show code widget width marker after the column
Provide a clearer indication of what width is available
Daniel Kolesa [Fri, 26 Aug 2016 13:45:45 +0000 (14:45 +0100)]
docs: add an option to disable title plugin usage
Daniel Kolesa [Fri, 26 Aug 2016 13:42:19 +0000 (14:42 +0100)]
docs: let the writer handle title headings
Daniel Kolesa [Fri, 26 Aug 2016 13:31:33 +0000 (14:31 +0100)]
docs: generate proper title for all pages
Daniel Kolesa [Fri, 26 Aug 2016 13:28:11 +0000 (14:28 +0100)]
docs: add writer support for pagetitle plugin
Jean-Philippe Andre [Fri, 26 Aug 2016 08:09:38 +0000 (17:09 +0900)]
elm: Fix some ERR messages following previous patch
This simply avoids calling functions on NULL objects, since
the previous patch would ERR out rather than silently ignore
the problem.
I just add explicit NULL checks before calling the functions,
so it's clear the object could be NULL (in the widget).
Jean-Philippe Andre [Fri, 26 Aug 2016 02:44:11 +0000 (11:44 +0900)]
evas3d examples: Add EFL_EO_API_SUPPORT where needed
I might have broken this in a previous commit in evas headers,
but the thing is that beta does not imply eo api, so both are
still required.
Jean-Philippe Andre [Fri, 26 Aug 2016 02:27:37 +0000 (11:27 +0900)]
evas events: Add efl_isa safety checks in legacy EAPI
This removes useless magic checks (only check whether the
arg is not null) that were not even present in every function.
The cost should be similar or lower than an eo function call.
Jean-Philippe Andre [Thu, 25 Aug 2016 10:20:10 +0000 (19:20 +0900)]
efl: Rename Efl.Event.XX to Efl.Input.XX
This removes:
Efl.Event interface
And renames:
Efl.Event.Input -> Efl.Input.Event
Efl.Event -> Efl.Input.Event (merged)
Efl.Event.Pointer -> Efl.Input.Pointer
Efl.Event.Key -> Efl.Input.Key
Efl.Event.Hold -> Efl.Input.Hold
This also moves some interfaces from efl/ to evas/ where they
belong better.
This allows renaming Eo_Event to Efl_Event.
Jean-Philippe Andre [Thu, 25 Aug 2016 08:54:04 +0000 (17:54 +0900)]
evas: Add normalized and window coordinates to axis events
This is for Wacom graphics tablets (with a pen).
The raw data sent by ecore to evas (and then to apps) is pretty
useless as it's not normalized, and apps have no way of knowing the
dimensions of the tablet, without themselves opening the device
(we don't know nor expose the path to the device).
This is for Xi2 only for now, as Wayland support hasn't been done
yet.
The intent is to deprecate LABEL_X and LABEL_Y. I'm not sure yet
if the normalized value is useful or not (it would seem we may not
be able to provide this info in Wayland).
The new WINDOW_X, WINDOW_Y labels will be used in the new event
type (Efl.Event.Pointer). Normalized values are not exposed yet,
let's decide if we want them or not first (based on what can be
done in Wayland space).
@feature
Jean-Philippe Andre [Thu, 25 Aug 2016 07:03:45 +0000 (16:03 +0900)]
evas: Simplify internal evas_object_event_callback_call
This removes the distinction between legacy and new eo style
event info, since all those types have now been ported to eo.
Jean-Philippe Andre [Wed, 24 Aug 2016 08:44:32 +0000 (17:44 +0900)]
ecore xi2: Discard "axis" inputs from standard mice
Mice in X with xi2 send Axis events which are badly defined,
and carry basically useless information, as we also receive
proper mouse events. Notably, all mice input events are
"Rel something" but in fact they are absolute values (even
the wheel information is a counter increasing every time you
scroll).
This should not break any application as such axis events
carried only values with label ECORE_AXIS_LABEL_UNKNOWN.
This also fixes a leak when n == 0 (no "valuator" found
in the list, this used to be unlikely, now happens at every
mouse event).
Jean-Philippe Andre [Tue, 23 Aug 2016 11:23:48 +0000 (20:23 +0900)]
evas events: Switch axis events to the new eo type
This converts Evas_Axis or Ecore_Axis info arrays into basic
pointer data. Also marks those fields as set. All events need
to properly implement the value_has property (mark all bits
whenever a value is known).
Jean-Philippe Andre [Tue, 23 Aug 2016 09:12:10 +0000 (18:12 +0900)]
evas events: Rename properties and introduce generic value
This paves the way to a merge of pointer and axis events into
the class Efl.Event.Pointer.
Jean-Philippe Andre [Fri, 19 Aug 2016 07:40:57 +0000 (16:40 +0900)]
evas: Optimize out most callback call events
This sets a bit whenever a callback listener is added.
I couldn't get any profiling data easily (too small for
valgrind).
Note: This removes the proper refcounting on the "move"
event listeners. I believe this is not a problem as most times
the move_ref goes to 0, it is because the object is deleted.
Worst case, we just trigger a callback_call with no listeners.
This adds 32 bits to each evas object private data.
Jean-Philippe Andre [Fri, 19 Aug 2016 07:20:39 +0000 (16:20 +0900)]
evas: Move event catcher to evas_callbacks.c
No functional change.
Jean-Philippe Andre [Fri, 19 Aug 2016 06:42:44 +0000 (15:42 +0900)]
evas: Remove deprecated events from public EO class
del and free eo events don't need to be exposed, even as beta
API. They are still required for legacy callbacks.
Jean-Philippe Andre [Fri, 19 Aug 2016 06:38:25 +0000 (15:38 +0900)]
elm,evas: Remove use of EFL_CANVAS_OBJECT_EVENT_DEL
This event should not be exposed at all, it's not necessary
anymore, EFL_EVENT_DEL already exists and should be good enough.
This does move the callback call a little bit ealier in the del
process, but at first glance, this shouldn't have any impact.
Jean-Philippe Andre [Fri, 19 Aug 2016 05:22:15 +0000 (14:22 +0900)]
evas events: Add new "finger,move/down/up" events for multi touch
This moves MULTI events to those new finger event types,
and also sends a finger event for finger 0 (aka the pointer).
NOTE: This may require a separation between a mouse input and
an actual finger touch. To be defined, ie: do we let the app
check the input device info to decide whether the event is
actually the first finger of a multi touch device, or do
we want to send only actual finger events from multi touch
devices only?
@feature
Jean-Philippe Andre [Fri, 19 Aug 2016 04:33:11 +0000 (13:33 +0900)]
evas events: Simplify event counter
Simplify code:
_evas_object_event_new()
event_id = _evas_event_counter
Into:
event_id = _evas_object_event_new()
Jean-Philippe Andre [Thu, 18 Aug 2016 08:09:31 +0000 (17:09 +0900)]
evas events: Remove now unused code
Jean-Philippe Andre [Thu, 18 Aug 2016 08:06:17 +0000 (17:06 +0900)]
evas events: Fix crash when translating legacy events
An obvious crash happened when reusing a legacy struct
from another type.
Jean-Philippe Andre [Thu, 18 Aug 2016 07:28:55 +0000 (16:28 +0900)]
evas events: Switch mouse move events to the new type
This is the last commit for this crazy input transformation
series. The following commits will be cleaning up now
unused code, and fixing bugs.
Jean-Philippe Andre [Thu, 18 Aug 2016 06:33:36 +0000 (15:33 +0900)]
evas events: Switch multi move to new event type
Now only the single move remains. Almost done!
Jean-Philippe Andre [Thu, 18 Aug 2016 05:54:54 +0000 (14:54 +0900)]
evas events: Switch multi up/down to the new event type
Jean-Philippe Andre [Thu, 18 Aug 2016 03:01:39 +0000 (12:01 +0900)]
evas events: Switch mouse in/out events to the new event type
Jean-Philippe Andre [Wed, 17 Aug 2016 13:00:37 +0000 (22:00 +0900)]
evas events: Switch mouse move event to the new event type (1)
This only modifies the proxy source handling code.
Jean-Philippe Andre [Wed, 17 Aug 2016 11:29:39 +0000 (20:29 +0900)]
evas events: Switch mouse up/down to the new event type
This is getting trickier, as those events have a lot more
side effects and complexity than a simple wheel event...
Some code has been added that should be fixed in the following
commits.
Jean-Philippe Andre [Wed, 17 Aug 2016 10:39:10 +0000 (19:39 +0900)]
evas events: Switch key up/down event to new eo type
Jean-Philippe Andre [Wed, 17 Aug 2016 10:11:53 +0000 (19:11 +0900)]
evas events: Switch hold event to new eo type
Evas_Event_Hold is now barely used anywhere.
This also adds support for event_flags to this type.
Jean-Philippe Andre [Thu, 11 Aug 2016 02:58:42 +0000 (11:58 +0900)]
evas events: Switch wheel event to the new type
For now this covers only the wheel event.
Note: This patch also modifies evas map to use double in an
internal function, rather than ints.
Cedric BAIL [Thu, 25 Aug 2016 22:20:19 +0000 (15:20 -0700)]
eina: readdir_r has been deprecated.
So glibc has decided that readdir_r is hard to use safely and deprecated it
this summer. They recommand to use readdir, which was in the past unsafe to
use in a multi thread scenario, but is now on most system (and all system
we care, including our own implementation in evil). It is basically safe
as long the same DIRP is not accessed from another thread. This is true in
our code base, so we are fine to go with this.
For further reading: https://lwn.net/Articles/696474/
Jean Guyomarc'h [Wed, 24 Aug 2016 15:58:29 +0000 (17:58 +0200)]
evas-gl_cocoa: migrate to gl_generic infrastructure
It has been a long journey, but here we are at last...
The infamous gl_cocoa engine has been migrated to the
gl_generic infrastructure. This should provide great
improvements and hopefully reduce side-channels b0rkage.
Fonts seems better, scrolling is smoother, expedite
does not segfault anymore... I haven't found a
regression with elementary_test, elementary_config,
terminology, expedite.
Jean Guyomarc'h [Wed, 24 Aug 2016 10:12:59 +0000 (12:12 +0200)]
evas-gl_cocoa: start refactoring for gl_generic
Jean Guyomarc'h [Wed, 24 Aug 2016 08:39:26 +0000 (10:39 +0200)]
evas-gl_cocoa: remove unused code
Jean Guyomarc'h [Wed, 24 Aug 2016 08:37:10 +0000 (10:37 +0200)]
evas-gl_cocoa: cleanup eng_setup
Jean Guyomarc'h [Wed, 24 Aug 2016 08:24:49 +0000 (10:24 +0200)]
evas-gl_cocoa: cleanup eng_info
Jean Guyomarc'h [Wed, 24 Aug 2016 08:20:38 +0000 (10:20 +0200)]
evas-gl_cocoa: init/shutdown cleanup
Jean-Philippe Andre [Thu, 25 Aug 2016 11:09:23 +0000 (20:09 +0900)]
configure: Enable elput if wayland is requested
This makes ./configure --enable-wayland work without having to
specify --enable-elput.