Subversion Repositories Kolibri OS

Rev

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

  1. ;---------------------------------------------------------------------
  2. progress_bar_delete:
  3.     pusha
  4.     cmp  [max_progress_value],0
  5.     je   .end
  6.     call calculate_progress_data_4
  7.     sub  ecx,30
  8.     call calculate_progress_data_5
  9.     mov   cx,60
  10.     call calculate_progress_data_3
  11.     add  ecx,35 shl 16
  12.     mov  cx,15
  13.     mov  si,bx
  14.     mov  edx,0xff0000
  15.     call calculate_progress_data_6
  16.     shr  ecx,16
  17.     mov  bx,cx
  18.     sub  ebx,13
  19.     call  clear_text_area_1
  20.     mcall 4, ,0x90ffffff,file_name
  21.     cmp  [draw_all_progressbar],0
  22.     je   .end
  23.     sub  ebx,13
  24.     mov  edx,delete_type
  25.     int  0x40
  26. .end:
  27.     popa
  28.     mov  [draw_all_progressbar],0
  29.     ret
  30. ;---------------------------------------------------------------------
  31. progress_bar_copy:
  32.     pusha
  33.     call calculate_progress_data_4
  34.     sub  ecx,43
  35.     call calculate_progress_data_5
  36.     mov   cx,86
  37.     call calculate_progress_data_3
  38.     add  ecx,30 shl 16
  39.     mov  cx,15
  40.     mov  si,bx
  41.     pusha
  42.     mov  edx,0xff00
  43.     call calculate_progress_data_6
  44.     popa
  45.     mov  ebp,[current_progress_value_1]
  46.     call calculate_progress_data_1
  47.     add  ecx,30 shl 16
  48.     mov  bx,[temp_progress_value]
  49.     cmp  [move_file_flag],1
  50.     je  @f
  51.     mov  edx,0xff7700
  52.     jmp  .continue_1
  53. @@:
  54.     mov  edx,0xff0000
  55. .continue_1:
  56.     int  0x40
  57.     call calculate_progress_data_2
  58.     shr  ecx,16
  59.     mov  bx,cx
  60.     sub  ebx,11
  61.     call  clear_text_area_1
  62.     mcall 4, ,0x80ffffff,start_parameter
  63.     sub  ebx,30
  64.     call  clear_text_area_1
  65.     mcall 4, ,0x80ffffff,file_name
  66.     cmp  [draw_all_progressbar],0
  67.     je   .end
  68.     sub  ebx,13
  69.     cmp  [move_file_flag],1
  70.     je  @f
  71.     mov  edx,copy_type_1
  72.     jmp  .continue
  73. @@:
  74.     mov  edx,move_type_1
  75. .continue:
  76.  
  77.     int  0x40
  78. .end:
  79.     popa
  80.     mov  [draw_all_progressbar],0
  81.     ret
  82. ;---------------------------------------------------------------------
  83. clear_text_area_1:
  84.     cmp  [draw_all_progressbar],1
  85.     je   @f
  86.     push ebx
  87.     mov  ecx,ebx
  88.     shl  ecx,16
  89.     mov  cx,9
  90.     mov  eax,[window_width]
  91.     sub  eax,70
  92.     mov  bx,ax
  93.     mov  eax,13
  94.     mov  edx, 0x6060ff
  95.     int  0x40
  96.     pop  ebx
  97. @@:
  98.     ret
  99. ;---------------------------------------------------------------------
  100. calculate_progress_data_1:
  101.     pusha
  102.     xor  eax,eax
  103.     mov  ax,bx
  104.     shl  eax,10
  105.     mov  ebx,[max_progress_value]
  106.     xor  edx,edx
  107.     div  ebx
  108.     imul eax,ebp
  109.     shr  eax,10
  110.     mov  [temp_progress_value],eax
  111.     popa
  112.     ret
  113. ;---------------------------------------------------------------------
  114. calculate_progress_data_2:
  115.     cmp  [draw_all_progressbar],0
  116.     je   @f    
  117.     push ebx
  118.     rol  esi,16
  119.     mov  si,bx
  120.     rol  ebx,16
  121.     add  bx,si
  122.     ror  ebx,16
  123.     ror  esi,16
  124.     sub  si,bx
  125.     mov  bx,si
  126.     mov  edx,0xffffff
  127.     int  0x40
  128.     pop  ebx
  129. @@:
  130.     ret
  131. ;---------------------------------------------------------------------
  132. calculate_progress_data_3:
  133.     mov   bx,ax
  134.     mov  eax,13
  135.     cmp  [draw_all_progressbar],0
  136.     je   @f
  137.     mov  edx, 0x6060ff
  138.     int  0x40
  139. @@:
  140.     add  ebx,10 shl 16
  141.     sub  ebx,20
  142.     ret
  143. ;---------------------------------------------------------------------
  144. calculate_progress_data_4:
  145.     mcall 11
  146.     cmp  eax,1
  147.     jne   .1
  148.     call draw_window
  149.     mov  [draw_all_progressbar],1
  150. .1:
  151.     mov  ecx,[window_high]
  152.     mov  ebx,30
  153.     shr  ecx,1
  154.     ret
  155. ;---------------------------------------------------------------------
  156. calculate_progress_data_5:
  157.     shl  ecx,16
  158.     shl  ebx,16
  159.     mov  eax,[window_width]
  160.     sub  eax,60
  161.     ret
  162. ;---------------------------------------------------------------------
  163. calculate_progress_data_6:
  164.     mov  ebp,[current_progress_value]
  165.     call calculate_progress_data_1
  166.     mov  bx,[temp_progress_value]
  167.     int  0x40
  168.     call calculate_progress_data_2
  169.     ret
  170. ;---------------------------------------------------------------------