•  Back 
  •  Line-A 
  •  Index 
  •  Tree View 
  •  Cross references 
  •  Help page 
  •  Show info about hypertext 
  •  View a new file 
Topic       : TOS - das Betriebssystem
Author      : 
Version     : tos.hyp (5. März 2013)
Subject     : Programmieren/Atari
Nodes       : 3001
Index Size  : 93602
HCP-Version : 5
Compiled on : Atari
@charset    : atarist
@lang       : 
@default    : Titel
@help       : 
@options    : +g -i -s +x +zz -t4
@width      : 70
View Ref-File6.20  Seedfill                                                     TOS

 Name:          »Seedfill«

 Line-A Nummer: $A00F

 Binding:       Bindings für seed_fill

 Beschreibung:  Diese Line-A Funktion füllt einen Bereich mit einer 
                Farbe aus und entspricht damit der VDI Funktion 
                v_contourfill.

                Im ersten Word von ptsin (ptsin[0] in C) wird die X- 
                Koordinate und im zweiten Word von ptsin (ptsin[1] in 
                C) wird die Y-Koordinate des Startpunkts übergeben. In 
                das erste Wort von intin (intin[0] in C) wird das 
                Mode-Wort geschrieben. Ist das Mode-Wort größer 0, 
                gibt es die Farbe der Umgrenzung an, bis zu der 
                gefüllt werden soll. Ist das Mode-Wort kleiner 0, 
                besteht die Umgenzung aus allen Pixeln, die nicht die 
                Farbe des Startpunkts haben.

                Die folgenden Line-A Variablen werden benutzt:

                 Variable    Bedeutung

                 fill_abort  Dies ist die Adresse eine Funktion, die 
                             am Ende jeder Zeile aufgerufen wird. 
                             Liefert diese Funktion in D0 den Wert 0, 
                             wird mit dem Füllen fortgefahren, 
                             ansonsten abgebrochen.
                 patptr      Zeiger auf ein Feld mit 16 Bit 
                             Linienmustern.
                 patmsk      Anzahl Linienmuster - 1. In Abhängigkeit 
                             von der y-Koordinate wird nun aus dem 
                             Feld mit den Linienmustern eines 
                             ausgewählt. Der Index des verwendeten 
                             Linienmusters läßt sich durch (y mod 
                             (patmsk + 1)) berechnen. Durch die Angabe 
                             mehrerer Linienmuster und mehrmaliges 
                             Aufrufen dieser Funktion für 
                             aufeinanderfolgende Zeilen lassen sich 
                             leicht auch komplexe Muster zeichnen.
                 multifill   0, wenn das Muster nur eine Ebene hat und 
                             1 für mehrere Ebenen.
                 wrt_mode    Schreibmodes, es sind die folgenden Modie 
                             möglich:
                              REPLACE 0  Replace
                              TRANS 1    Transparent (OR)
                              XOR 2      Inverse (XOR)
                              INVERS 3   Inverse Transparent (XOR mit 
                                         not(LN_MASK))
                 clip        1 wenn Clipping gewünscht wird, 0 sonst.
                 xmn_clip    X-Koordinate der linken oberen Ecke des 
                             Clipping Bereichs, wenn Clipping 
                             eingeschaltet ist.
                 ymn_clip    Y-Koordinate der linken oberen Ecke des 
                             Clipping Bereichs, wenn Clipping 
                             eingeschaltet ist.
                 xmx_clip    X-Koordinate der rechten unteren Ecke des 
                             Clipping Bereichs, wenn Clipping 
                             eingeschaltet ist.
                 ymx_clip    Y-Koordinate der rechten unteren Ecke des 
                             Clipping Bereichs, wenn Clipping 
                             eingeschaltet ist.

 Ergebnis:      Die Funktion liefert keinen Returnwert.

 Verfügbar:     Alle TOS-Versionen.

 Querverweis:   Binding   v_contourfill