Subversion Repositories Kolibri OS

Rev

Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
6120 IgorA 1
;include '../../../../../KOSfuncs.inc'
2
 
3
;x,y - êîîðäèíàòû âûâîäà FPS íà îêíî
4
;âîçâðàùàåò âðåìß â ñîòûõ äîëßõ ñåêóíäû çàòðà÷èâàåìîå íà 1 öèêë
5
 
6
time1 dd 0 ;int
7
time2 dd 0 ;int
8
fps1 dd 0 ;int
9
timerend dd 0 ;int
10
 
11
;ôóíêöèß îïðåäåëåíèß FPS
12
proc Fps uses ebx ecx edx esi, x:dword, y:dword
13
locals
14
	tr dd ?
15
endl
16
 
17
	;îïðåäåëßåì âðåìß ïðîøåäøåå ñ ìîìåíòà çàïóñêà ñèñòåìû
18
	mcall SF_SYSTEM_GET,SSF_TIME_COUNT
19
	mov [time1],eax
20
 
21
	cmp dword[timerend],0
22
	jne @f
23
		mov eax,[time1]
24
		mov [time2],eax
25
		mov [timerend],eax
26
	@@:
27
 
28
	mov eax,[time1]
29
	sub eax,[timerend]
30
	mov [tr],eax
31
 
32
	mov eax,[time1]
33
	sub eax,[time2]
34
	cmp eax,100 ;åñëè ïðîøëî ìåíåå 1 ñåêóíäû
35
	jge .else
36
		inc dword[fps1] ;óâåëè÷èâàåì ñ÷åò÷èê fps
37
		jmp @f
38
	.else:
39
		;âûâîäèì ÷èñëî fps
40
		mov ebx,[x]
41
		shl ebx,16
42
		add ebx,23
43
		mov ecx,[y]
44
		shl ecx,16
45
		add ecx,7
46
		mcall SF_DRAW_RECT,,,0x00555555
47
		mov edx,[x]
48
		shl edx,16
49
		add edx,[y]
50
		mcall SF_DRAW_NUMBER,4 shl 16,[fps1],,0xfafafa
51
		mov dword[fps1],0
52
		mov eax,[time1]
53
		mov [time2],eax
54
	@@:
55
 
56
	mov eax,[time1]
57
	mov [timerend],eax
58
	mov eax,[tr]
59
	ret
60
endp