Subversion Repositories Kolibri OS

Rev

Rev 181 | Rev 303 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 181 Rev 186
Line 703... Line 703...
703
 
703
 
Line 704... Line 704...
704
 
704
 
-
 
705
drawwindow_I:
Line 705... Line 706...
705
drawwindow_I:
706
 
706
 
707
        pushad
707
        pushad
708
        or      [edx+WDATA.fl_wdrawn], 4
708
 
709
 
Line 715... Line 716...
715
        shl   ebx,16
716
        shl   ebx,16
716
        add   ebx,[edx+WDATA.box.top]
717
        add   ebx,[edx+WDATA.box.top]
717
        add   ebx,[edx+WDATA.box.height]
718
        add   ebx,[edx+WDATA.box.height]
718
        call  draw_rectangle
719
        call  draw_rectangle
Line -... Line 720...
-
 
720
 
-
 
721
        and     [edx+WDATA.fl_wdrawn], not 4
-
 
722
        test    [edx+WDATA.fl_wdrawn], 2
-
 
723
        jz      @f
-
 
724
        call    drawwindowframes2
-
 
725
@@:
719
 
726
 
Line 720... Line 727...
720
        call    drawwindow_I_caption
727
        call    drawwindow_I_caption
721
 
728
 
722
        mov   edx,[esi+WDATA.box.top]      ; inside work area
729
        mov   edx,[esi+WDATA.box.top]      ; inside work area
Line 844... Line 851...
844
    add   bx, word [edi+WDATA.box.height]
851
    add   bx, word [edi+WDATA.box.height]
845
        mov   esi,[edi+WDATA.cl_frames]
852
        mov   esi,[edi+WDATA.cl_frames]
846
        shr   esi,1
853
        shr   esi,1
847
        and   esi,0x007f7f7f
854
        and   esi,0x007f7f7f
848
        push  esi
855
        push  esi
-
 
856
        or      [edi+WDATA.fl_wdrawn], 4
849
        call  draw_rectangle
857
        call  draw_rectangle
-
 
858
        and     [edi+WDATA.fl_wdrawn], not 4
-
 
859
        test    [edi+WDATA.fl_wdrawn], 2
-
 
860
        jz      @f
-
 
861
        call    drawwindowframes2
-
 
862
@@:
850
        mov   ecx,3
863
        mov   ecx,3
851
      dw3l:
864
      dw3l:
852
        add   eax,1*65536-1
865
        add   eax,1*65536-1
853
        add   ebx,1*65536-1
866
        add   ebx,1*65536-1
854
        mov   esi,[edi+WDATA.cl_frames]
867
        mov   esi,[edi+WDATA.cl_frames]
Line 1643... Line 1656...
1643
  mpy     dd 0x0
1656
  mpy     dd 0x0
1644
endg
1657
endg
Line 1645... Line 1658...
1645
 
1658
 
-
 
1659
 
1646
 
1660
; draw negative window frames
1647
; draw negative window frames
1661
drawwindowframes2:
1648
uglobal
1662
        pushad
1649
moving_wnd dd ?
-
 
1650
moving_wnd_redrawed db ?
-
 
1651
endg
1663
        cli
1652
 
1664
        jmp     drawwindowframes.do
-
 
1665
drawwindowframes:
Line 1653... Line 1666...
1653
drawwindowframes:
1666
        pushad
1654
        mov     [moving_wnd], edi
1667
        cli
-
 
1668
 
1655
 
1669
        test    [edi+WDATA.fl_wstate],WSTATE_MAXIMIZED
1656
        test    [edi+WDATA.fl_wstate],WSTATE_MAXIMIZED
1670
        jnz     .ret
1657
        jnz     .ret
1671
        mov     eax, [npx]
-
 
1672
        cmp     eax, [edi+WDATA.box.left]
1658
        cmp     [edi+WDATA.fl_redraw], 0
1673
        jnz     .nowndframe
1659
        jz      @f
1674
        mov     eax, [npxe]
1660
        xor     [moving_wnd_redrawed], 1
1675
        cmp     eax, [edi+WDATA.box.width]
1661
        jmp     .ret
1676
        jnz     .nowndframe
1662
@@:
1677
        mov     eax, [npy]
1663
        cmp     [moving_wnd_redrawed], 0
1678
        cmp     eax, [edi+WDATA.box.top]
1664
        jz      @f
1679
        jnz     .nowndframe
1665
        mov     [moving_wnd_redrawed], 0
-
 
1666
.ret:
-
 
-
 
1680
        mov     eax, [npye]
-
 
1681
        cmp     eax, [edi+WDATA.box.height]
1667
        ret
1682
        jnz     .nowndframe
Line -... Line 1683...
-
 
1683
        xor     [edi+WDATA.fl_wdrawn], 2
-
 
1684
        test    [edi+WDATA.fl_wdrawn], 4
-
 
1685
        jnz     .ret
-
 
1686
 
1668
@@:
1687
.nowndframe:
1669
 
1688
.do:
1670
        pushad
1689
        mov     edi, 1
1671
 
1690
        mov     ecx, 0x01000000
1672
        mov   eax,[npx]
1691
        mov   eax,[npx]
1673
        shl   eax,16
1692
        shl   eax,16
1674
        add   eax,[npx]
1693
        add   eax,[npx]
1675
        add   eax,[npxe]
1694
        add   eax,[npxe]
1676
        add   eax,65536*1-1
-
 
1677
        mov   ebx,[npy]
-
 
1678
        shl   ebx,16
-
 
1679
        add   ebx,[npy]
1695
        add   eax,65536*1-1
1680
        mov   ecx,0x01000000
-
 
Line 1681... Line 1696...
1681
        push  edi
1696
        mov   ebx,[npy]
1682
        mov   edi,1
1697
        shl   ebx,16
1683
        call  [draw_line]
1698
        add   ebx,[npy]
1684
        pop   edi
1699
        call  [draw_line]
Line 1691... Line 1706...
1691
        mov   ebx,[npy]
1706
        mov   ebx,[npy]
1692
        add   ebx,[npye]
1707
        add   ebx,[npye]
1693
        shl   ebx,16
1708
        shl   ebx,16
1694
        add   ebx,[npy]
1709
        add   ebx,[npy]
1695
        add   ebx,[npye]
1710
        add   ebx,[npye]
1696
        mov   ecx,0x01000000
-
 
1697
        push  edi
-
 
1698
        mov   edi,1
-
 
1699
        call  [draw_line]
1711
        call  [draw_line]
1700
        pop   edi
-
 
Line 1701... Line 1712...
1701
 
1712
 
1702
        mov   eax,[npx]
1713
        mov   eax,[npx]
1703
        shl   eax,16
1714
        shl   eax,16
1704
        add   eax,[npx]
1715
        add   eax,[npx]
1705
        mov   ebx,[npy]
1716
        mov   ebx,[npy]
1706
        shl   ebx,16
1717
        shl   ebx,16
1707
        add   ebx,[npy]
1718
        add   ebx,[npy]
1708
        add   ebx,[npye]
-
 
1709
        mov   ecx,0x01000000
-
 
1710
        push  edi
-
 
1711
        mov   edi,1
1719
        add   ebx,[npye]
1712
        call  [draw_line]
-
 
Line 1713... Line 1720...
1713
        pop   edi
1720
        call  [draw_line]
1714
 
1721
 
1715
        mov   eax,[npx]
1722
        mov   eax,[npx]
1716
        add   eax,[npxe]
1723
        add   eax,[npxe]
1717
        shl   eax,16
1724
        shl   eax,16
1718
        add   eax,[npx]
1725
        add   eax,[npx]
1719
        add   eax,[npxe]
1726
        add   eax,[npxe]
1720
        mov   ebx,[npy]
1727
        mov   ebx,[npy]
1721
        shl   ebx,16
1728
        shl   ebx,16
1722
        add   ebx,[npy]
-
 
1723
        add   ebx,[npye]
-
 
1724
        mov   ecx,0x01000000
-
 
1725
        push  edi
1729
        add   ebx,[npy]
1726
        mov   edi,1
-
 
1727
        call  [draw_line]
-
 
1728
        mov   edi,[0x3000]
-
 
1729
        shl   edi,5
-
 
1730
        add   edi,window_data
-
 
Line -... Line 1730...
-
 
1730
        add   ebx,[npye]
-
 
1731
        call  [draw_line]
1731
        mov   [edi+WDATA.fl_wdrawn],byte 1
1732
 
1732
        pop   edi
1733
.ret: