322,7 → 322,7 |
shr esi,16 |
add esi,20 |
cmp esi,[procinfo.client_box.width] |
jge @f ;êíîïêà íå âëåçëà â ýêðàí |
jge @f ;êíîïêà íå âëåçëà â îêíî |
mov esi,[sc.work_button] |
int 0x40 ;ñòàâèì êíîïêó |
mov eax,7 ;bmp |
330,12 → 330,12 |
pop esi edx ecx |
|
cmp eax,7 |
jne @f ;êíîïêà íå âëåçëà â ýêðàí |
mov ebx,ecx |
ror ebx,16 |
cmp bx,0x4000 |
jne @f |
jne @f ;êíîïêà íå âëåçëà â îêíî |
mov ebx,[bmp_icon] |
bt ecx,30 ;if (ecx or 0x40000000) |
jc .gray |
add ebx,TOOLBAR_ICONS_SIZE ;ïåðåìåùàåìñÿ íà ñåðûå êíîïêè |
.gray: |
push ecx |
and ecx,0xffff |
imul ecx,1200 |
349,3 → 349,30 |
pop ebx eax |
ret |
|
;descrition: |
; ôóíêöèÿ äëÿ ãåíåðèðîâàíèÿ ñåðûõ èêîíîê |
;input: |
; buf_rgb - áóôåð ñ âõîäíûì 24 áèòíûì öâåòíûì èçîáðàæåíèåì |
; buf_g24 - áóôåð ñ âûõîäíûì 24 áèòíûì ñåðûì èçîáðàæåíèåì |
; pixels - ÷èñëî ïèêñåëåé â èçîáðàæåíèè |
align 4 |
proc img_to_gray uses eax ebx ecx edi esi, buf_rgb:dword, buf_g24:dword, pixels:dword |
mov esi,[buf_rgb] |
mov edi,[buf_g24] |
mov ecx,[pixels] |
@@: |
movzx eax,byte[esi] |
movzx ebx,byte[esi+1] |
add eax,ebx |
movzx ebx,byte[esi+2] |
add eax,ebx |
shr eax,2 |
mov ah,al |
mov word[edi],ax |
mov byte[edi+2],al |
add esi,3 |
add edi,3 |
loop @b |
ret |
endp |
|