Subversion Repositories Kolibri OS

Rev

Rev 6113 | Rev 6141 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 6113 Rev 6126
Line 50... Line 50...
50
	dxdy_max dd ? ;int
50
	dxdy_max dd ? ;int
51
	; warning: x2 is multiplied by 2^16
51
	; warning: x2 is multiplied by 2^16
52
	x2 dd ? ;int
52
	x2 dd ? ;int
53
	dx2dy2 dd ? ;int
53
	dx2dy2 dd ? ;int
Line 54... Line -...
54
 
-
 
55
	pz dd ? ;unsigned short *
54
 
56
	z dd ? ;uint
-
 
57
	zz dd ? ;uint
-
 
58
 
55
	z dd ? ;uint
Line 59... Line 56...
59
	n dd ? ;int - длинна горизонтальной линии в пикселях
56
	n dd ? ;int - длинна горизонтальной линии в пикселях
60
 
57
 
61
if INTERP_Z eq 1
58
if INTERP_Z eq 1
Line 691... Line 688...
691
		mov [n],eax ;n = (x2 >> 16) - x1
688
		mov [n],eax ;n = (x2 >> 16) - x1
692
		imul edi,PSZB
689
		imul edi,PSZB
693
		add edi,[pp1] ;pp = pp1 + x1 * PSZB
690
		add edi,[pp1] ;pp = pp1 + x1 * PSZB
Line 694... Line 691...
694
 
691
 
695
if INTERP_Z eq 1
692
if INTERP_Z eq 1
696
		mov eax,[x1]
693
		mov esi,[x1]
697
		shl eax,1
694
		shl esi,1
698
		add eax,[pz1]
-
 
699
		mov [pz],eax
695
		add esi,[pz1]
700
		mov eax,[z1]
696
		mov eax,[z1]
701
		mov [z],eax
697
		mov [z],eax
702
end if
698
end if
703
if INTERP_RGB eq 1
699
if INTERP_RGB eq 1
Line 757... Line 753...
757
			PUT_PIXEL 0
753
			PUT_PIXEL 0
758
			PUT_PIXEL 1
754
			PUT_PIXEL 1
759
			PUT_PIXEL 2
755
			PUT_PIXEL 2
760
			PUT_PIXEL 3
756
			PUT_PIXEL 3
761
if INTERP_Z eq 1
757
if INTERP_Z eq 1
762
			add dword[pz],8 ;=4*sizeof(uint)
758
			add esi,8 ;=4*sizeof(uint)
763
end if
759
end if
764
			add edi,4*PSZB
760
			add edi,4*PSZB
765
			sub dword[n],4
761
			sub dword[n],4
766
		jmp .cycle_1
762
		jmp .cycle_1
767
		.cycle_2: ;while (n>=0)
763
		.cycle_2: ;while (n>=0)
Line 797... Line 793...
797
			mov dword[ob1],0xff00
793
			mov dword[ob1],0xff00
798
		.end_b:
794
		.end_b:
799
end if
795
end if
800
			PUT_PIXEL 0
796
			PUT_PIXEL 0
801
if INTERP_Z eq 1
797
if INTERP_Z eq 1
802
			add dword[pz],2 ;=sizeof(uint)
798
			add esi,2 ;=sizeof(uint)
803
end if
799
end if
804
			add edi,PSZB
800
			add edi,PSZB
805
			dec dword[n]
801
			dec dword[n]
806
		jmp .cycle_2
802
		jmp .cycle_2
807
		.cycle_2_end:
803
		.cycle_2_end: