kolibrios-fun/programs/media/zsea/win_info.inc
Marat Zakiyanov (Mario79) 3dee3b0598 zSea - cleaning and preparing the source code
git-svn-id: svn://kolibrios.org@2000 a494cfbc-eb01-0410-851d-a64ba20cac60
2011-07-07 19:18:51 +00:00

85 lines
2.1 KiB
PHP

;---------------------------------------------------------------------
kinfo:
test dword [status],2
jnz still
or dword [status],2
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
;---------------------------------------------------------------------
.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 .close
cmp eax,3 ; button in buffer ?
je .button
jmp .still
;---------------------------------------------------------------------
.button: ; button
mcall 17 ; get id
cmp ah,1 ; button id=1 ?
jne .still ;.noclose
.close:
xor dword [status],2
xor eax,eax
mov [PID2],eax
mcall 68,13,[thread_stack_2]
mcall -1 ; close this program
;---------------------------------------------------------------------
; *********************************************
; ******* WINDOW DEFINITIONS AND DRAW ********
; *********************************************
.draw_window:
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 esi,ecx
mcall 47,0x800a0000,[img_size],<120,40>
add edx,10
mcall ,,[img_width_2]
add edx,10
mcall ,,[img_high_2]
add edx,10
mcall ,,[img_resolution_2]
add edx,10
mcall ,,[Total_Repeat_N]
; mcall 47,0x80000,[PID2],<200, 5>,0xffffff
; mcall 47,0x800a0000,[error_locate],<140,5>,0x10ffffff
mcall 12,2
ret
;--------------------------------------------------------------------