Subversion Repositories Kolibri OS

Rev

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

Rev 2975 Rev 3040
Line 1984... Line 1984...
1984
	@@:
1984
	@@:
1985
	.end_fun:
1985
	.end_fun:
1986
	ret
1986
	ret
1987
endp
1987
endp
Line -... Line 1988...
-
 
1988
 
-
 
1989
;®âà §¨âì ¯® ¢¥à⨪ «¨ (¢¥àå ¨ ­¨§ ¬¥­ïîâáï ¬¥áâ ¬¨)
-
 
1990
align 4
-
 
1991
proc buf_flip_v, buf_struc:dword
-
 
1992
locals
-
 
1993
    line_pix dd ? ;ª®«. ¯¨ªá¥«¥© ¢ «¨­¨¨ ¡ãä¥à 
-
 
1994
    line_2byte dd ? ;ª®«. ¡ ©â ¢ «¨­¨¨ ¡ãä¥à  * 2
-
 
1995
endl
-
 
1996
	pushad
-
 
1997
	mov edi,[buf_struc]
-
 
1998
    cmp buf2d_bits,24
-
 
1999
    jne .end_24
-
 
2000
        mov edx,buf2d_w
-
 
2001
        mov [line_pix],edx
-
 
2002
        mov ebx,buf2d_h
-
 
2003
        lea edx,[edx+edx*2]
-
 
2004
        mov esi,edx
-
 
2005
        imul esi,ebx
-
 
2006
        sub esi,edx
-
 
2007
        add esi,buf2d_data ;㪠§ â¥«ì ­  ­¨¦­îî «¨­¨î
-
 
2008
        shr ebx,1 ;ª®«. «¨­¥©­ëå 横«®¢
-
 
2009
        shl edx,1
-
 
2010
        mov [line_2byte],edx
-
 
2011
        mov edi,buf2d_data
-
 
2012
        xchg edi,esi
-
 
2013
        cld
-
 
2014
        .flip_24:
-
 
2015
        cmp ebx,0
-
 
2016
        jle .end_24
-
 
2017
        mov ecx,[line_pix]
-
 
2018
        @@:
-
 
2019
            lodsw
-
 
2020
            mov dx,word[edi]
-
 
2021
            mov word[esi-2],dx
-
 
2022
            mov [edi],ax
-
 
2023
            lodsb
-
 
2024
            mov ah,byte[edi+2]
-
 
2025
            mov byte[esi-1],ah
-
 
2026
            mov [edi+2],al
-
 
2027
            add edi,3
-
 
2028
            loop @b
-
 
2029
        sub edi,[line_2byte]
-
 
2030
        dec ebx
-
 
2031
        jmp .flip_24
-
 
2032
    .end_24:
-
 
2033
    popad
-
 
2034
    ret
-
 
2035
endp
1988
 
2036
 
1989
align 4
2037
align 4
1990
proc buf_img_wdiv2, buf_struc:dword
2038
proc buf_img_wdiv2, buf_struc:dword
1991
	pushad
2039
	pushad
1992
	mov edi,dword[buf_struc]
2040
	mov edi,dword[buf_struc]
Line 2132... Line 2180...
2132
		add ebx,8
2180
		add ebx,8
2133
		loop @b
2181
		loop @b
2134
	ret
2182
	ret
2135
endp
2183
endp
Line -... Line 2184...
-
 
2184
 
-
 
2185
;description:
2136
 
2186
; ᦠ⨥ ¨§®¡à ¦¥­¨ï ¯® ¢ëá®â¥ (¢ëá®â  ¡ãä¥à  ­¥ ¬¥­ï¥âáï)
2137
align 4
2187
align 4
2138
proc buf_img_hdiv2, buf_struc:dword
2188
proc buf_img_hdiv2, buf_struc:dword
2139
	pushad
2189
	pushad
2140
	mov edi,dword[buf_struc]
2190
	mov edi,dword[buf_struc]
2141
	cmp buf2d_bits,8
2191
	cmp buf2d_bits,8
2142
	jne @f
2192
	jne @f
2143
		mov eax,buf2d_w
2193
		mov eax,buf2d_w
2144
		mov ecx,buf2d_h
2194
		mov ecx,buf2d_h
2145
		imul ecx,eax
2195
		imul ecx,eax
-
 
2196
		stdcall img_8b_hdiv2, buf2d_data,ecx,eax
2146
		stdcall img_8b_hdiv2, buf2d_data,ecx,eax
2197
		jmp .end_f ;edi ¯®àâ¨âáï ¢ ä㭪樨, ¯®â®¬ã ¨á¯®«ì§®¢ ­¨¥ buf2d_bits ®¯ á­®
2147
	@@:
2198
	@@:
2148
	cmp buf2d_bits,24
2199
	cmp buf2d_bits,24
2149
	jne @f
2200
	jne @f
2150
		mov eax,buf2d_w
2201
		mov eax,buf2d_w
2151
		mov ecx,buf2d_h
2202
		mov ecx,buf2d_h
2152
		imul ecx,eax
2203
		imul ecx,eax
-
 
2204
		stdcall img_rgb24_hdiv2, buf2d_data,ecx,eax
2153
		stdcall img_rgb24_hdiv2, buf2d_data,ecx,eax
2205
		jmp .end_f
2154
	@@:
2206
	@@:
2155
	cmp buf2d_bits,32
2207
	cmp buf2d_bits,32
2156
	jne @f
2208
	jne @f
2157
		mov eax,buf2d_w
2209
		mov eax,buf2d_w
2158
		mov ecx,buf2d_h
2210
		mov ecx,buf2d_h
2159
		imul ecx,eax
2211
		imul ecx,eax
2160
		shl eax,2
2212
		shl eax,2
-
 
2213
		stdcall img_rgba32_hdiv2, buf2d_data,ecx,eax
2161
		stdcall img_rgba32_hdiv2, buf2d_data,ecx,eax
2214
		;jmp .end_f
-
 
2215
	@@:
2162
	@@:
2216
	.end_f:
2163
	popad
2217
	popad
2164
	ret
2218
	ret
Line 2165... Line 2219...
2165
endp
2219
endp
Line 4759... Line 4813...
4759
	dd sz_buf2d_crop_color, buf_crop_color
4813
	dd sz_buf2d_crop_color, buf_crop_color
4760
	dd sz_buf2d_offset_h, buf_offset_h
4814
	dd sz_buf2d_offset_h, buf_offset_h
4761
	dd sz_buf2d_flood_fill, buf_flood_fill
4815
	dd sz_buf2d_flood_fill, buf_flood_fill
4762
	dd sz_buf2d_set_pixel, buf_set_pixel
4816
	dd sz_buf2d_set_pixel, buf_set_pixel
4763
	dd sz_buf2d_get_pixel, buf_get_pixel
4817
	dd sz_buf2d_get_pixel, buf_get_pixel
-
 
4818
	dd sz_buf2d_flip_v, buf_flip_v
4764
	dd sz_buf2d_vox_brush_create, vox_brush_create
4819
	dd sz_buf2d_vox_brush_create, vox_brush_create
4765
	dd sz_buf2d_vox_brush_delete, vox_brush_delete
4820
	dd sz_buf2d_vox_brush_delete, vox_brush_delete
4766
	dd sz_buf2d_vox_obj_get_img_w_3g, buf_vox_obj_get_img_w_3g
4821
	dd sz_buf2d_vox_obj_get_img_w_3g, buf_vox_obj_get_img_w_3g
4767
	dd sz_buf2d_vox_obj_get_img_h_3g, buf_vox_obj_get_img_h_3g
4822
	dd sz_buf2d_vox_obj_get_img_h_3g, buf_vox_obj_get_img_h_3g
4768
	dd sz_buf2d_vox_obj_draw_1g, buf_vox_obj_draw_1g
4823
	dd sz_buf2d_vox_obj_draw_1g, buf_vox_obj_draw_1g
Line 4798... Line 4853...
4798
	sz_buf2d_crop_color db 'buf2d_crop_color',0
4853
	sz_buf2d_crop_color db 'buf2d_crop_color',0
4799
	sz_buf2d_offset_h db 'buf2d_offset_h',0
4854
	sz_buf2d_offset_h db 'buf2d_offset_h',0
4800
	sz_buf2d_flood_fill db 'buf2d_flood_fill',0
4855
	sz_buf2d_flood_fill db 'buf2d_flood_fill',0
4801
	sz_buf2d_set_pixel db 'buf2d_set_pixel',0
4856
	sz_buf2d_set_pixel db 'buf2d_set_pixel',0
4802
	sz_buf2d_get_pixel db 'buf2d_get_pixel',0
4857
	sz_buf2d_get_pixel db 'buf2d_get_pixel',0
-
 
4858
	sz_buf2d_flip_v db 'buf2d_flip_v',0
4803
	sz_buf2d_vox_brush_create db 'buf2d_vox_brush_create',0
4859
	sz_buf2d_vox_brush_create db 'buf2d_vox_brush_create',0
4804
	sz_buf2d_vox_brush_delete db 'buf2d_vox_brush_delete',0
4860
	sz_buf2d_vox_brush_delete db 'buf2d_vox_brush_delete',0
4805
	sz_buf2d_vox_obj_get_img_w_3g db 'buf2d_vox_obj_get_img_w_3g',0
4861
	sz_buf2d_vox_obj_get_img_w_3g db 'buf2d_vox_obj_get_img_w_3g',0
4806
	sz_buf2d_vox_obj_get_img_h_3g db 'buf2d_vox_obj_get_img_h_3g',0
4862
	sz_buf2d_vox_obj_get_img_h_3g db 'buf2d_vox_obj_get_img_h_3g',0
4807
	sz_buf2d_vox_obj_draw_1g db 'buf2d_vox_obj_draw_1g',0
4863
	sz_buf2d_vox_obj_draw_1g db 'buf2d_vox_obj_draw_1g',0