From 2e99d84e87a81dcfc29b067450a9e9f4d76b3086 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Pa=CC=84vels=20Nadtoc=CC=8Cajevs?=
<7645683+bruvzg@users.noreply.github.com>
Date: Tue, 14 Jan 2025 15:26:32 +0200
Subject: [PATCH] [DisplayServer] Add missing `FEATURE_WINDOW_DRAG` flag to
Windows, X11 and Wayland display servers.
---
doc/classes/DisplayServer.xml | 2 +-
platform/linuxbsd/wayland/display_server_wayland.cpp | 1 +
platform/linuxbsd/x11/display_server_x11.cpp | 1 +
platform/windows/display_server_windows.cpp | 1 +
4 files changed, 4 insertions(+), 1 deletion(-)
diff --git a/doc/classes/DisplayServer.xml b/doc/classes/DisplayServer.xml
index a607d6b8ff7..978a1fd88f8 100644
--- a/doc/classes/DisplayServer.xml
+++ b/doc/classes/DisplayServer.xml
@@ -1937,7 +1937,7 @@
The display server supports all features of [constant FEATURE_NATIVE_DIALOG_FILE], with the added functionality of Options and native dialog file access to [code]res://[/code] and [code]user://[/code] paths. See [method file_dialog_show] and [method file_dialog_with_options_show]. [b]Windows, macOS, Linux (X11/Wayland)[/b]
- The display server supports initiating window drag operation on demand. See [method window_start_drag].
+ The display server supports initiating window drag and resize operations on demand. See [method window_start_drag] and [method window_start_resize].
Display server supports [constant WINDOW_FLAG_EXCLUDE_FROM_CAPTURE] window flag.
diff --git a/platform/linuxbsd/wayland/display_server_wayland.cpp b/platform/linuxbsd/wayland/display_server_wayland.cpp
index d5dc8c2a783..0ad29405fba 100644
--- a/platform/linuxbsd/wayland/display_server_wayland.cpp
+++ b/platform/linuxbsd/wayland/display_server_wayland.cpp
@@ -209,6 +209,7 @@ bool DisplayServerWayland::has_feature(Feature p_feature) const {
case FEATURE_SWAP_BUFFERS:
case FEATURE_KEEP_SCREEN_ON:
case FEATURE_IME:
+ case FEATURE_WINDOW_DRAG:
case FEATURE_CLIPBOARD_PRIMARY: {
return true;
} break;
diff --git a/platform/linuxbsd/x11/display_server_x11.cpp b/platform/linuxbsd/x11/display_server_x11.cpp
index 77f08095b1c..b17f72dc5c0 100644
--- a/platform/linuxbsd/x11/display_server_x11.cpp
+++ b/platform/linuxbsd/x11/display_server_x11.cpp
@@ -152,6 +152,7 @@ bool DisplayServerX11::has_feature(Feature p_feature) const {
case FEATURE_CLIPBOARD_PRIMARY:
case FEATURE_TEXT_TO_SPEECH:
case FEATURE_WINDOW_EMBEDDING:
+ case FEATURE_WINDOW_DRAG:
return true;
case FEATURE_SCREEN_CAPTURE:
return !xwayland;
diff --git a/platform/windows/display_server_windows.cpp b/platform/windows/display_server_windows.cpp
index 4d9e7b3965d..f35624d890a 100644
--- a/platform/windows/display_server_windows.cpp
+++ b/platform/windows/display_server_windows.cpp
@@ -138,6 +138,7 @@ bool DisplayServerWindows::has_feature(Feature p_feature) const {
case FEATURE_SCREEN_CAPTURE:
case FEATURE_STATUS_INDICATOR:
case FEATURE_WINDOW_EMBEDDING:
+ case FEATURE_WINDOW_DRAG:
case FEATURE_SCREEN_EXCLUDE_FROM_CAPTURE:
return true;
case FEATURE_EMOJI_AND_SYMBOL_PICKER: