Re: winex11: Make X11DRV_PALETTE_ComputeColorShifts() static.
In a next patch ComputeChannelShift will be called from outside palette.c and for this reason I made it non-static. Roderick On Thu, Sep 10, 2009 at 5:58 PM, Francois Gouget <fgouget(a)free.fr> wrote:
--- dlls/winex11.drv/palette.c | 115 ++++++++++++++++++++++---------------------- dlls/winex11.drv/x11drv.h | 1 - 2 files changed, 57 insertions(+), 59 deletions(-)
diff --git a/dlls/winex11.drv/palette.c b/dlls/winex11.drv/palette.c index 81bb73b..cdbfb21 100644 --- a/dlls/winex11.drv/palette.c +++ b/dlls/winex11.drv/palette.c @@ -131,6 +131,63 @@ static void palette_set_mapping( HPALETTE hpal, int *mapping ) wine_tsx11_unlock(); }
+/*********************************************************************** + * X11DRV_PALETTE_ComputeChannelShift + * + * Calculate conversion parameters for a given color mask + */ +static void X11DRV_PALETTE_ComputeChannelShift(unsigned long maskbits, ChannelShift *physical, ChannelShift *to_logical) +{ + int i; + + if (maskbits==0) + { + physical->shift=0; + physical->scale=0; + physical->max=0; + to_logical->shift=0; + to_logical->scale=0; + to_logical->max=0; + return; + } + + for(i=0;!(maskbits&1);i++) + maskbits >>= 1; + + physical->shift = i; + physical->max = maskbits; + + for(i=0;maskbits!=0;i++) + maskbits >>= 1; + physical->scale = i; + + if (physical->scale>8) + { + /* On FreeBSD, VNC's default 32bpp mode is bgrabb (ffc00000,3ff800,7ff)! + * So we adjust the shifts to also normalize the color fields to + * the Win32 standard of 8 bits per color. + */ + to_logical->shift=physical->shift+(physical->scale-8); + to_logical->scale=8; + to_logical->max=0xff; + } else { + to_logical->shift=physical->shift; + to_logical->scale=physical->scale; + to_logical->max=physical->max; + } +} + +/*********************************************************************** + * X11DRV_PALETTE_ComputeColorShifts + * + * Calculate conversion parameters for a given color + */ +static void X11DRV_PALETTE_ComputeColorShifts(ColorShifts *shifts, unsigned long redMask, unsigned long greenMask, unsigned long blueMask) +{ + X11DRV_PALETTE_ComputeChannelShift(redMask, &shifts->physicalRed, &shifts->logicalRed); + X11DRV_PALETTE_ComputeChannelShift(greenMask, &shifts->physicalGreen, &shifts->logicalGreen); + X11DRV_PALETTE_ComputeChannelShift(blueMask, &shifts->physicalBlue, &shifts->logicalBlue); +}
/*********************************************************************** * COLOR_Init @@ -278,64 +335,6 @@ void X11DRV_PALETTE_Cleanup(void) }
/*********************************************************************** - * X11DRV_PALETTE_ComputeChannelShift - * - * Calculate conversion parameters for a given color mask - */ -static void X11DRV_PALETTE_ComputeChannelShift(unsigned long maskbits, ChannelShift *physical, ChannelShift *to_logical) -{ - int i; - - if (maskbits==0) - { - physical->shift=0; - physical->scale=0; - physical->max=0; - to_logical->shift=0; - to_logical->scale=0; - to_logical->max=0; - return; - } - - for(i=0;!(maskbits&1);i++) - maskbits >>= 1; - - physical->shift = i; - physical->max = maskbits; - - for(i=0;maskbits!=0;i++) - maskbits >>= 1; - physical->scale = i; - - if (physical->scale>8) - { - /* On FreeBSD, VNC's default 32bpp mode is bgrabb (ffc00000,3ff800,7ff)! - * So we adjust the shifts to also normalize the color fields to - * the Win32 standard of 8 bits per color. - */ - to_logical->shift=physical->shift+(physical->scale-8); - to_logical->scale=8; - to_logical->max=0xff; - } else { - to_logical->shift=physical->shift; - to_logical->scale=physical->scale; - to_logical->max=physical->max; - } -} - -/*********************************************************************** - * X11DRV_PALETTE_ComputeColorShifts - * - * Calculate conversion parameters for a given color - */ -void X11DRV_PALETTE_ComputeColorShifts(ColorShifts *shifts, unsigned long redMask, unsigned long greenMask, unsigned long blueMask) -{ - X11DRV_PALETTE_ComputeChannelShift(redMask, &shifts->physicalRed, &shifts->logicalRed); - X11DRV_PALETTE_ComputeChannelShift(greenMask, &shifts->physicalGreen, &shifts->logicalGreen); - X11DRV_PALETTE_ComputeChannelShift(blueMask, &shifts->physicalBlue, &shifts->logicalBlue); -} - -/*********************************************************************** * X11DRV_PALETTE_BuildPrivateMap * * Allocate colorcells and initialize mapping tables. diff --git a/dlls/winex11.drv/x11drv.h b/dlls/winex11.drv/x11drv.h index 62b0d63..844af31 100644 --- a/dlls/winex11.drv/x11drv.h +++ b/dlls/winex11.drv/x11drv.h @@ -494,7 +494,6 @@ extern BOOL X11DRV_IsSolidColor(COLORREF color); extern COLORREF X11DRV_PALETTE_ToLogical(X11DRV_PDEVICE *physDev, int pixel); extern int X11DRV_PALETTE_ToPhysical(X11DRV_PDEVICE *physDev, COLORREF color); extern int X11DRV_PALETTE_LookupPixel(COLORREF color); -extern void X11DRV_PALETTE_ComputeColorShifts(ColorShifts *shifts, unsigned long redMask, unsigned long greenMask, unsigned long blueMask);
extern unsigned int depth_to_bpp( unsigned int depth );
-- 1.6.3.3
participants (1)
-
Roderick Colenbrander