(*------------------------------------------------------------------------------ Project : HardCopy Module : HardCopy.def Author : Robert Brandner (rb) Address : Schillerstr. 3 / A-8280 Fürstenfeld / AUSTRIA / EUROPE Copyright : Public Domain Language : Modula-II (M2Amiga V4.0d) History : V0.99, 25-Mar 91, rb History : , 22-Aug 91, rb adaptiert und optimiert für V4.0d Contents : Hardcopy eines Rastports erzeugen. ------------------------------------------------------------------------------*) (*$ NameChk := FALSE *) DEFINITION MODULE HardCopy; FROM Printer IMPORT SpecialSet,Error; FROM GraphicsD IMPORT RastPortPtr,ViewModeSet,ColorMapPtr; PROCEDURE DumpRPort(rp:RastPortPtr; (* Hardcopy von diesem RPort *) cm:ColorMapPtr; (* Verwendete Farben. *) vm:ViewModeSet; (* Typ des ViewPorts *) x0,y0,w,h:CARDINAL; (* zu druckender RP-Auschnitt *) prtw,prth:LONGINT; (* Ausdruck-Größe *) s:SpecialSet; (* Special-Flags *) VAR err:Error (* genaue Spez. von Fehlern *) ):BOOLEAN; (* TRUE: Alles ok, FALSE:Error*) (*------------------------------------------------------------------------------ Es wird eine Hardcopy des Rastports erzeugt. Durch Übergabe einer Colormap, kann der Ausdruck andere Farben haben, als die des View- ports. Der Ausschnitt des Rastports, der durch x0,y0 (linke obere Ecke), sowie w (Breite), und h (Höhe) definiert ist, wird gedruckt. prtw,prth geben die Größe des Ausdrucks an. Allerdings hängt die Interpretation der beiden Werte von den SpecialFlags ab. Eine genaue Beschreibung der SpecialFlags gibt es im Rom-Kernel- Reference-Manual. Hier eine kurze und unvollständige Erklärung der wichtigsten Flags: Flags Bedeutung von prtw, prth -------------------------------------------------------------------- keine Absolute Ausdruckgröße in Druckerpixels. milCols,milRows Größe in 1/1000 inch (1 inch=2.54 cm) fullCols,fullRows keine; Ausdruck erfolgt in maximaler Größe fracCols,fracRows Bruchteil von maximaler Größe center keine; Druck wird zentriert aspect Ausdruck erfolgt unverzerrt density1,2,4 keine; Ausdruckdichte ändern ------------------------------------------------------------------------------*) END HardCopy.def