kolibrios-gitea/programs/media/zsea/draw_win.inc
Marat Zakiyanov (Mario79) d7b0867c02 zSea - advanced image viewer for KolibriOS
v.1.0 rс3 12.06.2011

git-svn-id: svn://kolibrios.org@1951 a494cfbc-eb01-0410-851d-a64ba20cac60
2011-06-11 22:16:26 +00:00

248 lines
6.2 KiB
PHP

; *********************************************
; ******* WINDOW DEFINITIONS AND DRAW ********
; *********************************************
draw_window:
or [bWasDraw],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 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
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]
; 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
;---------------------------------------------------------------------
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
ret
;---------------------------------------------------------------------
set_nodraw_scrollbar_all:
xor eax,eax
mov [scroll_bar_data_vertical.all_redraw],eax
mov [scroll_bar_data_horizontal.all_redraw],eax
ret
;---------------------------------------------------------------------
draw_other:
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
@@:
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
@@:
call draw_number_of_file
call draw_zoom_factors
cmp [scaling_mode],dword 0
jne @f
; pop ebx
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
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 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
ret
@@:
mcall 47,0x80060000, ,<727, 15>,0
ret
;---------------------------------------------------------------------