Blame | Last modification | View Log | RSS feed
{ulong* anAlphaData = new ulong[mWidth*mHeight];if (theNumBits == 16){for (int i = 0; i < mWidth*mHeight; i++){ulong val = NEXT_SRC_COLOR;int anAlpha = val >> 24;int r = ((val >> 16) & 0xFF) * anAlpha >> 8;int g = ((val >> 8 ) & 0xFF) * anAlpha >> 8;int b = ((val ) & 0xFF) * anAlpha >> 8;anAlphaData[i] =((((r * theRMask) >> 8) & theRMask) |(((g * theGMask) >> 8) & theGMask) |(((b * theBMask) >> 8) & theBMask) |(anAlpha << 24));}}else if (theNumBits == 32){for (int i = 0; i < mWidth*mHeight; i++){ulong val = NEXT_SRC_COLOR;int anAlpha = val >> 24;int r = (((val >> 16) & 0xFF) * anAlpha) >> 8;int g = (((val >> 8 ) & 0xFF) * anAlpha) >> 8;int b = (((val ) & 0xFF) * anAlpha) >> 8;anAlphaData[i] =(((r * theRMask) >> 8) & theRMask) |(((g * theGMask) >> 8) & theGMask) |(((b * theBMask) >> 8) & theBMask) |(anAlpha << 24);}}mNativeAlphaData = anAlphaData;}