Subversion Repositories Kolibri OS

Rev

Rev 2125 | Rev 4228 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 2125 Rev 4128
Line 320... Line 320...
320
		mov bx,19 ;=20-1
320
		mov bx,19 ;=20-1
321
		mov esi,ebx
321
		mov esi,ebx
322
		shr esi,16
322
		shr esi,16
323
		add esi,20
323
		add esi,20
324
		cmp esi,[procinfo.client_box.width]
324
		cmp esi,[procinfo.client_box.width]
325
		jge @f ;êíîïêà íå âëåçëà â ýêðàí
325
		jge @f ;êíîïêà íå âëåçëà â îêíî
326
			mov esi,[sc.work_button]
326
			mov esi,[sc.work_button]
327
			int 0x40 ;ñòàâèì êíîïêó
327
			int 0x40 ;ñòàâèì êíîïêó
328
			mov eax,7 ;bmp
328
			mov eax,7 ;bmp
329
		@@:
329
		@@:
330
	pop esi edx ecx
330
	pop esi edx ecx
Line 331... Line 331...
331
 
331
 
332
	cmp eax,7
332
	cmp eax,7
333
	jne @f ;êíîïêà íå âëåçëà â ýêðàí
-
 
334
	mov ebx,ecx
-
 
335
	ror ebx,16
-
 
336
	cmp bx,0x4000
-
 
337
	jne @f
333
	jne @f ;êíîïêà íå âëåçëà â îêíî
-
 
334
		mov ebx,[bmp_icon]
-
 
335
		bt ecx,30 ;if (ecx or 0x40000000)
-
 
336
		jc .gray
-
 
337
			add ebx,TOOLBAR_ICONS_SIZE ;ïåðåìåùàåìñÿ íà ñåðûå êíîïêè
338
		mov ebx,[bmp_icon]
338
		.gray:
339
		push ecx
339
		push ecx
340
		and ecx,0xffff
340
		and ecx,0xffff
341
		imul ecx,1200
341
		imul ecx,1200
342
		add ebx,ecx
342
		add ebx,ecx
Line 347... Line 347...
347
		pop ecx
347
		pop ecx
348
	@@:
348
	@@:
349
	pop ebx eax
349
	pop ebx eax
350
	ret
350
	ret
Line -... Line 351...
-
 
351
 
-
 
352
;descrition:
-
 
353
; ôóíêöèÿ äëÿ ãåíåðèðîâàíèÿ ñåðûõ èêîíîê
-
 
354
;input:
-
 
355
; buf_rgb - áóôåð ñ âõîäíûì 24 áèòíûì öâåòíûì èçîáðàæåíèåì
-
 
356
; buf_g24 - áóôåð ñ âûõîäíûì 24 áèòíûì ñåðûì èçîáðàæåíèåì
-
 
357
; pixels - ÷èñëî ïèêñåëåé â èçîáðàæåíèè
-
 
358
align 4
-
 
359
proc img_to_gray uses eax ebx ecx edi esi, buf_rgb:dword, buf_g24:dword, pixels:dword
-
 
360
	mov esi,[buf_rgb]
-
 
361
	mov edi,[buf_g24]
-
 
362
	mov ecx,[pixels]
-
 
363
	@@:
-
 
364
		movzx eax,byte[esi]
-
 
365
		movzx ebx,byte[esi+1]
-
 
366
		add eax,ebx
-
 
367
		movzx ebx,byte[esi+2]
-
 
368
		add eax,ebx
-
 
369
		shr eax,2
-
 
370
		mov ah,al
-
 
371
		mov word[edi],ax
-
 
372
		mov byte[edi+2],al
-
 
373
		add esi,3
-
 
374
		add edi,3
-
 
375
		loop @b
-
 
376
	ret
-
 
377
endp