Subversion Repositories Kolibri OS

Rev

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