Rev 142 | Rev 163 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 142 | Rev 150 | ||
---|---|---|---|
Line 514... | Line 514... | ||
514 | ret |
514 | ret |
Line 515... | Line 515... | ||
515 | 515 | ||
516 | 516 | ||
517 | repos_windows: |
517 | repos_windows: |
518 | mov ecx,[0x3004] |
518 | mov ecx,[0x3004] |
519 | mov esi,0x20*2 |
519 | mov edi,0x20*2 |
520 | mov byte[0x0000fff0],1 |
520 | mov byte[0x0000fff0],1 |
521 | dec ecx |
521 | dec ecx |
522 | jge @f |
522 | jge @f |
523 | ret |
523 | ret |
524 | @@: mov [esi+WDATA.fl_redraw],1 |
524 | @@: mov [edi+WDATA.fl_redraw],1 |
525 | test [esi+WDATA.fl_wstate],WSTATE_MAXIMIZED |
525 | test [edi+WDATA.fl_wstate],WSTATE_MAXIMIZED |
526 | jz .lp2 |
526 | jz .lp2 |
527 | mov eax,[screen_workarea.left] |
527 | mov eax,[screen_workarea.left] |
528 | mov [esi+WDATA.box.left],eax |
528 | mov [edi+WDATA.box.left],eax |
529 | sub eax,[screen_workarea.right] |
529 | sub eax,[screen_workarea.right] |
530 | neg eax |
530 | neg eax |
531 | mov [esi+WDATA.box.width],eax |
531 | mov [edi+WDATA.box.width],eax |
532 | mov eax,[screen_workarea.top] |
532 | mov eax,[screen_workarea.top] |
533 | mov [esi+WDATA.box.top],eax |
533 | mov [edi+WDATA.box.top],eax |
534 | test [esi+WDATA.fl_wstate],WSTATE_ROLLEDUP |
534 | test [edi+WDATA.fl_wstate],WSTATE_ROLLEDUP |
535 | jnz .lp1 |
535 | jnz .lp1 |
536 | sub eax,[screen_workarea.bottom] |
536 | sub eax,[screen_workarea.bottom] |
- | 537 | neg eax |
|
- | 538 | mov [edi+WDATA.box.height],eax |
|
537 | neg eax |
539 | .lp1: |
538 | mov [esi+WDATA.box.height],eax |
540 | call set_window_clientbox |
539 | .lp1: add esi,0x20 |
541 | add edi,0x20 |
540 | loop @b |
542 | loop @b |
541 | ret |
543 | ret |
542 | .lp2: mov eax,[esi+WDATA.box.left] |
544 | .lp2: mov eax,[edi+WDATA.box.left] |
543 | add eax,[esi+WDATA.box.width] |
545 | add eax,[edi+WDATA.box.width] |
544 | mov ebx,[0x0000fe00] |
546 | mov ebx,[0x0000fe00] |
545 | ; inc ebx |
547 | ; inc ebx |
546 | cmp eax,ebx |
548 | cmp eax,ebx |
547 | jle .lp4 |
549 | jle .lp4 |
548 | mov eax,[esi+WDATA.box.width] |
550 | mov eax,[edi+WDATA.box.width] |
549 | sub eax,ebx |
551 | sub eax,ebx |
550 | jle .lp3 |
552 | jle .lp3 |
551 | mov [esi+WDATA.box.width],ebx |
553 | mov [edi+WDATA.box.width],ebx |
552 | .lp3: sub ebx,[esi+WDATA.box.width] |
554 | .lp3: sub ebx,[edi+WDATA.box.width] |
553 | mov [esi+WDATA.box.left],ebx |
555 | mov [esi+WDATA.box.left],ebx |
554 | .lp4: mov eax,[esi+WDATA.box.top] |
556 | .lp4: mov eax,[edi+WDATA.box.top] |
555 | add eax,[esi+WDATA.box.height] |
557 | add eax,[edi+WDATA.box.height] |
556 | mov ebx,[0x0000fe04] |
558 | mov ebx,[0x0000fe04] |
557 | ; inc ebx |
559 | ; inc ebx |
558 | cmp eax,ebx |
560 | cmp eax,ebx |
559 | jle .lp6 |
561 | jle .lp6 |
560 | mov eax,[esi+WDATA.box.height] |
562 | mov eax,[edi+WDATA.box.height] |
561 | sub eax,ebx |
563 | sub eax,ebx |
562 | jle .lp5 |
564 | jle .lp5 |
563 | mov [esi+WDATA.box.height],ebx |
565 | mov [edi+WDATA.box.height],ebx |
564 | .lp5: sub ebx,[esi+WDATA.box.height] |
566 | .lp5: sub ebx,[edi+WDATA.box.height] |
565 | mov [esi+WDATA.box.top],ebx |
- | |
566 | .lp6: add esi,0x20 |
- | |
Line 567... | Line 567... | ||
567 | loop @b |
567 | mov [edi+WDATA.box.top],ebx |
568 | ret |
568 | .lp6: jmp .lp1 |
569 | 569 | ||
570 | uglobal |
570 | uglobal |
Line 1461... | Line 1461... | ||
1461 | mov [edi + WDATA.box.top],eax |
1461 | mov [edi + WDATA.box.top],eax |
1462 | mov eax,[npxe] |
1462 | mov eax,[npxe] |
1463 | mov [edi + WDATA.box.width],eax |
1463 | mov [edi + WDATA.box.width],eax |
1464 | mov eax,[npye] |
1464 | mov eax,[npye] |
1465 | mov [edi + WDATA.box.height],eax |
1465 | mov [edi + WDATA.box.height],eax |
- | 1466 | call set_window_clientbox |
|
Line 1466... | Line 1467... | ||
1466 | 1467 | ||
Line 1467... | Line 1468... | ||
1467 | @@: mov [reposition],cl |
1468 | @@: mov [reposition],cl |
1468 | 1469 | ||
Line 1509... | Line 1510... | ||
1509 | test [edi+WDATA.fl_wstate],WSTATE_MAXIMIZED |
1510 | test [edi+WDATA.fl_wstate],WSTATE_MAXIMIZED |
1510 | jz @f |
1511 | jz @f |
1511 | mov eax,[screen_workarea.bottom] |
1512 | mov eax,[screen_workarea.bottom] |
1512 | sub eax,[screen_workarea.top] |
1513 | sub eax,[screen_workarea.top] |
1513 | @@: mov [edi+WDATA.box.height],eax |
1514 | @@: mov [edi+WDATA.box.height],eax |
- | 1515 | call set_window_clientbox |
|
Line 1514... | Line 1516... | ||
1514 | 1516 | ||
Line 1515... | Line 1517... | ||
1515 | no_window_shade: |
1517 | no_window_shade: |
1516 | 1518 | ||
Line 1533... | Line 1535... | ||
1533 | jnz @f |
1535 | jnz @f |
1534 | sub eax,[screen_workarea.bottom] |
1536 | sub eax,[screen_workarea.bottom] |
1535 | neg eax |
1537 | neg eax |
1536 | mov [edi+WDATA.box.height],eax |
1538 | mov [edi+WDATA.box.height],eax |
1537 | @@: |
1539 | @@: |
1538 | jmp no_fullscreen_restore |
1540 | jmp restore_from_fullscreen.clientbox |
1539 | restore_from_fullscreen: |
1541 | restore_from_fullscreen: |
1540 | and [edi+WDATA.fl_wstate],not WSTATE_MAXIMIZED |
1542 | and [edi+WDATA.fl_wstate],not WSTATE_MAXIMIZED |
1541 | push [edi+WDATA.box.height] |
1543 | push [edi+WDATA.box.height] |
1542 | push edi ; restore |
1544 | push edi ; restore |
1543 | lea esi, [edx + APPDATA.saved_box] |
1545 | lea esi, [edx + APPDATA.saved_box] |
Line 1548... | Line 1550... | ||
1548 | pop eax |
1550 | pop eax |
1549 | test [edi+WDATA.fl_wstate],WSTATE_ROLLEDUP |
1551 | test [edi+WDATA.fl_wstate],WSTATE_ROLLEDUP |
1550 | jz @f |
1552 | jz @f |
1551 | mov [edi+WDATA.box.height],eax |
1553 | mov [edi+WDATA.box.height],eax |
1552 | @@: |
1554 | @@: |
- | 1555 | .clientbox: |
|
- | 1556 | call set_window_clientbox |
|
Line 1553... | Line 1557... | ||
1553 | 1557 | ||
Line 1554... | Line 1558... | ||
1554 | no_fullscreen_restore: |
1558 | no_fullscreen_restore: |
1555 | 1559 | ||
Line 1565... | Line 1569... | ||
1565 | sub eax,[edi+WDATA.box.width] |
1569 | sub eax,[edi+WDATA.box.width] |
1566 | mov [edi+WDATA.box.left],eax |
1570 | mov [edi+WDATA.box.left],eax |
1567 | mov eax,[0xfe04] |
1571 | mov eax,[0xfe04] |
1568 | sub eax,[edi+WDATA.box.height] |
1572 | sub eax,[edi+WDATA.box.height] |
1569 | mov [edi+WDATA.box.top],eax |
1573 | mov [edi+WDATA.box.top],eax |
- | 1574 | call set_window_clientbox |
|
1570 | no_window_sizing: |
1575 | no_window_sizing: |
Line 1571... | Line 1576... | ||
1571 | 1576 | ||
Line 1572... | Line 1577... | ||
1572 | popad |
1577 | popad |