changeset 4492:bff93336121e

Added SDL_FOURCC()
author Sam Lantinga <slouken@libsdl.org>
date Wed, 07 Jul 2010 21:36:09 -0700
parents 2cd7bb613a83
children f0b7c8d169f5
files include/SDL_pixels.h include/SDL_stdinc.h
diffstat 2 files changed, 8 insertions(+), 2 deletions(-) [+]
line wrap: on
line diff
--- a/include/SDL_pixels.h	Wed Jul 07 21:35:44 2010 -0700
+++ b/include/SDL_pixels.h	Wed Jul 07 21:36:09 2010 -0700
@@ -112,8 +112,7 @@
     SDL_PACKEDLAYOUT_1010102
 };
 
-#define SDL_DEFINE_PIXELFOURCC(A, B, C, D) \
-    ((A) | ((B) << 8) | ((C) << 16) | ((D) << 24))
+#define SDL_DEFINE_PIXELFOURCC(A, B, C, D) SDL_FOURCC(A, B, C, D)
 
 #define SDL_DEFINE_PIXELFORMAT(type, order, layout, bits, bytes) \
     ((1 << 31) | ((type) << 24) | ((order) << 20) | ((layout) << 16) | \
--- a/include/SDL_stdinc.h	Wed Jul 07 21:35:44 2010 -0700
+++ b/include/SDL_stdinc.h	Wed Jul 07 21:36:09 2010 -0700
@@ -101,6 +101,13 @@
 #endif
 /*@}*//*Cast operators*/
 
+/* Define a four character code as a Uint32 */
+#define SDL_FOURCC(A, B, C, D) \
+    ((SDL_static_cast(Uint32, SDL_static_cast(Uint8, (A))) << 0) | \
+     (SDL_static_cast(Uint32, SDL_static_cast(Uint8, (B))) << 8) | \
+     (SDL_static_cast(Uint32, SDL_static_cast(Uint8, (C))) << 16) | \
+     (SDL_static_cast(Uint32, SDL_static_cast(Uint8, (D))) << 24))
+
 /**
  *  \name Basic data types
  */