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.
 
 
 
 
 
 

216 lines
3.4 KiB

/*++
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_