From c984005e9b83af035fef15890b24651cdaaedc6b Mon Sep 17 00:00:00 2001 From: Matt George Date: Wed, 30 Oct 2024 00:04:12 -0600 Subject: [PATCH] hard-code which targets have drag_resize support This replaces the previous check which appeared to rely on the assumption that initiating a drag_resize without a left mouse press wouldn't actually start a resize (this assumption is false on Windows). --- winit/src/application/drag_resize.rs | 23 ++++++++++++++++++++++- 1 file changed, 22 insertions(+), 1 deletion(-) diff --git a/winit/src/application/drag_resize.rs b/winit/src/application/drag_resize.rs index 9f109d39..ba77f6a5 100644 --- a/winit/src/application/drag_resize.rs +++ b/winit/src/application/drag_resize.rs @@ -12,7 +12,7 @@ pub fn event_func( ) -> bool, >, > { - if window.drag_resize_window(ResizeDirection::East).is_ok() { + if drag_resize_supported() { // Keep track of cursor when it is within a resizeable border. let mut cursor_prev_resize_direction = None; @@ -62,6 +62,27 @@ pub fn event_func( } } +/// Test if the current target should be assumed to have winit drag_resize support +const fn drag_resize_supported() -> bool { + #[cfg(all( + unix, + not(target_vendor = "apple"), + not(target_os = "android"), + not(target_os = "emscripten") + ))] + { + return true; + } + + #[cfg(target_os = "windows")] + { + return true; + } + + #[allow(unreachable_code)] + false +} + /// Get the cursor icon that corresponds to the resize direction. fn resize_direction_cursor_icon( resize_direction: Option,