- Get rid of old code, when surfaces didn't have palettes by default

svn path=/branches/reactos-yarotows/; revision=48670
This commit is contained in:
Jérôme Gardou 2010-08-31 20:38:49 +00:00
parent 98006d55b6
commit 00b7f54d2e
4 changed files with 7 additions and 65 deletions

View file

@ -328,7 +328,6 @@ NtGdiTransparentBlt(
PGDIOBJ apObj[2];
RECTL rcDest, rcSrc;
SURFACE *BitmapDest, *BitmapSrc = NULL;
PPALETTE PalSourceGDI;
ULONG TransparentColor = 0;
BOOL Ret = FALSE;
EXLATEOBJ exlo;
@ -394,25 +393,10 @@ NtGdiTransparentBlt(
goto done;
}
if (BitmapSrc->ppal)
{
GDIOBJ_IncrementShareCount(&BitmapSrc->ppal->BaseObject);
PalSourceGDI = BitmapSrc->ppal ;
}
else
PalSourceGDI = PALETTE_ShareLockPalette(pPrimarySurface->devinfo.hpalDefault) ;
if(!PalSourceGDI)
{
SetLastWin32Error(ERROR_INVALID_HANDLE);
goto done;
}
/* Translate Transparent (RGB) Color to the source palette */
EXLATEOBJ_vInitialize(&exlo, &gpalRGB, PalSourceGDI, 0, 0, 0);
EXLATEOBJ_vInitialize(&exlo, &gpalRGB, BitmapSrc->ppal, 0, 0, 0);
TransparentColor = XLATEOBJ_iXlate(&exlo.xlo, (ULONG)TransColor);
EXLATEOBJ_vCleanup(&exlo);
PALETTE_ShareUnlockPalette(PalSourceGDI);
EXLATEOBJ_vInitXlateFromDCs(&exlo, DCSrc, DCDest);

View file

@ -430,7 +430,6 @@ NtGdiGetPixel(HDC hDC, INT XPos, INT YPos)
BOOL bInRect = FALSE;
SURFACE *psurf;
SURFOBJ *pso;
PPALETTE ppal;
EXLATEOBJ exlo;
HBITMAP hBmpTmp;
@ -457,24 +456,7 @@ NtGdiGetPixel(HDC hDC, INT XPos, INT YPos)
if (psurf)
{
pso = &psurf->SurfObj;
if (psurf->ppal)
{
ppal = psurf->ppal;
GDIOBJ_IncrementShareCount(&ppal->BaseObject);
}
else
ppal = PALETTE_ShareLockPalette(dc->ppdev->devinfo.hpalDefault);
if (psurf->SurfObj.iBitmapFormat == BMF_1BPP && !psurf->hSecure)
{
/* FIXME: palette should be gpalMono already ! */
EXLATEOBJ_vInitialize(&exlo, &gpalMono, &gpalRGB, 0, 0xffffff, 0);
}
else
{
EXLATEOBJ_vInitialize(&exlo, ppal, &gpalRGB, 0, 0xffffff, 0);
}
EXLATEOBJ_vInitialize(&exlo, psurf->ppal, &gpalRGB, 0, 0xffffff, 0);
// check if this DC has a DIB behind it...
if (pso->pvScan0) // STYPE_BITMAP == pso->iType
{
@ -484,7 +466,6 @@ NtGdiGetPixel(HDC hDC, INT XPos, INT YPos)
}
EXLATEOBJ_vCleanup(&exlo);
PALETTE_ShareUnlockPalette(ppal);
}
}
DC_UnlockDc(dc);

View file

@ -1061,7 +1061,6 @@ NtGdiExtFloodFill(
PDC dc;
PDC_ATTR pdcattr;
SURFACE *psurf = NULL;
PPALETTE ppal;
EXLATEOBJ exlo;
BOOL Ret = FALSE;
RECTL DestRect;
@ -1106,16 +1105,7 @@ NtGdiExtFloodFill(
goto cleanup;
}
if (psurf->ppal)
{
ppal = psurf->ppal;
GDIOBJ_IncrementShareCount(&ppal->BaseObject);
}
else
// Destination palette obtained from the hDC
ppal = PALETTE_ShareLockPalette(dc->ppdev->devinfo.hpalDefault);
EXLATEOBJ_vInitialize(&exlo, &gpalRGB, ppal, 0, 0xffffff, 0);
EXLATEOBJ_vInitialize(&exlo, &gpalRGB, psurf->ppal, 0, 0xffffff, 0);
/* Only solid fills supported for now
* How to support pattern brushes and non standard surfaces (not offering dib functions):
@ -1125,7 +1115,6 @@ NtGdiExtFloodFill(
Ret = DIB_XXBPP_FloodFillSolid(&psurf->SurfObj, &dc->eboFill.BrushObject, &DestRect, &Pt, ConvColor, FillType);
EXLATEOBJ_vCleanup(&exlo);
PALETTE_ShareUnlockPalette(ppal);
cleanup:
DC_UnlockDc(dc);

View file

@ -3173,7 +3173,6 @@ GreExtTextOutW(
BOOLEAN Render;
POINT Start;
BOOL DoBreak = FALSE;
PPALETTE ppalDst;
USHORT DxShift;
// TODO: Write test-cases to exactly match real Windows in different
@ -3443,19 +3442,8 @@ GreExtTextOutW(
psurf = dc->dclevel.pSurface ;
SurfObj = &psurf->SurfObj ;
/* Create the xlateobj */
if (psurf->ppal)
{
ppalDst = psurf->ppal;
GDIOBJ_IncrementShareCount(&ppalDst->BaseObject);
}
else
// Destination palette obtained from the hDC
ppalDst = PALETTE_ShareLockPalette(dc->ppdev->devinfo.hpalDefault);
ASSERT(ppalDst);
EXLATEOBJ_vInitialize(&exloRGB2Dst, &gpalRGB, ppalDst, 0, 0, 0);
EXLATEOBJ_vInitialize(&exloDst2RGB, ppalDst, &gpalRGB, 0, 0, 0);
PALETTE_ShareUnlockPalette(ppalDst);
EXLATEOBJ_vInitialize(&exloRGB2Dst, &gpalRGB, psurf->ppal, 0, 0, 0);
EXLATEOBJ_vInitialize(&exloDst2RGB, psurf->ppal, &gpalRGB, 0, 0, 0);
if ((fuOptions & ETO_OPAQUE) && (dc->pdcattr->ulDirty_ & DIRTY_BACKGROUND))
DC_vUpdateBackgroundBrush(dc) ;