Subversion Repositories Kolibri OS

Compare Revisions

Regard whitespace Rev 1951 → Rev 2000

/programs/media/zsea/win_file.inc
5,14 → 5,12
or dword [status],1
 
call load_directory.copy_dir_path
 
; call get_filter_data
cmp [OpenDialog_path],dword 'NoKe'
je @f
mov [OpenDialog_data.start_path],dword OpenDialog_path
jmp .start_OpenDialog
;---------------------------------------------------------------------
@@:
mov ebx,open_dialog_name
mov esi,path
20,81 → 18,43
call copy_file_path
.start_OpenDialog:
;start_OpenDialog OpenDialog_data
push dword OpenDialog_data
call [OpenDialog_Start]
 
call clear_control_key_flag
 
cmp [OpenDialog_data.status],2
je thread1_start
cmp [OpenDialog_data.status],1
jne @f
xor dword [status],1
jmp kopen_1
;---------------------------------------------------------------------
@@:
xor dword [status],1
jmp still
;---------------------------------------------------------------------
thread1_start:
 
call get_memory_for_tread_stack
call get_memory_for_thread_stack
mov [thread_stack],eax
mcall 51,1,thread1 ;, thread_stack
mcall 51,1,thread1 ; thread_stack
jmp still
;---------------------------------------------------------------------
get_filter_data:
mov edi,Filter+4
xor eax,eax
mov ecx,10
cld
@@:
mov esi,10
sub esi,ecx
lea esi,[esi+esi*2] ; x 3
shl esi,3 ; x 8
add esi,dword Convert_plugin_0.Assoc
mov esi,[esi]
add esi,4
 
test esi,esi
jz @f
call .start
dec ecx
jnz @r
@@:
mov [edi],byte 0
mov eax,Filter
sub edi,eax
mov [eax],edi
 
ret
.start:
@@:
lodsb
stosb
test eax,eax
jnz @r
cmp [esi],ah
jne @r
ret
;---------------------------------------------------------------------
thread1: ; start of thread1
mcall 9, procinfo_threads, -1
mov eax,[ebx+30]
mov [PID1],eax
mcall 40, 0x27
 
or ecx,-1 ; get information about me
call getappinfo
 
mov esi,string
;-------------------------------------
cld
@@:
cld
lodsb
test al,al
jne @r
;-------------------------------------
sub esi,string
mov eax,esi
dec eax
101,95 → 61,65
mov edi, edit1
mov [edi+48], eax ;ed_size
mov [edi+52], eax ;ed_pos
;-------------------------------------
.red:
call .draw_window
 
;-------------------------------------
.still:
 
mcall 10 ; wait here for event
 
cmp eax,1 ; redraw request ?
je .red
 
cmp eax,2 ; key in buffer ?
je .key
 
cmp eax,3 ; button in buffer ?
je .button
 
push dword name_editboxes
call [edit_box_mouse]
; mouse_edit_box name_editboxes
; mouse_menubar menu_data_2
jmp .still
 
;---------------------------------------------------------------------
.key: ; key
mcall 2
mcall
cmp ah,13
je .close_with_open_file
 
cmp ah,27
je .close
push dword name_editboxes
call [edit_box_key]
; key_edit_box name_editboxes
jmp .still
 
;---------------------------------------------------------------------
.close_with_open_file:
mov [open_file_flag],byte 1
jmp .close
;---------------------------------------------------------------------
.button: ; button
mov eax,17 ; get id
mcall
 
mcall 17 ; get id
cmp ah,1 ; button id=1 ?
jne .still
.close:
; bts dword [status],2
; btr dword [status],0
xor dword [status],1
xor eax,eax
mov [PID1],eax
mcall 68,13,[thread_stack]
mov eax,-1 ; close this program
mcall
 
mcall -1 ; close this program
jmp .still
 
;---------------------------------------------------------------------
; *********************************************
; ******* WINDOW DEFINITIONS AND DRAW ********
; *********************************************
 
 
.draw_window:
 
 
mov eax,12 ; function 12:tell os about windowdraw
mov ebx,1 ; 1, start of draw
mcall
 
; DRAW WINDOW
mcall 12,1
xor eax,eax ; function 0 : define and draw window
mov ebx,100*65536+300 ; [x start] *65536 + [x size]
mov ecx,100*65536+80 ; [y start] *65536 + [y size]
mov edx,0x03eeeeee ; color of work area RRGGBB,8->color gl
mcall
 
; WINDOW LABEL
mcall 71,1, labelt1
 
xor esi,esi
mcall ,<100,300>,<100,80>,0x13eeeeee,,labelt1
push dword name_editboxes
call [edit_box_draw]
; draw_edit_box name_editboxes
; mcall 47,0x80000,[PID1],<200, 5>,0xffffff
; mcall 71,1, proverka
; mcall 47,0x80001,0,<300, 5>,0xffffff
; draw_menu_bar menu_data_2
mov eax,12 ; function 12:tell os about windowdraw
mov ebx,2 ; 2, end of draw
mcall
 
mcall 12,2
ret
 
;---------------------------------------------------------------------
;---------------------------------------------------------------------