4,7 → 4,7 |
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 |
15,70 → 15,42 |
mov [PID2],eax |
mcall 40, 0x7 |
call load_directory.copy_dir_path |
;--------------------------------------------------------------------- |
.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 .close |
|
cmp eax,3 ; button in buffer ? |
je .button |
|
jmp .still |
|
;--------------------------------------------------------------------- |
.button: ; button |
mov eax,17 ; get id |
mcall |
|
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 |
mcall 12,2 |
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 |
xor esi,esi |
mcall ,<100,330>,<100,120>,0x13eeeeee,,labelt2 |
mcall 4,<120,30>,0x80000000,file_name |
mov edx,fitext |
mov esi,14 |
90,180 → 62,23 |
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 |
mcall 47,0x800a0000,[img_size],<120,40> |
|
add edx,10 |
mov ecx,[img_width_2] |
mcall |
mcall ,,[img_width_2] |
|
add edx,10 |
mov ecx,[img_high_2] |
mcall |
mcall ,,[img_high_2] |
|
add edx,10 |
mov ecx,[img_resolution_2] |
mcall |
mcall ,,[img_resolution_2] |
|
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 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 |
|
; 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 |
; 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 |
; xor ecx,ecx |
; mov cl,[Disposal_Method] |
; mcall |
|
; add edx,10 |
; mov ecx,[soi] |
; mcall |
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 |
;--------------------------------------------------------------------- |
;-------------------------------------------------------------------- |