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.
 
 
 
 
 
 

62 lines
1.8 KiB

/******************************Module*Header*******************************\
* Module Name: paintddi.cxx
*
* Paint callbacks
*
* Created: 05-Mar-1992 18:30:39
* Author: Donald Sidoroff [donalds]
*
* Copyright (c) 1992-1999 Microsoft Corporation
\**************************************************************************/
#include "precomp.hxx"
/******************************Public*Routine******************************\
* EngPaint
*
* Paint the clipping region with the specified brush
*
* History:
* 05-Mar-1992 -by- Donald Sidoroff [donalds]
* add accelerators for common mix modes.
*
* Sat 07-Sep-1991 -by- Patrick Haluptzok [patrickh]
* add translate of mix to rop
*
* 01-Apr-1991 -by- Patrick Haluptzok patrickh
* Wrote it.
\**************************************************************************/
BOOL EngPaint(
SURFOBJ *pso,
CLIPOBJ *pco,
BRUSHOBJ *pdbrush,
POINTL *pptlBrush,
MIX mix)
{
GDIFunctionID(EngPaint);
PSURFACE pSurf = SURFOBJ_TO_SURFACE(pso);
ASSERTGDI(pso != (SURFOBJ *) NULL, "NULL SURFOBJ\n");
ASSERTGDI(pco != (CLIPOBJ *) NULL, "NULL CLIPOBJ\n");
ASSERTGDI(pco->iMode == TC_RECTANGLES,"iMode not rects\n");
ASSERTGDI(mix & 0xff00, "Background mix uninitialized");
ROP4 rop4 = gaMix[(mix >> 8) & 0x0F];
rop4 = rop4 << 8;
rop4 = rop4 | ((ULONG) gaMix[mix & 0x0F]);
return(pSurf->pfnBitBlt())(
(SURFOBJ *) pso,
(SURFOBJ *) NULL,
(SURFOBJ *) NULL,
pco,
NULL,
(RECTL *) &(((ECLIPOBJ *) pco)->erclExclude()),
(POINTL *) NULL,
(POINTL *) NULL,
pdbrush,
pptlBrush,
rop4);
}