4,9 → 4,9 |
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 |
17,47 → 17,52 |
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 ? |
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: |
push dword option_boxes_sort |
call [option_box_mouse] |
64,76 → 69,94 |
|
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 |
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 |
ret |
;--------------------------------------------------------------------- |