Subversion Repositories AndroidProjects

Rev

Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
244 chris 1
{
2
	ulong* anAlphaData = new ulong[mWidth*mHeight];
3
 
4
	if (theNumBits == 16)
5
	{
6
		for (int i = 0; i < mWidth*mHeight; i++)
7
		{
8
			ulong val = NEXT_SRC_COLOR;
9
 
10
			int anAlpha = val >> 24;
11
 
12
			int r = ((val >> 16) & 0xFF) * anAlpha >> 8;
13
			int g = ((val >> 8 ) & 0xFF) * anAlpha >> 8;
14
			int b = ((val      ) & 0xFF) * anAlpha >> 8;
15
 
16
			anAlphaData[i] =
17
				((((r * theRMask) >> 8) & theRMask) |
18
				(((g * theGMask) >> 8) & theGMask) |
19
				(((b * theBMask) >> 8) & theBMask) |
20
				(anAlpha << 24));
21
		}
22
	}
23
	else if (theNumBits == 32)
24
	{
25
		for (int i = 0; i < mWidth*mHeight; i++)
26
		{
27
			ulong val = NEXT_SRC_COLOR;
28
 
29
			int anAlpha = val >> 24;
30
 
31
			int r = (((val >> 16) & 0xFF) * anAlpha) >> 8;
32
			int g = (((val >> 8 ) & 0xFF) * anAlpha) >> 8;
33
			int b = (((val      ) & 0xFF) * anAlpha) >> 8;
34
 
35
			anAlphaData[i] =
36
				(((r * theRMask) >> 8) & theRMask) |
37
				(((g * theGMask) >> 8) & theGMask) |
38
				(((b * theBMask) >> 8) & theBMask) |
39
				(anAlpha << 24);
40
		}
41
	}
42
 
43
	mNativeAlphaData = anAlphaData;
44
}