home *** CD-ROM | disk | FTP | other *** search
/ Global Amiga Experience / globalamigaexperience.iso / compressed / development / clusterdemo.dms / clusterdemo.adf / Modules.lha / modules / txt / DiskFont.def < prev    next >
Text File  |  1994-05-25  |  4KB  |  106 lines

  1. |##########|
  2. |#MAGIC   #|CLABLNFE
  3. |#PROJECT #|""
  4. |#PATHS   #|"StdProject"
  5. |#FLAGS   #|xx-x-x--x---x-x-----------------
  6. |#USERSW  #|--------------------------------
  7. |#USERMASK#|--------------------------------
  8. |#SWITCHES#|x-xx-x----------
  9. |##########|
  10. DEFINITION MODULE DiskFont;
  11.  
  12. (* $A- *)
  13. FROM System   IMPORT BITSET,BPTR,SysStringPtr,Regs;
  14. FROM Exec     IMPORT Node,LibraryPtr;
  15. FROM Graphics IMPORT FontGrp,TextAttr,TTextAttr;
  16.  
  17. CONST
  18.   maxFontPath           = 256;
  19.   maxFontName           = 32;
  20.   fchId                 = $0F00;
  21.   dfhId                 = $0F80;
  22.  
  23. TYPE
  24.   AvailFontTypes        = (memory,disk,scaled,af15=15);
  25.   AvailFontTypeSet      = SET OF AvailFontTypes;
  26.   FontContents          = RECORD
  27.                             fileName : ARRAY [maxFontPath] OF CHAR;
  28.                             ySize    : CARDINAL;
  29.                             style    : FontStyleSet;
  30.                             flags    : FontFlagSet;
  31.                           END;
  32.   TFontContents         = RECORD
  33.                             fileName : ARRAY [maxFontPath-2] OF CHAR;
  34.                             tagCount : CARDINAL;
  35.                             ySize    : CARDINAL;
  36.                             style    : FontStyleSet;
  37.                             flags    : FontFlagSet;
  38.                           END;
  39.  
  40.   FontContentsHeaderPtr = POINTER TO FontContentsHeader;
  41.   FontContentsHeader    = RECORD
  42.                             fileId     : CARDINAL;
  43.                             numEntries : CARDINAL;
  44.                           END;
  45.  
  46.  
  47.   DiskFontHeaderPtr     = POINTER TO DiskFontHeader;
  48.   DiskFontHeader        = RECORD OF Node
  49.                             fileId    : CARDINAL;
  50.                             revision  : CARDINAL;
  51.                             segment   : BPTR;
  52.                             name      : ARRAY [maxFontName] OF CHAR;
  53.                             tf        : TextFont;
  54.                           END;
  55.  
  56.   AvailFont             = RECORD
  57.                             type      : AvailFontTypeSet;
  58.                             attr      : TextAttr;
  59.                           END;
  60.   TAvailFont            = RECORD
  61.                             type      : AvailFontTypeSet;
  62.                             attr      : TTextAttr;
  63.                           END;
  64.  
  65.   AvailFontHeader       = RECORD
  66.                             numEntries  : CARDINAL;
  67.                           END;
  68.  
  69.   AvailFontHeaderPtr    = POINTER TO AvailFontHeader;
  70.  
  71. VAR
  72.   DiskFontBase   : LibraryPtr;
  73.  
  74. LIBRARY DiskFontBase BY -36
  75.   PROCEDURE AvailFonts(buffer IN A0 : ANYPTR;
  76.                        len    IN D0 : LONGINT;
  77.                        modus  IN D1 : BITSET):LONGINT;
  78.  
  79. LIBRARY DiskFontBase BY -48
  80.   PROCEDURE DisposeFontContents(header IN A1 : FontContentsHeaderPtr);
  81.  
  82. LIBRARY DiskFontBase BY -42
  83.   PROCEDURE NewFontContents(fontsLock IN A0 : ANYPTR;
  84.                             name      IN A1 : SysStringPtr):FontContentsHeaderPtr;
  85.  
  86. LIBRARY DiskFontBase BY -30
  87.   PROCEDURE OpenDiskFont(REF tAttr IN A0 : TextAttr):TextFontPtr;
  88.  
  89. LIBRARY DiskFontBase BY -54
  90.   PROCEDURE NewScaledDiskFont(    font  IN A0 : TextFontPtr;
  91.                               REF tAttr IN A1 : TextAttr):DiskFontHeaderPtr;
  92.  
  93.  
  94. GROUP
  95.   DiskFontGrp     =  AvailFonts,OpenDiskFont,Graphics.FontGrp,
  96.                      AvailFontTypes,AvailFontTypeSet,DiskFontHeaderPtr;
  97.  
  98.   All             =  DiskFontGrp,maxFontPath,maxFontName,fchId,dfhId,
  99.                      FontContents,FontContentsHeader,FontContentsHeaderPtr,
  100.                      DiskFontHeader,AvailFont,AvailFontHeader,
  101.                      AvailFontHeaderPtr,DisposeFontContents,NewFontContents,
  102.                      NewScaledDiskFont;
  103.  
  104. END DiskFont.
  105.  
  106.