Subversion Repositories Kolibri OS

Rev

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,,,0x00FFFFFF
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,,,dword[dtp.work]
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,,dword[dtp.grab_text],caption_text,caption_text.size
573
	mcall	8,,,0,[dtp.grab_button]
574
	mcall	4,,dword[dtp.grab_button_text],close_text,close_text.size
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,,,[dtp.frame]
588
	add	ecx,(wnd2.height-5)*65536
589
	mcall
590
	mcall	,,
591
	add	ebx,(wnd2.width-5)*65536
592
	mcall
593
	mcall	,,,dword[dtp.work]
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,,dword[dtp.grab_text],caption_text,caption_text.size
611
	mcall	8,,,0,[dtp.grab_button]
612
	mcall	4,,dword[dtp.grab_button_text],close_text,close_text.size
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,,,[edi+SKIN_PARAMS.colors_1.frame]
625
	add	ecx,(wnd3.height-5)*65536
626
	mcall
627
	mcall	,,
628
	add	ebx,(wnd3.width-5)*65536
629
	mcall
630
	mcall	,,,dword[dtp.work]
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,,,[edi+SKIN_PARAMS.colors.frame]
690
	add	ecx,(wnd4.height-5)*65536
691
	mcall
692
	mcall	,,
693
	add	ebx,(wnd4.width-5)*65536
694
	mcall
695
	mcall	,,,dword[dtp.work]
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: