Bläddra i källkod

Minor fix to PixelFormat

Daniele Bartolini 12 år sedan
förälder
incheckning
4563403034
2 ändrade filer med 69 tillägg och 72 borttagningar
  1. 15 18
      src/renderers/PixelFormat.cpp
  2. 54 54
      src/renderers/PixelFormat.h

+ 15 - 18
src/renderers/PixelFormat.cpp

@@ -30,7 +30,13 @@ namespace crown
 {
 
 //-----------------------------------------------------------------------------
-uint32_t Pixel::bits_per_pixel(PixelFormat format)
+size_t Pixel::bits_per_pixel(PixelFormat format)
+{
+	return bytes_per_pixel(format) * 8;
+}
+
+//-----------------------------------------------------------------------------
+size_t Pixel::bytes_per_pixel(PixelFormat format)
 {
 	switch (format)
 	{
@@ -38,7 +44,7 @@ uint32_t Pixel::bits_per_pixel(PixelFormat format)
 		case PF_RGB_3_3_2:
 		case PF_BGR_2_3_3:
 		{
-			return 8;
+			return 1;
 		}
 		case PF_L_16:
 		case PF_LA_8:
@@ -50,12 +56,12 @@ uint32_t Pixel::bits_per_pixel(PixelFormat format)
 		case PF_ABGR_4_4_4_4:
 		case PF_ABGR_1_5_5_5:
 		{
-			return 16;
+			return 2;
 		}
 		case PF_RGB_8:
 		case PF_BGR_8:
 		{
-			return 24;
+			return 3;
 		}
 		case PF_L_32:
 		case PF_L_FLOAT_32:
@@ -68,12 +74,12 @@ uint32_t Pixel::bits_per_pixel(PixelFormat format)
 		case PF_ABGR_8_8_8_8:
 		case PF_ABGR_2_10_10_10:
 		{
-			return 32;
+			return 4;
 		}
 		case PF_RGB_16:
 		case PF_BGR_16:
 		{
-			return 48;
+			return 6;
 		}
 		case PF_LA_32:
 		case PF_LA_FLOAT_32:
@@ -82,26 +88,23 @@ uint32_t Pixel::bits_per_pixel(PixelFormat format)
 		case PF_RGBA_16:
 		case PF_ABGR_16:
 		{
-			return 64;
+			return 8;
 		}
 		case PF_RGB_32:
 		case PF_RGB_FLOAT_32:
 		case PF_BGR_32:
 		case PF_BGR_FLOAT_32:
 		{
-			return 96;
+			return 12;
 		}
 		case PF_RGBA_32:
 		case PF_RGBA_FLOAT_32:
 		case PF_ABGR_32:
 		case PF_ABGR_FLOAT_32:
 		{
-			return 128;
+			return 16;
 		}
 		case PF_UNKNOWN:
-		{
-			return 0;
-		}
 		default:
 		{
 			return 0;
@@ -109,11 +112,5 @@ uint32_t Pixel::bits_per_pixel(PixelFormat format)
 	}
 }
 
-//-----------------------------------------------------------------------------
-uint32_t Pixel::bytes_per_pixel(PixelFormat format)
-{
-	return bits_per_pixel(format) / 8;
-}
-
 } // namespace crown
 

+ 54 - 54
src/renderers/PixelFormat.h

@@ -44,56 +44,56 @@ namespace crown
 /// Enumerates pixel formats.
 enum PixelFormat
 {
-	PF_L_8 = 0,				//!< Luminance only, 8-bit
-	PF_L_16 = 3,			//!< Luminance only, 16-bit
-	PF_L_32 = 14,			//!< Luminance only, 32-bit int32_teger
-	PF_L_FLOAT_32 = 15,		//!< Luminance only, 32-bit flaoting point32_t
-
-	PF_LA_8 = 4,			//!< Luminance and alpha, 8-bit each
-	PF_LA_16 = 16,			//!< Luminance and alpha, 16-bit each
-	PF_LA_32 = 26,			//!< Luminance and alpha, 32-bit int32_teger each
-	PF_LA_FLOAT_32 = 27,	//!< Luminance and alpha, 32-bit floating point32_t each
-
-	PF_AL_8 = 5,			//!< Luminance and alpha, 8-bit each
-	PF_AL_16 = 17,			//!< Luminance and alpha, 16-bit each
-	PF_AL_32 = 28,			//!< Luminance and alpha, 32-bit int32_teger each
-	PF_AL_FLOAT_32 = 29,	//!< Luminance and alpha, 32-bit floating point32_t each
-
-	PF_RGB_8 = 12,			//!< RGB values, 8-bit each
-	PF_RGB_16 = 24,			//!< RGB values, 16-bit each
-	PF_RGB_32 = 32,			//!< RGB values, 32-bit int32_teger each
-	PF_RGB_FLOAT_32 = 33,	//!< RGB values, 32-bit floating point32_t each
-
-	PF_RGB_3_3_2 = 1,		//!< Packed 8-bit RGB values
-	PF_RGB_5_6_5 = 6,		//!< Packed 16-bit RGB values
-
-	PF_BGR_8 = 13,			//!< BGR values, 8-bit each
-	PF_BGR_16 = 25,			//!< BGR values, 16-bit each
-	PF_BGR_32 = 34,			//!< BGR values, 32-bit int32_teger each
-	PF_BGR_FLOAT_32 = 35,	//!< BGR values, 32-bit floating point32_t each
-
-	PF_BGR_2_3_3 = 2,		//!< Packed 8-bit BGR values
-	PF_BGR_5_6_5 = 7,		//!< Packed 16-bit BGR values
-
-	PF_RGBA_8 = 18,			//!< RGBA values, 8-bit each
-	PF_RGBA_16 = 30,		//!< RGBA values, 16-bit each
-	PF_RGBA_32 = 36,		//!< RGBA values, 32-bit int32_teger each
-	PF_RGBA_FLOAT_32 = 37,	//!< RGBA values, 32-bit floating point32_t each
-
-	PF_RGBA_4_4_4_4 = 8,	//!< Packed 16-bit RGBA values
-	PF_RGBA_5_5_5_1 = 9,	//!< Packed 16-bit RGBA values
-	PF_RGBA_8_8_8_8 = 19,	//!< Packed 32-bit RGBA values
-	PF_RGBA_10_10_10_2 = 20,//!< Packed 32-bit RGBA values
-
-	PF_ABGR_8 = 21,			//!< ABGR values, 8-bit each
-	PF_ABGR_16 = 31,		//!< ABGR values, 16-bit each
-	PF_ABGR_32 = 38,		//!< ABGR values, 32-bit int32_teger each
-	PF_ABGR_FLOAT_32 = 39,	//!< ABGR values, 32-bit floating point32_t each
-
-	PF_ABGR_4_4_4_4 = 10,	//!< Packed 16-bit ABGR values
-	PF_ABGR_1_5_5_5 = 11,	//!< Packed 16-bit ABGR values
-	PF_ABGR_8_8_8_8 = 22,	//!< Packed 32-bit ABGR values
-	PF_ABGR_2_10_10_10 = 23,//!< Packed 32-bit ABGR values
+	PF_L_8 = 0,				///< Luminance only, 8-bit
+	PF_L_16 = 3,			///< Luminance only, 16-bit
+	PF_L_32 = 14,			///< Luminance only, 32-bit integer
+	PF_L_FLOAT_32 = 15,		///< Luminance only, 32-bit flaoting point
+
+	PF_LA_8 = 4,			///< Luminance and alpha, 8-bit each
+	PF_LA_16 = 16,			///< Luminance and alpha, 16-bit each
+	PF_LA_32 = 26,			///< Luminance and alpha, 32-bit integer each
+	PF_LA_FLOAT_32 = 27,	///< Luminance and alpha, 32-bit floating point each
+
+	PF_AL_8 = 5,			///< Luminance and alpha, 8-bit each
+	PF_AL_16 = 17,			///< Luminance and alpha, 16-bit each
+	PF_AL_32 = 28,			///< Luminance and alpha, 32-bit integer each
+	PF_AL_FLOAT_32 = 29,	///< Luminance and alpha, 32-bit floating point each
+
+	PF_RGB_8 = 12,			///< RGB values, 8-bit each
+	PF_RGB_16 = 24,			///< RGB values, 16-bit each
+	PF_RGB_32 = 32,			///< RGB values, 32-bit integer each
+	PF_RGB_FLOAT_32 = 33,	///< RGB values, 32-bit floating point each
+
+	PF_RGB_3_3_2 = 1,		///< Packed 8-bit RGB values
+	PF_RGB_5_6_5 = 6,		///< Packed 16-bit RGB values
+
+	PF_BGR_8 = 13,			///< BGR values, 8-bit each
+	PF_BGR_16 = 25,			///< BGR values, 16-bit each
+	PF_BGR_32 = 34,			///< BGR values, 32-bit integer each
+	PF_BGR_FLOAT_32 = 35,	///< BGR values, 32-bit floating point each
+
+	PF_BGR_2_3_3 = 2,		///< Packed 8-bit BGR values
+	PF_BGR_5_6_5 = 7,		///< Packed 16-bit BGR values
+
+	PF_RGBA_8 = 18,			///< RGBA values, 8-bit each
+	PF_RGBA_16 = 30,		///< RGBA values, 16-bit each
+	PF_RGBA_32 = 36,		///< RGBA values, 32-bit integer each
+	PF_RGBA_FLOAT_32 = 37,	///< RGBA values, 32-bit floating point each
+
+	PF_RGBA_4_4_4_4 = 8,	///< Packed 16-bit RGBA values
+	PF_RGBA_5_5_5_1 = 9,	///< Packed 16-bit RGBA values
+	PF_RGBA_8_8_8_8 = 19,	///< Packed 32-bit RGBA values
+	PF_RGBA_10_10_10_2 = 20,///< Packed 32-bit RGBA values
+
+	PF_ABGR_8 = 21,			///< ABGR values, 8-bit each
+	PF_ABGR_16 = 31,		///< ABGR values, 16-bit each
+	PF_ABGR_32 = 38,		///< ABGR values, 32-bit integer each
+	PF_ABGR_FLOAT_32 = 39,	///< ABGR values, 32-bit floating point each
+
+	PF_ABGR_4_4_4_4 = 10,	///< Packed 16-bit ABGR values
+	PF_ABGR_1_5_5_5 = 11,	///< Packed 16-bit ABGR values
+	PF_ABGR_8_8_8_8 = 22,	///< Packed 32-bit ABGR values
+	PF_ABGR_2_10_10_10 = 23,///< Packed 32-bit ABGR values
 
 	PF_UNKNOWN = 40
 };
@@ -102,11 +102,11 @@ class Pixel
 {
 public:
 
-	/// Returns the bytes per pixel necessary to @format pixel format
-	static uint32_t bytes_per_pixel(PixelFormat format);
+	/// Returns the bytes occupied by @format
+	static size_t bytes_per_pixel(PixelFormat format);
 
-	/// Returns the bits per pixel necessary to @format pixel format
-	static uint32_t bits_per_pixel(PixelFormat format);
+	/// Returns the bits occupied by @format
+	static size_t bits_per_pixel(PixelFormat format);
 
 private: