diff --git a/programs/media/zsea/backgrnd.inc b/programs/media/zsea/backgrnd.inc new file mode 100644 index 0000000000..ba0e257201 --- /dev/null +++ b/programs/media/zsea/backgrnd.inc @@ -0,0 +1,43 @@ +;--------------------------------------------------------------------- +; ÓÑÒÀÍÎÂÈÒÜ ÔÎÍ +background: + cmp [soi],0 + je .end + cmp [bgrmode],dword 2 + jbe @f + jmp .end +@@: + mov ecx,[img_width] ; øèðèíà + test ecx,ecx + jz .end + mov edx,[img_high] ; âûñîòà  + test edx,edx + jz .end + mcall 15,1 ; set size + + mov esi,ecx + imul esi,edx + lea esi,[esi*3] + mov ecx,[soi] + + xor edx,edx + + cmp [img_resolution],24 + je @f + push dword image_file + call [convert_Conv_24b] + mov ecx,[raw_pointer_2] + mcall 15,5 ;15,5 set data + mov ecx,[raw_pointer_2] + mcall 68,13 + jmp .set_mode +@@: + mcall 15,5 ; 15,5 set data +.set_mode: + mov ecx,[bgrmode] + mcall 15,4 ; 15,4 set mode + dec ebx ; 15,3 redraw background + mcall +.end: + ret +;--------------------------------------------------------------------- \ No newline at end of file diff --git a/programs/media/zsea/clr_bcgr.inc b/programs/media/zsea/clr_bcgr.inc index e6fcf7a2db..28bbb739ad 100644 --- a/programs/media/zsea/clr_bcgr.inc +++ b/programs/media/zsea/clr_bcgr.inc @@ -1,8 +1,8 @@ ;--------------------------------------------------------------------- clear_thread: - call get_memory_for_tread_stack + call get_memory_for_thread_stack mov [clear_thread_stack],eax - mcall 51, 1, clear_thread_start ;, clear_thread_stack + mcall 51,1,clear_thread_start ;, clear_thread_stack ret ;--------------------------------------------------------------------- clear_thread_start: diff --git a/programs/media/zsea/data.inc b/programs/media/zsea/data.inc index 1c658e0d4b..78d6add4ee 100644 --- a/programs/media/zsea/data.inc +++ b/programs/media/zsea/data.inc @@ -38,7 +38,7 @@ lsz fitext,\ db 0 ;--------------------------------------------------------------------- Authors_text: -.1: db 'zSea version: 1.00 RC3 Date: 14/06/2011',0 +.1: db 'zSea version: 1.00 RC3 Date: 07/07/2011',0 .2: db 'Authors:',0 .3: db 'Marat Zakiyanov aka Mario(Mario79)',0 .4: db 'zSea program, modules: cnv_bmp.obj,',0 @@ -860,6 +860,8 @@ align 4 ; option_boxes_bcgr: op1 option_box option_group1,60,40,6,12,0xFFFFFF,0,0xffffff,op_text.1,op_text.e1-op_text.1 op2 option_box option_group1,60,55,6,12,0xFFFFFF,0,0xffffff,op_text.2,op_text.e2-op_text.2 +op3 option_box option_group1,60,70,6,12,0xFFFFFF,0,0xffffff,op_text.3,op_text.e3-op_text.3 +op4 option_box option_group1,60,85,6,12,0xFFFFFF,0,0xffffff,op_text.4,op_text.e4-op_text.4 option_boxes_bcgr_end: op_text: @@ -867,10 +869,14 @@ op_text: .e1: .2 db 'Stretch' .e2: +.3 db 'Stretch + V crop' +.e3: +.4 db 'Stretch + H crop' +.e4: option_group1 dd op1 -option_boxes_bcgr: dd op1, op2,0 +option_boxes_bcgr: dd op1,op2,op3,op4,0 ;--------------------------------------------------------------------- align 4 ;option_boxes_sort: diff --git a/programs/media/zsea/w_about.inc b/programs/media/zsea/w_about.inc index d3a06b22be..fa3c6cc49c 100644 --- a/programs/media/zsea/w_about.inc +++ b/programs/media/zsea/w_about.inc @@ -1,128 +1,87 @@ ;--------------------------------------------------------------------- - kabout: - test dword [status],4 - jnz still - or dword [status],4 +kabout: + test dword [status],4 + jnz still + or dword [status],4 - call get_memory_for_tread_stack + call get_memory_for_thread_stack mov [thread_stack_3],eax - mcall 51,1,thread3 ;,thread_stack_3 + mcall 51,1,thread3 ;thread_stack_3 jmp still ;--------------------------------------------------------------------- -thread3: ; start of bgrd thread - mcall 9, procinfo_threads, -1 - mov eax,[ebx+30] - mov [PID3],eax - mcall 40, 0x7 +thread3: ; start of bgrd thread + mcall 9, procinfo_threads, -1 + mov eax,[ebx+30] + mov [PID3],eax + mcall 40,0x7 +;------------------------------ .red: - call .draw_window - + call .draw_window +;------------------------------ .still: + mcall 10 ; wait here for event + cmp eax,1 ; redraw request ? + je .red - mov eax,10 ; wait here for event - mcall - - cmp eax,1 ; redraw request ? - je .red - cmp eax,2 ; key in buffer ? - je .close ;.key - cmp eax,3 ; button in buffer ? - je .button - - jmp .still - -; .key: -; mcall -; cmp ah,27 -; je .close -; jmp .still + cmp eax,2 ; key in buffer ? + je .close ;.key + cmp eax,3 ; button in buffer ? + je .button + jmp .still +;--------------------------------------------------------------------- +;.key: +; mcall +; cmp ah,27 +; je .close +; jmp .still +;--------------------------------------------------------------------- .button: ; button - mov eax,17 ; get id - mcall - - cmp ah,1 ; button id=1 ? - je .close - cmp ah,2 - jne .still ;noclose3 + mcall 17 ; get id + cmp ah,1 ; button id=1 ? + je .close + + cmp ah,2 + jne .still ;noclose3 + .close: -; btr dword [status],3 -; bts dword [status],2 - xor dword [status],4 - xor eax,eax - mov [PID3],eax + xor dword [status],4 + xor eax,eax + mov [PID3],eax mcall 68,13,[thread_stack_3] - mov eax,-1 ; close this program - mcall -; .noclose: -; jmp still3 - - - - + mcall -1 ; close this program +;--------------------------------------------------------------------- ; ********************************************* ; ******* 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 - xor eax,eax ; function 0 : define and draw window - mov ebx,100*65536+300 ; [x start] *65536 + [x size] - mov ecx,100*65536+240 ; [y start] *65536 + [y size] - mov edx,0x03eeeeee ; color of work area RRGGBB,8->color gl - mcall - - mov ebx,120*65536+40 - mov ecx,210*65536+20 - mov edx,2 - mov esi,0xdddddd - mcall 8 - - pusha - mcall 4,<20,30>,0x80000000,Authors_text.1 - mcall ,<30,45>, ,Authors_text.2 - - mcall ,<30,60>, ,Authors_text.3 - mcall ,<60,70>, ,Authors_text.4 - mcall ,<60,80>, ,Authors_text.5 - mcall ,<60,90>, ,Authors_text.6 - mcall ,<60,100>, ,Authors_text.7 - - mcall ,<30,115>, ,Authors_text.8 - mcall ,<60,125>, ,Authors_text.9 - mcall ,<60,135>, ,Authors_text.10 - - mcall ,<30,150>, ,Authors_text.11 - mcall ,<60,160>, ,Authors_text.12 - - mcall ,<30,175>, ,Authors_text.13 - mcall ,<60,185>, ,Authors_text.14 - popa - - add ebx,15 shl 16 - shr ecx,16 - mov bx,cx - add ebx,6 - - mov ecx,0 - mov edx, ok_btn - mov esi, ok_btn.size ;2 - mcall 4 - - ; WINDOW LABEL - mcall 71,1, labelt3 -; mcall 47,0x80000,[PID3],<200, 5>,0xffffff - mov eax,12 ; function 12:tell os about windowdraw - mov ebx,2 ; 2, end of draw - mcall - - ret -;--------------------------------------------------------------------- \ No newline at end of file + mcall 12,1 + xor eax,eax ; function 0 : define and draw window + xor esi,esi + mcall ,<100,300>,<100,240>,0x13eeeeee,,labelt3 + mcall 8,<120,40>,<210,20>,2,0xdddddd + add ebx,15 shl 16 + shr ecx,16 + mov bx,cx + add ebx,6 + xor ecx,ecx + mcall 4,,,ok_btn,ok_btn.size + mcall ,<20,30>,0x80000000,Authors_text.1 + mcall ,<30,45>, ,Authors_text.2 + mcall ,<30,60>, ,Authors_text.3 + mcall ,<60,70>, ,Authors_text.4 + mcall ,<60,80>, ,Authors_text.5 + mcall ,<60,90>, ,Authors_text.6 + mcall ,<60,100>, ,Authors_text.7 + mcall ,<30,115>, ,Authors_text.8 + mcall ,<60,125>, ,Authors_text.9 + mcall ,<60,135>, ,Authors_text.10 + mcall ,<30,150>, ,Authors_text.11 + mcall ,<60,160>, ,Authors_text.12 + mcall ,<30,175>, ,Authors_text.13 + mcall ,<60,185>, ,Authors_text.14 +; mcall 47,0x80000,[PID3],<200, 5>,0xffffff + mcall 12,2 + ret +;--------------------------------------------------------------------- diff --git a/programs/media/zsea/w_error.inc b/programs/media/zsea/w_error.inc index 04bf78eddd..82f4ed7732 100644 --- a/programs/media/zsea/w_error.inc +++ b/programs/media/zsea/w_error.inc @@ -1,92 +1,112 @@ +;--------------------------------------------------------------------- error_window: - test dword [status],32 - jnz still - or dword [status],32 - mcall 9, procinfo, -1 - mov eax,[ebx+46] - test eax,eax - jnz @f - mov eax,100 - mov [error_window_y+2],ax - mov [error_window_x+2],ax - jmp .end + test dword [status],32 + jnz still + + or dword [status],32 + mcall 9,procinfo,-1 + mov eax,[ebx+46] + test eax,eax + jnz @f + + mov eax,100 + mov [error_window_y+2],ax + mov [error_window_x+2],ax + jmp .end +;--------------------------------------------------------------------- @@: - shr eax,1 - add eax,[ebx+38] - sub eax,50 - mov [error_window_y+2],ax - mov eax,[ebx+42] - shr eax,1 - add eax,[ebx+34] - sub eax,150 - mov [error_window_x+2],ax + shr eax,1 + add eax,[ebx+38] + sub eax,50 + mov [error_window_y+2],ax + mov eax,[ebx+42] + shr eax,1 + add eax,[ebx+34] + sub eax,150 + mov [error_window_x+2],ax .end: - call get_memory_for_tread_stack + call get_memory_for_thread_stack mov [thread_stack_6],eax - mcall 51,1,thread6 ;,thread_stack_6 + mcall 51,1,thread6 ; thread_stack_6 ret ;--------------------------------------------------------------------- thread6: - mcall 9, procinfo_threads, -1 - mov eax,[ebx+30] - mov [PID6],eax - mcall 40, 0x7 - mov [error_pointer],string + mcall 9,procinfo_threads,-1 + mov eax,[ebx+30] + mov [PID6],eax + mcall 40,0x7 + mov [error_pointer],string +;-------------------------------------- .red: - call .draw_error_window + call .draw_error_window +;-------------------------------------- .still: - mcall 10 - cmp eax,1 - je .red - cmp eax,2 ; key in buffer ? - je .key - cmp eax,3 - je .button - jmp .still -.key: ; key -.button: - xor dword [status],32 - xor eax,eax - mov [PID6],eax + mcall 10 + cmp eax,1 + je .red - mcall 68,13,[thread_stack_6] - mcall -1 - jmp .still + cmp eax,2 ; key in buffer ? + je .key + + cmp eax,3 + je .button + + jmp .still ;--------------------------------------------------------------------- +.key: ; key +.button: + xor dword [status],32 + xor eax,eax + mov [PID6],eax + mcall 68,13,[thread_stack_6] + mcall -1 + jmp .still +;--------------------------------------------------------------------- +; ********************************************* +; ******* WINDOW DEFINITIONS AND DRAW ******** +; ********************************************* .draw_error_window: - mcall 12, 1 - mcall 0,[error_window_x] ,[error_window_y], 0x03ff0000 - mcall 71,1, errortext - mcall 4,<10,30>,0x80ffffff,[error_pointer] - cmp [return_code],0 - je .continue - cmp [return_code],1 - jne @f - mcall 4,<10,50>,0x90ffffff,error_not_supported_file - jmp .end + mcall 12, 1 + mcall 0,[error_window_x],[error_window_y],0x03ff0000 + mcall 71,1, errortext + mcall 4,<10,30>,0x80ffffff,[error_pointer] + cmp [return_code],0 + je .continue + + cmp [return_code],1 + jne @f + + mcall 4,<10,50>,0x90ffffff,error_not_supported_file + jmp .end +;--------------------------------------------------------------------- @@: - cmp [return_code],2 - jne @f - mcall 4,<10,50>,0x90ffffff,error_not_enough_memory - jmp .end + cmp [return_code],2 + jne @f + + mcall 4,<10,50>,0x90ffffff,error_not_enough_memory + jmp .end +;--------------------------------------------------------------------- @@: - mcall 4,<10,50>,0x90ffffff,error_unknown - jmp .end + mcall 4,<10,50>,0x90ffffff,error_unknown + jmp .end +;--------------------------------------------------------------------- .continue: - mcall 4,<10,50>,0x90ffffff,error_type - mcall 47,0x800a0000,[error_fs],<140,50>,0x10ffffff - mov edx,[error_fs] - cmp edx,0 - jb .end - cmp edx,11 - ja .end - shl edx,2 - add edx,error_fs_text_pointers - mov edx,[edx] - mcall 4,<10,70>,0x90ffffff, -; mcall 47,0x800a0000,[error_locate],<140,5>,0x10ffffff + mcall 4,<10,50>,0x90ffffff,error_type + mcall 47,0x800a0000,[error_fs],<140,50>,0x10ffffff + mov edx,[error_fs] + cmp edx,0 + jb .end + + cmp edx,11 + ja .end + + shl edx,2 + add edx,error_fs_text_pointers + mov edx,[edx] + mcall 4,<10,70>,0x90ffffff, +; mcall 47,0x800a0000,[error_locate],<140,5>,0x10ffffff .end: -; mcall 47,0x80000,[PID6],<200, 5>,0xffffff - mcall 12, 2 - ret +; mcall 47,0x80000,[PID6],<200, 5>,0xffffff + mcall 12,2 + ret ;--------------------------------------------------------------------- \ No newline at end of file diff --git a/programs/media/zsea/win_bcgr.inc b/programs/media/zsea/win_bcgr.inc index 48e8217f0b..9081676d64 100644 --- a/programs/media/zsea/win_bcgr.inc +++ b/programs/media/zsea/win_bcgr.inc @@ -4,7 +4,7 @@ k_background: jnz still or dword [status],8 - call get_memory_for_tread_stack + call get_memory_for_thread_stack mov [thread_stack_4],eax mcall 51,1,thread4 ;, thread_stack_4 jmp still @@ -16,22 +16,24 @@ thread4: ; start of bgrd thread mcall 40, 0x27 .red: call .draw_window - .still: - mov eax,10 ; wait here for event mcall cmp eax,1 ; redraw request ? je .red + cmp eax,2 ; key in buffer ? je .key + cmp eax,3 ; button in buffer ? je .button + cmp eax,6 ; mouse in buffer ? je .mouse - jmp .still + jmp .still +;--------------------------------------------------------------------- .mouse: push dword option_boxes_bcgr call [option_box_mouse] @@ -40,42 +42,65 @@ thread4: ; start of bgrd thread jne @f mov [bgrmode],dword 1 jmp .still +;--------------------------------------------------------------------- @@: mov [bgrmode],dword 2 jmp .still - +;--------------------------------------------------------------------- .key: mcall cmp ah,27 je .close + cmp ah,13 je .kok + cmp ah,178 ;up jne .nofup + cmp dword [bgrmode],1 je .fdn .fup: dec dword [bgrmode] jmp .flagcont +;--------------------------------------------------------------------- .nofup: cmp ah,177 ;down jne .still - cmp dword [bgrmode],2 + + cmp dword [bgrmode],4 je .fup .fdn: inc dword [bgrmode] .flagcont: cmp [bgrmode],dword 1 jne @f + mov [option_group1],op1 call .draw_opt_boxes jmp .still +;--------------------------------------------------------------------- @@: + cmp [bgrmode],dword 2 + jne @f + mov [option_group1],op2 call .draw_opt_boxes jmp .still - - +;--------------------------------------------------------------------- +@@: + cmp [bgrmode],dword 3 + jne @f + + mov [option_group1],op3 + call .draw_opt_boxes + jmp .still +;--------------------------------------------------------------------- +@@: + mov [option_group1],op4 + call .draw_opt_boxes + jmp .still +;--------------------------------------------------------------------- .button: ; button mov eax,17 ; get id mcall @@ -94,47 +119,23 @@ thread4: ; start of bgrd thread .kok: call background jmp .close - +;--------------------------------------------------------------------- ; ********************************************* ; ******* WINDOW DEFINITIONS AND DRAW ******** ; ********************************************* - - .draw_window: mcall 12,1 - ; DRAW WINDOW - xor eax,eax ; function 0 : define and draw window - mov ebx,100*65536+200 ; [x start] *65536 + [x size] - mov ecx,100*65536+100 ; [y start] *65536 + [y size] - mov edx,0x03909090 ; color of work area RRGGBB,8->color gl - mcall - - mov eax,8 - mov ebx,70*65536+40 - mov ecx,70*65536+20 - mov edx,4 - mov esi,0xdddddd - mcall - - ; WINDOW LABEL - mcall 71,1, labelt4 - - mov eax,4 ; function 4 : write text to window - mov ebx,46*65536+28 ; [x start] *65536 + [y start] - mov ecx,0xffffff - mov edx, bgrdtext - mov esi, bgrdtext.size - mcall - add ebx,40*65536+48 - mov edx, ok_btn - mov esi, ok_btn.size ;2 - mov ecx,0 - mcall - + xor eax,eax + xor esi,esi + mcall ,<100,200>,<100,200>,0x13909090,,labelt4 + mcall 8,<70,40>,<110,20>,4,0xdddddd + mcall 4,<46,28>,0xffffff,bgrdtext,bgrdtext.size + add ebx,40*65536+88 + xor ecx,ecx + mcall ,,,ok_btn,ok_btn.size call .draw_opt_boxes -; mcall 47,0x80000,[PID4],<200, 5>,0xffffff +; mcall 47,0x80000,[PID4],<200, 5>,0xffffff mcall 12,2 - ret ;--------------------------------------------------------------------- .draw_opt_boxes: diff --git a/programs/media/zsea/win_file.inc b/programs/media/zsea/win_file.inc index 2f00c5aca4..85b99ee6e4 100644 --- a/programs/media/zsea/win_file.inc +++ b/programs/media/zsea/win_file.inc @@ -5,14 +5,12 @@ kfile: or dword [status],1 call load_directory.copy_dir_path - -; call get_filter_data - - - cmp [OpenDialog_path],dword 'NoKe' + cmp [OpenDialog_path],dword 'NoKe' je @f - mov [OpenDialog_data.start_path],dword OpenDialog_path + + mov [OpenDialog_data.start_path],dword OpenDialog_path jmp .start_OpenDialog +;--------------------------------------------------------------------- @@: mov ebx,open_dialog_name mov esi,path @@ -20,176 +18,108 @@ kfile: 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 +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 -@@: - 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 + test al,al 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 - lodsb - test al,al - jne @r - sub esi,string - mov eax,esi - dec eax - mov edi, edit1 - mov [edi+48], eax ;ed_size - mov [edi+52], eax ;ed_pos +;------------------------------------- + sub esi,string + mov eax,esi + dec eax + mov edi, edit1 + mov [edi+48], eax ;ed_size + mov [edi+52], eax ;ed_pos +;------------------------------------- .red: - call .draw_window - + call .draw_window +;------------------------------------- .still: + mcall 10 ; wait here for event - mcall 10 ; wait here for event + cmp eax,1 ; redraw request ? + je .red - cmp eax,1 ; redraw request ? - je .red - cmp eax,2 ; key in buffer ? - je .key - cmp eax,3 ; button in buffer ? - je .button + cmp eax,2 ; key in buffer ? + je .key - push dword name_editboxes - call [edit_box_mouse] -; mouse_edit_box name_editboxes -; mouse_menubar menu_data_2 - jmp .still + cmp eax,3 ; button in buffer ? + je .button + push dword name_editboxes + call [edit_box_mouse] + jmp .still +;--------------------------------------------------------------------- .key: ; key - mcall 2 - 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 + mcall + cmp ah,13 + je .close_with_open_file + cmp ah,27 + je .close + + push dword name_editboxes + call [edit_box_key] + jmp .still +;--------------------------------------------------------------------- .close_with_open_file: - mov [open_file_flag],byte 1 - jmp .close - + mov [open_file_flag],byte 1 + jmp .close +;--------------------------------------------------------------------- .button: ; button - mov eax,17 ; get id - mcall - - cmp ah,1 ; button id=1 ? - jne .still + 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 + xor dword [status],1 + xor eax,eax + mov [PID1],eax mcall 68,13,[thread_stack] - mov eax,-1 ; close this program - mcall - - jmp .still - + 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 - 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 - + mcall 12,1 + xor eax,eax ; function 0 : define and draw window + 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 - - ret - - -;--------------------------------------------------------------------- \ No newline at end of file +; mcall 47,0x80000,[PID1],<200, 5>,0xffffff + mcall 12,2 + ret +;--------------------------------------------------------------------- diff --git a/programs/media/zsea/win_info.inc b/programs/media/zsea/win_info.inc index f177950c4c..96b85eb72e 100644 --- a/programs/media/zsea/win_info.inc +++ b/programs/media/zsea/win_info.inc @@ -1,269 +1,84 @@ ;--------------------------------------------------------------------- - kinfo: - test dword [status],2 - jnz still +kinfo: + test dword [status],2 + jnz still or dword [status],2 - call get_memory_for_tread_stack + call get_memory_for_thread_stack mov [thread_stack_2],eax mcall 51,1,thread2 ;, thread_stack_2 jmp still ;--------------------------------------------------------------------- thread2: ; start of info thread - mcall 9, procinfo_threads, -1 - mov eax,[ebx+30] - mov [PID2],eax - mcall 40, 0x7 - call load_directory.copy_dir_path + mcall 9,procinfo_threads,-1 + mov eax,[ebx+30] + mov [PID2],eax + mcall 40,0x7 + call load_directory.copy_dir_path +;--------------------------------------------------------------------- .red: - call .draw_window - + call .draw_window +;--------------------------------------------------------------------- .still: - - mov eax,10 ; wait here for event - mcall - - cmp eax,1 ; redraw request ? + mcall 10 ; wait here for event + cmp eax,1 ; redraw request ? je .red - cmp eax,2 ; key in buffer ? + + cmp eax,2 ; key in buffer ? je .close - cmp eax,3 ; button in buffer ? + + cmp eax,3 ; button in buffer ? je .button - jmp .still - + jmp .still +;--------------------------------------------------------------------- .button: ; button - mov eax,17 ; get id - mcall - - cmp ah,1 ; button id=1 ? - jne .still ;.noclose + mcall 17 ; get id + cmp ah,1 ; button id=1 ? + jne .still ;.noclose .close: -; btr dword [status],1 -; bts dword [status],2 xor dword [status],2 xor eax,eax mov [PID2],eax mcall 68,13,[thread_stack_2] - mov eax,-1 ; close this program - mcall -;.noclose: -; jmp .still - - - - + mcall -1 ; close this program +;--------------------------------------------------------------------- ; ********************************************* ; ******* 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 - xor eax,eax ; function 0 : define and draw window - mov ebx,100*65536+330 ; [x start] *65536 + [x size] - mov ecx,100*65536+120 ;290 ; [y start] *65536 + [y size] - mov edx,0x03eeeeee ; color of work area RRGGBB,8->color gl - mcall - - ; WINDOW LABEL - mcall 71,1, labelt2 - -; mov ecx,0x80000000 ; font 1 & color ( 0xF0RRGGBB ) -; mov ebx,120*65536+30 -; mov edx,file_name ;string -; mov esi,1 ;43 - mcall 4,<120,30>,0x80000000,file_name - mov edx,fitext - mov esi,14 - mov ebx,10*65536+30 - mov ecx,0x10000000 + mcall 12,2 + xor eax,eax ; function 0 : define and draw window + xor esi,esi + mcall ,<100,330>,<100,120>,0x13eeeeee,,labelt2 + mcall 4,<120,30>,0x80000000,file_name + mov edx,fitext + mov esi,14 + mov ebx,10*65536+30 + mov ecx,0x10000000 @@: mcall - add ebx,10 - add edx,esi - cmp ebx,10*65536+80 - jbe @r - mov eax,47 - mov edx,120*65536+40 - mov esi,ecx - mov ecx, [img_size] - mov ebx,0x800a0000 - mcall - add edx,10 - mov ecx,[img_width_2] - mcall - add edx,10 - mov ecx,[img_high_2] - mcall - add edx,10 - mov ecx,[img_resolution_2] - mcall - add edx,10 - mov ecx,[Total_Repeat_N] - mcall - -; add edx,10 -; mov ecx,[communication_area] -; mov ecx,[ecx+4096] -; mcall - -; add edx,10 -; mov ecx,[communication_area] -; mov ecx,[ecx+4096+4] -; mcall + add ebx,10 + add edx,esi + cmp ebx,10*65536+80 + jbe @r -; add edx,10+10 -; mov ecx,[zoom_auto_factor] -; mcall - -; add edx,10+10 -; mov ecx,[scroll_bar_data_vertical.max_area] ;[img_resolution] -; mcall -; add edx,10 -; mov ecx,[scroll_bar_data_vertical.cur_area] ;[return_code] -; mcall -; add edx,10 -; mov ecx,[scroll_bar_data_vertical.position] -; mcall -; add edx,10 -; xor ecx,ecx -; mov cx,[scroll_bar_data_vertical.size_y] -; mcall - -; add edx,10+10 -; mcall 47,0x80000,[OpenDialog_Init] - -; add edx,10+10 -; mcall 47,0x80000,[OpenDialog_Start] - -; add edx,10+10 -; mcall 47,0x80000,[OpenDialog_data.com_area] - -; add edx,10+10 -; mcall 47,0x80000,I_END - -; add edx,10+10 -; mov ecx,[scroll_bar_data_horizontal.max_area] ;[img_resolution] -; mcall -; add edx,10 -; mov ecx,[scroll_bar_data_horizontal.cur_area] ;[return_code] -; mcall -; add edx,10 -; mov ecx,[scroll_bar_data_horizontal.position] -; mcall -; add edx,10 -; xor ecx,ecx -; mov cx,[scroll_bar_data_horizontal.size_x] -; mcall - -; add edx,10 -; mov ecx,[raw_pointer] ;[deflate_unpack] -; mcall - -; add edx,10+10 -; mov ebp,test1 ;raw_pointer_2 -; mov ecx,[ebp] -; mcall + mov esi,ecx + mcall 47,0x800a0000,[img_size],<120,40> -; add edx,10+10 -; mov ebp,size_before_open_dir ;lib_init ;test1 ;raw_pointer_2 -; mov ecx,[ebp] -; mcall -; add edx,10 -; add ebp,4 -; mov ecx,[ebp] -; mcall -; add edx,10 -; add ebp,4 -; mov ecx,[ebp] -; mcall -; add edx,10 -; add ebp,4 -; mov ecx,[ebp] -; mcall -; add edx,10 -; add ebp,4 -; mov ecx,[ebp] -; mcall -; add edx,10 -; add ebp,4 -; mov ecx,[ebp] -; mcall -; add edx,10 -; add ebp,4 -; mov ecx,[ebp] -; mcall -; add edx,10 -; add ebp,4 -; mov ecx,[ebp] -; mcall -; add edx,10 -; add ebp,4 -; mov ecx,[ebp] -; mcall -; add edx,10 -; add ebp,4 -; mov ecx,[ebp] -; mcall + add edx,10 + mcall ,,[img_width_2] -; add edx,10 -; add ebp,4 -; mov ecx,[version_lib_ini] -;; mov ecx,[ecx] -; mcall - -; add edx,10 -; movzx ecx,word [image_draw_size.x] -; mcall -; add edx,10 -; movzx ecx,word [image_draw_size.y] -; mcall -; add edx,10+10 -; movzx ecx,word [wa_width] -; mcall -; add edx,10 -; movzx ecx,word [wa_high] -; mcall -; add edx,10 -; movzx ecx,word [wa_width_1] -; mcall -; add edx,10 -; movzx ecx,word [wa_width_2] -; mcall -; add edx,10 -; movzx ecx,word [wa_high_1] -; mcall -; add edx,10 -; movzx ecx,word [wa_high_2] -; mcall - -; add edx,10+10 -; mov ecx,[window_width] -; mcall -; add edx,10 -; mov ecx,[window_high] -; mcall + add edx,10 + mcall ,,[img_high_2] -; add edx,10 -; xor ecx,ecx -; mov cl,[Disposal_Method] -; mcall + add edx,10 + mcall ,,[img_resolution_2] -; add edx,10 -; mov ecx,[soi] -; mcall + add edx,10 + mcall ,,[Total_Repeat_N] ; mcall 47,0x80000,[PID2],<200, 5>,0xffffff ; mcall 47,0x800a0000,[error_locate],<140,5>,0x10ffffff - mov eax,12 ; function 12:tell os about windowdraw - mov ebx,2 ; 2, end of draw - mcall - + mcall 12,2 ret -;--------------------------------------------------------------------- \ No newline at end of file +;-------------------------------------------------------------------- diff --git a/programs/media/zsea/win_opti.inc b/programs/media/zsea/win_opti.inc index 0bf601a21f..7bcacaaadc 100644 --- a/programs/media/zsea/win_opti.inc +++ b/programs/media/zsea/win_opti.inc @@ -4,12 +4,12 @@ k_option: jnz still or dword [status],64 - call get_memory_for_tread_stack + call get_memory_for_thread_stack mov [thread_stack_7],eax - mcall 51,1,thread7 ;,thread_stack_7 + mcall 51,1,thread7 ; thread_stack_7 jmp still ;--------------------------------------------------------------------- -get_memory_for_tread_stack: +get_memory_for_thread_stack: mcall 68,12,4096 mov edx,eax add edx,4096 @@ -19,7 +19,7 @@ thread7: ; start of bgrd thread mcall 9, procinfo_threads, -1 mov eax,[ebx+30] mov [PID7],eax - mcall 40, 0x27 + mcall 40,0x27 mov eax,[slide_show_delay] mov [slide_show_delay_old],eax mov eax,[arrows_offset] @@ -31,24 +31,27 @@ thread7: ; start of bgrd thread xor eax,eax mov [option_pointer],eax call .set_pointers +;----------------------------------------- .red: call .draw_window - +;----------------------------------------- .still: - - mov eax,10 ; wait here for event - mcall + 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 + cmp eax,6 ; mouse in buffer ? je .mouse + jmp .still - +;--------------------------------------------------------------------- .mouse: mov ebx,[check1+32] and ebx,10b @@ -58,10 +61,12 @@ thread7: ; start of bgrd thread and eax,10b cmp ebx,eax je @f ;.still + mov [option_pointer],2 call .set_pointers call .draw_all_options_values jmp .still +;--------------------------------------------------------------------- @@: mov ebx,[check2+32] and ebx,10b @@ -71,6 +76,7 @@ thread7: ; start of bgrd thread and eax,10b cmp ebx,eax je .still + mov [option_pointer],3 call .set_pointers call .draw_all_options_values @@ -80,26 +86,37 @@ thread7: ; start of bgrd thread mcall cmp ah,27 je .close + cmp ah,13 je .kok + cmp ah,32 je .select_space + cmp ah,56 ;plus je .select_plus ;.plus_slide_show_delay + cmp ah,43 ;plus je .select_plus ;.plus_slide_show_delay + cmp ah,61 ;plus je .select_plus ;.plus_slide_show_delay + cmp ah,54 ;minus je .select_minus ;.minus_slide_show_delay + cmp ah,45 ;minus je .select_minus ;.minus_slide_show_delay + cmp ah,95 ;minus je .select_minus ;.minus_slide_show_delay + cmp ah,178 ;up arrow je .up_arrow + cmp ah,177 ;down arrow je .down_arrow + jmp .still ;--------------------------------------------------------------------- .button: ; button @@ -120,6 +137,7 @@ thread7: ; start of bgrd thread cmp ah,1 ; button id=1 ? jne .noclose +;----------------------------------- .close: mov eax,[slide_show_delay_old] mov [slide_show_delay],eax @@ -130,12 +148,15 @@ thread7: ; start of bgrd thread mov eax,[filtering_flag_old] mov [check2+32],eax jmp .close_all +;--------------------------------------------------------------------- .close_1: mov eax,[check2+32] test eax,10b jz @f + mov [filtering_flag],1 jmp .redraw_flag +;--------------------------------------------------------------------- @@: mov [filtering_flag],0 .redraw_flag: @@ -144,15 +165,11 @@ thread7: ; start of bgrd thread xor dword [status],64 xor eax,eax mov [PID7],eax - mcall 68,13,[thread_stack_7] - - mov eax,-1 ; close this program - mcall + mcall -1 ; close this program +;--------------------------------------------------------------------- .noclose: - .kok: - jmp .close_1 ;--------------------------------------------------------------------- .select_plus: @@ -167,11 +184,13 @@ thread7: ; start of bgrd thread .plus_slide_show_delay: cmp [option_pointer],0 je @f + mov [option_pointer],0 call .draw_all_options_values @@: cmp [slide_show_delay],99990 je .still + add [slide_show_delay],10 call .draw_slide_show_delay jmp .still @@ -179,11 +198,13 @@ thread7: ; start of bgrd thread .minus_slide_show_delay: cmp [option_pointer],0 je @f + mov [option_pointer],0 call .draw_all_options_values @@: cmp [slide_show_delay],0 je .still + sub [slide_show_delay],10 call .draw_slide_show_delay jmp .still @@ -191,11 +212,13 @@ thread7: ; start of bgrd thread .plus_arrows_offset: cmp [option_pointer],1 je @f + mov [option_pointer],1 call .draw_all_options_values @@: cmp [arrows_offset],100 je .still + inc [arrows_offset] call .draw_arrows_offset call calculate_arrows_offset @@ -204,11 +227,13 @@ thread7: ; start of bgrd thread .minus_arrows_offset: cmp [option_pointer],1 je @f + mov [option_pointer],1 call .draw_all_options_values @@: cmp [arrows_offset],1 je .still + dec [arrows_offset] call .draw_arrows_offset call calculate_arrows_offset @@ -217,8 +242,10 @@ thread7: ; start of bgrd thread .space_check1: test [check1+32],dword 10b jnz @f + or [check1+32],dword 10b jmp .space_check1_1 +;--------------------------------------------------------------------- @@: xor [check1+32],dword 10b .space_check1_1: @@ -228,8 +255,10 @@ thread7: ; start of bgrd thread .space_check2: test [check2+32],dword 10b jnz @f + or [check2+32],dword 10b jmp .space_check2_1 +;--------------------------------------------------------------------- @@: xor [check2+32],dword 10b .space_check2_1: @@ -239,6 +268,7 @@ thread7: ; start of bgrd thread .down_arrow: cmp [option_pointer],3 je .still + inc [option_pointer] .draw_all_points: call .set_pointers @@ -248,12 +278,14 @@ thread7: ; start of bgrd thread .up_arrow: cmp [option_pointer],0 je .still + dec [option_pointer] jmp .draw_all_points ;--------------------------------------------------------------------- .set_pointers: cmp [option_pointer],0 jne @f + mov [plus_pointer],thread7.plus_slide_show_delay mov [minus_pointer],thread7.minus_slide_show_delay mov [space_pointer],thread7.still @@ -261,6 +293,7 @@ thread7: ; start of bgrd thread @@: cmp [option_pointer],1 jne @f + mov [plus_pointer],thread7.plus_arrows_offset mov [minus_pointer],thread7.minus_arrows_offset mov [space_pointer],thread7.still @@ -268,6 +301,7 @@ thread7: ; start of bgrd thread @@: cmp [option_pointer],2 jne @f + mov [plus_pointer],thread7.still mov [minus_pointer],thread7.still mov [space_pointer],thread7.space_check1 @@ -288,17 +322,11 @@ thread7: ; start of bgrd thread ; ********************************************* ; ******* WINDOW DEFINITIONS AND DRAW ******** ; ********************************************* - - .draw_window: mcall 12,1 - ; DRAW WINDOW xor eax,eax ; function 0 : define and draw window - mov ebx,100*65536+300 ; [x start] *65536 + [x size] - mov ecx,100*65536+120 ; [y start] *65536 + [y size] - mov edx,0x03909090 ; color of work area RRGGBB,8->color gl - mcall - + xor esi,esi + mcall ,<100,300>,<100,120>,0x13909090,,optiontext mcall 8,<15,10>,<50,11>,2,0xdddddd inc edx mcall ,<77,10> @@ -311,43 +339,21 @@ thread7: ; start of bgrd thread inc edx mcall ,<250,40>,<50,20> ;--------------------------------- - -; mcall 13,<50,45>,<25,12>,0xffffff -; mov ecx,[ch_flag_en] -; mcall 47,0x800a0000,,<72,27>,0x10000000; 0x40000000,0xffffff - ; WINDOW LABEL - mcall 71,1, optiontext - -; mov eax,4 ; function 4 : write text to window -; mov ebx,46*65536+28 ; [x start] *65536 + [y start] -; mov ecx,0xffffff -; mov edx, sorttext -; mov esi, sorttext.size -; mcall -; mov ebx,135*65536+57 -; mov edx, ok_btn -; mov esi, ok_btn.size ;2 mcall 4,<10,35>,0x80ffffff,slide_show_delay_title mcall ,<17,53>,0x90000000,slide_show_delay_text mcall ,<10,75>,0x80ffffff,arrows_offset_title mcall ,<17,93>,0x90000000,slide_show_delay_text mcall ,<265,57>, ,ok_btn - call .draw_all_options_values - ; mcall 47,0x80000,[PID5],<200, 5>,0xffffff mcall 12,2 - ret ;--------------------------------------------------------------------- -;.draw_opt_boxes: -; draw_option_boxes option_boxes_sort,option_boxes_sort_end -; ret -;--------------------------------------------------------------------- .draw_slide_show_delay: mov edx,0xffffff cmp [option_pointer],0 jne @f + mov edx,0xffff80 @@: mcall 13,<29,45>,<50,12>, @@ -358,6 +364,7 @@ thread7: ; start of bgrd thread mov edx,0xffffff cmp [option_pointer],1 jne @f + mov edx,0xffff80 @@: mcall 13,<29,45>,<90,12>, @@ -368,6 +375,7 @@ thread7: ; start of bgrd thread mov [check1+12],dword 0xffffff cmp [option_pointer],2 jne @f + mov [check1+12],dword 0xffff80 @@: push dword check1 @@ -378,6 +386,7 @@ thread7: ; start of bgrd thread mov [check2+12],dword 0xffffff cmp [option_pointer],3 jne @f + mov [check2+12],dword 0xffff80 @@: push dword check2 diff --git a/programs/media/zsea/win_sort.inc b/programs/media/zsea/win_sort.inc index 54ff5896b1..05b24cbab2 100644 --- a/programs/media/zsea/win_sort.inc +++ b/programs/media/zsea/win_sort.inc @@ -4,136 +4,159 @@ k_sort_directory: jnz still or dword [status],16 - call get_memory_for_tread_stack + call get_memory_for_thread_stack mov [thread_stack_5],eax - mcall 51, 1, thread5 ;, thread_stack_5 + mcall 51,1,thread5 ; thread_stack_5 jmp still ;--------------------------------------------------------------------- thread5: ; start of bgrd thread - mcall 9, procinfo_threads, -1 + mcall 9,procinfo_threads,-1 mov eax,[ebx+30] mov [PID5],eax - mcall 40, 0x27 + mcall 40,0x27 mov eax,[sort_type] cmp [sort_type],dword 0 jne @f + mov [option_group2],sort0 jmp .thread5 +;--------------------------------------------------------------------- @@: cmp [sort_type],dword 2 jne @f + mov [option_group2],sort2 jmp .thread5 +;--------------------------------------------------------------------- @@: cmp [sort_type],dword 4 jne @f + mov [option_group2],sort4 jmp .thread5 +;--------------------------------------------------------------------- @@: -; cmp [sort_type],dword 6 -; jne @f mov [option_group2],sort6 -; jmp .thread5 -;@@: +;----------------------------------- .thread5: mov [sort_type_old],eax mov eax,[option_group2] mov [option_group2_old],eax - +;----------------------------------- .red: call .draw_window - +;----------------------------------- .still: + mcall 10 ; wait here for event - mov eax,10 ; wait here for event - mcall - - cmp eax,1 ; redraw request ? + cmp eax,1 ; redraw request ? je .red - cmp eax,2 ; key in buffer ? + + cmp eax,2 ; key in buffer ? je .key - cmp eax,3 ; button in buffer ? + + cmp eax,3 ; button in buffer ? je .button + cmp eax,6 ; mouse in buffer ? je .mouse - jmp .still + jmp .still +;--------------------------------------------------------------------- .mouse: push dword option_boxes_sort call [option_box_mouse] cmp [option_group2],sort0 jne @f + mov [sort_type],dword 0 jmp .still +;--------------------------------------------------------------------- @@: cmp [option_group2],sort2 jne @f + mov [sort_type],dword 2 jmp .still +;--------------------------------------------------------------------- @@: cmp [option_group2],sort4 jne @f + mov [sort_type],dword 4 jmp .still +;--------------------------------------------------------------------- @@: cmp [option_group2],sort6 jne @f + mov [sort_type],dword 6 jmp .still - +;--------------------------------------------------------------------- .key: mcall cmp ah,27 je .close + cmp ah,13 je .kok + cmp ah,177 ;down je .fdn + cmp ah,178 ;up jne .still + cmp [sort_type],0 je .still sub [sort_type],2 jmp .flagcont - +;--------------------------------------------------------------------- .fdn: cmp [sort_type],6 je .still + add [sort_type],2 .flagcont: cmp [sort_type],dword 0 jne @f + mov [option_group2],sort0 call .draw_opt_boxes jmp .still +;--------------------------------------------------------------------- @@: cmp [sort_type],dword 2 jne @f + mov [option_group2],sort2 call .draw_opt_boxes jmp .still +;--------------------------------------------------------------------- @@: cmp [sort_type],dword 4 jne @f + mov [option_group2],sort4 call .draw_opt_boxes jmp .still +;--------------------------------------------------------------------- @@: cmp [sort_type],dword 6 jne .still ;@f + mov [option_group2],sort6 call .draw_opt_boxes jmp .still - +;--------------------------------------------------------------------- .button: ; button - mov eax,17 ; get id - mcall - + mcall 17 ; get id cmp ah,1 ; button id=1 ? jne .noclose +;------------------------------- .close: mov eax,[sort_type_old] mov [sort_type],eax @@ -143,64 +166,39 @@ thread5: ; start of bgrd thread xor dword [status],16 xor eax,eax mov [PID5],eax - mcall 68,13,[thread_stack_5] - mov eax,-1 ; close this program - mcall + mcall -1 ; close this program +;--------------------------------------------------------------------- .noclose: .kok: mov eax,[load_directory_pointer] cmp [eax+4],dword 0 je .close_1 + call load_directory.copy_dir_path call load_directory.sort mov [sort_directory_flag],byte 1 jmp .close_1 - +;--------------------------------------------------------------------- ; ********************************************* -; ******* WINDOW DEFINITIONS AND DRAW ******** +; ******** WINDOW DEFINITIONS AND DRAW ******** ; ********************************************* - - .draw_window: mcall 12,1 - - ; DRAW WINDOW xor eax,eax ; function 0 : define and draw window - mov ebx,100*65536+300 ; [x start] *65536 + [x size] - mov ecx,100*65536+110 ; [y start] *65536 + [y size] - mov edx,0x03909090 ; color of work area RRGGBB,8->color gl - mcall - - mov eax,8 - mov ebx,120*65536+40 - mov ecx,50*65536+20 - mov edx,4 - mov esi,0xdddddd - mcall - - ; WINDOW LABEL - mcall 71,1, labelt5 - - mov eax,4 ; function 4 : write text to window - mov ebx,46*65536+28 ; [x start] *65536 + [y start] - mov ecx,0xffffff - mov edx, sorttext - mov esi, sorttext.size - mcall - mov ebx,135*65536+57 - mov edx, ok_btn - mov esi, ok_btn.size ;2 - mov ecx,0 - mcall - + xor esi,esi + mcall ,<100,300>,<100,110>,0x13909090,,labelt5 + mcall 8,<120,40>,<50,20>,4,0xdddddd + mcall 4,<46,28>,0xffffff,sorttext,sorttext.size + xor ecx,ecx + mcall ,<135,57>,,ok_btn,ok_btn.size call .draw_opt_boxes ; mcall 47,0x80000,[PID5],<200, 5>,0xffffff mcall 12,2 - ret ;--------------------------------------------------------------------- .draw_opt_boxes: push dword option_boxes_sort call [option_box_draw] - ret \ No newline at end of file + ret +;--------------------------------------------------------------------- diff --git a/programs/media/zsea/zSea.asm b/programs/media/zsea/zSea.asm index 9c2538eac9..e7f08512bb 100644 --- a/programs/media/zsea/zSea.asm +++ b/programs/media/zsea/zSea.asm @@ -25,7 +25,7 @@ ; (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS ; SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ;***************************************************************************** -; v.1.0 rñ3 14.06.2011 +; v.1.0 rñ3 07.07.2011 ;****************************************************************************** use32 org 0x0 @@ -303,6 +303,42 @@ button: ; button je slide_show.3 ;still jmp slide_show ;--------------------------------------------------------------------- +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 +;--------------------------------------------------------------------- kopen_1: mov [open_file_flag],0 @@ -351,51 +387,6 @@ getappinfo: mcall ret ;--------------------------------------------------------------------- -; ÓÑÒÀÍÎÂÈÒÜ ÔÎÍ -background: - cmp [soi],0 - je .end - mov ecx,[img_width] ; øèðèíà - test ecx,ecx - jz .end - mov edx,[img_high] ; âûñîòà  - test edx,edx - jz .end - mcall 15,1 ; set size - - mov esi,ecx - imul esi,edx - lea esi,[esi*3] -; mov ebx,5 - mov ecx,[soi] - - xor edx,edx - - cmp [img_resolution],24 - je @f -; mov eax,image_file - push dword image_file -; call [plugin_convert_background] - call [convert_Conv_24b] - mov ecx,[raw_pointer_2] - mcall 15,5 ;15,5 set data - mov ecx,[raw_pointer_2] - mcall 68,13 - jmp .set_mode -@@: - - mcall 15,5 ; 15,5 set data -.set_mode: -; dec ebx ;tile/stretch - mov ecx,[bgrmode] - mcall 15,4 ; 15,4 set mode - - dec ebx ; 15,3 redraw background - mcall - -.end: - ret -;--------------------------------------------------------------------- get_window_param: mcall 9, procinfo, -1 mov eax,[ebx+34] @@ -422,6 +413,7 @@ get_window_param: ; popa ; ret ;--------------------------------------------------------------------- +include 'backgrnd.inc' include 'draw_win.inc' include 'full_win.inc' include 'mouse.inc'