Windows NT 4.0 source code leak
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.
 
 
 
 
 
 

292 lines
4.9 KiB

/*++
Copyright (c) 1995 Microsoft Corporation
Module Name:
ddifont.c
Abstract:
Implementation of font related DDI entry points:
DrvQueryFont
DrvQueryFontTree
DrvQueryFontData
DrvGetGlyphMode
DrvFontManagement
DrvQueryAdvanceWidths
Environment:
Windows NT PostScript driver
Revision History:
03/16/96 -davidx-
Initial framework.
mm/dd/yy -author-
description
--*/
#include "pscript.h"
PIFIMETRICS
DrvQueryFont(
DHPDEV dhpdev,
ULONG iFile,
ULONG iFace,
ULONG *pid
)
/*++
Routine Description:
Implementation of DDI entry point DrvQueryFont.
Please refer to DDK documentation for more details.
Arguments:
dhpdev - Driver device handle
iFile - Identifies the driver font file
iFace - One-based index of the driver font
pid - Points to a LONG variable for returning an identifier
which GDI will pass to DrvFree
Return Value:
Pointer to an IFIMETRICS structure for the given font
NULL if there is an error
--*/
{
PDEV pdev = (PDEV) dhpdev;
VERBOSE(("Entering DrvQueryFont...\n"));
ASSERT(ValidPDEV(pdev));
return NULL;
}
PVOID
DrvQueryFontTree(
DHPDEV dhpdev,
ULONG iFile,
ULONG iFace,
ULONG iMode,
ULONG *pid
)
/*++
Routine Description:
Implementation of DDI entry point DrvQueryFontTree.
Please refer to DDK documentation for more details.
Arguments:
dhpdev - Driver device handle
iFile - Identifies the driver font file
iFace - One-based index of the driver font
iMode - Specifies the type of information to be provided
pid - Points to a LONG variable for returning an identifier
which GDI will pass to DrvFree
Return Value:
Depends on iMode, NULL if there is an error
--*/
{
PDEV pdev = (PDEV) dhpdev;
VERBOSE(("Entering DrvQueryFontTree...\n"));
ASSERT(ValidPDEV(pdev));
return NULL;
}
LONG
DrvQueryFontData(
DHPDEV dhpdev,
FONTOBJ *pfo,
ULONG iMode,
HGLYPH hg,
GLYPHDATA *pgd,
PVOID pv,
ULONG cjSize
)
/*++
Routine Description:
Implementation of DDI entry point DrvQueryFontData.
Please refer to DDK documentation for more details.
Arguments:
dhpdev - Driver device handle
pfo - Points to a FONTOBJ structure
iMode - Type of information requested
hg - A glyph handle
pgd - Points to a GLYPHDATA structure
pv - Points to output buffer
cjSize - Size of output buffer
Return Value:
Depends on iMode. FD_ERROR is there is an error
--*/
{
PDEV pdev = (PDEV) dhpdev;
VERBOSE(("Entering DrvQueryFontTree...\n"));
ASSERT(pfo && ValidPDEV(pdev));
return FD_ERROR;
}
ULONG
DrvGetGlyphMode(
DHPDEV dhpdev,
FONTOBJ *pfo
)
/*++
Routine Description:
Implementation of DDI entry point DrvGetGlyphMode.
Please refer to DDK documentation for more details.
Arguments:
dhpdev - Driver device handle
pfo - Points to a FONTOBJ structure
Return Value:
FO_GLYPHBITS or FO_PATHOBJ
--*/
{
PDEV pdev = (PDEV) dhpdev;
VERBOSE(("Entering DrvGetGlyphMode...\n"));
ASSERT(pfo && ValidPDEV(pdev));
return FO_GLYPHBITS;
}
ULONG
DrvFontManagement(
SURFOBJ *pso,
FONTOBJ *pfo,
ULONG iMode,
ULONG cjIn,
PVOID pvIn,
ULONG cjOut,
PVOID pvOut
)
/*++
Routine Description:
Implementation of DDI entry point DrvFontManagement.
Please refer to DDK documentation for more details.
Arguments:
pso - Points to a SURFOBJ structure
pfo - Points to a FONTOBJ structure
iMode - Escape number
cjIn - Size of input buffer
pvIn - Points to input buffer
cjOut - Size of output buffer
pvOut - Points to
Return Value:
TRUE if successful
FALSE if the specified escape numer is not supported
Negative if there is an error
--*/
{
VERBOSE(("Entering DrvFontManagement...\n"));
switch (iMode) {
case QUERYESCSUPPORT:
case GETEXTENDEDTEXTMETRICS:
break;
}
return FALSE;
}
BOOL
DrvQueryAdvanceWidths(
DHPDEV dhpdev,
FONTOBJ *pfo,
ULONG iMode,
HGLYPH *phg,
PVOID *pvWidths,
ULONG cGlyphs
)
/*++
Routine Description:
Implementation of DDI entry point DrvQueryAdvanceWidths.
Please refer to DDK documentation for more details.
Arguments:
dhpdev - Driver device handle
pfo - Points to a FONTOBJ structure
iMode - Type of information to be provided
phg - Points to an array of HGLYPHs for which the driver will
provide character advance widths
pvWidths - Points to a buffer for returning width data
cGlyphs - Number of glyphs in the phg array
Return Value:
Depends on iMode
--*/
{
PDEV pdev = (PDEV) dhpdev;
VERBOSE(("Entering DrvQueryAdvanceWidths...\n"));
ASSERT(pfo && ValidPDEV(pdev));
return FALSE;
}