1 Thu Dec 11 01:57:05 2003 Matthias Clasen <maclas@gmx.de>
3 * gdk-pixbuf-loader.c (gdk_pixbuf_loader_class_init): Move
4 the documentation for signals inline, to get proper parameter
5 documentation. (#128977)
7 Sat Nov 15 00:26:19 2003 Matthias Clasen <maclas@gmx.de>
9 * queryloaders.c (loader_sanity_check): Check that the mask
10 is NULL or a string of the same length consisting entirely of
11 ' ', '!', 'x', 'z', 'n'.
13 Mon Nov 10 00:17:52 2003 Matthias Clasen <maclas@gmx.de>
15 * Makefile.am (install-data-local): Typo fix in warning.
17 Sun Nov 9 23:07:05 2003 Matthias Clasen <maclas@gmx.de>
19 * gdk-pixbuf-io.c (_gdk_pixbuf_generic_image_load): If neither
20 load nor begin_load are available fall back to load_animation
21 and use gdk_pixbuf_animation_get_static_image() to obtain a
22 pixbuf. Inefficient, but at least doesn't crash.
24 Sun Nov 9 21:56:20 2003 Matthias Clasen <maclas@gmx.de>
26 * queryloaders.c (write_loader_info): New function to write
27 out the information for a single loader, factored out of
29 (loader_sanity_check): New function to perform
30 sanity checks on a loader.
31 (query_module): Use the new functions.
33 Thu Nov 6 00:27:27 2003 Matthias Clasen <maclas@gmx.de>
35 * io-pcx.c (gdk_pixbuf__pcx_load_increment): Fold two similar
36 strings into on. (#126204, Danilo Segan)
38 2003-09-19 Matthias Clasen <maclas@gmx.de>
40 * io-tga.c (try_preload): Remove a pointless check.
41 (#122710, Kjartan Maraas)
43 Mon Aug 18 10:25:29 2003 Owen Taylor <otaylor@redhat.com>
45 * gdk-pixdata.c (gdk_pixdata_to_csource): Add the correct
46 alignment magic for Sun compiler and for GCC to get
47 the strings aligned. (Patch from Brian Cameron, #117217)
49 2003-08-14 Matthias Clasen <maclas@gmx.de>
51 * gdk-pixdata.c (gdk_pixdata_to_csource): Improve doc comment
52 wording. (#119754, Doug Quale)
54 2003-08-03 Matthias Clasen <maclas@gmx.de>
56 * gdk-pixbuf.c (gdk_pixbuf_get_rowstride):
57 * gdk-pixbuf-data.c (gdk_pixbuf_new_from_data): Clarify misleading
58 explanation of rowstride. (#119000)
60 2003-07-24 Matthias Clasen <maclas@gmx.de>
62 * gdk-pixbuf-io.c (gdk_pixbuf_new_from_file_at_size): Preserve the
63 aspect ratio. (#118145, Owen Taylor)
65 2003-07-23 Matthias Clasen <maclas@gmx.de>
67 * gdk-pixbuf-io.c (gdk_pixbuf_new_from_file_at_size): Close loader
68 before unref'ing it. (#118146, Owen Taylor)
70 2003-03-01 Hans Breuer <hans@breuer.org>
72 * makefile.msc : updated
74 * gdk_pixbuf.def : export a bunch of new functions
76 2003-07-18 Matthias Clasen <maclas@gmx.de>
78 * pixops/pixops.c (correct_total): Split correction into multiple
79 pieces if no single weight is large enough to apply the unsplit
80 correction. (#117431, problem reported by Tomas Ă–gren)
82 2003-07-13 Matthias Clasen <maclas@gmx.de>
85 * gdk-pixbuf-io.c (gdk_pixbuf_new_from_file_at_size): New function
86 to load an image from a file at a specified size. (#105326, Dom
89 2003-07-11 Matthias Clasen <maclas@gmx.de>
91 * queryloaders.c (query_module): Handle absolute filenames
92 properly. (#117170, Jens Elkner)
94 * gdk-pixbuf-io.c: Mention that NULL-terminated arrays returned by
95 gdk_pixbuf_format_get_mime_types() and
96 gdk_pixbuf_format_get_extensions() must be freed with g_strfreev().
98 2003-07-04 Matthias Clasen <maclas@gmx.de>
100 * gdk-pixbuf-io.c: Document ICO save parameters.
102 * io-ico.c: Support saving of ICOs and CURs. Currently, only
103 single-image ICOs are produced, but the code for multi-image ICOs
104 is already in place. The saver understands the options "depth"
105 (can be "32", "24" or "16") and "x_hot"/"y_hot" for hotspot
108 2003-06-28 Matthias Clasen <maclas@gmx.de>
110 * io-ico.c (DecodeHeader): Stop discriminating against 32bpp ICOs
111 a): Use the byte size of the image as a heuristic when selecting
112 the bitmap to load - this lets us select 32bpp bitmaps which come
114 (OneLineTransp): Stop discriminating against 32bpp ICOs b): Don't
115 overwrite the alpha channel of 32bpp ICOs.
116 (gdk_pixbuf__ico_image_load_increment): Stop decoding the header
119 Fri Jun 27 03:56:59 2003 Soeren Sandmann <sandmann@daimi.au.dk>
121 * io-gif-animation.c (gdk_pixbuf_gif_anim_frame_composite): Make
122 it compile with C89 compilers.
124 2003-06-23 Matthias Clasen <maclas@gmx.de>
126 * io-gif.c (gif_get_frame_info): Remove the pointless refusal to
127 load images with dubious disposal mode on the first frame. Just
128 ignore it, as everybody else does.
130 2003-06-22 Matthias Clasen <maclas@gmx.de>
132 * gdk-pixbuf-loader.[hc] (gdk_pixbuf_loader_new_with_mime_type):
133 New function to obtain a loader for a specific mime type.
134 (#105324, Dom Lachowicz)
136 * io-gif.c (gif_get_extension): Reset block_count to 0 for all
137 application extensions, otherwise the data blocks of unknown
138 extensions are not propertly skipped.
140 Second half of the fix for #106962, handle frames extending beyond
143 * io-gif.c (clip_frame): New helper function to clip a rectangle
144 to the logical screen size of the gif.
145 (maybe_update): New helper function to call update_func only if
146 the rectangle is not completely off-bounds.
147 (gif_get_lzw): Read frames extending outside the logical screen
148 size, but be careful clip to the logical screen size
149 when operating on the composite pixbuf and when calling update_func.
150 (gif_init): Set the animation size to the logical screen size.
151 (gif_get_frame_info): Don't refuse to load images with frames
152 extending beyond the logical screen size.
154 * io-gif-animation.c (gdk_pixbuf_gif_anim_frame_composite): Be
155 careful to clip all rectangles to the logical screen size, also
156 handle the fact that frames may be completely off-bounds.
158 2003-06-21 Matthias Clasen <maclas@gmx.de>
160 * io-gif.c: Merge from 2.2: Fix update_func() arguments and accept
161 empty frames. (#106962)
163 2003-06-17 Matthias Clasen <maclas@gmx.de>
165 * Makefile.am (man_MANS): Removed, man pages are now installed
166 from docs/reference/gdk-pixbuf.
168 2003-06-03 Matthias Clasen <maclas@gmx.de>
170 * gdk-pixdata.c (gdk_pixbuf_new_from_inline): Document
171 data_length == -1, add an example. (#97290)
173 2003-06-01 Matthias Clasen <maclas@gmx.de>
175 * gdk-pixdata.h (struct _GdkPixdata): Fix misleading documentation
176 of rowstride. (#113924, Noah Levitt)
178 2003-05-27 Matthias Clasen <maclas@gmx.de>
180 * io-wbmp.c: Remove dubious bitfields of
181 unspecified signedness. (#112919, Morten Welinder)gdk-p
183 * gdk-pixdata.c (gdk_pixdata_to_csource): Replace all occurances
184 of g_string_new ("") by g_string_new (NULL). (#106975, Morten
187 2003-05-21 Matthias Clasen <maclas@gmx.de>
189 * pixbufloader_pcx.def:
190 * io-pcx.c: A loader for PCX files. (#113035, Josh Beam)
193 * Makefile.am: Add PCX loader.
195 2003-05-19 Matthias Clasen <maclas@gmx.de>
197 Improve progressive loading from slow sources: (#107368)
199 * io-gif-animation.c (gdk_pixbuf_gif_anim_get_iter): Initialize
201 (gdk_pixbuf_gif_anim_iter_advance): Don't wrap during loading if
202 the datasource falls behind the speed of the display.
204 * io-gif-animation.h: Add a loading flag to GdkPixbufGifAnim and
205 first_loop_slowness to GdkPixbufGifAnimIter.
207 Wed May 14 18:24:50 2003 Owen Taylor <otaylor@redhat.com>
209 * gdk-pixdata.c (gdk_pixdata_deserialize): Add a
210 (gint32 *) => (guint32 *) cast. (#108615, Rick Jones)
212 2003-04-24 Matthias Clasen <maclas@gmx.de>
214 * gdk-pixbuf-loader.c (gdk_pixbuf_loader_write):
215 (gdk_pixbuf_loader_new_with_type):
216 (gdk_pixbuf_loader_close):
217 * gdk-pixbuf-io.c (gdk_pixbuf_new_from_file):
220 * gdk-pixbuf-animation.c (gdk_pixbuf_animation_new_from_file):
221 Add sanity checks for GError handling. (#108345)
223 Tue Apr 1 15:33:51 2003 Owen Taylor <otaylor@redhat.com>
225 * pixops/pixops.c (make_weights): Exploit the fact that all
226 our filters are separable to simplify the calculation of
227 the weight tables. (Based on a patch from Brian Cameron.)
229 * pixops/Makefile.am pixbuf-transform-math.ltx:
230 Add a short article describing how the math in pixops.c
233 2003-03-21 Matthias Clasen <maclas@gmx.de>
235 * gdk-pixbuf-animation.c (gdk_pixbuf_non_anim_get_type): Add
236 missing static. (#108614)
238 * io-jpeg.c (gdk_pixbuf__jpeg_image_begin_load):
239 * io-ico.c (gdk_pixbuf__ico_image_stop_load): Add missing static
240 qualifiers apparently causing problems on some platforms. (#108617)
242 2003-03-11 Matthias Clasen <maclas@gmx.de>
244 * io-ico.c (DecodeHeader): Calculate LineWidth for 16bpp from
245 width, like for the other depths. (noticed by Marijn Ros)
247 2003-03-08 Matthias Clasen <maclas@gmx.de>
249 Bug #107664 continued:
251 * io-xpm.c (find_color): Fix 0/FALSE confusion
252 * gdk-pixbuf.c (gdk_pixbuf_get_has_alpha): Fix -1/gboolean
255 2003-03-06 Matthias Clasen <maclas@gmx.de>
257 * io-gif.c (gif_read): Fix 0/FALSE confusion (#107664, Morten
260 2003-02-20 Matthias Clasen <maclas@gmx.de>
262 * io-gif-animation.c (gdk_pixbuf_gif_anim_frame_composite):
263 Always clear the initial frame and "disposed" areas with
264 transparent pixels, no matter whether the frame has transparency
267 2003-02-18 Matthias Clasen <maclas@gmx.de>
269 * io-tga.c (pixbuf_flip_row):
270 (pixbuf_flip_vertically): Auxiliary functions used to implement
271 support for arbitrary origins.
272 (parse_data_for_row_pseudocolor):
273 (parse_data_for_row_truecolor):
274 (parse_data_for_row_grayscale):
275 (parse_data_for_row):
276 (fill_in_context): Remove the check for upper-left origin.
277 (parse_rle_data): Support arbitrary origins. (#105912)
279 * io-tga.c (fread_check):
281 (get_header_from_file):
282 (get_colormap_from_file):
283 (get_image_pseudocolor):
284 (swap_channels_pixbuf):
285 (get_image_truecolor):
286 (get_image_grayscale):
287 (gdk_pixbuf__tga_load): Remove the non-incremental load
288 implementation, since we have generic_image_load () now.
290 (gdk_pixbuf__tga_stop_load): Fix a potential crash discovered by
293 2003-02-14 Matthias Clasen <maclas@gmx.de>
295 * io-tga.c (try_preload):
296 (gdk_pixbuf__tga_load): Actually reject images with origin
297 not in the upper-left corner. (#105912)
299 2003-02-06 Matthias Clasen <maclas@gmx.de>
301 * queryloaders.c (query_module): Better error message if
302 module_open() fails. (#105349, Tim Mooney)
304 Mon Jan 27 17:10:30 2003 Owen Taylor <otaylor@redhat.com>
306 * Makefile.am (gdk-pixbuf.loaders): Rewrite to run
307 on the .la files rather than looking for .so files.
308 (#102142, Martin Gansser)
310 * Makefile.am: Don't build gdk-pixbuf.loaders when
313 2003-01-05 Tor Lillqvist <tml@iki.fi>
315 * Makefile.am (gdk-pixbuf.loaders): Use @SOEXT@ in the find command.
317 * gdk_pixbuf.def: Add gdk_pixbuf_loader_set_size.
319 2003-01-03 Matthias Clasen <maclas@gmx.de>
321 * gdk-pixbuf-io.c (gdk_pixbuf_new_from_xpm_data): Don't crash if
322 gdk-pixbuf.loaders file is missing. (#102222)
324 2002-12-08 Matthias Clasen <maclas@gmx.de>
326 * gdk-pixbuf-animation.h:
327 * gdk-pixbuf-io.h: Add /*< public|private >*/ markers.
329 Sat Dec 7 10:14:05 2002 Owen Taylor <otaylor@redhat.com>
331 * Makefile.am (gdk-pixbuf.loaders): Make gdk-pixbuf.loaders
332 also depend gdk-pixbuf-query-loaders. (#97096, Daniel Elstner)
334 2002-12-05 Matthias Clasen <maclas@gmx.de>
336 * io-ico.c: Remove leftover debug output. (#100357, Owen Taylor)
338 2002-12-04 Bastien Nocera <hadess@hadess.net>
340 * io-tiff.c: (tiff_image_parse): use G_BIG_ENDIAN instead of
341 WORDS_BIGENDIAN which isn't set by configure.in
343 2002-11-29 Matthias Clasen <maclas@gmx.de>
345 * gdk-pixbuf-animation.c:
346 * gdk-pixbuf.c: Add deprecation docs.
348 2002-11-28 Matthias Clasen <maclas@gmx.de>
350 * gdk-pixbuf/gdk-pixbuf-io.c:
351 * gdk-pixbuf/gdk-pixbuf-loader.c:
352 * gdk-pixbuf/gdk-pixbuf.c: Document 2.2 API additions. I'm not
353 going to list all individual functions here; if you want to see
354 the list, grep for "Since: 2.2".
356 Fri Nov 8 19:06:07 2002 Owen Taylor <otaylor@redhat.com>
358 * Makefile.am (gdk-pixbuf.loaders): Make gdk-pixbuf.loaders
359 file depend on the loaders (#97096, Jeff Waugh)
361 Wed Nov 6 15:19:53 2002 Owen Taylor <otaylor@redhat.com>
363 * io-gif.c (CHECK_LZW_SP): Fix trailing semicolon on macro,
366 2002-11-05 Matthias Clasen <maclas@gmx.de>
368 * gdk-pixbuf-loader.c: Reindent to follow the gdk-pixbuf indentation.
370 Tue Nov 5 14:16:17 2002 Owen Taylor <otaylor@redhat.com>
372 * gdk-pixbuf-loader.c (gdk_pixbuf_loader_close): Fix
373 leaked pixbuf reference (#96823, Morten Welinder)
375 2002-10-23 Matthias Clasen <maclas@gmx.de>
377 * io-gif.c (lzw_read_byte): Check for stack overflow throughout.
380 2002-10-21 Matthias Clasen <maclas@gmx.de>
382 Support the Netscape application extension for gif animations
385 * io-gif-animation.h:
386 * io-gif-animation.c (gdk_pixbuf_gif_anim_iter_advance):
387 Add loop count to GdkPixbufGifAnim and use it in the advance
388 method of GdkPixbufGifAnimIter.
390 * io-gif.c (gif_get_extension): Parse Netscape application
391 extension block and set the animation loop count.
393 2002-10-11 Matthias Clasen <maclas@gmx.de>
395 * gdk-pixbuf-loader.c (gdk_pixbuf_loader_get_format): Remove
398 * gdk-pixbuf-io.h: Remove unused typedef
399 GdkPixbufModuleGetSignatureFunc.
401 2002-10-04 jacob berkman <jacob@ximian.com>
403 * queryloaders.c (query_module): make legal C
405 2002-10-04 Matthias Clasen <maclas@gmx.de>
407 * Makefile.am gdk-pixbuf-animation.c gdk-pixbuf-data.c
408 gdk-pixbuf-io.c gdk-pixbuf-io.h gdk-pixbuf-loader.c
409 gdk-pixbuf-loader.h gdk-pixbuf-private.h gdk-pixbuf.h
410 gdk-pixdata.c io-ani-animation.h io-ani.c io-bmp.c
411 io-gif-animation.c io-gif-animation.h io-gif.c io-ico.c
412 io-jpeg.c io-png.c io-pnm.c io-ras.c io-tga.c io-tiff.c
413 io-wbmp.c io-xbm.c io-xpm.c pixbufloader_ani.def
414 pixbufloader_bmp.def pixbufloader_gif.def pixbufloader_ico.def
415 pixbufloader_jpeg.def pixbufloader_png.def
416 pixbufloader_pnm.def pixbufloader_ras.def pixbufloader_tga.def
417 pixbufloader_tiff.def pixbufloader_wbmp.def
418 pixbufloader_xbm.def pixbufloader_xpm.def test-gdk-pixbuf.c
419 gdk-pixbuf-animation.h queryloaders.c: Support for separately
420 installed loaders. (#77486)
422 Thu Oct 3 18:25:57 2002 Owen Taylor <otaylor@redhat.com>
424 * io-jpeg.c (gdk_pixbuf__jpeg_image_save):
425 Fix memory leak. (#94399)
427 Tue Oct 1 17:35:43 2002 Owen Taylor <otaylor@redhat.com>
429 * gdkpixdata.c: Patch from Andy Wingo to always
430 escape ? to avoid accidentally generating trigraphs
431 in the output (#94631)
433 2002-09-28 Tor Lillqvist <tml@iki.fi>
435 * pixops/*.S: Don't use .type on Cygwin, either (#91597, Masahiro
438 2002-09-27 Federico Mena Quintero <federico@ximian.com>
440 * io-ico.c (gdk_pixbuf__ico_image_begin_load): Free the context if
441 we cannot allocate the HeaderBuf.
443 2002-09-27 Federico Mena Quintero <federico@ximian.com>
445 * io-bmp.c (OneLine): Fix the update region notification to handle
446 top-to-bottom and bottom-to-top BMPs correctly.
448 2002-09-19 Matthias Clasen <maclas@gmx.de>
450 * Revert the previous change; the symbols need to be exported
451 to be usable from dlopened modules.
453 2002-09-18 Matthias Clasen <maclas@gmx.de>
455 * io-xpm.c, io-xbm.c, io-ico.c, io-ani.c, io-png.c,
456 gdk-pixbuf.c, gdk-pixbuf-animation.c, gdk-pixbuf-loader.c,
457 gdk-pixbuf-private.h: _-prefix gdk_pixbuf_non_anim_new and
458 gdk_pixbuf_set_option. Adjust all callers.
460 2002-09-14 Hans Breuer <hans@breuer.org>
462 * pixops/Makefile.am : added makefile.msc to EXTRA_DIST
464 2002-09-12 Matthias Clasen <maclas@gmx.de>
466 * io-gif-animation.h:
467 * gdk-pixbuf.h: Move GdkPixbufFrame from the public header to
468 the gif-animation-specific private header. (#91929)
470 2002-09-12 Federico Mena Quintero <federico@ximian.com>
472 * io-jpeg.c (gdk_pixbuf__jpeg_image_load): Unref the pixbuf if we
473 hit an unsupported colorspace.
475 2002-09-06 Matthias Clasen <maclas@gmx.de>
477 * io-ani.c, io-ani-animation.h, io-ani-animation.c,
478 pixbufloader_ani.def, Makefile.am, gdk-pixbuf-io.c: New loader,
481 * io-xpm.c (pixbuf_create_from_xpm):
482 * io-xbm.c (gdk_pixbuf__xbm_image_load_real):
483 * io-ico.c (DecodeHeader): Attach hotspot coordinates to the
484 pixbuf as options "x_hot" and "y_hot".
486 2002-09-04 Matthias Clasen <maclas@gmx.de>
488 * io-tga.c (io_buffer_append):
489 * io-ico.c (DecodeHeader):
490 * io-bmp.c (grow_buffer): Don't leak memory if g_try_realloc fails.
492 * gdk-pixbuf-io.c (pixbuf_check_ico): Fix loading of .CUR files.
495 2002-08-25 Tor Lillqvist <tml@iki.fi>
497 * Makefile.am (libgdk_pixbuf_2_0_la_DEPENDENCIES): Add
498 gdk_pixbuf_win32res_lo. (#87101, J. Ali Harlow)
500 2002-08-22 Matthias Clasen <maclas@gmx.de>
503 gdk-pixbuf-io.c (_gdk_pixbuf_generic_image_load): No longer
504 static, thus _gdk_pixbuf-prefixed.
506 * gdk-pixbuf-animation.c (gdk_pixbuf_animation_new_from_file):
507 Keep this logic in sync with gdk_pixbuf_new_from_file(). (Based
508 on a patch by Anders Carlsson)
510 * io-png.c (gdk_pixbuf__png_image_save): Plug a memory
511 leak. (#91422, Sven Neumann)
513 2002-07-31 Sven Neumann <sven@gimp.org>
515 * gdk-pixdata.c (gdk_pixdata_to_csource): free the result of
516 gdk_pixdata_serialize() (bug #89411).
518 Mon Jul 29 23:06:10 2002 Owen Taylor <otaylor@redhat.com>
520 * gdk-pixbuf-scale.c: Fix some warnings by adding
521 casts to PixopsInterpType. (#85839, David L. Cooper, II.)
523 2002-07-16 Matthias Clasen <maclas@gmx.de>
525 * io-ras.c (DoCompressed): Avoid unnecessary casting.
527 2002-07-07 Matthias Clasen <maclas@gmx.de>
529 * gdk-pixbuf-io.c (generic_image_load): New function for loading
530 an image from a file either via module->load or incrementally.
531 (prepared_notify): ModulePreparedNotifyFunc for generic_image_load.
532 (gdk_pixbuf_new_from_file): Use generic_image_load.
533 * io-bmp.c, io-ico.c, io-ras.c, io-wbmp.c: Remove trivial
534 implementations of module->load. (#71266)
536 * io-ico.c (DecodeHeader): Correct computation of image height.
537 (OneLine): Correct update notification.
539 Load-at-size functionality (#53726):
541 * gdk-pixbuf-io.h (ModuleSizeFunc): New.
542 (_GdkPixbufModule): Prepend a ModuleSizeFunc to the
543 begin_load arguments. Adjust all modules.
544 * gdk-pixbuf-loader.c (struct GdkPixbufLoaderPrivate): Add
545 fields width, height, size_fixed, need_scale.
546 (gdk_pixbuf_loader_class_init): Add size_prepared signal.
547 (gdk_pixbuf_loader_set_size): New function.
548 (gdk_pixbuf_loader_size_func): ModuleSizeFunc which gets
549 passed to the module, emits size_prepared.
550 (gdk_pixbuf_loader_prepare): Call gdk_pixbuf_loader_size_func
551 if necessary, only emit area_prepared if no separate scaling
553 (gdk_pixbuf_loader_update): Only emit area_updated if no
554 separate scaling is required.
555 (gdk_pixbuf_loader_load_module): Add size_func as first argument.
556 (gdk_pixbuf_loader_close): If necessary scale the image
557 to the desired size and emit area_prepared and area_updated.
558 * gdk-pixbuf-loader.h (struct _GdkPixbufLoaderClass): Add
559 size_prepared signal.
560 (gdk_pixbuf_loader_set_size) New API.
561 * gdk-pixbuf-marshal.list: Add VOID:INT,INT.
562 * io-jpeg.c: User cinfo->output_width/height instead of
563 cinfo->image_width/height throughout when adressing the pixbuf.
564 (gdk_pixbuf__jpeg_image_load_increment): Call size_func, and
565 find the nearest possible output size which libjpeg can produce
566 that is still larger than the desired size.
568 2002-07-06 Matthias Clasen <maclas@gmx.de>
570 * io-tiff.c (tiff_set_error): Handle global_error == NULL
572 (tiff_image_parse): Don't trust TIFFRGBAImageBegin to set
573 the "put" routine. (Fixes #87384)
574 (gdk_pixbuf__tiff_image_stop_load): Don't call TIFFClose too
577 2002-07-02 Matthias Clasen <maclas@gmx.de>
579 Miscellaneous bmp loader fixes (#85448, #86286, #86287):
581 * io-bmp.c (grow_buffer): New function to avoid crashes
582 on unchecked reallocs.
583 (DecodeHeader, DecodeColormap, decode_bitmasks,
584 DoCompressed): Use grow_buffer instead of g_realloc
585 throughout. Change signatures where necessary to pass the
587 (OneLine16): Fix loading of 16bpp BI_RGB bmps.
588 (DoCompressed): Rewritten to properly support BI_RLE4 and
591 Support for compressed ras images (#84994):
593 * io-ras.c (RAS2State): Error on unsupported ras variations.
594 (OneLine8): Fix colormap indexing.
595 (OneLine): Call updated_func with proper region.
596 (DoCompressed): New function, handles compressed ras data.
597 (gdk_pixbuf__ras_image_load_increment): Handle compressed ras
600 Better colorspace support for the jpeg loader (#61211):
602 * io-jpeg.c (convert_cmyk_to_rgb): New function.
603 (gdk_pixbuf__jpeg_image_load,
604 gdk_pixbuf__jpeg_image_load_increment): Allocate a pixbuf with
605 alpha for 4-channel jpegs and call convert_cmyk_to_rgb for these.
607 All of this needs to be merged to GNOME 1.4 gdk-pixbuf.
609 2002-06-28 Sven Neumann <sven@gimp.org>
611 * gdk-pixbuf-csource.c (print_blurb): converted a Tab to spaces.
613 Thu Jun 13 18:11:11 2002 Owen Taylor <otaylor@redhat.com>
615 * pixops/pixops.c: Fix problem where when no alpha was
616 involved, we scaled rather than composited, but then
617 went ahead and composited anyways. (#76958, Patch
618 from Matthias Clasen). Needs to be merged to GNOME
621 2002-06-13 Matthias Clasen <maclas@gmx.de>
623 * io-jpeg.c: Use libjpeg in buffered-image mode in order to
624 incrementally display incrementally loaded progressive jpegs.
626 2002-06-07 Federico Mena Quintero <federico@ximian.com>
629 (lsb_16): New functions to fetch 32 or 16-bit little-endian values
630 starting at a specific memory location. We do this instead of
631 GINT32_FROM_LE() as the latter is simply dereferences a cast,
632 which doesn't work on platforms with alignment requirements.
635 2002-06-01 Matthias Clasen <maclas@gmx.de>
637 * gdk-pixbuf-io.c (pixbuf_check_xbm): Accept xbms starting
638 with a C comment - those seem to be not uncommon, e.g. the Gimp
639 produces them. (#82706)
641 * io-xbm.c (read_bitmap_file_data): Don't leak memory on certain
643 (gdk_pixbuf__xbm_image_load_real): Don't leak memory on valid inputs.
645 2002-05-22 Tor Lillqvist <tml@iki.fi>
647 * gdk-pixbuf-io.c (get_libdir): Use GTK_BINARY_VERSION (and not
648 GTK_VERSION) in the path to the loaders on Win32, too.
650 * Makefile.am: Pass GTK_BINARY_VERSION.
652 2002-05-22 Federico Mena Quintero <federico@ximian.com>
654 * io-xpm.c (pixbuf_create_from_xpm): Ahem, take the rowstride into
655 account!!! Fixes #82515.
657 [This bug is not present in the GNOME 1.4 branch as its XPM loader
658 does not use gdk_pixbuf_new(); rather it malloc()s a buffer with
659 no row padding and then uses gdk_pixbuf_new_from_data() on it.]
661 [IMPORTANT: The comment above is to make my life easier when
662 merging stuff across branches. If you make changes to gdk-pixbuf
663 in either branch, please include a comment in the ChangeLog that
664 indicates whether this should be merged into the other branch.
667 2002-05-18 Matthias Clasen <maclas@gmx.de>
669 * io-tiff.c (tiff_image_parse): fix packing order on bigendian
672 Thu May 16 15:17:30 2002 Owen Taylor <otaylor@redhat.com>
674 * pixops/pixops.c: Patch from Matthias Clasen to fix some typos
677 Thu May 16 15:02:46 2002 Owen Taylor <otaylor@redhat.com>
679 * gdk-pixdata.c (gdk_pixdata_to_csource): Fix 64-bit warning.
682 2002-05-07 Michael Natterer <mitch@gimp.org>
684 * gdk-pixbuf/Makefile.am: build the static pixbuf loaders
685 conditionally like the dynamic ones so --without-lib<foo> is
686 honored when building with --disable-modules. (#66867)
688 Sun May 5 02:27:01 2002 Soeren Sandmann <sandmann@daimi.au.dk>
690 * Makefile.am (noinst_PROGRAMS): remove test-loaders (moved to
692 * test-loaders.c, test-images.h: remove
694 2002-04-24 Matthias Clasen <maclas@gmx.de>
696 * gdk-pixbuf-io.c (gdk_pixbuf_save): Remove the ISO8859-1
697 restriction from the description of png tEXt parameters.
699 * io-png.c (png_text_to_pixbuf_option):
700 (gdk_pixbuf__png_image_save): If libpng supports it,
701 store and retrieve non-ISO8859-1 text as UTF-8. (#76172)
703 2002-04-11 Matthias Clasen <maclas@gmx.de>
705 More fixes for #77807:
707 * io-tga.c (get_contiguous_pixbuf): Helper function to create
708 a pixbuf with a contiguous pixel array while being careful about
711 * io-tga.c (fill_in_context, get_image_pseudocolor,
712 get_image_truecolor, get_image_grayscale): Use
713 get_contiguous_pixbuf instead of manually allocating image
716 * io-xpm.c (pixbuf_create_from_xpm):
717 * io-pnm.c (gdk_pixbuf__pnm_image_load):
718 * io-jpeg.c (gdk_pixbuf__jpeg_image_load): Use gdk_pixbuf_new
719 instead of manually allocating image storage.
721 2002-04-09 Matthias Clasen <maclas@gmx.de>
723 * gdk-pixbuf-loader.c (gdk_pixbuf_loader_load_module): Use
724 priv->image_module->module_name instead of image_type which may
727 2002-04-06 Matthias Clasen <maclas@gmx.de>
729 * io-png.c (gdk_pixbuf__png_image_load): Restructured to use
730 gdk_pixbuf_new instead of manually allocating image storage. This
731 gives us a good rowstride and overflow checks. (#77807)
733 2002-04-05 Matthias Clasen <maclas@gmx.de>
735 * io-tiff.c (tiff_image_parse): Avoid allocating an extra copy of
736 the image by using a TIFFRGBAImage{Begin,Get,End} with suitable
737 put functions instead of TIFFRGBAImage. And check image dimensions
740 2002-04-03 Matthias Clasen <maclas@gmx.de>
742 * gdk-pixbuf-loader.c (gdk_pixbuf_loader_get_type): Fix a doc typo.
744 2002-03-29 Matthias Clasen <maclas@gmx.de>
746 * io-png.c (png_simple_error_callback): libpng error handlers must
747 not return to their callers, thus longjmp out. This prevents
748 annoying stderr output from the default error handler.
750 2002-03-27 Matthias Clasen <maclas@gmx.de>
752 * io-png.c (gdk_pixbuf__png_image_stop_load): Don't leak info_ptr.
754 * io-png.c (gdk_pixbuf__png_image_load): Get rid of unused
755 end_info. Also call png_read_end to check proper ending of the png
756 file and catch text chunks after the image data.
758 2002-03-27 Matthias Clasen <maclas@gmx.de>
760 * io-png.c (gdk_pixbuf__png_image_load,
761 gdk_pixbuf__png_image_begin_load): Make libpng use g_malloc
762 instead of system malloc.
764 2002-03-26 Matthias Clasen <maclas@gmx.de>
766 * io-tiff.c (tiff_image_parse): Don't leak pixbuf on error.
768 * io-gif.c (gdk_pixbuf__gif_image_load_increment): Don't leak
769 context->buf on error.
771 * gdk-pixbuf-loader.c (gdk_pixbuf_loader_close): Make sure to call
772 stop_load even for short images to prevent memleaks.
774 2002-03-25 Matthias Clasen <maclas@gmx.de>
776 * io-png.c (setup_png_transformations): Changed signature to
777 return success and set a GError parameter, adjusted all callers.
778 Also work around a possible FPE in libpng and always check that
779 the new info is sane.
781 2002-03-23 Matthias Clasen <maclas@gmx.de>
783 * io-wbmp.c (gdk_pixbuf__wbmp_image_load_increment):
784 context->updated_func is NULL during a nonincremental load.
785 (gdk_pixbuf__wbmp_image_load): Stop reading after the first error.
787 2002-03-18 Matthias Clasen <maclas@gmx.de>
789 * io-tga.c: Fix assumptions on rowstride by manually allocating a
790 contiguous pixel buffer. Catch buffer overruns in RLE-modi.
791 Support grayscale + alpha (which can be written, but not read (!)
794 2002-03-15 Matthias Clasen <maclas@gmx.de>
796 * io-gif.c (gif_get_frame_info): Catch invalid frame dimensions.
798 2002-03-13 Matthias Clasen <maclas@gmx.de>
800 * test-images.h: Add valid_ras_test and invalid_bmp_1.
802 * test-loaders.c (main): Add random tests for ras and pnm and an
803 invalid bmp which was a crasher until my 2002-03-12 commit.
805 * io-pnm.c (gdk_pixbuf__pnm_image_load_increment): Don't unref the
808 * io-ras.c: Handle some errors.
810 2002-03-12 Sven Neumann <sven@gimp.org>
812 * gdk-pixbuf.c (gdk_pixbuf_fill): use sequential writes instead of
813 calling memcpy(). Simpler and potentially faster. (#70332)
815 2002-03-12 Matthias Clasen <maclas@gmx.de>
817 * io-bmp.c (DecodeHeader): Replace a g_assert_not_reached ()
818 which could actually be reached by a proper error status return.
820 2002-03-05 Matthias Clasen <maclas@gmx.de>
822 * test-loaders.c, test-images.h: More random tests.
824 * io-bmp.c (DecodeHeader): Fail gracefully on OOM here.
826 Tue Mar 5 10:39:03 2002 Owen Taylor <otaylor@redhat.com>
828 * Makefile.am (loaderdir): Put the modules into the
829 GTK_BINARY_VERSION directory for consistency with
830 immodules and theme engines.
832 Sat Mar 2 22:11:10 2002 Owen Taylor <otaylor@redhat.com>
834 * gdk-pixbuf-io.c (_gdk_pixbuf_load_module): If we
835 can't load the module using the g_module_build_path()
836 filename, try loading it as a .la file.
838 * test-loaders.c: Look for modules in current directory
839 rather than .libs, so we find the right .la files.
841 * test-loaders.c: Back out some accidental commits.
843 Sat Mar 2 21:28:03 2002 Owen Taylor <otaylor@redhat.com>
845 * gdk-pixbuf.c (gdk_pixbuf_new): Bullet-proof against integer
848 2002-03-03 Tor Lillqvist <tml@iki.fi>
850 * gtk-pixbuf.rc.in: Remove.
852 * gdk_pixbuf.rc.in: Name like this instead (wrong name used by
855 * makefile.msc: Corresponding changes.
857 * Makefile.am: Use gdk_pixbuf.rc on Win32. Distribute it.
859 2002-02-28 Matthias Clasen <maclas@gmx.de>
861 * pixops/pixops.c (tile_make_weights): Move the call to
862 correct_total() to the right spot. (#72732)
864 Wed Feb 27 18:33:04 2002 Owen Taylor <otaylor@redhat.com>
866 * gdk-pixdata.c (gdk_pixdata_to_csource): Use {} not
867 () to group around string assigned to char[]. (#72767,
870 2002-02-21 Havoc Pennington <hp@pobox.com>
872 * gdk-pixbuf-loader.c (gdk_pixbuf_loader_load_module): remove
873 C++-commented debug spew, reported by David L. Cooper
875 2002-02-15 Matthias Clasen <maclas@gmx.de>
877 * pixops/pixops.c (correct_total): New function to make sure
878 that the weights sum up to the correct total without introducing
880 (tile_make_weights, bilinear_make_fast_weights,
881 bilinear_make_weights): Use correct_total.
883 2002-02-10 Matthias Clasen <maclas@gmx.de>
885 * test-images.h (tiff1_test_3), test-loaders.c (main): Add a
886 (#ifdef 0'ed) test provoking a segfault in TIFFReadDirectory().
888 * io-ico.c (DecodeHeader): Check that pixbuf could be allocated.
890 * test-images.h (ico_test_2), test-loaders.c (main): Test the
893 * io-wbmp.c (gdk_pixbuf__wbmp_image_load_increment): Don't write
894 beyond the end of buffer if width % 8 != 0.
896 * io-tga.c (try_preload): Enforce that ctx->hdr->type is one of
897 the supported types, otherwise parse_data_for_row () will not make
898 any progress, leading to an infinite loop.
900 Mon Feb 11 14:31:53 2002 Owen Taylor <otaylor@redhat.com>
902 * pixops/pixops.c (bilinear_make_weights): Fix handing of
905 2002-02-10 Matthias Clasen <maclas@gmx.de>
907 * test-loaders.c (main): Enable some tests which should work
910 * io-wbmp.c (gdk_pixbuf__wbmp_image_load_increment): Detect
911 invalid image dimensions and insufficient memory.
913 * io-tga.c (try_preload): Detect invalid image dimensions.
914 (gdk_pixbuf__tga_stop_load): Don't try to unref NULL pointers.
916 * io-ico.c (DecodeHeader): Detect some invalid headers and
919 Fri Feb 8 23:11:15 2002 Owen Taylor <otaylor@redhat.com>
921 * pixops/pixops.c: Force all weight arrays to sum exactly
922 to 65535. (Fixes #70971, reported by Federico Mena Quintero)
924 * Makefile.am (libgdk_pixbuf_1_3_la_DEPENDENCIES): Add
927 2002-02-08 Federico Mena Quintero <federico@ximian.com>
929 * pixops/pixops.h: Fix comment; PixopsInterpType -> GdkInterpType.
931 2002-02-08 Darin Adler <darin@bentspoon.com>
933 * io-xbm.c: (next_int): Wean this from <ctype.h>.
935 2002-02-01 Matthias Clasen <matthiasc@poet.de>
937 * Makefile.am: Build the tga loader as a static library. (#70157)
939 * io-ico.c: Merge 16- and 32-bit ico support from the stable
942 * io-gif.c: Recomposite all images if the animation size changes
943 while loading. (#70055)
945 * gdk-pixbuf.c (gdk-pixbuf-fill): Make it work for subpixbufs.
948 Sat Jan 19 20:49:20 2002 Manish Singh <yosh@gimp.org>
950 * io-jpeg.c, io-png.c: Made sure all the error cases involving
951 jpeg or png load/saves clean themselves up properly. Marked some
952 variables needed for cleanup volatile so they aren't clobbered by
955 Fri Jan 11 18:05:07 2002 Owen Taylor <otaylor@redhat.com>
957 * pixops/pixops.c: Fix integer overflow for the values
958 passed to the pixel functions. (#55148, fix from Michael Hore)
960 Fri Jan 11 17:53:58 2002 Owen Taylor <otaylor@redhat.com>
962 * pixops/pixops.c (pixops_scale_nearest): Remove meaningless
965 * pixops/pixops.c (pixops_process): Comment the computation
966 of run_end_index and fix some edge cases.
968 * pixops/{scale_line_22_33_mmx.S, composite_line_22_4a4_mmx.S:
969 composite_line_color_22_4a4_mmx.S}: Handle the case where
970 dest <= dest_end properly. (#52001, fix from Michael Hore)
972 Thu Jan 10 16:48:30 2002 Owen Taylor <otaylor@redhat.com>
974 * pixops/pixops.c: Replace some hardcoded values with the
975 SUBSAMPLE constant used elsewhere. (#51033)
977 Wed Jan 9 11:29:44 2002 Owen Taylor <otaylor@redhat.com>
979 * Makefile.am (s-enum-types-h): Include glib-object.h,
980 Add G_BEGIN_DECLS/END_DECLS to gdk-pixbuf-enum-types.h. (#68325,
983 * *.h: G_BEGIN_DECLS cleanups.
985 Tue Jan 8 10:58:04 2002 Owen Taylor <otaylor@redhat.com>
987 * gdk-pixbuf-util.c (gdk_pixbuf_saturate_and_pixelate):
988 - Massive cleanup, make actually legible.
989 - Fix some clamp-to-range bugs found by Jim Cape (#68231).
990 - Add a g_return_if_fail() if src and dest alpha don't match.
991 - Allow for src_rowstride != dest_rowstride.
993 2002-01-04 Hans Breuer <hans@breuer.org>
995 * gdk_pixbuf.def : don't export functions prefixed
998 * makefile.msc : use -FImsvc_recommende_pragmas.h
1000 Thu Jan 3 19:31:58 2002 Owen Taylor <otaylor@redhat.com>
1002 * pixops/pixops.c (scale_line_22_33): Fix and uncomment
1005 * pixops/pixops.c (pixops_composite_nearest): Remove a
1008 * pixops/pixops.c (pixops_composite): Add some docs
1009 about the parameters.
1011 * pixops/README: Add notes about the correct algorithms
1012 for alpha compositing and how to implement them quickly.
1014 2001-12-29 Tor Lillqvist <tml@iki.fi>
1016 * Makefile.am (EXTRA_DIST): Add makefile.msc.
1018 Sat Dec 22 15:31:20 2001 Owen Taylor <otaylor@redhat.com>
1020 * gdk-pixdata.h: Fix trailing "," in enumeration.
1022 2001-12-17 Matthias Clasen <matthiasc@poet.de>
1024 * gdk-pixbuf.c, gdk-pixbuf-io.c, gdk-pixbuf-animation.c,
1025 gdk-pixbuf-data.c, gdk-pixbuf-loader.c, gdk-pixbuf-scale.c,
1026 gdk-pixbuf-util.c, gdk-pixdata.c: Markup fixes.
1028 2001-12-16 Havoc Pennington <hp@pobox.com>
1030 * gdk-pixbuf-scale.c: docs enhancements
1032 2001-12-14 Sebastian Wilhelmi <wilhelmi@ira.uka.de>
1034 * io-xpm.c: Use g_ascii_strcasecmp() instead of g_strcasecmp().
1036 2001-12-13 Sebastian Wilhelmi <wilhelmi@ira.uka.de>
1038 * gdk-pixbuf-animation.c, gdk-pixbuf-loader.c, gdk-pixpuf.c,
1039 io-gif-animation.c, io-gif.c, io-tiff.c, test-loaders.c: Remove
1040 assorted G_OBJECT casts where unnecessary.
1042 * gdk-pixbuf-loader.c: Call g_object_ref and g_object_unref
1043 instead of gdk_pixbuf_animation_ref and gdk_pixbuf_animation_unref
1046 * gdk-pixbuf-csource.c, io-bmp.c, io-gif-animation.c, io-ico.c,
1047 io-jpeg.c, io-png.c, io-pnm.c, io-ras.c, io-tga.c, io-wbmp.c,
1048 io-xbm.c, io-xpm.c, test-gdk-pixbuf.c: Dito for gdk_pixbuf_ref and
1051 * Makefile.am, pixops/Makefile.am: Compile everything with
1052 -DG_DISABLE_DEPRECATED -DGDK_PIXBUF_DISABLE_DEPRECATED
1054 * gdk-pixdata.c: Use g_ascii_strup() instead of g_strup().
1056 * io-xpm.c: Use g_ascii_strcasecmp() instead of g_strcasecmp().
1058 2001-12-12 Matthias Clasen <matthiasc@poet.de>
1060 * gdk-pixbuf-io.c: Markup fixes.
1062 2001-12-12 Matthias Clasen <matthiasc@poet.de>
1064 * Makefile.am (INCLUDES): Define G_LOG_DOMAIN. (#66412)
1066 * gdk-pixbuf-loader.c, gdk-pixbuf-util.c: Markup fixes.
1068 2001-12-11 Michael Natterer <mitch@gimp.org>
1070 * io-png.c: gdk_pixbuf__png_image_save: removed wrong endian
1071 conversion stuff; don't copy RGB pixbufs' lines around before
1074 2001-12-05 Matthias Clasen <matthiasc@poet.de>
1076 * gdk-pixbuf.h (gdk_pixbuf_ref, gdk_pixbuf_unref,
1077 gdk_pixbuf_animation_ref, gdk_pixbuf_animation_unref):
1080 Tue Dec 4 11:45:45 2001 Owen Taylor <otaylor@redhat.com>
1082 * io-xpm.c (pixbuf_create_from_xpm): Fill in color
1083 fields to black for transparent colors since we'll
1084 later initialize pixels from them. (Fixes purify
1085 errors, #66093, HideToshi Tajima)
1087 2001-11-30 Tor Lillqvist <tml@iki.fi>
1089 * gdk_pixbuf.def: Add gdk_pixbuf_get_option.
1091 Fri Nov 30 15:55:34 2001 Owen Taylor <otaylor@redhat.com>
1093 * gdk-pixdata.c (gdk_pixdata_deserialize): Fix
1094 alignment problem in deserialization, (#65785,
1095 reported by Hidetoshi Tajima)
1097 2001-11-28 Manish Singh <yosh@gimp.org>
1099 * gdk-pixbuf/io-bmp.c (gdk_pixbuf__bmp_image_load_increment): Fill
1100 in missing error parameters to DecodeHeader and DecodeColormap.
1102 2001-11-21 Federico Mena Quintero <federico@ximian.com>
1104 Fix Ximian bug #12125; merged from gdk-pixbuf stable.
1106 * gdk-pixbuf/io-bmp.c (gdk_pixbuf__bmp_image_load_increment): Use
1107 a simple state machine instead of a scary if/else chain.
1108 (DecodeHeader): Set the reading state.
1109 (DecodeColormap): Set the reading state.
1110 (decode_bitmasks): New function, decodes the bitmasks for
1111 BI_BITFIELDS coding.
1112 (OneLine32): Handle BI_BITFIELDS coding.
1113 (OneLine16): Likewise.
1115 2001-11-18 Hans Breuer <hans@breuer.org>
1117 * io-xpm.c : use g_strcasecmp(), some poor platforms
1118 don't have strcasecmp()
1120 * makefile.msc : do INCLUDE_png etc. definition here to avoid
1121 my temporary 'gdk-pixbuf-io-include.h' hack
1123 Sun Nov 18 07:54:22 2001 Owen Taylor <otaylor@redhat.com>
1125 * gdk-pixbuf-loader.c: Remove include of gobject/signal.h.
1127 2001-11-03 Sebastian Wilhelmi <wilhelmi@ira.uka.de>
1129 * gdk-pixbuf-loader.c, gdk-pixbuf-scale.c: Documentation fixes.
1131 2001-10-29 Tor Lillqvist <tml@iki.fi>
1133 * Makefile.am: Use -no-undefined on Win32. Make
1134 libgdk_pixbuf_1_3_la_OBJECTS depend on
1135 gdk-pixbuf-marshal.c. Install import libraries.
1137 * gdk_pixbuf.def: Update.
1139 * gdk-pixbuf-io.c: (Win32) Use G_WIN32_DLLMAIN_FOR_DLL_NAME, saves
1140 the actual DLL name of libgdk_pixbuf.
1141 (get_libdir): Use it instead of guessing.
1143 * io-xbm.c (gdk_pixbuf__xbm_image_begin_load): Use
1144 g_file_open_tmp() insread of mkstemp().
1146 2001-10-18 Matthias Clasen <matthiasc@poet.de>
1148 * io-xbm.c (gdk_pixbuf__xbm_image_load_real): Don't dereference
1149 context when it may be NULL. (#62344)
1151 2001-10-16 Matthias Clasen <matthiasc@poet.de>
1153 * gdk-pixdata.c, gdk-pixdata.h: Documentation.
1155 * gdk-pixbuf-csource.1: Spelling fixes.
1157 Wed Oct 10 11:52:17 2001 Owen Taylor <otaylor@redhat.com>
1159 * gdk-pixdata.c gdk-pixbuf.h: Get rid of
1160 GDK_PIXBUF_ERROR_HEADER/PIXEL_CORRUPT and use CORRUPT_IMAGE.
1161 Get rid fo GD_PIXBUF_ERROR_UNKNOWN_FORMAT and use the
1162 existing UKNOWN_TYPE error. (#58308)
1164 * gdk-pixbuf.h, gdk-pixdata.c: Rename gdk_pixbuf_new_from_stream()
1165 back to gdk_pixbuf_new_from_inline(). Rework docs to try
1166 and be helpful for the common case. (#58308)
1168 2001-10-05 Sven Neumann <sven@gimp.org>
1170 * gdk-pixbuf/gdk-pixbuf-io.c
1171 * gdk-pixbuf/gdk-pixbuf-private.h
1172 * gdk-pixbuf/gdk-pixbuf.c
1173 * gdk-pixbuf/gdk-pixbuf.h
1174 * gdk-pixbuf/io-jpeg.c
1175 * gdk-pixbuf/io-png.c: changed GDK_PIXBUF_ERROR_BAD_OPTION_VALUE to
1176 GDK_PIXBUF_ERROR_BAD_OPTION to we can use it for bad keys too. Added
1177 new public API gdk_pixbuf_get_option() to retrieve key/value pairs
1178 set by an image loader. Added support for saving and reading PNG tEXt
1179 chunks in PNG images.
1181 Tue Oct 2 11:29:50 2001 Owen Taylor <otaylor@redhat.com>
1183 * gdk-pixdata.c (gdk_pixdata_to_csource): Fix indentation
1184 use a macro to make code a bit more readable.
1186 2001-10-02 Sven Neumann <sven@gimp.org>
1188 * gdk-pixdata.c: g_string_printfa => g_string_append_printf.
1190 Wed Sep 26 18:08:19 2001 Owen Taylor <otaylor@redhat.com>
1192 * Makefile.am (s-enum-types-h): Fix a typo in the include
1193 guards. (#61254, Skip Montaro)
1195 2001-09-21 Matthias Clasen <matthiasc@poet.de>
1197 * io-xpm.c (xpm_extract_color): Rewritten to handle
1198 xpm colormap entries more thoroughly. (#59939)
1200 2001-09-21 Hans Breuer <hans@breuer.org>
1202 * gdk-pixbuf.def : updated externals
1204 * makefile.msc : generate gdk-pixbuf-enum-types.[hc]
1206 Thu Sep 20 17:22:48 2001 Owen Taylor <otaylor@redhat.com>
1208 * io-tiff.c (gdk_pixbuf__tiff_image_load): On OSF, apparently fseek()
1209 works in some on-demand way, so the fseek
1210 gdk_pixbuf_new_from_file() doesn't work here since we are using
1211 the raw file descriptor. So, we call lseek() on the fileno(f)
1212 before using it. (#60840).
1214 2001-09-20 James Henstridge <james@daa.com.au>
1216 * Makefile.am (gdk-pixbuf-enum-types.c): same change as in pango,
1217 so that flags types are registered as flags rather than enums (not
1218 that there are any flags here at the moment).
1220 Wed Sep 19 00:28:24 2001 Owen Taylor <otaylor@redhat.com>
1222 * Makefile.am (gdk_pixbuf_headers): Don't include
1223 gkd-pixbuf-features.h here since is in builddir
1224 and confuses autogen rules.
1226 * Makefile.am: Don't += variables before they have values,
1227 automake-1.5 doesn't like it.
1229 * Makefile.am: Fix srcdir != builddir for gdk-pixbuf-enum-types.c.
1231 * Makefile.am: The whitespace strikes back.
1233 2001-09-17 Matt Wilson <msw@redhat.com>
1235 * Makefile.am (libpixbufloader_xbm_la_LDFLAGS): removed duplicate
1236 LDFLAGS definition, use the -avoid-version one.
1237 (libpixbufloader_tga_la_LDFLAGS): likewise
1239 Mon Sep 17 11:49:02 2001 Owen Taylor <otaylor@redhat.com>
1241 * pixops/*: Mirror GdkInterpType to PixopsInterpType
1242 to avoid including gdk-pixbuf headers.
1244 2001-09-16 James Henstridge <james@daa.com.au>
1246 * .cvsignore: add generated files to ignore list.
1248 * gdk-pixbuf.h: include gdk-pixbuf-enum-types.h
1250 * Makefile.am: add rules to build gdk-pixbuf-enum-types.[ch]
1252 Fri Sep 14 23:22:12 2001 Matthias Clasen <matthiasc@poet.de>
1254 * io-pnm.c (pnm_read_header): Use GDK_PIXBUF_ERROR_CORRUPT_IMAGE,
1255 not GDK_PIXBUF_ERROR_HEADER_CORRUPT. (#58308)
1257 Fri Sep 14 22:53:45 2001 Matthias Clasen <matthiasc@poet.de>
1259 * io-jpeg.c (gdk_pixbuf__jpeg_image_begin_load): Handle
1260 out-of-memory situation better.
1262 * io-pnm.c: Robustness fixes for pnm loader
1264 * io-gif.c: Make gif loader survive TEST_RANDOMLY_MODIFY
1266 * io-xpm.c (parse_color): detect very long color strings
1268 All of the above from Matthias Clasen <matthiasc@poet.de>,
1269 the remaining from Soeren Sandmann <sandmann@daimi.au.dk>.
1271 * test-images.h: add tests:
1272 - four valid ppm's, eight invalid (matthiasc@poet.de)
1273 - one invalid xpm (matthiasc@poet.de)
1274 - one valid tga, one invalid (sandmann@daimi.au.dk)
1275 - one invalid tiff (sandmann@daimi.au.dk
1277 * test-loaders.c: enable tests for ppm, png, gif, tga, tiff, xpm
1279 * io-tiff.c (gdk_pixbuf__tiff_image_stop_load): TIFFClientOpen can
1280 fail - detect it when it happens
1282 * io-tga.c (gdk_pixbuf__tga_load_increment): Fail if there is too
1285 * gdk-pixbuf-io.c: moved wbmb check after ico check to avoid false
1288 Fri Sep 14 00:30:48 2001 Tim Janik <timj@gtk.org>
1290 * Makefile.am: don't used BUILT_SOURCES to build marshal
1291 files, as in conjunction with stamp files, this can
1292 lead to endless rebuilding loops.
1294 Tue Sep 4 00:22:07 2001 Owen Taylor <otaylor@redhat.com>
1296 * Makefile.am: Fix EXTRA_DIST for gdk-pixbuf-csource.1
1298 Tue Sep 4 03:09:52 2001 Tim Janik <timj@gtk.org>
1300 * gdk-pixbuf-csource.1: new file, manual page for
1301 the publically installed gdk-pixbuf-csource utility.
1303 Thu Aug 30 08:30:03 2001 Matthias Clasen <matthiasc@poet.de>
1305 * gdk-pixbuf-loader.c (gdk_pixbuf_loader_close): Propagate
1306 errors from gdk_pixbuf_loader_load_module.
1308 Thu Aug 30 08:27:37 2001 Matthias Clasen <matthiasc@poet.de>
1310 * io-png.c (png_row_callback): Check that row_num is valid.
1312 Tue Aug 28 21:05:26 2001 Matthias Clasen <matthiasc@poet.de>
1314 * io-bmp.c (OneLine): Emit area_updated signal with proper
1315 area information. (#52002)
1317 Tue Aug 28 20:03:43 2001 Matthias Clasen <matthiasc@poet.de>
1319 * test-loaders.c (test_loader): Catch errors at close time.
1320 * test-loaders.c (main): Remove C++ comments.
1322 2001-08-21 Matthias Clasen <matthiasc@poet.de>
1324 * Makefile.am, gdk-pixbuf-io.c, pixbufloader_tga.def,
1325 io-tga.c: Add tga loader, patch by Nicola Girardi. (#56067)
1327 2001-08-20 Matthias Clasen <matthiasc@poet.de>
1329 * test-images.h, test-loaders.c: Add ico and wbmp tests.
1330 * io-jpeg.c (gdk_pixbuf__jpeg_image_save): Fail with a suitable
1331 error if buffer allocation fails.
1332 * io-ico.c: Make .ICO loader more robust.
1333 All of these are due to sandmann@daimi.au.dk (#50187)
1335 2001-08-19 Sven Neumann <sven@gimp.org>
1337 * pixops/pixops.c: applied some simple but effective optimizations
1338 to pixops_composite_nearest() and pixops_composite_color_nearest().
1340 2001-08-07 Sven Neumann <sven@gimp.org>
1342 * gdk-pixbuf.c (gdk_pixbuf_fill): a comment asked to optimize this
1343 function, so that's what I did.
1345 2001-08-06 Kjartan Maraas <kmaraas@gnome.org>
1347 * gdk-pixdata.c: Fix a typo.
1349 2001-07-30 Hans Breuer <hans@breuer.org>
1351 * pixops/makefile.msc : new file
1352 * makefile.msc : use it to complete the build
1354 2001-07-20 Hans Breuer <hans@breuer.org>
1356 * gdk-pixdata.c : don't 'g_tohl (*istream++)', but move
1357 pointer increment out of the macro, because at least one
1358 compiler (msvc 5.0) gets confused otherwise (applies the
1361 * gdk_pixbuf.def : updated exports
1363 * makefile.msc : reflect gdk-pixbuf-csource changes
1365 2001-07-17 Darin Adler <darin@bentspoon.com>
1367 * gdk-pixbuf-csource.c: Add missing <stdlib.h> include.
1368 * io-png.c: (setup_png_transformations): Add ifdef so we compile
1369 without warnings with G_DISABLE_CHECKS on.
1370 * io-pnm.c: (gdk_pixbuf__pnm_image_load_increment): Add a missing
1372 * io-wbmp.c: (getin), (get_mbi): Add a missing const.
1373 * io-xbm.c: (gdk_pixbuf__xbm_image_load_real): Get rid of some
1374 unused locals and add an initial value to quiet the compiler's
1375 unintialized variable warning.
1376 * pixops/pixops.c: Put an ifdef around some dead code.
1378 Thu Jul 5 10:17:15 2001 Owen Taylor <otaylor@redhat.com>
1380 * pixops/Makefile.am (noinst_LTLIBRARIES): Switch
1381 over to the new include flags AC_SUBST(). (Problem
1382 pointed out by Mikael Hermansson.)
1384 2001-06-29 Havoc Pennington <hp@redhat.com>
1386 * gdk-pixbuf-loader.c (gdk_pixbuf_loader_class_init): fix for
1389 Thu Jun 28 21:54:19 2001 Owen Taylor <otaylor@redhat.com>
1391 * make-inline-pixbuf.c test-gdk-pixbuf.c test-loaders.c
1392 gdk-pixbuf-csource.c: Fix args to g_type_init ().
1394 2001-06-28 Havoc Pennington <hp@pobox.com>
1396 * gdk-pixdata.c: <string.h>
1398 * gdk-pixbuf-io.c (get_libdir): fix typo in dll name (aren't we
1399 also leaking memory here from g_strdup_printf?)
1401 Tue Jun 26 09:48:02 2001 Tim Janik <timj@gtk.org>
1403 * Makefile.am (noinst_PROGRAMS): get rid of make-inline-pixbuf
1405 * gdk-pixbuf-data.[hc]: provide gdk_pixbuf_new_from_stream()
1406 instead from gdk_pixbuf_new_from_inline().
1408 * gdk-pixdata.[hc]: auxillary GdkPixdata structure, public
1409 installed API for applications that need to serialize/deserialize
1410 on their own (gimp, BEAST).
1412 * gdk-pixbuf/gdk-pixbuf-csource.c: provide publically installed
1413 program that can dump images in CSource format and Pixbuf
1414 stream format. supports RLE encoding, MACRO formatting etc...
1417 Mon Jun 25 00:28:11 2001 Owen Taylor <otaylor@redhat.com>
1419 * Makefile.am: Actually update timestamps, so rules don't
1422 2001-06-11 Havoc Pennington <hp@redhat.com>
1424 * Makefile.am (stamp-gdk-pixbuf-marshal.c): glib_genmarshal
1425 already includes top_builddir
1427 2001-06-08 Havoc Pennington <hp@redhat.com>
1429 * gdk-pixbuf-loader.c (gdk_pixbuf_loader_load_module): remove
1430 bogus g_return_if_fail
1432 * io-gif.c (gif_get_lzw): if delay time is 0 or smaller than
1433 likely timeout resolution, set it to an arbitrarily-chosen short
1435 Fixes bug #55953 from warmenhoven@yahoo.com
1437 2001-06-07 Havoc Pennington <hp@redhat.com>
1439 * Makefile.am: use Owen's new way of doing stampfiles/generated
1442 2001-06-07 Havoc Pennington <hp@redhat.com>
1444 * Makefile.am (gdk-pixbuf-marshal.c): fix up the glib-genmarshal path
1446 2001-06-05 Havoc Pennington <hp@redhat.com>
1448 * test-loaders.c (main): use putenv not setenv, reported by
1451 2001-05-08 Havoc Pennington <hp@redhat.com>
1453 * gdk-pixbuf-util.c (gdk_pixbuf_add_alpha): docs fixup,
1454 and fix behavior to still subst color if the original image
1457 2001-06-04 Havoc Pennington <hp@redhat.com>
1459 * io-pnm.c (pnm_skip_whitespace): patch from Szekeres Istvan,
1462 2001-06-01 Havoc Pennington <hp@redhat.com>
1464 Apply patch from sandmann@daimi.au.dk, with some tweaks.
1465 Makes things a bit more robust, and adds test-loaders.c
1466 which is good for finding further robustness bugs to fix.
1468 * io-tiff.c: Try to work around libtiff suckiness a bit;
1469 put a giant thread lock on the whole loader,
1470 paranoically check both whether error handlers were called and
1471 also whether functions return false. Handle case where width or
1472 height is 0. Various cleanups.
1474 * io-png.c (gdk_pixbuf__png_image_stop_load): only unref pixbuf
1476 (png_error_callback): apparently libpng expects you to longjmp out
1479 * io-gif.c (struct _GifContext): remove unused "pixbuf" field
1480 (lzw_read_byte): change "Mail jrb if this fails" g_warning
1482 (gif_get_lzw): check for out-of-memory
1483 (gif_prepare_lzw): catch/report an error
1484 (new_context): use try_malloc, since GifContext is nearly 70K
1485 (gdk_pixbuf__gif_image_load_increment): set context->buf to NULL
1486 so we don't crash later.
1488 * Makefile.am: Add test-loaders
1490 * gdk-pixbuf-loader.c (gdk_pixbuf_loader_close): handle context ==
1493 2001-05-29 Darin Adler <darin@eazel.com>
1495 * gdk-pixbuf.h: Fix prototype to use "(void)" instead of "()".
1497 Mon May 28 14:21:35 2001 Jonathan Blandford <jrb@redhat.com>
1499 * io-bmp.c: Patch from Helmethead <hoshem@mel.comcen.com.au> to
1500 fix up bmp decoder to:
1501 - adds 16 bpp bmp support (bug #53884)
1502 - adds OS/2 1.x format bmp support (bug #54964)
1503 - adds 4 bpp RLE compressed bmp support
1504 - adds 1 bpp colormap support
1505 - fixes negative height (top down) bmp support
1507 2001-05-25 Hans Breuer <hans@breuer.org>
1509 * gdk_pixbuf.def : reflect Havoc's recent api change
1511 Sun May 20 12:53:49 2001 Owen Taylor <otaylor@redhat.com>
1513 * Makefile.am (libgdk_pixbuf_1_3_la_LDFLAGS): Remove an
1514 excess $(GLIB_LIBS).
1516 Sun May 13 11:59:11 2001 Owen Taylor <otaylor@redhat.com>
1518 * Makefile.am: Make modules depend on libgdk_pixbuf.la.
1520 2001-05-04 Havoc Pennington <hp@redhat.com>
1522 * pixops/pixops.c (pixops_process): merge fix from stable: Patch
1523 from hoshem@mel.comcen.com.au to fix nonzero X offsets. Fixes
1526 * gdk-pixbuf/pixops/pixops.c (pixops_composite_nearest): merge
1527 from stable: Patch from OKADA Mitsuru <m-okada@fjb.co.jp> to fix
1528 confusion of using "src" instead of "p".
1529 (pixops_composite_color_nearest): Use a more accurate (and
1530 correct, to begin with) compositing method. This cures checks
1531 showing through on images with no alpha.
1533 * gdk-pixbuf.c (gdk_pixbuf_fill): fix bug that left some trailing
1536 * gdk-pixbuf-io.h: fix UpdatedNotifyFunc to use signed ints
1538 * gdk-pixbuf-loader.h (struct _GdkPixbufLoaderClass): Change
1539 area_updated signal to use signed ints. Removed animation-related
1542 * io-gif.c, io-gif-animation.h, io-gif-animation.c: Massive
1545 * gdk-pixbuf-animation.c: Add GdkPixbufAnimationIter to abstract
1546 all the pesky details. Remove old frame-based API. Make
1547 GdkPixbufAnimation an abstract base class, derived by the loaders.
1549 Sun Apr 22 15:51:32 2001 Owen Taylor <otaylor@redhat.com>
1551 * Makefile.am (LDADDS): Add $(MATH_LIB).
1553 2001-04-18 Havoc Pennington <hp@redhat.com>
1555 * gdk-pixbuf.c (gdk_pixbuf_fill): Function to fill pixbuf with a
1558 Wed Apr 4 01:41:02 2001 Tim Janik <timj@gtk.org>
1560 * pixops/Makefile.am (noinst_LTLIBRARIES): include $top_srcdir
1561 so we don't try to get <gtk/gtkobject.h> from standard search
1564 * Makefile.am (gdk-pixbuf-marshal.c): use deps from srcdir.
1565 add gdk-pixbuf-marshal.list to EXTRA_DIST.
1566 take gdk-pixbuf-marshal.h out of _la sources.
1568 2001-03-19 Tor Lillqvist <tml@iki.fi>
1570 * makefile.mingw.in: Handle gdk-pixbuf-marshal.c.
1572 * gdk_pixbuf.def: Update.
1574 * pixbufloader_*.def: Just export the fill_vtable functions now.
1576 2001-03-18 Mike Kestner <mkestner@ameritech.net>
1578 * make-inline-pixbuf.c (main): Added logic to remove output when
1581 2001-03-14 Havoc Pennington <hp@redhat.com>
1583 * Makefile.am (gdk-pixbuf-marshal.c): Use different temporary file
1584 from gdk-pixbuf-marshal.h, fixes parallel makes.
1586 Thu Mar 1 04:01:57 2001 Tim Janik <timj@gtk.org>
1588 * test-gdk-pixbuf.c: fixed includes.
1590 2001-02-18 Havoc Pennington <hp@pobox.com>
1592 * gdk-pixbuf-io.c (gdk_pixbuf_load_module): prepend underscore
1593 (gdk_pixbuf_get_named_module): prepend underscore
1594 (gdk_pixbuf_get_module): prepend underscore
1596 2001-02-19 Havoc Pennington <hp@redhat.com>
1598 * gdk-pixbuf-io.c (gdk_pixbuf_load_module): const fix
1600 2001-02-17 Havoc Pennington <hp@pobox.com>
1602 * gdk-pixbuf-loader.c (gdk_pixbuf_loader_new_with_type): docs
1604 2001-02-07 Alexander Larsson <alexl@redhat.com>
1606 * io-xpm.c (free_buffer):
1607 Use g_free, since the buffer is allocated with g_try_alloc().
1609 2001-02-06 Christophe Merlet <redfox@eikonex.org>
1611 * gdk-pixbuf-data.c: Fixes a minor typo.
1613 Sun Feb 4 07:59:57 2001 Tim Janik <timj@gtk.org>
1615 * gdk-pixbuf.h: DOH! don't include glib/gobject.h but glib-object.h,
1616 we finally need the gobject->gruntime rename.
1618 * *.c: scratched calls to g_type_init(), there's simply no point in
1619 doing that, use gtk_init().
1621 2001-02-01 Havoc Pennington <hp@pobox.com>
1623 * gdk-pixbuf-loader.c, gdk-pixbuf-loader.h: rename "private" field
1624 in struct to "priv" for C++
1626 2001-01-31 Havoc Pennington <hp@pobox.com>
1628 * gdk-pixbuf.c: include glib-object.h instead of gvaluetypes.h
1630 2001-01-26 Havoc Pennington <hp@redhat.com>
1632 * gdk-pixbuf-io.c (mname): fix included modules case.
1634 2001-01-22 Havoc Pennington <hp@redhat.com>
1636 * gdk-pixbuf-io.c (gdk_pixbuf_new_from_xpm_data): check errors
1637 from gdk_pixbuf_load_module
1639 2001-01-22 Havoc Pennington <hp@redhat.com>
1641 * Makefile.am: Add built marshaller files to support
1642 GdkPixbufLoader signals
1644 * gdk-pixbuf-io.c (gdk_pixbuf_load_module): have
1645 GDK_PIXBUF_MODULEDIR unconditionally replace the compiled-in
1646 module location, rather than acting as a fallback, because we are
1647 using GDK_PIXBUF_MODULEDIR to use gdk-pixbuf before installing it.
1649 * gdk-pixbuf.h: include gdk-pixbuf-loader.h
1651 * gdk-pixbuf-loader.h, gdk-pixbuf-loader.c: Move back over here
1652 from gtk, and add error to close(), because stop_load may do
1653 parsing of the image.
1655 * pixops/have_mmx.S (_pixops_have_mmx): add newline at end of file
1657 * io-*.c: make individual operations static, and add fill_vtable
1658 functions which are exported. Fix the collection of type warnings
1659 that surfaced, including a number of functions that didn't
1660 properly take a GError and some that weren't
1661 const-correct. Involved adding error handling for a few loaders.
1663 * gdk-pixbuf-io.h: Add error reporting to stop_load function
1665 * gdk-pixbuf-io.c (gdk_pixbuf_load_module): change to just look up
1666 a function that fills in the GdkPixbufModule vtable, instead of
1667 looking up all the image functions individually; this means we
1668 can get type safety within modules for the loader functions.
1669 Also it means you don't have to keep the statically compiled and
1670 GModule versions in sync.
1672 * test-gdk-pixbuf.c (main): remove gdk_pixbuf_init()
1674 * make-inline-pixbuf.c (main): remove call to gdk_pixbuf_init()
1676 * gdk-pixbuf.h: nuke gdk_pixbuf_init()
1678 * gdk-pixbuf-animation.c (gdk_pixbuf_frame_get_type): g_type_init
1681 * gdk-pixbuf.c (gdk_pixbuf_get_type): g_type_init () here
1683 * gdk-pixbuf-animation.c (gdk_pixbuf_animation_get_type):
1686 2001-01-20 John Harper <jsh@eazel.com>
1688 * io-xbm.c: new pixbuf loader, for X bitmap files. Basically a
1689 collision between Xlib's RdBitF.c and io-tiff.c
1691 * gdk-pixbuf-io.c, Makefile.am, pixbufloader_xbm.def: added
1694 [ merged from stable gdk-pixbuf module. Untested, but it
1695 compiles, and works fine in the stable module ]
1697 2001-01-18 Tor Lillqvist <tml@iki.fi>
1699 * gdk-pixbuf-io.c (get_libdir): (Win32) Use the new
1700 g_win32_get_package_installation_subdirectory() function. No need
1701 to include windows.h.
1702 (gtk_win32_get_installation_directory): Remove this then.
1704 2001-01-01 Havoc Pennington <hp@redhat.com>
1706 * Makefile.am (libgdk_pixbuf_1_3_la_LDFLAGS): add
1707 @LIBTOOL_EXPORT_OPTIONS@
1709 2000-12-30 Tor Lillqvist <tml@iki.fi>
1711 * gdk_pixbuf.def: Update.
1713 2000-12-16 Havoc Pennington <hp@pobox.com>
1715 * gdk-pixbuf-animation.c (gdk_pixbuf_animation_new_from_file): ref
1716 the pixbuf in the frame, so we can use gdk_pixbuf_frame_free
1717 (gdk_pixbuf_frame_copy): new function
1718 (gdk_pixbuf_frame_free): new function
1719 (gdk_pixbuf_frame_get_type): new function
1720 (GDK_TYPE_PIXBUF_FRAME): macro to get type for GdkPixbufFrame
1722 Tue Nov 14 11:51:26 2000 Owen Taylor <otaylor@redhat.com>
1724 * Makefile.am: Add -avoid-version for all modules.
1726 2000-11-13 Havoc Pennington <hp@redhat.com>
1728 * io-png.c (png_simple_error_callback): fix error message to not
1729 say "save" since it's used for loading
1731 2000-11-11 Hans Breuer <Hans@Breuer.Org>
1733 * gdk-pixbuf-io.c : Fix all function prototype macros for self
1734 contained image handlers (!USE_G_MODULE). Files to save should
1735 be opened in binary mode, fopen(s, "wb").
1737 * io-xpm.c : added HAVE_UNISTD_H condition
1739 2000-11-11 Tor Lillqvist <tml@iki.fi>
1741 * gdk_pixbuf.def: Add gdk_pixbuf_new_subpixbuf.
1743 * io-tiff.c (gdk_pixbuf__tiff_image_begin_load): Use
1744 g_file_open_tmp() (just added to GLib) instead of mkstemp() (or
1745 mktemp() and open()).
1747 * io-xpm.c (gdk_pixbuf__xpm_image_begin_load): Ditto.
1749 2000-11-01 Havoc Pennington <hp@pobox.com>
1751 * gdk-pixbuf.c (gdk_pixbuf_new_subpixbuf): New function to create
1752 a pixbuf pointing to a subregion of another pixbuf.
1754 2000-10-16 Tor Lillqvist <tml@iki.fi>
1756 * gdk-pixbuf-io.c: Define also m_save (for the non-gmodule case).
1758 2000-10-16 Havoc Pennington <hp@redhat.com>
1760 * gdk-pixbuf-io.c (gdk_pixbuf_get_module)
1761 (gdk_pixbuf_get_named_module) (gdk_pixbuf_load_module):
1762 add error reporting here also
1764 * make-inline-pixbuf.c (main): use GError
1766 * io-xpm.c: include unistd.h
1768 * gdk-pixbuf-util.c: include string.h
1770 * io-*.c: add error reporting
1772 * gdk-pixbuf-animation.c (gdk_pixbuf_animation_new_from_file): add
1775 * gdk-pixbuf-io.c (gdk_pixbuf_new_from_file): Add error reporting
1777 * gdk-pixbuf-io.h: Add GError** to load_increment and load
1780 * gdk-pixbuf-io.c (gdk_pixbuf_save) (gdk_pixbuf_savev): return
1781 a G_FILE_ERROR if we fail to write or close the file.
1783 * gdk-pixbuf.h: remove GDK_PIXBUF_ERROR_IO, instead we'll use
1784 G_FILE_ERROR_*. Rename enum to GdkPixbufError, properly following
1785 the GError naming rules. Add GError** to load functions.
1787 2000-10-06 Havoc Pennington <hp@redhat.com>
1789 * gdk-pixbuf.h: add GdkPixbufAlphaMode
1791 2000-10-06 Havoc Pennington <hp@redhat.com>
1793 This entry is a summary of the merged-in changes from 1.0.
1794 Relevant original ChangeLog entries are spliced in after
1795 this entry; the files they refer to are from the 1.0
1798 * pixops/pixops.c (pixops_composite_nearest): sync a small fix
1801 * io-xpm.c (xpm_seek_string): add fscanf error check from 1.0
1802 Add progressive loader from 1.0
1804 * io-tiff.c (gdk_pixbuf__tiff_image_begin_load): mem leak fixes
1807 * io-pnm.c: new version from 1.0 tree
1809 * io-jpeg.c (gdk_pixbuf__jpeg_image_load): sync from 1.0, use
1812 * io-gif.c (lzw_read_byte): sync from 1.0, change a g_error to
1814 (gif_get_next_step): return 0 here, sync from 1.0
1816 * gdk-pixbuf-util.c: sync email address change for Cody
1819 2000-09-11 Jeffrey Stedfast <fejj@helixcode.com>
1821 * gdk-pixbuf/io-pnm.c: Pretty much totally rewrote again because
1822 last nights code was still "broken". Should now properly handle
1823 all error conditions gracefully.
1825 2000-09-10 Jeffrey Stedfast <fejj@helixcode.com>
1827 * gdk-pixbuf/io-pnm.c: Rewrote.
1829 2000-09-09 Federico Mena Quintero <federico@helixcode.com>
1831 * gdk-pixbuf/pixops/pixops.c (pixops_composite_nearest): Compute
1832 the correct dest offset.
1834 2000-08-25 Federico Mena Quintero <federico@helixcode.com>
1836 * gdk-pixbuf/io-xpm.c: #include <unistd.h>
1838 2000-08-05 Larry Ewing <lewing@helixcode.com>
1840 * gdk-pixbuf/io-tiff.c: stop leaking context->tempname.
1842 * gdk-pixbuf/io-xpm.c: same as above.
1844 2000-07-26 Michael Meeks <michael@helixcode.com>
1846 * gdk-pixbuf/io-jpeg.c (gdk_pixbuf__jpeg_image_load): make
1849 2000-07-21 Larry Ewing <lewing@helixcode.com>
1851 * gdk-pixbuf/io-xpm.c: add a fake progressive loader so that
1852 xpm at least supports the progressive interface like the one in
1853 io-tiff.c. This should be reimplemented as an actual progressive
1856 2000-07-19 Jonathan Blandford <jrb@redhat.com>
1858 * demo/pixbuf-demo.c (update_timeout): changed scaling level to
1859 make it look better.
1860 * gdk-pixbuf/testpixbuf.c (update_timeout): Patch from michael
1861 meeks to handle errors better.
1863 2000-10-07 Tor Lillqvist <tml@iki.fi>
1866 * pixbufloader_jpeg.def
1867 * pixbufloader_png.def: Add new entry points.
1869 * makefile.mingw.in: Use libintl.
1871 2000-10-06 Havoc Pennington <hp@redhat.com>
1873 * gdk-pixbuf-io.c (gdk_pixbuf_save): s/format/type/g to be
1874 consistent with gdk_pixbuf_loader_new_with_type().
1875 Return runtime error if a module is missing.
1877 * gdk-pixbuf.h: add GDK_PIXBUF_ERROR_UNKNOWN_TYPE
1879 2000-10-05 Havoc Pennington <hp@redhat.com>
1881 Pixbuf saving, patch from David Welton.
1883 * Makefile.am (GDK_PIXBUF_LIBS): add INTLLIBS
1884 (libgdk_pixbuf_1_3_la_SOURCES): add gdk-pixbuf-i18n.h
1886 * gdk-pixbuf-i18n.h: Add _() to gdk-pixbuf
1888 * io-png.c (gdk_pixbuf__png_image_save): PNG save routine.
1890 * io-jpeg.c (gdk_pixbuf__jpeg_image_save): JPEG save routine.
1892 * gdk-pixbuf-io.c (gdk_pixbuf_save):
1893 (gdk_pixbuf_savev): Implement pixbuf saving routines
1895 * gdk-pixbuf.c (gdk_pixbuf_error_quark): pixbuf error quark
1898 * gdk-pixbuf.h: Add public save routines; add pixbuf error
1901 * gdk-pixbuf-io.h: Add save function to GdkPixbufModule
1903 2000-10-05 Dan Winship <danw@helixcode.com>
1905 * io-png.c, io-tiff.c, io-xpm.c: Fix comments to not claim that
1906 all three of these files are the JPEG image loader. (From
1909 2000-10-03 Tor Lillqvist <tml@iki.fi>
1911 * makefile.mingw.in: Add rule for make-inline-pixbuf. Use
1912 gdk-pixbuf's version number in the rule for makefile.mingw itself.
1914 * gdk_pixbuf.def: Add new entry points.
1916 2000-09-26 Havoc Pennington <hp@redhat.com>
1918 * gdk-pixbuf-util.c (gdk_pixbuf_saturate_and_pixelate): Add this
1919 function here, instead of putting it in a private GTK+ file.
1921 * gdk-pixbuf-private.h (GdkPixbufInlineFormat): include an
1922 enum here for the known formats of inlined pixbufs.
1923 Also, #define our file magic here.
1925 2000-06-23 Havoc Pennington <hp@redhat.com>
1927 * make-inline-pixbuf.c: Small program that creates C variable
1928 declarations of inline pixbuf data. This can be read
1929 by gdk_pixbuf_new_from_inline.
1931 * gdk-pixbuf.h (gdk_pixbuf_new_from_inline): New function to read
1932 inline pixbuf data and create a pixbuf from it.
1934 * gdk-pixbuf-data.c (gdk_pixbuf_new_from_inline): implement here
1936 2000-09-07 Tor Lillqvist <tml@iki.fi>
1938 * makefile.mingw.in: Use own version number for gdk-pixbuf DLLs,
1941 2000-08-12 Tor Lillqvist <tml@iki.fi>
1943 * gdk_pixbuf.def: Add missing entry point.
1945 2000-08-10 Havoc Pennington <hp@redhat.com>
1947 * Makefile.am (EXTRA_DIST): The *.def files had the wrong names
1948 (s/pixbuf_/pixbufloader_)
1950 2000-08-02 Tor Lillqvist <tml@iki.fi>
1956 * io-wbmp.c: Conditionalise inclusion of <unistd.h>.
1958 * makefile.mingw.in: List loaders alphabetically. Add the wbmp
1959 one. Fix names of DLLs to have '-' instead of '_'.
1961 2000-07-31 Elliot Lee <sopwith@redhat.com>
1962 * io-wbmp.c: Some bug fixes - now tested to work.
1964 2000-07-27 Elliot Lee <sopwith@redhat.com>
1966 * gdk-pixbuf-io.h, gdk-pixbuf-io.c: Add
1967 gdk_pixbuf_get_named_module() function to facilitate above change
1968 * io-wbmp.c, pixbufloader_wbmp.defs, gdk-pixbuf-io.c, Makefile:
1969 Implement loader for WBMP format.
1970 * io-bmp.c: Don't malloc a temporary buffer - use stack instead.
1972 2000-07-23 Tor Lillqvist <tml@iki.fi>
1977 * pixops/makefile.mingw.in
1978 * pixbuf_*.def: New files.
1981 * pixops/Makefile.am: Add them. Add rule to generate makefile.mingw.
1983 * gdk-pixbuf-io.c (gtk_win32_get_installation_directory):
1984 New function, to get the GTK+ installation directory from
1985 the Windows Registry, where the installation program
1986 for whatever software includes GTK+ has stored it.
1988 Used to avoid having hardcoding the directory where to look for
1989 loaders. This function is needed by gtk, too, so it should
1990 really be just in one place. Maybe a small static library
1991 one level up from here?
1993 * gdk-pixbuf-animation.c (gdk_pixbuf_animation_new_from_file)
1994 * gdk-pixbuf-io.c (gdk_pixbuf_new_from_file):
1995 Open file in binary mode. This *is* standard C. (No-op on Unix,
1998 * io-jpeg.c: If we don't HAVE_SIGSETJMP, use normal setjmp().
2000 * io-tiff.c: Use g_get_tmp_dir(). If we don't HAVE_MKSTEMP, use
2001 mktemp() and open().
2002 (gdk_pixbuf__tiff_image_stop_load): g_free() also the tempname.
2004 * pixops/*.S: The Gas from mingw32 doesn't like the .type
2005 pseudo-op. Conditionalise on __MINGW32__, but probably
2006 should conditionalise on Gas version instead? Or could we
2007 do without .type on all systems?
2009 * pixops/timescale.c: Use g_get_current_time()
2010 instead of gettimeofday().
2012 Sat Jul 22 10:57:22 2000 Owen Taylor <otaylor@redhat.com>
2014 * Makefile.am (test_gdk_pixbuf_LDADD): Remove -lgmodule
2016 Tue Jul 11 11:26:42 2000 Owen Taylor <otaylor@redhat.com>
2018 * gdk-pixbuf.c: Add <string.h> include.
2020 Tue Jul 11 06:20:14 2000 Tim Janik <timj@gtk.org>
2022 * io-gif.c (gdk_pixbuf__gif_image_load_animation):
2023 * gdk-pixbuf-data.c (gdk_pixbuf_new_from_data):
2024 * gdk-pixbuf-animation.c (gdk_pixbuf_animation_new_from_file):
2025 use g_object_new() instead of g_type_create_instance() which
2026 is a private function for fundamental type implementations.
2028 Thu Jul 6 11:49:47 2000 Owen Taylor <otaylor@redhat.com>
2030 * Makefile.am (libgdk_pixbuf_la_LDFLAGS): Use GTK+ version
2031 soname scheme for gdk-pixbuf.
2033 2000-06-21 Havoc Pennington <hp@pobox.com>
2035 * gdk-pixbuf.c: Convert GdkPixbuf to GObject, leaving it opaque
2036 (i.e. derivation is not allowed, and there are no virtual methods
2038 (gdk_pixbuf_preinit): Call g_type_init() here.
2039 (gdk_pixbuf_init): Add a user-friendly init function, for users
2040 of standalone gdk-pixbuf
2042 * gdk-pixbuf-animation.c: Convert to GObject, in the same
2043 way GdkPixbufAnimation was done.
2045 * gdk-pixbuf.h: Remove gdk_pixbuf_set_unref_handler() and
2046 gdk_pixbuf_finalize() from API, since these are broken and don't
2047 make sense with new GObject stuff.
2049 Wed Jun 21 16:02:48 2000 Owen Taylor <otaylor@redhat.com>
2051 * gdk-pixbuf-io.c (gdk_pixbuf_load_module): Add feature to
2052 support a GDK_PIXBUF_MODULEDIR env variable as a secondary
2055 2000-06-10 Federico Mena Quintero <federico@helixcode.com>
2057 * demo/pixbuf-demo.c: It was cold and rainy this Saturday morning,
2058 so I needed something to warm my thighs. Running plain infinite
2059 loops on your laptop to make it hot is not very much fun. A demo
2060 of the gdk-pixbuf scaling functions is way better, and looks
2063 * configure.in (AC_OUTPUT): Added the demo Makefile.
2065 * Makefile.am (SUBDIRS): Added the demo directory.
2067 2000-06-09 Larry Ewing <lewing@helixcode.com>
2069 * gdk-pixbuf/io-png.c (gdk_pixbuf__png_image_load_increment):
2070 setjmp for the png error handler. It seems setting the error
2071 handling functions does not avoid the jump, and so not calling
2072 setjmp was causing the incremental loader to jump into lala land.
2073 (gdk_pixbuf__png_image_begin_load): setjmp for error handling, I'm
2074 not sure this one is actually required but the docs say it must be
2075 set for every call to a png_* function.
2076 Also changed the comment to reflect the fact that setting the
2077 error handlers does _not_ avoid the longjmp.
2079 2000-06-06 Larry Ewing <lewing@helixcode.com>
2081 * gdk-pixbuf/gdk-pixbuf-loader.c (gdk_pixbuf_loader_frame_done):
2082 take frame offest into account when trying to calculate the
2083 animation bbox. Also set the width to the width not the height.
2084 (gdk_pixbuf_loader_animation_done): cycle over the frames to
2085 calculate bbox because now we finally have all the offset
2086 information for each frame.
2088 2000-06-05 Mathieu Lacage <mathieu@gnome.org>
2090 * configure.in: add some gtk parameters to the
2091 GDK_PIXBUF_LIBĂƒĂ¯Â¿Â½Â²S and GDK_PIXBUG_INCLUDEDIR vars. One more
2092 fight in my crusade for strange prefix compile...
2094 2000-05-30 Not Zed <NotZed@HelixCode.com>
2096 * gdk-pixbuf/io-jpeg.c (gdk_pixbuf__jpeg_image_begin_load):
2097 Initialise the error handler exit routine to our own. Note this
2098 means that every function that accesses the jpeg lib on this
2099 object MUST do a setjmp.
2100 (gdk_pixbuf__jpeg_image_stop_load): setjmp before accessing jpeg
2101 lib for handling fatal error.
2102 (gdk_pixbuf__jpeg_image_load_increment): And here too. So now
2103 your applications dont quit if there's a jpeg error!
2105 2000-05-30 Federico Mena Quintero <federico@helixcode.com>
2107 * gdk-pixbuf.spec.in: Include all the loader libraries. Patch
2108 from Frank de Lange <frank@unternet.org>.
2110 2000-05-09 Darin Adler <darin@eazel.com>
2112 * gdk-pixbuf/test-gdk-pixbuf.c:
2113 Fixed includes to get rid of accidental GNOME dependency.
2115 2000-05-26 Cody Russell <car0969@gamma2.uta.edu>
2116 * Makefile.am: Added gdk-pixbuf.spec to EXTRA_DIST
2118 2000-05-22 Federico Mena Quintero <federico@helixcode.com>
2120 * configure.in: Bumped version number to 0.8.0.
2122 * doc/Makefile.am (content_files): The toplevel gdk-pixbuf.sgml
2123 file was not being distributed.
2125 * gdk-pixbuf/pixops/Makefile.am (EXTRA_DIST): Added DETAILS.
2127 2000-05-09 Darin Adler <darin@eazel.com>
2129 * gdk-pixbuf/gdk-pixbuf-drawable.c: (rgb565lsb), (rgb565msb),
2130 (rgb565alsb), (rgb565amsb), (rgb555lsb), (rgb555msb), (rgb555alsb),
2131 (rgb555amsb), (convert_real_slow): Change all conversion from 16-bit
2132 formats to 32-bit formats to re-use the high bits of the color values
2133 so that white maps to full white.
2135 Fri May 5 12:16:32 2000 Owen Taylor <otaylor@redhat.com>
2137 * gdk-pixbuf/pixops/DETAILS: Add beginnings of file with
2138 detailed information about the structure and algorithms
2139 of pixops so people can fix it instead of breaking it.
2141 2000-05-04 Darin Adler <darin@eazel.com>
2143 * gdk-pixbuf/pixops/pixops.c: (pixops_composite_nearest),
2144 (composite_pixel), (composite_line):
2145 * gdk-pixbuf/test-gdk-pixbuf.c: (simple_composite_test_one_type):
2146 Now that Owen explained the algorithm, I think I implemented it
2147 right for the cases where the destination pixbuf is not opaque.
2148 The test does seem to confirm it.
2150 2000-05-04 Darin Adler <darin@eazel.com>
2152 * gdk-pixbuf/.cvsignore:
2153 * gdk-pixbuf/Makefile.am:
2154 * gdk-pixbuf/test-gdk-pixbuf.c (store_pixel), (fill_with_pixel),
2155 (load_pixel), (simple_composite_test_one),
2156 (simple_composite_test_one_type), (simple_composite_test), (main):
2157 Added some tests of composite to highlight problems in the old
2158 implementation. These tests run without any user interaction.
2159 Just do "make check".
2161 * gdk-pixbuf/pixops/pixops.c (pixops_composite_nearest),
2162 (composite_pixel), (composite_line): Fix composite to do a textbook
2163 "A over B" composite. This was clearly the intent, and it was easy
2164 to fix the code to do it. (Note to those that read my earlier tries
2165 at a patch; this version fixes typos that were present in all
2166 my patch attempts. I checked the final version by adding more tests.)
2168 2000-04-22 05:27:43 2000 Owen Taylor <otaylor@redhat.com>
2170 * gdk-pixbuf/pixops/pixops.c (pixops_scale_nearest): Properly
2171 offset y coordinate accordining to render_y0.
2173 * gdk-pixbuf/gdk-pixbuf-scale.c: Properly handle nonzero
2176 2000-04-22 James Henstridge <james@daa.com.au>
2178 * gdk-pixbuf.spec.in (%files): moved %{prefix}/bin/* from the main
2179 package to the devel package. The only file installed in bin is
2180 gdk-pixbuf-config, which belongs in -devel. This should allow having
2181 multiple versions of the main gdk-pixbuf package installed.
2183 2000-04-17 Karl Eichwalder <ke@suse.de>
2185 * gdk-pixbuf/Makefile.am (INCLUDES): Add $(GNOME_CFLAGS).
2186 Reported by Jens Finke.
2188 2000-04-14 Tomasz KĂƒĂ¯Â¿Â½Â³opczko <kloczek@pld.org.pl>
2190 * gdk-pixbuf/pixops/makefile.am: $(LIBART_CFLAGS) replaced by
2191 $(GTK_CFLAGS) - now gdk-pixbuf compiles correctly.
2193 2000-04-13 James Henstridge <james@daa.com.au>
2195 * configure.in: when performing the configure check to see if
2196 gmodule works, set CFLAGS to GLIB_CFLAGS and LIBS to GLIB_LIBS,
2197 rather than the other way round. Also, call AC_MSG_RESULT in the
2198 even that dynamic modules were not supported.
2200 2000-04-12 Federico Mena Quintero <federico@helixcode.com>
2202 This comes from an excellent idea by Tim Janik (timj@gtk.org) to
2203 hook to the last unref operation.
2205 * gdk-pixbuf/gdk-pixbuf.c (gdk_pixbuf_set_last_unref_handler): New
2206 function to set the last unref handler for a pixbuf.
2207 (gdk_pixbuf_finalize): New function to actually finalize a pixbuf.
2208 It calls the pixbuf's destroy notification function and frees the
2209 GdkPixbuf structure itself.
2210 (gdk_pixbuf_unref): Use the last unref function of the pixbuf if
2213 * gdk-pixbuf/gdk-pixbuf-private.h (struct _GdkPixbuf): New fields
2214 for the last unref handler and its user data.
2216 * gdk-pixbuf/gdk-pixbuf-data.c (gdk_pixbuf_new_from_data): Use
2217 g_new0() to allocate the pixbuf.
2219 * gdk-pixbuf/gdk-pixbuf-loader.c (gdk_pixbuf_loader_class_init):
2220 Fixed the call to gtk_signal_new() for the "frame_done" signal; it
2221 was not specifying the `frame' argument.
2223 * gdk-pixbuf/gdk-pixbuf-animation.c
2224 (gdk_pixbuf_animation_get_width): Fixed docstring.
2225 (gdk_pixbuf_animation_get_height): Likewise.
2226 (gdk_pixbuf_animation_get_num_frames): Likewise.
2227 (gdk_pixbuf_animation_get_frames): Likewise.
2229 * doc/gdk-pixbuf-sections.txt: Updated with the new functions and
2232 * doc/tmpl/gdk-pixbuf.sgml: Added the description for GdkColorspace.
2234 * doc/tmpl/scaling.sgml: Added the description for GdkInterpType.
2236 * doc/tmpl/refcounting.sgml: Updated with the information about
2237 the last unref handler.
2239 * doc/tmpl/*.sgml: Markup tweaks.
2241 * gdk-pixbuf/Makefile.am (libgnomecanvaspixbuf_la_LDFLAGS): Sigh,
2242 update the libtool version number for libgnomecanvaspixbuf as
2244 (libpixbufloader_*_la_LDFLAGS): The loaders need to be versioned
2245 as well, or the old ones won't work with the new stuff. Also,
2246 renamed the modules as follows.
2248 * gdk-pixbuf/gdk-pixbuf-io.c (gdk_pixbuf_load_module): Now the
2249 modules are called "libpixbufloader-<format>.so" instead of
2250 "libpixbuf-<format>.so". They needed renaming so that the new
2251 loaders won't overwrite the old ones; even with the versioning
2252 stuff, the new .so symlink to the .so.1.0.0 would overwrite the
2255 2000-04-12 Paolo Molaro <lupus@debian.org>
2257 * .cvsignore, src/.cvsignore: shut up cvs.
2259 2000-04-11 Federico Mena Quintero <federico@helixcode.com>
2261 Most of this patch is based on a patch by Havoc Pennington
2262 (hp@redhat.com) to make GdkPixbuf's structures opaque and to
2263 remove the libart dependency.
2265 * gdk-pixbuf/gdk-pixbuf.h: Removed the public structures.
2266 (GdkColorspace): New enum that for now only contains
2268 (GdkPixbufDestroyNotify): New type for the pixbuf's pixels destroy
2269 notification function.
2270 (GdkInterpType): New num with interpolation types.
2272 * *.[ch]: Replace the libart stuff with our own stuff.
2274 * pixops/*.[ch]: Likewise.
2276 * gdk-pixbuf/gdk-pixbuf-private.h: New file with the private
2277 declarations of the GdkPixbuf structures.
2279 * gdk-pixbuf/gdk-pixbuf.c (gdk_pixbuf_new_from_art_pixbuf):
2281 (gdk_pixbuf_get_format): Constify.
2282 (gdk_pixbuf_get_n_channels): Constify.
2283 (gdk_pixbuf_get_has_alpha): Constify.
2284 (gdk_pixbuf_get_bits_per_sample): Constify.
2285 (gdk_pixbuf_get_pixels): Constify.
2286 (gdk_pixbuf_get_width): Constify.
2287 (gdk_pixbuf_get_height): Constify.
2288 (gdk_pixbuf_get_rowstride): Constify.
2290 * gdk-pixbuf/gdk-pixbuf.c (gdk_pixbuf_copy): New function to copy
2293 * gdk-pixbuf/gdk-pixbuf-data.c (gdk_pixbuf_new_from_data): Added a
2294 bits_per_sample argument; currently only 8 bits per sample are
2297 * gdk-pixbuf/gdk-pixbuf-animation.c (gdk_pixbuf_frame_get_pixbuf):
2299 (gdk_pixbuf_frame_get_x_offset): New accessor.
2300 (gdk_pixbuf_frame_get_y_offset): New accessor.
2301 (gdk_pixbuf_frame_get_delay_time): New accessor.
2302 (gdk_pixbuf_frame_get_action): New accessor.
2304 * gdk-pixbuf/gdk-pixbuf-render.c
2305 (gdk_pixbuf_render_pixmap_and_mask): Instead of returning a solid
2306 mask rectangle for pixbufs without an alpha channel, set the
2307 *mask_return to NULL.
2309 * gdk-pixbuf/gdk-pixbuf-util.c (gdk_pixbuf_add_alpha): Constify.
2311 * gdk-pixbuf/gdk-pixbuf-scale.c: Fix includes.
2313 * gdk-pixbuf/gdk-pixbuf-scale.c (gdk_pixbuf_scale): Added some
2314 preconditions. Maybe we should also check for the colorspace,
2315 bits per pixel, and such.
2316 (gdk_pixbuf_composite): Likewise.
2317 (gdk_pixbuf_composite_color): Likewise.
2318 (gdk_pixbuf_scale_simple): Likewise, and fail gracefully if we
2319 cannot allocate the new pixbuf.
2320 (gdk_pixbuf_composite_color_simple): Likewise.
2322 * gdk-pixbuf/gnome-canvas-pixbuf.c (gnome_canvas_pixbuf_render):
2323 Use art_rgb_rgba_affine() or art_rgb_affine() since we no longer
2326 * gdk-pixbuf/io-bmp.c: Fix includes.
2328 * gdk-pixbuf/pixops/pixops.c (pixops_scale_nearest): Fixed cast in
2333 * configure.in: Removed checks for libart.
2335 * gdk-pixbuf/Makefile.am: Removed references to libart.
2336 (noinst_HEADERS): Added gdk-pixbuf-private.h.
2338 * gdk-pixbuf/Makefile.am (libgdk_pixbuf_la_LDFLAGS): Incremented
2339 the version number of the libtool library to indicate that this
2340 definitely is not compatible with the old usage. I know you love
2343 * configure.in: Bumped version number to 0.7.0.
2347 * gdk-pixbuf-config.in (--libs): We no longer require libart.
2349 * DEPENDS.libgdk_pixbuf: We no longer depend on libart.
2351 * gdk-pixbuf.spec.in: Updated, but I don't guarantee anything.
2353 2000-04-06 Jonathan Blandford <jrb@redhat.com>
2355 * gdk-pixbuf/testanimation.c (main): add more info to the
2356 testanimation frames.
2358 2000-04-04 Ettore Perazzoli <ettore@helixcode.com>
2360 * gdk-pixbuf/gdk-pixbuf-animation.c
2361 (gdk_pixbuf_animation_get_width): New accessor function.
2362 (gdk_pixbuf_animation_get_height): New accessor function.
2363 (gdk_pixbuf_animation_get_num_frames): New accessor function.
2364 (gdk_pixbuf_animation_get_frames): New accessor function.
2366 2000-04-01 Federico Mena Quintero <federico@helixcode.com>
2368 * gdk-pixbuf/gdk-pixbuf.c: Reverted Mark's change. The refcount
2369 is private information, and the art_pixbuf will go away soon.
2371 2000-03-31 Mark Crichton <crichton@gimp.org>
2373 * gdk-pixbuf/gdk-pixbuf.c: Added gdk_pixbuf_get_refcount
2374 and gdk_pixbuf_get_artpixbuf accessor functions.
2376 2000-03-29 Federico Mena Quintero <federico@helixcode.com>
2378 * gdk-pixbuf/gdk-pixbuf.c (gdk_pixbuf_get_has_alpha): Return
2379 gboolean instead of int.
2381 2000-03-29 Radek Doulik <rodo@helixcode.com>
2383 * gdk-pixbuf/gdk-pixbuf-animation.c
2384 (gdk_pixbuf_animation_new_from_file): same as below
2386 * gdk-pixbuf/io-gif.c (gif_get_lzw): added update of width and
2387 height in GdkPixbufAnimation
2389 2000-03-28 Radek Doulik <rodo@helixcode.com>
2391 * gdk-pixbuf/io-gif.c (gif_get_lzw): test also for
2392 context->frame_done_func and context->anim_done_func to make
2393 progressive animation loading work
2395 * gdk-pixbuf/gdk-pixbuf-loader.c (gdk_pixbuf_loader_frame_done):
2396 added priv->pixbuf = NULL as pixbuf is now in frame (and to make
2397 gdk_pixbuf_loader_prepare happy)
2398 (gdk_pixbuf_loader_frame_done): update animation bbox
2400 * gdk-pixbuf/gdk-pixbuf.h: added bbox size (width, height) to
2403 2000-03-27 Radek Doulik <rodo@helixcode.com>
2405 * gdk-pixbuf/io-gif.c (gif_get_lzw): use frame_len and frame_width
2406 instead of width and height
2408 2000-03-27 Owen Taylor <otaylor@redhat.com>
2410 * gdk-pixbuf/pixops/pixops.c: Fix problem with
2411 precendence of >> and & which was keeping composite_color
2412 from working with non-gray images.
2414 2000-03-08 Jonathan Blandford <jrb@redhat.com>
2416 * gdk-pixbuf/io-gif.c (gdk_pixbuf__gif_image_load): free the context.
2417 (gdk_pixbuf__gif_image_load_animation): free the context.
2419 2000-03-06 Arjan van de Ven <arjan@fenrus.demon.nl>
2421 * gdk-pixbuf/io-bmp.c: Fixed to pointer-bugs and a
2422 mis-interpretation of the Microsoft documentation. Now
2423 it can load .BMP files that are not generated by The Gimp
2426 2000-03-01 Mark Crichton <crichton@gimp.org>
2428 * configure.in: Added BUILD_CANVAS_ITEM stuff to (finally)
2429 fix the last auto* build bug (where we have libart, but no
2432 * gdk-pixbuf/Makefile.am: Same.
2434 2000-02-28 Matt Wilson <msw@redhat.com>
2436 * gdk-pixbuf/gdk-pixbuf-drawable.c: s/unsigned long/guint32/g,
2437 s/unsigned short/guint16/g, s/unsigned char/guint8/g
2439 2000-02-26 Federico Mena Quintero <federico@helixcode.com>
2441 * README: We don't require libgif/ungif nor libXpm.
2443 * NEWS: This was outdated, so updated it.
2445 2000-02-25 Federico Mena Quintero <federico@helixcode.com>
2447 * gdk-pixbuf.m4: Use the correct name for
2448 gdk-pixbuf/gdk-pixbuf.h. Thanks to Jacob Berkman for pointing
2451 2000-02-21 Federico Mena Quintero <federico@helixcode.com>
2453 * configure.in (GDK_PIXBUF_MINOR): Bumped version number to 0.6.0.
2455 * doc/compiling.sgml: New appendix documenting the gdk-pixbuf
2456 library's particular options to configure.in.
2458 * doc/gdk-pixbuf.sgml: Include compiling.sgml appendix via an
2461 * doc/Makefile.am (gdk-pixbuf.html): Added compiling.sgml.
2463 * gdk-pixbuf/io-ico.c (gdk_pixbuf__ico_image_load_increment):
2464 Fixed typo in prototype name.
2466 * configure.in: Changed duplicated AC_MSG_CHECKING message to
2467 something more meaningful; now it is "checking whether dynamic
2470 * gdk-pixbuf/pixops/Makefile.am (noinst_PROGRAMS): Do not install
2471 the timescale program.
2473 Integrated Miguel de Icaza's <miguel@gnu.org> patch for optionally
2474 creating a single static library with all the image format modules
2477 2000-02-20 Miguel de Icaza <miguel@gnu.org>
2479 * gdk-pixbuf/io-xpm.c (gdk_pixbuf__xpm_image_load): Add prefix.
2480 (gdk_pixbuf__xpm_image_load_xpm_data): Add prefix.
2482 * gdk-pixbuf/io-tiff.c (gdk_pixbuf__tiff_image_load_real): Add prefix.
2483 (gdk_pixbuf__tiff_image_stop_load): Add prefix.
2484 (gdk_pixbuf__tiff_image_load_increment): Add prefix.
2485 (gdk_pixbuf__tiff_image_load): Add prefix.
2486 (gdk_pixbuf__tiff_image_stop_load): Update invocation.
2487 (gdk_pixbuf__tiff_image_begin_load): Add prefix.
2489 * gdk-pixbuf/io-ras.c (gdk_pixbuf__ras_image_load): Add prefix.
2490 (gdk_pixbuf__ras_image_load): Updated invocation.
2491 (gdk_pixbuf__ras_image_begin_load): Add prefix.
2492 (gdk_pixbuf__ras_image_stop_load): Add prefix.
2493 (gdk_pixbuf__ras_image_load_increment): Add prefix.
2495 * gdk-pixbuf/io-pnm.c (gdk_pixbuf__pnm_image_begin_load): Add prefix.
2496 (gdk_pixbuf__pnm_image_stop_load): Add prefix.
2497 (gdk_pixbuf__pnm_image_load_increment): Add prefix
2498 (gdk_pixbuf__pnm_image_load): Add prefix.
2500 * gdk-pixbuf/io-jpeg.c (gdk_pixbuf__jpeg_image_load): Add prefix.
2501 (gdk_pixbuf__jpeg_image_load_increment): Add prefix.
2502 (gdk_pixbuf__jpeg_image_begin_load): Add prefix.
2503 (gdk_pixbuf__jpeg_image_stop_load): Add prefix.
2505 * gdk-pixbuf/io-ico.c (gdk_pixbuf__ico_image_load): Add prefix.
2506 (gdk_pixbuf__ico_image_load): update invocation.
2507 (gdk_pixbuf__ico_image_load_increment): Add prefix.
2508 (gdk_pixbuf__ico_image_load): update invocation.
2509 (gdk_pixbuf__ico_image_begin_load): Add prefix.
2510 (gdk_pixbuf__ico_image_load): update invocation.
2511 (gdk_pixbuf__ico_image_stop_load): Add prefix.
2513 * gdk-pixbuf/io-gif.c (gdk_pixbuf__gif_image_load_animation): Add prefix.
2514 (gdk_pixbuf__gif_image_load): Add prefix.
2515 (gdk_pixbuf__gif_image_begin_load): Add prefix.
2516 (gdk_pixbuf__gif_image_load_increment): Add prefix.
2517 (gdk_pixbuf__gif_image_load_animation): Add prefix.
2518 (gdk_pixbuf__gif_image_stop_load): Add prefix.
2520 * gdk-pixbuf/io-bmp.c (gdk_pixbuf__bmp_image_load): Add prefix.
2521 (gdk_pixbuf__bmp_image_load): Rename function called.
2522 (gdk_pixbuf__bmp_image_load_increment): Add prefix
2524 * gdk-pixbuf/io-png.c (gdk_pixbuf__png_image_load): Add prefix.
2525 (gdk_pixbuf__png_image_begin_load): Add prefix.
2526 (gdk_pixbuf__png_image_stop_load): Add prefix.
2527 (gdk_pixbuf__png_image_load_increment): Add prefix.
2529 * gdk-pixbuf/gdk-pixbuf-io.c (file_formats): Make this static.
2530 (gdk_pixbuf_load_module): Load the shared library entry points
2531 using a "gdk_pixbuf__$module_name" prefix.
2532 (pixbuf_module_symbol): Wrapper routine that uses the module
2533 prefix for the modules to load the information.
2535 * configure.in (GDK_PIXBUF_VERSION): New option --disable-modules
2536 lets the user specify that gdk-pixbuf should link all image loader
2537 code into the library instaed of creating shared library modules.
2539 (dynworks): Renamed the automake conditional DYNAMIC_MODULES_WORK
2540 to BUILD_DYNAMIC_MODULES.
2542 2000-02-19 Jonathan Blandford <jrb@redhat.com>
2544 * gdk-pixbuf/io-gif.c (new_context): fix case where initial
2545 colormap entry is Transparent.
2547 2000-02-19 Owen Taylor <otaylor@redhat.com>
2549 * gdk-pixbuf/pixops/pixops.c (scale_pixel): Fix error in
2550 scale factors for non-alpha case.
2552 2000-02-14 Mark Crichton <crichton@gimp.org>
2554 * gdk-pixbuf/io-xpm.c (xpm_extract_color): Added check for "g"
2555 color type. Imlib/libXpm handle this, but we didn't.
2557 2000-02-14 Darin Adler <darin@eazel.com>
2559 * gdk-pixbuf/testpixbuf.c: Remove now-unnecessary cast.
2560 * .cvsignore: gdk-pixbuf/.cvsignore: More to ignore.
2562 2000-02-14 Elliot Lee <sopwith@redhat.com>
2563 * gdk-pixbuf/gdk-pixbuf.h, gdk-pixbuf/gdk-pixbuf-data.c: Make
2564 passed-in argument 'const'.
2566 2000-02-04 Michael Meeks <mmeeks@gnu.org>
2568 * gdk-pixbuf/io-gif.c (struct _GifContext): add x,y_offset.
2569 (gif_get_frame_info): put the offsets on the context.
2570 (gif_get_lzw): copy them off into the frame.
2571 (new_context): no change required; will 0 offsets by default.
2573 2000-01-28 Michael Meeks <michael@mejm2.dow.cam.ac.uk>
2575 * gdk-pixbuf/pixops/pixops.c (pixops_process): const + nasty
2578 * gdk-pixbuf/pixops/pixops.h: const.
2580 * gdk-pixbuf/gdk-pixbuf-util.c: const.
2582 * gdk-pixbuf/gdk-pixbuf-scale.c: const.
2584 * gdk-pixbuf/gdk-pixbuf.h: constify lots of things.
2586 2000-02-03 Federico Mena Quintero <federico@helixcode.com>
2588 * gdk-pixbuf/gdk-pixbuf-render.c
2589 (gdk_pixbuf_render_threshold_alpha): Added sanity check for width
2590 and height being >= 0. Also, do nothing if either of them is
2591 zero. Thanks to Ettore for pointing this out.
2592 (gdk_pixbuf_render_to_drawable): Likewise.
2593 (gdk_pixbuf_render_to_drawable_alpha): Likewise.
2595 2000-02-02 Federico Mena Quintero <federico@helixcode.com>
2597 * gdk-pixbuf/io-gif.c (gif_get_lzw): Removed debugging g_print.
2598 Thanks to John Sullivan <sullivan@eazel.com> for the patch.
2600 * gdk-pixbuf/testpixbuf-drawable.c (configure_cb): Get a new area
2601 of the screen when the window is resized. Thanks to David
2602 N. Welton <davidw@linuxcare.com> for pointing this out.
2603 Misc. cleanups to the rest of the file.
2605 2000-02-01 Federico Mena Quintero <federico@helixcode.com>
2607 * doc/tmpl/rendering.sgml: gnome_init() does not call
2608 gdk_rgb_init(), so don't mention that it does in the
2609 documentation. Thanks to Alexander Kruuse <kruuse@home.se> for
2612 2000-01-31 Havoc Pennington <hp@redhat.com>
2614 * gdk-pixbuf/Makefile.am (noinst_PROGRAMS): no testpixbuf-foo target
2616 Mon Jan 31 12:38:50 2000 Owen Taylor <otaylor@redhat.com>
2618 * gdk-pixbuf/pixops/pixops.c (scale_line): Fix from Peter
2619 Wainwright to fix 4a => 4a scaling.
2621 2000-01-29 Mark Crichton <crichton@gimp.org>
2623 * gdk-pixbuf-config: Oh dear, we weren't Telsa/Alan proof...
2624 put `libart-config --libs` in instead of -lart_lgpl.
2626 2000-01-22 Federico Mena Quintero <federico@helixcode.com>
2628 * gdk-pixbuf/io-pnm.c (pnm_read_raw_scanline): Return an error on
2630 (pnm_read_ascii_scanline): Initialize data and mask.
2632 * gdk-pixbuf/io-xpm.c (pixbuf_create_from_xpm): Initialize
2633 fallbackcolor to keep gcc happy.
2635 * configure.in: Bumped version number to 0.5.0.
2637 * gdk-pixbuf/pixops/timescale.c (dump_array): Removed unused variable.
2640 * gdk-pixbuf/pixops/pixops.c (pixops_composite_color_nearest): Put
2641 parentheses around + in a shift to remove a compiler warning.
2642 (pixops_process): Likewise.
2644 Patch from Ross Golder <rossigee@bigfoot.com> to create an RPM
2647 * configure.in: Added gdk-pixbuf.spec to AC_OUTPUT.
2649 * Makefile.am (EXTRA_DIST): Added gdk-pixbuf.spec.in
2651 2000-01-22 Federico Mena Quintero <federico@helixcode.com>
2653 * gdk-pixbuf/gnome-canvas-pixbuf.c (PixbufPrivate): Removed the
2654 x_set and y_set arguments. Now they are always on and start with
2655 defaults of 0.0 in units.
2656 (gnome_canvas_pixbuf_class_init): Likewise.
2657 (gnome_canvas_pixbuf_set_arg): Likewise.
2658 (gnome_canvas_pixbuf_get_arg): Likewise.
2659 (compute_viewport_affine): Likewise; always use the priv->x and
2662 * doc/tmpl/gnome-canvas-pixbuf.sgml: Modified to reflect the
2663 removal of the x_set/y_set arguments.
2665 2000-01-21 Federico Mena Quintero <federico@helixcode.com>
2667 * gdk-pixbuf/gdk-pixbuf.c (gdk_pixbuf_ref): Return the same pixbuf
2668 as the input parameter.
2670 * gdk-pixbuf/gdk-pixbuf-animation.c (gdk_pixbuf_animation_ref):
2671 Return the same animation as the input parameter.
2673 2000-01-16 Elliot Lee <sopwith@redhat.com>
2675 * gdk-pixbuf/Makefile.am: Don't link against libgnomecanvaspixbuf.la
2677 2000-01-16 Federico Mena Quintero <federico@helixcode.com>
2679 * configure.in: Removed the broken --enable-canvas-pixbuf option.
2680 Added the stuff necessary to substitute the variables in
2681 gnomecanvaspixbufConf.sh.in.
2683 * gnomecanvaspixbufConf.sh.in: New gnome-config handler for the
2684 tiny gnomecanvaspixbuf library.
2686 * Makefile.am: Build gnomecanvaspixbufConf.sh.
2688 * gdk-pixbuf/Makefile.am: Create a libgnomecanvaspixbuf and only
2689 build it if gdk-pixbuf is being built outside of gnome-libs.
2691 * doc/gdk-pixbuf-sections.txt: Added gdk_pixbuf_render_pixmap_and_mask().
2693 * gdk-pixbuf/gdk-pixbuf-render.c
2694 (gdk_pixbuf_render_pixmap_and_mask): Renamed from
2695 gdk_pixbuf_render_pixmap(). Do not create the mask if it is not
2696 needed, and do not use a clipping mask when rendering the pixmap.
2697 Tweaked documentation a little.
2699 * HACKING: New file with hacking policies for the gdk-pixbuf
2702 * doc/Makefile.am (tmpl_sources): Added missing backslash.
2704 * doc/Makefile.am: Use gnomecanvaspixbuf in gnome-config when
2705 scanning for docstrings.
2707 * gdk-pixbuf/gdk-pixbuf-util.c (gdk_pixbuf_copy_area): Made sanity
2708 checks more stringent. Removed "gint" abominations. Made
2709 documentation consistent with the rest of the functions.
2711 * doc/gdk-pixbuf-sections.txt: Added gdk_pixbuf_copy_area() to the
2714 2000-01-14 Jonathan Blandford <jrb@redhat.com>
2716 * gdk-pixbuf/gdk-pixbuf-render.c (gdk_pixbuf_render_pixmap): new
2717 function to let you create a gdk_pixmap from a gdk_pixbuf.
2719 2000-01-11 Jacob Berkman <jacob@helixcode.com>
2721 * gdk-pixbuf/pixops/Makefile.am (INCLUDES): added
2722 $LIBART_CFLAGS to $INCLUDES
2724 2000-01-10 Elliot Lee <sopwith@redhat.com>
2726 * configure.in, gdk-pixbuf/Makefile.am: Build a libcanvas_pixbuf.
2728 * configure.in: Define version macros. Generate
2729 gdk-pixbuf/gdk-pixbuf-features.h. Always INSIDE_GNOME.
2731 * gdk-pixbuf/Makefile.am: Add gdk-pixbuf-features.h
2733 * gdk-pixbuf/gdk-pixbuf.c: Add definitions of
2734 gdk-pixbuf-features.h declarations, plus some initialization
2737 2000-01-05 Owen Taylor <otaylor@redhat.com>
2739 * gdk-pixbuf/pixops/pixops.c: Fixed src_channels/dest_channels
2740 confusion. (Again caught by Tomas Ogren's Purify)
2742 2000-01-07 Jonathan Blandford <jrb@redhat.com>
2744 * gdk-pixbuf/gdk-pixbuf-xform.c (gdk_pixbuf_rotate): comment out
2747 * gdk-pixbuf/gdk-pixbuf-io.c: Added progressive animation loading.
2748 * gdk-pixbuf/gdk-pixbuf-io.h: Added progressive animation loading.
2749 * gdk-pixbuf/gdk-pixbuf-loader.c: Added progressive animation
2751 * gdk-pixbuf/gdk-pixbuf-loader.h: Added progressive animation
2753 * gdk-pixbuf/io-gif.c (image_load_increment): I think the
2754 ref-counting mess is finally fixed. Added progressive animation
2756 (gif_get_lzw): remove memory_leak
2758 * doc/tmpl/gdk-pixbuf-loader.sgml: much longer long description
2761 2000-01-05 Owen Taylor <otaylor@redhat.com>
2763 * gdk-pixbuf/pixops/pixops.c (pixops_process): Fix computation of
2766 * gdk-pixbuf/pixops/pixops.c: Fix double increments when
2767 dest_channels == 4. (Pointed out by Tomas Ogren)
2769 2000-01-05 Mark Crichton <crichton@gimp.org>
2771 * gdk-pixbuf/gdk-pixbuf-loader.c (gdk_pixbuf_loader_eat_header_write):
2772 Return 0 if gdk_pixbuf_load_loader_module returns FALSE.
2774 2000-01-05 Elliot Lee <sopwith@redhat.com>
2776 * gdk-pixbuf/pixops/Makefile.am: Link with -lm (to get 'ceil' function)
2778 2000-01-05 Owen Taylor <otaylor@redhat.com>
2780 * doc/Makefile.am doc/gdk-pixbuf-sections.txt
2781 doc/gdk-pixbuf.sgml doc/tmpl/scaling.sgml:
2782 Added scaling functions into gtk-doc framework.
2784 * gdk-pixbuf/gdk-pixbuf-scale.c: Documentation fixes.
2786 * gdk-pixbuf/testpixbuf-scale.c (expose_cb): Simplify a bit.
2788 * gdk-pixbuf/pixops/pixops.c (pixops_composite_color): Return
2789 immediately if scale_x or scale_y is 0.
2791 2000-01-05 Owen Taylor <otaylor@redhat.com>
2793 * gdk-pixbuf/pixops/timescale.c: quick fix for initializing
2794 arrays in benchmark.
2796 2000-01-05 Jonathan Blandford <jrb@redhat.com>
2798 * gdk-pixbuf/gdk-pixbuf-io.h: Change the order of the update func
2799 to make it more compatible with the rest of GTK. Added animation
2800 framework for progressive loading.
2802 * gdk-pixbuf/io-bmp.c (image_begin_load): Modified to handle new
2804 * gdk-pixbuf/io-ico.c (image_begin_load): ditto
2805 * gdk-pixbuf/io-png.c (image_begin_load): ditto
2806 * gdk-pixbuf/io-ras.c (image_begin_load): ditto
2807 * gdk-pixbuf/io-jpeg.c (image_begin_load): ditto
2808 * gdk-pixbuf/io-pnm.c (image_begin_load): ditto
2809 * gdk-pixbuf/io-tiff.c (image_begin_load): ditto
2810 * gdk-pixbuf/io-gif.c (image_begin_load): ditto
2812 2000-01-05 Owen Taylor <otaylor@redhat.com>
2814 * gdk-pixbuf/pixops/README: Added a README with a TODO
2815 and some explainations of the algorithms.
2817 * gdk-pixbuf/testpixbuf-scale.c: Set a background pixmap of None
2818 to reduce flashing when resizing.
2820 2000-01-05 Owen Taylor <otaylor@redhat.com>
2822 * gdk-pixbuf/pixops/: Directory full of pixel data scaling
2823 code that will eventually migrate into libart.
2825 * configure.in acconfig.h: Add checks for MMX compiler support
2827 * gdk-pixbuf/gdk-pixbuf.h gdk-pixbuf/gdk-pixbuf-scale.c:
2828 Nice wrapper routines for the code in pixops that operate
2829 on pixbufs instead of raw data.
2831 * gdk-pixbuf/testpixbuf-scale: Test program for scaling
2834 2000-01-05 Jonathan Blandford <jrb@redhat.com>
2836 * doc/tmpl/animation.sgml: Documentation changes.
2838 2000-01-01 Federico Mena Quintero <federico@helixcode.com>
2840 * gdk-pixbuf/gdk-pixbuf.h (GdkPixbufAnimation): Added reference
2841 counting to animations. A web browser may want to share a single
2842 copy of an animated GIF if it appears multiple times in a web
2845 * gdk-pixbuf/gdk-pixbuf-animation.c: New file. Moved the
2846 animation functions here.
2847 (gdk_pixbuf_animation_new_from_file): Prettified. Return a NULL
2848 animation if the loader does not support multiframe loading and
2849 the single-frame load returned NULL. Check that the filename is
2850 not NULL. Updated inline documentation.
2851 (gdk_pixbuf_animation_ref): New function.
2852 (gdk_pixbuf_animation_unref): New function.
2853 Removed gdk_pixbuf_animation_destroy() in favor of reference
2856 * gdk-pixbuf/gdk-pixbuf-io.c (gdk_pixbuf_new_from_file):
2857 Prettified. Made ref_count assertion more paranoid. Check that
2858 the filename is not NULL.
2859 (gdk_pixbuf_get_module): Use guchar * and guint for buffer and
2861 (gdk_pixbuf_new_from_xpm_data): Changed the "data" argument to
2864 * gdk-pixbuf/io-gif.c (image_load_animation): Create the animation
2865 with a reference count of 1.
2867 * gdk-pixbuf/Makefile.am (libgdk_pixbuf_la_SOURCES): Added
2868 gdk-pixbuf-animation.c.
2870 * doc/tmpl/animation.sgml: Populated. It is still missing a
2871 description of the overlay modes.
2873 * doc/gdk-pixbuf-sections.txt: Added the animation section. Moved
2874 the canvas item section to the end, as it will be moved later to
2877 * doc/gdk-pixbuf.sgml: Added the animation section.
2879 * doc/Makefile.am (tmpl_sources): Added tmpl/animation.sgml.
2881 1999-12-26 Peter Teichman <pat@gnu.org>
2883 * gdk-pixbuf/Makefile.am (libpixbuf_tiff_la_LIBADD): add
2884 $(LIBTIFF) to libpixbuf_tiff_la_LIBADD, proxying for mmarker.
2885 This closes bug #4676.
2887 1999-12-23 Havoc Pennington <hp@pobox.com>
2889 * gdk-pixbuf/io-gif.c (image_load): Stuff that should have been
2890 set to NULL here (specifically context->animation) was not being
2891 set to NULL. use g_new0() to alloc the struct.
2893 1999-12-20 Jonathan Blandford <jrb@redhat.com>
2895 * gdk-pixbuf/io-gif.c: finished work to make animated gifs load
2896 correctly. Progressive loading needs some work, but that all
2897 needs doing from the gdk-pixbuf-loader end, not here.
2899 1999-12-17 Jonathan Blandford <jrb@redhat.com>
2901 * gdk-pixbuf/gdk-pixbuf-io.c (gdk_pixbuf_animation_new_from_file):
2902 moved the file here. It seems natural to put this function here,
2903 as that's where the gdk_pixbuf_new_from_file function is, but it's
2904 still a little convoluted. The source files might be played with
2907 1999-12-14 Jonathan Blandford <jrb@redhat.com>
2909 * gdk-pixbuf/gdk-pixbuf-loader.c
2910 (gdk_pixbuf_loader_get_animation): Gets the animation from the
2913 1999-12-16 Federico Mena Quintero <federico@redhat.com>
2915 * doc/tmpl/rendering.sgml: Added notice about initializing GdkRGB
2916 before using the GdkPixbuf rendering functions. Thanks to Joe
2917 Shaw <joe@off.net> for pointing this out.
2919 1999-12-13 Federico Mena Quintero <federico@redhat.com>
2921 * gdk-pixbuf/gnome-canvas-pixbuf.c
2922 (gnome_canvas_pixbuf_class_init): Renamed arguments to
2923 width_in_pixels, height_in_pixels, x_in_pixels, y_in_pixels, for
2924 consistency with the new canvas.
2925 (PixbufPrivate): Do the same renaming in the structure fields, for
2928 * doc/tmpl/gnome-canvas-pixbuf.sgml: Updated for new argument names.
2930 1999-12-12 Federico Mena Quintero <federico@redhat.com>
2932 * gdk-pixbuf/Makefile.am (libgdk_pixbuf_la_LDFLAGS): Use a
2933 conditional to see whether to link $(GNOME_LIBS) or not.
2935 1999-12-10 Jonathan Blandford <jrb@redhat.com>
2937 * gdk-pixbuf/gdk-pixbuf-io.h: thinking about the new loading API.
2939 * gdk-pixbuf/gdk-pixbuf-drawable.c (gdk_pixbuf_get_from_drawable):
2940 make a warning go away.
2942 * gdk-pixbuf/gdk-pixbuf.h: added new prototypes for animations.
2944 * gdk-pixbuf/gdk-pixbuf-loader.h: added new prototypes for
2947 1999-12-09 Michael Zucchi <zucchi@zedzone.mmc.com.au>
2949 * gdk-pixbuf/gdk-pixbuf.h: Enable gdk_pixbuf_get_from_drawable()
2952 * gdk-pixbuf/gdk-pixbuf-drawable.c (gdk_pixbuf_get_from_drawable):
2953 Filled in body of function.
2954 (rgbconvert): Added GdkColormap parameter, and to all conversion
2956 (convert_real_slow): New function - should convert ANY visual/data
2957 format properly, but it aint fast. Used as a fallback when an
2958 optimised routine wont match.
2959 (rgbconvert): Do very specific tests on the data format to verify
2960 properly if the optimised version will do, otherwise use the
2961 fallback function for all other data formats.
2963 * gdk-pixbuf/Makefile.am: Re-enabled building of
2964 textpixbuf-drawable.
2966 * gdk-pixbuf/testpixbuf-drawable.c (main): Changed to use
2967 gdk_pixbuf_get_from_drawable().
2969 1999-12-08 Arjan van de Ven <arjan@fenrus.demon.nl>
2971 * gdk-pixbuf/gdk-pixbuf-drawable.c : Fixed the red/green/red
2972 bug on two occasions.
2973 * gdk-pixbuf/io-ras.c: Changed from the custom be32_to_cpu
2974 function to the generic glib one.
2976 1999-12-08 Federico Mena Quintero <federico@redhat.com>
2978 * gdk-pixbuf/gdk-pixbuf-drawable.c: Fix includes.
2979 (gdk_pixbuf_get_from_drawable): Implemented the zillion sanity
2980 checks and API definition. The body needs filling in and it needs
2981 to do the Right Thing(tm) for pixmaps plus the given colormap and
2982 windows and their own colormaps.
2984 * gdk-pixbuf/gdk-pixbuf.h: Added prototype for
2985 gdk_pixbuf_get_from_drawable(). Killed gdk-pixbuf-drawable.h.
2987 * gdk-pixbuf/Makefile.am: Re-added the gdk-pixbuf-drawable sources.
2989 * doc/tmpl/from-drawables.sgml: Populated.
2991 * doc/gdk-pixbuf.sgml: Added the from-drawables section.
2993 * doc/Makefile.am (tmpl_sources): Added tmpl/from-drawables.sgml.
2995 * doc/gdk-pixbuf-sections.txt: Added a section for getting pixbufs
2998 1999-12-07 Federico Mena Quintero <federico@redhat.com>
3000 * doc/tmpl/gnome-canvas-pixbuf.sgml: Added clarification about
3001 reference counting for GdkPixbuf structures.
3003 1999-12-07 Martin Baulig <martin@home-of-linux.org>
3005 * gdk-pixbuf/Makefile.am (testpixbuf_LDADD): Conditionally
3006 include $(GNOME_LIBS) here.
3008 1999-12-05 Arjan van de Ven <arjan@fenrus.demon.nl>
3010 Added missing "include <string.h>" to:
3011 * gdk-pixbuf/io-ras.c
3012 * gdk-pixbuf/io-bmp.c
3013 * gdk-pixbuf/io-ico.c
3015 1999-12-06 Federico Mena Quintero <federico@redhat.com>
3017 * gdk-pixbuf/gdk-pixbuf-io.c (file_formats): Patch from Arjan to
3020 1999-12-05 Federico Mena Quintero <federico@redhat.com>
3022 * gdk-pixbuf/Makefile.am (testpixbuf_LDADD): Add back
3023 $(GNOME_LIBS). This must compile outside of gnome-libs. If you
3024 want, send me a patch to do the conditional stuff properly.
3025 Otherwise, please read the GNOME Programming Guidelines,
3026 especially the "CVS policies" section.
3028 1999-12-05 Jaka Mocnik <jaka.mocnik@kiss.uni-lj.si>
3030 * gdk-pixbuf/Makefile.am: removed GNOME_LIBS from testpixbuf_LDADD.
3032 1999-12-05 Arjan van de Ven <arjan@fenrus.demon.nl>
3034 * gdk-pixbuf/io-ico.c: Bug in palet-size
3037 1999-12-04 Arjan van de Ven <arjan@fenrus.demon.nl>
3039 * gdk-pixbuf/io-bmp.c: Major cleanup, added support for
3040 32 bpp and 4 bpp (uncompressed) images, fixed 1bpp.
3042 * gdk-pixbuf/io-ras.c: Minor cleanup, ran through lclint
3044 * gdk-pixbuf/io-ico.c: Minor cleanup, fixed 1bpp icons,
3047 * gdk-pixbuf/gdk-pixbuf-io.c: Added detection of .CUR files
3048 (Windows Cursor files). These are identical to .ICO files,
3049 except for the signature and 2 extra fields for the hotspot.
3051 1999-12-03 Federico Mena Quintero <federico@redhat.com>
3053 * gdk-pixbuf/gnome-canvas-pixbuf.c (gnome_canvas_pixbuf_get_arg):
3054 Removed unused variable `item'.
3056 1999-12-03 Jonathan Blandford <jrb@redhat.com>
3058 * gdk-pixbuf/io-gif.c (gif_fill_in_lines): added a comment to
3059 explain this function better.
3061 1999-12-02 Federico Mena Quintero <federico@redhat.com>
3063 Source files moved from src/ to gdk-pixbuf/, to be consistent with
3066 * doc/Makefile.am: Modified for the new source directory.
3068 * configure.in: Likewise.
3070 * Makefile.am: Likewise.
3072 * autogen.sh: Likewise.
3074 * gdk-pixbuf/Makefile.am: Likewise.
3076 1999-12-02 Federico Mena Quintero <federico@redhat.com>
3078 * src/testpixbuf.c: #include <config.h>, and fix includes.
3080 * src/testpixbuf-drawable.c: #include <config.h>, and fix includes.
3082 * src/io-xpm.c: Fix includes.
3084 * src/io-tiff.c: Fix includes.
3086 * src/io-ras.c: Fix includes, and do not include more stuff than needed.
3088 * src/io-pnm.c: Fix inlcudes, and do not include more stuff than needed.
3090 * src/io-png.c: Fix includes.
3092 * src/io-ico.c: Fix includes, and do not include more stuff than needed.
3094 * src/io-gif.c: Fix includes, and do not include more stuff than needed.
3096 * src/io-bmp.c: Fix includes, and do not include more stuff than needed.
3098 * src/gnome-canvas-pixbuf.c: Fix includes.
3100 * src/gdk-pixbuf.c: Fix includes.
3102 * src/gdk-pixbuf-util.c: Fix includes.
3104 * src/gdk-pixbuf-render.c: Fix includes.
3106 * src/gdk-pixbuf-io.h: Fix includes.
3108 * src/gdk-pixbuf-drawable.c: Fix includes.
3110 * src/gdk-pixbuf-drawable.h: Use angle brackets for the gdk-pixbuf
3113 * src/gdk-pixbuf-data.c: Fix includes.
3115 * src/gdk-pixbuf-loader.c: #include <config.h>
3117 * src/gdk-pixbuf-loader.h: Use angle brackets for the gdk-pixbuf
3120 * src/Makefile.am: Commented out the gdk-pixbuf-drawable stuff,
3121 since it is not finished.
3123 * src/gdk-pixbuf.h: Removed unused transformation prototypes.
3125 * src/gdk-pixbuf-util.c: New file with utility and convenience
3126 functions for pixbufs.
3128 * src/Makefile.am (libgdk_pixbuf_la_SOURCES): Added gdk-pixbuf-util.c.
3130 * doc/gdk-pixbuf-sections.txt: Added section for utility functions.
3132 * doc/Makefile.am (tmpl_sources): Added tmpl/util.sgml.
3134 * doc/gdk-pixbuf.sgml: Added the utilities section.
3136 * doc/tmpl/util.sgml: Documentation for the utility functions.
3138 1999-11-29 Owen Taylor <otaylor@redhat.com>
3140 * src/gdk-pixbuf-render.c (gdk_pixbuf_render_to_drawable_alpha):
3141 Keep the mask around until after we draw ... since
3142 the GC changes aren't flushed to the X server until we
3143 draw, destroying it before that may result in BadPixmap
3146 1999-11-30 Havoc Pennington <hp@pobox.com>
3148 * configure.in: Add AM_CONDITIONAL for inside gnome-libs
3150 * src/Makefile.am: conditionalize GnomeCanvasPixbuf
3152 1999-11-29 Federico Mena Quintero <federico@redhat.com>
3154 * src/Makefile.am: Uncomment the GnomeCanvasPixbuf sources. This
3155 should be made conditional, not blindly commented out.
3157 1999-11-29 Jonathan Blandford <jrb@redhat.com>
3159 * src/Makefile.am (ICO_LIB): Added another loader from Arjan to
3160 handle .ico files. Cool.
3162 1999-11-24 Jonathan Blandford <jrb@redhat.com>
3164 * src/io-bmp.c (OneLine24): new patch from Arjan to handle
3167 1999-11-24 James Henstridge <james@daa.com.au>
3169 * configure.in (AC_OUTPUT): altered hack to place the symlink in the
3170 top builddir rather than src. This still builds fine, and does not
3171 get gtk-doc into an infinite loop when trying to find all the source
3174 1999-11-23 Jonathan Blandford <jrb@redhat.com>
3176 * Removed #PRAGMA } from headers. Also, make compile if you don't
3177 have it installed, already.
3179 1999-11-22 Federico Mena Quintero <federico@redhat.com>
3181 * src/gnome-canvas-pixbuf.c (gnome_canvas_pixbuf_draw): Create the
3182 temporary buffer to the size of the interesction of the bounding
3183 box and the expose area, not the whole expose area. This speeds
3186 * src/gdk-pixbuf-render.c (gdk_pixbuf_render_threshold_alpha): Do
3187 not paint black on the mask, since we already cleared it in a
3188 single gdk_draw_rectangle() operation.
3190 1999-11-22 Raja R Harinath <harinath@cs.umn.edu>
3192 * configure.in (GDK_PIXBUF_DIR): Fix for srcdir != builddir.
3194 1999-11-22 Havoc Pennington <hp@pobox.com>
3196 * src/Makefile.am (GDK_PIXBUF_LIBS): Patch from Paul Fisher
3197 <pnfisher@redhat.com> adds all -lgdk-pixbuf and all other
3198 dependencies to LIBADD variables for loadable modules. Necessary
3199 for a Java dynamic loading thing to be able to figure it out.
3201 1999-11-22 Havoc Pennington <hp@pobox.com>
3203 * src/io-png.c (image_load_increment): Call the update_area
3204 callback depending on the number of rows loaded in this increment.
3206 * src/testpixbuf.c (main): slow down the progressive load demo
3208 1999-11-16 Havoc Pennington <hp@pobox.com>
3210 * src/gdk-pixbuf-drawable.h: Get the quotes right on the #include
3212 1999-11-22 Jonathan Blandford <jrb@redhat.com>
3214 * configure.in (GDK_PIXBUF_DIR): make the symlink. Does not work
3215 for srcdir != buildir != . Beats me why; I can't figure it out.
3216 AC_OUTPUT_COMMANDS doesn't seem to let me substitute it correctly.
3218 1999-11-21 Jonathan Blandford <jrb@redhat.com>
3220 * src/gdk-pixbuf-io.c: added io-bmp from Arjan
3221 <arjan@fenrus.demon.nl>
3223 1999-11-20 Michael Zucchi <zucchi@zedzone.mmc.com.au>
3225 * src/gdk-pixbuf-drawable.c (gdk_pixbuf_from_drawable_core):
3226 Rework/reorder of the code. Each case has been separated into
3227 another function; its big but it should be quick.
3228 gdk_pixbuf_rgba_from_drawable() will now return a pixbuf with
3229 opaque alpha information. Not all depths/formats have been
3230 tested, but 8, 15/16 and 24 (alinged 32) should work ok.
3232 1999-11-17 Larry Ewing <lewing@gimp.org>
3234 * src/gnome-canvas-pixbuf.c (gnome_canvas_pixbuf_bounds):
3235 implement the bounds method correctly.
3236 (compute_viewport_affine): compute the affine need to fit the
3237 image within the viewport given by the args.
3238 (compute_render_affine): call compute_viewport_affine.
3240 1999-11-16 Havoc Pennington <hp@pobox.com>
3242 * src/gdk-pixbuf-drawable.h: Use includes from the current
3243 directory, not the system directory.
3245 Mon Nov 15 17:18:28 1999 George Lebl <jirka@5z.com>
3247 * src/testpixbuf-drawable.c: use includes from the current directory
3248 rather then from the system include directory as gdk-pixbuf
3249 includes are not yet installed when this is compiled.
3251 1999-11-13 Cody Russell <bratsche@dfw.net>
3252 * src/testpixbuf-drawable.c: Added a test program for drawable
3255 * src/Makefile.am: Build testpixbuf-drawable.
3257 1999-11-12 Cody Russell <bratsche@dfw.net>
3259 * src/gdk-pixbuf-drawable.c: Merged in Michael Zucchi's changes.
3261 1999-11-10 Federico Mena Quintero <federico@redhat.com>
3263 * doc/tmpl/gdk-pixbuf-loader.sgml: Populated.
3265 * doc/gdk-pixbuf.signals: Put in the real names of signal
3268 * src/gdk-pixbuf-loader.c: Improved documentation comments.
3270 1999-11-10 Jonathan Blandford <jrb@redhat.com>
3272 * src/gdk-pixbuf-loader.c (gdk_pixbuf_loader_close): emit the
3275 * src/io-ras.c (OneLineMapped_file): Now can handle indexing
3276 correctly. Patch from Arjan to do so.
3278 1999-11-10 Michael Fulbright <drmike@redhat.com>
3280 * src/io-pnm.c (pnm_ascii_read_scanline): Fixed loading of ASCII PNM
3283 * src/testpixbuf.c: Added final queued draw when done loading image.
3285 1999-11-10 Jonathan Blandford <jrb@redhat.com>
3287 * src/gdk-pixbuf-io.c (gdk_pixbuf_load_module): removed spurious
3290 1999-11-10 Federico Mena Quintero <federico@redhat.com>
3292 * src/gdk-pixbuf-io.c (gdk_pixbuf_new_from_xpm_data): Added
3295 1999-11-09 Federico Mena Quintero <federico@redhat.com>
3297 * src/io-png.c: Fixed some incompatible pointer initializations.
3299 * src/io-jpeg.c (image_load_increment): Remove unused variable.
3301 1999-11-09 Michael Fulbright <drmike@redhat.com>
3303 * src/testpixbuf.c: Fixed it to use timeout to read from file
3304 for progressive loading. Set TBF_KBPS=n, where n is the number of
3305 kilobytes/second to simulate in downloading. n has to be an integer.
3307 * src/io-jpeg.c: Slight cosmetic cleanup.
3309 * src/io-pnm.c: Fixed raw PNM loading bug. Also discovered that ASCII
3310 PBM loading has a similar problem and will address tomorrow.
3312 1999-11-09 Havoc Pennington <hp@pobox.com>
3314 * src/Makefile.am (libgdk_pixbuf_la_SOURCES): build the
3315 gdk-pixbuf-drawable stuff.
3317 1999-11-09 Federico Mena Quintero <federico@redhat.com>
3319 * configure.in: Bumped version number to 0.4.
3321 1999-11-09 Michael Fulbright <drmike@redhat.com>
3323 * src/io-pnm.c : Finished progressive PNM loading code. Should handle
3324 all types of PNM files now.
3326 * src/io-jpeg.c (image_load_increment): Figured out problem with
3327 loading Progressive JPEG's progressively (say that 10 times fast).
3328 Currently for Progressive JPEG's the entire image is loaded before
3329 it is displayed. libjpeg supports a fancier mechanism which I may
3332 With these changes all JPEG formats appear to load properly for me.
3334 1999-11-08 Jonathan Blandford <jrb@redhat.com>
3336 * src/io-ras.c (image_load_increment): Final patch from Arjan.
3337 Seems to do progressive loading.
3339 1999-11-08 Michael Fulbright <drmike@redhat.com>
3341 * src/io-pnm.c image_load (): Fixed so we do not create a separate
3342 pixel buffer when reading in image - we reuse the pixel data in
3343 the GdkPixbuf structure instead.
3345 1999-11-08 Michael Fulbright <drmike@redhat.com>
3347 * src/io-pnm.c pnm_read_ascii_scanline (): Added support for
3348 ASCII PNM files. Note I haven't tested loaded ASCII PBM files because
3349 I can't seem to find a utility to convert into this format.
3350 Next is to add progressive loading support for the PNM format.
3352 1999-11-07 Federico Mena Quintero <federico@redhat.com>
3354 * doc/tmpl/gnome-canvas-pixbuf.sgml: Finished detailed explanation
3355 of the width, height, x, and y setting and pixels arguments.
3357 1999-11-05 Jonathan Blandford <jrb@redhat.com>
3359 * src/io-ras.c (image_load): third patch. Now it seems to load.
3361 * src/gdk-pixbuf-io.c: second patch Arjan van de Ven
3362 <arjan@fenrus.demon.nl> to autodetect/load the sunras files.
3364 * src/io-ras.c (image_load): new file from Arjan van de Ven
3365 <arjan@fenrus.demon.nl> to begin the ras loader.
3367 1999-11-05 Federico Mena Quintero <federico@redhat.com>
3369 * doc/gdk-pixbuf-sections.txt: Removed gdk-pixbuf-io, since it is
3370 for internal use only.
3372 * doc/gdk-pixbuf.sgml: Likewise.
3374 * doc/tmpl/gnome-canvas-pixbuf.sgml: Finished docs.
3376 1999-11-05 Michael Fulbright <drmike@redhat.com>
3378 * src/io-pnm.c: Implemented support for reading raw PBM/PGM/PPM
3379 files from a file. Next step is support for ASCII files, and
3380 then incremental loading.
3382 1999-11-04 Federico Mena Quintero <federico@redhat.com>
3384 * Makefile.am: Added doc to SUBDIRS.
3386 1999-11-04 Michael Fulbright <drmike@redhat.com>
3388 * src/io-jpeg.c: Prettied up code slightly.
3389 * src/io-pnm.c: Start of pnm loader (from file and progressively).
3390 Doesn't do much yet (will finish tomorrow).
3391 * src/gdk-pixbuf-io.c: Added pnm to structure of known types.
3393 1999-11-04 Federico Mena Quintero <federico@redhat.com>
3395 * doc/tmpl/rendering.sgml: Populated.
3397 * doc/Makefile.am: Added the template files.
3399 1999-11-04 Havoc Pennington <hp@pobox.com>
3401 * src/gdk-pixbuf-render.c (gdk_pixbuf_render_to_drawable): In
3402 docs, explain what a dither offset is for.
3403 (gdk_pixbuf_render_to_drawable_alpha): Explain why you would use
3404 this function vs. gdk_pixbuf_render_to_drawable().
3406 1999-11-04 Havoc Pennington <hp@pobox.com>
3408 * configure.in: Use libart-config correctly; find gnome-config
3409 separately. Fix GNOME_LIBS to be correct in "no gnome installed
3412 * src/Makefile.am: Link to GNOME_LIBS instead of a hardcoded
3415 Patch untested in the inside-gnome-libs case, I need to commit
3416 then check out to the gnome-libs I'm using.
3418 1999-11-04 Michael Fulbright <drmike@redhat.com>
3420 * src/io-jpeg.c (image_begin_load): Add update_func callback.
3421 * src/io-jpeg.c (image_load_increment): Call updated callback when
3422 new graphic data decoded.
3424 1999-11-04 Jonathan Blandford <jrb@redhat.com>
3426 * src/gdk-pixbuf-loader.c (gdk_pixbuf_loader_update): handle the
3428 * src/io-png.c (image_begin_load): add a update_func callback.
3429 * src/io-gif.c (image_begin_load): add a update_func callback.
3430 (gif_get_lzw): added the update_func ability
3432 * src/io-tiff.c (image_begin_load): add a update_func callback.
3434 1999-11-04 Federico Mena Quintero <federico@redhat.com>
3436 * doc/tmpl/gdk-pixbuf.sgml: Populated.
3438 * doc/tmpl/refcounting.sgml: Populated.
3440 * doc/tmpl/file-loading.sgml: Populated.
3442 * src/gdk-pixbuf.c: Added documentation comments.
3444 * src/gdk-pixbuf-io.c (gdk_pixbuf_new_from_file): Added
3445 documentation comments.
3447 * doc/: Finished integrating the documentation framework.
3449 1999-11-03 Federico Mena Quintero <federico@redhat.com>
3451 * configure.in: Removed libgif stuff now that we do not depend on it.
3452 Added the necessary cruft for gtk-doc.
3454 * src/Makefile.am: Unconditionally build the GIF loader.
3456 1999-11-03 Jonathan Blandford <jrb@redhat.com>
3458 * src/io-gif.c (gif_read): renamed ReadOK to gif_read.
3459 Added a lot of comments to the file.
3461 * src/Makefile.am (libpixbuf_gif_la_LIBADD): Remove dependency on
3464 1999-11-03 Michael Fulbright <drmike@redhat.com>
3466 * src/io-jpeg.c (image_load_increment): Further removal of
3467 bugginess in local buffering code. Handles grayscale jpegs
3470 * src/io-jpeg.c (image_load_stop): Was freeing local context
3471 for jpeg library before calling jpeg_decompres_finish ().
3473 1999-11-03 Jonathan Blandford <jrb@redhat.com>
3475 * src/io-gif.c (image_load_increment): now handle arbitrary buffer
3477 (gif_get_lzw): set the transparency to the right val.
3479 1999-11-03 Federico Mena Quintero <federico@redhat.com>
3481 * src/gnome-canvas-pixbuf.c (gnome_canvas_pixbuf_init):
3482 Initiailize the x and y fields.
3483 (gnome_canvas_pixbuf_destroy): Queue a redraw upon destruction.
3484 (PixbufPrivate): Renamed need_size_update to need_xform_update.
3485 (recompute_bounding_box): Do not use temporary values.
3487 1999-11-03 Jonathan Blandford <jrb@redhat.com>
3489 * src/io-gif.c (set_gif_lzw_clear_code): new state. Fixes
3492 * src/gnome-canvas-pixbuf.c (recompute_bounding_box): remove
3493 unneeded x,y,h,w vars.
3495 1999-11-03 Larry Ewing <lewing@gimp.org>
3497 * src/gnome-canvas-pixbuf.c (compute_render_affine): adjust
3498 render_affine calculation for x,y offsets.
3499 (gnome_canvas_pixbuf_set_arg): add x,y args.
3500 (gnome_canvas_pixbuf_get_arg): add x,y args.
3501 (recompute_bounding_box): simply code using ArtDrect and the
3502 render_affine. Removed compute_xform_vectors as it was no longer
3505 1999-11-03 Federico Mena Quintero <federico@redhat.com>
3507 * src/gnome-canvas-pixbuf.c (gnome_canvas_pixbuf_point): I'm a
3508 doofus. Return a distance, not a boolean, for opaque images.
3510 * src/gnome-canvas-pixbuf.c (recompute_bounding_box): Do proper
3511 rounding of bounding box coordinates.
3512 (gnome_canvas_pixbuf_bounds): Implemented the ::bounds() method.
3513 (gnome_canvas_pixbuf_draw): Use the correct alpha threshold value.
3515 1999-11-03 Jonathan Blandford <jrb@redhat.com>
3517 * src/io-gif.c (gif_prepare_lzw): s/lwz/lzw/g
3519 1999-11-03 Michael Fulbright <drmike@redhat.com>
3521 * src/io-jpg.c (image_load_increment): Fixed code which moved
3522 buffer around as new data comes in to work properly. JPEG progressive
3523 loading should be working now except for grayscale JPEG's, which I
3524 will look into next.
3526 1999-11-03 <sopwith@redhat.com>
3527 * src/testpixbuf.c: A GtkFunction needs to return a value for
3528 deterministic behaviour. Also put dot printing back in.
3530 1999-11-03 <jrb@redhat.com>
3532 * src/io-gif.c (gif_get_extension): Read 'til the next empty block
3535 1999-11-02 Cody Russell <bratsche@dfw.net>
3536 * src/gdk-pixbuf-drawable.c: Changed the behavior to return NULL
3537 if part of the requested image is offscreen, rather than clipping
3540 1999-11-02 Jonathan Blandford <jrb@redhat.com>
3542 * src/io-gif.c (gif_fill_in_lines): Fill in the gif's blank areas
3543 for interlacing and progressive loading.
3545 1999-11-02 Cody Russell <bratsche@dfw.net>
3546 * src/gdk-pixbuf-drawable.c (gdk_pixbuf_from_drawable_core): Now
3547 calls gdk_pixbuf_new_from_art_pixbuf() instead of gdk_pixbuf_new().
3549 1999-11-02 Jonathan Blandford <jrb@redhat.com>
3551 * src/io-gif.c (gif_main_loop): Now progressive gif loading works!
3552 It's a little slow though. )-:
3554 1999-11-02 Elliot Lee <sopwith@redhat.com>
3555 * src/gdk-pixbuf-loader.[ch], src/gdk-pixbuf-io.h: Make the
3556 arguments to the write/load_increment operations const-correct.
3558 1999-11-02 Federico Mena Quintero <federico@redhat.com>
3560 * src/gnome-canvas-pixbuf.c (gnome_canvas_pixbuf_point):
3561 Implemented the ::point() method. We do a simple containment test
3562 instead of a full distance calculation since the canvas is going
3563 to change to that scheme, anyways.
3565 1999-11-02 Elliot Lee <sopwith@redhat.com>
3567 * src/testpixbuf.c: Allow using $TBF_READLEN to specify the size
3568 of the chunks that are read from the input file.
3570 1999-11-02 Larry Ewing <lewing@gimp.org>
3572 * src/gnome-canvas-pixbuf.c (gnome_canvas_pixbuf_render): add aa
3574 (gnome_canvas_pixbuf_class_init): add gnome_canvas_pixbuf_render
3577 1999-11-02 Federico Mena Quintero <federico@redhat.com>
3579 * src/gnome-canvas-pixbuf.c (compute_render_affine): Moved the
3580 affine computation code from ::draw() to here, since it is needed
3581 by ::point() as well.
3583 1999-11-02 Elliot Lee <sopwith@redhat.com>
3585 * src/gdk-pixbuf-loader.c: Reorganize gdk_pixbuf_loader_write into
3586 three functions, and eliminate duplication of code from write()
3587 and close(). Also fix bug where the 128-byte header was being
3590 1999-11-01 Federico Mena Quintero <federico@redhat.com>
3591 * src/gnome-canvas-pixbuf.c (recompute_bounding_box): Fixed
3592 bounding box computation.
3594 1999-11-01 Federico Mena Quintero <federico@redhat.com>
3596 * src/gnome-canvas-pixbuf.c: Start of the pixbuf canvas item.
3597 Drawing affines seem to work. Bounding box is fubared. ::point()
3598 is not implemented. This is a work in progress.
3600 * src/Makefile.am: Added gnome-canvas-pixbuf.[ch] to the list of
3603 * configure.in: Sigh. We need to link in libgnomeui for the
3604 canvas stuff. This mess will disappear when gdk-pixbuf gets
3605 folded into gnome-libs.
3607 1999-10-30 Jonathan Blandford <jrb@redhat.com>
3609 * src/io-gif.c: Some more work. Now it generates a gdk_pixbuf of
3610 the right size, at a minimum, even if the image is squished and
3612 (ReadImage): lets get the offset right. This will let transparent
3615 1999-10-29 Michael Fulbright <drmike@redhat.com>
3617 * src/io-jpeg.c: image_load_increment(): Fixed bug when
3618 image width was not a multiple of 4 - always use the
3619 gdk_pixbuf rowstride to increment pointers!
3621 1999-10-29 Michael Fulbright <drmike@redhat.com>
3623 * src/io-jpeg.c: Added first cut at progressive jpeg loading.
3624 Currently does not handle either progressive jpeg files (jpeg
3625 files with multiple scans at different quality settings), but
3626 I plan on adding this support soon. These are fairly rare in
3627 my experience, so it shouldn't slow people down too much.
3628 Grayscale jpegs also don't work but that should be easy to fix.
3630 1999-10-29 Michael Fulbright <drmike@redhat.com>
3632 * src/testpixbuf.c: Added title to windows so you can identify
3633 progressive and file windows.
3635 1999-10-29 Michael Fulbright <drmike@redhat.com>
3637 * src/gdk-pixbuf-loader.c (gdk_pixbuf_loader_write): Actually
3638 load the image handler when we determine the image type.
3640 * src/gdk-pixbuf-io.[ch] (gdk_pixbuf_load_module): Changed the
3641 previously static function load_image_handler () to
3642 a public function gdk_pixbuf_load_module (). It is needed in
3643 gdk-pixbuf-loader.c to load image handler modules. This function
3644 is different from gdk_pixbuf_get_module (), which only returns
3645 a reference to the required handler, because it actually loads
3646 the handler into memory. Both actions should possibly be combined
3647 in a convenience function since one w/o the other doesn't seem to
3650 1999-10-28 Jonathan Blandford <jrb@redhat.com>
3652 * src/gdk-pixbuf-loader.c (gdk_pixbuf_loader_write): don't send a
3655 1999-10-28 Federico Mena Quintero <federico@redhat.com>
3657 * src/gdk-pixbuf-render.c (gdk_pixbuf_render_to_drawable): New
3658 function to render a portion of a pixbuf to a drawable. Ignores
3659 alpha information and takes in a GC.
3660 (gdk_pixbuf_render_to_drawable_alpha): New function to render a
3661 portion of a pixbuf to a drawable. It automatically creates a GC
3662 and a clipping mask for alpha pixbufs.
3664 1999-10-28 Jonathan Blandford <jrb@redhat.com>
3666 * src/gdk-pixbuf.h: turned convenience macros into convenience
3667 functions so some error checking could be added.
3669 * src/io-tiff.c (image_load_increment): started work on the tiff
3670 non-incremental loader.
3671 (image_begin_load): Finished the incremental loader.
3673 * src/io-gif.c (image_load_increment): started work on the gif
3676 * src/gdk-pixbuf-io.h: Changed ModuleType to GdkPixbufModule.
3678 1999-10-27 Federico Mena Quintero <federico@redhat.com>
3680 * src/gdk-pixbuf-render.c (gdk_pixbuf_render_threshold_alpha): New
3681 function to threshold a pixbuf's alpha channel into a bitmap.
3683 * src/gdk-pixbuf.c (gdk_pixbuf_new): Fixed so that it will
3684 contemplate future extensions to ArtPixBuf's formats.
3686 * src/io-png.c (png_info_callback): Use the new API of gdk_pixbuf_new().
3688 * src/gdk-pixbuf.h (gdk_pixbuf_get_height): Added some convenience
3689 macros to fetch the ArtPixBuf's fields.
3691 1999-10-27 Havoc Pennington <hp@pobox.com>
3693 * src/testpixbuf.c (main): Display the progressive load
3695 * src/io-png.c (setup_png_transformations): Break transformation
3696 code into separate function
3697 (png_info_callback): Use setup_png_transformations
3699 1999-10-27 Havoc Pennington <hp@pobox.com>
3701 * src/gdk-pixbuf-io.c (gdk_pixbuf_new_from_xpm_data): Check
3702 properly whether the XPM module has already been loaded
3703 (gdk_pixbuf_new_from_file): Check properly if loader module
3704 was already loaded (was checking if load symbol was present
3705 in order to decide whether to re-load; should check module !=
3706 NULL, then load != NULL)
3707 (image_handler_load): Check in present working directory,
3708 makes it easier to debug for now
3709 (file_formats): This array initializer was seriously on crack,
3710 was assigning a function pointer to a GModule*
3712 * src/testpixbuf.c (main): Change type of pixbuf_loader to
3715 1999-10-27 Havoc Pennington <hp@pobox.com>
3717 * src/gdk-pixbuf-loader.c (gdk_pixbuf_loader_finalize):
3718 Fix typo that prevented compilation
3719 (gdk_pixbuf_loader_destroy): ditto
3721 1999-10-27 Federico Mena Quintero <federico@redhat.com>
3723 * src/gdk-pixbuf-loader.c (gdk_pixbuf_loader_new): Return a
3724 GdkPixbufLoader, not a GtkObject.
3725 (gtk_marshal_NONE__INT_INT_INT_INT): Made static.
3726 (gdk_pixbuf_loader_get_type): Documented.
3727 (gdk_pixbuf_loader_class_init): Initialize the parent class
3729 (gdk_pixbuf_loader_destroy): Added sanity checks. Call the parent
3730 class destroy function.
3731 (gdk_pixbuf_loader_new): Documented.
3732 (gdk_pixbuf_loader_finalize): Call the parent class finalize
3734 (gdk_pixbuf_loader_write): Use size_t for count.
3736 1999-10-27 Michael Fulbright <drmike@redhat.com>
3738 * src/gdk-pixbuf-loader.c (gdk_pixbuf_loader_destroy): Fixed
3739 logic so we only try to close loader if it wasn't previously closed.
3741 1999-10-27 Michael Fulbright <drmike@redhat.com>
3743 * src/gdk-pixbuf-loader.c: Made sure image_loader struct member of
3744 pixbuf_loader properly initialized.
3746 * src/testpixbuf.c: Made sure we cleanup pixbuf_loader properly
3749 1999-10-26 Jonathan Blandford <jrb@redhat.com>
3751 * src/gdk-pixbuf-io.c (image_handler_load): load the vtable fully.
3753 * src/gdk-pixbuf-loader.c: Finished initial cut at the object.
3755 1999-10-26 Havoc Pennington <hp@pobox.com>
3757 * src/gdk-pixbuf-loader.h: fix signals
3759 * src/gdk-pixbuf-io.h: add new vtable fields
3762 1999-10-26 Jonathan Blandford <jrb@redhat.com>
3764 * src/gdk-pixbuf-loader.h: New Class. Beginning of progrssive
3767 1999-10-25 Federico Mena Quintero <federico@redhat.com>
3769 * configure.in (CFLAGS): Patch from Uwe Koloska
3770 <koloska@Rcs1.urz.tu-dresden.de> to fix a stupid typo of mine.
3772 1999-10-22 Havoc Pennington <hp@pobox.com>
3774 * src/io-xpm.c (mem_buffer): Clean up stupid
3775 increment-inside-array-dereference thing
3777 * src/testpixbuf.c: Add XPM data tests.
3779 * src/io-xpm.c: Make the XPM data buffer const, fix const
3780 correctness throughout the code.
3782 1999-10-22 Havoc Pennington <hp@pobox.com>
3784 * src/gdk-pixbuf.h: Export gdk_pixbuf_new_from_xpm_data()
3786 1999-10-22 Havoc Pennington <hp@pobox.com>
3788 * src/io-xpm.c (image_load_xpm_data): Export this symbol for
3789 loading an XPM from memory.
3791 * src/gdk-pixbuf-io.c (gdk_pixbuf_new_from_xpm_data): New
3792 function, loads pixbuf from xpm data
3793 (image_handler_load): Add g_return_if_fail() to ensure the same
3794 module isn't loaded twice. Add g_module_symbol() to scan for XPM
3797 1999-10-22 Federico Mena Quintero <federico@redhat.com>
3799 * src/io-png.c (image_load): Patch from Kristian Hogsberg
3800 Kristensen <hogsberg@daimi.au.dk> to avoid allocating extra row
3801 buffers; the rows can be read in directly into the main pixel
3804 1999-10-20 Federico Mena Quintero <federico@redhat.com>
3806 * src/gdk-pixbuf-io.c (image_handler_load): Free path.
3808 1999-10-20 Federico Mena Quintero <federico@redhat.com>
3810 * configure.in: Bumped version number to 0.3.
3812 * src/Makefile.am (lbgdk_pixbuf_la_LDFLAGS): Added a libtool
3813 version number for the library.
3815 1999-10-20 Federico Mena Quintero <federico@redhat.com>
3817 * src/gdk-pixbuf.h (GdkPixbuf): Removed the unref_fn field. Now
3818 all memory management of the buffer is done by libart.
3820 * src/gdk-pixbuf.c (gdk_pixbuf_unref): Do destruction here.
3821 Removed gdk_pixbuf_destroy, gdk_pixbuf_duplicate.
3823 * src/gdk-pixbuf-data.c (gdk_pixbuf_new_from_data): Implemented in
3824 terms of the libart functions. Removed the old code.
3826 * src/gdk-pixbuf-io.c (image_handler_load): Removed the save
3827 symbols. Saving will not be implemented in GdkPixbuf.
3829 * src/io-gif.c: Removed the saving stub.
3830 (image_load): Fixed memory management to fail gracefully if we run
3831 out of memory while loading the image. Close the gif file when we
3832 are done. This still needs more error handling for the DGif
3835 * src/io-jpeg.c (image_load): Some robustness fixes.
3837 * src/io-png.c: Removed the saving stuff.
3838 (image_load): Some memory management fixes.
3840 * src/io-tiff.c (image_load): Ditto.
3842 * src/io-xpm.c (pixbuf_create_from_xpm): Ditto.
3844 1999-10-18 Havoc Pennington <hp@pobox.com>
3846 * subautogen.sh: New name for macros/autogen.sh
3848 * autogen.sh: use subautogen.sh
3850 1999-10-18 Federico Mena Quintero <federico@redhat.com>
3852 * src/*: Reindented to use the GNOME Indentation. Renamed
3853 GdkPixBuf to GdkPixbuf, for consistency with the function names
3854 (and it is also easier to type) :-)
3856 1999-10-18 Havoc Pennington <hp@pobox.com>
3858 * configure.in: Use AM_PATH_GLIB instead of glib-config directly
3860 * src/Makefile.am: Re-enable testpixbuf with GTK_CFLAGS/GTK_LIBS
3862 1999-10-18 Havoc Pennington <hp@pobox.com>
3864 * Makefile.am (SUBDIRS): Remove "macros"
3866 * configure.in: Don't use GNOME_INIT, handle case where we are
3867 inside gnome-libs. AM_PATH_GTK for the GIF test
3869 * src/Makefile.am: Change flags to work without libgnomeui,
3870 comment out testpixbuf for now
3872 1999-10-18 Federico Mena Quintero <federico@redhat.com>
3874 * configure.in: Use $GTK_LIBS as the extra libs when checking for
3875 libgif/libungif, as they need the X libraries. Fixes bug #2472.
3877 1999-10-10 Cody Russell <bratsche@dfw.net>
3878 * src/gdk-pixbuf-drawable.c: core function now determines whether
3879 the requested geometry is on screen or not, and if some is not
3880 then the request is clamped to geometry that is on the screen.
3882 Changed 'pixbuf' to 'art_pixbuf' in core function.
3884 1999-10-08 Michael Fulbright <drmike@redhat.com>
3886 * src/gdk-pixbuf-data.c: Added to load rgb data from const data.
3888 * src/testpifbuf: Changed test program to display cdrom from rgb data
3889 if no filename given to test program.
3891 1999-10-07 Cody Russell <bratsche@dfw.net>
3892 * src/gdk-pixbuf-drawable.[ch]: Added. (Actually, Miguel committed
3893 them, but I wrote them).
3895 * src/gdk-pixbuf-drawable.h: Added a missing ; so things will now
3898 * src/Makefile.am: Added gdk-pixbuf-drawable.[ch] to
3899 libgdk_pixbuf_la_SOURCES and libgdk_pixbufinclude_HEADERS.
3901 * src/gdk-pixbuf-drawable.c: Added #include "gdk-pixbuf-drawable.h"
3904 * src/gdk-pixbuf-drawable.[ch]: Changed functions to return
3905 GdkPixBuf* instead of ArtPixBuf*.
3907 1999-09-22 Michael Meeks <michael@nuclecu.unam.mx>
3909 * src/gdk-pixbuf.c (gdk_pixbuf_new): created.
3910 (gdk_pixbuf_scale): use gdk_pixbuf_new + return a new scaled image.
3912 * src/gdk-pixbuf.h (struct _GdkPixBuf): Re-organise struct, + add
3913 GdkPixBufUnrefFunc + gdk_pixbuf_new.
3915 * src/io-jpeg.c (image_load): clean to use gdk_pixbuf_new.
3917 * src/io-xpm.c (_pixbuf_create_from_xpm): ditto.
3919 * src/io-tiff.c (image_load): ditto + fix leak
3921 * src/io-png.c (image_load): ditto + add more exit points; monitor.png
3922 crashes this module ( add warning :-)
3924 * src/io-bmp.c (image_load): ditto.
3926 * src/io-gif.c (image_load): ditto.
3928 1999-09-18 Michael Meeks <michael@nuclecu.unam.mx>
3930 * src/gdk-pixbuf.c (gdk_pixbuf_scale): Hack rgba support in so
3931 it doesn't crash scaling with alpha.
3933 1999-09-17 Federico Mena Quintero <federico@redhat.com>
3935 * src/io-bmp.c (image_load): Set the initial ref_count to 1.
3937 * src/io-gif.c (image_load): Likewise.
3939 * src/io-jpeg.c (image_load): Likewise.
3941 * src/io-png.c (image_load): Likewise.
3943 * src/io-tiff.c (image_load): Likewise.
3945 * src/io-xpm.c (_pixbuf_create_from_xpm): Likewise.
3947 * src/gdk-pixbuf-io.c (gdk_pixbuf_load_image): Added an assertion
3948 for the ref_count to be != 0.
3950 * src/gdk-pixbuf.c (gdk_pixbuf_ref): Be more paranoid with sanity
3952 (gdk_pixbuf_unref): Fix incorrect sanity check and comparison.
3954 1999-08-09 Federico Mena Quintero <federico@nuclecu.unam.mx>
3956 * src/io-png.c (image_save): Fixed compiler warnings. Fixed write
3957 to unallocated memory (row_ptr), and fixed its type as well. Take
3958 into account the ArtPixbuf's rowstride when assigning the row
3961 * src/gdk-pixbuf.c: Fixup includes.
3963 * src/gdk-pixbuf-io.c: Likewise.
3965 Sat Jul 31 19:19:47 CEST 1999
3967 * src/gdk-pixbuf-io.c:
3968 * src/io-png.c: Fixed two obvious C syntax bugs
3970 1999-07-29 Mark Crichton <crichton@gimp.org>
3972 * src/io-png.c (image_save): Added PNG saving function
3974 * src/gdk-pixbuf-io.c: Changed image_save function format. Now it's
3975 image_save(GdkPixBuf *p, FILE *f, ...)
3978 1999-07-26 Michael Zucchi <mzucchi@denr.sa.gov.au>
3980 * src/Makefile.am (*_LIB): Only build the relevant loaders which
3981 require extra libraries if we actually have those libraries.
3983 1999-07-23 Richard Hestilow <hestgray@ionet.net>
3985 * src/gdk-pixbuf.h: Include glib.h as it uses g* datatypes
3986 * gdk_pixbufConf.sh.in: Added for gnome-config
3988 * configure.in: Modified to generate gdk_pixbufConf.sh
3990 1999-07-20 Mark Crichton <crichton@gimp.org>
3992 * src/gdk-pixbuf.c (gdk_pixbuf_rotate): Fixed rotation. Now a bbox
3993 calculation needs to be done.
3995 1999-07-18 Larry Ewing <lewing@gimp.org>
4000 * src/io-jpeg.c: Fix a few memory leaks in the, most of them in
4001 error cases but one or two in the common case. There are probably
4002 a few small ones left.
4004 1999-07-18 Mark Crichton <crichton@gimp.org>
4006 * configure.in: removed version.h.
4008 * src/gdk-pixbuf-io.c (pixbuf_check_tiff): Minor readability
4011 1999-07-17 Mark Crichton <crichton@gimp.org>
4013 * src/gdk-pixbuf.c: Removed gdk_pixbuf_free, redundant code.
4014 (gdk_pixbuf_rotate): Added pixbuf rotation code.
4015 (gdk_pixbuf_scale): Changed // comments to /* */
4017 * src/gdk-pixbuf.h (gdk_pixbuf_destroy): Added gdk_pixbuf_destroy
4020 1999-07-16 Larry Ewing <lewing@gimp.org>
4022 * src/testpixbuf.c (expose_func): reverted the expose everything
4023 changes, I'm not sure why these went in.
4024 (config_func): bring this up to date with the new pixbuf_scale
4027 * src/gdk-pixbuf-io.c: added a couple of warnings to the module
4028 loading code so that poeple can diagnose problems better.
4030 * src/gdk-pixbuf.c (gdk_pixbux_scale): fix the borkedness, also it
4031 no longer allocates a new pixbuf, which make things nicer for the
4032 rest of the code. Unfortunately there is still a problem with
4033 scaling rgba images.
4035 1999-07-16 Mark Crichton <crichton@gimp.org>
4037 * src/testpixbuf.c (config_func): ConfigureEvent handler. This
4038 calls gdk_pixbuf_scale. However, something is not working.
4039 N.B.: current pixmap is now stored in user_data with a key of
4042 * src/gdk-pixbuf.c (gdk_pixbuf_scale): Implemented scaling function.
4043 Something is still borked, however.
4045 1999-07-15 Larry Ewing <lewing@gimp.org>
4047 * src/io-jpeg.c (image_load): add raph@gimp.org's fix to the jpeg
4050 * src/testpixbuf.c (main): fix up the file routines a little so
4051 that you can load multiple files given the file names
4053 1999-07-14 Larry Ewing <lewing@gimp.org>
4055 * src/testpixbuf.c (expose_func): added an almost proper expose
4056 handler for testpixbuf
4058 1999-07-13 Mark Crichton <crichton@gimp.org>
4060 * configure.in: Fixed GIF check. Replaced " with '
4061 * src/gdk-pixbuf.c: More (minor) work on gdk_pixbuf_scale
4063 1999-07-13 Mark Crichton <crichton@gimp.org>
4065 * configure.in: I am a bonehead. Added gif-lib check.