Added SDL_FOURCC()
authorSam Lantinga <slouken@libsdl.org>
Wed, 07 Jul 2010 21:36:09 -0700
changeset 4492 bff93336121e
parent 4491 2cd7bb613a83
child 4493 f0b7c8d169f5
Added SDL_FOURCC()
include/SDL_pixels.h
include/SDL_stdinc.h
--- 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
  */