Subversion Repositories Kolibri OS

Rev

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

Rev 2136 Rev 2177
Line 1066... Line 1066...
1066
	pushad
1066
	pushad
1067
		mov edi,[buf_struc]
1067
		mov edi,[buf_struc]
1068
		cmp buf2d_bits,24
1068
		cmp buf2d_bits,24
1069
		jne .end24
1069
		jne .end24
Line 1070... Line -...
1070
 
-
 
1071
		mov ebx,dword[coord_x0]
1070
 
-
 
1071
		mov ecx,dword[coord_y0]
-
 
1072
		bt ecx,31
-
 
1073
		jc .end24 ;¥á«¨ ª®®à¤¨­ â  y0 ®âà¨æ â¥«ì­ ï
-
 
1074
		cmp ecx,buf2d_h
-
 
1075
		jge .end24 ;¥á«¨ ª®®à¤¨­ â  y0 ¡®«ìè¥ ¢ëá®âë ¡ãä¥à 
1072
		mov ecx,dword[coord_y0]
1076
 
1073
		mov edx,dword[color]
1077
		mov ebx,dword[coord_x0]
1074
		mov esi,dword[coord_x1]
1078
		mov esi,dword[coord_x1]
1075
		cmp ebx,esi
1079
		cmp ebx,esi
1076
		jle @f
1080
		jle @f
-
 
1081
			xchg ebx,esi ;¥á«¨ x0 > x1 â® ¬¥­ï¥¬ ¬¥áâ ¬¨ x0 ¨ x1
-
 
1082
		@@:
-
 
1083
		cmp esi,buf2d_w
-
 
1084
		jl @f
-
 
1085
			mov esi,buf2d_w
-
 
1086
			;dec esi
Line -... Line 1087...
-
 
1087
		@@:
-
 
1088
 
-
 
1089
		;¢ eax ¢ëç¨á«ï¥¬ ­ ç «® 1-© â®çª¨ «¨­¨¨ ¢ ¡ãä¥à¥ ¨§®¡à ¦¥­¨ï
-
 
1090
		mov eax,buf2d_w ;size x
-
 
1091
		imul eax,ecx ;size_x*y
-
 
1092
		add eax,ebx	 ;size_x*y+x
-
 
1093
		lea eax,[eax+eax*2] ;(size_x*y+x)*3
-
 
1094
		add eax,buf2d_data  ;ptr+(size_x*y+x)*3
1077
			xchg ebx,esi ;¥á«¨ x0 > x1 â® ¬¥­ï¥¬ ¬¥áâ ¬¨ x0 ¨ x1
1095
 
1078
 
1096
		mov edx,dword[color]
1079
		@@: ;横« ¯® ®á¨ x ®â x0 ¤® x1
1097
		@@: ;横« ¯® ®á¨ x ®â x0 ¤® x1
-
 
1098
			cmp ebx,esi
-
 
1099
			jge @f
-
 
1100
			bt ebx,31
-
 
1101
			jc .otr_x
-
 
1102
				mov word[eax],dx ;copy pixel color
-
 
1103
				ror edx,16
-
 
1104
				mov byte[eax+2],dl
1080
			cmp ebx,esi
1105
				ror edx,16
1081
			jge @f
1106
			.otr_x:
1082
			call draw_pixel
1107
				add eax,3
1083
			inc ebx
1108
				inc ebx
1084
			jmp @b
1109
			jmp @b
1085
		@@:
1110
		@@: