DEADSOFTWARE

Port, TODO
[bbcp.git] / Trurl-based / System / Mod / Fonts.txt
1 MODULE Fonts;
3 (* THIS IS TEXT COPY OF BlackBox 1.6-rc6 System/Mod/Fonts.odc *)
4 (* DO NOT EDIT *)
6 CONST
7 (** universal units **)
8 mm* = 36000;
9 point* = 12700; (** 1/72 inch **)
11 italic* = 0; underline* = 1; strikeout* = 2; (** style elements **)
13 normal* = 400; bold* = 700;
15 default* = "*";
17 TYPE
18 Typeface* = ARRAY 64 OF CHAR;
20 Font* = POINTER TO ABSTRACT RECORD
21 typeface-: Typeface;
22 size-: INTEGER;
23 style-: SET;
24 weight-: INTEGER
25 END;
27 TypefaceInfo* = POINTER TO RECORD
28 next*: TypefaceInfo;
29 typeface*: Typeface
30 END;
32 Directory* = POINTER TO ABSTRACT RECORD
33 END;
35 VAR dir-: Directory;
37 PROCEDURE (f: Font) Init* (typeface: Typeface; size: INTEGER; style: SET; weight: INTEGER), NEW;
38 BEGIN
39 ASSERT(f.size = 0, 20); ASSERT(size # 0, 21);
40 f.typeface := typeface$; f.size := size; f.style := style; f.weight := weight
41 END Init;
43 PROCEDURE (f: Font) GetBounds* (OUT asc, dsc, w: INTEGER), NEW, ABSTRACT;
44 PROCEDURE (f: Font) StringWidth* (IN s: ARRAY OF CHAR): INTEGER, NEW, ABSTRACT;
45 PROCEDURE (f: Font) SStringWidth* (IN s: ARRAY OF SHORTCHAR): INTEGER, NEW, ABSTRACT;
46 PROCEDURE (f: Font) IsAlien* (): BOOLEAN, NEW, ABSTRACT;
48 PROCEDURE (d: Directory) This* (typeface: Typeface; size: INTEGER; style: SET; weight: INTEGER): Font, NEW, ABSTRACT;
49 PROCEDURE (d: Directory) Default* (): Font, NEW, ABSTRACT;
50 PROCEDURE (d: Directory) TypefaceList* (): TypefaceInfo, NEW, ABSTRACT;
52 PROCEDURE SetDir* (d: Directory);
53 BEGIN
54 ASSERT(d # NIL, 20);
55 dir := d
56 END SetDir;
58 END Fonts.