•  Back 
  •  Filled polygon 
  •  Index 
  •  Tree View 
  •  Cross references 
  •  Help page 
  •  Show info about hypertext 
  •  View a new file 
Topic       : TOS - The Operating System
Author      : 
Version     : tos.hyp (December 19, 2008)
Subject     : Programmieren/Atari
Nodes       : 3010
Index Size  : 93790
HCP-Version : 5
Compiled on : Atari
@charset    : atarist
@lang       : 
@default    : Title
@help       : 
@options    : +g -i -s +x +zz -t4
@width      : 70
View Ref-File6.11.1  Bindings für filled_polygon                                TOS

 Pure-C:    void filled_polygon( int16_t *xy, int16_t count );

 Assembler: It is assumed that the contrl field has already been 
            entered in the Line-A parameter block.

            movem.l   D0-D2/A0-A2,-(A7)  ; Save registers
            move.l    pParamblk,A0       ; Pointer parameter block LINEA
            move.w    (4,A0),A1          ; contrl nach A1
            move.w    count,(2,A1)       ; Anzahl Punkte nach contrl[1]
            move.l    (12,A0),-(A7)      ; alten Wert des ptsin Feldes retten
            move.l    xy,(12,A0)         ; Feld mit Koordinaten der Ecken in LINEA.ptsin
            move.w    y1,(40,A0)         ; zu zeichnende Zeile, Y-Koordinate in LINEA.y1
            move.w    colbit0,(24,A0)    ; Bit für erste Plane in LINEA.fg_bp_1
            move.w    colbit1,(26,A0)    ; Bit für erste Plane in LINEA.fg_bp_2
            move.w    colbit2,(28,A0)    ; Bit für erste Plane in LINEA.fg_bp_3
            move.w    colbit3,(30,A0)    ; Bit für erste Plane in LINEA.fg_bp_4
            move.w    wmode,(36,A0)      ; Writemode in LINEA.wrt_mode
            move.w    patptr,(46,A0)     ; Linienmuster in LINEA.patptr
            move.w    patmsk,(50,A0)     ; Anzahl Muster in LINEA.patmsk
            move.w    mode,(54,A0)       ; Clipmode in LINEA.clip
            move.w    cx1,(56,A0)        ; linke obere Clip-Ecke, X-Koordinate in LINEA.xmn_clip
            move.w    cy1,(58,A0)        ; linke obere Clip-Ecke, Y-Koordinate in LINEA.ymn_clip
            move.w    cx2,(60,A0)        ; rechte untere Clip-Ecke, X-Koordinate in LINEA.xmx_clip
            move.w    cy2,(62,A0)        ; rechte untere Clip-Ecke, Y-Koordinate in LINEA.ymx_clip
            dc.w      $A006              ; Line-A opcode
            move.l    pParamblk,A0       ; Pointer parameter block LINEA
            move.l    (A7)+,(12,A0)      ; alten Wert des ptsin Feldes restaurieren
            movem.l   (A7)+,D0-D2/A0-A2  ; Restore registers