Subversion Repositories Kolibri OS

Rev

Rev 255 | Show entire file | Ignore 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]
-
 
7
	 mov ebx,[Picture_SizeY]
-
 
8
	 imul eax,ebx
-
 
9
	 mov ecx,eax
-
 
10
	 mov edx,[PointerToPicture]
-
 
11
	 mov esi,1 ;counter colors in palette
-
 
12
 
-
 
13
	 ;put firs color of picture how one color in palette
-
 
14
	 mov ebp,[PointerToPalette]
-
 
15
	 mov eax,[edx]
-
 
16
	 and eax,0xffffff
-
 
17
	 mov [ebp],eax
-
 
18
 
-
 
19
	 analizing_to_palette:
-
 
20
	 mov eax,[edx]
-
 
21
	 and eax,0xffffff
-
 
22
 
-
 
23
	 mov edi,esi
-
 
24
	 mov ebp,[PointerToPalette]
-
 
25
	 next_color_in_palette:
-
 
26
	 mov ebx,[ebp]
-
 
27
	 and ebx,0xffffff
-
 
28
	 cmp ebx,eax	     ;this is color have in palette
-
 
29
	 je exit_loop_palette
-
 
30
	 add ebp,4
-
 
31
	 dec edi
-
 
32
	 jnz next_color_in_palette
-
 
33
 
-
 
34
	 inc esi
-
 
35
	 cmp esi,256 ;256 colors
-
 
36
	 ja more_than_256_colors
-
 
37
	 mov ebp,[PointerToPalette]
-
 
38
	 mov ebx,esi
-
 
39
	 dec ebx
-
 
40
	 shl ebx,2
-
 
41
	 add ebp,ebx
-
 
42
	 mov [ebp],ax
-
 
43
	 shr eax,16
-
 
44
	 mov [ebp+2],al
-
 
45
 
-
 
46
	 exit_loop_palette:
-
 
47
 
-
 
48
	 add edx,3
-
 
49
	 dec ecx
-
 
50
	 jnz analizing_to_palette
-
 
51
 
-
 
52
 
-
 
53
	 more_than_256_colors:
-
 
54
	 mov eax,esi
-
 
55
 
-
 
56
	 ret
-
 
57
5
	mov	eax,[Picture_SizeX]
-
 
6
	mov	ebx,[Picture_SizeY]
-
 
7
	imul	eax,ebx
-
 
8
	mov	ecx,eax
-
 
9
	mov	edx,[PointerToPicture]
-
 
10
	mov	esi,1 ;counter colors in palette
-
 
11
 
-
 
12
;put firs color of picture how one color in palette
-
 
13
	mov	ebp,[PointerToPalette]
-
 
14
	mov	eax,[edx]
-
 
15
	and	eax,0xffffff
-
 
16
	mov	[ebp],eax
-
 
17
 
-
 
18
analizing_to_palette:
-
 
19
	mov	eax,[edx]
-
 
20
	and	eax,0xffffff
-
 
21
	mov	edi,esi
-
 
22
	mov	ebp,[PointerToPalette]
-
 
23
 
-
 
24
next_color_in_palette:
-
 
25
	mov	ebx,[ebp]
-
 
26
	and	ebx,0xffffff
-
 
27
	cmp	ebx,eax	    ;this is color have in palette
-
 
28
	je	exit_loop_palette
-
 
29
 
-
 
30
	add	ebp,4
-
 
31
	dec	edi
-
 
32
	jnz	next_color_in_palette
-
 
33
 
-
 
34
	inc	esi
-
 
35
	cmp	esi,256 ;256 colors
-
 
36
	ja	more_than_256_colors
-
 
37
 
-
 
38
	mov	ebp,[PointerToPalette]
-
 
39
	mov	ebx,esi
-
 
40
	dec	ebx
-
 
41
	shl	ebx,2
-
 
42
	add	ebp,ebx
-
 
43
	mov	[ebp],ax
-
 
44
	shr	eax,16
-
 
45
	mov	[ebp+2],al
-
 
46
 
-
 
47
exit_loop_palette:
-
 
48
	add	edx,3
-
 
49
	dec	ecx
-
 
50
	jnz	analizing_to_palette
-
 
51
 
-
 
52
more_than_256_colors:
-
 
53
	mov	eax,esi
-
 
54
	ret
-
 
55
58
56