mirror of
https://github.com/reactos/reactos.git
synced 2025-08-03 20:35:43 +00:00
sorry forgot this one
svn path=/trunk/; revision=33753
This commit is contained in:
parent
d60ea94881
commit
3c6e5e169c
1 changed files with 58 additions and 1 deletions
|
@ -443,10 +443,67 @@ IntEngGetXlatePalette(XLATEOBJ *XlateObj,
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
XLATEOBJ*
|
||||||
|
FASTCALL
|
||||||
|
IntCreateXlateForBlt(PDC pDCDest, PDC pDCSrc, BITMAPOBJ* pDestSurf, BITMAPOBJ* pSrcSurf)
|
||||||
|
{
|
||||||
|
XLATEOBJ *XlateObj;
|
||||||
|
HPALETTE DestPalette, SourcePalette;
|
||||||
|
PDC_ATTR pDc_Attr;
|
||||||
|
|
||||||
|
DPRINT("Enter IntCreateXlateFromDCs\n");
|
||||||
|
|
||||||
|
if (pDestSurf == pSrcSurf)
|
||||||
|
{
|
||||||
|
return NULL;
|
||||||
|
}
|
||||||
|
|
||||||
|
DestPalette = pDestSurf->hDIBPalette;
|
||||||
|
if (!DestPalette) DestPalette = PrimarySurface.DevInfo.hpalDefault;
|
||||||
|
|
||||||
|
SourcePalette = pSrcSurf->hDIBPalette;
|
||||||
|
if (!SourcePalette) SourcePalette = PrimarySurface.DevInfo.hpalDefault;
|
||||||
|
|
||||||
|
DPRINT("DestPalette = %p, SourcePalette = %p, DefaultPatelle = %p\n", DestPalette, SourcePalette, NtGdiGetStockObject((INT)DEFAULT_PALETTE));
|
||||||
|
|
||||||
|
/* KB41464 details how to convert between mono and color */
|
||||||
|
if (pDestSurf->SurfObj.iBitmapFormat == BMF_1BPP)
|
||||||
|
{
|
||||||
|
if (pSrcSurf->SurfObj.iBitmapFormat == BMF_1BPP)
|
||||||
|
{
|
||||||
|
XlateObj = NULL;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
pDc_Attr = pDCSrc->pDc_Attr;
|
||||||
|
if (!pDc_Attr) pDc_Attr = &pDCSrc->Dc_Attr;
|
||||||
|
XlateObj = IntEngCreateMonoXlate(0, DestPalette, SourcePalette, pDc_Attr->crBackgroundClr);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
if (pSrcSurf->SurfObj.iBitmapFormat == BMF_1BPP)
|
||||||
|
{
|
||||||
|
pDc_Attr = pDCDest->pDc_Attr;
|
||||||
|
if (!pDc_Attr) pDc_Attr = &pDCDest->Dc_Attr;
|
||||||
|
XlateObj = IntEngCreateSrcMonoXlate(DestPalette, pDc_Attr->crBackgroundClr, pDc_Attr->crForegroundClr);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
XlateObj = IntEngCreateXlate(0, 0, DestPalette, SourcePalette);
|
||||||
|
}
|
||||||
|
if (!XlateObj)
|
||||||
|
{
|
||||||
|
return (XLATEOBJ*)-1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return XlateObj;
|
||||||
|
}
|
||||||
|
|
||||||
/* PUBLIC FUNCTIONS ***********************************************************/
|
/* PUBLIC FUNCTIONS ***********************************************************/
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* @implemented
|
* @implemented /// this is not a public function!
|
||||||
*/
|
*/
|
||||||
VOID FASTCALL
|
VOID FASTCALL
|
||||||
EngDeleteXlate(XLATEOBJ *XlateObj)
|
EngDeleteXlate(XLATEOBJ *XlateObj)
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue