forked from KolibriOS/kolibrios
23bf5e60ae
git-svn-id: svn://kolibrios.org@1792 a494cfbc-eb01-0410-851d-a64ba20cac60
170 lines
3.9 KiB
PHP
170 lines
3.9 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
|
|
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
|
|
;--------------------------------------------------------------------- |