Subversion Repositories Kolibri OS

Rev

Rev 2037 | Rev 6357 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | Download | RSS feed

  1. ;----------------------------------------------------------
  2. ;-------------draw window of program-----------------------
  3. ;----------------------------------------------------------
  4. drawwin:
  5.         or      ecx,-1
  6.         mcall   9,procinfo
  7.         mov     esi,procinfo
  8.  
  9.         mov     eax,[esi+34]
  10.         mov     ebx,[esi+38]
  11.         mov     ecx,[esi+42]
  12.         mov     edx,[esi+46]
  13.         mov     [Window_CordinatX],eax
  14.         mov     [Window_CordinatY],ebx
  15.         mov     [Window_SizeX],ecx
  16.         mov     [Window_SizeY],edx
  17.  
  18.         cmp     [Window_SizeX],585
  19.         jae     no_minimum_size_x
  20.  
  21.         mov     [Window_SizeX],585
  22.         mov     ecx,[Window_SizeX]
  23.  
  24. no_minimum_size_x:
  25.         cmp     [Window_SizeY],400
  26.         jae     no_minimum_size_y
  27.  
  28.         mov     [Window_SizeY],400
  29.         mov     edx,[Window_SizeY]
  30.  
  31. no_minimum_size_y:
  32.         mov     [MaxWorkScreen_SizeX],ecx
  33.         mov     [MaxWorkScreen_SizeY],edx
  34.         sub     [MaxWorkScreen_SizeX],20+10+5+10
  35.         sub     [MaxWorkScreen_SizeY],20+10+15+1+49+20+10
  36.  
  37.         cmp     [MaxWorkScreen_SizeX],0
  38.         jns     no_znak1
  39.  
  40.         mov     [MaxWorkScreen_SizeX],ecx
  41.  
  42. no_znak1:
  43.         cmp     [MaxWorkScreen_SizeY],0
  44.         jns     no_znak2
  45.  
  46.         mov     [MaxWorkScreen_SizeY],edx
  47.  
  48. no_znak2:
  49.  
  50.         mcall   12,1
  51. ;------------------------------------------------
  52.         mov     ebx,50 ;[Window_CordinatX]
  53.         mov     ecx,50 ;[Window_CordinatY]
  54.         shl     ebx,16
  55.         shl     ecx,16
  56.         add     ebx,[Window_SizeX]
  57.         add     ecx,[Window_SizeY]
  58.         ;xor    esi,esi ;0x805080d0
  59. ;       xor     edi,edi ;0x005080d0
  60.         mcall   0,,,0x53aabbcc,,name_of_program
  61.        
  62.         mov     eax,[procinfo+70] ;staus of window
  63.         test    eax,100b
  64.         jne     .end
  65.        
  66. ;------------------------------------------------
  67.         mov     eax,5
  68.         mov     ebx,20
  69.         mov     ecx,[Window_SizeX]
  70.         mov     edx,15
  71.         mov     esi,6
  72.         sub     ecx,10
  73.         call    draw_volume_rectangle ; top menu - file and etc.
  74.  
  75.         mov     [counter],7
  76.         mov     edi,panel_text
  77.         call    print_panel_text
  78. ;------------------------------------------------
  79.         mov     eax,5
  80.         mov     ebx,20+15+1
  81.         mov     ecx,[Window_SizeX]
  82.         mov     edx,50
  83.         mov     esi,1
  84.         sub     ecx,10
  85.         call    draw_volume_rectangle ; tools panel
  86.         call    draw_icons
  87.         call    PrintMousePos
  88. ;------------------------------------------------
  89.         mov     ecx,[k]
  90.         and     [PosX],0
  91.         and     [PosY],0
  92.         call    MovePictureToWorkScreen
  93. ;------------------------------------------------
  94.         mov     ebx,[WorkScreen_SizeX]
  95.         add     ebx,5+3
  96.         mov     edx,[Window_SizeX]
  97.         sub     edx,ebx
  98.         sub     edx,25+10-3
  99.         shl     ebx,16
  100.         mov     bx,dx
  101.        
  102.         mov     ecx,20+15+1+49+2
  103.         mov     edx,[Window_SizeY]
  104.         mov     eax,[WorkScreen_SizeY]
  105.         shr     eax,16
  106.         sub     edx,eax
  107.         sub     edx,20+15+1+49+2+25+10
  108.         shl     ecx,16
  109.         mov     cx,dx
  110.  
  111.         mcall   13,,,0xc7cbcf
  112. ;------------------------------------------------
  113.         mcall   ,<5,3>
  114. ;------------------------------------------------
  115.         mov     ebx,5
  116.         mov     edx,[Window_SizeX]
  117.         mov     eax,[WorkScreen_SizeX]
  118.         shr     eax,16
  119.         sub     edx,eax
  120.         sub     edx,25+10
  121.         shl     ebx,16
  122.         mov     bx,dx
  123.  
  124.         mov     ecx,[WorkScreen_SizeY]
  125.         add     ecx,20+15+1+49+2+3
  126.         mov     edx,[Window_SizeY]
  127.         sub     edx,ecx
  128.         sub     edx,25+10-3
  129.         shl     ecx,16
  130.         mov     cx,dx
  131.  
  132.         mcall   13,,,0xc7cbcf
  133. ;------------------------------------------------
  134.         mcall   ,,<20+15+1+49+2,3>
  135. ;------------------------------------------------
  136. ;       draw_volume_rectangle
  137. ;       eax - start X
  138. ;       ebx - start Y
  139. ;       ecx - size X
  140. ;       edx - size Y
  141.  
  142.         mov     eax,5
  143.         mov     ebx,[Window_SizeY]
  144.         mov     ecx,[Window_SizeX]
  145.         mov     edx,20+10
  146.         mov     esi,3
  147.         sub     ecx,30
  148.         sub     ebx,25+10
  149.         call    draw_volume_rectangle   ; horizontal scrollbar
  150. ;------------------------------------------------
  151.         mov     eax,[Window_SizeX]
  152.         mov     ebx,20+15+1+49+2
  153.         mov     ecx,20+10
  154.         mov     edx,[Window_SizeY]
  155.         mov     esi,3
  156.         sub     eax,25+10
  157.         sub     edx,20+15+1+49+5+20
  158.         call    draw_volume_rectangle   ; vertical scrollbar
  159.         call    draw_scrollers
  160. ;------------------------------------------------
  161.         mov     eax,[Window_SizeX]
  162.         mov     ebx,[Window_SizeY]
  163.         mov     ecx,20+10
  164.         mov     edx,20+10
  165.         mov     esi,6
  166.         sub     eax,25+10
  167.         sub     ebx,25+10
  168.         call    draw_volume_rectangle   ; down and right small area
  169. ;------------------------------------------------
  170. .end:
  171.         mcall   12,2
  172.         ret
  173. ;-----------------------------------------------------------------------------