0,0 → 1,170 |
;--------------------------------------------------------------------- |
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 |
int 0x40 |
.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: |
int 0x40 |
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: |
|
int 0x40 |
.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 |
int 0x40 |
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 |
int 0x40 |
pop ebx |
@@: |
ret |
;--------------------------------------------------------------------- |
calculate_progress_data_3: |
mov bx,ax |
mov eax,13 |
cmp [draw_all_progressbar],0 |
je @f |
mov edx, 0x6060ff |
int 0x40 |
@@: |
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] |
int 0x40 |
call calculate_progress_data_2 |
ret |
;--------------------------------------------------------------------- |