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.
 
 
 
 
 
 

55 lines
1.8 KiB

/************************** Module Header ***********************************
* raslib.h
* Include file to provide prototypes and data types for the rasdd
* private library.
*
* Copyright (C) 1992 - 1993 Microsoft Corporation.
*
*****************************************************************************/
/*
* The simple way to turn ANSI to UNICODE>
*/
/*
* A convenient grouping for passing around information about the
* Win 3.1 font information.
*/
typedef struct
{
BYTE *pBase; /* The base address of data area */
DRIVERINFO DI; /* DRIVERINFO for this font */
PFMHEADER PFMH; /* Properly aligned, not resource format */
PFMEXTENSION PFMExt; /* Extended PFM data, properly aligned! */
EXTTEXTMETRIC *pETM; /* Extended text metric */
} FONTDAT;
/*
* Function prototypes for functions that convert Win 3.1 PFM style
* font info to the IFIMETRICS etc required by NT.
*/
/* Convert PFM style metrics to IFIMETRICS */
IFIMETRICS *FontInfoToIFIMetric( FONTDAT *, HANDLE, PWSTR, char ** );
/* Extract the Command Descriptors for (de)selecting a font */
CD *GetFontSel( HANDLE, FONTDAT *, int );
/* Convert from non-aligned x86 format Win 3.1 data to aligned versions */
void ConvFontRes( FONTDAT * );
/* Obtain the width vector - proportionally spaced fonts only */
short *GetWidthVector( HANDLE, FONTDAT * );
/*
* Functions to return the integer value in a WORD or DWORD. Functions
* do two operations: first is to align the data, second is to
* adjuest the byte order to the current machine. The input is
* assumed to be little endian, like the x86.
*/
extern "C" WORD DwAlign2( BYTE * );
extern "C" DWORD DwAlign4( BYTE * );