1
0
kolibrios/programs/fs/kfm/trunk/progrbar.inc
Marat Zakiyanov (Mario79) e612357931 KFM - fixed some bugs.
git-svn-id: svn://kolibrios.org@3840 a494cfbc-eb01-0410-851d-a64ba20cac60
2013-07-28 13:06:02 +00:00

170 lines
3.8 KiB
PHP

;---------------------------------------------------------------------
progress_bar_delete:
pusha
cmp [max_progress_value],0
je .end
call calculate_progress_data_4
sub ecx,30
call calculate_progress_data_5
mov cx,60
call calculate_progress_data_3
add ecx,35 shl 16
mov cx,15
mov si,bx
mov edx,0xff0000
call calculate_progress_data_6
shr ecx,16
mov bx,cx
sub ebx,13
call clear_text_area_1
mcall 4, ,0x90ffffff,file_name
cmp [draw_all_progressbar],0
je .end
sub ebx,13
mov edx,delete_type
mcall
.end:
popa
mov [draw_all_progressbar],0
ret
;---------------------------------------------------------------------
progress_bar_copy:
pusha
call calculate_progress_data_4
sub ecx,43
call calculate_progress_data_5
mov cx,86
call calculate_progress_data_3
add ecx,30 shl 16
mov cx,15
mov si,bx
pusha
mov edx,0xff00
call calculate_progress_data_6
popa
mov ebp,[current_progress_value_1]
call calculate_progress_data_1
add ecx,30 shl 16
mov bx,[temp_progress_value]
cmp [move_file_flag],1
je @f
mov edx,0xff7700
jmp .continue_1
@@:
mov edx,0xff0000
.continue_1:
mcall
call calculate_progress_data_2
shr ecx,16
mov bx,cx
sub ebx,11
call clear_text_area_1
mcall 4, ,0x80ffffff,start_parameter
sub ebx,30
call clear_text_area_1
mcall 4, ,0x80ffffff,file_name
cmp [draw_all_progressbar],0
je .end
sub ebx,13
cmp [move_file_flag],1
je @f
mov edx,copy_type_1
jmp .continue
@@:
mov edx,move_type_1
.continue:
mcall
.end:
popa
mov [draw_all_progressbar],0
ret
;---------------------------------------------------------------------
clear_text_area_1:
cmp [draw_all_progressbar],1
je @f
push ebx
mov ecx,ebx
shl ecx,16
mov cx,9
mov eax,[window_width]
sub eax,70
mov bx,ax
mov eax,13
mov edx, 0x6060ff
mcall
pop ebx
@@:
ret
;---------------------------------------------------------------------
calculate_progress_data_1:
pusha
xor eax,eax
mov ax,bx
shl eax,10
mov ebx,[max_progress_value]
xor edx,edx
div ebx
imul eax,ebp
shr eax,10
mov [temp_progress_value],eax
popa
ret
;---------------------------------------------------------------------
calculate_progress_data_2:
cmp [draw_all_progressbar],0
je @f
push ebx
rol esi,16
mov si,bx
rol ebx,16
add bx,si
ror ebx,16
ror esi,16
sub si,bx
mov bx,si
mov edx,0xffffff
mcall
pop ebx
@@:
ret
;---------------------------------------------------------------------
calculate_progress_data_3:
mov bx,ax
mov eax,13
cmp [draw_all_progressbar],0
je @f
mov edx, 0x6060ff
mcall
@@:
add ebx,10 shl 16
sub ebx,20
ret
;---------------------------------------------------------------------
calculate_progress_data_4:
mcall 11
cmp eax,1
jne .1
call draw_window
mov [draw_all_progressbar],1
.1:
mov ecx,[window_high]
mov ebx,30
shr ecx,1
ret
;---------------------------------------------------------------------
calculate_progress_data_5:
shl ecx,16
shl ebx,16
mov eax,[window_width]
sub eax,60
ret
;---------------------------------------------------------------------
calculate_progress_data_6:
mov ebp,[current_progress_value]
call calculate_progress_data_1
mov bx,[temp_progress_value]
mcall
call calculate_progress_data_2
ret
;---------------------------------------------------------------------