]> git.lizzy.rs Git - irrlicht.git/commitdiff
SDL: Support clipboard
authorDesour <vorunbekannt75@web.de>
Wed, 14 Sep 2022 18:38:49 +0000 (20:38 +0200)
committersfan5 <sfan5@live.de>
Fri, 24 Mar 2023 16:59:06 +0000 (17:59 +0100)
source/Irrlicht/COSOperator.cpp

index 906035aa147a4e526fea560e40af501e6c4dfe61..4f441786e4aebd4c7326a95b8c6540dd2ff5ca7b 100644 (file)
@@ -17,7 +17,9 @@
 #endif\r
 #endif\r
 \r
-#if defined(_IRR_COMPILE_WITH_X11_DEVICE_)\r
+#if defined(_IRR_COMPILE_WITH_SDL_DEVICE_)\r
+#include <SDL_clipboard.h>\r
+#elif defined(_IRR_COMPILE_WITH_X11_DEVICE_)\r
 #include "CIrrDeviceLinux.h"\r
 #endif\r
 #if defined(_IRR_COMPILE_WITH_OSX_DEVICE_)\r
@@ -59,8 +61,10 @@ void COSOperator::copyToClipboard(const c8 *text) const
        if (strlen(text)==0)\r
                return;\r
 \r
-// Windows version\r
-#if defined(_IRR_WINDOWS_API_)\r
+#if defined(_IRR_COMPILE_WITH_SDL_DEVICE_)\r
+       SDL_SetClipboardText(text);\r
+\r
+#elif defined(_IRR_WINDOWS_API_)\r
        if (!OpenClipboard(NULL) || text == 0)\r
                return;\r
 \r
@@ -117,7 +121,14 @@ void COSOperator::copyToPrimarySelection(const c8 *text) const
 //! gets text from the clipboard\r
 const c8* COSOperator::getTextFromClipboard() const\r
 {\r
-#if defined(_IRR_WINDOWS_API_)\r
+#if defined(_IRR_COMPILE_WITH_SDL_DEVICE_)\r
+       static char *text = nullptr;\r
+       if (text)\r
+               SDL_free(text);\r
+       text = SDL_GetClipboardText();\r
+       return text;\r
+\r
+#elif defined(_IRR_WINDOWS_API_)\r
        if (!OpenClipboard(NULL))\r
                return 0;\r
 \r