libimg: to_rgb2() proc; version bump
git-svn-id: svn://kolibrios.org@1001 a494cfbc-eb01-0410-851d-a64ba20cac60
This commit is contained in:
@@ -137,6 +137,27 @@ proc img.from_rgb _rgb_data ;///////////////////////////////////////////////////
|
||||
ret
|
||||
endp
|
||||
|
||||
;;================================================================================================;;
|
||||
proc img.to_rgb2 _img, _out ;/////////////////////////////////////////////////////////////////////;;
|
||||
;;------------------------------------------------------------------------------------------------;;
|
||||
;? --- TBD --- ;;
|
||||
;;------------------------------------------------------------------------------------------------;;
|
||||
;> --- TBD --- ;;
|
||||
;;------------------------------------------------------------------------------------------------;;
|
||||
;< --- TBD --- ;;
|
||||
;;================================================================================================;;
|
||||
push esi edi
|
||||
mov esi, [_img]
|
||||
stdcall img._.validate, esi
|
||||
or eax, eax
|
||||
jnz .ret
|
||||
mov edi, [_out]
|
||||
call img._.do_rgb
|
||||
.ret:
|
||||
pop edi esi
|
||||
ret
|
||||
endp
|
||||
|
||||
;;================================================================================================;;
|
||||
proc img.to_rgb _img ;////////////////////////////////////////////////////////////////////////////;;
|
||||
;;------------------------------------------------------------------------------------------------;;
|
||||
@@ -147,7 +168,8 @@ proc img.to_rgb _img ;//////////////////////////////////////////////////////////
|
||||
;< eax = 0 / pointer to rgb_data (array of [rgb] triplets) ;;
|
||||
;;================================================================================================;;
|
||||
push esi edi
|
||||
stdcall img._.validate, [_img]
|
||||
mov esi, [_img]
|
||||
stdcall img._.validate, esi
|
||||
or eax, eax
|
||||
jnz .error
|
||||
|
||||
@@ -165,13 +187,33 @@ proc img.to_rgb _img ;//////////////////////////////////////////////////////////
|
||||
stosd
|
||||
mov eax, [esi + Image.Height]
|
||||
stosd
|
||||
call img._.do_rgb
|
||||
pop eax
|
||||
pop edi esi
|
||||
ret
|
||||
|
||||
.error:
|
||||
xor eax, eax
|
||||
pop edi esi
|
||||
ret
|
||||
endp
|
||||
|
||||
;;================================================================================================;;
|
||||
proc img._.do_rgb ;///////////////////////////////////////////////////////////////////////////////;;
|
||||
;;------------------------------------------------------------------------------------------------;;
|
||||
;? --- TBD --- ;;
|
||||
;;------------------------------------------------------------------------------------------------;;
|
||||
;> --- TBD --- ;;
|
||||
;;------------------------------------------------------------------------------------------------;;
|
||||
;< --- TBD --- ;;
|
||||
;;================================================================================================;;
|
||||
mov ecx, [esi + Image.Width]
|
||||
imul ecx, [esi + Image.Height]
|
||||
mov eax, [esi + Image.Type]
|
||||
dec eax
|
||||
jz .bpp8
|
||||
dec eax
|
||||
jz .bpp24
|
||||
dec eax
|
||||
jnz .error_pop
|
||||
; 32 BPP -> 24 BPP
|
||||
mov esi, [esi + Image.Data]
|
||||
|
||||
@@ -181,8 +223,7 @@ proc img.to_rgb _img ;//////////////////////////////////////////////////////////
|
||||
dec edi
|
||||
jmp @b
|
||||
|
||||
@@: pop eax
|
||||
pop edi esi
|
||||
@@:
|
||||
ret
|
||||
|
||||
.bpp24:
|
||||
@@ -191,8 +232,6 @@ proc img.to_rgb _img ;//////////////////////////////////////////////////////////
|
||||
mov esi, [esi + Image.Data]
|
||||
shr ecx, 2
|
||||
rep movsd
|
||||
pop eax
|
||||
pop edi esi
|
||||
ret
|
||||
|
||||
.bpp8:
|
||||
@@ -209,16 +248,6 @@ proc img.to_rgb _img ;//////////////////////////////////////////////////////////
|
||||
sub ecx, 1
|
||||
jnz @b
|
||||
pop ebx
|
||||
pop eax
|
||||
pop edi esi
|
||||
ret
|
||||
|
||||
.error_pop:
|
||||
pop eax
|
||||
|
||||
.error:
|
||||
xor eax, eax
|
||||
pop edi esi
|
||||
ret
|
||||
endp
|
||||
|
||||
@@ -1124,13 +1153,14 @@ align 4
|
||||
|
||||
export \
|
||||
lib_init , 'lib_init' , \
|
||||
0x00010001 , 'version' , \
|
||||
0x00010002 , 'version' , \
|
||||
img.is_img , 'img.is_img' , \
|
||||
img.info , 'img.info' , \
|
||||
img.from_file , 'img.from_file' , \
|
||||
img.to_file , 'img.to_file' , \
|
||||
img.from_rgb , 'img.from_rgb' , \
|
||||
img.to_rgb , 'img.to_rgb' , \
|
||||
img.to_rgb2 , 'img.to_rgb2' , \
|
||||
img.decode , 'img.decode' , \
|
||||
img.encode , 'img.encode' , \
|
||||
img.create , 'img.create' , \
|
||||
|
Reference in New Issue
Block a user