diff --git a/subsystems/win32/win32k/eng/xlate.c b/subsystems/win32/win32k/eng/xlate.c index a1ec18913a1..0dc9ac0ae24 100644 --- a/subsystems/win32/win32k/eng/xlate.c +++ b/subsystems/win32/win32k/eng/xlate.c @@ -83,17 +83,17 @@ EXLATEOBJ_iXlateRGBto555(PEXLATEOBJ pxlo, ULONG iColor) { ULONG iNewColor; - /* Copy blue */ - iColor >>= 3; - iNewColor = iColor & 0x1F; + /* Copy red */ + iColor <<= 7; + iNewColor = iColor & 0x7C00; /* Copy green */ - iColor >>= 3; + iColor >>= 13; iNewColor |= iColor & 0x3E0; - /* Copy red */ - iColor >>= 3; - iNewColor |= iColor & 0x7C00; + /* Copy green */ + iColor >>= 13; + iNewColor |= iColor & 0x1F; return iNewColor; } @@ -104,17 +104,17 @@ EXLATEOBJ_iXlateBGRto555(PEXLATEOBJ pxlo, ULONG iColor) { ULONG iNewColor; - /* Copy red */ - iColor <<= 7; - iNewColor = iColor & 0x7C00; + /* Copy blue */ + iColor >>= 3; + iNewColor = iColor & 0x1f; /* Copy green */ - iColor >>= 13; + iColor >>= 3; iNewColor |= (iColor & 0x3E0); - /* Copy blue */ - iColor >>= 13; - iNewColor |= (iColor & 0x1F); + /* Copy red */ + iColor >>= 3; + iNewColor |= (iColor & 0x7C00); return iNewColor; } @@ -125,27 +125,6 @@ EXLATEOBJ_iXlateRGBto565(PEXLATEOBJ pxlo, ULONG iColor) { ULONG iNewColor; - /* Copy blue */ - iColor >>= 3; - iNewColor = iColor & 0x1f; - - /* Copy green */ - iColor >>= 2; - iNewColor |= (iColor & 0x7E0); - - /* Copy red */ - iColor >>= 3; - iNewColor |= (iColor & 0xF800); - - return iNewColor; -} - -ULONG -FASTCALL -EXLATEOBJ_iXlateBGRto565(PEXLATEOBJ pxlo, ULONG iColor) -{ - ULONG iNewColor; - /* Copy red */ iColor <<= 8; iNewColor = iColor & 0xF800; @@ -161,6 +140,27 @@ EXLATEOBJ_iXlateBGRto565(PEXLATEOBJ pxlo, ULONG iColor) return iNewColor; } +ULONG +FASTCALL +EXLATEOBJ_iXlateBGRto565(PEXLATEOBJ pxlo, ULONG iColor) +{ + ULONG iNewColor; + + /* Copy blue */ + iColor >>= 3; + iNewColor = iColor & 0x1f; + + /* Copy green */ + iColor >>= 2; + iNewColor |= (iColor & 0x7E0); + + /* Copy red */ + iColor >>= 3; + iNewColor |= (iColor & 0xF800); + + return iNewColor; +} + ULONG FASTCALL EXLATEOBJ_iXlateRGBtoPal(PEXLATEOBJ pexlo, ULONG iColor) @@ -174,26 +174,6 @@ EXLATEOBJ_iXlate555toRGB(PEXLATEOBJ pxlo, ULONG iColor) { ULONG iNewColor; - /* Copy blue */ - iNewColor = gajXlate5to8[iColor & 0x1F]; - - /* Copy green */ - iColor >>= 5; - iNewColor |= gajXlate5to8[iColor & 0x1F] << 8; - - /* Copy red */ - iColor >>= 5; - iNewColor |= gajXlate5to8[iColor & 0x1F] << 16; - - return iNewColor; -} - -ULONG -FASTCALL -EXLATEOBJ_iXlate555toBGR(PEXLATEOBJ pxlo, ULONG iColor) -{ - ULONG iNewColor; - /* Copy blue */ iNewColor = gajXlate5to8[iColor & 0x1F] << 16; @@ -208,6 +188,26 @@ EXLATEOBJ_iXlate555toBGR(PEXLATEOBJ pxlo, ULONG iColor) return iNewColor; } +ULONG +FASTCALL +EXLATEOBJ_iXlate555toBGR(PEXLATEOBJ pxlo, ULONG iColor) +{ + ULONG iNewColor; + + /* Copy blue */ + iNewColor = gajXlate5to8[iColor & 0x1F]; + + /* Copy green */ + iColor >>= 5; + iNewColor |= gajXlate5to8[iColor & 0x1F] << 8; + + /* Copy red */ + iColor >>= 5; + iNewColor |= gajXlate5to8[iColor & 0x1F] << 16; + + return iNewColor; +} + ULONG FASTCALL EXLATEOBJ_iXlate555to565(PEXLATEOBJ pxlo, ULONG iColor) @@ -260,7 +260,7 @@ EXLATEOBJ_iXlate565toRGB(PEXLATEOBJ pexlo, ULONG iColor) ULONG iNewColor; /* Copy blue */ - iNewColor = gajXlate5to8[iColor & 0x1F]; + iNewColor = gajXlate5to8[iColor & 0x1F] << 16; /* Copy green */ iColor >>= 5; @@ -268,7 +268,7 @@ EXLATEOBJ_iXlate565toRGB(PEXLATEOBJ pexlo, ULONG iColor) /* Copy red */ iColor >>= 6; - iNewColor |= gajXlate5to8[iColor & 0x1F] << 16; + iNewColor |= gajXlate5to8[iColor & 0x1F]; return iNewColor; } @@ -280,15 +280,15 @@ EXLATEOBJ_iXlate565toBGR(PEXLATEOBJ pexlo, ULONG iColor) ULONG iNewColor; /* Copy blue */ - iNewColor = gajXlate5to8[iColor & 0x1F] << 16; + iNewColor = gajXlate5to8[iColor & 0x1F]; /* Copy green */ iColor >>= 5; iNewColor |= gajXlate6to8[iColor & 0x3F] << 8; - /* Copy red */ + /* Copy blue */ iColor >>= 6; - iNewColor |= gajXlate5to8[iColor & 0x1F]; + iNewColor |= gajXlate5to8[iColor & 0x1F] << 16; return iNewColor; }