Rev 2626 | Go to most recent revision | Only display areas with differences | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 2626 | Rev 2630 | ||
---|---|---|---|
1 | ;------------------------------------------------------------------------------ |
1 | ;------------------------------------------------------------------------------ |
2 | align 4 |
2 | align 4 |
3 | draw_tray: ; draw cpu usage, time, date etc. |
3 | draw_tray: ; draw cpu usage, time, date etc. |
4 | pusha |
4 | pusha |
5 | ; cmp [tray_enable],dword 1 |
- | |
6 | ; jne no_setup |
- | |
7 | 5 | ||
8 | call draw_tray_buttons |
6 | call draw_tray_buttons |
9 | call draw_time_skin |
7 | call draw_time_skin |
10 | call draw_time |
8 | call draw_time |
11 | 9 | ||
12 | mov [draw_flag_certainly],1 |
10 | mov [draw_flag_certainly],1 |
13 | call draw_flag ; language |
11 | call draw_flag ; language |
14 | 12 | ||
15 | call draw_list_button |
13 | call draw_list_button |
16 | ;-------------------------------------- |
- | |
17 | ;align 4 |
14 | |
18 | ;no_setup: |
- | |
19 | popa |
15 | popa |
20 | ret |
16 | ret |
21 | ;------------------------------------------------------------------------------ |
17 | ;------------------------------------------------------------------------------ |
22 | draw_tray_buttons: |
18 | draw_tray_buttons: |
23 | mov [offset_x_tray],0 |
19 | mov [offset_x_tray],0 |
24 | 20 | ||
25 | cmp [minimize_right],dword 0 |
21 | cmp [minimize_right],dword 0 |
26 | je @f |
22 | je @f |
27 | 23 | ||
28 | add [offset_x_tray],MR_SIZE |
24 | add [offset_x_tray],MR_SIZE |
29 | ;-------------------------------------- |
25 | ;-------------------------------------- |
30 | align 4 |
26 | align 4 |
31 | @@: |
27 | @@: |
32 | mov ecx,3 shl 16 |
28 | mov ecx,3 shl 16 |
33 | add ecx,[height] |
29 | add ecx,[height] |
34 | sub cx,6 |
30 | sub cx,6 |
35 | mov esi,[wcolor] |
31 | mov esi,[wcolor] |
36 | mov eax,8 |
32 | mov eax,8 |
37 | ;-------------------------------------- |
33 | ;-------------------------------------- |
38 | cmp [clock_enable],dword 0 |
34 | cmp [clock_enable],dword 0 |
39 | je @f |
35 | je @f |
40 | 36 | ||
41 | add [offset_x_tray],CLOCK_SIZE |
37 | add [offset_x_tray],CLOCK_SIZE |
42 | 38 | ||
43 | mov ebx,[max_x] |
39 | mov ebx,[max_x] |
44 | sub ebx,[offset_x_tray] |
40 | sub ebx,[offset_x_tray] |
45 | shl ebx,16 |
41 | shl ebx,16 |
46 | add ebx,CLOCK_SIZE-2 |
42 | add ebx,CLOCK_SIZE-2 |
47 | mov [pos_x_clock],ebx |
43 | mov [pos_x_clock],ebx |
48 | mcall ,,,0x40000000+2 ; time/date button |
44 | mcall ,,,0x40000000+2 ; time/date button |
49 | ;-------------------------------------- |
45 | ;-------------------------------------- |
50 | align 4 |
46 | align 4 |
51 | @@: |
47 | @@: |
52 | cmp [cpu_usage_enable],dword 0 |
48 | cmp [cpu_usage_enable],dword 0 |
53 | je @f |
49 | je @f |
54 | 50 | ||
55 | add [offset_x_tray],CPU_USAGE_SIZE |
51 | add [offset_x_tray],CPU_USAGE_SIZE |
56 | 52 | ||
57 | mov ebx,[max_x] |
53 | mov ebx,[max_x] |
58 | sub ebx,[offset_x_tray] |
54 | sub ebx,[offset_x_tray] |
59 | shl ebx,16 |
55 | shl ebx,16 |
60 | add ebx,CPU_USAGE_SIZE-2 |
56 | add ebx,CPU_USAGE_SIZE-2 |
61 | mov [pos_x_cpu_usage],ebx |
57 | mov [pos_x_cpu_usage],ebx |
62 | mcall ,,,0x40000000+18 ;button 18 - sysmeter_name (GMON) |
58 | mcall ,,,0x40000000+18 ;button 18 - sysmeter_name (GMON) |
63 | ;-------------------------------------- |
59 | ;-------------------------------------- |
64 | align 4 |
60 | align 4 |
65 | @@: |
61 | @@: |
66 | cmp [chlang_enable],dword 0 |
62 | cmp [chlang_enable],dword 0 |
67 | je @f |
63 | je @f |
68 | 64 | ||
69 | add [offset_x_tray],CHLANG_SIZE |
65 | add [offset_x_tray],CHLANG_SIZE |
70 | 66 | ||
71 | mov ebx,[max_x] |
67 | mov ebx,[max_x] |
72 | sub ebx,[offset_x_tray] |
68 | sub ebx,[offset_x_tray] |
73 | shl ebx,16 |
69 | shl ebx,16 |
74 | add ebx,CHLANG_SIZE-2 |
70 | add ebx,CHLANG_SIZE-2 |
75 | mov [pos_x_cpu_chlang],ebx |
71 | mov [pos_x_cpu_chlang],ebx |
76 | mcall ,,,0x40000000+16 ;button 16 - chang language |
72 | mcall ,,,0x40000000+16 ;button 16 - chang language |
77 | ;-------------------------------------- |
73 | ;-------------------------------------- |
78 | align 4 |
74 | align 4 |
79 | @@: |
75 | @@: |
80 | cmp [page_list_enable],dword 0 |
76 | cmp [page_list_enable],dword 0 |
81 | je @f |
77 | je @f |
82 | 78 | ||
83 | add [offset_x_tray],PAGE_LIST_SIZE |
79 | add [offset_x_tray],PAGE_LIST_SIZE |
84 | 80 | ||
85 | mov ebx,[max_x] |
81 | mov ebx,[max_x] |
86 | sub ebx,[offset_x_tray] |
82 | sub ebx,[offset_x_tray] |
87 | shl ebx,16 |
83 | shl ebx,16 |
88 | add ebx,10 |
84 | add ebx,10 |
89 | mov [pos_x_page_list],ebx |
85 | mov [pos_x_page_list],ebx |
90 | mcall ,,,0x40000000+22 ;button 22 - page list decrease |
86 | mcall ,,,0x40000000+22 ;button 22 - page list decrease |
91 | 87 | ||
92 | add ebx,24 shl 16 |
88 | add ebx,24 shl 16 |
93 | 89 | ||
94 | mcall ,,,0x40000000+21 ;button 21 - page list decrease |
90 | mcall ,,,0x40000000+21 ;button 21 - page list decrease |
95 | ;-------------------------------------- |
91 | ;-------------------------------------- |
96 | align 4 |
92 | align 4 |
97 | @@: |
93 | @@: |
98 | ret |
94 | ret |
99 | ;------------------------------------------------------------------------------ |
95 | ;------------------------------------------------------------------------------ |
- | 96 | align 4 |
|
100 | draw_time_skin: |
97 | draw_time_skin: |
101 | cmp [clock_enable],dword 0 |
98 | cmp [clock_enable],dword 0 |
102 | je .exit |
99 | je .exit |
103 | 100 | ||
104 | 101 | ||
105 | mov ebx,[pos_x_clock] |
102 | mov ebx,[pos_x_clock] |
106 | call calculate_button_y_coordinate_and_size |
103 | call calculate_button_y_coordinate_and_size |
107 | 104 | ||
108 | mov edx,[Clock_color] ;time_bgr_color |
105 | mov edx,[Clock_color] ;time_bgr_color |
109 | mov esi,[wcolor] |
106 | mov esi,[wcolor] |
110 | call draw_appl_button |
107 | call draw_appl_button |
111 | ;-------------------------------------- |
108 | ;-------------------------------------- |
112 | align 4 |
109 | align 4 |
113 | .exit: |
110 | .exit: |
114 | ret |
111 | ret |
115 | ;------------------------------------------------------------------------------ |
112 | ;------------------------------------------------------------------------------ |
- | 113 | align 4 |
|
116 | draw_time: |
114 | draw_time: |
117 | cmp [clock_enable],dword 0 |
115 | cmp [clock_enable],dword 0 |
118 | je .exit |
116 | je .exit |
119 | 117 | ||
120 | mcall 3 |
118 | mcall 3 |
121 | cmp eax,[ptime] |
119 | cmp eax,[ptime] |
122 | jz .exit |
120 | jz .exit |
123 | 121 | ||
124 | mov [ptime],eax |
122 | mov [ptime],eax |
125 | ;-------------------------------------- |
123 | ;-------------------------------------- |
126 | ; draw hours and minutes |
124 | ; draw hours and minutes |
127 | movzx ebx,al |
125 | movzx ebx,al |
128 | shr eax,8 |
126 | shr eax,8 |
129 | movzx ecx,al |
127 | movzx ecx,al |
130 | shr eax,8 |
128 | shr eax,8 |
131 | movzx edx,al |
129 | movzx edx,al |
132 | ; ebx ecx edx h m s |
130 | ; ebx ecx edx h m s |
133 | push ebx |
131 | push ebx |
134 | push ecx |
132 | push ecx |
135 | 133 | ||
136 | mov ebx,[pos_x_clock] |
134 | mov ebx,[pos_x_clock] |
137 | call calculate_button_y_coordinate_and_size |
135 | call calculate_button_y_coordinate_and_size |
138 | movzx eax,cx |
136 | movzx eax,cx |
139 | shr eax,1 |
137 | shr eax,1 |
140 | sub eax,4 |
138 | sub eax,4 |
141 | shr ecx,16 |
139 | shr ecx,16 |
142 | add eax,ecx |
140 | add eax,ecx |
143 | mov bx,ax |
141 | mov bx,ax |
144 | 142 | ||
145 | add ebx,18 shl 16 |
143 | add ebx,18 shl 16 |
146 | 144 | ||
147 | ; mov ecx,[bte] |
145 | ; mov ecx,[bte] |
148 | mov ecx,[PanelText_color] |
146 | mov ecx,[PanelText_color] |
149 | or ecx,0x40000000 |
147 | or ecx,0x40000000 |
150 | mov edx,[esp] ; __:_X |
148 | mov edx,[esp] ; __:_X |
151 | and edx,15 |
149 | and edx,15 |
152 | add ebx,10*65536 |
150 | add ebx,10*65536 |
153 | add edx,text |
151 | add edx,text |
154 | mcall 4,,,,1,[Clock_color] ;time_bgr_color |
152 | mcall 4,,,,1,[Clock_color] ;time_bgr_color |
155 | 153 | ||
156 | pop edx ; __:X_ |
154 | pop edx ; __:X_ |
157 | shr edx,4 |
155 | shr edx,4 |
158 | and edx,15 |
156 | and edx,15 |
159 | sub ebx,6*65536 |
157 | sub ebx,6*65536 |
160 | add edx,text |
158 | add edx,text |
161 | mcall |
159 | mcall |
162 | 160 | ||
163 | mov edx,[esp] ; _X:__ |
161 | mov edx,[esp] ; _X:__ |
164 | and edx,15 |
162 | and edx,15 |
165 | sub ebx,11*65536 |
163 | sub ebx,11*65536 |
166 | add edx,text |
164 | add edx,text |
167 | mcall |
165 | mcall |
168 | 166 | ||
169 | pop edx ; X_:__ |
167 | pop edx ; X_:__ |
170 | shr edx,4 |
168 | shr edx,4 |
171 | and edx,15 |
169 | and edx,15 |
172 | sub ebx,6*65536 |
170 | sub ebx,6*65536 |
173 | add edx,text |
171 | add edx,text |
174 | mcall |
172 | mcall |
175 | ;-------------------------------------- |
173 | ;-------------------------------------- |
176 | ; draw seconds |
174 | ; draw seconds |
177 | mov ebx,[pos_x_clock] |
175 | mov ebx,[pos_x_clock] |
178 | call calculate_button_y_coordinate_and_size |
176 | call calculate_button_y_coordinate_and_size |
179 | movzx eax,cx |
177 | movzx eax,cx |
180 | shr eax,1 |
178 | shr eax,1 |
181 | sub eax,4 |
179 | sub eax,4 |
182 | shr ecx,16 |
180 | shr ecx,16 |
183 | add eax,ecx |
181 | add eax,ecx |
184 | mov bx,ax |
182 | mov bx,ax |
185 | 183 | ||
186 | add ebx,17 shl 16 |
184 | add ebx,17 shl 16 |
187 | 185 | ||
188 | mcall 3 |
186 | mcall 3 |
189 | 187 | ||
190 | mov ecx,eax |
188 | mov ecx,eax |
191 | shr ecx,16 |
189 | shr ecx,16 |
192 | and ecx,1 |
190 | and ecx,1 |
193 | ; mov edx,[bte] |
191 | ; mov edx,[bte] |
194 | mov edx,[PanelText_color] |
192 | mov edx,[PanelText_color] |
195 | sub edx,[Clock_color] ;time_bgr_color;[wcolor] |
193 | sub edx,[Clock_color] ;time_bgr_color;[wcolor] |
196 | imul ecx,edx |
194 | imul ecx,edx |
197 | add ecx,[Clock_color] ;time_bgr_color;[wcolor] |
195 | add ecx,[Clock_color] ;time_bgr_color;[wcolor] |
198 | 196 | ||
199 | mcall 4,,,sec,1 |
197 | mcall 4,,,sec,1 |
200 | 198 | ||
201 | call draw_cpu_usage |
199 | call draw_cpu_usage |
202 | ;-------------------------------------- |
200 | ;-------------------------------------- |
203 | align 4 |
201 | align 4 |
204 | .exit: |
202 | .exit: |
205 | ret |
203 | ret |
206 | ;------------------------------------------------------------------------------ |
204 | ;------------------------------------------------------------------------------ |
207 | align 4 |
205 | align 4 |
208 | draw_list_button: |
206 | draw_list_button: |
209 | cmp [page_list_enable],dword 0 |
207 | cmp [page_list_enable],dword 0 |
210 | je .exit |
208 | je .exit |
211 | ; draw page list button "skin" |
209 | ; draw page list button "skin" |
212 | mov ebx,[pos_x_page_list] |
210 | mov ebx,[pos_x_page_list] |
213 | mov bx,10 |
211 | mov bx,10 |
214 | 212 | ||
215 | call calculate_button_y_coordinate_and_size |
213 | call calculate_button_y_coordinate_and_size |
216 | 214 | ||
217 | ; mov ecx,3 shl 16 |
215 | ; mov ecx,3 shl 16 |
218 | ; add ecx,[height] |
216 | ; add ecx,[height] |
219 | ; sub cx,6 |
217 | ; sub cx,6 |
220 | 218 | ||
221 | xor edx,edx |
219 | xor edx,edx |
222 | ; mcall 13 |
220 | ; mcall 13 |
223 | 221 | ||
224 | mov edx,[PageList_color] ;0xffffff |
222 | mov edx,[PageList_color] ;0xffffff |
225 | mov esi,[wcolor] |
223 | mov esi,[wcolor] |
226 | call draw_appl_button |
224 | call draw_appl_button |
227 | 225 | ||
228 | add ebx,24 shl 16 ; 18 shl 16 |
226 | add ebx,24 shl 16 ; 18 shl 16 |
229 | ; mcall |
227 | ; mcall |
230 | 228 | ||
231 | mov edx,[PageList_color] ;0xffffff |
229 | mov edx,[PageList_color] ;0xffffff |
232 | mov esi,[wcolor] |
230 | mov esi,[wcolor] |
233 | call draw_appl_button |
231 | call draw_appl_button |
234 | 232 | ||
235 | ; sub ebx,23 shl 16 ; 19 shl 16 |
233 | ; sub ebx,23 shl 16 ; 19 shl 16 |
236 | ; sub bx,2 |
234 | ; sub bx,2 |
237 | 235 | ||
238 | ; add ecx,1 shl 16 |
236 | ; add ecx,1 shl 16 |
239 | ; sub ecx,2 |
237 | ; sub ecx,2 |
240 | ; mcall ,,,0xffffff |
238 | ; mcall ,,,0xffffff |
241 | 239 | ||
242 | ; add ebx,24 shl 16 |
240 | ; add ebx,24 shl 16 |
243 | ; mcall |
241 | ; mcall |
244 | ;-------------------------------------- |
242 | ;-------------------------------------- |
245 | ; draw page list button text <> |
243 | ; draw page list button text <> |
246 | mov ebx,[pos_x_page_list] |
244 | mov ebx,[pos_x_page_list] |
247 | add ebx,2 shl 16 |
245 | add ebx,2 shl 16 |
248 | ; mov eax,[height] |
246 | ; mov eax,[height] |
249 | ; shr eax,1 |
247 | ; shr eax,1 |
250 | ; sub eax,4 |
248 | ; sub eax,4 |
251 | ; mov bx,ax |
249 | ; mov bx,ax |
252 | 250 | ||
253 | call calculate_button_y_coordinate_and_size |
251 | call calculate_button_y_coordinate_and_size |
254 | movzx eax,cx |
252 | movzx eax,cx |
255 | shr eax,1 |
253 | shr eax,1 |
256 | sub eax,4 |
254 | sub eax,4 |
257 | shr ecx,16 |
255 | shr ecx,16 |
258 | add eax,ecx |
256 | add eax,ecx |
259 | mov bx,ax |
257 | mov bx,ax |
260 | 258 | ||
261 | xor ecx,ecx |
259 | xor ecx,ecx |
262 | mcall 4,,,page_a1,5 |
260 | mcall 4,,,page_a1,5 |
263 | 261 | ||
264 | add ebx,1 shl 16 |
262 | add ebx,1 shl 16 |
265 | mcall |
263 | mcall |
266 | ;-------------------------------------- |
264 | ;-------------------------------------- |
267 | ; draw page list number |
265 | ; draw page list number |
268 | mov edx,ebx |
266 | mov edx,ebx |
269 | add edx,9 shl 16 |
267 | add edx,9 shl 16 |
270 | mcall 47,0x20000,[page_list],,[system_colours.work_button_text] |
268 | mcall 47,0x20000,[page_list],,[system_colours.work_button_text] |
- | 269 | ;-------------------------------------- |
|
- | 270 | align 4 |
|
271 | .exit: |
271 | .exit: |
272 | ret |
272 | ret |
273 | ;------------------------------------------------------------------------------ |
273 | ;------------------------------------------------------------------------------ |
274 | align 4 |
274 | align 4 |
275 | draw_cpu_usage: |
275 | draw_cpu_usage: |
276 | cmp [cpu_usage_enable],dword 0 |
276 | cmp [cpu_usage_enable],dword 0 |
277 | je .exit |
277 | je .exit |
278 | 278 | ||
279 | pushad |
279 | pushad |
280 | mov eax,[height] |
280 | mov eax,[height] |
281 | sub eax,[button_top_offset] |
281 | sub eax,[button_top_offset] |
282 | sub eax,[button_bottom_offset] |
282 | sub eax,[button_bottom_offset] |
283 | sub eax,2 |
283 | sub eax,2 |
284 | 284 | ||
285 | mov [ysi],eax ;12 |
285 | mov [ysi],eax ;12 |
286 | mcall 18,5 ; TSC / SEC |
286 | mcall 18,5 ; TSC / SEC |
287 | 287 | ||
288 | shr eax,20 |
288 | shr eax,20 |
289 | push eax |
289 | push eax |
290 | mcall 18,4 ; IDLE / SEC |
290 | mcall 18,4 ; IDLE / SEC |
291 | 291 | ||
292 | shr eax,20 |
292 | shr eax,20 |
293 | xor edx,edx |
293 | xor edx,edx |
294 | imul eax,[ysi] |
294 | imul eax,[ysi] |
295 | cdq |
295 | cdq |
296 | pop ebx |
296 | pop ebx |
297 | inc ebx |
297 | inc ebx |
298 | div ebx |
298 | div ebx |
299 | cmp eax,[ysi] |
299 | cmp eax,[ysi] |
300 | jng .no_bug |
300 | jng .no_bug |
301 | 301 | ||
302 | mov eax,[ysi] |
302 | mov eax,[ysi] |
303 | ;-------------------------------------- |
303 | ;-------------------------------------- |
304 | align 4 |
304 | align 4 |
305 | .no_bug: |
305 | .no_bug: |
306 | push eax |
306 | push eax |
307 | 307 | ||
308 | mov ebx,[pos_x_cpu_usage] |
308 | mov ebx,[pos_x_cpu_usage] |
309 | mov ecx,[button_top_offset] |
309 | mov ecx,[button_top_offset] |
310 | shl ecx,16 |
310 | shl ecx,16 |
311 | add ecx,[ysi] |
311 | add ecx,[ysi] |
312 | add ecx,2 |
312 | add ecx,2 |
313 | 313 | ||
314 | mov edx,[CpuUsageBckgr_color] ;0xdd2222 |
314 | mov edx,[CpuUsageBckgr_color] ;0xdd2222 |
315 | mov esi,[wcolor] |
315 | mov esi,[wcolor] |
316 | call draw_appl_button |
316 | call draw_appl_button |
317 | 317 | ||
318 | pop eax |
318 | pop eax |
319 | 319 | ||
320 | ; mov ecx,4 shl 16 |
320 | ; mov ecx,4 shl 16 |
321 | mov ecx,[button_top_offset] |
321 | mov ecx,[button_top_offset] |
322 | inc ecx |
322 | inc ecx |
323 | shl ecx,16 |
323 | shl ecx,16 |
324 | add ecx,eax |
324 | add ecx,eax |
325 | 325 | ||
326 | 326 | ||
327 | add ebx,1 shl 16 |
327 | add ebx,1 shl 16 |
328 | sub ebx,2 |
328 | sub ebx,2 |
329 | 329 | ||
330 | mcall 13,,,[CpuUsage_color] ;0x44aa44 |
330 | mcall 13,,,[CpuUsage_color] ;0x44aa44 |
331 | 331 | ||
332 | popad |
332 | popad |
- | 333 | ;-------------------------------------- |
|
- | 334 | align 4 |
|
333 | .exit: |
335 | .exit: |
334 | ret |
336 | ret |
335 | ;------------------------------------------------------------------------------ |
337 | ;------------------------------------------------------------------------------ |
336 | align 4 |
338 | align 4 |
337 | ; eax = number (1 or 2) |
339 | ; eax = number (1 or 2) |
338 | ; ebx = language id |
340 | ; ebx = language id |
339 | draw_flag: |
341 | draw_flag: |
340 | cmp [chlang_enable],dword 0 |
342 | cmp [chlang_enable],dword 0 |
341 | je .exit |
343 | je .exit |
342 | 344 | ||
343 | cmp [draw_flag_certainly],0 |
345 | cmp [draw_flag_certainly],0 |
344 | je .exit |
346 | je .exit |
345 | 347 | ||
346 | pusha |
348 | pusha |
347 | ;-------------------------------------- |
349 | ;-------------------------------------- |
348 | ; get and draw keyboard layout |
350 | ; get and draw keyboard layout |
349 | mcall 26,2,9 |
351 | mcall 26,2,9 |
350 | 352 | ||
351 | mov ebx,eax |
353 | mov ebx,eax |
352 | 354 | ||
353 | ; mov eax,2 |
355 | ; mov eax,2 |
354 | mov [type_lang],al |
356 | mov [type_lang],al |
355 | ; eax = 2 BIG |
357 | ; eax = 2 BIG |
356 | ; eax = 1 small |
358 | ; eax = 1 small |
357 | mov edx,ebx |
359 | mov edx,ebx |
358 | 360 | ||
359 | pushad |
361 | pushad |
360 | mov ebx,[pos_x_cpu_chlang] |
362 | mov ebx,[pos_x_cpu_chlang] |
361 | call calculate_button_y_coordinate_and_size |
363 | call calculate_button_y_coordinate_and_size |
362 | 364 | ||
363 | ; cmp [type_lang],1 |
365 | ; cmp [type_lang],1 |
364 | ; je .label_1 |
366 | ; je .label_1 |
365 | 367 | ||
366 | mov edx,[ChangeLang_color] ;time_bgr_color ;0xff ;[wcolor] |
368 | mov edx,[ChangeLang_color] ;time_bgr_color ;0xff ;[wcolor] |
367 | ; jmp .label_2 |
369 | ; jmp .label_2 |
368 | ;-------------------------------------- |
370 | ;-------------------------------------- |
369 | ;align 4 |
371 | ;align 4 |
370 | ;.label_1: |
372 | ;.label_1: |
371 | ; mov edx,0x7700 |
373 | ; mov edx,0x7700 |
372 | ;-------------------------------------- |
374 | ;-------------------------------------- |
373 | ;align 4 |
375 | ;align 4 |
374 | ;.label_2: |
376 | ;.label_2: |
375 | mov esi,[wcolor] |
377 | mov esi,[wcolor] |
376 | call draw_appl_button |
378 | call draw_appl_button |
377 | 379 | ||
378 | popad |
380 | popad |
379 | 381 | ||
380 | mov ebx,[pos_x_cpu_chlang] |
382 | mov ebx,[pos_x_cpu_chlang] |
381 | mov ax,bx |
383 | mov ax,bx |
382 | shr eax,1 |
384 | shr eax,1 |
383 | shl eax,16 |
385 | shl eax,16 |
384 | add ebx,eax |
386 | add ebx,eax |
385 | sub ebx,6 shl 16 |
387 | sub ebx,6 shl 16 |
386 | 388 | ||
387 | call calculate_button_y_coordinate_and_size |
389 | call calculate_button_y_coordinate_and_size |
388 | movzx eax,cx |
390 | movzx eax,cx |
389 | shr eax,1 |
391 | shr eax,1 |
390 | sub eax,4 |
392 | sub eax,4 |
391 | shr ecx,16 |
393 | shr ecx,16 |
392 | add eax,ecx |
394 | add eax,ecx |
393 | mov bx,ax |
395 | mov bx,ax |
394 | 396 | ||
395 | ; mov ecx,[bte] ; color |
397 | ; mov ecx,[bte] ; color |
396 | mov ecx,[PanelText_color] |
398 | mov ecx,[PanelText_color] |
397 | 399 | ||
398 | if caps_lock_check |
400 | if caps_lock_check |
399 | ; make flag_text 'enfigerufretua' or 'ENFIGERUFRETUA' depending on CapsLock state. |
401 | ; make flag_text 'enfigerufretua' or 'ENFIGERUFRETUA' depending on CapsLock state. |
400 | call flag_text_setup |
402 | call flag_text_setup |
401 | end if |
403 | end if |
402 | dec edx |
404 | dec edx |
403 | shl edx,1 |
405 | shl edx,1 |
404 | add edx,flag_text |
406 | add edx,flag_text |
405 | mcall 4,,,,2 |
407 | mcall 4,,,,2 |
406 | popa |
408 | popa |
407 | mov [draw_flag_certainly],0 |
409 | mov [draw_flag_certainly],0 |
- | 410 | ;-------------------------------------- |
|
- | 411 | align 4 |
|
408 | .exit: |
412 | .exit: |
409 | ret |
413 | ret |
410 | ;------------------------------------------------------------------------------ |
414 | ;------------------------------------------------------------------------------ |
411 | align 4 |
415 | align 4 |
412 | if caps_lock_check |
416 | if caps_lock_check |
413 | flag_text_setup: |
417 | flag_text_setup: |
414 | pusha |
418 | pusha |
415 | mcall 66,3 |
419 | mcall 66,3 |
416 | mov edi, flag_text |
420 | mov edi, flag_text |
417 | mov esi, flag_text_caps_off |
421 | mov esi, flag_text_caps_off |
418 | test eax, 0x40 |
422 | test eax, 0x40 |
419 | jz @f |
423 | jz @f |
420 | 424 | ||
421 | add esi, 14 |
425 | add esi, 14 |
422 | ;-------------------------------------- |
426 | ;-------------------------------------- |
423 | align 4 |
427 | align 4 |
424 | @@: |
428 | @@: |
425 | mov ecx, 14 |
429 | mov ecx, 14 |
426 | rep movsb |
430 | rep movsb |
427 | 431 | ||
428 | popa |
432 | popa |
429 | ret |
433 | ret |
430 | 434 | ||
431 | ;flag_text_caps_off db 'enfigerufretua' |
435 | ;flag_text_caps_off db 'enfigerufretua' |
432 | flag_text_caps_off: |
436 | flag_text_caps_off: |
433 | db 'EnFiGeRuFrEtUa' |
437 | db 'EnFiGeRuFrEtUa' |
434 | db 'ENFIGERUFRETUA' |
438 | db 'ENFIGERUFRETUA' |
435 | end if |
439 | end if |
436 | ;------------------------------------------------------------------------------> |
440 | ;------------------------------------------------------------------------------> |