ReactOS 0.4.16-dev-2224-g3637fd8
xlateobj.h File Reference
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  _EXLATEOBJ
 

Typedefs

typedef struct _EXLATEOBJ EXLATEOBJ
 
typedef struct _EXLATEOBJPEXLATEOBJ
 

Functions

 _Function_class_ (FN_XLATE) typedef ULONG(FASTCALL *PFN_XLATE)(_In_ struct _EXLATEOBJ *pexlo
 
_Notnull_ FORCEINLINE PFN_XLATE XLATEOBJ_pfnXlate (_In_ XLATEOBJ *pxlo)
 
VOID NTAPI EXLATEOBJ_vInitialize (_Out_ PEXLATEOBJ pexlo, _In_opt_ PPALETTE ppalSrc, _In_opt_ PPALETTE ppalDst, _In_ COLORREF crSrcBackColor, _In_ COLORREF crDstBackColor, _In_ COLORREF crDstForeColor)
 
VOID NTAPI EXLATEOBJ_vInitXlateFromDCs (_Out_ PEXLATEOBJ pexlo, _In_ PDC pdcSrc, _In_ PDC pdcDst)
 
VOID NTAPI EXLATEOBJ_vInitXlateFromDCsEx (_Out_ EXLATEOBJ *pexlo, _In_ PDC pdcSrc, _In_ PDC pdcDst, _In_ COLORREF crBackColor)
 
VOID NTAPI EXLATEOBJ_vInitSrcMonoXlate (_Out_ PEXLATEOBJ pexlo, _In_ PPALETTE ppalDst, _In_ COLORREF crBackgroundClr, _In_ COLORREF crForegroundClr)
 
VOID NTAPI EXLATEOBJ_vCleanup (_Inout_ PEXLATEOBJ pexlo)
 

Variables

_In_ ULONG iColor
 
EXLATEOBJ gexloTrivial
 

Typedef Documentation

◆ EXLATEOBJ

◆ PEXLATEOBJ

Function Documentation

◆ _Function_class_()

_Function_class_ ( FN_XLATE  )

◆ EXLATEOBJ_vCleanup()

◆ EXLATEOBJ_vInitialize()

VOID NTAPI EXLATEOBJ_vInitialize ( _Out_ PEXLATEOBJ  pexlo,
_In_opt_ PPALETTE  ppalSrc,
_In_opt_ PPALETTE  ppalDst,
_In_ COLORREF  crSrcBackColor,
_In_ COLORREF  crDstBackColor,
_In_ COLORREF  crDstForeColor 
)

◆ EXLATEOBJ_vInitSrcMonoXlate()

VOID NTAPI EXLATEOBJ_vInitSrcMonoXlate ( _Out_ PEXLATEOBJ  pexlo,
_In_ PPALETTE  ppalDst,
_In_ COLORREF  crBackgroundClr,
_In_ COLORREF  crForegroundClr 
)

◆ EXLATEOBJ_vInitXlateFromDCs()

VOID NTAPI EXLATEOBJ_vInitXlateFromDCs ( _Out_ PEXLATEOBJ  pexlo,
_In_ PDC  pdcSrc,
_In_ PDC  pdcDst 
)

◆ EXLATEOBJ_vInitXlateFromDCsEx()

VOID NTAPI EXLATEOBJ_vInitXlateFromDCsEx ( _Out_ EXLATEOBJ pexlo,
_In_ PDC  pdcSrc,
_In_ PDC  pdcDst,
_In_ COLORREF  crBackColor 
)

Definition at line 849 of file xlateobj.c.

854{
855 PSURFACE psurfDst, psurfSrc;
856
857 psurfDst = pdcDst->dclevel.pSurface;
858 psurfSrc = pdcSrc->dclevel.pSurface;
859
860 if (crBackColor == CLR_INVALID)
861 {
862 crBackColor = pdcSrc->pdcattr->crBackgroundClr;
863 }
864
865 /* Normal initialisation. No surface means DEFAULT_BITMAP */
867 psurfSrc ? psurfSrc->ppal : gppalMono,
868 psurfDst ? psurfDst->ppal : gppalMono,
869 crBackColor,
870 pdcDst->pdcattr->crBackgroundClr,
871 pdcDst->pdcattr->crForegroundClr);
872
873 pexlo->ppalDstDc = pdcDst->dclevel.ppal;
874}
struct _PALETTE *const ppal
Definition: surface.h:11
PALETTE * gppalMono
Definition: palette.c:20
#define CLR_INVALID
Definition: wingdi.h:883
VOID NTAPI EXLATEOBJ_vInitialize(_Out_ PEXLATEOBJ pexlo, _In_opt_ PALETTE *ppalSrc, _In_opt_ PALETTE *ppalDst, _In_ COLORREF crSrcBackColor, _In_ COLORREF crDstBackColor, _In_ COLORREF crDstForeColor)
Definition: xlateobj.c:491

Referenced by GreStretchBltMask(), and NtGdiMaskBlt().

◆ XLATEOBJ_pfnXlate()

_Notnull_ FORCEINLINE PFN_XLATE XLATEOBJ_pfnXlate ( _In_ XLATEOBJ pxlo)

Definition at line 58 of file xlateobj.h.

60{
61 return ((PEXLATEOBJ)pxlo)->pfnXlate;
62}
_In_ SURFOBJ _In_ CLIPOBJ _In_opt_ XLATEOBJ * pxlo
Definition: winddi.h:3416

Referenced by EngBitBlt().

Variable Documentation

◆ gexloTrivial

EXLATEOBJ gexloTrivial
extern

◆ iColor