Subversion Repositories Kolibri OS

Rev

Rev 1004 | Rev 1040 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 1004 Rev 1016
Line 23... Line 23...
23
 
23
 
24
	stdcall dll.Load, @IMPORT
24
	stdcall dll.Load, @IMPORT
25
	or	eax, eax
25
	or	eax, eax
Line -... Line 26...
-
 
26
	jnz	exit
-
 
27
 
26
	jnz	exit
28
	invoke	sort.START, 1
27
 
29
 
28
	mov	ecx, 1	; for 15.4: 1 = tile
30
	mov	ecx, 1	; for 15.4: 1 = tile
29
	cmp	word [@PARAMS], '\T'
31
	cmp	word [@PARAMS], '\T'
30
	jz	set_bgr
32
	jz	set_bgr
Line 46... Line 48...
46
 
48
 
47
set_bgr:
49
set_bgr:
48
	mcall	15, 4
50
	mcall	15, 4
49
	mov	eax, @PARAMS + 4
51
	mov	eax, @PARAMS + 4
50
	call	load_image
52
	call	load_image
51
	jc	exit_bgr
-
 
52
 
-
 
53
	mov	esi, [image]
-
 
54
	mov	ecx, [esi + Image.Width]
-
 
55
	mov	edx, [esi + Image.Height]
-
 
56
	mcall	15, 1
-
 
57
 
-
 
58
	mcall	15, 6
-
 
59
	test	eax, eax
-
 
60
	jz	exit_bgr
-
 
61
 
-
 
62
	push	eax
-
 
63
	invoke	img.to_rgb2, esi, eax
-
 
64
	pop	ecx
-
 
Line 65... Line -...
65
	mcall	15, 7
-
 
66
 
53
	jc	exit
67
exit_bgr:
54
 
Line 68... Line 55...
68
	mcall	15, 3
55
	call	set_as_bgr
Line 69... Line 56...
69
	jmp	exit
56
	jmp	exit
Line 146... Line 133...
146
	jc	.restore_old
133
	jc	.restore_old
147
	mov	esi, path
134
	mov	esi, path
148
	mov	edi, @PARAMS
135
	mov	edi, @PARAMS
149
	mov	ecx, 512/4
136
	mov	ecx, 512/4
150
	rep	movsd
137
	rep	movsd
151
	invoke	img.destroy
-
 
152
	mov	byte [edi-1], 0
138
	mov	byte [edi-1], 0
-
 
139
	invoke	img.destroy
-
 
140
	call	free_directory
153
	jmp	red
141
	jmp	red
154
    .restore_old:
142
    .restore_old:
155
	pop	[image]
143
	pop	[image]
156
	jmp	still
144
	jmp	still
Line -... Line 145...
-
 
145
 
-
 
146
	; set background
-
 
147
    @@:
-
 
148
	cmp	eax, 'bgr'
-
 
149
	jne	@f
-
 
150
 
-
 
151
	call	set_as_bgr
-
 
152
	jmp	still
-
 
153
 
-
 
154
    @@:
-
 
155
 
-
 
156
	cmp	eax, 'bck'
-
 
157
	jnz	@f
-
 
158
	call	prev_image
-
 
159
	jmp	still
-
 
160
    @@:
-
 
161
	cmp	eax, 'fwd'
-
 
162
	jnz	@f
-
 
163
	call	next_image
-
 
164
	jmp	still
-
 
165
    @@:
157
 
166
 
158
    @@: cmp	eax, 1
167
	cmp	eax, 1
Line 159... Line 168...
159
	jne	still
168
	jne	still
160
 
169
 
Line 223... Line 232...
223
 
232
 
224
update_image_sizes:
233
update_image_sizes:
225
	pushf
234
	pushf
226
	mov	edx, [eax + Image.Width]
235
	mov	edx, [eax + Image.Width]
227
	add	edx, 19
236
	add	edx, 19
228
	cmp	edx, 50 + 25*5
237
	cmp	edx, 40 + 25*9
229
	jae	@f
238
	jae	@f
230
	mov	edx, 50 + 25*5
239
	mov	edx, 40 + 25*9
231
@@:
240
@@:
232
	mov	[wnd_width], edx
241
	mov	[wnd_width], edx
233
	mov	esi, [eax + Image.Height]
242
	mov	esi, [eax + Image.Height]
234
	add	esi, 44
243
	add	esi, 44
Line 239... Line 248...
239
	add	esi, eax
248
	add	esi, eax
240
	mcall	67,-1,-1
249
	mcall	67,-1,-1
241
.no_resize:
250
.no_resize:
242
	ret
251
	ret
Line -... Line 252...
-
 
252
 
-
 
253
set_as_bgr:
-
 
254
	mov	esi, [image]
-
 
255
	mov	ecx, [esi + Image.Width]
-
 
256
	mov	edx, [esi + Image.Height]
-
 
257
	mcall	15, 1
-
 
258
 
-
 
259
	mcall	15, 6
-
 
260
	test	eax, eax
-
 
261
	jz	@f
-
 
262
 
-
 
263
	push	eax
-
 
264
	invoke	img.to_rgb2, esi, eax
-
 
265
	pop	ecx
-
 
266
	mcall	15, 7
-
 
267
 
-
 
268
@@:
-
 
269
	mcall	15, 3
-
 
270
	ret
243
 
271
 
-
 
272
prev_image:
-
 
273
	call	load_directory
-
 
274
	cmp	[directory_ptr], 0
-
 
275
	jz	.ret
-
 
276
	mov	ebx, [directory_ptr]
-
 
277
	mov	eax, [cur_file_idx]
-
 
278
	cmp	eax, -1
-
 
279
	jnz	@f
-
 
280
	mov	eax, [ebx+4]
-
 
281
@@:
-
 
282
	push	[image]
-
 
283
.scanloop:
-
 
284
	dec	eax
-
 
285
	jns	@f
-
 
286
	mov	eax, [ebx+4]
-
 
287
	dec	eax
-
 
288
	cmp	[cur_file_idx], -1
-
 
289
	jz	.notfound
-
 
290
@@:
-
 
291
	cmp	eax, [cur_file_idx]
-
 
292
	jz	.notfound
-
 
293
	push	eax
-
 
294
	imul	esi, eax, 304
-
 
295
	add	esi, [directory_ptr]
-
 
296
	add	esi, 32 + 40
-
 
297
	mov	edi, curdir
-
 
298
@@:
-
 
299
	inc	edi
-
 
300
	cmp	byte [edi-1], 0
-
 
301
	jnz	@b
-
 
302
	mov	byte [edi-1], '/'
-
 
303
@@:
-
 
304
	lodsb
-
 
305
	stosb
-
 
306
	test	al, al
-
 
307
	jnz	@b
-
 
308
	mov	eax, curdir
-
 
309
	call	load_image
-
 
310
	pop	eax
-
 
311
	jc	.scanloop
-
 
312
	mov	[cur_file_idx], eax
-
 
313
	invoke	img.destroy
-
 
314
	mov	esi, curdir
-
 
315
	mov	edi, @PARAMS
-
 
316
	mov	ecx, 512/4
-
 
317
	rep	movsd
-
 
318
	mov	byte [edi-1], 0
-
 
319
.ret:
-
 
320
	ret
-
 
321
.notfound:
-
 
322
	pop	[image]
-
 
323
	ret
-
 
324
 
-
 
325
next_image:
-
 
326
	call	load_directory
-
 
327
	cmp	[directory_ptr], 0
-
 
328
	jz	.ret
-
 
329
	mov	ebx, [directory_ptr]
-
 
330
	mov	eax, [cur_file_idx]
-
 
331
	push	[image]
-
 
332
.scanloop:
-
 
333
	inc	eax
-
 
334
	cmp	eax, [ebx+4]
-
 
335
	jb	@f
-
 
336
	xor	eax, eax
-
 
337
	cmp	[cur_file_idx], -1
-
 
338
	jz	.notfound
-
 
339
@@:
-
 
340
	cmp	eax, [cur_file_idx]
-
 
341
	jz	.notfound
-
 
342
	push	eax ebx
-
 
343
	imul	esi, eax, 304
-
 
344
	add	esi, [directory_ptr]
-
 
345
	add	esi, 32 + 40
-
 
346
	mov	edi, curdir
-
 
347
@@:
-
 
348
	inc	edi
-
 
349
	cmp	byte [edi-1], 0
-
 
350
	jnz	@b
-
 
351
	mov	byte [edi-1], '/'
-
 
352
@@:
-
 
353
	lodsb
-
 
354
	stosb
-
 
355
	test	al, al
-
 
356
	jnz	@b
-
 
357
	mov	eax, curdir
-
 
358
	call	load_image
-
 
359
	pop	ebx eax
-
 
360
	jc	.scanloop
244
draw_window:
361
	mov	[cur_file_idx], eax
-
 
362
	invoke	img.destroy
-
 
363
	mov	esi, curdir
-
 
364
	push	esi
-
 
365
	mov	edi, @PARAMS
-
 
366
	mov	ecx, 512/4
-
 
367
	rep	movsd
-
 
368
	mov	byte [edi-1], 0
-
 
369
	pop	esi
-
 
370
@@:
-
 
371
	lodsb
-
 
372
	test	al, al
-
 
373
	jnz	@b
-
 
374
@@:
-
 
375
	dec	esi
-
 
376
	cmp	byte [esi], '/'
-
 
377
	jnz	@b
-
 
378
	mov	byte [esi], 0
-
 
379
.ret:
-
 
380
	ret
-
 
381
.notfound:
-
 
382
	pop	[image]
-
 
383
	ret
-
 
384
 
-
 
385
load_directory:
-
 
386
	cmp	[directory_ptr], 0
-
 
387
	jnz	.ret
-
 
388
	mov	esi, @PARAMS
-
 
389
	mov	ecx, esi
-
 
390
@@:
-
 
391
	lodsb
-
 
392
	test	al, al
-
 
393
	jnz	@b
-
 
394
@@:
-
 
395
	dec	esi
-
 
396
	cmp	byte [esi], '/'
-
 
397
	jnz	@b
-
 
398
	mov	[last_name_component], esi
-
 
399
	sub	esi, ecx
-
 
400
	xchg	ecx, esi
-
 
401
	mov	edi, curdir
-
 
402
	rep	movsb
-
 
403
	mov	byte [edi], 0
-
 
404
	mcall	68, 12, 0x1000
-
 
405
	test	eax, eax
-
 
406
	jz	.ret
-
 
407
	mov	ebx, readdir_fileinfo
-
 
408
	mov	dword [ebx+12], (0x1000 - 32) / 304
-
 
409
	mov	dword [ebx+16], eax
-
 
410
	mcall	70
-
 
411
	cmp	eax, 6
-
 
412
	jz	.dirok
-
 
413
	test	eax, eax
-
 
414
	jnz	free_directory
-
 
415
	mov	edx, [directory_ptr]
-
 
416
	mov	ecx, [edx+8]
-
 
417
	mov	[readblocks], ecx
-
 
418
	imul	ecx, 304
-
 
419
	add	ecx, 32
-
 
420
	mcall	68, 20
-
 
421
	test	eax, eax
-
 
422
	jz	free_directory
-
 
423
	mov	[directory_ptr], eax
-
 
424
	mcall	70, readdir_fileinfo
-
 
425
.dirok:
-
 
426
	cmp	ebx, 0
-
 
427
	jle	free_directory
-
 
428
	mov	eax, [directory_ptr]
-
 
429
	add	eax, 32
-
 
430
	mov	edi, eax
-
 
431
	push	0
-
 
432
.dirskip:
-
 
433
	push	eax
-
 
434
	test	byte [eax], 18h
-
 
435
	jnz	.nocopy
-
 
436
	lea	esi, [eax+40]
-
 
437
	mov	ecx, esi
-
 
438
@@:
-
 
439
	lodsb
-
 
440
	test	al, al
-
 
441
	jnz	@b
-
 
442
@@:
-
 
443
	dec	esi
-
 
444
	cmp	esi, ecx
-
 
445
	jb	.noext
-
 
446
	cmp	byte [esi], '.'
-
 
447
	jnz	@b
-
 
448
	inc	esi
-
 
449
	mov	ecx, [esi]
-
 
450
	or	ecx, 0x202020
-
 
451
	cmp	ecx, 'jpg'
-
 
452
	jz	.copy
-
 
453
	cmp	ecx, 'bmp'
-
 
454
	jz	.copy
-
 
455
	cmp	ecx, 'gif'
-
 
456
	jz	.copy
-
 
457
	cmp	ecx, 'png'
-
 
458
	jz	.copy
-
 
459
	cmp	ecx, 'jpe'
-
 
460
	jz	.copy
-
 
461
	cmp	ecx, 'jpeg'
-
 
462
	jz	@f
-
 
463
	cmp	ecx, 'jpeG'
-
 
464
	jnz	.nocopy
-
 
465
@@:
-
 
466
	cmp	byte [esi+4], 0
-
 
467
	jnz	.nocopy
-
 
468
.copy:
-
 
469
	mov	esi, [esp]
-
 
470
	mov	ecx, 304 / 4
-
 
471
	rep	movsd
-
 
472
	inc	dword [esp+4]
-
 
473
.nocopy:
-
 
474
.noext:
-
 
475
	pop	eax
-
 
476
	add	eax, 304
-
 
477
	dec	ebx
-
 
478
	jnz	.dirskip
-
 
479
	mov	eax, [directory_ptr]
245
	invoke	gfx.open, TRUE
480
	pop	ebx
-
 
481
	mov	[eax+4], ebx
-
 
482
	test	ebx, ebx
-
 
483
	jz	free_directory
-
 
484
	push	0	; sort mode
-
 
485
	push	ebx
-
 
486
	add	eax, 32
-
 
487
	push	eax
-
 
488
	call	[SortDir]
-
 
489
	xor	eax, eax
-
 
490
	mov	edi, [directory_ptr]
-
 
491
	add	edi, 32 + 40
-
 
492
.scan:
-
 
493
	mov	esi, [last_name_component]
-
 
494
	inc	esi
-
 
495
	push	edi
-
 
496
	invoke	strcmpi
-
 
497
	pop	edi
-
 
498
	jz	.found
-
 
499
	inc	eax
-
 
500
	add	edi, 304
-
 
501
	dec	ebx
-
 
502
	jnz	.scan
-
 
503
	or	eax, -1
-
 
504
.found:
-
 
505
	mov	[cur_file_idx], eax
-
 
506
.ret:
-
 
507
	ret
-
 
508
 
-
 
509
free_directory:
-
 
510
	mcall	68, 13, [directory_ptr]
-
 
511
	and	[directory_ptr], 0
Line -... Line 512...
-
 
512
	ret
246
	mov	[ctx], eax
513
 
247
 
514
draw_window:
248
	mcall	48, 4
515
	mcall	48, 4
249
	mov	ebp, eax	; save skin height
516
	mov	ebp, eax	; save skin height
250
	add	eax, [wnd_height]
517
	add	eax, [wnd_height]
251
	__mov	ebx, 100, 0
518
	__mov	ebx, 100, 0
252
	add	ebx, [wnd_width]
519
	add	ebx, [wnd_width]
Line 253... Line 520...
253
	lea	ecx, [100*65536 + eax]
520
	lea	ecx, [100*65536 + eax]
Line 254... Line 521...
254
	mcall	0, , , 0x73FFFFFF, , s_header
521
	mcall	0, , , 0x73FFFFFF, , s_header
255
 
522
 
256
	mcall	9, procinfo, -1
523
	mcall	9, procinfo, -1
257
 
524
 
258
	mov	ebx, [procinfo + 42]
-
 
259
	sub	ebx, 9
525
	mov	ebx, [procinfo + 62]
260
	mcall	13, , <0, 35>, 0xFFFFFF
526
	inc	ebx
261
	mov	ecx, [procinfo + 46]
527
	mcall	13, , <0, 35>, 0xFFFFFF
262
	sub	ecx, ebp
528
	mov	ecx, [procinfo + 66]
263
	sub	ecx, 9
529
	sub	ecx, 4
264
	shl	ecx, 16
530
	shl	ecx, 16
Line 282... Line 548...
282
	sub	ebx, esi
548
	sub	ebx, esi
283
	shl	ebx, 16
549
	shl	ebx, 16
284
	add	ebx, esi
550
	add	ebx, esi
285
	mcall
551
	mcall
Line 286... Line -...
286
 
-
 
287
	invoke	gfx.pen.color, [ctx], 0x007F7F7F
552
 
288
	mov	eax, [procinfo + 42]
553
	mov	ebx, [procinfo + 62]
-
 
554
	push	ebx
-
 
555
	mcall	38, , <30, 30>, 0x007F7F7F
289
	sub	eax, 10
556
	mcall	, <5 + 25 * 1, 5 + 25 * 1>, <0, 30>
-
 
557
	mcall	, <10 + 25 * 3, 10 + 25 * 3>
290
	invoke	gfx.line, [ctx], 0, 30, eax, 30
558
	mcall	, <15 + 25 * 4, 15 + 25 * 4>
-
 
559
	pop	ebx
-
 
560
	sub	ebx, 25 * 5 + 10
291
 
561
	push	ebx
-
 
562
	imul	ebx, 10001h
Line 292... Line 563...
292
	xor	ebp, ebp
563
	mcall
293
 
564
 
294
	mcall	8, <5 + 25 * 0, 20>, <5, 20>, 'opn'+40000000h
-
 
295
	mcall	65, openbtn, <20, 20>, <5 + 25 * 0, 5>, 4, palette
565
	mcall	8, <5 + 25 * 0, 20>, <5, 20>, 'opn'+40000000h
296
 
-
 
297
	invoke	gfx.line, [ctx], 5 + 25 * 1, 0, 5 + 25 * 1, 30
566
	mcall	, <10 + 25 * 1, 20>, , 'bck'+40000000h
-
 
567
	mcall	, <10 + 25 * 2, 20>, , 'fwd'+40000000h
-
 
568
	mcall	, <15 + 25 * 3, 20>, , 'bgr'+40000000h
-
 
569
	pop	ebx
-
 
570
	add	ebx, 5
298
 
571
	shl	ebx, 16
-
 
572
	mov	bl, 20
299
	mcall	8, <10 + 25 * 1, 20>, <5, 20>, 'flh'+40000000h
573
	mcall	, , , 'flh'+40000000h
-
 
574
	add	ebx, 25 * 65536
-
 
575
	mcall	, , , 'flv'+40000000h
-
 
576
	add	ebx, 30 * 65536
-
 
577
	mcall	, , , 'rtr'+40000000h
-
 
578
	add	ebx, 25 * 65536
300
	mcall	65, fliphorzbtn, <20, 20>, <10 + 25 * 1, 5>, 4, palette
579
	mcall	, , , 'rtl'+40000000h
301
	mcall	8, <10 + 25 * 2, 20>, <5, 20>, 'flv'+40000000h
580
	add	ebx, 25 * 65536
302
	mcall	65, flipvertbtn, <20, 20>, <10 + 25 * 2, 5>, 4, palette
581
	mcall	, , , 'flb'+40000000h
303
 
582
 
304
	invoke	gfx.line, [ctx], 10 + 25 * 3, 0, 10 + 25 * 3, 30
583
	mov	ebp, (numimages-1)*20
305
 
584
 
306
	mcall	8, <15 + 25 * 3, 20>, <5, 20>, 'rtr'+40000000h
585
	mcall	65, buttons+openbtn*20, <20, 20>, <5 + 25 * 0, 5>, 8, palette
307
	mcall	65, rotcwbtn, <20, 20>, <15 + 25 * 3, 5>, 4, palette
586
	mcall	, buttons+backbtn*20, , <10 + 25 * 1, 5>
-
 
587
	mcall	, buttons+forwardbtn*20, , <10 + 25 * 2, 5>
-
 
588
	mcall	, buttons+bgrbtn*20, , <15 + 25 * 3, 5>
-
 
589
	mov	edx, [procinfo + 62]
-
 
590
	sub	edx, 25 * 5 + 4
308
	mcall	8, <15 + 25 * 4, 20>, <5, 20>, 'rtl'+40000000h
591
	shl	edx, 16
-
 
592
	mov	dl, 5
309
	mcall	65, rotccwbtn, <20, 20>, <15 + 25 * 4, 5>, 4, palette
593
	mcall	, buttons+fliphorzbtn*20
-
 
594
	add	edx, 25 * 65536
-
 
595
	mcall	, buttons+flipvertbtn*20
-
 
596
	add	edx, 30 * 65536
-
 
597
	mcall	, buttons+rotcwbtn*20
-
 
598
	add	edx, 25 * 65536
-
 
599
	mcall	, buttons+rotccwbtn*20
Line 310... Line 600...
310
	mcall	8, <15 + 25 * 5, 20>, <5, 20>, 'flb'+40000000h
600
	add	edx, 25 * 65536
311
	mcall	65, rot180btn, <20, 20>, <15 + 25 * 5, 5>, 4, palette
601
	mcall	, buttons+rot180btn*20
312
 
602
 
313
	mov	ebx, [image]
603
	mov	ebx, [image]
Line 326... Line 616...
326
	mov	edi, [ebx + Image.Palette]
616
	mov	edi, [ebx + Image.Palette]
327
	mov	ebx, [ebx + Image.Data]
617
	mov	ebx, [ebx + Image.Data]
328
	xor	ebp, ebp
618
	xor	ebp, ebp
329
	mcall	65
619
	mcall	65
Line 330... Line -...
330
 
-
 
331
	invoke	gfx.close, [ctx]
620
 
Line 332... Line 621...
332
	ret
621
	ret
333
 
622
 
334
; void* __stdcall mem.Alloc(unsigned size);
623
; void* __stdcall mem.Alloc(unsigned size);
Line 561... Line 850...
561
@IMPORT:
850
@IMPORT:
Line 562... Line 851...
562
 
851
 
563
library 			\
852
library 			\
564
	libio  , 'libio.obj'  , \
853
	libio  , 'libio.obj'  , \
565
	libgfx , 'libgfx.obj' , \
854
	libgfx , 'libgfx.obj' , \
-
 
855
	libimg , 'libimg.obj' , \
Line 566... Line 856...
566
	libimg , 'libimg.obj'
856
	sort   , 'sort.obj'
567
 
857
 
568
import	libio			  , \
858
import	libio			  , \
569
	libio.init , 'lib_init'   , \
859
	libio.init , 'lib_init'   , \
Line 586... Line 876...
586
	img.decode  , 'img.decode' , \
876
	img.decode  , 'img.decode' , \
587
	img.flip    , 'img.flip'   , \
877
	img.flip    , 'img.flip'   , \
588
	img.rotate  , 'img.rotate' , \
878
	img.rotate  , 'img.rotate' , \
589
	img.destroy , 'img.destroy'
879
	img.destroy , 'img.destroy'
Line -... Line 880...
-
 
880
 
-
 
881
import  sort, sort.START, 'START', SortDir, 'SortDir', strcmpi, 'strcmpi'
590
 
882
 
Line -... Line 883...
-
 
883
;-----------------------------------------------------------------------------
-
 
884
 
-
 
885
virtual at 0
-
 
886
file 'kivicons.bmp':0xA,4
-
 
887
load offbits dword from 0
-
 
888
end virtual
-
 
889
numimages = 9
-
 
890
openbtn = 0
-
 
891
backbtn = 1
-
 
892
forwardbtn = 2
-
 
893
bgrbtn = 3
-
 
894
fliphorzbtn = 4
-
 
895
flipvertbtn = 5
-
 
896
rotcwbtn = 6
-
 
897
rotccwbtn = 7
591
;-----------------------------------------------------------------------------
898
rot180btn = 8
592
 
-
 
593
palette:
-
 
594
	dd	0x000000, 0x800000, 0x008000, 0x808000
899
 
595
	dd	0x000080, 0x800080, 0x008080, 0x808080
-
 
596
	dd	0xC0C0C0, 0xFF0000, 0x00FF00, 0xFFFF00
-
 
597
	dd	0x0000FF, 0xFF00FF, 0x00FFFF, 0xFFFFFF
-
 
598
 
-
 
599
macro loadbtn filename
900
palette:
600
{
901
	file 'kivicons.bmp':0x36,offbits-0x36
601
repeat 20
-
 
602
file filename:76h+(%-1)*12,10
902
buttons:
603
end repeat
903
	file 'kivicons.bmp':offbits
604
repeat 10
904
repeat 10
605
y = % - 1
905
y = % - 1
606
z = 20 - %
906
z = 20 - %
607
repeat 10
907
repeat numimages*5
608
load a byte from $ - 20*10 + y*10 + (%-1)
908
load a dword from $ - numimages*20*20 + numimages*20*y + (%-1)*4
609
load b byte from $ - 20*10 + z*10 + (%-1)
909
load b dword from $ - numimages*20*20 + numimages*20*z + (%-1)*4
610
store byte a at $ - 20*10 + z*10 + (%-1)
910
store dword a at $ - numimages*20*20 + numimages*20*z + (%-1)*4
611
store byte b at $ - 20*10 + y*10 + (%-1)
911
store dword b at $ - numimages*20*20 + numimages*20*y + (%-1)*4
612
end repeat
-
 
613
end repeat
-
 
614
}
-
 
615
 
-
 
616
openbtn:
-
 
617
	loadbtn 'open.bmp'
-
 
618
fliphorzbtn:
-
 
619
	loadbtn 'fliphorz.bmp'
-
 
620
flipvertbtn:
-
 
621
	loadbtn 'flipvert.bmp'
-
 
622
rotcwbtn:
-
 
623
	loadbtn 'rotcw.bmp'
-
 
624
rotccwbtn:
-
 
625
	loadbtn 'rotccw.bmp'
-
 
Line 626... Line 912...
626
rot180btn:
912
end repeat
627
	loadbtn 'rot180.bmp'
913
end repeat
628
 
914
 
629
; DATA AREA
915
; DATA AREA
Line 642... Line 928...
642
 dd 0
928
 dd 0
643
 dd 0
929
 dd 0
644
;run_filepath
930
;run_filepath
645
 db '/sys/SYSXTREE',0
931
 db '/sys/SYSXTREE',0
Line -... Line 932...
-
 
932
 
-
 
933
readdir_fileinfo:
-
 
934
	dd	1
-
 
935
	dd	0
-
 
936
	dd	0
-
 
937
readblocks dd	0
-
 
938
directory_ptr	dd	0
646
 
939
 
Line 647... Line 940...
647
;-----------------------------------------------------------------------------
940
;-----------------------------------------------------------------------------
Line -... Line 941...
-
 
941
 
-
 
942
I_END:
-
 
943
 
648
 
944
curdir		rb	1024
649
I_END:
945
 
650
 
946
align 4
651
img_data     dd ?
947
img_data     dd ?
652
img_data_len dd ?
948
img_data_len dd ?
653
fh	     dd ?
949
fh	     dd ?
-
 
950
image	     dd ?
-
 
951
wnd_width	dd	?
Line 654... Line 952...
654
image	     dd ?
952
wnd_height	dd	?
Line 655... Line 953...
655
wnd_width	dd	?
953
last_name_component	dd	?
656
wnd_height	dd	?
954
cur_file_idx	dd	?