diff --git a/programs/media/zsea/convert.inc b/programs/media/zsea/convert.inc index c207b82501..bd89b84e30 100644 --- a/programs/media/zsea/convert.inc +++ b/programs/media/zsea/convert.inc @@ -218,14 +218,20 @@ convert: jae @f mov eax,770 @@: - add ebx,54 + mov [wnd_width],eax + push ebx + mcall 48,4 + pop ebx + add ebx,eax + mov [skin_height],eax + add ebx,28+4 ;54 cmp ebx,150 jae @f mov ebx,150 @@: - mov [wnd_width],eax mov [wnd_height],ebx - + + mcall 14 mov ebx,eax diff --git a/programs/media/zsea/data.inc b/programs/media/zsea/data.inc index 78d6add4ee..e73e9f97c5 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: 07/07/2011',0 +.1: db 'zSea version: 1.00 RC3 Date: 24/08/2011',0 .2: db 'Authors:',0 .3: db 'Marat Zakiyanov aka Mario(Mario79)',0 .4: db 'zSea program, modules: cnv_bmp.obj,',0 @@ -232,6 +232,8 @@ img_palette dd 0 background_color dd 0xffffff +skin_height dd 0 + RAW1_pointer dd 0 RAW1_size_x dd 0 RAW1_size dd 0 diff --git a/programs/media/zsea/draw_img.inc b/programs/media/zsea/draw_img.inc index 4ae74a069a..8badfd3556 100644 --- a/programs/media/zsea/draw_img.inc +++ b/programs/media/zsea/draw_img.inc @@ -42,10 +42,10 @@ jz .exit_error ;.exit shl eax,16 add eax,[window_high] - cmp ax,50-22 - jbe @f - sub ax,50-22 -@@: +; cmp ax,28 +; jbe @f + sub ax,28 +;@@: mov [wa_high],ax mov [wa_high_1],ax mov [wa_high_2],ax diff --git a/programs/media/zsea/draw_win.inc b/programs/media/zsea/draw_win.inc index d95d6ea2fb..335a16fd74 100644 --- a/programs/media/zsea/draw_win.inc +++ b/programs/media/zsea/draw_win.inc @@ -1,248 +1,152 @@ - ; ********************************************* ; ******* WINDOW DEFINITIONS AND DRAW ******** ; ********************************************* - - draw_window: - - or [bWasDraw],1 + or [bWasDraw],1 + mcall 12,1 - mcall 12,1 - - ; DRAW WINDOW - xor eax,eax ; function 0 : define and draw window -; mov ebx,350 ; [x start] *65536 + [x size] -; mov ecx,400 ; [y start] *65536 + [y size] - mov ebx,0*65536+0 - mov ecx,0*65536+0 - add ebx,[wnd_width] - add ecx,[wnd_height] - cmp cx,55 - ja @f - mov cx,55 -@@: - mov edx,0x63ffffff ; color of work area RRGGBB,8->color gl -; pusha + xor eax,eax ; function 0 : define and draw window + mov ebx,[wnd_width] + mov ecx,[wnd_height] xor esi,esi - mcall -; popa -; imul ecx,[load_file_number],304 -; add ecx,32+40 -; add ecx,[load_directory_pointer] - mov ecx,Authors_text.1 ; communication_area_name -; mov ecx,[communication_area] -; add ecx,4 -; mov ecx,string - mcall 71,1, ;labelt ; plugin_pach ;file_name ;plugin_pach ;plugin_pach + mcall ,,,0x73ffffff,,Authors_text.1 + + call get_window_param + mov eax,[procinfo+70] ;status of window + test eax,100b + jne .end - call get_window_param + call draw_other + + push dword menu_data_1 + call [menu_bar_draw] + push dword menu_data_2 + call [menu_bar_draw] + push dword menu_data_3 + call [menu_bar_draw] + push dword menu_data_4 + call [menu_bar_draw] + push dword menu_data_5 + call [menu_bar_draw] + push dword menu_data_6 + call [menu_bar_draw] + + push dword dinamic_button_data_1 + call [dinamic_button_draw] + push dword dinamic_button_data_2 + call [dinamic_button_draw] + push dword dinamic_button_data_3 + call [dinamic_button_draw] + push dword dinamic_button_data_4 + call [dinamic_button_draw] + push dword dinamic_button_data_5 + call [dinamic_button_draw] + push dword dinamic_button_data_6 + call [dinamic_button_draw] + push dword dinamic_button_data_7 + call [dinamic_button_draw] + push dword dinamic_button_data_8 + call [dinamic_button_draw] + push dword dinamic_button_data_9 + call [dinamic_button_draw] + push dword dinamic_button_data_10 + call [dinamic_button_draw] + push dword dinamic_button_data_11 + call [dinamic_button_draw] + push dword dinamic_button_data_12 + call [dinamic_button_draw] + push dword dinamic_button_data_13 + call [dinamic_button_draw] + push dword dinamic_button_data_14 + call [dinamic_button_draw] + push dword dinamic_button_data_15 + call [dinamic_button_draw] - call draw_other - - - push dword menu_data_1 - call [menu_bar_draw] - push dword menu_data_2 - call [menu_bar_draw] - push dword menu_data_3 - call [menu_bar_draw] - push dword menu_data_4 - call [menu_bar_draw] - push dword menu_data_5 - call [menu_bar_draw] - push dword menu_data_6 - call [menu_bar_draw] - -; draw_menu_bar menu_data_1 -; draw_menu_bar menu_data_2 -; draw_menu_bar menu_data_3 -; draw_menu_bar menu_data_4 -; draw_menu_bar menu_data_5 -; draw_menu_bar menu_data_6 - - push dword dinamic_button_data_1 - call [dinamic_button_draw] - push dword dinamic_button_data_2 - call [dinamic_button_draw] - push dword dinamic_button_data_3 - call [dinamic_button_draw] - push dword dinamic_button_data_4 - call [dinamic_button_draw] - push dword dinamic_button_data_5 - call [dinamic_button_draw] - push dword dinamic_button_data_6 - call [dinamic_button_draw] - push dword dinamic_button_data_7 - call [dinamic_button_draw] - push dword dinamic_button_data_8 - call [dinamic_button_draw] - push dword dinamic_button_data_9 - call [dinamic_button_draw] - push dword dinamic_button_data_10 - call [dinamic_button_draw] - push dword dinamic_button_data_11 - call [dinamic_button_draw] - push dword dinamic_button_data_12 - call [dinamic_button_draw] - push dword dinamic_button_data_13 - call [dinamic_button_draw] - push dword dinamic_button_data_14 - call [dinamic_button_draw] - push dword dinamic_button_data_15 - call [dinamic_button_draw] - -; draw_dinamic_button dinamic_button_data_1 ; open file -; draw_dinamic_button dinamic_button_data_2 ; reload file -; draw_dinamic_button dinamic_button_data_3 ; left limit -; draw_dinamic_button dinamic_button_data_4 ; left arrow -; draw_dinamic_button dinamic_button_data_5 ; slide show -; draw_dinamic_button dinamic_button_data_6 ; right arrow -; draw_dinamic_button dinamic_button_data_7 ; right limit -; draw_dinamic_button dinamic_button_data_8 ; zoom + -; draw_dinamic_button dinamic_button_data_9 ; zoom - -; draw_dinamic_button dinamic_button_data_10 ; zoom 100% -; draw_dinamic_button dinamic_button_data_11 ; rotate clockwise -; draw_dinamic_button dinamic_button_data_12 ; rotate counter-clockwise -; draw_dinamic_button dinamic_button_data_13 ; file information -; draw_dinamic_button dinamic_button_data_14 ; wallpaper -; draw_dinamic_button dinamic_button_data_15 ; settings - - mcall 13,<225,2>,<3,22>,0 - mcall ,<280,2> - mcall ,<410,2> - mcall ,<490,2> - mcall ,<545,2> - mcall ,<625,2> - mcall ,<720,2> - ; WINDOW LABEL - -; mov esi, file_mount - file_mount_end - mcall 4,<630,3>,0x80000000, file_mount ;, file_mount - file_mount.end -; cmp [soi],0 -; je @f - - mcall 13,<677,40>,<13,11>,0xe5e5e5 - - mov ecx,[load_directory_pointer] - mov ecx,[ecx+4] - mcall 47,0x80060000, ,<679, 15>,0 - - mcall 8,[dinamic_button_data_5.x],[dinamic_button_data_5.y],0x40000002 -;@@: - mcall 12,2 - - ret + mcall 13,<225,2>,<3,22>,0 + mcall ,<280,2> + mcall ,<410,2> + mcall ,<490,2> + mcall ,<545,2> + mcall ,<625,2> + mcall ,<720,2> + mcall 4,<630,3>,0x80000000, file_mount + mcall 13,<677,40>,<13,11>,0xe5e5e5 + mov ecx,[load_directory_pointer] + mov ecx,[ecx+4] + mcall 47,0x80060000, ,<679, 15>,0 + mcall 8,[dinamic_button_data_5.x],[dinamic_button_data_5.y],0x40000002 +.end: + mcall 12,2 + ret ;--------------------------------------------------------------------- set_draw_scrollbar_all: - xor eax,eax - inc eax - mov [scroll_bar_data_vertical.all_redraw],eax - mov [scroll_bar_data_horizontal.all_redraw],eax + xor eax,eax + inc eax + mov [scroll_bar_data_vertical.all_redraw],eax + mov [scroll_bar_data_horizontal.all_redraw],eax ret ;--------------------------------------------------------------------- set_nodraw_scrollbar_all: - xor eax,eax - mov [scroll_bar_data_vertical.all_redraw],eax - mov [scroll_bar_data_horizontal.all_redraw],eax + xor eax,eax + mov [scroll_bar_data_vertical.all_redraw],eax + mov [scroll_bar_data_horizontal.all_redraw],eax ret ;--------------------------------------------------------------------- draw_other: - call drawimage + call drawimage @@: - mov ebx,0 ;5 - shl ebx,16 - add ebx,[window_width] -; sub ebx,9 -; push ebx - xor ecx,ecx -; mov ecx,[skin_high] - shl ecx,16 - add ecx,50-22 -; sub ecx,[skin_high] - mov edx,0xffffff - cmp [no_draw_window],0 - jne @f - mcall 13 ; fill top area + xor ebx,ebx + shl ebx,16 + add ebx,[window_width] + xor ecx,ecx + shl ecx,16 + add ecx,28 + mov edx,0xffffff + cmp [no_draw_window],0 + jne @f + mcall 13 ; fill top area @@: - mov eax,[soi] - test eax,eax - jnz @f - mov ecx,[window_high] - sub ecx,28 ;50+4 - add ecx,(50-22) shl 16 - mcall 13 + mov eax,[soi] + test eax,eax + jnz @f + mov ecx,[window_high] + sub ecx,28 + add ecx,28 shl 16 + mcall 13 @@: - - call draw_number_of_file - - call draw_zoom_factors - - cmp [scaling_mode],dword 0 - jne @f -; pop ebx + call draw_number_of_file + call draw_zoom_factors + cmp [scaling_mode],dword 0 + jne @f ret @@: -; mov ecx,[scroll_bar_data_vertical.cur_area] -; mov ebx,[scroll_bar_data_horizontal.cur_area] -; push ecx -; add ebx,5 -; mov ax,bx -; shl ebx,16 -; add ebx,[window_width] -; sub ebx,4 -; sub bx,ax -; cmp bx,0 -; jbe @f -; add ecx,50 shl 16 -; mcall 13, , ,0xffffff -; -;@@: -; pop ecx -; pop ebx - -; add ecx,50 -; mov ax,cx -; shl ecx,16 -; add ecx,[window_high] -; sub cx,ax -; sub ecx,4 -; cmp cx,0 -; jbe @f -; mcall 13, , ,0xffffff - -;@@: - call set_draw_scrollbar_all - call draw_scrollbars - call set_nodraw_scrollbar_all - + call set_draw_scrollbar_all + call draw_scrollbars + call set_nodraw_scrollbar_all ret ;--------------------------------------------------------------------- draw_number_of_file: - - mcall 13,<630,42>,<13,11>,0xe5e5e5 - - xor ecx,ecx - mov eax,[load_directory_pointer] - cmp [eax+4],dword 0 - je @f - mov ecx,[load_file_number] - inc ecx + mcall 13,<630,42>,<13,11>,0xe5e5e5 + xor ecx,ecx + mov eax,[load_directory_pointer] + cmp [eax+4],dword 0 + je @f + mov ecx,[load_file_number] + inc ecx @@: - mcall 47,0x80060000, ,<632, 15>,0 + mcall 47,0x80060000, ,<632, 15>,0 ret ;--------------------------------------------------------------------- draw_zoom_factors: - mcall 13,<725,30>,<13,11>,0xe5e5e5 - - mov ecx,[zoom_factors] - mov ecx,[ecx] - mov [scaling_mode],ecx - test ecx,ecx - jnz @f - mcall 4,<727,14>,0x80000000, zoom_auto_text + mcall 13,<725,30>,<13,11>,0xe5e5e5 + mov ecx,[zoom_factors] + mov ecx,[ecx] + mov [scaling_mode],ecx + test ecx,ecx + jnz @f + mcall 4,<727,14>,0x80000000,zoom_auto_text ret @@: - mcall 47,0x80060000, ,<727, 15>,0 + mcall 47,0x80060000,,<727, 15>,0 ret ;--------------------------------------------------------------------- \ No newline at end of file diff --git a/programs/media/zsea/zSea.asm b/programs/media/zsea/zSea.asm index e7f08512bb..ea7d7b45c7 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 07.07.2011 +; v.1.0 rñ3 24.08.2011 ;****************************************************************************** use32 org 0x0 @@ -69,6 +69,9 @@ START: ; start of execution jne @r mov [active_process],ecx + mcall 48,4 + mov [skin_height],eax + mcall 68,12,1024 mov [menu_data_1.procinfo],eax mov [menu_data_2.procinfo],eax @@ -247,8 +250,18 @@ red_1: ; mcall 15,3 ; jmp red_1 still: + call pause_cicle + cmp [RAW1_flag],1 je animation_handler + + mcall 48,4 + cmp [skin_height],eax + je @f + mov [skin_height],eax + call convert.img_resolution_ok + jmp red_1 +@@: mcall 10 .1: cmp [open_file_flag],1 @@ -278,6 +291,7 @@ red_sort_directory: redraw_window: mov [redraw_flag],byte 0 jmp red_1 + ;--------------------------------------------------------------------- ; red: ; test dword [status], 4 @@ -303,6 +317,32 @@ button: ; button je slide_show.3 ;still jmp slide_show ;--------------------------------------------------------------------- +pause_cicle: + pusha +.start: + mcall 9,procinfo,-1 + mov eax,[procinfo+70] ;status of window + test eax,100b + jne @f + popa + ret +@@: + mcall 10 + dec eax + jz .redraw + dec eax + jz .key + dec eax + jnz .start +.button: + mcall -1 +.key: + mcall 2 + jmp .start +.redraw: + call draw_window + jmp .start +;--------------------------------------------------------------------- get_filter_data: mov edi,Filter+4 xor eax,eax