home *** CD-ROM | disk | FTP | other *** search
- |##########|
- |#MAGIC #|DBBCMDKF
- |#PROJECT #|""
- |#PATHS #|"EGSProject"
- |#FLAGS #|xx---x--x---xxx-----------------
- |#USERSW #|--------------------------------
- |#USERMASK#|--------------------------------
- |#SWITCHES#|x--x-x----------
- |##########|
- |
- | 26.1.92 FloodFill
- | CopyRectangle
- | RastPort Struktur mit 'clipKey'
- | 13.3.92 FillMaskSeg
- |
- DEFINITION MODULE EGSGfx;
- |
- | +---------------------------------------------------------------------+
- | | |##
- | | egsgfx.library v1.0, © '92 StoneWare |##
- | | EXTENDED - GRAPHICS - STANDARD |##
- | | |##
- | +---------------------------------------------------------------------+##
- | #######################################################################
- |
- | Diese Library setzt auf der "egslayers.library" und der "egsblit.library"
- | auf. Sie vereinheitlicht und vereinfacht den Zugriff auf Layers und BitMaps.
- |
- | Die Funktionen sind zum großen Teil an die "graphics.library" angelehnt.
- | Die Grundlegende Struktur ist der RastPort. Er enthält ein Layer, eine BitMap
- | und oder einen Screen. Dabei werden alle Richtlinien eingehalten
- | (MouseOn..MouseOff, LockLayer..UnlockLayer).
- | Es kann je nach Bedarf über ein Layer und/oder eine Region geclipt werden.
- |
- FROM EGSLayers IMPORT LayerPtr;
- FROM EGSBlit IMPORT ClipRectPtr,ClipRect;
- FROM EGS IMPORT EBitMapPtr,EScreenPtr,EBitMap;
- FROM System IMPORT BITSET,SHORTSET,Regs,LONGSET;
- IMPORT Graphics;
- FROM Exec IMPORT LibraryPtr;
- FROM Graphics IMPORT FontStyleSet;
-
- TYPE
- CharPtr = POINTER TO CHAR;
- |
- | DrawModes...
- |
- | Zustände die die Farbverteilung bei Zeichenoperationen bestimmen
- |
- | drawAPen : es wird mit dem APen auf transparenten Untergrund
- | gezeichnet
- | drawABPen : es wird mit dem APen als Vordergrund und dem BPen als
- | Hintergrund gezeichnet
- | invert : Es wird invertierend gezeichnet
- |
- |
- DrawModes = (drawAPen,drawABPen,invert);
- |
- | EFont, EFontPtr...
- |
- | Erweiterung der Amiga-TextFont Struktur, mit zusätzlichen Informationen.
- | Sie wird über 'OpenFont' erzeugt und über 'CloseFont' vernichtet.
- |
- EFontPtr = POINTER TO EFont;
- EFont = RECORD
- font : Graphics.TextFontPtr;
- vmap : EBitMap;
- END;
- |
- | PolyEntry, Polygon, PolyPtr...
- |
- | Strukturen für Polygone
- |
- PolyEntry = RECORD x,y : INTEGER END;
- Polygon = ARRAY OF PolyEntry;
- PolyPtr = POINTER TO PolyEntry;
- |
- | AreaInfo, AreaInfoPtr...
- |
- | Struktur für Area-Befehle, wird über 'InitArea' initialisiert.
- |
- AreaInfoPtr = POINTER TO AreaInfo;
- AreaInfo = RECORD
- vctrTbl,
- vctrPtr,
- vctrLast : PolyPtr;
- count,
- maxCount : INTEGER;
- END;
- |
- | RastPort, RastPortPtr...
- |
- | Grundlegende EGSGfx Zeichenstruktur:
- |
- | .map : BitMap in die gezeichnet wird
- | .layer : Layer auf das gezeichnet wird
- | .screen : Screen auf die gezeichnet wird
- |
- | .cx,.cy : Aktueller Zeichen-Cursor, kann über 'Move' oder direktes
- | beschreiben geändert werden.
- | .ax,.ay : Aktueller Area-Cursor, muß über AreaMove geändert werden
- |
- | .aPen : APen bzw. Vordergrundstift
- | .bPen : BPen bzw. Hintergrundstift
- |
- | .mode : Zeichenmodus
- | .font : Aktueller Textfont, muß über beschreiben geändert werden
- |
- | .region : ClipRegion, muß über Install- bzw. RemoveClipRegion geändert
- | werden
- | .fClip,
- | .bClip : PRIVAT
- |
- | .curvStep: Bezierkurven werden in kleine Linien zerlegt. Dieser Wert gibt
- | die maximale Länge eines derartigen Linienstücks an.
- |
- | .tmpRas : Zeiger auf eine einplaneige BitMap, die bei Area-Befehlen
- | benutzt werden soll, ist keine vorhanden, wird bei jeder
- | Area-Operation eine alloziert und wieder freigegeben.
- | .areaInfo: AreaInfo-Struktur
- |
- | Aus Gründen der Aufwärtskompatibilität dürfen keine Variablen des Typs
- | RastPort erzeugt werden. RastPorts dürfen nur über 'CreateRastPort' erzeugt
- | und über 'DeleteRastPort' vernichtet werden.
- |
- RPortFlags = (ownAreaInfo,rpf31=31);
- RPortFlagSet= SET OF RPortFlags;
-
- RastPortPtr = POINTER TO RastPort;
- RastPort = RECORD
- map : EBitMapPtr;
- layer : LayerPtr;
- screen : EScreenPtr;
- depth : INTEGER;
- cx,
- cy,
- ax,
- ay : INTEGER;
- aPen,
- bPen : LONGINT;
- mode : DrawModes;
- font : EFontPtr;
- region : ClipRectPtr;
- fClip,
- bClip : ClipRectPtr;
- curvStep : INTEGER;
- tmpRas : EBitMapPtr;
- areaInfo : AreaInfoPtr;
- algoStyle: FontStyleSet;
- mask : LONGSET;
- clipKey : LONGINT;
- flags : RPortFlagSet;
- lineptrn : CARDINAL;
- mpattern : EBitMapPtr;
- apattern : EGS.PatternPtr;
-
- cacheKey : LONGINT; | globaler cache key,
- | wenn ungleich dem main,
- | dann hat sich irgendwas
- | geändert.
- parentKey: LONGINT; | bekommt den cache key,
- | falls dieser RastPort
- | von der Änderung
- | betroffen war.
- rect : ClipRect; | Cliprect des RastPorts
- | relativ zum übergeordneten
- | Rastport
- main, | der Hauptrastport
- super : RastPortPtr; | der übergeordnete
- | Rastport
- frect : ClipRect; | Cliprect des Rastports
- | relativ zum Screen
- END;
-
- VAR EGSGfxBase : LibraryPtr;
-
- |
- | PROCEDURE SetAPen(rast IN A0 : RastPortPtr;color IN D0 : LONGINT);
- |
- | Farbe des Vordergrundstiftes ändern.
- |
- LIBRARY EGSGfxBase BY-30 PROCEDURE SetAPen(rast IN A0 : RastPortPtr;color IN D0 : LONGINT);
- |
- | PROCEDURE SetBPen(rast IN A0 : RastPortPtr;color IN D0 : LONGINT);
- |
- | Farbe des Hintergrundstiftes ändern.
- |
- LIBRARY EGSGfxBase BY-36 PROCEDURE SetBPen(rast IN A0 : RastPortPtr;color IN D0 : LONGINT);
- |
- | PROCEDURE SetDrawMode(rast IN A0 : RastPortPtr;mode IN D0 : DrawModes);
- |
- | Zeichenmodus setzen.
- |
- LIBRARY EGSGfxBase BY-42 PROCEDURE SetDrawMode(rast IN A0 : RastPortPtr;mode IN D0 : DrawModes);
- |
- | PROCEDURE Move(rast IN A0 : RastPortPtr;x IN D0,y IN D1 : INTEGER);
- |
- | Setzt die Position des Graphik-Cursors
- |
- LIBRARY EGSGfxBase BY-48 PROCEDURE Move(rast IN A0 : RastPortPtr;x IN D0,y IN D1 : INTEGER);
- |
- | PROCEDURE WritePixel(rast IN A0 : RastPortPtr;x IN D0,y IN D1 : INTEGER);
- |
- | Setzt einen Punkt in Farbe des APens an die angegebene Position.
- |
- LIBRARY EGSGfxBase BY-54 PROCEDURE WritePixel(rast IN A0 : RastPortPtr;x IN D0,y IN D1 : INTEGER);
- |
- | PROCEDURE ReadPixel(rast IN A0 : RastPortPtr;
- | x IN D0,
- | y IN D1 : INTEGER):INTEGER;
- |
- | Ermittelt die Farbe eines Bildpunktes an der angegebenen Position
- |
- LIBRARY EGSGfxBase BY-60 PROCEDURE ReadPixel(rast IN A0 : RastPortPtr;x IN D0,y IN D1 : INTEGER):LONGINT;
- |
- | PROCEDURE Draw(rast IN A0 : RastPortPtr;x IN D0,y IN D1 : INTEGER);
- |
- | Zeichnet eine Linie mit dem APen von der aktuellen Cursorposition zur
- | angegebenen Position.
- |
- LIBRARY EGSGfxBase BY-66 PROCEDURE Draw(rast IN A0 : RastPortPtr;x IN D0,y IN D1 : INTEGER);
- |
- | PROCEDURE Ellipse(rast IN A0 : RastPortPtr;x IN D0,y IN D1,a IN D2,b IN D3 : INTEGER);
- |
- | Zeichnet eine Ellipse um x/y mit den Radien a und b
- |
- LIBRARY EGSGfxBase BY-198 PROCEDURE Ellipse(rast IN A0 : RastPortPtr;x IN D0,y IN D1,a IN D2,b IN D3 : INTEGER);
- |
- | PROCEDURE Curve(rast IN A0 : RastPortPtr;
- | x2 IN D0,y2 IN D1,
- | x3 IN D2,y3 IN D3,
- | x4 IN D4,y4 IN D5 : INTEGER);
- |
- | Zeichnet eine Bezierkurve vom aktuellen Graphik-Cursor zum Punkt (x4,y4) mit
- | den Hilfspunkten (x2,y2) und (x3,y3);
- |
- LIBRARY EGSGfxBase BY-72 PROCEDURE Curve(rast IN A0 : RastPortPtr;
- x2 IN D0,y2 IN D1,
- x3 IN D2,y3 IN D3,
- x4 IN D4,y4 IN D5 : INTEGER);
-
- LIBRARY EGSGfxBase BY-234 PROCEDURE CurveL(rast IN A0 : RastPortPtr;
- x2 IN D0,y2 IN D1,
- x3 IN D2,y3 IN D3 : LONGINT;
- x4 IN D4,y4 IN D5 : INTEGER);
- |
- | PROCEDURE Text(rast IN A0 : RastPortPtr;
- | text IN A1 : CharPtr;
- | len IN D0 : INTEGER);
- |
- | Schreibt einen Text an der Position des aktuellen Graphik-Cursors im akutellen
- | Font. Der Graphik-Cursor steht nach dieser Operation hinter dem ausgegebenen
- | Text
- |
- LIBRARY EGSGfxBase BY-78 PROCEDURE Text(rast IN A0 : RastPortPtr;text IN A1 : CharPtr;len IN D0 : INTEGER);
- |
- LIBRARY EGSGfxBase BY-210 PROCEDURE TextLength(rast IN A0 : RastPortPtr;text IN A1 : CharPtr;len IN D0 : INTEGER):INTEGER;
- |
- | PROCEDURE RectangleFill(rast IN A0 : RastPortPtr;
- | x IN D0,y IN D1,
- | w IN D2,h IN D3 : INTEGER);
- |
- | Füllt ein Rechteck in der aktuellen Vordergrundfarbe.
- |
- LIBRARY EGSGfxBase BY-84 PROCEDURE RectangleFill(rast IN A0 : RastPortPtr;
- x IN D0,y IN D1,
- w IN D2,h IN D3 : INTEGER);
- |
- | PROCEDURE CopyBitMapRastPort(src IN A0 : EBitMapPtr;
- | rast IN A1 : RastPortPtr;
- | xs IN D0,
- | ys IN D1 : INTEGER;
- | w IN D2,
- | h IN D3 : INTEGER;
- | xd IN D4,
- | yd IN D5 : INTEGER);
- |
- | Kopiert einen rechteckigen Ausschnitt aus einer BitMap in einen Rastport.
- |
- | - src : Quellbitmap
- | - rast : Zielrastport
- | - xs,ys : Startposition
- | - w,h : Größe des Rechtecks
- | - xd,yd : Zielposition
- |
- LIBRARY EGSGfxBase BY-90 PROCEDURE CopyBitMapRastPort(src IN A0 : EBitMapPtr;
- rast IN A1 : RastPortPtr;
- xs IN D0,
- ys IN D1 : INTEGER;
- w IN D2,
- h IN D3 : INTEGER;
- xd IN D4,
- yd IN D5 : INTEGER);
- |
- | PROCEDURE ScrollRastPort(rast IN A0 : RastPortPtr;
- | xs IN D0,
- | ys IN D1 : INTEGER;
- | w IN D2,
- | h IN D3 : INTEGER;
- | dx IN D4,
- | dy IN D5 : INTEGER);
- |
- | Verschiebt einen rechteckigen Ausschnitt eines RastPorts.
- |
- | - rast : Quell und Zielrastport
- | - xs,ys : obere linke Ecke
- | - w,h : Größe des Rechtecks
- | - dx,dy : Wert, um den das Rechteck verschoben werden soll
- |
- LIBRARY EGSGfxBase BY-96 PROCEDURE ScrollRastPort(rast IN A0 : RastPortPtr;
- xs IN D0,
- ys IN D1 : INTEGER;
- w IN D2,
- h IN D3 : INTEGER;
- dx IN D4,
- dy IN D5 : INTEGER);
-
- LIBRARY EGSGfxBase BY-258 PROCEDURE ScrollRastNoClear(rast IN A0 : RastPortPtr;
- xs IN D0,
- ys IN D1 : INTEGER;
- w IN D2,
- h IN D3 : INTEGER;
- dx IN D4,
- dy IN D5 : INTEGER);
-
- LIBRARY EGSGfxBase BY-294 PROCEDURE ScrollRastNoRefresh(rast IN A0 : RastPortPtr;
- xs IN D0,
- ys IN D1 : INTEGER;
- w IN D2,
- h IN D3 : INTEGER;
- dx IN D4,
- dy IN D5 : INTEGER);
- |
- |
- |
- LIBRARY EGSGfxBase BY-222 PROCEDURE CopyRectangle(src IN A0,
- dst IN A1 : RastPortPtr;
- xs IN D0,
- ys IN D1,
- w IN D2,
- h IN D3,
- dx IN D4,
- dy IN D5 : INTEGER);
- |
- | PROCEDURE FillMask(rast IN A0 : RastPortPtr;
- | src IN A1 : EBitMapPtr;
- | xd IN D0,
- | yd IN D1 : INTEGER);
- |
- |
- | Füllt einen rechteckigen Bereich eines Rastports durch eine Maske. Die
- | Maske ist eine ein Bit tiefe BitMap. Diese Prozedur wird von den Area-Befehlen
- | Benutzt. Ist für den Drawmode des Rastports 'drawABPen' gesetzt wird das ganze
- | Rechteck in zwei Farben gefüllt.
- |
- LIBRARY EGSGfxBase BY-102 PROCEDURE FillMask(rast IN A0 : RastPortPtr;
- src IN A1 : EBitMapPtr;
- xd IN D0,
- yd IN D1 : INTEGER);
-
- LIBRARY EGSGfxBase BY-228 PROCEDURE FillMaskSeg(rast IN A0 : RastPortPtr;
- src IN A1 : EBitMapPtr;
- xs IN D0,
- ys IN D1,
- w IN D2,
- h IN D3,
- xd IN D4,
- yd IN D5 : INTEGER);
- |
- | PROCEDURE AreaCircle(rast IN A0 : RastPortPtr;
- | x IN D0,
- | y IN D1,
- | r IN D2 : INTEGER);
- |
- | Zeichnet einen ausgefüllten Kreis in der Vordergrundfarbe.
- |
- LIBRARY EGSGfxBase BY-108 PROCEDURE AreaCircle(rast IN A0 : RastPortPtr;x IN D0,y IN D1,r IN D2 : INTEGER);
- |
- | PROCEDURE AreaMove(rast IN A0 : RastPortPtr;x IN D0,y IN D1 : INTEGER);
- |
- | Bewegt den Area-Cursor an die angegebene Stelle, und schließt ein eventuell
- | noch offenes Polygon.
- |
- LIBRARY EGSGfxBase BY-114 PROCEDURE AreaMove(rast IN A0 : RastPortPtr;x IN D0,y IN D1 : INTEGER);
- |
- | PROCEDURE AreaDraw(rast IN A0 : RastPortPtr;x IN D0,y IN D1 : INTEGER);
- |
- | Verbindet den aktuellen Area-Punkt mit (x,y) durch eine Gerade.
- |
- LIBRARY EGSGfxBase BY-120 PROCEDURE AreaDraw(rast IN A0 : RastPortPtr;x IN D0,y IN D1 : INTEGER);
- |
- | PROCEDURE AreaCurve(rast IN A0 : RastPortPtr;
- | x2 IN D0,y2 IN D1,
- | x3 IN D2,y3 IN D3,
- | x4 IN D4,y4 IN D5 : INTEGER);
- |
- | Verbindet den aktuellen Area-Punkt mit (x4,y4) durch eine Bezier-Kurve.
- |
- LIBRARY EGSGfxBase BY-132 PROCEDURE AreaCurve(rast IN A0 : RastPortPtr;
- x2 IN D0,y2 IN D1,
- x3 IN D2,y3 IN D3,
- x4 IN D4,y4 IN D5 : INTEGER);
- LIBRARY EGSGfxBase BY-240 PROCEDURE AreaCurveL(rast IN A0 : RastPortPtr;
- x2 IN D0,y2 IN D1,
- x3 IN D2,y3 IN D3 : LONGINT;
- x4 IN D4,y4 IN D5 : INTEGER);
- |
- | PROCEDURE AreaEnd(rast IN A0 : RastPortPtr);
- |
- | Schließt das letzte Polygon, und zeichnet die mit 'AreaMove', 'AreaDraw'
- | und 'AreaCurve' definierten Poylgone.
- |
- LIBRARY EGSGfxBase BY-126 PROCEDURE AreaEnd(rast IN A0 : RastPortPtr);
- |
- | PROCEDURE InitArea(VAR info IN A0 : AreaInfo;
- | buffer IN A1 : PolyPtr;
- | size IN D0 : INTEGER):AreaInfoPtr;
- |
- | Initialisiert eine 'AreaInfo'-Struktur.
- |
- | - info : AreaInfo-Struktur
- | - buffer : Zeiger auf einen Puffer, in den die Eckwerte eingetragen werden.
- | 'AreaCurve' benötigt sehr viele Eckwerte (1000...).
- | - size : Anzahl der Eckpunkte.
- |
- | Die Adresse der AreaInfo-Struktur wird zurückgegeben, so daß sie direkt an
- | den RastPort übergeben werden kann.
- |
- | ...
- | rast^.areaInfo:=InitArea(info,puffer'PTR,100);
- | ...
- |
- LIBRARY EGSGfxBase BY-138 PROCEDURE InitArea(VAR info IN A0 : AreaInfo;
- buffer IN A1 : PolyPtr;
- size IN D0 : INTEGER):AreaInfoPtr;
- |
- | PROCEDURE OpenFont(attr IN A0 : Graphics.TextAttrPtr):EFontPtr;
- |
- | Öffnet einen TextFont mit 'OpenDiskFont' und erweitert die Struktur um
- | benötigte Daten.
- |
- LIBRARY EGSGfxBase BY-144 PROCEDURE OpenFont(attr IN A0 : Graphics.TextAttrPtr):EFontPtr;
- |
- | PROCEDURE CloseFont(font IN A0 : EFontPtr);
- |
- | Schließt einen Font. Dies sollte mit jedem Font geschehen, der geöffnet
- | wurde.
- |
- LIBRARY EGSGfxBase BY-150 PROCEDURE CloseFont(font IN A0 : EFontPtr);
- |
- | PROCEDURE StdFont():EFontPtr;
- |
- | Die EGSBlit Library verfügt über einen speziellen Zeichensatz, der besonders
- | Schnell ausgegeben werden kann. Dieser Font (8x10 Punkte, nicht Prop.) sollte
- | immer verwendet werden, wenn eine schnelle Textausgabe benötigt wird.
- | Da er nicht mit OpenFont geöffnet werden kann, wird ein Handle auf ihn durch
- | 'StdFont' gegeben.
- |
- | Dieser Font darf auf keinen Fall an 'CloseFont' übergeben werden.
- |
- LIBRARY EGSGfxBase BY-156 PROCEDURE StdFont():EFontPtr;
- |
- | PROCEDURE InstallClipRegion(rast IN A0 : RastPortPtr;
- | rect IN A1 : ClipRectPtr);
- |
- | Clip-Regions sind Bereiche, die beschreiben wohin in einen RastPort Ausgaben
- | gemacht werden dürfen.
- |
- | Hat ein RastPort kein Clip-Region (nur bei solchen ohne Layer möglich), kann
- | es passieren, daß über die BitMap hinaus gezeichnet wird. Andererseits ist
- | Zeichnen ohne Clipping etwas schneller.
- |
- | Sitzt der RastPort auf einem Layer auf, wirkt eine zusätzliche Clip-Region
- | als Einschränkung des normalerweise rechteckigen Zeichenbereich.
- |
- | Die Clip-Region eines Rastports besteht aus einer Liste von ClipRects.
- | Diese Liste wird von der Library nicht verändert, darf also eine konstante
- | Liste sein.
- |
- | Bevor ein RastPort vernichtet wird, sollte die Clip-Region wieder entfernt
- | werden.
- |
- | Die Clip-Region darf nicht verändert werden, während sie am RastPort hängt.
- |
- LIBRARY EGSGfxBase BY-162 PROCEDURE InstallClipRegion(rast IN A0 : RastPortPtr;rect IN A1 : ClipRectPtr);
- |
- | PROCEDURE RemoveClipRegion(rast IN A0 : RastPortPtr):ClipRectPtr;
- |
- | Entfernt eine Liste von einem RastPort, und liefert sie zurück.
- |
- | Beispiel: Entfernen eines Teils aus der aktuellen Clip-Region
- |
- | ...
- | InstallClipRegion(rast,AndRectRegion(RemoveClipRegion(rast)),
- | ClipRect:(left=20,top=20,right=120,bottom=120)'PTR));
- | ...
- |
- LIBRARY EGSGfxBase BY-168 PROCEDURE RemoveClipRegion(rast IN A0 : RastPortPtr):ClipRectPtr;
- |
- | PROCEDURE CreateRastPort(layer IN A0 : LayerPtr;
- | screen IN A1 : EScreenPtr;
- | map IN A2 : EBitMapPtr):RastPortPtr;
- |
- | Erzeugt ein Rastport zu den gegebenen Daten:
- |
- | Folgende vier Übergabe-Möglichkeiten existieren:
- |
- | -layer=NIL,screen=NIL,map#NIL
- |
- | Der RastPort sitzt auf einer BitMap auf. Es wird keine SoftMouse und kein
- | Clipping berücksichtigt.
- |
- | -layer=NIL,screen#NIL,map=NIL
- |
- | Der RastPort sitzt auf dem Screen auf. Es wird die SoftMouse berücksichtigt.
- | Es wird direkt auf die BitMap des Screens gezeichnet.
- |
- | -layer#NIL,screen=NIL,map=NIL
- |
- | Der RastPort sitzt auf dem Layer auf. Es wird Clipping aber keine SoftMouse
- | berücksichtig.
- |
- | -layer#NIL,screen#NIL,map=NIL
- |
- | Der RastPort sitzt auf dem Layer und der Screen auf. Es wird sowohl Clipping
- | als auch SoftMouse berücksichtigt.
- |
- | Es ist erlaubt für ein Objekt mehrere RastPorts zu benützen, um unabhängiger
- | zu arbeiten. Werden Layers benutzt, dürfen auch mehrere Tasks gleichzeitig
- | den selben RastPort benützen.
- |
- LIBRARY EGSGfxBase BY-174 PROCEDURE CreateRastPort(layer IN A0 : LayerPtr;
- screen IN A1 : EScreenPtr;
- map IN A2 : EBitMapPtr):RastPortPtr;
- |
- | PROCEDURE DeleteRastPort(rast IN A0 : RastPortPtr);
- |
- | Gibt den Speicher eines mit 'CreateRastPort' erzeugten RastPorts wieder frei.
- |
- LIBRARY EGSGfxBase BY-180 PROCEDURE DeleteRastPort(rast IN A0 : RastPortPtr);
-
- LIBRARY EGSGfxBase BY-186 PROCEDURE SetFont(rast IN A0 : RastPortPtr;
- font IN A1 : EFontPtr);
-
- LIBRARY EGSGfxBase BY-192 PROCEDURE SetSoftStyle(rast IN A0 : RastPortPtr;
- style IN D0,
- mask IN D1 : FontStyleSet):FontStyleSet;
-
-
- LIBRARY EGSGfxBase BY-204 PROCEDURE SetMask(rast IN A0 : RastPortPtr;mask IN D0 : LONGSET);
-
- LIBRARY EGSGfxBase BY-216 PROCEDURE FloodFill(rast IN A0 : RastPortPtr;
- x IN D0,
- y IN D1 : INTEGER;
- mode IN D2 : BOOLEAN);
-
- LIBRARY EGSGfxBase BY-246 PROCEDURE CheckRectangle(rast IN A0 : RastPortPtr;rect IN A1 : ClipRectPtr):BOOLEAN;
-
- LIBRARY EGSGfxBase BY-252 PROCEDURE GetBoundingBox(rast IN A0 : RastPortPtr;rect IN A1 : ClipRectPtr):BOOLEAN;
-
- LIBRARY EGSGfxBase BY-264
- PROCEDURE CreateSubRastPort(super IN A0 : RastPortPtr;
- x IN D0,
- y IN D1,
- w IN D2,
- h IN D3 : INTEGER):RastPortPtr;
-
- LIBRARY EGSGfxBase BY-270
- PROCEDURE MoveSubRastPort(rast IN A0 : RastPortPtr;
- dx IN D0,
- dy IN D1 : INTEGER);
-
- LIBRARY EGSGfxBase BY-276
- PROCEDURE SizeSubRastPort(rast IN A0 : RastPortPtr;
- dx IN D0,
- dy IN D1 : INTEGER);
-
- LIBRARY EGSGfxBase BY-282 PROCEDURE ZoomBitMapRastPort(src IN A0 : EBitMapPtr;
- rast IN A1 : RastPortPtr;
- xs IN D0,
- ys IN D1 : INTEGER;
- w IN D2,
- h IN D3 : INTEGER;
- xd IN D4,
- yd IN D5 : INTEGER;
- zoom IN D6 : INTEGER);
-
- LIBRARY EGSGfxBase BY-288 PROCEDURE ZoomFillMaskSeg(rast IN A0 : RastPortPtr;
- src IN A1 : EBitMapPtr;
- xs IN D0,
- ys IN D1,
- w IN D2,
- h IN D3,
- xd IN D4,
- yd IN D5,
- zoom IN D6 : INTEGER);
-
- LIBRARY EGSGfxBase BY -300
- PROCEDURE SetLinePattern(rp IN A0 : RastPortPtr;patt IN D0 : CARDINAL);
-
- LIBRARY EGSGfxBase BY -306
- PROCEDURE SetAreaPattern(rp IN A0 : RastPortPtr;patt IN A1 : EGS.PatternPtr);
-
- LIBRARY EGSGfxBase BY -312
- PROCEDURE SetAreaMPattern(rp IN A0 : RastPortPtr;patt IN A1 : EGS.EBitMapPtr);
-
-
- |-312 SetAreaMPattern
-
- END EGSGfx.
-
-
-
-