Commit Graph

125 Commits

Author SHA1 Message Date
Carsten Haitzler fcb7f3c1ec e pointer -fix cast alignement warning
these will be aligned due to how evas works... so just silence this
2020-01-15 19:06:24 +01:00
Carsten Haitzler 42d8e3b07b pointer - use the swallowed obj geom as that is what we are tracking 2019-11-16 14:21:15 +00:00
Carsten Haitzler 6f4d2bd16d e ptr - provide an init signal for ptr to allow smooth fade in on start 2019-02-13 12:03:47 +00:00
Carsten Haitzler 9fe7343180 fix mouse hangs after unblank
this fixes T5883
2017-11-14 18:15:26 +09:00
Mike Blumenkrantz 58e686caec show internal pointer cursor whenever resetting to internal cursor
don't rely on efl internals for this
2017-11-03 13:19:54 -04:00
Mike Blumenkrantz fd68c99b64 always use e cursor theme for canvas pointers
canvas pointer = wl compositor pointer = always use e theme since there is no
loader for x11 cursors
2017-10-09 07:09:38 -04:00
Mike Blumenkrantz caab810b39 check for non-wl compositor when forcing application cursors onto pointers
comp_type is not set during initial pointer creation on startup but will be set at
the point of xwl startup, so use a check which will succeed

fix T6157
ref 2b8c70fe98
2017-10-09 07:09:38 -04:00
Mike Blumenkrantz 03982a1408 Revert "do not apply enlightenment cursor theme for xwayland clients"
This reverts commit 80abcc5600.

sort of worked, sort of irrelevant
2017-10-09 07:09:38 -04:00
Mike Blumenkrantz 80abcc5600 do not apply enlightenment cursor theme for xwayland clients
wayland always uses the client's cursor, so maintain that consistency
2017-10-05 11:42:24 -04:00
Mike Blumenkrantz 2b8c70fe98 set default cursor on root window for xwl pointer
ref T5593

 #TheDisappointer
2017-10-04 14:09:35 -04:00
Mike Blumenkrantz 4d3e157b30 hide pointer cursor clients when unsetting them
ensure the pointer remains hidden even if the client does not unmap its surface

 #TheDisappointer
2017-07-20 17:18:33 -04:00
Mike Blumenkrantz 3da7e0d1e0 freeze pointer animations while screensaver is active 2017-07-14 18:40:50 -04:00
Mike Blumenkrantz 58226266fd store current pointer client into pointer struct 2017-06-09 20:18:13 -04:00
Mike Blumenkrantz 7350a9c891 Revert "attempt to re-set wl surface pointer when popping back to "default" pointer type"
This reverts commit e42b072f38.

this is broken according to spec, clients should re-set their pointers manually
2017-02-10 17:24:13 -05:00
Mike Blumenkrantz e3d0fdbf67 only unset current pointer cursor object if new one is being set
#TheDisappointer
2017-02-10 17:24:13 -05:00
Derek Foreman 4cf555f36e Replace all timer_reset with timer_loop_reset
Another sed bomb - didn't occur to me first time around to
check for this.  Cleans up more clock_gettime calls.
2017-02-06 15:59:25 -06:00
Mike Blumenkrantz c68ca50ced make e_pointer_object_set() a no-op when passing the existing cursor 2017-02-03 15:13:45 -05:00
Mike Blumenkrantz 83f0a68291 add e_pointer_show() 2017-02-03 15:13:45 -05:00
Mike Blumenkrantz e42b072f38 attempt to re-set wl surface pointer when popping back to "default" pointer type
this automatically handles the case where enlightenment has commandeered the
cursor temporarily and the active client has not unset+set a new cursor in the
meantime
2016-12-02 10:54:06 -05:00
Mike Blumenkrantz e92519f171 adjust layering of pointer and init splash
prevents cursor from getting stuck above screensaver fade
2015-07-10 14:21:50 -04:00
Mike Blumenkrantz bec06b8703 add function to fill in x11 cursor image on creation
xwayland compositing requires that we set up a root window cursor image
immediately since we'll be getting that cursor surface to display as soon
as the pointer goes out of an x11 client's window
2015-07-10 13:04:12 -04:00
Mike Blumenkrantz 5a26363046 break up some pointer setting code into helper functions 2015-07-10 13:03:05 -04:00
Mike Blumenkrantz 20d281d9d3 redo e_pointer to support xwayland cursors
this requires that both canvas cursors and window cursors be present for the same
E_Pointer object, even though only the canvas cursor is actually visible

 #kansas
2015-07-09 14:45:04 -04:00
Chris Michael 0a94e8ba71 enlightenment: Make E build again with EFL from git
sed -i 's/EAPI/E_API/g'

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-05-07 15:13:10 -04:00
Mike Blumenkrantz c9ef6e5c77 re-setting same cursor object updates hotspot as expected 2015-03-05 11:27:23 -05:00
Mike Blumenkrantz 2e6c593295 noop when setting pointer object if re-setting same object 2015-02-27 15:07:24 -05:00
Mike Blumenkrantz 67bbd1fe03 manage client pointer client hidden states when changing pointer cursor objects
fixes sticky cursors
2015-02-12 20:07:35 -05:00
Mike Blumenkrantz ee530798f0 replace all occurrences of cursor setting with calls to pointer util function 2015-02-09 12:24:48 -05:00
Mike Blumenkrantz 2a1525bdb0 add pointer util function for changing cursor object without deleting it 2015-02-09 12:24:48 -05:00
Chris Michael b42e70c73a fix e_pointer using incorrect comp variable
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-01-29 09:28:28 -05:00
Chris Michael cdebd483ef de-e_comp_get()-ify e_pointer
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-01-27 12:51:35 -05:00
Mike Blumenkrantz 33ff637a7c fix pointer crashes from wrong #ifdefs in 1f439893f1 2014-09-05 14:29:39 -04:00
Mike Blumenkrantz fdcd207323 clean up function/macro use in e_pointer 2014-09-05 14:27:59 -04:00
Chris Michael 2b8d76747d Revert "bugfix: Set pointer timer & poller members to NULL after we delete the"
This reverts commit bb2dab1a5d.

Revert this because the macro already sets the pointers to NULL.
2014-09-05 12:27:01 -04:00
Chris Michael bb2dab1a5d bugfix: Set pointer timer & poller members to NULL after we delete the
timer/poller

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-09-05 11:40:00 -04:00
Chris Michael 1f439893f1 bugfix: handle case of pointer_xy_get being called if we are not
wayland-only and also not working with an X client.

bugfix: Fix case of pointers_size_set not adjusting pointer structure
fields with new size when rendering wayland pointers.

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-09-04 15:51:46 -04:00
Chris Michael 3edef4a1a8 remove call to show pointer during canvas_new function
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-08-28 12:10:09 -04:00
Chris Michael 63b5da69f0 fix pointer for stupid X11...but this breaks pointers in wayland (for
now) :(

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-08-28 11:10:07 -04:00
Chris Michael 01fd44e485 add new e_pointer files
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-08-26 10:10:37 -04:00
Chris Michael f1bf03e87b remove old e_pointer code
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-08-26 10:10:37 -04:00
Chris Michael c308904e9b fix formatting
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-08-26 10:10:36 -04:00
Gwanglim Lee 6f707894a8 fix e cursor invisible after destroying wayland surface
Summary:
E doen't have to remove pointer_image evas object when destroying wayland
surface. The image contents of pointer_image will be replaced default mouse
cursor in pointer_object at idler unless pointer_image is removed in
e_pointer_image_set.

Test Plan: run e with wayland only server -> run elementary test -> close elementary test

Reviewers: raster, devilhorns, zmike

CC: cedric

Differential Revision: https://phab.enlightenment.org/D776
2014-04-24 12:42:03 -04:00
Gwanglim Lee ecb8d21ab6 set blocks to avoid copying cursor contents from evas buffer canvas in idler_before
Summary:
it fixes a bug that cursor is invisible when running a wayland client.
e_pointer_image_set function sets image data of p->pointer_image to
data of E_Pixmap. and then e_pointer_idler_before function changes
raw image data of p->pointer_image to p->pixels. we should enable blocks
to avoid it.

Test Plan: run enlightenment (wayland only) -> run efl app with wayland shm engine

Reviewers: raster, devilhorns, zmike

CC: cedric

Differential Revision: https://phab.enlightenment.org/D769
2014-04-24 12:41:38 -04:00
Mike Blumenkrantz c17d33368c check pixmap_size_get() return in e_pointer
CID 1195448
2014-04-04 15:04:27 -04:00
Stefan Schmidt 04a5a11a8f e_pointer: Fix missing if for else if condition
Fixing devilhorns commit and run commit. If we have a condition we want
to check we need an else if not a simple else. Always compile before push.
Especially the small and simple changes. :)
2014-03-20 15:50:51 +01:00
Chris Michael d0b61e4b88 bugfix: Properly hide/show pointer_image & pointer_object based on if
the pointer is located on an existing canvas

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-03-20 14:16:42 +00:00
Chris Michael 5ce5d2d90b bugfix: Set pass_events and layer of the pointer image if we are
creating a new one.

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-03-20 14:16:42 +00:00
Chris Michael 5b77c566e6 Use ecore_wl functions to return the pointer location if we are
running as wayland-only

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-03-20 10:18:44 +00:00
Mike Blumenkrantz c81e649992 fix more wayland crashes 2014-03-18 18:15:24 -04:00
Chris Michael 3d10a3d34e @bugfix: Fix pointer to work in drm and also fix some formatting
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-03-18 07:43:04 +00:00