Subversion Repositories Kolibri OS

Rev

Rev 2388 | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
2388 dunkaist 1
.pbm:
2
	stdcall	img.create, [width], [height], Image.bpp1
3
	test	eax, eax
4
	jz	.quit
5
	mov	[retvalue], eax
6
	mov	ebx, eax
7
 
8
	mov	edi, [ebx+Image.Palette]
9
	mov	[edi], dword 0x00ffffff
10
	mov	[edi + 4], dword 0x00000000
11
 
12
	cmp	[data_type], PNM_ASCII
13
	je	.pbm.ascii
14
 
15
  .pbm.raw:
16
	mov	ecx, [ebx+Image.Width]
17
	add	ecx, 7
18
	shr	ecx, 3
19
	imul	ecx, [ebx+Image.Height]
20
	mov	edi, [ebx+Image.Data]
21
	rep	movsb
22
	jmp	.quit
23
 
24
  .pbm.ascii:
25
	mov	edi, [ebx+Image.Data]
26
  .pbm.next_line:
27
	mov	edx, [width]
28
	mov	ecx, 7
29
	xor	eax, eax
30
  .pbm.next_char:
31
	lodsb
32
	cmp	al, ' '
33
	jna	.pbm.next_char
34
  .pbm.get_number:
35
	cmp	al, '1'
36
	sete	bl
37
	shl	bl, cl
38
	or	ah, bl
39
	dec	ecx
40
	jns	@f
41
	shr	eax, 8
42
	stosb
43
	mov	ecx, 7
44
    @@:
45
	dec	edx
46
	jnz	.pbm.next_char
47
	test	byte[width], 0x07
48
	jz	@f
49
	shr	eax, 8
50
	stosb
51
    @@:
52
	dec	[height]
53
	jnz	.pbm.next_line
54
	jmp	.quit