Subversion Repositories Kolibri OS

Rev

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

Rev 6175 Rev 6210
Line 25... Line 25...
25
	.end_draw_24:
25
	.end_draw_24:
26
	popad
26
	popad
27
	ret
27
	ret
28
endp
28
endp
Line -... Line 29...
-
 
29
 
-
 
30
align 4
-
 
31
txt_err_size_w16 db 'image width < 16 pixels',13,10,0
29
 
32
 
30
;input:
33
;input:
31
; ebx = coord x
34
; ebx = coord x
32
; ecx = coord y
35
; ecx = coord y
33
; edx = pixel color
36
; edx = pixel color
Line 946... Line 949...
946
		c3 dw ?
949
		c3 dw ?
947
	endl
950
	endl
948
	pushad
951
	pushad
949
	mov edi,dword[buf_struc]
952
	mov edi,dword[buf_struc]
950
	cmp buf2d_bits,8
953
	cmp buf2d_bits,8
951
	jne .error
954
	jne .error0
952
		mov ecx,buf2d_h
955
		mov ecx,buf2d_h
953
		mov ebx,ecx
956
		mov ebx,ecx
954
		shr ebx,4 ;¯à¥¤¯®« £ ¥¬ çâ® ¢ ¡ãä¥à¥ 16 áâப á ᨬ¢®« ¬¨, ¯®â®¬ã ¤¥«¨¬ ­  2^4
957
		shr ebx,4 ;¯à¥¤¯®« £ ¥¬ çâ® ¢ ¡ãä¥à¥ 16 áâப á ᨬ¢®« ¬¨, ¯®â®¬ã ¤¥«¨¬ ­  2^4
-
 
958
		or ebx,ebx
-
 
959
		jz .error1
955
		mov edx,buf2d_w
960
		mov edx,buf2d_w
956
		imul ecx,edx ;ecx = size  8 b
961
		imul ecx,edx ;ecx = size  8 b
957
		invoke mem.alloc,ecx ;¢ë¤¥«ï¥¬ ¢à¥¬¥­­ãî ¯ ¬ïâì
962
		invoke mem.alloc,ecx ;¢ë¤¥«ï¥¬ ¢à¥¬¥­­ãî ¯ ¬ïâì
958
		mov [tmp_mem],eax ;eax - new memory
963
		mov [tmp_mem],eax ;eax - new memory
Line 1004... Line 1009...
1004
		mov ecx,ebx
1009
		mov ecx,ebx
1005
		shl ecx,8
1010
		shl ecx,8
1006
		rep movsb
1011
		rep movsb
1007
		invoke mem.free,[tmp_mem] ;ç¨á⨬ ¢à¥¬¥­­ãî ¯ ¬ïâì
1012
		invoke mem.free,[tmp_mem] ;ç¨á⨬ ¢à¥¬¥­­ãî ¯ ¬ïâì
1008
		jmp .end_conv
1013
		jmp .end_conv
1009
	.error:
1014
	.error0:
1010
		stdcall print_err,sz_buf2d_convert_text_matrix,txt_err_n8b
1015
		stdcall print_err,sz_buf2d_convert_text_matrix,txt_err_n8b
-
 
1016
		jmp .end_conv
-
 
1017
	.error1:
-
 
1018
		stdcall print_err,sz_buf2d_convert_text_matrix,txt_err_size_w16
1011
	.end_conv:
1019
	.end_conv:
1012
	popad
1020
	popad
1013
	ret
1021
	ret
1014
endp
1022
endp