[Scummvm-cvs-logs] SF.net SVN: scummvm: [21969] scummvm/trunk/graphics/colormasks.h

fingolfin at users.sourceforge.net fingolfin at users.sourceforge.net
Mon Apr 17 04:10:01 CEST 2006


Revision: 21969
Author:   fingolfin
Date:     2006-04-17 04:09:21 -0700 (Mon, 17 Apr 2006)
ViewCVS:  http://svn.sourceforge.net/scummvm/?rev=21969&view=rev

Log Message:
-----------
Fixed (A)RGBToColor templates

Modified Paths:
--------------
    scummvm/trunk/graphics/colormasks.h
Modified: scummvm/trunk/graphics/colormasks.h
===================================================================
--- scummvm/trunk/graphics/colormasks.h	2006-04-17 10:44:02 UTC (rev 21968)
+++ scummvm/trunk/graphics/colormasks.h	2006-04-17 11:09:21 UTC (rev 21969)
@@ -220,17 +220,17 @@
 template<class T>
 uint32 RGBToColor(uint8 r, uint8 g, uint8 b) {
 	return T::kAlphaMask |
-	       ((r << T::kRedShift) & T::kRedMask) |
-	       ((g << T::kGreenShift) & T::kGreenMask) |
-	       ((b << T::kBlueShift) & T::kBlueMask);
+	       (((r << T::kRedShift) >> (8 - T::kRedBits)) & T::kRedMask) |
+	       (((g << T::kGreenShift) >> (8 - T::kGreenBits)) & T::kGreenMask) |
+	       (((b << T::kBlueShift) >> (8 - T::kBlueBits)) & T::kBlueMask);
 }
 
 template<class T>
 uint32 ARGBToColor(uint8 a, uint8 r, uint8 g, uint8 b) {
-	return ((a << T::kAlphaShift) & T::kAlphaMask) |
-	       ((r << T::kRedShift) & T::kRedMask) |
-	       ((g << T::kGreenShift) & T::kGreenMask) |
-	       ((b << T::kBlueShift) & T::kBlueMask);
+	return (((a << T::kAlphaShift) >> (8 - T::kAlphaBits)) & T::kAlphaMask) |
+	       (((r << T::kRedShift) >> (8 - T::kRedBits)) & T::kRedMask) |
+	       (((g << T::kGreenShift) >> (8 - T::kGreenBits)) & T::kGreenMask) |
+	       (((b << T::kBlueShift) >> (8 - T::kBlueBits)) & T::kBlueMask);
 }
 
 template<class T>


This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.





More information about the Scummvm-git-logs mailing list