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
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_
|
|
|
|
|