Subversion Repositories Kolibri OS

Rev

Rev 255 | Go to most recent revision | Details | Compare with Previous | 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:
6342 IgorA 23
	movsw
24
	movsb
255 heavyiron 25
	dec ecx
26
	jnz next_pixel_sprite_save
27
 
28
	add esi,edx
29
	dec ebx
30
	jnz next_line_sprite_save
31
 
32
	ret
33
;-----------------------------------------------------------
34
;-------------------PutFonForSprite-------------------------
35
;-----------------------------------------------------------
36
PutFonForSprite:
37
 
38
	mov esi,[PointerToSpriteBufer]
39
	mov ecx,[SpriteSizeX]
40
	mov edx,[Picture_SizeX]
41
	sub edx,[SpriteSizeX]
42
	mov edi,[SpriteOldCoordinatY]
43
	imul edi,[Picture_SizeX]
44
	add edi,[SpriteOldCoordinatX]
45
	lea edx,[edx+edx*2]
46
	lea edi,[edi+edi*2]
47
	add edi,[PointerToPicture]
48
	mov ebx,[SpriteSizeY]
49
	mov [counter],ecx
50
 
51
	next_line_sprite_put:
52
	mov ecx,[counter]
53
 
54
	next_pixel_sprite_put:
6342 IgorA 55
	movsw
56
	movsb
255 heavyiron 57
	dec ecx
58
	jnz next_pixel_sprite_put
59
 
60
	add edi,edx
61
	dec ebx
62
	jnz next_line_sprite_put
63
 
64
	ret
65
;-----------------------------------------------------------
66
;------------------DrawFonForSprite-------------------------
67
;-----------------------------------------------------------
68
DrawSprite:
69
 
70
	mov esi,[PointerToEditBufer]
71
	mov ecx,[SpriteSizeX]
72
	mov edx,[Picture_SizeX]
73
	sub edx,[SpriteSizeX]
74
	mov edi,[SpriteCoordinatY]
75
	imul edi,[Picture_SizeX]
76
	add edi,[SpriteCoordinatX]
77
	lea edx,[edx+edx*2]
78
	lea edi,[edi+edi*2]
79
	add edi,[PointerToPicture]
80
	mov ebx,[SpriteSizeY]
81
	mov [counter],ecx
82
 
83
	next_line_sprite_draw:
84
	mov ecx,[counter]
85
 
86
	next_pixel_sprite_draw:
6342 IgorA 87
	movsw
88
	movsb
255 heavyiron 89
	dec ecx
90
	jnz next_pixel_sprite_draw
91
 
92
	add edi,edx
93
	dec ebx
94
	jnz next_line_sprite_draw
95
 
96
	ret