|
|
/*++
Copyright (c) 1996 - 1999 Microsoft Corporation
Module Name:
fontif.h
Abstract:
Interface between Control module and Font module
Environment:
Windows NT Unidrv driver
Revision History:
10/14/96 -amandan- Created
dd-mm-yy -author- description
--*/
#ifndef _FONTIF_H_
#define _FONTIF_H_
#ifdef __cplusplus
extern "C" { #endif
BOOL FMInit ( PDEV *pPDev, DEVINFO *pDevInfo, GDIINFO *pGDIInfo );
typedef struct _FMPROCS {
BOOL (*FMStartDoc) ( SURFOBJ *pso, PWSTR pDocName, DWORD jobId );
BOOL (*FMStartPage) ( SURFOBJ *pso );
BOOL (*FMSendPage)( SURFOBJ *pso );
BOOL (*FMEndDoc)( SURFOBJ *pso, FLONG flags );
BOOL (*FMNextBand)( SURFOBJ *pso, POINTL *pptl );
BOOL (*FMStartBanding)( SURFOBJ *pso, POINTL *pptl );
BOOL (*FMResetPDEV)( PDEV *pPDevOld, PDEV *pPDevNew );
BOOL (*FMEnableSurface)( PDEV *pPDev );
VOID (*FMDisableSurface)( PDEV *pPDev );
VOID (*FMDisablePDEV)( PDEV *pPDev );
BOOL (*FMTextOut)( SURFOBJ *pso, STROBJ *pstro, FONTOBJ *pfo, CLIPOBJ *pco, RECTL *prclExtra, RECTL *prclOpaque, BRUSHOBJ *pboFore, BRUSHOBJ *pboOpaque, POINTL *pptlOrg, MIX mix );
PIFIMETRICS (*FMQueryFont)( PDEV *pPDev, ULONG_PTR iFile, ULONG iFace, ULONG_PTR *pid );
PVOID (*FMQueryFontTree)( PDEV *pPDev, ULONG_PTR iFile, ULONG iFace, ULONG iMode, ULONG_PTR *pid );
LONG (*FMQueryFontData)( PDEV *pPDev, FONTOBJ *pfo, ULONG iMode, HGLYPH hg, GLYPHDATA *pgd, PVOID pv, ULONG cjSize );
ULONG (*FMFontManagement)( SURFOBJ *pso, FONTOBJ *pfo, ULONG iMode, ULONG cjIn, PVOID pvIn, ULONG cjOut, PVOID pvOut );
BOOL (*FMQueryAdvanceWidths)( PDEV *pPDev, FONTOBJ *pfo, ULONG iMode, HGLYPH *phg, PVOID *pvWidths, ULONG cGlyphs );
ULONG (*FMGetGlyphMode)( PDEV *pPDev, FONTOBJ *pfo );
}FMPROCS, * PFMPROCS;
/* Font Interface functions for Raster Module */
INT ILookAheadMax( PDEV *pPDev, INT iyVal, INT iLookAhead );
BOOL BDelayGlyphOut( PDEV *pPDev, INT yPos );
VOID VResetFont( PDEV *pPDev );
/* Font Interface functions for OEM Module */
BOOL FMTextOut( SURFOBJ *pso, STROBJ *pstro, FONTOBJ *pfo, CLIPOBJ *pco, RECTL *prclExtra, RECTL *prclOpaque, BRUSHOBJ *pboFore, BRUSHOBJ *pboOpaque, POINTL *pptlBrushOrg, MIX mix );
#ifdef __cplusplus
} #endif
#endif // !_FONTIF_H_
|