| |
|
|
| KompilierenMarkierenSeparieren
nProc lineOfPoints(long x,y,xx,yy){
long max=abs(x-xx),\
tmp=abs(y-yy)
case tmp>max : max=tmp
long data=dim(16+max*8)
linedda(x,y,xx,yy,procaddr(lineOfPoints.lineDDAProc),data)
mov eax,data
mov ebx,[eax]
inc ebx
mov [eax],ebx
imul ebx,8
add eax,ebx
mov [eax],xx
add eax,4
mov [eax],yy
return data
}
nProc lineOfPoints.lineDDAProc(long x,y,data){
push ebx
push ecx
mov eax,data
mov ebx,[eax]
inc ebx
mov [eax],ebx
imul ebx,8
add eax,ebx
mov [eax],x
add eax,4
mov [eax],y
pop ecx
pop ebx
}
|
|
|
| |
|
|
|
Nico Madysa | Liefert einen Bereich zurück, der die Koordinaten aller Punkte der Linie zwischen (x,y) und (xx,yy) enthält. Der Bereich ist wie folgt strukturiert:
Long an Offset 0: Anzahl der gezeichneten Punkte. Long an Offset 4: nicht definiert. Longs an Offset 8/12: X-/Y-Koordinate des ersten Punktes, usw. Der Bereich ist i. A. größer als unbedingt nötig. |
|
|
| |
|
|