From 89f37d410557c9062b45f090f08d006453bc4fc9 Mon Sep 17 00:00:00 2001
From: bruvzg <7645683+bruvzg@users.noreply.github.com>
Date: Fri, 14 Jan 2022 12:41:04 +0200
Subject: Add support for getting native display, window, and view handles.

---
 platform/iphone/display_server_iphone.mm | 18 ++++++++++++++++++
 1 file changed, 18 insertions(+)

(limited to 'platform/iphone/display_server_iphone.mm')

diff --git a/platform/iphone/display_server_iphone.mm b/platform/iphone/display_server_iphone.mm
index 3047d91a4d..d8e0d7f916 100644
--- a/platform/iphone/display_server_iphone.mm
+++ b/platform/iphone/display_server_iphone.mm
@@ -408,6 +408,24 @@ DisplayServer::WindowID DisplayServerIPhone::get_window_at_screen_position(const
 	return MAIN_WINDOW_ID;
 }
 
+int64_t DisplayServerIPhone::window_get_native_handle(HandleType p_handle_type, WindowID p_window) const {
+	ERR_FAIL_COND_V(p_window != MAIN_WINDOW_ID, 0);
+	switch (p_handle_type) {
+		case DISPLAY_HANDLE: {
+			return 0; // Not supported.
+		}
+		case WINDOW_HANDLE: {
+			return (int64_t)AppDelegate.viewController;
+		}
+		case WINDOW_VIEW: {
+			return (int64_t)AppDelegate.viewController.godotView;
+		}
+		default: {
+			return 0;
+		}
+	}
+}
+
 void DisplayServerIPhone::window_attach_instance_id(ObjectID p_instance, WindowID p_window) {
 	window_attached_instance_id = p_instance;
 }
-- 
cgit v1.2.3