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 |