0
0
mirror of https://github.com/mpv-player/mpv.git synced 2024-09-20 12:02:23 +02:00
mpv/video/out
nanahi 092f556898 input: centralize VO dragging
Currently, VO dragging logic is hardcoded into each VO, where a left mouse
button down event unconditionally begins dragging if the VO dragging test
passes. This method is extremely unflexible as the VO has no knowledge of
what is happening in the input system: while begin dragging with the second
click of a doubleclick is undesired, it cannot determine whether a click
is a double click or not because it's determined by the input system.

The better way to do it is to handle it somewhere in the downstream
consumers of the events instead, as they have more information to make
this decision. The input system is the perfect place for this as the logic
for checking doubleclick already exists. So just issue a begin-vo-dragging
command if it detects a left mouse button down which isn't also a
doubleclick in this case, and delete all hardcoded VO dragging logic
in win32, x11, and wayland.

Note that this solution hardcodes left mouse button down for now, but
because the VO dragging is now centralized, it's possible to make more
improvements, such as a deadzone mechanism to fix the conflict with
MBTN_LEFT mouse bind.
2024-03-01 18:25:12 +01:00
..
d3d11 d3d11: make --alpha runtime changeable 2024-02-17 16:06:33 +00:00
gpu various: avoid function pointer casts 2024-02-28 16:04:02 +00:00
gpu_next vo_gpu/vo_gpu_next: set ctx->opts.want_alpha in specific functions 2024-02-26 16:46:00 +00:00
hwdec hwdec/dmabuf_interop: reduce magic constant use 2024-02-26 17:37:20 +01:00
mac cocoa-cb: render on main queue instead of dedicated queue 2024-02-29 16:40:52 +01:00
opengl various: make mentions of macOS consistent 2024-02-21 20:46:53 +01:00
placebo csputils: replace mp_chroma_location with pl_chroma_location 2024-01-22 14:54:55 +00:00
vulkan mac/vulkan: remove old deprecated VK_MVK_macos_surface extension remains 2024-02-29 14:06:14 +01:00
win32 meson: adjust win32 defines 2023-11-25 12:38:20 +01:00
wldmabuf vo_dmabuf_wayland: drop linux-dmabuf-v2 (again) 2023-06-16 14:46:59 +00:00
android_common.c video/out/android: assert WinID value before use 2023-06-03 17:07:43 +02:00
android_common.h vo: change vo_platform_init to bool 2023-01-08 20:42:42 +00:00
aspect.c aspect: remove unused multiplication 2023-10-23 00:10:42 +00:00
aspect.h aspect: change license to LGPL 2017-06-17 17:08:51 +02:00
bitmap_packer.c video/out/bitmap_packer: Avoid empty initializer list 2019-11-18 16:50:21 +01:00
bitmap_packer.h bitmap_packer: remove some unused functions 2016-07-01 20:29:45 +02:00
cocoa_cb_common.swift cocoa-cb: lock CGLContext on uninit and manual redraw 2024-02-18 17:25:05 +01:00
dither.c dither: removed some unused code 2023-10-16 15:38:59 +00:00
dither.h gl_video: improve dithering 2013-05-26 16:44:20 +02:00
dr_helper.c mp_thread: prefer tracking threads with id 2023-11-05 17:36:17 +00:00
dr_helper.h mp_thread: prefer tracking threads with id 2023-11-05 17:36:17 +00:00
drm_atomic.c drm: rewrite based around vo_drm_state 2023-01-21 17:08:29 +00:00
drm_atomic.h drm: rewrite based around vo_drm_state 2023-01-21 17:08:29 +00:00
drm_common.c various: avoid function pointer casts 2024-02-28 16:04:02 +00:00
drm_common.h drm: use present_sync mechanism for presentation feedback 2023-11-06 15:44:45 +00:00
drm_prime.c drm_prime: fallback to drmModeAddFB2 2020-05-08 21:26:25 +02:00
drm_prime.h drm_prime: double free bug 2020-03-05 18:12:57 +01:00
filter_kernels.c various: replace dead links in comments 2024-02-11 04:01:24 +00:00
filter_kernels.h vo_gpu: remove --scale-cutoff etc 2023-09-25 12:45:17 +02:00
libmpv_sw.c various: drop unused #include "config.h" 2023-02-20 14:21:18 +00:00
libmpv.h vo: add int flags to the get_image signature 2023-01-23 14:13:34 +01:00
mac_common.swift mac: remove unnecessary metal layer colour space update 2024-02-27 14:03:15 +01:00
meson.build meson: rename all features with underscores 2023-08-20 21:13:37 +00:00
present_sync.c present_sync: remove unneeded clear_values function 2023-11-07 00:52:46 +00:00
present_sync.h present_sync: remove unneeded clear_values function 2023-11-07 00:52:46 +00:00
vo_caca.c vo: fully replace draw_image with draw_frame 2023-10-01 14:48:38 +00:00
vo_direct3d.c vo_direct3d: remove redundant condition 2023-11-18 23:55:28 +00:00
vo_dmabuf_wayland.c vo_dmabuf_wayland: scale smarter in hidpi situations 2024-01-27 05:12:12 +00:00
vo_drm.c drm: use present_sync mechanism for presentation feedback 2023-11-06 15:44:45 +00:00
vo_gpu_next.c vo_gpu_next: simplify pl_clear_mode enum mapping 2024-02-26 20:07:43 -06:00
vo_gpu.c vo_gpu/vo_gpu_next: rework --alpha into --background option 2024-02-26 16:46:00 +00:00
vo_image.c vo: fully replace draw_image with draw_frame 2023-10-01 14:48:38 +00:00
vo_kitty.c vo_kitty: init all fields of struct sigaction before using it 2023-11-28 10:46:16 +01:00
vo_lavc.c csputils: replace mp_colorspace with pl_color_space 2024-01-22 14:54:55 +00:00
vo_libmpv.c osdep/mac: make mac naming of files, folders and function consistent 2024-02-28 15:52:47 +01:00
vo_mediacodec_embed.c hwdec: fix undeclared identifier in mediacodec_embed 2023-06-28 10:29:24 -07:00
vo_null.c timer: change mp_sleep_us to mp_sleep_ns 2023-10-10 19:10:55 +00:00
vo_sdl.c vo_sdl: support the focused property 2023-12-29 11:31:18 +01:00
vo_sixel.c vo_sixel: change exit-clear handling to OPT_REPLACED 2023-09-21 16:06:29 +00:00
vo_tct.c vo: fully replace draw_image with draw_frame 2023-10-01 14:48:38 +00:00
vo_vaapi.c csputils: replace mp_colorspace with pl_color_space 2024-01-22 14:54:55 +00:00
vo_vdpau.c vo: remove VOCTRL_SET_EQUALIZER and simplify into UPDATE_VIDEO 2024-02-17 18:56:20 +00:00
vo_wlshm.c wayland: drop buffer_scale use for viewporter 2024-01-27 05:12:12 +00:00
vo_x11.c timer: add convenience time unit conversion macros 2023-10-16 15:38:59 +00:00
vo_xv.c csputils: replace mp_colorspace with pl_color_space 2024-01-22 14:54:55 +00:00
vo.c vo: make libmpv last in the auto-probing order for cocoa-cb only 2024-02-20 20:42:02 +01:00
vo.h command: add begin-vo-dragging command 2024-03-01 18:25:12 +01:00
w32_common.c input: centralize VO dragging 2024-03-01 18:25:12 +01:00
w32_common.h w32_common: add function to control window transparency state 2024-02-17 16:06:33 +00:00
wayland_common.c wayland_common: implement VOCTRL_BEGIN_DRAGGING 2024-03-01 18:25:12 +01:00
wayland_common.h wayland_common: implement VOCTRL_BEGIN_DRAGGING 2024-03-01 18:25:12 +01:00
win_state.c win_state: add vo_calc_window_geometry3 2021-09-06 10:16:10 +03:00
win_state.h win_state: add vo_calc_window_geometry3 2021-09-06 10:16:10 +03:00
x11_common.c input: centralize VO dragging 2024-03-01 18:25:12 +01:00
x11_common.h x11_common: implement VOCTRL_BEGIN_DRAGGING 2024-03-01 18:25:12 +01:00