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

  1. /************************** Module Header ***********************************
  2. * raslib.h
  3. * Include file to provide prototypes and data types for the rasdd
  4. * private library.
  5. *
  6. * Copyright (C) 1992 - 1993 Microsoft Corporation.
  7. *
  8. *****************************************************************************/
  9. /*
  10. * The simple way to turn ANSI to UNICODE>
  11. */
  12. /*
  13. * A convenient grouping for passing around information about the
  14. * Win 3.1 font information.
  15. */
  16. typedef struct
  17. {
  18. BYTE *pBase; /* The base address of data area */
  19. DRIVERINFO DI; /* DRIVERINFO for this font */
  20. PFMHEADER PFMH; /* Properly aligned, not resource format */
  21. PFMEXTENSION PFMExt; /* Extended PFM data, properly aligned! */
  22. EXTTEXTMETRIC *pETM; /* Extended text metric */
  23. } FONTDAT;
  24. /*
  25. * Function prototypes for functions that convert Win 3.1 PFM style
  26. * font info to the IFIMETRICS etc required by NT.
  27. */
  28. /* Convert PFM style metrics to IFIMETRICS */
  29. IFIMETRICS *FontInfoToIFIMetric( FONTDAT *, HANDLE, PWSTR, char ** );
  30. /* Extract the Command Descriptors for (de)selecting a font */
  31. CD *GetFontSel( HANDLE, FONTDAT *, int );
  32. /* Convert from non-aligned x86 format Win 3.1 data to aligned versions */
  33. void ConvFontRes( FONTDAT * );
  34. /* Obtain the width vector - proportionally spaced fonts only */
  35. short *GetWidthVector( HANDLE, FONTDAT * );
  36. /*
  37. * Functions to return the integer value in a WORD or DWORD. Functions
  38. * do two operations: first is to align the data, second is to
  39. * adjuest the byte order to the current machine. The input is
  40. * assumed to be little endian, like the x86.
  41. */
  42. extern "C" WORD DwAlign2( BYTE * );
  43. extern "C" DWORD DwAlign4( BYTE * );