home *** CD-ROM | disk | FTP | other *** search
- #ifndef LIBRARIES_DISKFONT_H
- #define LIBRARIES_DISKFONT_H
- /*
- ** $Filename: libraries/diskfont.h $
- ** $Release: 2.04 Includes, V37.4 $
- ** $Revision: 36.6 $
- ** $Date: 90/11/26 $
- **
- ** diskfont library definitions
- **
- ** (C) Copyright 1985-1991 Commodore-Amiga, Inc.
- ** All Rights Reserved
- */
-
- #ifndef EXEC_TYPES_H
- #include "exec/types.h"
- #endif
- #ifndef EXEC_NODES_H
- #include "exec/nodes.h"
- #endif
- #ifndef EXEC_LISTS_H
- #include "exec/lists.h"
- #endif
- #ifndef GRAPHICS_TEXT_H
- #include "graphics/text.h"
- #endif
-
- #define MAXFONTPATH 256 /* including null terminator */
-
- struct FontContents {
- char fc_FileName[MAXFONTPATH];
- UWORD fc_YSize;
- UBYTE fc_Style;
- UBYTE fc_Flags;
- };
-
- struct TFontContents {
- char tfc_FileName[MAXFONTPATH-2];
- UWORD tfc_TagCount; /* including the TAG_DONE tag */
- /*
- * if tfc_TagCount is non-zero, tfc_FileName is overlayed with
- * Text Tags starting at: (struct TagItem *)
- * &tfc_FileName[MAXFONTPATH-(tfc_TagCount*sizeof(struct TagItem))]
- */
- UWORD tfc_YSize;
- UBYTE tfc_Style;
- UBYTE tfc_Flags;
- };
-
-
- #define FCH_ID 0x0f00 /* FontContentsHeader, then FontContents */
- #define TFCH_ID 0x0f02 /* FontContentsHeader, then TFontContents */
-
- struct FontContentsHeader {
- UWORD fch_FileID; /* FCH_ID */
- UWORD fch_NumEntries; /* the number of FontContents elements */
- /* struct FontContents fch_FC[], or struct TFontContents fch_TFC[]; */
- };
-
-
- #define DFH_ID 0x0f80
- #define MAXFONTNAME 32 /* font name including ".font\0" */
-
- struct DiskFontHeader {
- /* the following 8 bytes are not actually considered a part of the */
- /* DiskFontHeader, but immediately preceed it. The NextSegment is */
- /* supplied by the linker/loader, and the ReturnCode is the code */
- /* at the beginning of the font in case someone runs it... */
- /* ULONG dfh_NextSegment; \* actually a BPTR */
- /* ULONG dfh_ReturnCode; \* MOVEQ #0,D0 : RTS */
- /* here then is the official start of the DiskFontHeader... */
- struct Node dfh_DF; /* node to link disk fonts */
- UWORD dfh_FileID; /* DFH_ID */
- UWORD dfh_Revision; /* the font revision */
- LONG dfh_Segment; /* the segment address when loaded */
- char dfh_Name[MAXFONTNAME]; /* the font name (null terminated) */
- struct TextFont dfh_TF; /* loaded TextFont structure */
- };
-
- /* unfortunately, this needs to be explicitly typed */
- /* used only if dfh_TF.tf_Style FSB_TAGGED bit is set */
- #define dfh_TagList dfh_Segment /* destroyed during loading */
-
-
- #define AFB_MEMORY 0
- #define AFF_MEMORY 0x0001
- #define AFB_DISK 1
- #define AFF_DISK 0x0002
- #define AFB_SCALED 2
- #define AFF_SCALED 0x0004
-
- #define AFB_TAGGED 16 /* return TAvailFonts */
- #define AFF_TAGGED 0x10000L
-
- struct AvailFonts {
- UWORD af_Type; /* MEMORY, DISK, or SCALED */
- struct TextAttr af_Attr; /* text attributes for font */
- };
-
- struct TAvailFonts {
- UWORD taf_Type; /* MEMORY, DISK, or SCALED */
- struct TTextAttr taf_Attr; /* text attributes for font */
- };
-
- struct AvailFontsHeader {
- UWORD afh_NumEntries; /* number of AvailFonts elements */
- /* struct AvailFonts afh_AF[], or struct TAvailFonts afh_TAF[]; */
- };
-
- #endif /* LIBRARIES_DISKFONT_H */
-