Subversion Repositories Kolibri OS

Rev

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

Rev 1634 Rev 1642
Line 1032... Line 1032...
1032
	jne .coord_end
1032
	jne .coord_end
Line 1033... Line 1033...
1033
 
1033
 
1034
		mov eax,[coord_x]
1034
		mov eax,[coord_x]
1035
		mov ebx,[coord_y]
1035
		mov ebx,[coord_y]
-
 
1036
		mov ecx,[w]
-
 
1037
		cmp ecx,1
1036
		mov ecx,[w]
1038
		jl .coord_end
-
 
1039
		add ecx,eax
1037
		add ecx,eax
1040
		dec ecx
-
 
1041
		mov edx,[h]
-
 
1042
		cmp edx,1
-
 
1043
		jl .coord_end
1038
		mov edx,[h]
1044
 
-
 
1045
		add edx,ebx
1039
		add edx,ebx
1046
		dec edx
1040
		mov esi,dword[color]
1047
		mov esi,dword[color]
1041
		stdcall buf_line_h, edi, eax, ebx, ecx, esi ;«¨­¨ï -
1048
		stdcall buf_line_h, edi, eax, ebx, ecx, esi ;«¨­¨ï -
1042
		stdcall buf_line_brs, edi, eax, ebx, eax, edx, esi ;«¨­¨ï |
1049
		stdcall buf_line_brs, edi, eax, ebx, eax, edx, esi ;«¨­¨ï |
1043
		stdcall buf_line_h, edi, eax, edx, ecx, esi ;«¨­¨ï -
1050
		stdcall buf_line_h, edi, eax, edx, ecx, esi ;«¨­¨ï -
Line 1046... Line 1053...
1046
popad
1053
popad
1047
	ret
1054
	ret
1048
endp
1055
endp
Line 1049... Line 1056...
1049
 
1056
 
-
 
1057
align 4
-
 
1058
proc buf_filled_rect_by_size, buf_struc:dword, coord_x:dword,coord_y:dword,w:dword,h:dword, color:dword
-
 
1059
pushad
-
 
1060
	mov edi,[buf_struc]
-
 
1061
	cmp buf2d_bits,24
-
 
1062
	jne .coord_end
-
 
1063
		mov eax,[coord_x]
-
 
1064
		mov ebx,[coord_y]
-
 
1065
		mov edx,[w]
-
 
1066
		add edx,eax
-
 
1067
		mov ecx,[h]
-
 
1068
		mov esi,dword[color]
-
 
1069
		cld
-
 
1070
		@@:
-
 
1071
			stdcall buf_line_h, edi, eax, ebx, edx, esi ;«¨­¨ï -
-
 
1072
			inc ebx
-
 
1073
			loop @b
-
 
1074
	.coord_end:
-
 
1075
popad
-
 
1076
	ret
-
 
1077
endp
-
 
1078
 
1050
align 4
1079
align 4
1051
proc buf_circle, buf_struc:dword, coord_x:dword, coord_y:dword, r:dword, color:dword
1080
proc buf_circle, buf_struc:dword, coord_x:dword, coord_y:dword, r:dword, color:dword
1052
locals
1081
locals
1053
	po_x dd ?
1082
	po_x dd ?
1054
	po_y dd ?
1083
	po_y dd ?
Line 1690... Line 1719...
1690
	mov esi,buf2d_data ;¤ ­­ë¥ ª®¯¨à㥬®© ª à⨭ª¨
1719
	mov esi,buf2d_data ;¤ ­­ë¥ ª®¯¨à㥬®© ª à⨭ª¨
Line 1691... Line 1720...
1691
 
1720
 
1692
	mov edi,[buf_destination]
1721
	mov edi,[buf_destination]
1693
	cmp buf2d_bits,24
1722
	cmp buf2d_bits,24
-
 
1723
	jne .error2 ;ä®à¬ â ¡ãä¥à  ­¥ ¯®®¤¥à¦¨¢ ¥âáï
-
 
1724
	mov ebx,[coord_x] ;¢ ebx ¢à¥¬¥­­® áâ ¢¨¬ ®âáâ㯠¨§®¡à ¦¥­¨ï (¤«ï ¯à®¢¥àª¨)
-
 
1725
	cmp ebx,buf2d_w   ;¯à®¢¥à塞 ¢« §¨â «¨ ¨§®¡à ¦¥­¨¥ ¯® è¨à¨­¥
1694
	jne .error2 ;ä®à¬ â ¡ãä¥à  ­¥ ¯®®¤¥à¦¨¢ ¥âáï
1726
	jge .copy_end     ;¥á«¨ ¨§®¡à ¦¥­¨¥ ¯®«­®áâìî ¢ë« §¨â §  ¯à ¢ãî áâ®à®­ã
1695
		mov ebx,buf2d_h ;ebx - ¢ëá®â  ®á­®¢­®£® ¡ãä¥à 
1727
		mov ebx,buf2d_h ;ebx - ¢ëá®â  ®á­®¢­®£® ¡ãä¥à 
1696
		mov ecx,[coord_y]
1728
		mov ecx,[coord_y]
1697
		cmp ecx,ebx
1729
		cmp ecx,ebx
1698
		jge .copy_end ;¥á«¨ ª®®à¤¨­ â  'y' ¡®«ìè¥ ¢ëá®âë ¡ãä¥à 
1730
		jge .copy_end ;¥á«¨ ª®®à¤¨­ â  'y' ¡®«ìè¥ ¢ëá®âë ¡ãä¥à 
Line 2082... Line 2114...
2082
	dd sz_buf2d_clear, buf_clear
2114
	dd sz_buf2d_clear, buf_clear
2083
	dd sz_buf2d_draw, buf_draw_buf
2115
	dd sz_buf2d_draw, buf_draw_buf
2084
	dd sz_buf2d_delete, buf_delete
2116
	dd sz_buf2d_delete, buf_delete
2085
	dd sz_buf2d_line, buf_line_brs
2117
	dd sz_buf2d_line, buf_line_brs
2086
	dd sz_buf2d_rect_by_size, buf_rect_by_size
2118
	dd sz_buf2d_rect_by_size, buf_rect_by_size
-
 
2119
	dd sz_buf2d_filled_rect_by_size, buf_filled_rect_by_size
2087
	dd sz_buf2d_circle, buf_circle
2120
	dd sz_buf2d_circle, buf_circle
2088
	dd sz_buf2d_img_hdiv2, buf_img_hdiv2
2121
	dd sz_buf2d_img_hdiv2, buf_img_hdiv2
2089
	dd sz_buf2d_img_wdiv2, buf_img_wdiv2
2122
	dd sz_buf2d_img_wdiv2, buf_img_wdiv2
2090
	dd sz_buf2d_conv_24_to_8, buf_conv_24_to_8
2123
	dd sz_buf2d_conv_24_to_8, buf_conv_24_to_8
2091
	dd sz_buf2d_conv_24_to_32, buf_conv_24_to_32
2124
	dd sz_buf2d_conv_24_to_32, buf_conv_24_to_32
Line 2103... Line 2136...
2103
	sz_buf2d_create_f_img db 'buf2d_create_f_img',0
2136
	sz_buf2d_create_f_img db 'buf2d_create_f_img',0
2104
	sz_buf2d_clear db 'buf2d_clear',0 ;®ç¨á⪠ ¡ãä¥à  㪠§ ­­ë¬ 梥⮬
2137
	sz_buf2d_clear db 'buf2d_clear',0 ;®ç¨á⪠ ¡ãä¥à  㪠§ ­­ë¬ 梥⮬
2105
	sz_buf2d_draw db 'buf2d_draw',0
2138
	sz_buf2d_draw db 'buf2d_draw',0
2106
	sz_buf2d_delete db 'buf2d_delete',0
2139
	sz_buf2d_delete db 'buf2d_delete',0
2107
	sz_buf2d_line db 'buf2d_line',0 ;à¨á®¢ ­¨¥ «¨­¨¨
2140
	sz_buf2d_line db 'buf2d_line',0 ;à¨á®¢ ­¨¥ «¨­¨¨
2108
	sz_buf2d_rect_by_size db 'buf2d_rect_by_size',0 ;à¨á®¢ ­¨¥ ¯àאַ㣮«ì­¨ª , 2-ï ª®®à¤¨­ â  § ¤ ­  ¯® à §¬¥àã
2141
	sz_buf2d_rect_by_size db 'buf2d_rect_by_size',0 ;à¨á®¢ ­¨¥ à ¬ª¨ ¯àאַ㣮«ì­¨ª , 2-ï ª®®à¤¨­ â  § ¤ ­  ¯® à §¬¥àã
-
 
2142
	sz_buf2d_filled_rect_by_size db 'buf2d_filled_rect_by_size',0 ;à¨á®¢ ­¨¥ § «¨â®£® ¯àאַ㣮«ì­¨ª , 2-ï ª®®à¤¨­ â  § ¤ ­  ¯® à §¬¥àã
2109
	sz_buf2d_circle db 'buf2d_circle',0 ;à¨á®¢ ­¨¥ ®ªà㦭®áâ¨
2143
	sz_buf2d_circle db 'buf2d_circle',0 ;à¨á®¢ ­¨¥ ®ªà㦭®áâ¨
2110
	sz_buf2d_img_hdiv2 db 'buf2d_img_hdiv2',0 ;ᦠ⨥ ¨§®¡à ¦¥­¨ï ¯® ¢ëá®â¥ ¢ 2 à §  (à §¬¥à ¡ãä¥à  ­¥ ¬¥­ï¥âáï)
2144
	sz_buf2d_img_hdiv2 db 'buf2d_img_hdiv2',0 ;ᦠ⨥ ¨§®¡à ¦¥­¨ï ¯® ¢ëá®â¥ ¢ 2 à §  (à §¬¥à ¡ãä¥à  ­¥ ¬¥­ï¥âáï)
2111
	sz_buf2d_img_wdiv2 db 'buf2d_img_wdiv2',0 ;ᦠ⨥ ¨§®¡à ¦¥­¨ï ¯® è¨à¨­¥ ¢ 2 à §  (à §¬¥à ¡ãä¥à  ­¥ ¬¥­ï¥âáï)
2145
	sz_buf2d_img_wdiv2 db 'buf2d_img_wdiv2',0 ;ᦠ⨥ ¨§®¡à ¦¥­¨ï ¯® è¨à¨­¥ ¢ 2 à §  (à §¬¥à ¡ãä¥à  ­¥ ¬¥­ï¥âáï)
2112
	sz_buf2d_conv_24_to_8 db 'buf2d_conv_24_to_8',0
2146
	sz_buf2d_conv_24_to_8 db 'buf2d_conv_24_to_8',0
2113
	sz_buf2d_conv_24_to_32 db 'buf2d_conv_24_to_32',0 
2147
	sz_buf2d_conv_24_to_32 db 'buf2d_conv_24_to_32',0