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 >
Wrap
Text File
|
1994-05-25
|
4KB
|
106 lines
|##########|
|#MAGIC #|CLABLNFE
|#PROJECT #|""
|#PATHS #|"StdProject"
|#FLAGS #|xx-x-x--x---x-x-----------------
|#USERSW #|--------------------------------
|#USERMASK#|--------------------------------
|#SWITCHES#|x-xx-x----------
|##########|
DEFINITION MODULE DiskFont;
(* $A- *)
FROM System IMPORT BITSET,BPTR,SysStringPtr,Regs;
FROM Exec IMPORT Node,LibraryPtr;
FROM Graphics IMPORT FontGrp,TextAttr,TTextAttr;
CONST
maxFontPath = 256;
maxFontName = 32;
fchId = $0F00;
dfhId = $0F80;
TYPE
AvailFontTypes = (memory,disk,scaled,af15=15);
AvailFontTypeSet = SET OF AvailFontTypes;
FontContents = RECORD
fileName : ARRAY [maxFontPath] OF CHAR;
ySize : CARDINAL;
style : FontStyleSet;
flags : FontFlagSet;
END;
TFontContents = RECORD
fileName : ARRAY [maxFontPath-2] OF CHAR;
tagCount : CARDINAL;
ySize : CARDINAL;
style : FontStyleSet;
flags : FontFlagSet;
END;
FontContentsHeaderPtr = POINTER TO FontContentsHeader;
FontContentsHeader = RECORD
fileId : CARDINAL;
numEntries : CARDINAL;
END;
DiskFontHeaderPtr = POINTER TO DiskFontHeader;
DiskFontHeader = RECORD OF Node
fileId : CARDINAL;
revision : CARDINAL;
segment : BPTR;
name : ARRAY [maxFontName] OF CHAR;
tf : TextFont;
END;
AvailFont = RECORD
type : AvailFontTypeSet;
attr : TextAttr;
END;
TAvailFont = RECORD
type : AvailFontTypeSet;
attr : TTextAttr;
END;
AvailFontHeader = RECORD
numEntries : CARDINAL;
END;
AvailFontHeaderPtr = POINTER TO AvailFontHeader;
VAR
DiskFontBase : LibraryPtr;
LIBRARY DiskFontBase BY -36
PROCEDURE AvailFonts(buffer IN A0 : ANYPTR;
len IN D0 : LONGINT;
modus IN D1 : BITSET):LONGINT;
LIBRARY DiskFontBase BY -48
PROCEDURE DisposeFontContents(header IN A1 : FontContentsHeaderPtr);
LIBRARY DiskFontBase BY -42
PROCEDURE NewFontContents(fontsLock IN A0 : ANYPTR;
name IN A1 : SysStringPtr):FontContentsHeaderPtr;
LIBRARY DiskFontBase BY -30
PROCEDURE OpenDiskFont(REF tAttr IN A0 : TextAttr):TextFontPtr;
LIBRARY DiskFontBase BY -54
PROCEDURE NewScaledDiskFont( font IN A0 : TextFontPtr;
REF tAttr IN A1 : TextAttr):DiskFontHeaderPtr;
GROUP
DiskFontGrp = AvailFonts,OpenDiskFont,Graphics.FontGrp,
AvailFontTypes,AvailFontTypeSet,DiskFontHeaderPtr;
All = DiskFontGrp,maxFontPath,maxFontName,fchId,dfhId,
FontContents,FontContentsHeader,FontContentsHeaderPtr,
DiskFontHeader,AvailFont,AvailFontHeader,
AvailFontHeaderPtr,DisposeFontContents,NewFontContents,
NewScaledDiskFont;
END DiskFont.