DEFINITION MODULE DMPrinting;
(*******************************************************************
Module DMPrinting ('Dialog Machine' DM_V3.0)
Copyright (c) 1987-2006 by Olivier Roth, Andreas Fischlin and
ETH Zurich.
Purpose Printing of picture and text objects from a
'Dialog Machine' program.
Remarks This module belongs to the 'Dialog Machine'.
Programming
o Design
Olivier Roth 17/09/1987
Andreas Fischlin 14/03/1989
o Implementation
Olivier Roth 17/09/1987
Andreas Fischlin 14/03/1989
ETH Zurich
Systems Ecology
CHN E 35.1
Universitaetstrasse 16
8092 Zurich
SWITZERLAND
URLs:
<mailto:RAMSES@env.ethz.ch>
<http://www.sysecol.ethz.ch>
<http://www.sysecol.ethz.ch/SimSoftware/RAMSES>
Last revision of definition: 24/07/1990 OR
*******************************************************************)
FROM SYSTEM IMPORT ADDRESS;
TYPE
PrinterFont = (chicago, newYork, geneva, monaco, times, helvetica, courier, symbol);
VAR
PrintingDone: BOOLEAN;
(*
Read only variable, which returns whether any of the
following procedures has been successful. E.g. if the
printer cannot be opened or printing was not successful.
*)
PROCEDURE PageSetup ;
(*
Displays the standard page setup dialog box allowing to set
paper sizes and other printing options.
*)
PROCEDURE PrintPicture ;
(*
Displays the standard DialogBox for printing and prints all
recent output which has been produced on a Dialog Machine
window between the calls to the procedure
DMWPictIO.StartPictureSave and DMWPictIO.StopPictureSave by
means of DMWindIO output procedures
*)
PROCEDURE PrintText(font: PrinterFont; fontSize: INTEGER; tabwidth: INTEGER);
(*
Displays the standard DialogBox for printing and prints the
text which has been produced on a Dialog Machine window between
the calls to the procedure DMWTextIO.StartTextSave and
DMWTextIO.StopTextSave. The whole text is printed with the font
font and the size fontSize. Pages will be numbered at their
top right corner and the current header texts will be printed
on top left corner of each page. Header information will be
separated from the actually printed text by a line. If
tabwidth > 0 then the character TAB (ASCII hc 11C) will be
replaced with the proper space before the next character will
be printed.
*)
PROCEDURE SetHeaderText(h: ARRAY OF CHAR);
PROCEDURE SetSubHeaderText(sh: ARRAY OF CHAR);
PROCEDURE SetFooterText(f: ARRAY OF CHAR);
END DMPrinting.