home *** CD-ROM | disk | FTP | other *** search
/ AMIGA PD 1 / AMIGA-PD-1.iso / Programme_zum_Heft / Programmieren / Kurztests / PascalPCQ / Include / Libraries / DiskFont.i < prev    next >
Text File  |  1990-08-28  |  3KB  |  103 lines

  1. {
  2.     DiskFont.i for PCQ Pascal
  3.  
  4.     diskfont library definitions
  5. }
  6.  
  7. {$I "Include:Exec/Nodes.i"}
  8. {$I "Include:Exec/Lists.i"}
  9. {$I "Include:Graphics/Text.i"}
  10.  
  11. Var
  12.     DiskFontBase : Address;
  13.  
  14. Const
  15.  
  16.     MAXFONTPATH        = 256;   { including null terminator }
  17.  
  18. Type
  19.  
  20.     FontContents = record
  21.     fc_FileName    : Array [0..MAXFONTPATH-1] of Char;
  22.     fc_YSize    : Short;
  23.     fc_Style    : Byte;
  24.     fc_Flags    : Byte;
  25.     end;
  26.     FontContentsPtr = ^FontContents;
  27.  
  28. Const
  29.  
  30.     FCH_ID        = $0f00;
  31.  
  32. Type
  33.  
  34.     FontContentsHeader = record
  35.     fch_FileID    : Short;    { FCH_ID }
  36.     fch_NumEntries    : Short;    { the number of FontContents elements }
  37.     fch_FC        : Array [0..0] of FontContents;
  38.                     { actual number of elements is NumEntries }
  39.     end;
  40.     FontContentsHeaderPtr = ^FontContentsHeader;
  41.  
  42. Const
  43.  
  44.     DFH_ID        = $0f80;
  45.     MAXFONTNAME        = 32;    { font name including ".font\0" }
  46.  
  47. Type
  48.  
  49.     DiskFontHeader = record
  50.     { the following 8 bytes are not actually considered a part of the }
  51.     { DiskFontHeader, but immediately preceed it. The NextSegment is  }
  52.     { supplied by the linker/loader, and the ReturnCode is the code   }
  53.     { at the beginning of the font in case someone runs it...           }
  54.     {     ULONG dfh_NextSegment;{ actually a BPTR }
  55.     {     ULONG dfh_ReturnCode;     { MOVEQ #0,D0 : RTS }
  56.     { here then is the official start of the DiskFontHeader...         }
  57.     dfh_DF        : Node;        { node to link disk fonts }
  58.     dfh_FileID    : Short;    { DFH_ID }
  59.     dfh_Revision    : Short;    { the font revision }
  60.     dfh_Segment    : Integer;    { the segment address when loaded }
  61.     dfh_Name    : Array [0..MAXFONTNAME-1] of Char;
  62.                     { the font name (null terminated) }
  63.     dfh_TF        : TextFont;    { loaded TextFont structure }
  64.     end;
  65.     DiskFontHeaderPtr = ^DiskFontHeader;
  66.  
  67. Const
  68.  
  69.     AFB_MEMORY        = 0;
  70.     AFF_MEMORY        = 1;
  71.     AFB_DISK        = 1;
  72.     AFF_DISK        = 2;
  73.  
  74. Type
  75.  
  76.     AvailFont = record
  77.     af_Type        : Short;    { MEMORY or DISK }
  78.     af_Attr        : TextAttr;    { text attributes for font }
  79.     end;
  80.     AvailFontPtr = ^AvailFont;
  81.  
  82.     AvailFontsHeader = record
  83.     afh_NumEntries    : Short;    { number of AvailFonts elements }
  84.     afh_AF        : Array [0..0] of AvailFont;
  85.                     { actual number in NumEntries }
  86.     end;
  87.     AvailFontsHeaderPtr = ^AvailFontsHeader;
  88.  
  89. Function AvailFonts(buffer : Address;
  90.             bufBytes : Integer; types : Integer) : Integer;
  91.     External;
  92.  
  93. Procedure DisposeFontContents(FCH : FontContentsHeaderPtr);
  94.     External; { version 34 }
  95.  
  96. Function NewFontContents(fontsLock : Address { Lock };
  97.             fontName : String) : FontContentsHeaderPtr;
  98.     External; { version 34 }
  99.  
  100. Function OpenDiskFont(TA : TextAttrPtr) : TextFontPtr;
  101.     External;
  102.  
  103.