Commit Graph

102 Commits

Author SHA1 Message Date
Tom Hacohen aa6b53a2ae Switch to eo_del() where it should be a del and not an unref
This code was written when eo_del() was removed and eo_unref() was the
recommended practice. Since we added eo_del() back we now need to adjust
this new code accordingly.
2016-06-01 19:27:40 +01: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 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 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 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 8e31929aab Efl.Pointer.Event: Add dup() method to copy an event 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 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
Cedric Bail 45bc4f30eb efl: change name of animator,tick event in C. 2016-05-18 02:20:13 -07:00
Daniel Kolesa 7782c0bcb9 eolian: add event_prefix and have classes follow that or eo_prefix by default
Previously events used to use class name as a prefix and ignored eo_prefix
when specified. This is no longer the case. Events follow eo_prefix by default
now. In order to get around this for classes where this is undesirable, a new
field event_prefix was added which takes priority over eo_prefix. If neither
is specified, class name is used like previously.

@feature
2016-05-17 17:50:43 +01:00
Mike Blumenkrantz 42e459b364 ecore-evas: set some properties even if engine function doesn't exist
elm uses these flags internally, so failing to set them even if the
windowing system doesn't support the operation can still cause apps to
behave differently

ref 723d4ca8c9
2016-05-11 15:37:28 -04:00
Mike Blumenkrantz 723d4ca8c9 ecore-evas: call application-set focus functions if no engine functions exist
in the case where an engine has no real concept of focus (eg. drm), no engine
functions will be implemented, resulting in calls to focus_set having no effect.
this leads to elm/applications being unable to receive the callbacks they expect
when calls to the overall api are made, resulting in focus being broken

probably this should also be done for the rest of the api functions too

@fix
2016-05-11 13:32:11 -04:00
Tom Hacohen f14305024e Eo event: rename Eo_Event->event_info to Eo_Event->info.
The previous naming was redundant and too long.
2016-04-12 15:23:55 +01:00
Derek Foreman 0c388f386e ecore_evas: change ECORE_EVAS_RENDER_SYNC to NOSYNC and non-default
Summary:
commit f9e6550468 Changed the RENDER_SYNC
the default behaviour (previously it was something you had to
change source code to set that way)

This leads to massive amounts of tearing with the drm and gl_drm backends,
as they no longer wait for vblank before rendering.

I've changed the env var to ECORE_EVAS_RENDER_NOSYNC and made it
non-default as it used to be.  People can set the env var to disable
frame limiting instead of having to set an env var to enable it.

Frame limiting really should be the default behaviour.

Reviewers: zmike, devilhorns

Reviewed By: devilhorns

Subscribers: cedric, jpeg

Differential Revision: https://phab.enlightenment.org/D3829
2016-03-24 12:15:57 -04:00
Ji-Youn Park f9e6550468 ecore_evas: change RENDER_SYNC from define to env
outside needs to turn on/off RENDER_SYNC feature.
env val: ECORE_EVAS_RENDER_SYNC.
2016-03-22 12:23:37 +08:30
Cedric BAIL 685681c864 efl: rename efl.core.animator to efl.animator.
It has been decided that we would not use any namespace for interface
and they will sit in efl main namespace.

This patch doesn't correct the naming of the event has we don't have a
prefix for event. We do still have EFL_ANIMATOR_EVENT_ANIMATOR_TICK,
instead of a nicer EFL_EVENT_ANIMATOR_TICK.
2016-03-10 13:14:13 -08:00
Tom Hacohen f21ade6123 Automatic migration to Eo4.
I just ran my script (email to follow) to migrate all of the EFL
automatically. This commit is *only* the automatic conversion, so it can
be easily reverted and re-run.
2016-03-03 09:58:08 +00:00
Tom Hacohen e71e6561ee Eo callbacks: Migrate all of the EFL to the new event cb signatures. 2016-02-29 11:33:27 +00:00
Cedric BAIL d1e79c7dae ecore_evas: refactorize code and make sub ecore evas exploration recusrive. 2016-02-05 06:05:30 +01:00
Cedric BAIL cf172baa9d ecore_evas: improve debugging for Ecore_Evas animator. 2016-02-05 06:05:01 +01:00
Jean-Philippe Andre f80409db30 Ecore evas: Fix compilation warning (missing initializer) 2016-02-03 14:53:54 +09:00
Cedric BAIL 2cdead3e71 ecore_evas: add log when registering, unregistering and emitting animator. 2016-02-02 10:47:25 -08:00
Cedric BAIL 7ffa801cf3 ecore_evas: switch main animator to use the first windows source for tick. 2016-02-02 10:47:25 -08:00
Cedric BAIL 0812fc8f6c ecore_evas: optimize triggering of animator to happen only when someone is listening. 2016-02-02 10:47:25 -08:00
Cedric BAIL bb1a1eef65 ecore_evas: introduce support for per window animator trigger.
This code is currently only using the older fallback code and not any
new event source, so all animator on all window are still triggered
whatever the case are.
2016-02-02 10:47:25 -08:00
Chris Michael 99ac0763ab ecore-evas: Rename ecore_evas_wayland_window_get2 function
This renames the ecore_evas_wayland_window_get2 function to be
ecore_evas_wayland2_window_get before the 1.17 roll out.

Signed-off-by: Chris Michael <cpmichael@osg.samsung.com>
2016-01-07 15:02:13 -05:00
Vincent Torri 0497b9685c efl: add binary mode to open() calls
This allows better compatibility with Windows

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2015-12-05 21:06:04 +01:00
Chris Michael 16b638019d ecore-evas: Remove duplicated ecore_evas_cocoa_window_get function
During my merge of the ecore_wl2 branch, somehow a duplicated
cocoa_window_get function got added. Remove it.

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-12-03 12:41:34 -05:00
Jean Guyomarc'h 4623d57762 ecore_cocoa: add support for system cursors
- Ecore_Cocoa_Cursor enum which references system cursors;
- API to show/hide cursor: ecore_cocoa_window_cursor_show();
- API to set system cursor: ecore_cocoa_window_cursor_set();
- Ecore_Evas interface to get Ecore_Cocoa_Window from Ecore_Evas.

@feature

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2015-12-03 12:07:20 -05:00
Chris Michael f485b451ce ecore-evas: Add function to return Ecore_Wl2_Window
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-12-03 12:02:40 -05:00
Jean Guyomarc'h 2c93c73cbd ecore_cocoa: add support for system cursors
- Ecore_Cocoa_Cursor enum which references system cursors;
- API to show/hide cursor: ecore_cocoa_window_cursor_show();
- API to set system cursor: ecore_cocoa_window_cursor_set();
- Ecore_Evas interface to get Ecore_Cocoa_Window from Ecore_Evas.

@feature

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2015-12-01 12:15:31 -08:00
Jihoon Kim b40f170b24 Ecore evas: Correct function name in magic failure of ecore_evas_rotation_with_resize_set () 2015-10-22 14:23:43 +09:00
Ji-Youn Park b0e48bc084 ecore_evas: fix first render skip in several windows
ecore_evas_first only can be set first render even though there are several windows.
because of this, second or third ecore_evas loses chance to render first frame.
@fix
2015-08-07 11:53:02 +09:00
Nicolas Aguirre 3594b230af Revert "ecore_evas: Adds an eglfs module"
This reverts commit a254725d6d.
2015-08-03 14:34:54 +02:00
Florent Revest a254725d6d ecore_evas: Adds an eglfs module 2015-08-03 14:16:35 +02:00
Vincent Torri 16063b8ab1 Use eina_environment_tmp_get() 2015-07-22 09:22:02 +01:00
Tom Hacohen 3c6c7c9be6 Ecore evas: Correct function name in magic failure.
Why this is done like this, and not just with __func__ in the macro is
beyond me.

Thanks to Vincent Torri for pointing this out.

@fix
2015-07-16 09:34:18 +01:00
Chris Michael a9a733c2f5 ecore-evas: Fix issue of gl_drm engine not being able to load
Summary: The engine for OpenGL with drm is actually called "gl_drm".
There was an issue where the engine_get function would return false
because the #ifdef was testing the wrong thing.

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-06-01 14:06:21 -04:00
Shinwoo Kim f372eb4b92 [ecore_evas_extn] add function to block mouse event.
Summary: add ecore_evas_extn_socket_events_block_set/get

Test Plan: add mouse event callback, and check whether it could get event or not

Reviewers: raster, woohyun, jaehwan, Sergeant_Whitespace

Reviewed By: Sergeant_Whitespace

Subscribers: Sergeant_Whitespace, seoz, cedric

Differential Revision: https://phab.enlightenment.org/D2268
2015-05-15 16:46:22 +09:00
Doyoun Kang e09d649592 ecore-evas: Added support for getting window auxiliary hint ID and value
Summary:
There are no APIs for getting window auxiliary hint ID and value which was set by a user.

Below API can get the ID of the window auxiliary hint.
- ecore_evas_aux_hint_id_get

Below API can get the value of the window auxiliary hint id.
- ecore_evas_aux_hint_val_get

Test Plan: N/A

Reviewers: seoz, bryceharrington, ManMower, devilhorns, cedric, raster, Hermet

Reviewed By: Hermet

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D2493
2015-05-14 20:54:33 +09:00
ChunEon Park 490bfc9f5c Revert "ecore-evas: Added support for setting/getting window auxiliary hints"
This reverts commit 365e390a37.

Eeeek. Sorry I didn't mean this submitting.
2015-05-14 20:40:17 +09:00
Doyoun Kang 365e390a37 ecore-evas: Added support for setting/getting window auxiliary hints
Summary:
There are no APIs for getting window auxiliary hint value which was set by a user.
Below APIs can get the window auxiliary hint value.
- ecore_evas_aux_hint_val_get
- ecore_evas_aux_hint_string_val_get

And below API can set the window auxiliary hint value by using string not id.
- ecore_evas_aux_hint_string_val_set

Test Plan: N/A

Reviewers: raster, cedric, seoz, Hermet

Reviewed By: Hermet

Subscribers: c, cedric

Differential Revision: https://phab.enlightenment.org/D2493
2015-05-14 19:36:11 +09:00
Thiep Ha 47f5d668cc ecore_evas: move docs from .c to .h and make it consistence
Summary:
There are some documents in .c file. This patch moves them to .h
file. This also uses primitive verbs in brief section to make document
more consistence.

Reviewers: Hermet, cedric

Subscribers: cedric

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

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2015-04-26 09:20:15 +02:00
Mike Blumenkrantz dc14e4d349 forgotten ee bit from previous commit 2015-02-06 18:25:01 -05:00
Chris Michael d5822fa6ee ecore-evas: Default wayland ecore_evas 'frames' off
NB: There is something fishy going on with evas overdrawing the canvas
onto the ecore_evas 'border frames'. Disable ecore_evas border frames
until this can be looked into.

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-08-22 13:32:38 -04:00