Commit Graph

238 Commits

Author SHA1 Message Date
Guilherme Iscaro 64986bccac Ecore Evas: Add API to set/get the pointer position per device.
Since Ecore Evas now support multiple mouse devices new APIs were
added in order to fetch the mouse position.
2016-12-20 18:34:39 -02:00
Chris Michael e8e59204b1 ecore-evas: remove float comparison warnings for ecore_evas.c
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2016-12-20 10:28:39 -05:00
Guilherme Iscaro 75619fc290 Ecore Evas: Add multi seat support for mouse in/out. 2016-11-28 13:57:55 -02:00
Guilherme Iscaro be609118c6 Ecore_Evas: Add support for per-seat focus. 2016-11-28 13:57:55 -02:00
Jean-Philippe Andre b2dbf9d9dd win: Fix maximized geometry with CSD in X
There is still a geometry issue after un-maximizing.
2016-11-23 13:04:12 +09:00
Jean-Philippe Andre 4722b685cf ecore_evas/x: Inform WM about borders and shadows
This exploits the existing X Atom "GTK_FRAME_EXTENTS"
2016-11-23 13:04:12 +09:00
Derek Foreman 38788e7787 ecore_evas: Unbreak all the engines that don't have evas_changed callbacks
repairs damage from d2b8495576

Move along, nothing to see here.
2016-11-17 11:39:25 -06:00
Derek Foreman d2b8495576 ecore_evas: send evas_changed callback when manual render is set
If manual render is set there's obviously no change.

This fixes E's wake from blank/wake to lockscreen behaviour on the drm
backends.
2016-11-17 11:23:36 -06:00
Derek Foreman 2480b4bb22 ecore_evas: fix evas_changed call
Don't or together all previously considered evases.  Thanks Cedric
for the catch.
2016-11-14 14:03:16 -06:00
Cedric BAIL 8215d9832c ecore: introduce adjusting main loop time on animator. 2016-11-14 11:53:01 -08:00
Cedric BAIL 8ee79d0e21 ecore_evas: first frame and animator are defined per canvas 2016-11-10 16:26:34 -08:00
Cedric BAIL 16723837e9 ecore_evas: always have a custom source set for animator if possible. 2016-11-10 15:52:38 -08:00
Guilherme Iscaro 1f64ec9d15 Ecore Evas: Set the device that originated the event.
By doing so the evas events are able to specify from which device
the event originated from.
2016-11-08 17:54:34 -02:00
Guilherme Iscaro 8687a23820 Ecore Evas VNC: add client disconnected callback.
Summary:
Ecore Evas VNC: Properly unregister the region push hook callback.

This callback must be unregistered when the VNC server is deleted.

Reviewers: bdilly, barbieri, cedric

Subscribers: cedric, jpeg

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

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2016-11-07 14:44:40 -08:00
Carsten Haitzler 4ed2e01591 remove xcb support in ecore_x and evas engines as per mailing list
as per mailing list discussion about dropping xcb support now. it
hasn't been complete for a long time, thus not recommented for being
turned on. as we are moving to a wayland world xcbmakes even less
sense. as agreed, time to clean up a bit and remove a distraction as
well as not well tested code. this also updates po's too.

@feature
2016-11-03 22:22:54 +09:00
Jean-Philippe Andre eb8d9387c1 wayland: Remove support for "draw_frame"
draw_frame is a legacy feature that draws a very ugly window border
with a white rect and a black text as title bar. This could be
used in wayland when using only the ecore_evas APIs, rather than
elm_win.

Note that the API ecore_evas_draw_frame_set() can not possibly work
as the flag is checked when the ecore_evas is created, so changing
the flag has no effect on existing windows.
2016-11-03 17:22:14 +09:00
Jean-Philippe Andre dcb8e87478 ecore_evas: Replace ECORE_MAGIC_CHECK with common macro
This removes a lot of clutter in the code.
2016-11-03 17:22:14 +09:00
Guilherme Iscaro 4bffa7bfa7 ecore_evas: refactor VNC as an Eina Module.
Summary:
This change removes the necessity to link EFL against the libvncserver

Please ignore the first three commits, they're being reviewed here:

https://phab.enlightenment.org/D4323

Reviewers: bdilly, cedric

Reviewed By: cedric

Subscribers: cedric, jpeg

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

Signed-off-by: Cedric Bail <cedric@osg.samsung.com>
2016-10-28 09:56:47 -07:00
Guilherme Iscaro bc6e8d2692 Ecore_Evas_X: Add VNC draw support.
This patch adds the support to draw the X11 screen contents to
all remove VNC clients.
2016-09-26 22:06:59 -03:00
Derek Foreman 398771bf8a evas_engines: Add fn_evas_changed callback
To allow using the pageflip completion event to drive timing in the DRM
engine we need to know as soon as possible that a render has been after
a render has been considered if it will cause a page flip or not.

The fn_evas_changed callback sends this information.
2016-09-08 13:55:23 -05:00
Jean-Philippe Andre b675571bd8 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 :)
2016-09-01 11:57:43 +09:00
Tom Hacohen d5e321466e Efl object: Rename Eo_Event -> Efl_Event.
This is the last step of the Eo renaming efforts.
2016-08-30 13:34:10 +01:00
Vitor Sousa 8356b16a49 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.
2016-08-26 15:45:07 -03:00
Jean-Philippe Andre d504284dd2 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.
2016-08-26 10:18:01 +09:00
Jean-Philippe Andre 60526528a6 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
2016-08-26 10:18:01 +09:00
Jean-Philippe Andre 925878e931 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).
2016-08-26 10:18:01 +09:00
Jean-Philippe Andre 8938d8d557 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.
2016-08-26 10:18:01 +09:00
Tom Hacohen e65aae994e Eo: Finish the renaming of Eo to the EFL.
This renames all the rest of the API to the EFL namespace except for
Eo_Event that will follow soon.

Obviously breaks both API and ABI.
2016-08-15 15:07:42 +01:00
Tom Hacohen c662934be8 Change the EFL to follow the new Eo rename. 2016-08-11 17:04:43 +01:00
Jean-Philippe Andre 58c3808231 ecore_evas: Register animators for inline image ee
In ecore_evas_object_image_new, register animator tick del/add
catchers, so that animators can work. This fixes mouse scroll
in an inline window.
2016-08-01 10:29:24 +09:00
Tom Hacohen 6202cc7485 Adjust the code according to the eo event stop changes.
This was changed in the previous commit.
2016-06-20 18:02:00 +01:00
Jean-Philippe Andre a087ca84b0 ecore_evas: Try to fix mouse events on Windows
See also de5f293426 and T3789

I wrongly assumed that multi.{x,y} would be properly set.
I'm assuming here that multi.{x,y} == (0,0) means they are
not set, and that double comparison to 0 works fine.
2016-06-20 16:26:52 +09:00
Jean-Philippe Andre b147911bad elm_win: Forward events between window and evas
This does:
1. Forward keyboard events from evas to win
2. Allow feeding external input events

Input events can be faked by apps by simply forging
eo objects of the proper type (key or pointer evt) and
calling eo_event_callback_call().

Such events will be forwarded to the internal Evas, and
some bool flags prevent infinite refeeding loops.

efl_event_dup() returns fake events for this to work.

@feature
2016-06-03 15:29:17 +09:00
Jean-Philippe Andre 29d5be9e5e ecore_evas: Fix mouse inputs
Yup, I broke everything again. This time, mouse move inputs
would not move the cursor, since I was bypassing the regular
_ecore_evas_mouse_xxx callbacks.

Fixes T3766
2016-06-02 14:19:18 +09:00
Jean-Philippe Andre 0505a729e2 Evas: Simplify eo event mechanism
So, I was stupid. I was relying on legacy callbacks to
trigger eo events, which means that only when a legacy
callback was registered would my new eo events be triggered.

Instead, I can pass the eo event desc & info whenever
calling evas_object_event_callback_call().
2016-06-02 14:19:18 +09:00
Jean-Philippe Andre d6b8f0a691 Evas: Send key events through eo callbacks 2016-06-02 13:31:40 +09:00
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
Mun, Gwan-gyeong f5b8109397 evas: add evas gl-drm engine
Summary: This is the first step to introduce a gl-drm backend.

Test Plan: "ecore evas" create with ecore_evas_gl_drm_new(). It creates "ecore evas" with gl_drm evas backend.
@feature

Reviewers: raster, Hermet, cedric, devilhorns

Subscribers: cedric

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

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2014-08-21 12:04:53 +02:00
Carsten Haitzler 8296470e36 ecore-evas - fix continual wakeups with unchanged canvases
this fixes a nasty bug where ecore-evas forces mainloop spins all the
time due to trying to align rendraws to animator boundaries. this
requires an extra evas feature to work that i just put in.

@fix
2014-08-02 13:16:27 +09:00
Vyacheslav Reutskiy 69552fc392 Ecore_Evas: add new API for unset the cursor from Ecore_Evas.
Summary:
Add ecore_evas_cursor_unset function.
Use the new function in the ecore_evas_object_example.

@feature

Test Plan: ecore_evas_object_example

Reviewers: raster, cedric, seoz, Hermet

CC: cedric

Differential Revision: https://phab.enlightenment.org/D812
2014-06-10 17:32:11 +09:00
Jérémy Zurcher f8c2c57406 do not use EINA_FALSE instead of NULL 2014-05-07 17:45:11 +02:00
Cedric BAIL 25c58f149a ecore_evas: remove warning. 2014-03-06 14:27:26 +09:00
Gwanglim Lee cbf6f94c80 ecore_evas: Added support for window auxiliary hint
Summary:
The window auxiliary hint is the value which is used to decide
which actions should be made available to the user by the WM. If you
want to set specific hint to your window, then you should check whether
it exists in the supported auxiliary hints that are registered in the
root window by the window manager.

Once you've added an auxiliary hint, you can get a new ID which is used
to change value and delete hint. The window manager sends the response
message to the application on receiving auxiliary hint change event.

A list of auxiliary hint within the Ecore_Evas has this format:

  ID:HINT:VALUE,ID:HINT:VALUE,...

Reviewers: raster, cedric, seoz, Hermet

Reviewed By: raster

CC: cedric

Differential Revision: https://phab.enlightenment.org/D543
2014-02-28 07:20:01 +09:00
Gwanglim Lee 77092d94d4 ecore_evas: added window manager rotation to manage the rotation of windows by the WM.
Summary: The window manager rotation allows the WM to controls the rotation of application windows. It is designed to support synchronized rotation for the multiple application windows at same time.

Reviewers: raster, seoz, cedric, Hermet

Reviewed By: raster

CC: cedric

Differential Revision: https://phab.enlightenment.org/D529
2014-02-09 09:46:51 +09:00
ChunEon Park 892b1c5be3 ecore_evas - applied macro to check rotation state.
also, let the potrait compare on the higher priority.

if you can suggest better macro name, then please modify it.
2014-01-18 22:26:10 +09:00
ChunEon Park 8cd92c17e0 Revert "ecore_evas - use the macro orthogonal check."
This reverts commit 43acf1e82f.

some partial changes are incorrectly applied.
2014-01-18 22:04:25 +09:00
ChunEon Park 43acf1e82f ecore_evas - use the macro orthogonal check. 2014-01-18 21:53:56 +09:00
ChunEon Park fb59ac34a1 ecore_evas - use eina_bool instead of the char for interal data. 2014-01-13 14:26:36 +09:00
Cedric Bail 3e302e7e61 ecore_evas: extn - restore missing symbol that resulted in a temporary ABI break.
Thanks to Albin and Debian tools to have spotted that.

- cherry-pick me -
2014-01-04 11:23:47 +09:00
Daniel Juyung Seo 76d8532b54 efl: Unified eina critical manro to CRI.
Being annoyed by different types of eina critical macros - CRI, CRIT,
 CRITICAL -, I concluded to unify them to one. Discussed on IRC and
 finally, CRI was chosen to meet the consistency with other macros -
 ERR, WRN, INF, DBG - in terms of the number of characters.
If there is any missing bits, please let me know.
2013-12-26 12:27:13 +09:00
Carsten Haitzler b3d69254b6 ecore-evas - disable comp syncing by default (can be turned on though still) 2013-12-10 14:02:27 +09:00
Carsten Haitzler 0e902ffffe ecore evas - add animator update syncing to only render on animator ticks
this adds a ifdefable feature to sync rendering only to animator
slots. this should reduce over-render of more frames than a user can
see when updates are triggered by things like mouse movements (which
may come in many times faster than the framerate). this is an
experiment to see if this helps smoothness and load. it also has
problems in e grabs x while rendering - this is now fixed in e18
alreadey, but it is just a config you can turn off.
2013-12-09 14:48:07 +09:00
discomfitor 0b8d4e4bce fix ecore evas pointer warping 2013-10-25 17:14:43 +01:00
Stefan Schmidt 1fd3950cda ecore_evas: Remove unused code.
rot = rot % 360;
while (rot < 0) rot += 360;

it is guaranteed that rot is between 0 and 359.

CID: 1039470, 1039471
2013-09-12 15:40:41 +01:00
Carsten Haitzler 175335ae08 evas - restore ability for evas_render_dump() to dump out referenced data 2013-08-28 16:44:31 +09:00
Chris Michael 72a3a4c787 Add function code for:
- ecore_evas_pixmap_visual_get
- ecore_evas_pixmap_colormap_get
- ecore_evas_pixmap_depth_get

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-07-11 10:49:25 +01:00
Chris Michael b8124f8b32 Check for valid interface pixmap_get function before trying to call it.
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-07-11 08:56:44 +01:00
Chris Michael 0c66ca7c09 Fix missing return value in pointer warp function.
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-07-08 14:02:40 +01:00
Chris Michael 362d89e05c Add ecore_evas_pointer_xy_get and ecore_evas_pointer_warp functions
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-07-08 10:56:02 +01:00
Chris Michael 5f71c0afb1 Begone Vile Formatting !!!
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-07-08 10:01:38 +01:00
Chris Michael babc9c64b7 Add gl functions for pixmap_new and pixmap_get variation
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-07-08 07:21:51 +01:00
Chris Michael 159232b593 Add code for ecore_evas_software_x11_pixmap_new/get functions.
Fix formatting in ecore_evas_window_get.

  NB: This will be used to create an ecore_evas that Renders to a
      Pixmap (not a window). As such, Some ecore_evas functions may
      not operate as expected when using this type of ecore_evas.

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-07-05 10:44:18 +01:00
Chris Michael dd364de99d Start on basic ecore_evas_drm code.
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-05-14 10:49:14 +01:00
Rafael Antognolli cf9d3c90f5 Ecore/Evas: Add evas_event_input_multi_down/up().
These events (from multi-touch) also have information about the mouse
pointer position, so they must be translated by the framespace too.
2013-05-08 16:50:15 -03:00
Rafael Antognolli d8b0c6e1da ecore/evas events: Use evas_event_input_multi_move to report events.
Same as using evas_event_input_mouse_move.
2013-05-03 17:19:14 -03:00
Rafael Antognolli 4b9a80a063 ecore/evas events: Use evas_event_input_mouse_move to report events.
Ecore_Evas_Input should use this function to report mouse move events.
The previous used function should be used to refeed events, or to
artificially feed mouse move events to the canvas. Basically every other
feed_mouse_move use case that is not an event from the input system.
2013-05-03 16:45:33 -03:00
Rafael Antognolli 72bbf5b49b ecore_evas/wayland: Consider the frame/border for pointer position.
When the window is rotated, the logical pointer position is calculated
based on the window size (width or height) minus the current position,
depending on the rotation used. For wayland, we must add the window
decorations to the ecore_evas size, when doing this calculation.
2013-04-24 17:56:53 -03:00
Cedric BAIL 2063e4353d efl: integrate eina_log_timing. 2013-03-27 21:43:45 +09:00
Cedric Bail a831609e63 ecore: include mman.h also when Evil is found.
I don't really like this patch. I think it would be nicer to have mmap
been correctly detected when Evil or Exotic is there, but at this point
I don't feel at ease with configure.ac.
2013-03-20 10:59:56 +09:00
Cedric Bail ba4db2c241 ecore_evas: follow naming of other modules for Windows to. 2013-03-16 15:54:18 +09:00
Cedric Bail a4593c1cdf ecore_evas: killing Glew and Direct3d, because someone already killed Kenny. 2013-03-16 15:50:01 +09:00
Cedric Bail 32661a5ac4 ecore_evas: re-order inclusion of header to fix compilation on Windows.
It is a very tricky things to get header order right on windows. Having that
order only in .c files simplify the work a lot. So let's try to do it with
Ecore_Evas after it rewrite and split into modules.
2013-03-12 15:58:43 +09:00
Jiyoun Park c5a8a6b5ff Add infrastructure to handle message between ecore and parent ecore in Ecore_Evas
I add new example related with this. (ecore_evas_extn_socket & plug example)
ecore extn use this infrasturcture, server app and client app can communicate each other
later, this can be used to contorl access message


SVN revision: 83942
2013-02-15 09:32:40 +00:00
Carsten Haitzler d1c6f7d937 don't know if this will help - but try quieten some valgrind
complaints... :/ (trying)



SVN revision: 83840
2013-02-12 06:49:42 +00:00
Gustavo Sverzut Barbieri 72eaa99676 ecore_evas async render watchdog.
it is very unlikely to be ecore_evas problem, but here it goes: a
watch dog that checks if they are stuck and resets if so.



SVN revision: 82657
2013-01-11 18:55:06 +00:00
Gustavo Sverzut Barbieri 85f8163c3e efl/ecore_evas: merge buffer into core, split extn apart.
buffer is lightweight and dependency for many engines, merge it back
into core.

extn is a module on its own, and it's the only one linking to
ecore_ipc, no need to add that to ecore_evas.

minor cosmetic changes to configure to make output consistent.



SVN revision: 82648
2013-01-11 16:57:21 +00:00
Mike Blumenkrantz b2de05f49a all efl object deletion functions now take NULL without crashing or erroring
SVN revision: 81667
2012-12-24 09:35:56 +00:00
Vincent Torri a4f4aa00b3 fix returned value
SVN revision: 81323
2012-12-19 07:06:22 +00:00
Gustavo Sverzut Barbieri b5197eb128 efl/ecore_evas: be loud on errors.
SVN revision: 81302
2012-12-18 20:14:11 +00:00
Gustavo Sverzut Barbieri b6724ed9ce efl/ecore_evas: abort when object does not contain Ecore_Evas.
SVN revision: 81301
2012-12-18 20:10:48 +00:00
Gustavo Sverzut Barbieri be79115198 efl/ecore_evas: do not silently fail on incorrect interface.
SVN revision: 81300
2012-12-18 20:09:51 +00:00
Gustavo Sverzut Barbieri 892c64297e efl: begin (still partial!) to make an uniform choice of engines ecore/evas
still lots to do, but some improvements:

 - ecore_evas does not inherit pkg-config from modules since modules are SO

 - renamed internal ecore evas define from SOFTWARE_BUFFER to BUFFER,
   to make consistent.



SVN revision: 80473
2012-12-07 17:18:17 +00:00
Flavio Vinicius Alvares Ceolin 186156afbc ecore_evas: Removing warning about unused function
Now the engines are modules, the checking for the engine is not done
in the compile time anymore, so we're removing these checks.



SVN revision: 80389
2012-12-06 20:39:20 +00:00
Carsten Haitzler 7b7a611805 if you are going to use symbols implicitly from a module provided by a
lib.. you have to EAPI them!



SVN revision: 80283
2012-12-05 23:11:46 +00:00
Flavio Vinicius Alvares Ceolin ad7579c129 ecore_evas: Make the engines loadable modules
Implementing support for loadables modules. It makes the engines been
loaded when they are needed. It not breakes the api, so each engine
still has its own api.

The implementation basically is:

* Functions that creates Ecore_Evas, for example
  ecore_evas_software_x11_new, request to load its module and then get
  the module's function to create the Ecore_Evas.
* The other functions such as \(.*\)_window_get from the Ecore_Evas
  its interface and then call the appropriate method.
* As there is no unified interface to communicate with the engines
  (not break api problem), all interfaces were declared in
  ecore_evas_private.h
* Now the data necessary for each module is not declared in the
  Ecore_Evas_Engine structure, instead of this, the struct has a void
  pointer that is used by the modules.
* In this first moment engines as software_x11 and gl_x11 were put
  together in the same module, but obviously exporting all the things
  necessary.


SVN revision: 80280
2012-12-05 21:15:42 +00:00
Gustavo Sverzut Barbieri bb0e4d65ed efl/ecore_evas: move more removed/deprecated stuff to own file and mark.
x11-16, x11-8, xrender were also removed but not marked as EINA_DEPRECATED.

move those to ecore_evas_deprecated.c file.



SVN revision: 80255
2012-12-05 14:09:49 +00:00
Gustavo Sverzut Barbieri dfe93a7f0a directfb says bye...
After agreement in the mail list, core developers agree to remove this
engine that was not being supported for a long time.

Given that most operations Evas uses are not accelerated in DirectFB,
or at least hardware that exclusively supports DirectFB, it's better
for those people to just use Evas/Ecore software (buffer) rendering
and expose DirectFB's framebuffer as destination surface.



SVN revision: 80232
2012-12-05 12:24:01 +00:00
Gwanglim Lee 74cdf85ea9 From: Gwanglim Lee <gl77.lee@samsung.com>
Subject: Re: Re: Re: [E-devel] [RFC] Virtual desktop window profile

I've attached 4th patch. May the 4th be with you.

ecore patch has been merged with efl and all files are based on r80123.

Thanks & Regards,
Gwanglim

------- Original Message -------
Sender : Daniel Juyung Seo<seojuyung2@gmail.com>
Date : 2012-12-04 01:55 (GMT+09:00)
Title : Re: Re: [E-devel] [RFC] Virtual desktop window profile

It looks ok to me.
Sorry but can you re-generate the patch according to the recent ecore
merge to efl single tree?

Daniel Juyung Seo (SeoZ)


On Thu, Nov 29, 2012 at 12:29 AM, Gwanglim Lee <gl77.lee@samsung.com>
wrote:

Dear Raster and Daniel Juyung Seo,

I've attached 3rd patches and test_config according to your reviews.
These are based on r79782.

[elementary & ecore]
1. "profile,set" -> "profile,changed" - done
2. spaces after EINA_LIST_FOREACH - done
3. variable type - keep
4. author - done
5. removing deprecated marking in patch - done
6. add elm_win_available_profiles_get to test_config for the debugging
purpose - done

7. check whether a given profile is present in an available profiles.
otherwise window profile will be one of the item
    in available profiles. - newly added thing to the elm_win
    8. merge with EO - done. :(
    
    
    Any comments would be appreciated.
    


SVN revision: 80214
2012-12-05 06:48:46 +00:00
Vincent Torri 7d6010b12c merge: add escape ecore, fix several bugs
SVN revision: 79995
2012-12-02 22:35:45 +00:00