1
0
mirror of https://github.com/mpv-player/mpv synced 2024-12-25 00:02:13 +00:00
mpv/video/out
Akemi 9ac05a575c cocoa: refactor mouse events and cursor visibility
we reported some unnecessary mouse movements and not all mouse enter
and leave events. that lead to wrongly reported activity on hover areas
like on the OSC or comparable lua scripts. sometimes menu items were
shown that shouldn't be shown or they didn't vanish because of the
missing mouse leave event.

this incorporates @torque's fix for mouse leave events that weren't
triggered during a transition, like going to fullscreen. the
tracking area was updated but the mouse never left that area because
it was never over it.

besides some known cursor visibility bugs the aforementioned changes
also revealed some other bugs that weren't reproducible before because
of the missbehavior.
known issues, in some cases the cursor doesn't show or hide properly.
for example when switching spaces, switching Apps via CMD+Tab or a
system notification. former two could be fixed while keeping our current
blank cursor approach. though the notification case couldn't. there is
no event or similar to detect a notification and the cursor visibility
couldn't be recovered in any way.

new issues, i noticed that our event view isn't initialised yet when the
first VOCTRL_SET_CURSOR_VISIBILITY event gets dispatched, which depends
on the event view to be initialised. so the mouse cursor couldn't be
hidden when mpv was opened and the cursor was within the window bounds.
this wasn't noticeable before because of various bugs and unwanted
behavior that have been fixed with this. now, in case the event view
isn't ready yet, we set the visibility at a later point when the event
view is ready and a helper flag is set.

Fixes #1817 #3856 #4147
2017-02-16 22:22:11 +01:00
..
cocoa cocoa: refactor mouse events and cursor visibility 2017-02-16 22:22:11 +01:00
opengl vo_opengl: hwdec_vaegl: fix potentially undefined memory access 2017-02-14 13:30:48 +01:00
wayland
win32 displayconfig: treat a refresh rate of 1 as invalid 2016-09-18 22:15:25 +10:00
aspect.c aspect: use nominal width instead of actual width for video-unscaled 2016-09-22 21:24:56 +02:00
aspect.h
bitmap_packer.c
bitmap_packer.h
cocoa_common.h
cocoa_common.m cocoa: refactor mouse events and cursor visibility 2017-02-16 22:22:11 +01:00
d3d_shader_420p.h
d3d_shader_nv12.h
d3d_shader_yuv.hlsl
dither.c
dither.h
drm_common.c drm: include <poll.h> instead of <sys/poll.h> 2017-01-09 16:21:28 +01:00
drm_common.h vo_drm: change CLI options + refactors 2016-10-07 00:22:23 +02:00
filter_kernels.c filter_kernels: add ability to taper kernels/windows 2016-11-01 16:25:40 +01:00
filter_kernels.h filter_kernels: add ability to taper kernels/windows 2016-11-01 16:25:40 +01:00
vo_caca.c
vo_direct3d.c options: remove deprecated sub-option handling for --vo and --ao 2016-11-25 21:17:25 +01:00
vo_drm.c vo_drm: remove 2 redundant include statements 2017-01-09 16:23:27 +01:00
vo_image.c options: remove deprecated sub-option handling for --vo and --ao 2016-11-25 21:17:25 +01:00
vo_lavc.c Remove compatibility things 2016-12-07 19:53:11 +01:00
vo_null.c options: remove deprecated sub-option handling for --vo and --ao 2016-11-25 21:17:25 +01:00
vo_opengl_cb.c vo_opengl, vo_opengl_cb: better hwdec interop backend selection 2017-01-17 15:48:56 +01:00
vo_opengl.c options: refacactor how --opengl-dwmflush is declared 2017-01-20 14:03:34 +01:00
vo_rpi.c vo_rpi: partially undeprecate 2016-12-08 11:00:14 +01:00
vo_sdl.c options: remove deprecated sub-option handling for --vo and --ao 2016-11-25 21:17:25 +01:00
vo_tct.c vo_tct: support also 256 colors output 2016-10-25 00:03:01 +11:00
vo_vaapi.c vaapi: remove central lock around vaapi API calls 2017-01-28 18:27:30 +01:00
vo_vdpau.c options: remove deprecated sub-option handling for --vo and --ao 2016-11-25 21:17:25 +01:00
vo_wayland.c options: remove deprecated sub-option handling for --vo and --ao 2016-11-25 21:17:25 +01:00
vo_x11.c
vo_xv.c options: remove deprecated sub-option handling for --vo and --ao 2016-11-25 21:17:25 +01:00
vo.c vo: log timings around flipping/waiting 2017-01-18 12:14:26 +01:00
vo.h options: remove deprecated sub-option handling for --vo and --ao 2016-11-25 21:17:25 +01:00
w32_common.c win32: update the fullscreen state on restoring 2017-02-12 02:49:25 +11:00
w32_common.h
wayland_common.c Fix mistakes in spelling and grammar 2016-12-21 17:47:57 +01:00
wayland_common.h
win_state.c x11: pseudo HiDPI scaling 2017-01-19 16:31:54 +01:00
win_state.h x11: pseudo HiDPI scaling 2017-01-19 16:31:54 +01:00
x11_common.c x11: pseudo HiDPI scaling 2017-01-19 16:31:54 +01:00
x11_common.h x11: pseudo HiDPI scaling 2017-01-19 16:31:54 +01:00
x11_icon.bin