mirror of
https://github.com/reactos/reactos.git
synced 2025-04-22 13:10:39 +00:00
[WIN32K]
Simplify EXLATEOBJ_vInitXlateFromDCs and remove EXLATEOBJ_vInitBrushXlate. Less code, more fun. svn path=/branches/reactos-yarotows/; revision=47278
This commit is contained in:
parent
3078dd3c10
commit
1549a8532e
3 changed files with 12 additions and 75 deletions
|
@ -217,16 +217,18 @@ EBRUSHOBJ_bRealizeBrush(EBRUSHOBJ *pebo, BOOL bCallDriver)
|
||||||
|
|
||||||
psurfPattern = SURFACE_ShareLockSurface(pebo->pbrush->hbmPattern);
|
psurfPattern = SURFACE_ShareLockSurface(pebo->pbrush->hbmPattern);
|
||||||
ASSERT(psurfPattern);
|
ASSERT(psurfPattern);
|
||||||
|
ASSERT(psurfPattern->ppal);
|
||||||
|
|
||||||
/* FIXME: implement mask */
|
/* FIXME: implement mask */
|
||||||
psurfMask = NULL;
|
psurfMask = NULL;
|
||||||
|
|
||||||
/* Initialize XLATEOBJ for the brush */
|
/* Initialize XLATEOBJ for the brush */
|
||||||
EXLATEOBJ_vInitBrushXlate(&exlo,
|
EXLATEOBJ_vInitialize(&exlo,
|
||||||
pebo->pbrush,
|
psurfPattern->ppal,
|
||||||
pebo->psurfTrg,
|
pebo->psurfTrg->ppal,
|
||||||
pebo->crCurrentText,
|
0,
|
||||||
pebo->crCurrentBack);
|
pebo->crCurrentBack,
|
||||||
|
pebo->crCurrentText);
|
||||||
|
|
||||||
/* Create the realization */
|
/* Create the realization */
|
||||||
bResult = pfnRealzizeBrush(&pebo->BrushObject,
|
bResult = pfnRealzizeBrush(&pebo->BrushObject,
|
||||||
|
|
|
@ -603,90 +603,26 @@ EXLATEOBJ_vInitXlateFromDCs(
|
||||||
PDC pdcDst)
|
PDC pdcDst)
|
||||||
{
|
{
|
||||||
PSURFACE psurfDst, psurfSrc;
|
PSURFACE psurfDst, psurfSrc;
|
||||||
PPALETTE ppalSrc, ppalDst, ppalDstDc;
|
|
||||||
|
|
||||||
DPRINT("Enter EXLATEOBJ_vInitXlateFromDCs\n");
|
|
||||||
|
|
||||||
/* Do basic init */
|
|
||||||
EXLATEOBJ_vInitTrivial(pexlo);
|
|
||||||
|
|
||||||
psurfDst = pdcDst->dclevel.pSurface;
|
psurfDst = pdcDst->dclevel.pSurface;
|
||||||
psurfSrc = pdcSrc->dclevel.pSurface;
|
psurfSrc = pdcSrc->dclevel.pSurface;
|
||||||
|
|
||||||
|
/* Check for trivial color translation */
|
||||||
if (psurfDst == psurfSrc)
|
if (psurfDst == psurfSrc)
|
||||||
{
|
{
|
||||||
|
EXLATEOBJ_vInitTrivial(pexlo);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
ppalSrc = psurfSrc->ppal;
|
/* Normal initialisation. No surface means DEFAULT_BITMAP */
|
||||||
|
|
||||||
if(!ppalSrc)
|
|
||||||
{
|
|
||||||
DPRINT1("No palette for src surface %p.\n", psurfSrc);
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
ppalDst = psurfDst->ppal;
|
|
||||||
|
|
||||||
if (!ppalDst)
|
|
||||||
{
|
|
||||||
DPRINT1("No palette for dst surface %p.\n", psurfDst);
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
ppalDstDc = pdcDst->dclevel.ppal;
|
|
||||||
ASSERT(ppalDstDc);
|
|
||||||
|
|
||||||
EXLATEOBJ_vInitialize(pexlo,
|
EXLATEOBJ_vInitialize(pexlo,
|
||||||
ppalSrc,
|
psurfSrc ? psurfSrc->ppal : &gpalMono,
|
||||||
ppalDst,
|
psurfDst ? psurfDst->ppal : &gpalMono,
|
||||||
pdcSrc->pdcattr->crBackgroundClr,
|
pdcSrc->pdcattr->crBackgroundClr,
|
||||||
pdcDst->pdcattr->crBackgroundClr,
|
pdcDst->pdcattr->crBackgroundClr,
|
||||||
pdcDst->pdcattr->crForegroundClr);
|
pdcDst->pdcattr->crForegroundClr);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
VOID
|
|
||||||
NTAPI
|
|
||||||
EXLATEOBJ_vInitBrushXlate(
|
|
||||||
PEXLATEOBJ pexlo,
|
|
||||||
BRUSH *pbrush,
|
|
||||||
SURFACE *psurfDst,
|
|
||||||
COLORREF crForegroundClr,
|
|
||||||
COLORREF crBackgroundClr)
|
|
||||||
{
|
|
||||||
PPALETTE ppalDst;
|
|
||||||
SURFACE *psurfPattern;
|
|
||||||
|
|
||||||
ASSERT(pexlo);
|
|
||||||
ASSERT(pbrush);
|
|
||||||
ASSERT(psurfDst);
|
|
||||||
ASSERT(!(pbrush->flAttrs & (GDIBRUSH_IS_SOLID | GDIBRUSH_IS_NULL)));
|
|
||||||
|
|
||||||
EXLATEOBJ_vInitTrivial(pexlo);
|
|
||||||
|
|
||||||
ppalDst = psurfDst->ppal;
|
|
||||||
|
|
||||||
if (!ppalDst)
|
|
||||||
{
|
|
||||||
DPRINT1("No palette for dst surface %p.\n", psurfDst);
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
psurfPattern = SURFACE_ShareLockSurface(pbrush->hbmPattern);
|
|
||||||
if (!psurfPattern)
|
|
||||||
{
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (psurfPattern->ppal)
|
|
||||||
{
|
|
||||||
EXLATEOBJ_vInitialize(pexlo, psurfPattern->ppal, ppalDst, 0, crBackgroundClr, crForegroundClr);
|
|
||||||
}
|
|
||||||
|
|
||||||
SURFACE_ShareUnlockSurface(psurfPattern);
|
|
||||||
}
|
|
||||||
|
|
||||||
VOID
|
VOID
|
||||||
NTAPI
|
NTAPI
|
||||||
EXLATEOBJ_vCleanup(PEXLATEOBJ pexlo)
|
EXLATEOBJ_vCleanup(PEXLATEOBJ pexlo)
|
||||||
|
|
|
@ -45,7 +45,6 @@ DbgCmpXlate(XLATEOBJ *pxlo1, XLATEOBJ *pxlo2);
|
||||||
|
|
||||||
VOID NTAPI EXLATEOBJ_vInitialize(PEXLATEOBJ pexlo, PALETTE *ppalSrc, PALETTE *ppalDst, ULONG, ULONG, ULONG);
|
VOID NTAPI EXLATEOBJ_vInitialize(PEXLATEOBJ pexlo, PALETTE *ppalSrc, PALETTE *ppalDst, ULONG, ULONG, ULONG);
|
||||||
VOID NTAPI EXLATEOBJ_vInitXlateFromDCs(PEXLATEOBJ pexlo, PDC pdcSrc, PDC pdcDst);
|
VOID NTAPI EXLATEOBJ_vInitXlateFromDCs(PEXLATEOBJ pexlo, PDC pdcSrc, PDC pdcDst);
|
||||||
VOID NTAPI EXLATEOBJ_vInitBrushXlate(PEXLATEOBJ pexlo, BRUSH *pbrush, SURFACE *psurf, COLORREF crForegroundClr, COLORREF crBackgroundClr);
|
|
||||||
VOID NTAPI EXLATEOBJ_vInitSrcMonoXlate(PEXLATEOBJ pexlo, PPALETTE ppalDst, ULONG Color0, ULONG Color1);
|
VOID NTAPI EXLATEOBJ_vInitSrcMonoXlate(PEXLATEOBJ pexlo, PPALETTE ppalDst, ULONG Color0, ULONG Color1);
|
||||||
VOID NTAPI EXLATEOBJ_vCleanup(PEXLATEOBJ pexlo);
|
VOID NTAPI EXLATEOBJ_vCleanup(PEXLATEOBJ pexlo);
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue