Commit Graph

47639 Commits

Author SHA1 Message Date
junsu choi 260377a376 emile: fix build warning of Emile_Image.
Summary: initialized structure 'opts_region' for uninitialized build warning

Test Plan: N/A

Reviewers: raster, woohyun, cedric

Reviewed By: cedric

Subscribers: cedric, jpeg

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

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2016-05-31 14:59:26 -07:00
Cedric BAIL 6bf9cd6ecc ecore: if you don't use the value, then don't set it. 2016-05-31 14:59:26 -07:00
Cedric BAIL 9bcad265a7 eina: don't access dead promise.
We do properly unref promise while calling all the then callback. There
is no need to check it a second time (which actually lead to a 100%
bad access).

T3759
2016-05-31 14:59:26 -07:00
Jean Guyomarc'h bc0547a705 ecore: remove unwanted debug messages
Da is making my console output ugly.
2016-05-31 21:47:48 +02:00
Mike Blumenkrantz b7dc576ec8 ecore-con: print win32 svr->path on pipe creation failure
ref T3758
2016-05-31 14:03:48 -04:00
Tom Hacohen 21eb355c2b Remove legacy elementary directory
The merge is already done and everything works as expected. There is no
need to keep this one.
2016-05-31 18:28:22 +01:00
Daniel Kolesa 6fc482aa9b eolian: utilize the new builtin string type across eo files 2016-05-31 16:05:43 +01:00
Chris Michael af22796356 ecore-drm: Deprecate Ecore_Drm library
Small patch to deprecate Ecore_Drm. This patch also adds a configure
option to enable ecore_drm for older code. This option is disabled by
default, so must be explicitly specified during build.

Signed-off-by: Chris Michael <cpmichael@osg.samsung.com>
2016-05-31 10:05:28 -04:00
Chris Michael e01ac62e5f ecore-evas-drm: Disable direct input callback
For ecore_evas drm engine(s), disable setting of
ecore_event_window_direct_callback as this Completely Breaks all input
when running Enlightenment Wayland.

NB: This can likely be re-enabled at some point, when the jpeg
breakage is over ;)

@fix

Signed-off-by: Chris Michael <cpmichael@osg.samsung.com>
2016-05-31 09:49:43 -04:00
Chris Michael 1ca1f8b06d ecore-evas-drm: Register direct input callback for gl_drm also
@fix

Signed-off-by: Chris Michael <cpmichael@osg.samsung.com>
2016-05-31 09:23:20 -04:00
Stefan Schmidt c00d6cae25 po: update POTFILE.in after file rename of elm_image.c
Follwoing a0ec05cd8f we also rename the file
here to fix the po file generation.
2016-05-31 14:11:27 +02:00
Jean-Philippe Andre b1e361e8de elm: Fix build (use efl_ui_image.eo) 2016-05-31 20:51:31 +09:00
Ji-Youn Park a0ec05cd8f elm_image: rename the elm_image into efl_ui_image. 2016-05-31 19:16:41 +08:30
Jean-Philippe Andre b8d1db365b Evas: Add proper EO events with info for mouse inputs
This adds a few classes, in particular Efl.Event and Efl.Event.Point
which are used as the event info for all pointer (mouse, multi) call

Using an eo object as event info will allow for future extensions
really easily. We don't need to expose any of the internals, also
a single type can be used for all pointer events.

Still TODO:
 - Keyboard events (urgent)
 - Axis / Joystick events (needs porting from Tizen)
 - Gestures support (probably later)
 - Event feeding from app side (manual feed)

Not going to be ported to EO:
 - Hold API and hold event. Seems barely used.

The new APIs are not very much tested at this point, and rely on the
old legacy event system. The most important thing right now is to
ensure that nothing was broken so far. Unfortunately I can only do
this much testing myself...

Merge branch 'devs/jpeg/work'
2016-05-31 19:08:37 +09:00
Jean-Philippe Andre b0a32b0bd0 Efl: Rename Efl.Pointer.Event into Efl.Event.Pointer
Also renames two types: Efl.Pointer.Flags and Efl.Event.Flags
2016-05-31 19:03:04 +09:00
Jean-Philippe Andre 9b4a6ba639 Evas events: Fix a crash
There was an invalid reference used because we changed
legacy event type without resetting eo event info.
Scenario: scroll + click
2016-05-31 19:03:04 +09:00
Jean-Philippe Andre 632ef37226 Evas events: Propagate event flags between eo and legacy
If on_hold or on_scroll is set in an eo callback, the subsequent
calls to the legacy callbacks will also have this flag set.
Inversely the legacy callbacks should affect all subsequent eo
callbacks.

Note: those are just indicative flags.
2016-05-31 19:03:04 +09:00
Jean-Philippe Andre 6832959318 Evas events: Add helper functions to read event info
This adds simple helpers for double/triple click
and on_hold/on_scroll flags.
2016-05-31 19:03:04 +09:00
Jean-Philippe Andre 4381d3a824 Evas events: Store position as double only
This splits pixel and subpixel precision by using
different methods rather than two different storage values.
2016-05-31 19:03:04 +09:00
Jean-Philippe Andre 02716d03c8 Efl event: Remove useless method declaration 2016-05-31 19:03:04 +09:00
Jean-Philippe Andre 0a27c78a33 Evas events: Split pointer events
This is going back to the same idea as legacy. We will have
events such as:
- move
- down
- up
- in
- out
- wheel
- cancel ("new" - very rare)

Now the question is whether/how we should divide "multi" events
which start from the 2nd finger from standard mouse events. The first
multitouch finger should by default look like a mouse event.
2016-05-31 19:03:04 +09:00
Jean-Philippe Andre 1950fb6fde Elm win: Forward pointer events from evas to window
This will allow applications to listen to those events
on the whole window. Necessary since they won't have access
to Evas with EO APIs.
2016-05-31 19:03:04 +09:00
Jean-Philippe Andre c68f71239c Evas events: Add EO APIs for lock & modifiers
This moves Efl.Pointer.Event back to Evas. Originally I wanted
to share this class with Ecore but eventually I didn't need to
do so, since only ecore_evas (which depends on evas) really needs
access to these.

The internal data struct is not moved out of efl (yet?)
2016-05-31 19:03:04 +09:00
Jean-Philippe Andre 2ca159dc58 Evas events: Replace calls to event feed with internal func 2016-05-31 19:03:04 +09:00
Jean-Philippe Andre 4c7272720b Evas events: Pass Efl_Pointer_Event for proxy source events 2016-05-31 19:03:04 +09:00
Jean-Philippe Andre 7658ed7ae3 Evas events: Forward more pointer events
This continues the work started in the previous commit:
forward full event info (Efl_Pointer_Event) from evas to
the upper layers.

This also includes more support for IN and OUT.
2016-05-31 19:03:04 +09:00
Jean-Philippe Andre 37d894abb1 evas: send eo pointer events on mouse move
This is still VERY experimental and not fully done yet.
All other pointer events need to be sent as well.

The legacy event system is used as a transportation mechanism,
as it is too hard to change the logic. This only adds an extra
eo event in case of move. Obviously for performance we might
want to listen to callback_add,del but that's an optimization
for later.

The whole point of sending those pointer events is to carry more
information than can be sent over legacy evas events, and unify
the events in a common format.
2016-05-31 19:03:04 +09:00
Jean-Philippe Andre 8e31929aab Efl.Pointer.Event: Add dup() method to copy an event 2016-05-31 19:03:04 +09:00
Jean-Philippe Andre 05dfab8442 ecore_x: Pass in/out through ecore_input_evas
This whole input system is a massive mess. It looks like spaghetti.
Long live the giant flying monster.

This commit changes how some events are propagated in X.

Before:
 ecore_x -> evas_event -> evas

After:
 ecore_x -> ecore_input_evas -> ecore_evas -> evas_event -> evas

There are still inconsistencies between events and between X and WL,
but ecore_evas should be used for all events since it rotates the
inputs.
2016-05-31 19:03:04 +09:00
Jean-Philippe Andre 1c739cada9 evas_events: Propagate more eo pointer events
This covers mouse in,out,cancel. Axis (joystick) is still
todo.
2016-05-31 19:03:04 +09:00
Jean-Philippe Andre ef843e8801 efl: Simplify pointer event names + add missing
No more difference between touch & mouse.
Add axis, cancel, in and out.
2016-05-31 19:03:04 +09:00
Jean-Philippe Andre c1be667a6c ecore_evas: Pass mouse down,up,move with eo
This way, ecore sends eo events to evas, which can then
be listened to by other clients (FIXME: the events will
need to be propagated from evas to the elm window).

Current support:
- mouse/multi down
- mouse/multi up
- mouse/multi move
- mouse wheel
2016-05-31 19:03:04 +09:00
Jean-Philippe Andre f119327495 evas: Move event feed and input to legacy 2016-05-31 19:03:04 +09:00
Jean-Philippe Andre d764d8710a ecore_evas: Feed evas events with eo (down, up) 2016-05-31 19:03:04 +09:00
Jean-Philippe Andre 21bc2f89f5 ecore_input: Pass all events through direct cb first
Since the direct input event callback returns true if the
event has been processed, we can easily support legacy and
progressively implement full support for eo input events.
2016-05-31 19:03:04 +09:00
Jean-Philippe Andre 5aa00004a5 ecore_evas: Register direct input cb from modules
If the ecore_evas modules were using
ecore_event_window_register() then they can also redirect
everything though the direct callback instead.
2016-05-31 19:03:04 +09:00
Jean-Philippe Andre bd70604ee8 ecore_evas: Add private direct callback for ecore
All ecore_input_evas events should be passed through ecore_evas
in order to avoid any information loss between ecore and evas.

This is a private API.
2016-05-31 19:03:04 +09:00
Jean-Philippe Andre ea8c6e5632 Evas: Extend pointer events and add legacy conversion routines
To be honest, this commit is a bit of a mess since it's a
rebased version of some temporary work patches.
2016-05-31 19:03:04 +09:00
Jean-Philippe Andre c06cdadca2 Evas: Fix compilation warnings (enum implicit cast)
Moving enums to Efl renames them but keeps the value the same.
2016-05-31 19:03:04 +09:00
Jean-Philippe Andre fb35171186 Evas.Canvas: Move some event_feed to legacy
Paving the way to Efl.Pointer.Event...
2016-05-31 19:03:04 +09:00
Jean-Philippe Andre 645a7b7d6c Efl: Add storage class Efl.Pointer.Event
This object is the data carried over in an event data pointer.

The private data should be accessible by Ecore and Evas, but
not externally. This means we should be able to easily extend
the feature set, adding more and more information, without
breaking API / ABI.

Also, this should allow applications to create fake input
events easily without exposing our internal structures, or
functions with more and more parameters (such as feed multi).

This is only a storage class, shouldn't contain any logic.
In the future, some logic may be added for gestures support
for instance, or input smoothing / resampling (eg. if input
frequency is 90Hz and screen refresh rate is 60Hz).

The aim is to replace:
- Evas_Event_Mouse_Xxx
- Evas_Event_Multi_Xxx
- Ecore_Event_Mouse_Xxx

We might want to also support Axis, Gestures, etc... with the
same model or even same storage class.
2016-05-31 19:03:04 +09:00
Jean-Philippe Andre ce5688a388 Evas: EO-ify Evas_Device and partly move to Efl
So, this is not a very clean solution, but this mostly
makes Evas_Device an Eo object of class Efl.Input.Device.
Since evas_device relies on some Evas knowledge (evas
callbacks, canvas private data), it can't be fully moved
to lib/efl/.

Making the input device an interface rather than a class
was also not a great solution, as the goal is to share
the data structure around EFL internals (Ecore and Evas).
2016-05-31 19:03:04 +09:00
Carsten Haitzler 5e90b86063 ethumb - don't complain to stderr about things that are handled by api
things like load failures are up to api to deal with, not logs.
2016-05-31 19:01:50 +09:00
Carsten Haitzler 47e3b171a3 efl test suite - test args event and args values 2016-05-31 17:16:14 +09:00
Andy Williams cdd59921c6 elementary: Add a preview for icon theme
Not yet solved how to load an elm theme preview...
2016-05-30 23:45:56 +01:00
Felipe Magno de Almeida 1eafe1d16a eina: Add non-allocated version to benchmark 2016-05-30 17:01:40 -03:00
Felipe Magno de Almeida 6e02d52fbb eina: Add mempool usage in benchmark 2016-05-30 16:22:27 -03:00
Felipe Magno de Almeida ad0166f792 eio: Fix eio_test_job_xattr test
Test wasn't enabled when modifications to function prototypes to
eio_job_file_xattr_list and eio_job_file_xattr properties were
made, so it got pushed inadvertidly without the necessary
changes to user code.
2016-05-30 15:54:01 -03:00
Jaeun Choi ab23a53094 elm_image: add a new eo property 'align' and implement related functions
previously, elm_image refered to align values
set by evas_object_size_hint_align_set function
to position the internal image inside an image object.
size hint value is for positioning the image object inside its container object,
so the previous code is inappropriate.
this commit adds 'align' property for positioning the internal image.
2016-05-30 20:26:34 +09:00
Carsten Haitzler 58d50e2b13 elm init - add args event with ne efl loop args 2016-05-30 19:55:43 +09:00