[docs] Replace cyrillic 'с' with latin 'c' in register names
[kolibrios.git] / programs / media / zsea / win_sort.inc
blob05b24cbab224d67b1c7ec8f65a04e5460c71ab1f
1 ;---------------------------------------------------------------------\r
2 k_sort_directory:\r
3         test    dword [status],16\r
4         jnz     still\r
5         or      dword [status],16\r
6 \r
7         call    get_memory_for_thread_stack\r
8         mov     [thread_stack_5],eax\r
9         mcall   51,1,thread5    ; thread_stack_5\r
10         jmp     still\r
11 ;---------------------------------------------------------------------\r
12 thread5:                                ; start of bgrd thread\r
13         mcall   9,procinfo_threads,-1\r
14         mov     eax,[ebx+30]\r
15         mov     [PID5],eax\r
16         mcall   40,0x27\r
17         mov     eax,[sort_type]\r
18         cmp     [sort_type],dword 0\r
19         jne     @f\r
20         \r
21         mov     [option_group2],sort0\r
22         jmp     .thread5\r
23 ;---------------------------------------------------------------------\r
24 @@:\r
25         cmp     [sort_type],dword 2\r
26         jne     @f\r
27         \r
28         mov     [option_group2],sort2\r
29         jmp     .thread5\r
30 ;---------------------------------------------------------------------\r
31 @@:\r
32         cmp     [sort_type],dword 4\r
33         jne     @f\r
34         \r
35         mov     [option_group2],sort4\r
36         jmp     .thread5\r
37 ;---------------------------------------------------------------------\r
38 @@:\r
39         mov     [option_group2],sort6\r
40 ;-----------------------------------\r
41 .thread5:\r
42         mov     [sort_type_old],eax\r
43         mov     eax,[option_group2]\r
44         mov     [option_group2_old],eax\r
45 ;-----------------------------------\r
46 .red:\r
47         call    .draw_window\r
48 ;-----------------------------------\r
49 .still:\r
50         mcall   10      ; wait here for event\r
52         cmp     eax,1   ; redraw request ?\r
53         je      .red\r
55         cmp     eax,2   ; key in buffer ?\r
56         je      .key\r
58         cmp     eax,3   ; button in buffer ?\r
59         je      .button\r
61         cmp     eax,6   ; mouse in buffer ?\r
62         je      .mouse\r
64         jmp     .still\r
65 ;---------------------------------------------------------------------\r
66 .mouse:\r
67         push    dword option_boxes_sort\r
68         call    [option_box_mouse]\r
70         cmp     [option_group2],sort0\r
71         jne     @f\r
72         \r
73         mov     [sort_type],dword 0\r
74         jmp     .still\r
75 ;---------------------------------------------------------------------\r
76 @@:\r
77         cmp     [option_group2],sort2\r
78         jne     @f\r
79         \r
80         mov      [sort_type],dword 2\r
81         jmp     .still\r
82 ;---------------------------------------------------------------------\r
83 @@:\r
84         cmp     [option_group2],sort4\r
85         jne     @f\r
86         \r
87         mov     [sort_type],dword 4\r
88         jmp     .still\r
89 ;---------------------------------------------------------------------\r
90 @@:\r
91         cmp     [option_group2],sort6\r
92         jne     @f\r
93         \r
94         mov     [sort_type],dword 6\r
95         jmp     .still\r
96 ;---------------------------------------------------------------------\r
97 .key:\r
98         mcall\r
99         cmp     ah,27\r
100         je      .close\r
102         cmp     ah,13\r
103         je      .kok\r
105         cmp     ah,177 ;down\r
106         je      .fdn\r
108         cmp     ah,178 ;up\r
109         jne     .still\r
111         cmp     [sort_type],0\r
112         je      .still\r
113         \r
114         sub     [sort_type],2\r
115         jmp     .flagcont\r
116 ;---------------------------------------------------------------------\r
117 .fdn:\r
118         cmp     [sort_type],6\r
119         je      .still\r
120         \r
121         add     [sort_type],2\r
122         \r
123 .flagcont:\r
124         cmp     [sort_type],dword 0\r
125         jne     @f\r
126         \r
127         mov     [option_group2],sort0\r
128         call    .draw_opt_boxes\r
129         jmp     .still\r
130 ;---------------------------------------------------------------------\r
131 @@:\r
132         cmp     [sort_type],dword 2\r
133         jne     @f\r
134         \r
135         mov     [option_group2],sort2\r
136         call    .draw_opt_boxes\r
137         jmp     .still\r
138 ;---------------------------------------------------------------------\r
139 @@:\r
140         cmp     [sort_type],dword 4\r
141         jne     @f\r
142         \r
143         mov     [option_group2],sort4\r
144         call    .draw_opt_boxes\r
145         jmp     .still\r
146 ;---------------------------------------------------------------------\r
147 @@:\r
148         cmp     [sort_type],dword 6\r
149         jne     .still  ;@f\r
150         \r
151         mov     [option_group2],sort6\r
152         call    .draw_opt_boxes\r
153         jmp     .still\r
154 ;---------------------------------------------------------------------\r
155 .button:                         ; button\r
156         mcall   17              ; get id\r
157         cmp     ah,1                    ; button id=1 ?\r
158         jne     .noclose\r
159 ;-------------------------------\r
160 .close:\r
161         mov     eax,[sort_type_old]\r
162         mov     [sort_type],eax\r
163         mov     eax,[option_group2_old]\r
164         mov     [option_group2],eax\r
165 .close_1:\r
166         xor     dword [status],16\r
167         xor     eax,eax\r
168         mov     [PID5],eax\r
169         mcall   68,13,[thread_stack_5]\r
170         mcall   -1              ; close this program\r
171 ;---------------------------------------------------------------------\r
172 .noclose:\r
173 .kok:\r
174         mov     eax,[load_directory_pointer]\r
175         cmp     [eax+4],dword 0\r
176         je      .close_1\r
177         \r
178         call    load_directory.copy_dir_path\r
179         call    load_directory.sort\r
180         mov     [sort_directory_flag],byte 1\r
181         jmp     .close_1\r
182 ;---------------------------------------------------------------------\r
183 ;        *********************************************\r
184 ;        ******** WINDOW DEFINITIONS AND DRAW ********\r
185 ;        *********************************************\r
186 .draw_window:\r
187         mcall   12,1\r
188         xor     eax,eax                  ; function 0 : define and draw window\r
189         xor     esi,esi\r
190         mcall   ,<100,300>,<100,110>,0x13909090,,labelt5\r
191         mcall   8,<120,40>,<50,20>,4,0xdddddd\r
192         mcall   4,<46,28>,0xffffff,sorttext,sorttext.size\r
193         xor     ecx,ecx\r
194         mcall   ,<135,57>,,ok_btn,ok_btn.size\r
195         call    .draw_opt_boxes\r
196 ;       mcall   47,0x80000,[PID5],<200, 5>,0xffffff\r
197         mcall   12,2\r
198         ret\r
199 ;---------------------------------------------------------------------\r
200 .draw_opt_boxes:\r
201         push    dword option_boxes_sort\r
202         call    [option_box_draw]\r
203         ret\r
204 ;---------------------------------------------------------------------\r