Rev 2068 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed
Rev | Author | Line No. | Line |
---|---|---|---|
31 | halyavin | 1 | ; |
51 | mikedld | 2 | ; UNIFORM WINDOW COLOURS & SKIN |
31 | halyavin | 3 | ; |
4 | ; Compile with FASM for Menuet |
||
5 | ; |
||
6 | ; < russian edition by Ivan Poddubny > |
||
51 | mikedld | 7 | ; < skin selection by Mike Semenyako > |
31 | halyavin | 8 | ; |
1611 | mario79 | 9 | ; last update: 10/09/2010 |
10 | ; written by: Marat Zakiyanov aka Mario79, aka Mario |
||
11 | ; changes: select path with OpenDialog |
||
31 | halyavin | 12 | ;****************************************************************************** |
3271 | mario79 | 13 | use32 |
14 | org 0 |
||
15 | db 'MENUET01' ; identifier |
||
16 | dd 1 ; header version |
||
17 | dd START ; start address |
||
18 | dd I_END ; file size |
||
19 | dd i_end ; memory |
||
20 | dd stacktop ; stack pointer |
||
21 | dd skin_info ; parameters |
||
22 | dd cur_dir_path ; path to file |
||
23 | |||
1611 | mario79 | 24 | include 'lang.inc' |
1702 | Lrz | 25 | include '../../../config.inc' ;for nightbuild |
1611 | mario79 | 26 | include '../../../macros.inc' |
27 | include 'kglobals.inc' |
||
28 | include 'unpacker.inc' |
||
29 | include '../../../develop/libraries/box_lib/load_lib.mac' |
||
30 | @use_library |
||
31 | halyavin | 31 | ;****************************************************************************** |
32 | |||
33 | |||
51 | mikedld | 34 | struct SKIN_HEADER |
485 | heavyiron | 35 | ident dd ? |
36 | version dd ? |
||
37 | params dd ? |
||
38 | buttons dd ? |
||
39 | bitmaps dd ? |
||
51 | mikedld | 40 | ends |
31 | halyavin | 41 | |
51 | mikedld | 42 | struct SKIN_PARAMS |
485 | heavyiron | 43 | skin_height dd ? |
44 | margin.right dw ? |
||
45 | margin.left dw ? |
||
46 | margin.bottom dw ? |
||
47 | margin.top dw ? |
||
48 | colors.inner dd ? |
||
49 | colors.outer dd ? |
||
50 | colors.frame dd ? |
||
51 | colors_1.inner dd ? |
||
52 | colors_1.outer dd ? |
||
53 | colors_1.frame dd ? |
||
54 | dtp.size dd ? |
||
55 | dtp.data db 40 dup (?) |
||
51 | mikedld | 56 | ends |
57 | |||
58 | struct SKIN_BUTTONS |
||
485 | heavyiron | 59 | type dd ? |
60 | pos: |
||
61 | left dw ? |
||
62 | top dw ? |
||
63 | size: |
||
64 | width dw ? |
||
65 | height dw ? |
||
51 | mikedld | 66 | ends |
67 | |||
68 | struct SKIN_BITMAPS |
||
485 | heavyiron | 69 | kind dw ? |
70 | type dw ? |
||
71 | _data dd ? |
||
51 | mikedld | 72 | ends |
73 | |||
1611 | mario79 | 74 | ;--------------------------------------------------------------------- |
3271 | mario79 | 75 | START: ; start of execution |
76 | ;--------------------------------------------------------------------- |
||
1611 | mario79 | 77 | mcall 68,11 |
78 | |||
79 | test eax,eax |
||
80 | jz close |
||
81 | |||
82 | load_libraries l_libs_start,end_l_libs |
||
83 | |||
84 | ;if return code =-1 then exit, else nornary work |
||
85 | inc eax |
||
86 | test eax,eax |
||
87 | jz close |
||
88 | ;--------------------------------------------------------------------- |
||
89 | mov edi,filename_area |
||
90 | mov esi,start_temp_file_name |
||
91 | xor eax,eax |
||
92 | cld |
||
93 | @@: |
||
94 | lodsb |
||
95 | stosb |
||
96 | test eax,eax |
||
97 | jnz @b |
||
98 | |||
99 | |||
100 | mov edi,fname |
||
101 | mov esi,default_dtp |
||
102 | xor eax,eax |
||
103 | cld |
||
104 | @@: |
||
105 | lodsb |
||
106 | stosb |
||
107 | test eax,eax |
||
108 | jnz @b |
||
109 | |||
110 | ;--------------------------------------------------------------------- |
||
111 | mov edi,skin_info |
||
3271 | mario79 | 112 | cmp byte [edi], 0 |
1611 | mario79 | 113 | jne skin_path_ready |
114 | mov esi,default_skin |
||
115 | xor eax,eax |
||
116 | cld |
||
117 | @@: |
||
118 | lodsb |
||
119 | stosb |
||
120 | test eax,eax |
||
121 | jnz @b |
||
122 | skin_path_ready: |
||
123 | ;--------------------------------------------------------------------- |
||
124 | ;OpenDialog initialisation |
||
3271 | mario79 | 125 | push dword OpenDialog_data |
126 | call [OpenDialog_Init] |
||
1611 | mario79 | 127 | |
3271 | mario79 | 128 | push dword OpenDialog_data2 |
129 | call [OpenDialog_Init] |
||
1611 | mario79 | 130 | |
131 | ; prepare for PathShow |
||
132 | push dword PathShow_data_1 |
||
133 | call [PathShow_prepare] |
||
134 | |||
135 | push dword PathShow_data_2 |
||
136 | call [PathShow_prepare] |
||
137 | ;--------------------------------------------------------------------- |
||
3271 | mario79 | 138 | mcall 48,3,color_table,4*10 ; get current colors |
139 | call load_skin_file.2 |
||
140 | ;--------------------------------------------------------------------- |
||
31 | halyavin | 141 | red: |
3271 | mario79 | 142 | call draw_window ; at first, draw the window |
143 | ;--------------------------------------------------------------------- |
||
31 | halyavin | 144 | still: |
3271 | mario79 | 145 | mcall 23,5 ; wait here for event |
31 | halyavin | 146 | |
3271 | mario79 | 147 | dec eax ; redraw request ? |
148 | jz red |
||
149 | dec eax ; key in buffer ? |
||
150 | jz key |
||
151 | dec eax ; button in buffer ? |
||
152 | jz button |
||
31 | halyavin | 153 | |
3271 | mario79 | 154 | call draw_cursor |
31 | halyavin | 155 | |
3271 | mario79 | 156 | jmp still |
157 | ;--------------------------------------------------------------------- |
||
158 | key: ; key |
||
159 | mcall 2 ; just read it and ignore |
||
160 | jmp still |
||
161 | ;--------------------------------------------------------------------- |
||
162 | button: ; button |
||
163 | mcall 17 ; get id |
||
31 | halyavin | 164 | |
3271 | mario79 | 165 | cmp ah,12 ; load file |
166 | jne no_load |
||
31 | halyavin | 167 | |
3271 | mario79 | 168 | call load_file |
169 | call draw_window |
||
170 | jmp still |
||
171 | ;-------------------------------------- |
||
172 | no_load: |
||
173 | cmp ah,13 ; save file |
||
174 | jne no_save |
||
31 | halyavin | 175 | |
3271 | mario79 | 176 | call save_file |
177 | jmp still |
||
178 | ;-------------------------------------- |
||
179 | no_save: |
||
180 | cmp ah,14 ; set 3d buttons |
||
181 | jne no_3d |
||
31 | halyavin | 182 | |
3271 | mario79 | 183 | mcall 48,1,1 |
184 | jmp doapply |
||
185 | ;-------------------------------------- |
||
186 | no_3d: |
||
187 | cmp ah,15 ; set flat buttons |
||
188 | jne no_flat |
||
31 | halyavin | 189 | |
3271 | mario79 | 190 | mcall 48, 1, 0 |
191 | ;-------------------------------------- |
||
484 | diamond | 192 | doapply: |
3271 | mario79 | 193 | mcall 48, 0, 0 |
194 | jmp still |
||
195 | ;-------------------------------------- |
||
196 | no_flat: |
||
197 | cmp ah,16 ; apply |
||
198 | jne no_apply |
||
199 | ;-------------------------------------- |
||
200 | apply_direct: |
||
201 | mcall 48,2,color_table,10*4 |
||
202 | jmp doapply |
||
203 | ;-------------------------------------- |
||
204 | no_apply: |
||
205 | cmp ah,17 ; load skin file |
||
206 | jne no_load_skin |
||
31 | halyavin | 207 | |
3271 | mario79 | 208 | call load_skin_file |
209 | call draw_window |
||
210 | jmp still |
||
211 | ;-------------------------------------- |
||
212 | no_load_skin: |
||
213 | cmp ah,18 ; apply skin |
||
214 | jne no_apply_skin |
||
31 | halyavin | 215 | |
3271 | mario79 | 216 | cmp [skin_info],0 |
217 | je no_apply_skin |
||
51 | mikedld | 218 | |
3271 | mario79 | 219 | mcall 48,8,skin_info |
220 | call draw_window |
||
221 | jmp still |
||
222 | ;-------------------------------------- |
||
223 | no_apply_skin: |
||
224 | cmp ah,31 |
||
225 | jb no_new_colour |
||
51 | mikedld | 226 | |
3271 | mario79 | 227 | cmp ah,41 |
228 | jg no_new_colour |
||
229 | |||
230 | shr eax,8 |
||
231 | sub eax,31 |
||
232 | shl eax,2 |
||
233 | mov ebx,[color] |
||
234 | mov [eax+color_table],ebx |
||
235 | cmp dword[not_packed_area+SKIN_HEADER.ident],'SKIN' |
||
236 | jne @f |
||
31 | halyavin | 237 | |
3271 | mario79 | 238 | mov edi,[not_packed_area+SKIN_HEADER.params] |
239 | mov dword[edi+not_packed_area+SKIN_PARAMS.dtp.data+eax],ebx |
||
240 | call draw_skin |
||
241 | ;-------------------------------------- |
||
242 | @@: |
||
243 | call draw_colours |
||
244 | jmp still |
||
245 | ;-------------------------------------- |
||
246 | no_new_colour: |
||
247 | cmp ah,1 ; terminate |
||
248 | jnz noid1 |
||
249 | ;-------------------------------------- |
||
1611 | mario79 | 250 | close: |
3271 | mario79 | 251 | or eax,-1 |
252 | mcall |
||
253 | ;-------------------------------------- |
||
254 | noid1: |
||
255 | jmp still |
||
256 | ;--------------------------------------------------------------------- |
||
31 | halyavin | 257 | draw_cursor: |
3271 | mario79 | 258 | pusha |
259 | mcall 37,2 |
||
260 | cmp eax,0 |
||
261 | jne dc1 |
||
262 | popa |
||
263 | ret |
||
264 | ;-------------------------------------- |
||
265 | dc1: |
||
266 | mcall 37,1 |
||
267 | mov ebx,eax |
||
268 | shr ebx,16 |
||
269 | mov ecx,eax |
||
270 | and ecx,0xffff |
||
271 | cmp ecx,29 |
||
272 | jbe no_color |
||
31 | halyavin | 273 | |
3271 | mario79 | 274 | cmp ebx,32 |
275 | jbe no_color |
||
31 | halyavin | 276 | |
3271 | mario79 | 277 | cmp ebx,266 ; CHANGE COLOR |
278 | jb no_color |
||
31 | halyavin | 279 | |
3271 | mario79 | 280 | cmp ebx,266+20*3 |
281 | jg no_color |
||
31 | halyavin | 282 | |
3271 | mario79 | 283 | cmp ecx,30+128 |
284 | jge no_color |
||
31 | halyavin | 285 | |
3271 | mario79 | 286 | cmp ecx,29 |
287 | jb no_color |
||
31 | halyavin | 288 | |
3271 | mario79 | 289 | sub ebx,266 |
290 | mov eax,ebx |
||
291 | cdq |
||
292 | mov ebx,20 |
||
293 | div ebx |
||
294 | mov ebx,2 |
||
295 | sub ebx,eax |
||
296 | add ecx,-30 |
||
297 | not ecx |
||
298 | shl ecx,1 |
||
31 | halyavin | 299 | |
3271 | mario79 | 300 | mov byte [ebx+color],cl |
301 | call draw_color |
||
302 | no_color: |
||
303 | popa |
||
304 | ret |
||
1611 | mario79 | 305 | ;--------------------------------------------------------------------- |
306 | load_file: |
||
307 | ;--------------------------------------------------------------------- |
||
308 | ; invoke OpenDialog |
||
309 | mov [OpenDialog_data.type],dword 0 |
||
3271 | mario79 | 310 | push dword OpenDialog_data |
311 | call [OpenDialog_Start] |
||
1611 | mario79 | 312 | cmp [OpenDialog_data.status],1 |
313 | je .1 |
||
314 | ret |
||
315 | .1: |
||
316 | ; prepare for PathShow |
||
317 | push dword PathShow_data_1 |
||
318 | call [PathShow_prepare] |
||
31 | halyavin | 319 | |
1611 | mario79 | 320 | call draw_PathShow |
321 | ;--------------------------------------------------------------------- |
||
3271 | mario79 | 322 | xor eax, eax |
323 | mov ebx, read_info |
||
324 | mov dword [ebx], eax ; subfunction: read |
||
325 | mov dword [ebx+4], eax ; offset (low dword) |
||
326 | mov dword [ebx+8], eax ; offset (high dword) |
||
327 | mov dword [ebx+12], 40 ; read colors file: 4*10 bytes |
||
328 | mov dword [ebx+16], color_table ; address |
||
329 | mcall 70 |
||
330 | ret |
||
1611 | mario79 | 331 | ;--------------------------------------------------------------------- |
332 | load_skin_file: |
||
333 | ;--------------------------------------------------------------------- |
||
334 | ; invoke OpenDialog |
||
3271 | mario79 | 335 | push dword OpenDialog_data2 |
336 | call [OpenDialog_Start] |
||
1611 | mario79 | 337 | cmp [OpenDialog_data2.status],1 |
338 | je .1 |
||
339 | ret |
||
340 | .1: |
||
341 | ; prepare for PathShow |
||
342 | push dword PathShow_data_2 |
||
343 | call [PathShow_prepare] |
||
31 | halyavin | 344 | |
1611 | mario79 | 345 | call draw_PathShow |
346 | ;--------------------------------------------------------------------- |
||
347 | .2: |
||
3271 | mario79 | 348 | xor eax,eax |
349 | mov ebx,read_info2 |
||
350 | mov dword [ebx], eax ; subfunction: read |
||
351 | mov dword [ebx+4], eax ; offset (low dword) |
||
352 | mov dword [ebx+8], eax ; offset (high dword) |
||
353 | mov dword [ebx+12], 32*1024 ; read: max 32 KBytes |
||
354 | mov dword [ebx+16], file_load_area ; address |
||
355 | mcall 70 |
||
31 | halyavin | 356 | |
3271 | mario79 | 357 | mov esi, file_load_area |
179 | mikedld | 358 | |
3271 | mario79 | 359 | cmp dword [esi], 'KPCK' |
360 | jnz notpacked |
||
31 | halyavin | 361 | |
3271 | mario79 | 362 | cmp dword [esi+4], 32*1024 ; max 32 KBytes |
363 | ja doret |
||
51 | mikedld | 364 | |
3271 | mario79 | 365 | push unpack_area |
366 | push esi |
||
367 | call unpack |
||
368 | mov esi,unpack_area |
||
369 | ;-------------------------------------- |
||
370 | notpacked: |
||
371 | cmp [esi+SKIN_HEADER.ident],dword 'SKIN' |
||
372 | jne doret |
||
51 | mikedld | 373 | |
3271 | mario79 | 374 | mov edi,not_packed_area |
375 | mov ecx,0x8000/4 |
||
376 | rep movsd |
||
51 | mikedld | 377 | |
3271 | mario79 | 378 | mov ebp,not_packed_area |
379 | mov esi,[ebp+SKIN_HEADER.params] |
||
380 | add esi,ebp |
||
381 | lea esi,[esi+SKIN_PARAMS.dtp.data] |
||
382 | mov edi,color_table |
||
383 | mov ecx,10 |
||
384 | rep movsd |
||
385 | ;-------------------------------------- |
||
386 | doret: |
||
387 | ret |
||
1611 | mario79 | 388 | ;--------------------------------------------------------------------- |
389 | save_file: |
||
390 | ;--------------------------------------------------------------------- |
||
391 | ; invoke OpenDialog |
||
392 | mov [OpenDialog_data.type],dword 1 |
||
3271 | mario79 | 393 | push dword OpenDialog_data |
394 | call [OpenDialog_Start] |
||
1611 | mario79 | 395 | cmp [OpenDialog_data.status],1 |
396 | je .1 |
||
397 | ret |
||
398 | .1: |
||
399 | ; prepare for PathShow |
||
400 | push dword PathShow_data_1 |
||
401 | call [PathShow_prepare] |
||
31 | halyavin | 402 | |
1611 | mario79 | 403 | call draw_PathShow |
404 | ;--------------------------------------------------------------------- |
||
3271 | mario79 | 405 | xor eax,eax |
406 | mov ebx,write_info |
||
407 | mov [ebx],dword 2 ; subfunction: write |
||
408 | and [ebx+4],eax ; (reserved) |
||
409 | and [ebx+8],eax ; (reserved) |
||
410 | mov [ebx+12],dword 10*4 ; bytes to write |
||
411 | mov [ebx+16],dword color_table ; address |
||
412 | mcall 70 |
||
413 | ret |
||
1611 | mario79 | 414 | ;--------------------------------------------------------------------- |
31 | halyavin | 415 | draw_color: |
3271 | mario79 | 416 | pusha |
417 | mcall 13,<266,60>,<170,30>,[color] |
||
418 | mcall ,,<200,10>,[w_work] |
||
419 | mcall 47,<8,0+1*256>,[color],<272,201>,[w_work_text] |
||
420 | popa |
||
421 | ret |
||
2068 | mario79 | 422 | ;---------------------------------------------------------------------- |
31 | halyavin | 423 | draw_colours: |
3271 | mario79 | 424 | pusha |
425 | mov esi,color_table |
||
426 | mov ebx,225*65536+32 |
||
427 | mov ecx,32*65536+12 |
||
428 | ;-------------------------------------- |
||
429 | newcol: |
||
430 | mov edx,[esi] |
||
431 | mcall 13 |
||
432 | add ecx,18*65536 |
||
433 | add esi,4 |
||
434 | cmp esi,color_table+4*9 |
||
435 | jbe newcol |
||
31 | halyavin | 436 | |
3271 | mario79 | 437 | popa |
438 | ret |
||
2068 | mario79 | 439 | ;---------------------------------------------------------------------- |
51 | mikedld | 440 | draw_framerect: ; ebx,ecx |
3271 | mario79 | 441 | push ebx ecx |
442 | add bx,[esp+6] |
||
443 | mov cx,[esp+2] |
||
444 | dec ebx |
||
445 | mcall 38 |
||
446 | add cx,[esp] |
||
447 | rol ecx,16 |
||
448 | add cx,[esp] |
||
449 | sub ecx,0x00010001 |
||
450 | mcall |
||
451 | mov ebx,[esp+4] |
||
452 | mov ecx,[esp] |
||
453 | mov bx,[esp+6] |
||
454 | add cx,[esp+2] |
||
455 | dec ecx |
||
456 | mcall |
||
457 | add bx,[esp+4] |
||
458 | rol ebx,16 |
||
459 | add bx,[esp+4] |
||
460 | sub ebx,0x00010001 |
||
461 | mcall |
||
462 | add esp,8 |
||
463 | ret |
||
2068 | mario79 | 464 | ;---------------------------------------------------------------------- |
51 | mikedld | 465 | find_bitmap: |
3271 | mario79 | 466 | mov edi,[ebp+SKIN_HEADER.bitmaps] |
467 | add edi,ebp |
||
468 | xor ebx,ebx |
||
469 | ;-------------------------------------- |
||
470 | .lp1: |
||
471 | cmp dword[edi],0 |
||
472 | je .lp2 |
||
473 | |||
474 | cmp dword[edi+0],eax |
||
475 | jne @f |
||
476 | ;-------------------------------------- |
||
477 | mov ebx,[edi+SKIN_BITMAPS._data] |
||
478 | add ebx,ebp |
||
479 | mov ecx,[ebx-2] |
||
480 | mov cx,[ebx+4] |
||
481 | add ebx,8 |
||
482 | ;-------------------------------------- |
||
483 | .lp2: |
||
484 | ret |
||
485 | ;-------------------------------------- |
||
486 | @@: |
||
487 | add edi,8 |
||
488 | jmp .lp1 |
||
2068 | mario79 | 489 | ;---------------------------------------------------------------------- |
179 | mikedld | 490 | dec_edx: |
3271 | mario79 | 491 | sub dl,4 |
492 | jnc @f |
||
493 | |||
494 | xor dl,dl |
||
495 | ;-------------------------------------- |
||
496 | @@: |
||
497 | sub dh,4 |
||
498 | jnc @f |
||
499 | |||
500 | xor dh,dh |
||
501 | ;-------------------------------------- |
||
502 | @@: |
||
503 | rol edx,16 |
||
504 | sub dl,4 |
||
505 | jnc @f |
||
506 | |||
507 | xor dl,dl |
||
508 | ;-------------------------------------- |
||
509 | @@: |
||
510 | rol edx,16 |
||
511 | ret |
||
2068 | mario79 | 512 | ;---------------------------------------------------------------------- |
179 | mikedld | 513 | area: |
514 | .x = 345 |
||
515 | .y = 20 |
||
516 | .width = 206 |
||
517 | .height = 191 |
||
3271 | mario79 | 518 | ;-------------------------------------- |
179 | mikedld | 519 | wnd1: |
520 | .x = area.x+49 |
||
521 | .y = area.y+5 |
||
522 | .width = 150 |
||
523 | .height = 90 |
||
3271 | mario79 | 524 | ;-------------------------------------- |
179 | mikedld | 525 | wnd2: |
526 | .x = area.x+35 |
||
527 | .y = area.y+35 |
||
528 | .width = 150 |
||
529 | .height = 90 |
||
3271 | mario79 | 530 | ;-------------------------------------- |
179 | mikedld | 531 | wnd3: |
532 | .x = area.x+21 |
||
533 | .y = area.y+65 |
||
534 | .width = 150 |
||
535 | .height = 90 |
||
3271 | mario79 | 536 | ;-------------------------------------- |
179 | mikedld | 537 | wnd4: |
538 | .x = area.x+7 |
||
539 | .y = area.y+95 |
||
540 | .width = 150 |
||
541 | .height = 90 |
||
3271 | mario79 | 542 | ;-------------------------------------- |
179 | mikedld | 543 | virtual at edi+SKIN_PARAMS.dtp.data |
3271 | mario79 | 544 | dtp system_colors |
179 | mikedld | 545 | end virtual |
2068 | mario79 | 546 | ;---------------------------------------------------------------------- |
51 | mikedld | 547 | draw_skin: |
3271 | mario79 | 548 | mcall 13, |
549 | mov ebp,not_packed_area |
||
550 | mov edi,[ebp+SKIN_HEADER.params] |
||
551 | add edi,ebp |
||
552 | mpack ebx,wnd1.x,wnd1.width |
||
553 | mpack ecx,wnd1.y,wnd1.height |
||
554 | mov edx,[dtp.frame] |
||
555 | call draw_framerect |
||
556 | mcall 13, |
||
557 | mov eax,38 |
||
558 | mpack ebx,wnd1.x+1,wnd1.x+wnd1.width-2 |
||
559 | mpack ecx,wnd1.y+1,wnd1.y+1 |
||
560 | mov edx,[dtp.grab] |
||
561 | mov esi,20 |
||
562 | ;-------------------------------------- |
||
563 | @@: |
||
564 | mcall |
||
565 | call dec_edx |
||
566 | add ecx,0x00010001 |
||
567 | dec esi |
||
568 | jnz @b |
||
179 | mikedld | 569 | |
3271 | mario79 | 570 | mov edi,[ebp+SKIN_HEADER.params] |
571 | add edi,ebp |
||
572 | mcall 4, |
||
573 | mcall 8, |
||
574 | mcall 4, |
||
179 | mikedld | 575 | ;---------------------------------------------------------------------- |
3271 | mario79 | 576 | mov edi,[ebp+SKIN_HEADER.params] |
577 | add edi,ebp |
||
578 | mpack ebx,wnd2.x,wnd2.width |
||
579 | mpack ecx,wnd2.y,wnd2.height |
||
580 | mov edx,[dtp.frame] |
||
581 | shr edx,1 |
||
582 | and edx,0x007F7F7F |
||
583 | call draw_framerect |
||
584 | mpack ebx,wnd2.x+4,wnd2.width-8 |
||
585 | mpack ecx,wnd2.y+4,wnd2.height-8 |
||
586 | call draw_framerect |
||
587 | mcall 13, |
||
588 | add ecx,(wnd2.height-5)*65536 |
||
589 | mcall |
||
590 | mcall , |
||
591 | add ebx,(wnd2.width-5)*65536 |
||
592 | mcall |
||
593 | mcall , |
||
179 | mikedld | 594 | |
3271 | mario79 | 595 | mov eax,38 |
596 | mpack ebx,wnd2.x+4,wnd2.x+wnd2.width-5 |
||
597 | mpack ecx,wnd2.y+4,wnd2.y+4 |
||
598 | mov edx,[dtp.grab] |
||
599 | mov esi,16 |
||
600 | ;-------------------------------------- |
||
601 | @@: |
||
602 | mcall |
||
603 | call dec_edx |
||
604 | add ecx,0x00010001 |
||
605 | dec esi |
||
606 | jnz @b |
||
179 | mikedld | 607 | |
3271 | mario79 | 608 | mov edi,[ebp+SKIN_HEADER.params] |
609 | add edi,ebp |
||
610 | mcall 4, |
||
611 | mcall 8, |
||
612 | mcall 4, |
||
179 | mikedld | 613 | ;---------------------------------------------------------------------- |
3271 | mario79 | 614 | mov edi,[ebp+SKIN_HEADER.params] |
615 | add edi,ebp |
||
616 | mpack ebx,wnd3.x,wnd3.width |
||
617 | mpack ecx,wnd3.y,wnd3.height |
||
618 | mov edx,[edi+SKIN_PARAMS.colors_1.outer] |
||
619 | call draw_framerect |
||
620 | mpack ebx,wnd3.x+4,wnd3.width-8 |
||
621 | mpack ecx,wnd3.y+4,wnd3.height-8 |
||
622 | mov edx,[edi+SKIN_PARAMS.colors_1.inner] |
||
623 | call draw_framerect |
||
624 | mcall 13, |
||
625 | add ecx,(wnd3.height-5)*65536 |
||
626 | mcall |
||
627 | mcall , |
||
628 | add ebx,(wnd3.width-5)*65536 |
||
629 | mcall |
||
630 | mcall , |
||
179 | mikedld | 631 | |
3271 | mario79 | 632 | mov eax,0x00000001 ; left, inactive |
633 | call find_bitmap |
||
634 | mcall 7,,, |
||
51 | mikedld | 635 | |
3271 | mario79 | 636 | pushd [ebx-8] |
637 | mov eax,0x00000003 ; base, inactive |
||
638 | call find_bitmap |
||
639 | pop edx |
||
640 | mov esi,wnd3.x+wnd3.width-1 |
||
641 | sub esi,edx |
||
642 | shl edx,16 |
||
643 | add edx,wnd3.x*65536+wnd3.y |
||
644 | mcall 7 |
||
645 | ;-------------------------------------- |
||
646 | @@: |
||
647 | rol edx,16 |
||
648 | add dx,[ebx-8] |
||
649 | cmp dx,si |
||
650 | ja @f |
||
51 | mikedld | 651 | |
3271 | mario79 | 652 | rol edx,16 |
653 | mcall 7 |
||
654 | jmp @b |
||
655 | ;-------------------------------------- |
||
656 | @@: |
||
657 | mov eax,0x00000002 ; oper, inactive |
||
658 | call find_bitmap |
||
659 | mov edx,ecx |
||
660 | shr edx,16 |
||
661 | neg edx |
||
662 | shl edx,16 |
||
663 | add edx,(wnd3.x+wnd3.width)*65536+wnd3.y |
||
664 | mcall 7 |
||
51 | mikedld | 665 | |
3271 | mario79 | 666 | mov ebp,not_packed_area |
667 | mov edi,[ebp+SKIN_HEADER.params] |
||
668 | add edi,ebp |
||
669 | mov eax,dword[edi+SKIN_PARAMS.margin.left-2] |
||
670 | mov ax,word[edi+SKIN_PARAMS.skin_height] |
||
671 | sub ax,[edi+SKIN_PARAMS.margin.bottom] |
||
672 | shr ax,1 |
||
673 | add ax,[edi+SKIN_PARAMS.margin.top] |
||
674 | add ax,-4 |
||
675 | push eax |
||
676 | lea ebx,[eax+wnd3.x*65536+wnd3.y] |
||
677 | mcall 4,,dword[dtp.grab_text],caption_text,caption_text.size |
||
51 | mikedld | 678 | ;--------------------------------------------------------- |
3271 | mario79 | 679 | mov edi,[ebp+SKIN_HEADER.params] |
680 | add edi,ebp |
||
681 | mpack ebx,wnd4.x,wnd4.width |
||
682 | mpack ecx,wnd4.y,wnd4.height |
||
683 | mov edx,[edi+SKIN_PARAMS.colors.outer] |
||
684 | call draw_framerect |
||
685 | mpack ebx,wnd4.x+4,wnd4.width-8 |
||
686 | mpack ecx,wnd4.y+4,wnd4.height-8 |
||
687 | mov edx,[edi+SKIN_PARAMS.colors.inner] |
||
688 | call draw_framerect |
||
689 | mcall 13, |
||
690 | add ecx,(wnd4.height-5)*65536 |
||
691 | mcall |
||
692 | mcall , |
||
693 | add ebx,(wnd4.width-5)*65536 |
||
694 | mcall |
||
695 | mcall , |
||
51 | mikedld | 696 | |
3271 | mario79 | 697 | mov eax,0x00010001 ; left, inactive |
698 | call find_bitmap |
||
699 | mcall 7,,, |
||
51 | mikedld | 700 | |
3271 | mario79 | 701 | pushd [ebx-8] |
702 | mov eax,0x00010003 ; base, inactive |
||
703 | call find_bitmap |
||
704 | pop edx |
||
705 | mov esi,wnd4.x+wnd4.width-1 |
||
706 | sub esi,edx |
||
707 | shl edx,16 |
||
708 | add edx,wnd4.x*65536+wnd4.y |
||
709 | mcall 7 |
||
710 | ;-------------------------------------- |
||
711 | @@: |
||
712 | rol edx,16 |
||
713 | add dx,[ebx-8] |
||
714 | cmp dx,si |
||
715 | ja @f |
||
51 | mikedld | 716 | |
3271 | mario79 | 717 | rol edx,16 |
718 | mcall 7 |
||
719 | jmp @b |
||
720 | ;-------------------------------------- |
||
721 | @@: |
||
722 | mov eax,0x00010002 ; oper, inactive |
||
723 | call find_bitmap |
||
724 | mov edx,ecx |
||
725 | shr edx,16 |
||
726 | neg edx |
||
727 | shl edx,16 |
||
728 | add edx,(wnd4.x+wnd4.width)*65536+wnd4.y |
||
729 | mcall 7 |
||
51 | mikedld | 730 | |
3271 | mario79 | 731 | mov ebp,not_packed_area |
732 | mov edi,[ebp+SKIN_HEADER.params] |
||
733 | add edi,ebp |
||
734 | pop eax |
||
735 | lea ebx,[eax+wnd4.x*65536+wnd4.y] |
||
736 | mcall 4,,dword[dtp.grab_text],caption_text,caption_text.size |
||
51 | mikedld | 737 | ;---------------------------------------------------------------------- |
3271 | mario79 | 738 | mov edi,[ebp+SKIN_HEADER.buttons] |
739 | add edi,ebp |
||
740 | ;-------------------------------------- |
||
741 | .lp1: |
||
742 | cmp dword[edi],0 |
||
743 | je .lp2 |
||
51 | mikedld | 744 | |
3271 | mario79 | 745 | mov ebx,dword[edi+SKIN_BUTTONS.left-2] |
746 | mov bx,[edi+SKIN_BUTTONS.width] |
||
747 | mov ecx,dword[edi+SKIN_BUTTONS.top-2] |
||
748 | mov cx,[edi+SKIN_BUTTONS.height] |
||
749 | add ebx,(wnd4.x+wnd4.width)*65536 |
||
750 | add ecx,wnd4.y*65536 |
||
751 | dec ebx |
||
752 | dec ecx |
||
753 | mcall 8,,,0x40000000 |
||
754 | add edi,12 |
||
755 | jmp .lp1 |
||
756 | ;-------------------------------------- |
||
757 | .lp2: |
||
758 | mov edi,[ebp+SKIN_HEADER.params] |
||
759 | add edi,ebp |
||
760 | mpack ebx,wnd4.x+10,wnd4.y+10 |
||
761 | add bx,word[edi+SKIN_PARAMS.skin_height] |
||
762 | mcall 4,,[dtp.work_text],window_text,window_text.size |
||
51 | mikedld | 763 | |
3271 | mario79 | 764 | mov ecx,[edi+SKIN_PARAMS.skin_height] |
765 | shl ecx,16 |
||
766 | add ecx,(wnd4.y+8)*65536+10 |
||
767 | mcall 13, |
||
768 | (wnd4.x+window_text.size*6+20)>,,[dtp.work_graph] |
||
179 | mikedld | 769 | |
3271 | mario79 | 770 | add ecx,25*65536+8 |
771 | mcall 8, |
||
772 | button_text.size*6+11>,,0,[dtp.work_button] |
||
179 | mikedld | 773 | |
3271 | mario79 | 774 | shr ecx,16 |
775 | mov bx,cx |
||
776 | add ebx,0x00060006 |
||
777 | mcall 4,,[dtp.work_button_text],button_text,button_text.size |
||
778 | ret |
||
1611 | mario79 | 779 | ;--------------------------------------------------------------------- |
780 | draw_PathShow: |
||
781 | pusha |
||
782 | mcall 13,<10,534>,<214,15>,0xffffff |
||
783 | mcall 13,<10,534>,<232,15>,0xffffff |
||
784 | ; draw for PathShow |
||
785 | push dword PathShow_data_1 |
||
786 | call [PathShow_draw] |
||
787 | |||
788 | push dword PathShow_data_2 |
||
789 | call [PathShow_draw] |
||
790 | popa |
||
791 | ret |
||
792 | ;--------------------------------------------------------------------- |
||
31 | halyavin | 793 | ; ********************************************* |
794 | ; ******* WINDOW DEFINITIONS AND DRAW ******** |
||
795 | ; ********************************************* |
||
796 | draw_window: |
||
2068 | mario79 | 797 | mcall 12,1 |
798 | mcall 48,3,app_colours,10*4 |
||
799 | mcall 14 |
||
800 | ; DRAW WINDOW |
||
801 | xor eax,eax ; function 0 : define and draw window |
||
802 | xor esi,esi |
||
803 | mov edx,[w_work] ; color of work area RRGGBB,8->color |
||
804 | or edx,0x14000000 |
||
805 | mcall ,<110,555>,<50,275>,,,title |
||
31 | halyavin | 806 | |
2068 | mario79 | 807 | mcall 9,procinfo,-1 |
808 | |||
809 | mov eax,[procinfo+70] ;status of window |
||
810 | test eax,100b |
||
811 | jne .end |
||
3271 | mario79 | 812 | |
31 | halyavin | 813 | if lang eq ru |
51 | mikedld | 814 | load_w = (5*2+6*9) |
815 | save_w = (5*2+6*9) |
||
816 | flat_w = (5*2+6*7) |
||
817 | apply_w = (5*2+6*9) |
||
818 | else |
||
819 | load_w = (5*2+6*6) |
||
1611 | mario79 | 820 | save_w = (5*2+6*8) |
51 | mikedld | 821 | flat_w = (5*2+6*4) |
822 | apply_w = (5*2+6*7) |
||
823 | end if |
||
824 | |||
2068 | mario79 | 825 | ; LOAD BUTTON |
826 | mcall 8,<15,load_w>,<35+18*12,14>,12,[w_work_button] |
||
827 | ; SAVE BUTTON |
||
828 | add ebx,(load_w+2)*65536-load_w+save_w |
||
829 | inc edx |
||
830 | mcall |
||
831 | ; 3D |
||
832 | mov ebx,(340-t1.size*6-13)*65536+(5*2+6*4) |
||
833 | inc edx |
||
834 | mcall |
||
835 | ; FLAT |
||
836 | add ebx,(5*2+6*4+2)*65536-(5*2+6*4)+flat_w |
||
837 | inc edx |
||
838 | mcall |
||
839 | ; APPLY BUTTON |
||
840 | add ebx,(flat_w+6+2)*65536-flat_w+apply_w |
||
841 | inc edx |
||
842 | mcall |
||
843 | ; LOAD SKIN BUTTON |
||
844 | mov ebx,(336+(555-335)/2-t2.size*6/2)*65536+load_w |
||
845 | inc edx |
||
846 | mcall |
||
847 | ; APPLY SKIN BUTTON |
||
848 | add ebx,(load_w+6+2)*65536-load_w+apply_w |
||
849 | inc edx |
||
850 | mcall |
||
851 | |||
852 | mov ebx,(339-t1.size*6-12)*65536+(35+18*12+4) |
||
853 | mcall 4,,[w_work_button_text],t1,t1.size |
||
854 | |||
855 | mov ebx,(336+(555-335)/2-t2.size*6/2)*65536+(35+18*12+4) |
||
856 | mcall ,,,t2,t2.size |
||
857 | |||
858 | mov ebx,(15+(load_w+save_w+2-t3.size*6)/2)*65536+(35+18*12+4) |
||
859 | mcall ,,,t3,t3.size |
||
860 | |||
3271 | mario79 | 861 | mov eax,38 ; R G B COLOR GLIDES |
2068 | mario79 | 862 | mov ebx,266*65536+285 |
863 | mov ecx,30*65536+30 |
||
864 | mov edx,0xff0000 |
||
865 | ;----------------------------------- |
||
866 | .newl: |
||
867 | mcall |
||
868 | pusha |
||
869 | add ebx,20*65536+20 |
||
870 | shr edx,8 |
||
871 | mcall |
||
872 | add ebx,20*65536+20 |
||
873 | shr edx,8 |
||
874 | mcall |
||
875 | popa |
||
876 | sub edx,0x020000 |
||
877 | add ecx,0x00010001 |
||
878 | cmp ecx,158*65536+158 |
||
879 | jnz .newl |
||
880 | ;----------------------------------- |
||
881 | call draw_color |
||
882 | |||
3271 | mario79 | 883 | mov edx,31 ; BUTTON ROW |
2068 | mario79 | 884 | mov ebx,15*65536+200 |
885 | mov ecx,30*65536+14 |
||
886 | mov esi,[w_work_button] |
||
31 | halyavin | 887 | |
2068 | mario79 | 888 | mov eax,8 |
889 | ;----------------------------------- |
||
890 | .newb: |
||
891 | mcall |
||
892 | add ecx,18*65536 |
||
893 | inc edx |
||
894 | cmp edx,40 |
||
895 | jbe .newb |
||
896 | ;----------------------------------- |
||
3271 | mario79 | 897 | mov ebx,15*65536+34 ; ROW OF TEXTS |
2068 | mario79 | 898 | mov ecx,[w_work_button_text] |
899 | mov edx,text |
||
900 | mov esi,32 |
||
31 | halyavin | 901 | |
2068 | mario79 | 902 | mov eax,4 |
903 | ;----------------------------------- |
||
904 | .newline: |
||
905 | mcall |
||
906 | add ebx,18 |
||
907 | add edx,32 |
||
908 | cmp [edx],byte 'x' |
||
909 | jne .newline |
||
910 | ;----------------------------------- |
||
911 | call draw_colours |
||
1611 | mario79 | 912 | call draw_PathShow |
2068 | mario79 | 913 | cmp dword[not_packed_area+SKIN_HEADER.ident],'SKIN' |
914 | jne @f |
||
915 | call draw_skin |
||
916 | @@: |
||
917 | .end: |
||
918 | mcall 12,2 |
||
919 | ret |
||
920 | ;--------------------------------------------------------------------- |
||
31 | halyavin | 921 | ; DATA AREA |
2068 | mario79 | 922 | ;--------------------------------------------------------------------- |
31 | halyavin | 923 | lsz text,\ |
924 | ru, ' €ŒŠ€ ŽŠ€ ',\ |
||
925 | ru, ' Ž‹Ž‘€ ‡€ƒŽ‹Ž‚Š€ ',\ |
||
926 | ru, ' ŠŽŠ€ € Ž‹Ž‘… ‡€ƒŽ‹Ž‚Š€ ',\ |
||
927 | ru, ' ’…Š‘’ € ŠŽŠ… € ‡€ƒŽ‹Ž‚Š… ',\ |
||
928 | ru, ' ’…Š‘’ ‡€ƒŽ‹Ž‚ŽŠ€ ',\ |
||
929 | ru, ' €Ž—€Ÿ Ž‹€‘’œ ',\ |
||
930 | ru, ' ŠŽŠ€ ‚ €Ž—…‰ Ž‹€‘’ˆ ',\ |
||
931 | ru, ' ’…Š‘’ € ŠŽŠ… ',\ |
||
932 | ru, ' ’…Š‘’ ‚ €Ž—…‰ Ž‹€‘’ˆ ',\ |
||
933 | ru, ' ƒ€”ˆŠ€ ‚ €Ž—…‰ Ž‹€‘’ˆ ',\ |
||
934 | ru, 'x',\ |
||
935 | en, ' WINDOW FRAME ',\ |
||
936 | en, ' WINDOW GRAB BAR ',\ |
||
937 | en, ' WINDOW GRAB BUTTON ',\ |
||
938 | en, ' WINDOW GRAB BUTTON TEXT ',\ |
||
939 | en, ' WINDOW GRAB TITLE ',\ |
||
940 | en, ' WINDOW WORK AREA ',\ |
||
941 | en, ' WINDOW WORK AREA BUTTON ',\ |
||
942 | en, ' WINDOW WORK AREA BUTTON TEXT ',\ |
||
943 | en, ' WINDOW WORK AREA TEXT ',\ |
||
944 | en, ' WINDOW WORK AREA GRAPH ',\ |
||
274 | kaitz | 945 | en, 'x',\ |
946 | et, ' AKNA RAAM ',\ |
||
947 | et, ' AKNA HAARAMISE RIBA ',\ |
||
948 | et, ' AKNA HAARAMISE NUPP ',\ |
||
949 | et, ' AKNA HAARAMISE NUPU TEKST ',\ |
||
950 | et, ' AKNA HAARAMISE PEALKIRI ',\ |
||
951 | et, ' AKNA TÖÖPIIRKOND ',\ |
||
952 | et, ' AKNA TÖÖPIIRKONNA NUPP ',\ |
||
953 | et, ' AKNA TÖÖPIIRKONNA NUPPU TEKST ',\ |
||
954 | et, ' AKNA TÖÖPIIRKONNA TEKST ',\ |
||
955 | et, ' AKNA TÖÖPIIRKONNA GRAAFIKA ',\ |
||
956 | et, 'x' |
||
31 | halyavin | 957 | |
51 | mikedld | 958 | lsz t1,\ |
959 | ru, ' 3D ‹Ž‘Šˆ… ˆŒ…ˆ’œ ',\ |
||
274 | kaitz | 960 | en, ' 3D FLAT APPLY ',\ |
961 | et, ' 3D LAME KINNITA ' |
||
51 | mikedld | 962 | |
31 | halyavin | 963 | lsz t2,\ |
51 | mikedld | 964 | ru, ' ‡€ƒ“‡ˆ’œ ˆŒ…ˆ’œ ',\ |
965 | en, ' LOAD APPLY ',\ |
||
274 | kaitz | 966 | et, ' LAADI KINNITA ' |
31 | halyavin | 967 | |
1611 | mario79 | 968 | lsz t3,\ |
969 | ru, ' ‡€ƒ“‡ˆ’œ ‘Ž•€ˆ’œ ',\ |
||
970 | en, ' LOAD SAVE ',\ |
||
971 | et, ' LAADI SALVESTA',\ |
||
972 | |||
179 | mikedld | 973 | lsz caption_text,\ |
51 | mikedld | 974 | ru, '‡ £®«®¢®ª',\ |
274 | kaitz | 975 | en, 'Caption',\ |
976 | et, 'Pealkiri' |
||
31 | halyavin | 977 | |
179 | mikedld | 978 | sz close_text,'x' |
979 | |||
980 | lsz window_text,\ |
||
981 | ru, '’¥ªáâ ¢ ®ª¥',\ |
||
274 | kaitz | 982 | en, 'Window text',\ |
983 | et, 'Akna tekst' |
||
179 | mikedld | 984 | |
985 | lsz button_text,\ |
||
986 | ru, '’¥ªáâ ª®¯ª¥',\ |
||
274 | kaitz | 987 | en, 'Button text',\ |
988 | et, 'Nupu tekst' |
||
179 | mikedld | 989 | |
1611 | mario79 | 990 | ;sz default_skn, '/sys/DEFAULT.SKN',0 |
31 | halyavin | 991 | |
180 | heavyiron | 992 | if lang eq ru |
485 | heavyiron | 993 | title db '€‘’Ž‰Š€ ŽŠŽ',0 |
274 | kaitz | 994 | else if lang eq et |
485 | heavyiron | 995 | title db 'AKNA SEADED - VALI VÄRV JA VAJUTA OBJEKTILE',0 |
180 | heavyiron | 996 | else |
485 | heavyiron | 997 | title db 'WINDOWS SETTINGS - DEFINE COLOR AND CLICK ON TARGET',0 |
180 | heavyiron | 998 | end if |
999 | |||
1000 | |||
31 | halyavin | 1001 | color dd 0 |
1002 | |||
1611 | mario79 | 1003 | ;--------------------------------------------------------------------- |
1004 | l_libs_start: |
||
1005 | |||
1006 | library01 l_libs system_dir_Boxlib+9, cur_dir_path, library_path, system_dir_Boxlib, \ |
||
1007 | err_message_found_lib1, head_f_l, Box_lib_import, err_message_import1, head_f_i |
||
1008 | |||
1009 | library02 l_libs system_dir_ProcLib+9, cur_dir_path, library_path, system_dir_ProcLib, \ |
||
1010 | err_message_found_lib2, head_f_l, ProcLib_import, err_message_import2, head_f_i |
||
1011 | |||
1012 | end_l_libs: |
||
1013 | ;--------------------------------------------------------------------- |
||
1014 | system_dir_Boxlib db '/sys/lib/box_lib.obj',0 |
||
1015 | system_dir_ProcLib db '/sys/lib/proc_lib.obj',0 |
||
1016 | |||
1017 | head_f_i: |
||
1018 | head_f_l db 'System error',0 |
||
1019 | |||
1020 | err_message_found_lib1 db 'box_lib.obj - Not found!',0 |
||
1021 | err_message_found_lib2 db 'proc_lib.obj - Not found!',0 |
||
1022 | |||
1023 | err_message_import1 db 'box_lib.obj - Wrong import!',0 |
||
1024 | err_message_import2 db 'proc_lib.obj - Wrong import!',0 |
||
1025 | |||
1026 | ;--------------------------------------------------------------------- |
||
1027 | align 4 |
||
1028 | ProcLib_import: |
||
1029 | OpenDialog_Init dd aOpenDialog_Init |
||
1030 | OpenDialog_Start dd aOpenDialog_Start |
||
1031 | ;OpenDialog__Version dd aOpenDialog_Version |
||
1032 | dd 0 |
||
1033 | dd 0 |
||
1034 | aOpenDialog_Init db 'OpenDialog_init',0 |
||
1035 | aOpenDialog_Start db 'OpenDialog_start',0 |
||
1036 | ;aOpenDialog_Version db 'Version_OpenDialog',0 |
||
1037 | ;--------------------------------------------------------------------- |
||
1038 | align 4 |
||
1039 | Box_lib_import: |
||
1040 | ;init_lib dd a_init |
||
1041 | ;version_lib dd a_version |
||
1042 | |||
1043 | |||
1044 | ;edit_box_draw dd aEdit_box_draw |
||
1045 | ;edit_box_key dd aEdit_box_key |
||
1046 | ;edit_box_mouse dd aEdit_box_mouse |
||
1047 | ;version_ed dd aVersion_ed |
||
1048 | |||
1049 | ;check_box_draw dd aCheck_box_draw |
||
1050 | ;check_box_mouse dd aCheck_box_mouse |
||
1051 | ;version_ch dd aVersion_ch |
||
1052 | |||
1053 | ;option_box_draw dd aOption_box_draw |
||
1054 | ;option_box_mouse dd aOption_box_mouse |
||
1055 | ;version_op dd aVersion_op |
||
1056 | |||
1057 | ;scrollbar_ver_draw dd aScrollbar_ver_draw |
||
1058 | ;scrollbar_ver_mouse dd aScrollbar_ver_mouse |
||
1059 | ;scrollbar_hor_draw dd aScrollbar_hor_draw |
||
1060 | ;scrollbar_hor_mouse dd aScrollbar_hor_mouse |
||
1061 | ;version_scrollbar dd aVersion_scrollbar |
||
1062 | |||
1063 | ;dinamic_button_draw dd aDbutton_draw |
||
1064 | ;dinamic_button_mouse dd aDbutton_mouse |
||
1065 | ;version_dbutton dd aVersion_dbutton |
||
1066 | |||
1067 | ;menu_bar_draw dd aMenu_bar_draw |
||
1068 | ;menu_bar_mouse dd aMenu_bar_mouse |
||
1069 | ;menu_bar_activate dd aMenu_bar_activate |
||
1070 | ;version_menu_bar dd aVersion_menu_bar |
||
1071 | |||
1072 | ;FileBrowser_draw dd aFileBrowser_draw |
||
1073 | ;FileBrowser_mouse dd aFileBrowser_mouse |
||
1074 | ;FileBrowser_key dd aFileBrowser_key |
||
1075 | ;Version_FileBrowser dd aVersion_FileBrowser |
||
1076 | |||
1077 | PathShow_prepare dd sz_PathShow_prepare |
||
1078 | PathShow_draw dd sz_PathShow_draw |
||
1079 | ;Version_path_show dd szVersion_path_show |
||
1080 | dd 0 |
||
1081 | dd 0 |
||
1082 | |||
1083 | ;a_init db 'lib_init',0 |
||
1084 | ;a_version db 'version',0 |
||
1085 | |||
1086 | ;aEdit_box_draw db 'edit_box',0 |
||
1087 | ;aEdit_box_key db 'edit_box_key',0 |
||
1088 | ;aEdit_box_mouse db 'edit_box_mouse',0 |
||
1089 | ;aVersion_ed db 'version_ed',0 |
||
1090 | |||
1091 | ;aCheck_box_draw db 'check_box_draw',0 |
||
1092 | ;aCheck_box_mouse db 'check_box_mouse',0 |
||
1093 | ;aVersion_ch db 'version_ch',0 |
||
1094 | |||
1095 | ;aOption_box_draw db 'option_box_draw',0 |
||
1096 | ;aOption_box_mouse db 'option_box_mouse',0 |
||
1097 | ;aVersion_op db 'version_op',0 |
||
1098 | |||
1099 | ;aScrollbar_ver_draw db 'scrollbar_v_draw',0 |
||
1100 | ;aScrollbar_ver_mouse db 'scrollbar_v_mouse',0 |
||
1101 | ;aScrollbar_hor_draw db 'scrollbar_h_draw',0 |
||
1102 | ;aScrollbar_hor_mouse db 'scrollbar_h_mouse',0 |
||
1103 | ;aVersion_scrollbar db 'version_scrollbar',0 |
||
1104 | |||
1105 | ;aDbutton_draw db 'dbutton_draw',0 |
||
1106 | ;aDbutton_mouse db 'dbutton_mouse',0 |
||
1107 | ;aVersion_dbutton db 'version_dbutton',0 |
||
1108 | |||
1109 | ;aMenu_bar_draw db 'menu_bar_draw',0 |
||
1110 | ;aMenu_bar_mouse db 'menu_bar_mouse',0 |
||
1111 | ;aMenu_bar_activate db 'menu_bar_activate',0 |
||
1112 | ;aVersion_menu_bar db 'version_menu_bar',0 |
||
1113 | |||
1114 | ;aFileBrowser_draw db 'FileBrowser_draw',0 |
||
1115 | ;aFileBrowser_mouse db 'FileBrowser_mouse',0 |
||
1116 | ;aFileBrowser_key db 'FileBrowser_key',0 |
||
1117 | ;aVersion_FileBrowser db 'version_FileBrowser',0 |
||
1118 | |||
1119 | sz_PathShow_prepare db 'PathShow_prepare',0 |
||
1120 | sz_PathShow_draw db 'PathShow_draw',0 |
||
1121 | ;szVersion_path_show db 'version_PathShow',0 |
||
1122 | ;--------------------------------------------------------------------- |
||
1123 | PathShow_data_1: |
||
1124 | .type dd 0 ;+0 |
||
1125 | .start_y dw 217 ;+4 |
||
1126 | .start_x dw 12 ;+6 |
||
1127 | .font_size_x dw 6 ;+8 ; 6 - for font 0, 8 - for font 1 |
||
1128 | .area_size_x dw 530 ;+10 |
||
1129 | .font_number dd 0 ;+12 ; 0 - monospace, 1 - variable |
||
1130 | .background_flag dd 0 ;+16 |
||
1131 | .font_color dd 0x0 ;+20 |
||
1132 | .background_color dd 0x0 ;+24 |
||
1133 | .text_pointer dd fname ;+28 |
||
1134 | .work_area_pointer dd text_work_area ;+32 |
||
1135 | .temp_text_length dd 0 ;+36 |
||
1136 | ;--------------------------------------------------------------------- |
||
1137 | PathShow_data_2: |
||
1138 | .type dd 0 ;+0 |
||
1139 | .start_y dw 235 ;+4 |
||
1140 | .start_x dw 12 ;+6 |
||
1141 | .font_size_x dw 6 ;+8 ; 6 - for font 0, 8 - for font 1 |
||
1142 | .area_size_x dw 530 ;+10 |
||
1143 | .font_number dd 0 ;+12 ; 0 - monospace, 1 - variable |
||
1144 | .background_flag dd 0 ;+16 |
||
1145 | .font_color dd 0x0 ;+20 |
||
1146 | .background_color dd 0x0 ;+24 |
||
1147 | .text_pointer dd skin_info ;+28 |
||
1148 | .work_area_pointer dd text_work_area2 ;+32 |
||
1149 | .temp_text_length dd 0 ;+36 |
||
1150 | ;--------------------------------------------------------------------- |
||
1151 | OpenDialog_data: |
||
1152 | .type dd 0 |
||
1153 | .procinfo dd procinfo ;+4 |
||
1154 | .com_area_name dd communication_area_name ;+8 |
||
1155 | .com_area dd 0 ;+12 |
||
1156 | .opendir_pach dd temp_dir_pach ;+16 |
||
1157 | .dir_default_pach dd communication_area_default_pach ;+20 |
||
1158 | .start_path dd open_dialog_path ;+24 |
||
1159 | .draw_window dd draw_window ;+28 |
||
1160 | .status dd 0 ;+32 |
||
1161 | .openfile_pach dd fname ;+36 |
||
1162 | .filename_area dd filename_area ;+40 |
||
1163 | .filter_area dd Filter |
||
1164 | .x: |
||
1165 | .x_size dw 420 ;+48 ; Window X size |
||
1166 | .x_start dw 10 ;+50 ; Window X position |
||
1167 | .y: |
||
1168 | .y_size dw 320 ;+52 ; Window y size |
||
1169 | .y_start dw 10 ;+54 ; Window Y position |
||
1170 | |||
1171 | OpenDialog_data2: |
||
1172 | .type dd 0 |
||
1173 | .procinfo dd procinfo ;+4 |
||
1174 | .com_area_name dd communication_area_name2 ;+8 |
||
1175 | .com_area dd 0 ;+12 |
||
1176 | .opendir_pach dd temp_dir_pach2 ;+16 |
||
1177 | .dir_default_pach dd communication_area_default_pach ;+20 |
||
1178 | .start_path dd open_dialog_path ;+24 |
||
1179 | .draw_window dd draw_window ;+28 |
||
1180 | .status dd 0 ;+32 |
||
1181 | .openfile_pach dd skin_info ;+36 |
||
1182 | .filename_area dd filename_area2 ;+40 |
||
1183 | .filter_area dd Filter2 |
||
1184 | .x: |
||
1185 | .x_size dw 420 ;+48 ; Window X size |
||
1186 | .x_start dw 10 ;+50 ; Window X position |
||
1187 | .y: |
||
1188 | .y_size dw 320 ;+52 ; Window y size |
||
1189 | .y_start dw 10 ;+54 ; Window Y position |
||
1190 | |||
1191 | communication_area_name2: |
||
1192 | db 'FFFFFFFF_open_dialog',0 |
||
1193 | |||
1194 | communication_area_name: |
||
1195 | db 'FFFFFFFF_open_dialog2',0 |
||
1196 | open_dialog_path: |
||
1702 | Lrz | 1197 | if __nightbuild eq yes |
3271 | mario79 | 1198 | db '/sys/MANAGERS/opendial',0 |
1702 | Lrz | 1199 | else |
3271 | mario79 | 1200 | db '/sys/File Managers/opendial',0 |
1702 | Lrz | 1201 | end if |
1611 | mario79 | 1202 | communication_area_default_pach: |
1203 | db '/sys',0 |
||
1204 | |||
1205 | Filter: |
||
3271 | mario79 | 1206 | dd Filter.end - Filter |
1611 | mario79 | 1207 | .1: |
3271 | mario79 | 1208 | db 'DTP',0 |
1611 | mario79 | 1209 | .end: |
3271 | mario79 | 1210 | db 0 |
1611 | mario79 | 1211 | |
1212 | Filter2: |
||
3271 | mario79 | 1213 | dd Filter.end - Filter |
1611 | mario79 | 1214 | .1: |
3271 | mario79 | 1215 | db 'SKN',0 |
1611 | mario79 | 1216 | .end: |
3271 | mario79 | 1217 | db 0 |
1611 | mario79 | 1218 | |
3271 | mario79 | 1219 | start_temp_file_name: |
1220 | db 'default.dtp',0 |
||
1611 | mario79 | 1221 | |
1222 | default_skin: |
||
1223 | db '/sys/default.skn',0 |
||
1224 | default_dtp: |
||
1225 | db '/sys/default.dtp',0 |
||
1226 | ;--------------------------------------------------------------------- |
||
484 | diamond | 1227 | IncludeIGlobals |
1228 | |||
31 | halyavin | 1229 | I_END: |
1230 | |||
484 | diamond | 1231 | IncludeUGlobals |
1232 | |||
31 | halyavin | 1233 | read_info: |
1234 | .mode dd ? ; read |
||
1235 | .start_block dd ? ; first block |
||
1236 | .blocks dd ? ; 512 bytes |
||
1237 | .address dd ? |
||
1238 | .workarea dd ? |
||
1611 | mario79 | 1239 | fname rb 4096 ; filename |
31 | halyavin | 1240 | |
1241 | virtual at read_info |
||
1242 | write_info: |
||
1243 | .mode dd ? |
||
1244 | rd 1 |
||
1245 | .bytes2write dd ? |
||
1246 | .address dd ? |
||
1247 | .workarea dd ? |
||
1248 | end virtual |
||
1249 | |||
1611 | mario79 | 1250 | read_info2: |
1251 | .mode dd ? ; read |
||
1252 | .start_block dd ? ; first block |
||
1253 | .blocks dd ? ; 512 bytes |
||
1254 | .address dd ? |
||
1255 | .workarea dd ? |
||
1256 | skin_info rb 4096 |
||
51 | mikedld | 1257 | |
1611 | mario79 | 1258 | ;param rb 257 |
528 | diamond | 1259 | |
1260 | align 4 |
||
31 | halyavin | 1261 | app_colours: |
1262 | |||
1263 | w_frame dd ? |
||
1264 | w_grab dd ? |
||
1265 | w_grab_button dd ? |
||
1266 | w_grab_button_text dd ? |
||
1267 | w_grab_text dd ? |
||
1268 | w_work dd ? |
||
1269 | w_work_button dd ? |
||
1270 | w_work_button_text dd ? |
||
1271 | w_work_text dd ? |
||
1272 | w_work_graph dd ? |
||
1273 | |||
1274 | color_table: |
||
3271 | mario79 | 1275 | times 10 dd ? |
1611 | mario79 | 1276 | ;--------------------------------------------------------------------- |
1277 | align 4 |
||
1278 | cur_dir_path: |
||
1279 | rb 4096 |
||
1280 | ;--------------------------------------------------------------------- |
||
1281 | library_path: |
||
1282 | rb 4096 |
||
1283 | ;--------------------------------------------------------------------- |
||
1284 | temp_dir_pach: |
||
1285 | rb 4096 |
||
1286 | ;--------------------------------------------------------------------- |
||
1287 | temp_dir_pach2: |
||
1288 | rb 4096 |
||
1289 | ;--------------------------------------------------------------------- |
||
1290 | text_work_area: |
||
1291 | rb 1024 |
||
1292 | ;--------------------------------------------------------------------- |
||
1293 | text_work_area2: |
||
1294 | rb 1024 |
||
1295 | ;--------------------------------------------------------------------- |
||
1296 | procinfo: |
||
1297 | rb 1024 |
||
1298 | ;--------------------------------------------------------------------- |
||
1299 | filename_area: |
||
1300 | rb 256 |
||
1301 | ;--------------------------------------------------------------------- |
||
1302 | filename_area2: |
||
1303 | rb 256 |
||
1304 | ;--------------------------------------------------------------------- |
||
1305 | rb 4096 |
||
1306 | stacktop: |
||
1307 | ;--------------------------------------------------------------------- |
||
1308 | file_load_area: ; old 0x10000 |
||
1309 | rb 32*1024 |
||
1310 | ;--------------------------------------------------------------------- |
||
1311 | not_packed_area: ; old 0x18000 |
||
1312 | rb 32*1024 |
||
1313 | ;--------------------------------------------------------------------- |
||
1314 | unpack_area: ; old 0x20000 |
||
1315 | rb 32*1024 |
||
1316 | ;--------------------------------------------------------------------- |
||
1317 | i_end:35+18*12,14>15,load_w>50,275>110,555>232,15>10,534>214,15>10,534> |