Rev 3535 | Rev 3537 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 3535 | Rev 3536 | ||
---|---|---|---|
Line 69... | Line 69... | ||
69 | format binary as "mnt" |
69 | format binary as "mnt" |
Line 70... | Line 70... | ||
70 | 70 | ||
71 | include 'macros.inc' |
71 | include 'macros.inc' |
Line 72... | Line 72... | ||
72 | include 'struct.inc' |
72 | include 'struct.inc' |
Line 73... | Line 73... | ||
73 | 73 | ||
Line 74... | Line 74... | ||
74 | $Revision: 3535 $ |
74 | $Revision: 3536 $ |
Line 2837... | Line 2837... | ||
2837 | align 4 |
2837 | align 4 |
2838 | nosb7: |
2838 | nosb7: |
2839 | cmp ebx, 8 |
2839 | cmp ebx, 8 |
2840 | jnz nosb8 |
2840 | jnz nosb8 |
Line 2841... | Line 2841... | ||
2841 | 2841 | ||
- | 2842 | mov ecx, [current_slot] |
|
- | 2843 | xor eax, eax |
|
2842 | mov eax, [BG_Rect_X_left_right] |
2844 | xchg eax, [ecx+APPDATA.draw_bgr_x] |
- | 2845 | mov [esp + 32], eax ; eax = [left]*65536 + [right] |
|
2843 | mov [esp + 32], eax ; eax = [left]*65536 + [right] |
2846 | xor eax, eax |
2844 | mov eax, [BG_Rect_Y_top_bottom] |
2847 | xchg eax, [ecx+APPDATA.draw_bgr_y] |
2845 | mov [esp + 20], eax ; ebx = [top]*65536 + [bottom] |
2848 | mov [esp + 20], eax ; ebx = [top]*65536 + [bottom] |
2846 | ret |
2849 | ret |
2847 | ;------------------------------------------------------------------------------ |
2850 | ;------------------------------------------------------------------------------ |
2848 | align 4 |
2851 | align 4 |
Line 3491... | Line 3494... | ||
3491 | 3494 | ||
3492 | cmp [background_defined], 0 |
3495 | cmp [background_defined], 0 |
3493 | jz nobackgr |
3496 | jz nobackgr |
3494 | ;-------------------------------------- |
3497 | ;-------------------------------------- |
3495 | align 4 |
3498 | align 4 |
3496 | @@: |
- | |
3497 | push eax |
3499 | backgr: |
3498 | mov eax, [draw_data+32 + RECT.left] |
3500 | mov eax, [draw_data+32 + RECT.left] |
3499 | shl eax, 16 |
3501 | shl eax, 16 |
3500 | add eax, [draw_data+32 + RECT.right] |
3502 | add eax, [draw_data+32 + RECT.right] |
Line 3501... | Line 3503... | ||
3501 | mov [BG_Rect_X_left_right], eax ; [left]*65536 + [right] |
3503 | mov [BG_Rect_X_left_right], eax ; [left]*65536 + [right] |
3502 | 3504 | ||
3503 | mov eax, [draw_data+32 + RECT.top] |
3505 | mov eax, [draw_data+32 + RECT.top] |
3504 | shl eax, 16 |
3506 | shl eax, 16 |
3505 | add eax, [draw_data+32 + RECT.bottom] |
- | |
Line 3506... | Line 3507... | ||
3506 | mov [BG_Rect_Y_top_bottom], eax ; [top]*65536 + [bottom] |
3507 | add eax, [draw_data+32 + RECT.bottom] |
3507 | pop eax |
3508 | mov [BG_Rect_Y_top_bottom], eax ; [top]*65536 + [bottom] |
3508 | 3509 | ||
3509 | call drawbackground |
3510 | call drawbackground |
Line 3516... | Line 3517... | ||
3516 | mov ecx, [TASK_COUNT] |
3517 | mov ecx, [TASK_COUNT] |
3517 | ;-------------------------------------- |
3518 | ;-------------------------------------- |
3518 | align 4 |
3519 | align 4 |
3519 | set_bgr_event: |
3520 | set_bgr_event: |
3520 | add edi, 256 |
3521 | add edi, 256 |
- | 3522 | mov eax, [BG_Rect_X_left_right] |
|
- | 3523 | mov edx, [BG_Rect_Y_top_bottom] |
|
- | 3524 | cmp [edi+SLOT_BASE+APPDATA.draw_bgr_x], 0 |
|
- | 3525 | jz .set |
|
- | 3526 | .join: |
|
- | 3527 | cmp word [edi+SLOT_BASE+APPDATA.draw_bgr_x+2], ax |
|
- | 3528 | jbe @f |
|
- | 3529 | mov word [edi+SLOT_BASE+APPDATA.draw_bgr_x+2], ax |
|
- | 3530 | @@: |
|
- | 3531 | shr eax, 16 |
|
- | 3532 | cmp word [edi+SLOT_BASE+APPDATA.draw_bgr_x], ax |
|
- | 3533 | jae @f |
|
- | 3534 | mov word [edi+SLOT_BASE+APPDATA.draw_bgr_x], ax |
|
- | 3535 | @@: |
|
- | 3536 | cmp word [edi+SLOT_BASE+APPDATA.draw_bgr_y+2], dx |
|
- | 3537 | jbe @f |
|
- | 3538 | mov word [edi+SLOT_BASE+APPDATA.draw_bgr_y+2], dx |
|
- | 3539 | @@: |
|
- | 3540 | shr edx, 16 |
|
- | 3541 | cmp word [edi+SLOT_BASE+APPDATA.draw_bgr_y], dx |
|
- | 3542 | jae @f |
|
- | 3543 | mov word [edi+SLOT_BASE+APPDATA.draw_bgr_y], dx |
|
- | 3544 | @@: |
|
- | 3545 | jmp .common |
|
- | 3546 | .set: |
|
- | 3547 | mov [edi+SLOT_BASE+APPDATA.draw_bgr_x], eax |
|
- | 3548 | mov [edi+SLOT_BASE+APPDATA.draw_bgr_y], edx |
|
- | 3549 | .common: |
|
3521 | or [edi+SLOT_BASE+APPDATA.event_mask], 10000b ; set event 5 |
3550 | or [edi+SLOT_BASE+APPDATA.event_mask], 10000b ; set event 5 |
3522 | loop set_bgr_event |
3551 | loop set_bgr_event |
3523 | pop edi ecx |
3552 | pop edi ecx |
3524 | ; call change_task - because the application must have time to call f.15.8 |
- | |
3525 | call change_task |
- | |
3526 | ;--------- set event 5 stop ----------- |
3553 | ;--------- set event 5 stop ----------- |
3527 | dec byte[REDRAW_BACKGROUND] ; got new update request? |
3554 | dec byte[REDRAW_BACKGROUND] ; got new update request? |
3528 | jnz @b |
3555 | jnz backgr |
Line -... | Line 3556... | ||
- | 3556 | ||
3529 | 3557 | xor eax, eax |
|
3530 | mov [draw_data+32 + RECT.left], eax |
3558 | mov [draw_data+32 + RECT.left], eax |
3531 | mov [draw_data+32 + RECT.top], eax |
3559 | mov [draw_data+32 + RECT.top], eax |
3532 | mov [draw_data+32 + RECT.right], eax |
3560 | mov [draw_data+32 + RECT.right], eax |
3533 | mov [draw_data+32 + RECT.bottom], eax |
3561 | mov [draw_data+32 + RECT.bottom], eax |