Subversion Repositories Kolibri OS

Rev

Rev 255 | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 255 Rev 1643
Line 1... Line 1...
1
;-----------------------------------------------------------
1
;-----------------------------------------------------------
2
;-------analizing picture to palette------------------------
2
;-------analizing picture to palette------------------------
3
;-----------------------------------------------------------
3
;-----------------------------------------------------------
4
analizing_picture_to_palette:
4
analizing_picture_to_palette:
5
 
-
 
6
	 mov eax,[Picture_SizeX]
5
	mov	eax,[Picture_SizeX]
7
	 mov ebx,[Picture_SizeY]
6
	mov	ebx,[Picture_SizeY]
8
	 imul eax,ebx
7
	imul	eax,ebx
9
	 mov ecx,eax
8
	mov	ecx,eax
10
	 mov edx,[PointerToPicture]
9
	mov	edx,[PointerToPicture]
Line 17... Line 16...
17
	 mov [ebp],eax
16
	mov	[ebp],eax
Line 18... Line 17...
18
 
17
 
19
	 analizing_to_palette:
18
analizing_to_palette:
20
	 mov eax,[edx]
19
	mov	eax,[edx]
21
	 and eax,0xffffff
-
 
22
 
20
	and	eax,0xffffff
23
	 mov edi,esi
21
	mov	edi,esi
-
 
22
	mov	ebp,[PointerToPalette]
24
	 mov ebp,[PointerToPalette]
23
 
25
	 next_color_in_palette:
24
next_color_in_palette:
26
	 mov ebx,[ebp]
25
	mov	ebx,[ebp]
27
	 and ebx,0xffffff
26
	and	ebx,0xffffff
28
	 cmp ebx,eax	     ;this is color have in palette
27
	cmp	ebx,eax	    ;this is color have in palette
-
 
28
	je	exit_loop_palette
29
	 je exit_loop_palette
29
 
30
	 add ebp,4
30
	add	ebp,4
31
	 dec edi
31
	dec	edi
Line 32... Line 32...
32
	 jnz next_color_in_palette
32
	jnz	next_color_in_palette
33
 
33
 
34
	 inc esi
34
	inc	esi
-
 
35
	cmp	esi,256 ;256 colors
35
	 cmp esi,256 ;256 colors
36
	ja	more_than_256_colors
36
	 ja more_than_256_colors
37
 
37
	 mov ebp,[PointerToPalette]
38
	mov	ebp,[PointerToPalette]
38
	 mov ebx,esi
39
	mov	ebx,esi
39
	 dec ebx
40
	dec	ebx
40
	 shl ebx,2
41
	shl	ebx,2
41
	 add ebp,ebx
42
	add	ebp,ebx
42
	 mov [ebp],ax
43
	mov	[ebp],ax
Line 43... Line 44...
43
	 shr eax,16
44
	shr	eax,16
44
	 mov [ebp+2],al
-
 
45
 
45
	mov	[ebp+2],al
46
	 exit_loop_palette:
46
 
47
 
47
exit_loop_palette:
Line 48... Line -...
48
	 add edx,3
-
 
49
	 dec ecx
48
	add	edx,3
50
	 jnz analizing_to_palette
49
	dec	ecx
51
 
-
 
52
 
50
	jnz	analizing_to_palette
53
	 more_than_256_colors:
51