DEADSOFTWARE

Port, TODO
[bbcp.git] / new / System / Mod / Printers.txt
1 MODULE Printers;
3 (* THIS IS TEXT COPY OF BlackBox 1.6-rc6 System/Mod/Printers.odc *)
4 (* DO NOT EDIT *)
6 IMPORT Ports;
8 TYPE
9 Printer* = POINTER TO ABSTRACT RECORD
10 l, t, r, b: INTEGER; (** paper rect relative to port coords **)
11 res*: INTEGER;
12 port: Ports.Port
13 END;
15 Directory* = POINTER TO ABSTRACT RECORD END;
17 VAR dir-, stdDir-: Directory;
20 PROCEDURE (p: Printer) OpenJob* (VAR copies: INTEGER; name: ARRAY OF CHAR), NEW, ABSTRACT;
21 PROCEDURE (p: Printer) CloseJob* (), NEW, ABSTRACT;
22 PROCEDURE (p: Printer) OpenPage* (), NEW, ABSTRACT;
23 PROCEDURE (p: Printer) ClosePage* (), NEW, ABSTRACT;
25 PROCEDURE (p: Printer) SetOrientation* (landscape: BOOLEAN), NEW, EMPTY;
27 PROCEDURE (p: Printer) InitPort* (port: Ports.Port), NEW;
28 BEGIN
29 ASSERT((p.port = NIL) OR (p.port = port), 20);
30 p.port := port
31 END InitPort;
33 PROCEDURE (p: Printer) ThisPort* (): Ports.Port, NEW;
34 BEGIN
35 RETURN p.port
36 END ThisPort;
38 PROCEDURE (p: Printer) GetRect* (OUT l, t, r, b: INTEGER), NEW;
39 BEGIN
40 l := p.l; t := p.t; r:= p.r; b := p.b
41 END GetRect;
43 PROCEDURE (p: Printer) InitPrinter* (l, t, r, b: INTEGER), NEW;
44 BEGIN
45 ASSERT(l <= r, 20); ASSERT(t <= b, 21);
46 p.l := l; p.t := t; p.r := r; p.b := b;
47 p.res := 0
48 END InitPrinter;
51 PROCEDURE (d: Directory) Default* (): Printer, NEW, ABSTRACT;
52 PROCEDURE (d: Directory) Current* (): Printer, NEW, ABSTRACT;
53 PROCEDURE (d: Directory) Available* (): BOOLEAN, NEW, ABSTRACT;
56 PROCEDURE SetDir* (d: Directory);
57 BEGIN
58 ASSERT(d # NIL, 20);
59 dir := d;
60 IF stdDir = NIL THEN stdDir := d END
61 END SetDir;
63 END Printers.