diff --git a/src/platforms/rcore_desktop_glfw.c b/src/platforms/rcore_desktop_glfw.c index 1e3ae2b45..9d2cd018d 100644 --- a/src/platforms/rcore_desktop_glfw.c +++ b/src/platforms/rcore_desktop_glfw.c @@ -1049,7 +1049,10 @@ Image GetClipboardImage(void) Image image = { 0 }; #if SUPPORT_CLIPBOARD_IMAGE +#if SUPPORT_MODULE_RTEXTURES #if defined(_WIN32) + +#if SUPPORT_FILEFORMAT_BMP unsigned long long int dataSize = 0; void *bmpData = NULL; int width = 0; @@ -1059,10 +1062,16 @@ Image GetClipboardImage(void) if (bmpData == NULL) TRACELOG(LOG_WARNING, "Clipboard image: Couldn't get clipboard data."); else image = LoadImageFromMemory(".bmp", (const unsigned char *)bmpData, (int)dataSize); +#else + TRACELOG(LOG_WARNING, "WARNING: Enabling SUPPORT_CLIPBOARD_IMAGE requires SUPPORT_FILEFORMAT_BMP, specially on Windows"); +#endif // SUPPORT_FILEFORMAT_BMP #else TRACELOG(LOG_WARNING, "GetClipboardImage() not implemented on target platform"); -#endif -#endif +#endif // defined(_WIN32) +#else // !SUPPORT_MODULE_RTEXTURES + TRACELOG(LOG_WARNING, "Enabling SUPPORT_CLIPBOARD_IMAGE requires SUPPORT_MODULE_RTEXTURES to work properly"); +#endif // SUPPORT_MODULE_RTEXTURES +#endif // SUPPORT_CLIPBOARD_IMAGE return image; } diff --git a/src/platforms/rcore_desktop_rgfw.c b/src/platforms/rcore_desktop_rgfw.c index 178845f16..532371f35 100755 --- a/src/platforms/rcore_desktop_rgfw.c +++ b/src/platforms/rcore_desktop_rgfw.c @@ -1007,7 +1007,10 @@ Image GetClipboardImage(void) { Image image = { 0 }; #if SUPPORT_CLIPBOARD_IMAGE +#if SUPPORT_MODULE_RTEXTURES #if defined(_WIN32) + +#if SUPPORT_FILEFORMAT_BMP unsigned long long int dataSize = 0; // moved into _WIN32 scope until other platforms gain support void *fileData = NULL; // moved into _WIN32 scope until other platforms gain support @@ -1017,9 +1020,15 @@ Image GetClipboardImage(void) if (fileData == NULL) TRACELOG(LOG_WARNING, "Clipboard image: Couldn't get clipboard data"); else image = LoadImageFromMemory(".bmp", (const unsigned char *)fileData, dataSize); +#else + TRACELOG(LOG_WARNING, "WARNING: Enabling SUPPORT_CLIPBOARD_IMAGE requires SUPPORT_FILEFORMAT_BMP, specially on Windows"); +#endif // SUPPORT_FILEFORMAT_BMP #else TRACELOG(LOG_WARNING, "Clipboard image: PLATFORM_DESKTOP_RGFW doesn't implement GetClipboardImage() for this OS"); -#endif +#endif // defined(_WIN32) +#else // !SUPPORT_MODULE_RTEXTURES + TRACELOG(LOG_WARNING, "Enabling SUPPORT_CLIPBOARD_IMAGE requires SUPPORT_MODULE_RTEXTURES to work properly"); +#endif // SUPPORT_MODULE_RTEXTURES #endif // SUPPORT_CLIPBOARD_IMAGE return image; diff --git a/src/platforms/rcore_desktop_sdl.c b/src/platforms/rcore_desktop_sdl.c index c16177f99..90d388b95 100644 --- a/src/platforms/rcore_desktop_sdl.c +++ b/src/platforms/rcore_desktop_sdl.c @@ -1163,6 +1163,22 @@ Image GetClipboardImage(void) Image image = { 0 }; #if SUPPORT_CLIPBOARD_IMAGE +#if !SUPPORT_MODULE_RTEXTURES + TRACELOG(LOG_WARNING, "Enabling SUPPORT_CLIPBOARD_IMAGE requires SUPPORT_MODULE_RTEXTURES to work properly"); + return image; +#endif + +// It's nice to have support Bitmap on Linux as well, but not as necessary as Windows +#if !SUPPORT_FILEFORMAT_BMP && defined(_WIN32) + TRACELOG(LOG_WARNING, "WARNING: Enabling SUPPORT_CLIPBOARD_IMAGE requires SUPPORT_FILEFORMAT_BMP, specially on Windows"); + return image; +#endif + +// From what I've tested applications on Wayland saves images on clipboard as PNG +#if (!SUPPORT_FILEFORMAT_PNG || !SUPPORT_FILEFORMAT_JPG) && !defined(_WIN32) + TRACELOG(LOG_WARNING, "WARNING: Getting image from the clipboard might not work without SUPPORT_FILEFORMAT_PNG or SUPPORT_FILEFORMAT_JPG"); + return image; +#endif // Let's hope compiler put these arrays in static memory const char *imageFormats[] = { "image/bmp", @@ -1197,7 +1213,7 @@ Image GetClipboardImage(void) } if (!IsImageValid(image)) TRACELOG(LOG_WARNING, "Clipboard: Couldn't get clipboard data. ERROR: %s", SDL_GetError()); -#endif +#endif // SUPPORT_CLIPBOARD_IMAGE return image; } diff --git a/src/raymath.h b/src/raymath.h index e3befaa08..ab1be1409 100644 --- a/src/raymath.h +++ b/src/raymath.h @@ -2708,7 +2708,7 @@ RMAPI void MatrixDecompose(Matrix mat, Vector3 *translation, Quaternion *rotatio stabilizer = fmaxf(stabilizer, fabsf(matColumns[i].x)); stabilizer = fmaxf(stabilizer, fabsf(matColumns[i].y)); stabilizer = fmaxf(stabilizer, fabsf(matColumns[i].z)); - }; + } matColumns[0] = Vector3Scale(matColumns[0], 1.0f / stabilizer); matColumns[1] = Vector3Scale(matColumns[1], 1.0f / stabilizer); matColumns[2] = Vector3Scale(matColumns[2], 1.0f / stabilizer); diff --git a/src/rcore.c b/src/rcore.c index b21d1ddff..85a5c0b3b 100644 --- a/src/rcore.c +++ b/src/rcore.c @@ -529,22 +529,6 @@ const char *TextFormat(const char *text, ...); // Formatting of text with variab #define PLATFORM_DESKTOP_GLFW #endif -// Using '#pragma message' because '#warning' is not adopted by MSVC -#if SUPPORT_CLIPBOARD_IMAGE - #if !SUPPORT_MODULE_RTEXTURES - #pragma message ("WARNING: Enabling SUPPORT_CLIPBOARD_IMAGE requires SUPPORT_MODULE_RTEXTURES to work properly") - #endif - - // It's nice to have support Bitmap on Linux as well, but not as necessary as Windows - #if !SUPPORT_FILEFORMAT_BMP && defined(_WIN32) - #pragma message ("WARNING: Enabling SUPPORT_CLIPBOARD_IMAGE requires SUPPORT_FILEFORMAT_BMP, specially on Windows") - #endif - - // From what I've tested applications on Wayland saves images on clipboard as PNG - #if (!SUPPORT_FILEFORMAT_PNG || !SUPPORT_FILEFORMAT_JPG) && !defined(_WIN32) - #pragma message ("WARNING: Getting image from the clipboard might not work without SUPPORT_FILEFORMAT_PNG or SUPPORT_FILEFORMAT_JPG") - #endif -#endif // Include platform-specific submodules #if defined(PLATFORM_DESKTOP_GLFW)