Subversion Repositories Kolibri OS

Rev

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

Rev 717 Rev 722
Line 147... Line 147...
147
	movzx	ecx, [ebx + gif.ImageDescriptor.Height]
147
	movzx	ecx, [ebx + gif.ImageDescriptor.Height]
148
	stdcall img._resize_data, [img], eax, ecx
148
	stdcall img._resize_data, [img], eax, ecx
149
	or	eax, eax
149
	or	eax, eax
150
	jz	.error
150
	jz	.error
Line -... Line 151...
-
 
151
 
-
 
152
	xor	ecx, ecx
151
 
153
	mov	eax, [edx + Image.Extended]
152
	test	[ebx + gif.ImageDescriptor.Packed], gif.ID.Packed.LocalColorTableFlag
154
	test	[ebx + gif.ImageDescriptor.Packed], gif.ID.Packed.LocalColorTableFlag
153
	jz	@f
155
	jz	@f
154
	mov	cl, [ebx + gif.ImageDescriptor.Packed]
156
	mov	cl, [ebx + gif.ImageDescriptor.Packed]
155
	and	cl, gif.ID.Packed.SizeOfLocalColorTableMask
157
	and	cl, gif.ID.Packed.SizeOfLocalColorTableMask
Line 161... Line 163...
161
	lea	eax, [ecx + sizeof.gif.Image]
163
	lea	eax, [ecx + sizeof.gif.Image]
162
	invoke	mem.realloc, [edx + Image.Extended], eax
164
	invoke	mem.realloc, [edx + Image.Extended], eax
163
	or	eax, eax
165
	or	eax, eax
164
	jz	.error
166
	jz	.error
165
	mov	[edx + Image.Extended], eax
167
	mov	[edx + Image.Extended], eax
-
 
168
    @@: mov	esi, ebx
166
	lea	esi, [ebx + sizeof.gif.ImageDescriptor]
169
	lea	edi, [eax + sizeof.gif.GraphicsControlExtension]
167
	lea	edi, [eax + sizeof.gif.Image]
170
	add	ecx, sizeof.gif.ImageDescriptor
168
	rep	movsb
171
	rep	movsb
Line 169... Line 172...
169
 
172
 
170
    @@: mov	eax, [global_color_table]
173
	mov	eax, [global_color_table]
171
	test	[ebx + gif.ImageDescriptor.Packed], gif.ID.Packed.LocalColorTableFlag
174
	test	[ebx + gif.ImageDescriptor.Packed], gif.ID.Packed.LocalColorTableFlag
172
	jz	@f
175
	jz	@f
173
	lea	eax, [ebx + sizeof.gif.ImageDescriptor]
176
	lea	eax, [ebx + sizeof.gif.ImageDescriptor]
174
    @@: mov	ebx, esi
177
    @@: mov	ebx, esi
Line 291... Line 294...
291
	add	esi, gif.ApplicationExtension.ApplicationData
294
	add	esi, gif.ApplicationExtension.ApplicationData
292
	stdcall img.decode.gif._.skip_data
295
	stdcall img.decode.gif._.skip_data
293
	jmp	.next_ext_block
296
	jmp	.next_ext_block
Line 294... Line 297...
294
 
297
 
295
  .next_ext_block:
298
  .next_ext_block:
296
	mov	al, [ebx + gif.Block.Introducer]
299
	mov	al, [esi + gif.Block.Introducer]
297
	cmp	al, gif.Block.Introducer.EndOfData
300
	cmp	al, gif.Block.Introducer.EndOfData
298
	jne	.exit
301
	jne	.exit
299
	inc	ebx
302
	inc	esi
Line 300... Line 303...
300
	jmp	.next_block
303
	jmp	.next_block
301
 
304
 
302
  .exit:
305
  .exit: