Subversion Repositories Kolibri OS

Rev

Rev 6342 | Go to most recent revision | Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
255 heavyiron 1
;-----------------------------------------------------------
2
;------------------SaveFonForSprite-------------------------
3
;-----------------------------------------------------------
4
SaveFonForSprite:
5
 
6
	mov edi,[PointerToSpriteBufer]
7
	mov ecx,[SpriteSizeX]
8
	mov edx,[Picture_SizeX]
9
	sub edx,[SpriteSizeX]
10
	mov esi,[SpriteCoordinatY]
11
	imul esi,[Picture_SizeX]
12
	add esi,[SpriteCoordinatX]
13
	lea edx,[edx+edx*2]
14
	lea esi,[esi+esi*2]
15
	add esi,[PointerToPicture]
16
	mov ebx,[SpriteSizeY]
17
	mov [counter],ecx
18
 
19
	next_line_sprite_save:
20
	mov ecx,[counter]
21
 
22
	next_pixel_sprite_save:
23
	mov eax,[esi]
24
	and eax,0xffffff
25
	mov [edi],ax
26
	shr eax,16
27
	mov [edi+2],al
28
	add esi,3
29
	add edi,3
30
	dec ecx
31
	jnz next_pixel_sprite_save
32
 
33
	add esi,edx
34
	dec ebx
35
	jnz next_line_sprite_save
36
 
37
	ret
38
;-----------------------------------------------------------
39
;-------------------PutFonForSprite-------------------------
40
;-----------------------------------------------------------
41
PutFonForSprite:
42
 
43
	mov esi,[PointerToSpriteBufer]
44
	mov ecx,[SpriteSizeX]
45
	mov edx,[Picture_SizeX]
46
	sub edx,[SpriteSizeX]
47
	mov edi,[SpriteOldCoordinatY]
48
	imul edi,[Picture_SizeX]
49
	add edi,[SpriteOldCoordinatX]
50
	lea edx,[edx+edx*2]
51
	lea edi,[edi+edi*2]
52
	add edi,[PointerToPicture]
53
	mov ebx,[SpriteSizeY]
54
	mov [counter],ecx
55
 
56
	next_line_sprite_put:
57
	mov ecx,[counter]
58
 
59
	next_pixel_sprite_put:
60
	mov eax,[esi]
61
	and eax,0xffffff
62
	mov [edi],ax
63
	shr eax,16
64
	mov [edi+2],al
65
	add esi,3
66
	add edi,3
67
	dec ecx
68
	jnz next_pixel_sprite_put
69
 
70
	add edi,edx
71
	dec ebx
72
	jnz next_line_sprite_put
73
 
74
	ret
75
;-----------------------------------------------------------
76
;------------------DrawFonForSprite-------------------------
77
;-----------------------------------------------------------
78
DrawSprite:
79
 
80
	mov esi,[PointerToEditBufer]
81
	mov ecx,[SpriteSizeX]
82
	mov edx,[Picture_SizeX]
83
	sub edx,[SpriteSizeX]
84
	mov edi,[SpriteCoordinatY]
85
	imul edi,[Picture_SizeX]
86
	add edi,[SpriteCoordinatX]
87
	lea edx,[edx+edx*2]
88
	lea edi,[edi+edi*2]
89
	add edi,[PointerToPicture]
90
	mov ebx,[SpriteSizeY]
91
	mov [counter],ecx
92
 
93
	next_line_sprite_draw:
94
	mov ecx,[counter]
95
 
96
	next_pixel_sprite_draw:
97
	mov eax,[esi]
98
	and eax,0xffffff
99
	mov [edi],ax
100
	shr eax,16
101
	mov [edi+2],al
102
	add esi,3
103
	add edi,3
104
	dec ecx
105
	jnz next_pixel_sprite_draw
106
 
107
	add edi,edx
108
	dec ebx
109
	jnz next_line_sprite_draw
110
 
111
	ret