home *** CD-ROM | disk | FTP | other *** search
/ Fresh Fish 4 / FreshFish_May-June1994.bin / bbs / cbm / nduk-v39.lha / V39 / include / diskfont / glyph.h < prev    next >
C/C++ Source or Header  |  1992-09-24  |  2KB  |  57 lines

  1. #ifndef  DISKFONT_GLYPH_H
  2. #define  DISKFONT_GLYPH_H
  3. /*
  4. **    $VER: glyph.h 9.1 (19.06.92)
  5. **    Includes Release 39.108
  6. **
  7. **    glyph.h -- structures for glyph libraries
  8. **
  9. **    (C) Copyright 1991-1992 Robert R. Burns
  10. **        All Rights Reserved
  11. */
  12.  
  13. #ifndef  EXEC_TYPES_H
  14. #include <exec/types.h>
  15. #endif
  16.  
  17. #ifndef  EXEC_LIBRARIES_H
  18. #include <exec/libraries.h>
  19. #endif
  20.  
  21. #ifndef  EXEC_NODES_H
  22. #include <exec/nodes.h>
  23. #endif
  24.  
  25. /* A GlyphEngine must be acquired via OpenEngine and is read-only */
  26. struct GlyphEngine {
  27.     struct Library *gle_Library; /* engine library */
  28.     char *gle_Name;        /* library basename: e.g. "bullet" */
  29.     /* private library data follows... */
  30. };
  31.  
  32. typedef LONG FIXED;        /* 32 bit signed w/ 16 bits of fraction */
  33.  
  34. struct GlyphMap {
  35.     UWORD   glm_BMModulo;    /* # of bytes in row: always multiple of 4 */
  36.     UWORD   glm_BMRows;        /* # of rows in bitmap */
  37.     UWORD   glm_BlackLeft;    /* # of blank pixel columns at left */
  38.     UWORD   glm_BlackTop;    /* # of blank rows at top */
  39.     UWORD   glm_BlackWidth;    /* span of contiguous non-blank columns */
  40.     UWORD   glm_BlackHeight;    /* span of contiguous non-blank rows */
  41.     FIXED   glm_XOrigin;    /* distance from upper left corner of bitmap */
  42.     FIXED   glm_YOrigin;    /*   to initial CP, in fractional pixels */
  43.     WORD    glm_X0;        /* approximation of XOrigin in whole pixels */
  44.     WORD    glm_Y0;        /* approximation of YOrigin in whole pixels */
  45.     WORD    glm_X1;        /* approximation of XOrigin + Width */
  46.     WORD    glm_Y1;        /* approximation of YOrigin + Width */
  47.     FIXED   glm_Width;        /* character advance, as fraction of em width */
  48.     UBYTE  *glm_BitMap;        /* actual glyph bitmap */
  49. };
  50.  
  51. struct GlyphWidthEntry {
  52.     struct MinNode gwe_Node;    /* on list returned by OT_WidthList inquiry */
  53.     UWORD   gwe_Code;        /* entry's character code value */
  54.     FIXED   gwe_Width;        /* character advance, as fraction of em width */
  55. };
  56. #endif     /* DISKFONT_GLYPH_H */
  57.