Leaked source code of windows server 2003
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

83 lines
1.7 KiB

/**************************************************************************\
*
* Copyright (c) 1999-2000 Microsoft Corporation
*
* Module name:
*
* The "GammaConvert" scan operation.
*
* Abstract:
*
* See Gdiplus\Specs\ScanOperation.doc for an overview.
*
* These operations convert from one format to another, accounting
* for differing gamma ramps.
*
* Revision History:
*
* 12/06/1999 agodfrey
* Created it.
*
\**************************************************************************/
#include "precomp.hpp"
/**************************************************************************\
*
* Operation Description:
*
* GammaConvert: Convert from one format to another, accounting
* for differing gamma ramps.
*
* Arguments:
*
* dst - The destination scan
* src - The source scan
* count - The length of the scan, in pixels
* otherParams - Additional conversion data.
*
* Return Value:
*
* None
*
* History:
*
* 12/07/1999 agodfrey
* Created it.
*
\**************************************************************************/
// 32bpp sRGB to 64bpp sRGB64
VOID FASTCALL
ScanOperation::GammaConvert_sRGB_sRGB64(
VOID *dst,
const VOID *src,
INT count,
const OtherParams *otherParams
)
{
DEFINE_POINTERS(ARGB, ARGB64)
while (count--)
{
sRGB::ConvertTosRGB64(*s++,d++);
}
}
// 64bpp sRGB64 to 32bpp sRGB
VOID FASTCALL
ScanOperation::GammaConvert_sRGB64_sRGB(
VOID *dst,
const VOID *src,
INT count,
const OtherParams *otherParams
)
{
DEFINE_POINTERS(ARGB64, ARGB)
while (count--)
{
*d++ = sRGB::ConvertTosRGB(*s++);
}
}