From bb0abbe494dfaafe18a0ce978fcb5353ca1b4ea8 Mon Sep 17 00:00:00 2001
From: namark <namark@disroot.org>
Date: Tue, 17 Dec 2019 03:15:49 +0400
Subject: [PATCH] Endian agnostic 32 bit rgba pixel format aliases

for when SDL doesn't provide those.

Also rgb888 is actually xrgb8888??? weird... will need to provided
actual rgb888
---
 source/simple/graphical/pixel_format.h | 25 +++++++++++++++++++------
 1 file changed, 19 insertions(+), 6 deletions(-)

diff --git a/source/simple/graphical/pixel_format.h b/source/simple/graphical/pixel_format.h
index dea460d..27f0090 100644
--- a/source/simple/graphical/pixel_format.h
+++ b/source/simple/graphical/pixel_format.h
@@ -41,9 +41,9 @@ namespace simple::graphical
 			bgr565 = SDL_PIXELFORMAT_BGR565,
 			rgb24 = SDL_PIXELFORMAT_RGB24,
 			bgr24 = SDL_PIXELFORMAT_BGR24,
-			rgb888 = SDL_PIXELFORMAT_RGB888,
+			xrgb8888 = SDL_PIXELFORMAT_RGB888,
 			rgbx8888 = SDL_PIXELFORMAT_RGBX8888,
-			bgr888 = SDL_PIXELFORMAT_BGR888,
+			xbgr8888 = SDL_PIXELFORMAT_BGR888,
 			bgrx8888 = SDL_PIXELFORMAT_BGRX8888,
 			argb8888 = SDL_PIXELFORMAT_ARGB8888,
 			rgba8888 = SDL_PIXELFORMAT_RGBA8888,
@@ -51,10 +51,23 @@ namespace simple::graphical
 			bgra8888 = SDL_PIXELFORMAT_BGRA8888,
 			argb2101010 = SDL_PIXELFORMAT_ARGB2101010,
 #if SDL_VERSION_ATLEAST(2,0,5)
-			rgba32 = SDL_PIXELFORMAT_RGBA32, // alias for RGBA byte array of color data, for the current platform
-			argb32 = SDL_PIXELFORMAT_ARGB32, // alias for ARGB byte array of color data, for the current platform
-			bgra32 = SDL_PIXELFORMAT_BGRA32, // alias for BGRA byte array of color data, for the current platform
-			abgr32 = SDL_PIXELFORMAT_ABGR32, // alias for ABGR byte array of color data, for the current platform
+			rgba32 = SDL_PIXELFORMAT_RGBA32,
+			argb32 = SDL_PIXELFORMAT_ARGB32,
+			bgra32 = SDL_PIXELFORMAT_BGRA32,
+			abgr32 = SDL_PIXELFORMAT_ABGR32,
+#else
+	#if SDL_BYTEORDER == SDL_BIG_ENDIAN
+			rgba32 = SDL_PIXELFORMAT_RGBA8888,
+			argb32 = SDL_PIXELFORMAT_ARGB8888,
+			bgra32 = SDL_PIXELFORMAT_BGRA8888,
+			abgr32 = SDL_PIXELFORMAT_ABGR8888,
+	#else
+			rgba32 = SDL_PIXELFORMAT_ABGR8888,
+			argb32 = SDL_PIXELFORMAT_BGRA8888,
+			bgra32 = SDL_PIXELFORMAT_ARGB8888,
+			abgr32 = SDL_PIXELFORMAT_RGBA8888,
+	#endif
+
 #endif
 			yv12 = SDL_PIXELFORMAT_YV12, // planar mode: Y + V + U (3 planes)
 			iyuv = SDL_PIXELFORMAT_IYUV, // planar mode: Y + U + V (3 planes)
-- 
GitLab