static void ThreeChannelToARGB(PRUint8* aData, PRUint32* aARGB) { PRUint32 v = *aARGB & 0xFF000000;
static PRUint32 ThreeChannelToARGB(PRUint8* aData, PRUint8 aAlpha) {
static void ThreeChannelToARGB(PRUint8* aData, PRUint32* aARGB) {    PRUint32 v = *aARGB & 0xFF000000;    PRUint8 r, g, b;#if defined(XP_WIN) || defined(XP_OS2) || defined(XP_BEOS) || defined(MOZ_WIDGET_PHOTON)    // BGR format; assume little-endian system#ifndef IS_LITTLE_ENDIAN#error Strange big-endian/OS combination#endif    // BGR, blue byte first    b = aData[0]; g = aData[1]; r = aData[2];#else    // RGB, red byte first    r = aData[0]; g = aData[1]; b = aData[2];#endif    v |= (r << 16) | (g << 8) | b;    *aARGB = v;}