Commit Graph

53 Commits

Author SHA1 Message Date
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
Mike Blumenkrantz 0efc83d64d ecore-x: add property member to Ecore_X_Event_Selection_Notify
@feature
2015-08-12 17:58:58 -04:00
Mike Blumenkrantz 5032cf0df3 ecore-x: provide property state in Ecore_X_Event_Window_Property
this event is not very useful without the state member.

@feature
2015-08-10 13:18:13 -04:00
Stefan Schmidt 6c8e07ff5f ecore_x: Add since 1.15 tag for keygrab API additions 2015-07-23 12:19:13 +02:00
Stefan Schmidt 016f34059c ecore_x: Add since 1.15 tag for keyrouter API additions 2015-07-23 12:19:13 +02:00
Mike Blumenkrantz 476ebdc0a1 ecore-x: add ecore_x_keysym_get()
this is a less invasive solution for retrieving a keysym. X keysyms are
not portable, and so this function should not be used for any code which
is meant to run on other platforms.

@feature
2015-06-29 13:18:01 -04:00
Lukasz Stanislawski 2017c8be95 ecore-x: add new grab touch devices functionality.
Summary:
EFL currently supports pointer grabbing. This patch introduces new API
allowing to grab all slave touch devices registered in X server
Grabbing is performed by XIGrabDevice function from XInput 2.0.

By default ecore_x_input_touch_devices_grab grabs all XISlavePointer devices,
having XITouchInfoClass. Function returns EINA_TRUE if at least one touch device
was successfully grabbed. ecore_x_input_touch_devices_ungrab ungrabs all
previously grabbed devices.

To process events correctly change has been done in x_input_handler to emulate
mouse pointer events. If XITouchEmulatingPointer flag is set on touch events and
device is grabbed framework will generate mouse events. This is required
due to X Server design in which mouse events are no longer send to client when device is
detached (grabbed) from virtual core pointer.

@feature

Reviewers: cedric, raster, devilhorns

Subscribers: seoz, cedric

Differential Revision: https://phab.enlightenment.org/D2568
2015-06-04 13:06:27 -04:00
Mike Blumenkrantz 8e44652a42 ecore-x: add function to init ecore-x from external Display* object
when using glx it's necessary to share a Display* object, and this object
may be created externally

no tests provided since they would not be run, would require direct linkage to xlib,
and is literally a 2 LoC change from regular ecore_x_init()

@feature
2015-05-18 15:30:55 -04:00
Ji-Youn Park 5c3a08433a ecore_x: Add key router feature related with client side.
Currently app only grab key using Xgrabkey.
Keyrouter will support several keygrab mode and apps can use it.
2015-05-13 20:47:36 +09:00
Cedric BAIL ce5ccfb5be ecore: remove the need to order the header correctly for Windows. 2015-05-07 09:53:10 +02:00
Chris Michael cf9f64cfc6 ecore-x: Deprecate misspelled screensaver API function
Summary: This API function is misspelled, so after speaking with
Stefan, we've decided to deprecate this function add add a properly
spelled one.

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-02-04 11:26:46 -05:00
Carsten Haitzler e483d25082 ecore-x - undo api/abi break with input selecting before release 2015-02-04 18:58:48 +09:00
Stefan Schmidt 77df600b5d ecore_x: Add since tag for new ecore_x_input_select() API. 2015-01-27 12:00:14 +01:00
Jason Gerecke 26c943bac0 Expose device (e.g. pen) axis information to applications
Summary:
This patch set adds the necessary code to expose device axis state to applications. This was primarily written with graphics tablets in mind, which -- in addition to acting like a mouse -- also provide information about pen pressure, tilt, etc. Other devices could potentially benefit from this API as well: touchscreens, joysticks, knob controllers, "spaceballs", etc.

Whenever an update to the device state is recieved, an "Axis update" event is synthesized. This event contains the updated information, typically scaled and normalized to a particular logical range (e.g. zero to one for pressure, -pi to pi radians for angles, etc.). Information about the tool which generated the event is also stored so that applications can disambiguate events from multiple devices (or in the case of multitouch screens, individual fingers).

This API is only wired up for use with X11 at the moment. Support for other backends (e.g. Wayland) should be easy to add for those familiar them.

**Note**: The following is a list of changes from the "v2" patches originally sent to the mailinglist

//Define and implement new Ecore_Event_Axis_Update events//
 * Harcode axis labels instead of including xserver-properties.h
 * Use C89-style comments
 * Use doxygen comments
 * Update comment text to note axes with unbounded/undefined ranges/units
 * Create "Ecore_Axis" and "Ecore_Axis_Label" typedefs
 * Reference typedef'd instead of raw types
 * Adjust how we count through valuators to support tilt/az
 * Add support for tilt and azimuth
 * Tweak memory management in case number of valuators differ
 * Expand TWIST axis normalization to declared range
 * Only normalize TWIST axis if resolution == 1 (wacom bug)
 * Cache label atoms on first use to minimize round-trips

//Implement EVAS_CALLBACK_AXIS_UPDATE event and friends//
 * Update to doxygen comments
 * Update comment text to note axes with unbounded/undefined ranges/units
 * Typedef 'Evas_Axis_Label', 'Evas_Axis'
 * Move typedef for 'Evas_Event_Axis_Update'
 * Reference typedef'd instead of raw types

//Wire the Ecore and Evas implementations of axis update events together//
 * Expose ecore_event_evas_axis_update in Ecore_Input_Evas.h
 * Move ecore_event_evas_axis_update to more logical position

//DEBUG: Add axis update logging to evas-multi-touch.c//
 * Removed from patch set

//Make evas-multi-touch demo use new axis functionality//
 * Have pressure adjust rectangle brightness instead of size
 * Use more available axis data when rendering rectangle (azimuth, tilt, twist)

Test Plan: The evas-multi-touch demo was updated to support axis update events. A graphics tablet was then used to verify that the pressure, azimuth, tilt, and twist data was coming through correctly.

Reviewers: cedric, raster

Subscribers: cedric

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

Conflicts:
	src/lib/ecore_input/Ecore_Input.h

Carsten Haitzler -

** fixed forward enum typedefs (make things unhappy)
** fixed conflict above
** fixed wrong param type for _evas_canvas_event_feed_axis_update()
** fixed @sinces to be 1.13
** fixed formatting/indeting
** fixed order of operation reliance in if's with ()'s to be clear
** fixed functions to be static that should have been
2014-11-25 12:43:15 +09:00
Carsten Haitzler 696346c467 evas gl rgba visual/rendering fix try ... again
so this is a re-try at the evas gl destination alpha fix. this is what
cedric tried, but done RIGHT. it required adding an ecore_x call to
create a window with correct visual/colormap. it requires doing
visuals totally correctly all the way from ecore_evas to the evas
gl_x11 core. nvidia drivers are very picky about visuals. i also had
to vid the egl/gles code too to do the same thing. nvidia gles/egl
drivers are also picky, mesa is not. this all requires a lot of code
changes. it's far from trivial

this isn't backported for a few reasons:

1. verify this fix doesn't break for anyone.

i tested:

nvidia glx + egl/gles
intel glx + egl/gles
radeon glx

it needs wider testing. nouveau, fglrx for starters and maybe
some other gles/egl drivers.

2. have some review time
3. time to settle before blasting to stable branches

@fix
2014-10-26 00:34:40 +09:00
Nicolas Aguirre 3032ebc3e2 ecore_x: add documentation for Ecore_X_Version structure. 2014-10-20 18:01:54 +02:00
Stefan Schmidt ee330fbaed ecore_x: Add missing since to various new ecore_x_screensaver* functions 2014-08-07 11:43:15 +02:00
Carsten Haitzler e42f319d00 ecore-x - add x screensaver activate/reset calls 2014-07-07 23:36:34 +09:00
Carsten Haitzler 007dd02c56 ecore_x - add some minor calls to be able to suspend/resume screensaver 2014-07-01 19:40:26 +09:00
Chris Michael 11d250e5fc ecore-x: Predefine Ecore_X_Atom and Ecore_X_Icon
@fix: Fix building Enlightenment without X support

These changes are needed so that we can build Enlightenment without X
support. Many places in the E code reference
Ecore_X_Atom/Ecore_X_Icon. If we build E without X support, these end
up being undefined, causing build to fail, so we need to predefine them.

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-03-12 08:42:01 +00: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
Doyoun Kang 50b941f907 ecore_x: added @since comment about ecore_x_e_illume_window_state_send
Reviewers: seoz

CC: zmike, cedric, raster

Differential Revision: https://phab.enlightenment.org/D526
2014-02-07 17:06:22 +09:00
Jaehwan Kim 71c7d0e9ad ecore_x: Add ECORE_X_ATOM_E_ILLUME_ACCESS_ACTION_OVER.
This Atom is for accessibility.
In the touch screen, when the finger moves continuously, it is uesd.
2014-02-07 14:51:28 +09:00
Doyoun Kang 541ef547ab ecore_x: Added API - ecore_x_e_illume_window_state_send
Summary:
there exists ecore_x_e_illume_window_state_set and ecore_x_e_illume_window_state_get,
but no ecore_x_e_illume_window_state_send.

Reviewers: raster, seoz, cedric

Reviewed By: seoz

CC: cedric, seoz

Differential Revision: https://phab.enlightenment.org/D512
2014-02-07 13:05:00 +09:00
Mike Blumenkrantz 131e0e1983 ecore-x now supports XPRESENT
see http://cgit.freedesktop.org/xorg/proto/presentproto/plain/presentproto.txt
2014-01-13 10:19:11 -05:00
Carsten Haitzler 2ef0f53401 ecore-x - rename new api 2013-12-27 12:02:48 +09:00
Carsten Haitzler eb8b643bf2 ecore-x - add call to create a permanent window that is not deleted on exit 2013-12-26 19:01:23 +09:00
Daniel Zaoui 1ae7a4f5e2 Ecore: add DnD abort from source
This can be used to cancel a DnD drag operation in the middle.
2013-12-09 09:11:27 +02:00
Carsten Haitzler b07c0a76ce alpha1 release autofoo/build tree work to pass distcheck and actually work 2013-11-04 18:33:35 +09:00
Mike Blumenkrantz 60111ce8ca add ECORE_X_SYNC env variable for xlib backend 2013-07-18 06:17:40 +01:00
Carsten Haitzler 9e459ef9d6 fix new ecore_x_pixmap typedef clashes in ecore_x 2013-07-08 17:15:11 +09:00
Deon Thomas 67df5b4ad1 Ecore DPMS Function to get the current dpms power level 2013-06-26 08:32:42 +09:00
Mike Blumenkrantz fbd09e2562 add support for text/x-moz-url DND operations 2013-05-29 13:46:11 +01:00
Chris Michael bc31a55bda Add ecore_x_randr_config_timestamp_get to return config timestamp that
XRandr has currently.

NB: needed for some updates/fixes to randr dialog.

Signed-off-by: Chris Michael <devilhorns@comcast.net>
2013-05-11 16:30:38 +01:00
Carsten Haitzler 11e0d67a71 Revert "Ecore DPMS function to get the current power level"
This reverts commit 19c4916f41.

sorry... missing xcb version of func. please re-commit when you have
an xcb version. thanks! :)
2013-05-08 15:59:11 +09:00
Deon 'PrinceAMD' Thomas 19c4916f41 Ecore DPMS function to get the current power level 2013-05-07 11:47:28 +01:00
Jiyoun Park 2d0d852fa9 expand indicator type to support if it want more than two indicator type 2013-04-18 14:45:11 +09:00
Deon 'PrinceAMD' Thomas 7df54da4c4 Ecore Pointer get root x,y position without ecore_x_window. 2013-04-18 12:07:26 +09:00
Jiyoun Park d70feacf9b Ecore_x: Add atom related with indicator type.
It can support several types of indicator
2013-03-05 14:25:50 +09:00
Carsten Haitzler 83190eb0c2 Add ecore_x_dnd_self_begin() and ecore_x_dnd_self_drop() to allow dnd
to your own window (drop where u drag from). helpful for elm where dnd
src/dst are object based, so we talk dnd protocol to ourselves.
2013-02-21 16:49:10 +09:00
Christopher Michael 736d81e866 Add ecore_x_randr_crtc_info_free function.
Signed-off-by: Christopher Michael <cp.michael@samsung.com>

SVN revision: 83738
2013-02-07 12:43:51 +00:00
Christopher Michael 913f50642c Add new Ecore_X_Randr_Crtc_Info structure.
Add header function for ecore_x_randr_crtc_info_get.

Signed-off-by: Christopher Michael <cp.michael@samsung.com>

SVN revision: 83727
2013-02-07 09:28:58 +00:00
Christopher Michael d2a5654c2a Fix randr 1.4 function declarations to be sane (match rest of efl):
There is no point in returning a rectangle if we are filling in the
  x, y, w, h params also. That's just stupidness.

Signed-off-by: Christopher Michael <cp.michael@samsung.com>

SVN revision: 83470
2013-01-30 10:18:41 +00:00
Christopher Michael 469aebad27 Fix gamma functions (unsure how this all got messed up from previous
commit).

Signed-off-by: Christopher Michael <cp.michael@samsung.com>

SVN revision: 83469
2013-01-30 10:18:38 +00:00
Christopher Michael cdeedfb975 Fix parameters for new RandR 1.4 functions.
Signed-off-by: Christopher Michael <cp.michael@samsung.com>

SVN revision: 83468
2013-01-30 10:18:35 +00:00
Christopher Michael 4739b506c0 Add the missing RandR 1.4 functions to Ecore_X header.
Signed-off-by: Christopher Michael <cp.michael@samsung.com>

SVN revision: 83467
2013-01-30 10:18:32 +00:00
Christopher Michael 7fbaead218 Deprecate old ecore_x_randr_crtc_gamma functions.
Create new (proper) Ecore_X_Randr_Crtc_Gamma_Info structure.
Add new ecore_x_randr_crtc_gamma functions that use the proper
structure.

Signed-off-by: Christopher Michael <cp.michael@samsung.com>

SVN revision: 83464
2013-01-30 09:32:44 +00:00
Carsten Haitzler bf9f42be90 add @since.
SVN revision: 83419
2013-01-29 08:24:21 +00:00
Carsten Haitzler 29ebec4bfb MINOR feature... not worth changelogging - add send event flag to
ecore-x-hide event.



SVN revision: 83418
2013-01-29 08:23:40 +00:00
Gustavo Sverzut Barbieri d01565adcf efl/ecore_x: fix doxygen hierarchy.
PLEASE someone unify xlib and xcb docs, makes no sense to have them
both as they should be exactly the same!



SVN revision: 81845
2012-12-28 20:46:54 +00:00