1 Sun May 5 02:27:01 2002 Soeren Sandmann <sandmann@daimi.au.dk>
3 * Makefile.am (noinst_PROGRAMS): remove test-loaders (moved to
5 * test-loaders.c, test-images.h: remove
7 2002-04-24 Matthias Clasen <maclas@gmx.de>
9 * gdk-pixbuf-io.c (gdk_pixbuf_save): Remove the ISO8859-1
10 restriction from the description of png tEXt parameters.
12 * io-png.c (png_text_to_pixbuf_option):
13 (gdk_pixbuf__png_image_save): If libpng supports it,
14 store and retrieve non-ISO8859-1 text as UTF-8. (#76172)
16 2002-04-11 Matthias Clasen <maclas@gmx.de>
18 More fixes for #77807:
20 * io-tga.c (get_contiguous_pixbuf): Helper function to create
21 a pixbuf with a contiguous pixel array while being careful about
24 * io-tga.c (fill_in_context, get_image_pseudocolor,
25 get_image_truecolor, get_image_grayscale): Use
26 get_contiguous_pixbuf instead of manually allocating image
29 * io-xpm.c (pixbuf_create_from_xpm):
30 * io-pnm.c (gdk_pixbuf__pnm_image_load):
31 * io-jpeg.c (gdk_pixbuf__jpeg_image_load): Use gdk_pixbuf_new
32 instead of manually allocating image storage.
34 2002-04-09 Matthias Clasen <maclas@gmx.de>
36 * gdk-pixbuf-loader.c (gdk_pixbuf_loader_load_module): Use
37 priv->image_module->module_name instead of image_type which may
40 2002-04-06 Matthias Clasen <maclas@gmx.de>
42 * io-png.c (gdk_pixbuf__png_image_load): Restructured to use
43 gdk_pixbuf_new instead of manually allocating image storage. This
44 gives us a good rowstride and overflow checks. (#77807)
46 2002-04-05 Matthias Clasen <maclas@gmx.de>
48 * io-tiff.c (tiff_image_parse): Avoid allocating an extra copy of
49 the image by using a TIFFRGBAImage{Begin,Get,End} with suitable
50 put functions instead of TIFFRGBAImage. And check image dimensions
53 2002-04-03 Matthias Clasen <maclas@gmx.de>
55 * gdk-pixbuf-loader.c (gdk_pixbuf_loader_get_type): Fix a doc typo.
57 2002-03-29 Matthias Clasen <maclas@gmx.de>
59 * io-png.c (png_simple_error_callback): libpng error handlers must
60 not return to their callers, thus longjmp out. This prevents
61 annoying stderr output from the default error handler.
63 2002-03-27 Matthias Clasen <maclas@gmx.de>
65 * io-png.c (gdk_pixbuf__png_image_stop_load): Don't leak info_ptr.
67 * io-png.c (gdk_pixbuf__png_image_load): Get rid of unused
68 end_info. Also call png_read_end to check proper ending of the png
69 file and catch text chunks after the image data.
71 2002-03-27 Matthias Clasen <maclas@gmx.de>
73 * io-png.c (gdk_pixbuf__png_image_load,
74 gdk_pixbuf__png_image_begin_load): Make libpng use g_malloc
75 instead of system malloc.
77 2002-03-26 Matthias Clasen <maclas@gmx.de>
79 * io-tiff.c (tiff_image_parse): Don't leak pixbuf on error.
81 * io-gif.c (gdk_pixbuf__gif_image_load_increment): Don't leak
82 context->buf on error.
84 * gdk-pixbuf-loader.c (gdk_pixbuf_loader_close): Make sure to call
85 stop_load even for short images to prevent memleaks.
87 2002-03-25 Matthias Clasen <maclas@gmx.de>
89 * io-png.c (setup_png_transformations): Changed signature to
90 return success and set a GError parameter, adjusted all callers.
91 Also work around a possible FPE in libpng and always check that
94 2002-03-23 Matthias Clasen <maclas@gmx.de>
96 * io-wbmp.c (gdk_pixbuf__wbmp_image_load_increment):
97 context->updated_func is NULL during a nonincremental load.
98 (gdk_pixbuf__wbmp_image_load): Stop reading after the first error.
100 2002-03-18 Matthias Clasen <maclas@gmx.de>
102 * io-tga.c: Fix assumptions on rowstride by manually allocating a
103 contiguous pixel buffer. Catch buffer overruns in RLE-modi.
104 Support grayscale + alpha (which can be written, but not read (!)
107 2002-03-15 Matthias Clasen <maclas@gmx.de>
109 * io-gif.c (gif_get_frame_info): Catch invalid frame dimensions.
111 2002-03-13 Matthias Clasen <maclas@gmx.de>
113 * test-images.h: Add valid_ras_test and invalid_bmp_1.
115 * test-loaders.c (main): Add random tests for ras and pnm and an
116 invalid bmp which was a crasher until my 2002-03-12 commit.
118 * io-pnm.c (gdk_pixbuf__pnm_image_load_increment): Don't unref the
121 * io-ras.c: Handle some errors.
123 2002-03-12 Sven Neumann <sven@gimp.org>
125 * gdk-pixbuf.c (gdk_pixbuf_fill): use sequential writes instead of
126 calling memcpy(). Simpler and potentially faster. (#70332)
128 2002-03-12 Matthias Clasen <maclas@gmx.de>
130 * io-bmp.c (DecodeHeader): Replace a g_assert_not_reached ()
131 which could actually be reached by a proper error status return.
133 2002-03-05 Matthias Clasen <maclas@gmx.de>
135 * test-loaders.c, test-images.h: More random tests.
137 * io-bmp.c (DecodeHeader): Fail gracefully on OOM here.
139 Tue Mar 5 10:39:03 2002 Owen Taylor <otaylor@redhat.com>
141 * Makefile.am (loaderdir): Put the modules into the
142 GTK_BINARY_VERSION directory for consistency with
143 immodules and theme engines.
145 Sat Mar 2 22:11:10 2002 Owen Taylor <otaylor@redhat.com>
147 * gdk-pixbuf-io.c (_gdk_pixbuf_load_module): If we
148 can't load the module using the g_module_build_path()
149 filename, try loading it as a .la file.
151 * test-loaders.c: Look for modules in current directory
152 rather than .libs, so we find the right .la files.
154 * test-loaders.c: Back out some accidental commits.
156 Sat Mar 2 21:28:03 2002 Owen Taylor <otaylor@redhat.com>
158 * gdk-pixbuf.c (gdk_pixbuf_new): Bullet-proof against integer
161 2002-03-03 Tor Lillqvist <tml@iki.fi>
163 * gtk-pixbuf.rc.in: Remove.
165 * gdk_pixbuf.rc.in: Name like this instead (wrong name used by
168 * makefile.msc: Corresponding changes.
170 * Makefile.am: Use gdk_pixbuf.rc on Win32. Distribute it.
172 2002-02-28 Matthias Clasen <maclas@gmx.de>
174 * pixops/pixops.c (tile_make_weights): Move the call to
175 correct_total() to the right spot. (#72732)
177 Wed Feb 27 18:33:04 2002 Owen Taylor <otaylor@redhat.com>
179 * gdk-pixdata.c (gdk_pixdata_to_csource): Use {} not
180 () to group around string assigned to char[]. (#72767,
183 2002-02-21 Havoc Pennington <hp@pobox.com>
185 * gdk-pixbuf-loader.c (gdk_pixbuf_loader_load_module): remove
186 C++-commented debug spew, reported by David L. Cooper
188 2002-02-15 Matthias Clasen <maclas@gmx.de>
190 * pixops/pixops.c (correct_total): New function to make sure
191 that the weights sum up to the correct total without introducing
193 (tile_make_weights, bilinear_make_fast_weights,
194 bilinear_make_weights): Use correct_total.
196 2002-02-10 Matthias Clasen <maclas@gmx.de>
198 * test-images.h (tiff1_test_3), test-loaders.c (main): Add a
199 (#ifdef 0'ed) test provoking a segfault in TIFFReadDirectory().
201 * io-ico.c (DecodeHeader): Check that pixbuf could be allocated.
203 * test-images.h (ico_test_2), test-loaders.c (main): Test the
206 * io-wbmp.c (gdk_pixbuf__wbmp_image_load_increment): Don't write
207 beyond the end of buffer if width % 8 != 0.
209 * io-tga.c (try_preload): Enforce that ctx->hdr->type is one of
210 the supported types, otherwise parse_data_for_row () will not make
211 any progress, leading to an infinite loop.
213 Mon Feb 11 14:31:53 2002 Owen Taylor <otaylor@redhat.com>
215 * pixops/pixops.c (bilinear_make_weights): Fix handing of
218 2002-02-10 Matthias Clasen <maclas@gmx.de>
220 * test-loaders.c (main): Enable some tests which should work
223 * io-wbmp.c (gdk_pixbuf__wbmp_image_load_increment): Detect
224 invalid image dimensions and insufficient memory.
226 * io-tga.c (try_preload): Detect invalid image dimensions.
227 (gdk_pixbuf__tga_stop_load): Don't try to unref NULL pointers.
229 * io-ico.c (DecodeHeader): Detect some invalid headers and
232 Fri Feb 8 23:11:15 2002 Owen Taylor <otaylor@redhat.com>
234 * pixops/pixops.c: Force all weight arrays to sum exactly
235 to 65535. (Fixes #70971, reported by Federico Mena Quintero)
237 * Makefile.am (libgdk_pixbuf_1_3_la_DEPENDENCIES): Add
240 2002-02-08 Federico Mena Quintero <federico@ximian.com>
242 * pixops/pixops.h: Fix comment; PixopsInterpType -> GdkInterpType.
244 2002-02-08 Darin Adler <darin@bentspoon.com>
246 * io-xbm.c: (next_int): Wean this from <ctype.h>.
248 2002-02-01 Matthias Clasen <matthiasc@poet.de>
250 * Makefile.am: Build the tga loader as a static library. (#70157)
252 * io-ico.c: Merge 16- and 32-bit ico support from the stable
255 * io-gif.c: Recomposite all images if the animation size changes
256 while loading. (#70055)
258 * gdk-pixbuf.c (gdk-pixbuf-fill): Make it work for subpixbufs.
261 Sat Jan 19 20:49:20 2002 Manish Singh <yosh@gimp.org>
263 * io-jpeg.c, io-png.c: Made sure all the error cases involving
264 jpeg or png load/saves clean themselves up properly. Marked some
265 variables needed for cleanup volatile so they aren't clobbered by
268 Fri Jan 11 18:05:07 2002 Owen Taylor <otaylor@redhat.com>
270 * pixops/pixops.c: Fix integer overflow for the values
271 passed to the pixel functions. (#55148, fix from Michael Hore)
273 Fri Jan 11 17:53:58 2002 Owen Taylor <otaylor@redhat.com>
275 * pixops/pixops.c (pixops_scale_nearest): Remove meaningless
278 * pixops/pixops.c (pixops_process): Comment the computation
279 of run_end_index and fix some edge cases.
281 * pixops/{scale_line_22_33_mmx.S, composite_line_22_4a4_mmx.S:
282 composite_line_color_22_4a4_mmx.S}: Handle the case where
283 dest <= dest_end properly. (#52001, fix from Michael Hore)
285 Thu Jan 10 16:48:30 2002 Owen Taylor <otaylor@redhat.com>
287 * pixops/pixops.c: Replace some hardcoded values with the
288 SUBSAMPLE constant used elsewhere. (#51033)
290 Wed Jan 9 11:29:44 2002 Owen Taylor <otaylor@redhat.com>
292 * Makefile.am (s-enum-types-h): Include glib-object.h,
293 Add G_BEGIN_DECLS/END_DECLS to gdk-pixbuf-enum-types.h. (#68325,
296 * *.h: G_BEGIN_DECLS cleanups.
298 Tue Jan 8 10:58:04 2002 Owen Taylor <otaylor@redhat.com>
300 * gdk-pixbuf-util.c (gdk_pixbuf_saturate_and_pixelate):
301 - Massive cleanup, make actually legible.
302 - Fix some clamp-to-range bugs found by Jim Cape (#68231).
303 - Add a g_return_if_fail() if src and dest alpha don't match.
304 - Allow for src_rowstride != dest_rowstride.
306 2002-01-04 Hans Breuer <hans@breuer.org>
308 * gdk_pixbuf.def : don't export functions prefixed
311 * makefile.msc : use -FImsvc_recommende_pragmas.h
313 Thu Jan 3 19:31:58 2002 Owen Taylor <otaylor@redhat.com>
315 * pixops/pixops.c (scale_line_22_33): Fix and uncomment
318 * pixops/pixops.c (pixops_composite_nearest): Remove a
321 * pixops/pixops.c (pixops_composite): Add some docs
322 about the parameters.
324 * pixops/README: Add notes about the correct algorithms
325 for alpha compositing and how to implement them quickly.
327 2001-12-29 Tor Lillqvist <tml@iki.fi>
329 * Makefile.am (EXTRA_DIST): Add makefile.msc.
331 Sat Dec 22 15:31:20 2001 Owen Taylor <otaylor@redhat.com>
333 * gdk-pixdata.h: Fix trailing "," in enumeration.
335 2001-12-17 Matthias Clasen <matthiasc@poet.de>
337 * gdk-pixbuf.c, gdk-pixbuf-io.c, gdk-pixbuf-animation.c,
338 gdk-pixbuf-data.c, gdk-pixbuf-loader.c, gdk-pixbuf-scale.c,
339 gdk-pixbuf-util.c, gdk-pixdata.c: Markup fixes.
341 2001-12-16 Havoc Pennington <hp@pobox.com>
343 * gdk-pixbuf-scale.c: docs enhancements
345 2001-12-14 Sebastian Wilhelmi <wilhelmi@ira.uka.de>
347 * io-xpm.c: Use g_ascii_strcasecmp() instead of g_strcasecmp().
349 2001-12-13 Sebastian Wilhelmi <wilhelmi@ira.uka.de>
351 * gdk-pixbuf-animation.c, gdk-pixbuf-loader.c, gdk-pixpuf.c,
352 io-gif-animation.c, io-gif.c, io-tiff.c, test-loaders.c: Remove
353 assorted G_OBJECT casts where unnecessary.
355 * gdk-pixbuf-loader.c: Call g_object_ref and g_object_unref
356 instead of gdk_pixbuf_animation_ref and gdk_pixbuf_animation_unref
359 * gdk-pixbuf-csource.c, io-bmp.c, io-gif-animation.c, io-ico.c,
360 io-jpeg.c, io-png.c, io-pnm.c, io-ras.c, io-tga.c, io-wbmp.c,
361 io-xbm.c, io-xpm.c, test-gdk-pixbuf.c: Dito for gdk_pixbuf_ref and
364 * Makefile.am, pixops/Makefile.am: Compile everything with
365 -DG_DISABLE_DEPRECATED -DGDK_PIXBUF_DISABLE_DEPRECATED
367 * gdk-pixdata.c: Use g_ascii_strup() instead of g_strup().
369 * io-xpm.c: Use g_ascii_strcasecmp() instead of g_strcasecmp().
371 2001-12-12 Matthias Clasen <matthiasc@poet.de>
373 * gdk-pixbuf-io.c: Markup fixes.
375 2001-12-12 Matthias Clasen <matthiasc@poet.de>
377 * Makefile.am (INCLUDES): Define G_LOG_DOMAIN. (#66412)
379 * gdk-pixbuf-loader.c, gdk-pixbuf-util.c: Markup fixes.
381 2001-12-11 Michael Natterer <mitch@gimp.org>
383 * io-png.c: gdk_pixbuf__png_image_save: removed wrong endian
384 conversion stuff; don't copy RGB pixbufs' lines around before
387 2001-12-05 Matthias Clasen <matthiasc@poet.de>
389 * gdk-pixbuf.h (gdk_pixbuf_ref, gdk_pixbuf_unref,
390 gdk_pixbuf_animation_ref, gdk_pixbuf_animation_unref):
393 Tue Dec 4 11:45:45 2001 Owen Taylor <otaylor@redhat.com>
395 * io-xpm.c (pixbuf_create_from_xpm): Fill in color
396 fields to black for transparent colors since we'll
397 later initialize pixels from them. (Fixes purify
398 errors, #66093, HideToshi Tajima)
400 2001-11-30 Tor Lillqvist <tml@iki.fi>
402 * gdk_pixbuf.def: Add gdk_pixbuf_get_option.
404 Fri Nov 30 15:55:34 2001 Owen Taylor <otaylor@redhat.com>
406 * gdk-pixdata.c (gdk_pixdata_deserialize): Fix
407 alignment problem in deserialization, (#65785,
408 reported by Hidetoshi Tajima)
410 2001-11-28 Manish Singh <yosh@gimp.org>
412 * gdk-pixbuf/io-bmp.c (gdk_pixbuf__bmp_image_load_increment): Fill
413 in missing error parameters to DecodeHeader and DecodeColormap.
415 2001-11-21 Federico Mena Quintero <federico@ximian.com>
417 Fix Ximian bug #12125; merged from gdk-pixbuf stable.
419 * gdk-pixbuf/io-bmp.c (gdk_pixbuf__bmp_image_load_increment): Use
420 a simple state machine instead of a scary if/else chain.
421 (DecodeHeader): Set the reading state.
422 (DecodeColormap): Set the reading state.
423 (decode_bitmasks): New function, decodes the bitmasks for
425 (OneLine32): Handle BI_BITFIELDS coding.
426 (OneLine16): Likewise.
428 2001-11-18 Hans Breuer <hans@breuer.org>
430 * io-xpm.c : use g_strcasecmp(), some poor platforms
431 don't have strcasecmp()
433 * makefile.msc : do INCLUDE_png etc. definition here to avoid
434 my temporary 'gdk-pixbuf-io-include.h' hack
436 Sun Nov 18 07:54:22 2001 Owen Taylor <otaylor@redhat.com>
438 * gdk-pixbuf-loader.c: Remove include of gobject/signal.h.
440 2001-11-03 Sebastian Wilhelmi <wilhelmi@ira.uka.de>
442 * gdk-pixbuf-loader.c, gdk-pixbuf-scale.c: Documentation fixes.
444 2001-10-29 Tor Lillqvist <tml@iki.fi>
446 * Makefile.am: Use -no-undefined on Win32. Make
447 libgdk_pixbuf_1_3_la_OBJECTS depend on
448 gdk-pixbuf-marshal.c. Install import libraries.
450 * gdk_pixbuf.def: Update.
452 * gdk-pixbuf-io.c: (Win32) Use G_WIN32_DLLMAIN_FOR_DLL_NAME, saves
453 the actual DLL name of libgdk_pixbuf.
454 (get_libdir): Use it instead of guessing.
456 * io-xbm.c (gdk_pixbuf__xbm_image_begin_load): Use
457 g_file_open_tmp() insread of mkstemp().
459 2001-10-18 Matthias Clasen <matthiasc@poet.de>
461 * io-xbm.c (gdk_pixbuf__xbm_image_load_real): Don't dereference
462 context when it may be NULL. (#62344)
464 2001-10-16 Matthias Clasen <matthiasc@poet.de>
466 * gdk-pixdata.c, gdk-pixdata.h: Documentation.
468 * gdk-pixbuf-csource.1: Spelling fixes.
470 Wed Oct 10 11:52:17 2001 Owen Taylor <otaylor@redhat.com>
472 * gdk-pixdata.c gdk-pixbuf.h: Get rid of
473 GDK_PIXBUF_ERROR_HEADER/PIXEL_CORRUPT and use CORRUPT_IMAGE.
474 Get rid fo GD_PIXBUF_ERROR_UNKNOWN_FORMAT and use the
475 existing UKNOWN_TYPE error. (#58308)
477 * gdk-pixbuf.h, gdk-pixdata.c: Rename gdk_pixbuf_new_from_stream()
478 back to gdk_pixbuf_new_from_inline(). Rework docs to try
479 and be helpful for the common case. (#58308)
481 2001-10-05 Sven Neumann <sven@gimp.org>
483 * gdk-pixbuf/gdk-pixbuf-io.c
484 * gdk-pixbuf/gdk-pixbuf-private.h
485 * gdk-pixbuf/gdk-pixbuf.c
486 * gdk-pixbuf/gdk-pixbuf.h
487 * gdk-pixbuf/io-jpeg.c
488 * gdk-pixbuf/io-png.c: changed GDK_PIXBUF_ERROR_BAD_OPTION_VALUE to
489 GDK_PIXBUF_ERROR_BAD_OPTION to we can use it for bad keys too. Added
490 new public API gdk_pixbuf_get_option() to retrieve key/value pairs
491 set by an image loader. Added support for saving and reading PNG tEXt
492 chunks in PNG images.
494 Tue Oct 2 11:29:50 2001 Owen Taylor <otaylor@redhat.com>
496 * gdk-pixdata.c (gdk_pixdata_to_csource): Fix indentation
497 use a macro to make code a bit more readable.
499 2001-10-02 Sven Neumann <sven@gimp.org>
501 * gdk-pixdata.c: g_string_printfa => g_string_append_printf.
503 Wed Sep 26 18:08:19 2001 Owen Taylor <otaylor@redhat.com>
505 * Makefile.am (s-enum-types-h): Fix a typo in the include
506 guards. (#61254, Skip Montaro)
508 2001-09-21 Matthias Clasen <matthiasc@poet.de>
510 * io-xpm.c (xpm_extract_color): Rewritten to handle
511 xpm colormap entries more thoroughly. (#59939)
513 2001-09-21 Hans Breuer <hans@breuer.org>
515 * gdk-pixbuf.def : updated externals
517 * makefile.msc : generate gdk-pixbuf-enum-types.[hc]
519 Thu Sep 20 17:22:48 2001 Owen Taylor <otaylor@redhat.com>
521 * io-tiff.c (gdk_pixbuf__tiff_image_load): On OSF, apparently fseek()
522 works in some on-demand way, so the fseek gdk_pixbuf_new_from_file() doesn't
523 work here since we are using the raw file descriptor. So, we call lseek()
524 on the fileno(f) before using it. (#60840).
526 2001-09-20 James Henstridge <james@daa.com.au>
528 * Makefile.am (gdk-pixbuf-enum-types.c): same change as in pango,
529 so that flags types are registered as flags rather than enums (not
530 that there are any flags here at the moment).
532 Wed Sep 19 00:28:24 2001 Owen Taylor <otaylor@redhat.com>
534 * Makefile.am (gdk_pixbuf_headers): Don't include
535 gkd-pixbuf-features.h here since is in builddir
536 and confuses autogen rules.
538 * Makefile.am: Don't += variables before they have values,
539 automake-1.5 doesn't like it.
541 * Makefile.am: Fix srcdir != builddir for gdk-pixbuf-enum-types.c.
543 * Makefile.am: The whitespace strikes back.
545 2001-09-17 Matt Wilson <msw@redhat.com>
547 * Makefile.am (libpixbufloader_xbm_la_LDFLAGS): removed duplicate
548 LDFLAGS definition, use the -avoid-version one.
549 (libpixbufloader_tga_la_LDFLAGS): likewise
551 Mon Sep 17 11:49:02 2001 Owen Taylor <otaylor@redhat.com>
553 * pixops/*: Mirror GdkInterpType to PixopsInterpType
554 to avoid including gdk-pixbuf headers.
556 2001-09-16 James Henstridge <james@daa.com.au>
558 * .cvsignore: add generated files to ignore list.
560 * gdk-pixbuf.h: include gdk-pixbuf-enum-types.h
562 * Makefile.am: add rules to build gdk-pixbuf-enum-types.[ch]
564 Fri Sep 14 23:22:12 2001 Matthias Clasen <matthiasc@poet.de>
566 * io-pnm.c (pnm_read_header): Use GDK_PIXBUF_ERROR_CORRUPT_IMAGE,
567 not GDK_PIXBUF_ERROR_HEADER_CORRUPT. (#58308)
569 Fri Sep 14 22:53:45 2001 Matthias Clasen <matthiasc@poet.de>
571 * io-jpeg.c (gdk_pixbuf__jpeg_image_begin_load): Handle
572 out-of-memory situation better.
574 * io-pnm.c: Robustness fixes for pnm loader
576 * io-gif.c: Make gif loader survive TEST_RANDOMLY_MODIFY
578 * io-xpm.c (parse_color): detect very long color strings
580 All of the above from Matthias Clasen <matthiasc@poet.de>,
581 the remaining from Soeren Sandmann <sandmann@daimi.au.dk>.
583 * test-images.h: add tests:
584 - four valid ppm's, eight invalid (matthiasc@poet.de)
585 - one invalid xpm (matthiasc@poet.de)
586 - one valid tga, one invalid (sandmann@daimi.au.dk)
587 - one invalid tiff (sandmann@daimi.au.dk
589 * test-loaders.c: enable tests for ppm, png, gif, tga, tiff, xpm
591 * io-tiff.c (gdk_pixbuf__tiff_image_stop_load): TIFFClientOpen can
592 fail - detect it when it happens
594 * io-tga.c (gdk_pixbuf__tga_load_increment): Fail if there is too
597 * gdk-pixbuf-io.c: moved wbmb check after ico check to avoid false
600 Fri Sep 14 00:30:48 2001 Tim Janik <timj@gtk.org>
602 * Makefile.am: don't used BUILT_SOURCES to build marshal
603 files, as in conjunction with stamp files, this can
604 lead to endless rebuilding loops.
606 Tue Sep 4 00:22:07 2001 Owen Taylor <otaylor@redhat.com>
608 * Makefile.am: Fix EXTRA_DIST for gdk-pixbuf-csource.1
610 Tue Sep 4 03:09:52 2001 Tim Janik <timj@gtk.org>
612 * gdk-pixbuf-csource.1: new file, manual page for
613 the publically installed gdk-pixbuf-csource utility.
615 Thu Aug 30 08:30:03 2001 Matthias Clasen <matthiasc@poet.de>
617 * gdk-pixbuf-loader.c (gdk_pixbuf_loader_close): Propagate
618 errors from gdk_pixbuf_loader_load_module.
620 Thu Aug 30 08:27:37 2001 Matthias Clasen <matthiasc@poet.de>
622 * io-png.c (png_row_callback): Check that row_num is valid.
624 Tue Aug 28 21:05:26 2001 Matthias Clasen <matthiasc@poet.de>
626 * io-bmp.c (OneLine): Emit area_updated signal with proper
627 area information. (#52002)
629 Tue Aug 28 20:03:43 2001 Matthias Clasen <matthiasc@poet.de>
631 * test-loaders.c (test_loader): Catch errors at close time.
632 * test-loaders.c (main): Remove C++ comments.
634 2001-08-21 Matthias Clasen <matthiasc@poet.de>
636 * Makefile.am, gdk-pixbuf-io.c, pixbufloader_tga.def,
637 io-tga.c: Add tga loader, patch by Nicola Girardi. (#56067)
639 2001-08-20 Matthias Clasen <matthiasc@poet.de>
641 * test-images.h, test-loaders.c: Add ico and wbmp tests.
642 * io-jpeg.c (gdk_pixbuf__jpeg_image_save): Fail with a suitable
643 error if buffer allocation fails.
644 * io-ico.c: Make .ICO loader more robust.
645 All of these are due to sandmann@daimi.au.dk (#50187)
647 2001-08-19 Sven Neumann <sven@gimp.org>
649 * pixops/pixops.c: applied some simple but effective optimizations
650 to pixops_composite_nearest() and pixops_composite_color_nearest().
652 2001-08-07 Sven Neumann <sven@gimp.org>
654 * gdk-pixbuf.c (gdk_pixbuf_fill): a comment asked to optimize this
655 function, so that's what I did.
657 2001-08-06 Kjartan Maraas <kmaraas@gnome.org>
659 * gdk-pixdata.c: Fix a typo.
661 2001-07-30 Hans Breuer <hans@breuer.org>
663 * pixops/makefile.msc : new file
664 * makefile.msc : use it to complete the build
666 2001-07-20 Hans Breuer <hans@breuer.org>
668 * gdk-pixdata.c : don't 'g_tohl (*istream++)', but move
669 pointer increment out of the macro, because at least one
670 compiler (msvc 5.0) gets confused otherwise (applies the
673 * gdk_pixbuf.def : updated exports
675 * makefile.msc : reflect gdk-pixbuf-csource changes
677 2001-07-17 Darin Adler <darin@bentspoon.com>
679 * gdk-pixbuf-csource.c: Add missing <stdlib.h> include.
680 * io-png.c: (setup_png_transformations): Add ifdef so we compile
681 without warnings with G_DISABLE_CHECKS on.
682 * io-pnm.c: (gdk_pixbuf__pnm_image_load_increment): Add a missing
684 * io-wbmp.c: (getin), (get_mbi): Add a missing const.
685 * io-xbm.c: (gdk_pixbuf__xbm_image_load_real): Get rid of some
686 unused locals and add an initial value to quiet the compiler's
687 unintialized variable warning.
688 * pixops/pixops.c: Put an ifdef around some dead code.
690 Thu Jul 5 10:17:15 2001 Owen Taylor <otaylor@redhat.com>
692 * pixops/Makefile.am (noinst_LTLIBRARIES): Switch
693 over to the new include flags AC_SUBST(). (Problem
694 pointed out by Mikael Hermansson.)
696 2001-06-29 Havoc Pennington <hp@redhat.com>
698 * gdk-pixbuf-loader.c (gdk_pixbuf_loader_class_init): fix for
701 Thu Jun 28 21:54:19 2001 Owen Taylor <otaylor@redhat.com>
703 * make-inline-pixbuf.c test-gdk-pixbuf.c test-loaders.c
704 gdk-pixbuf-csource.c: Fix args to g_type_init ().
706 2001-06-28 Havoc Pennington <hp@pobox.com>
708 * gdk-pixdata.c: <string.h>
710 * gdk-pixbuf-io.c (get_libdir): fix typo in dll name (aren't we
711 also leaking memory here from g_strdup_printf?)
713 Tue Jun 26 09:48:02 2001 Tim Janik <timj@gtk.org>
715 * Makefile.am (noinst_PROGRAMS): get rid of make-inline-pixbuf
717 * gdk-pixbuf-data.[hc]: provide gdk_pixbuf_new_from_stream()
718 instead from gdk_pixbuf_new_from_inline().
720 * gdk-pixdata.[hc]: auxillary GdkPixdata structure, public
721 installed API for applications that need to serialize/deserialize
722 on their own (gimp, BEAST).
724 * gdk-pixbuf/gdk-pixbuf-csource.c: provide publically installed
725 program that can dump images in CSource format and Pixbuf
726 stream format. supports RLE encoding, MACRO formatting etc...
729 Mon Jun 25 00:28:11 2001 Owen Taylor <otaylor@redhat.com>
731 * Makefile.am: Actually update timestamps, so rules don't
734 2001-06-11 Havoc Pennington <hp@redhat.com>
736 * Makefile.am (stamp-gdk-pixbuf-marshal.c): glib_genmarshal
737 already includes top_builddir
739 2001-06-08 Havoc Pennington <hp@redhat.com>
741 * gdk-pixbuf-loader.c (gdk_pixbuf_loader_load_module): remove
742 bogus g_return_if_fail
744 * io-gif.c (gif_get_lzw): if delay time is 0 or smaller than
745 likely timeout resolution, set it to an arbitrarily-chosen short
747 Fixes bug #55953 from warmenhoven@yahoo.com
749 2001-06-07 Havoc Pennington <hp@redhat.com>
751 * Makefile.am: use Owen's new way of doing stampfiles/generated
754 2001-06-07 Havoc Pennington <hp@redhat.com>
756 * Makefile.am (gdk-pixbuf-marshal.c): fix up the glib-genmarshal path
758 2001-06-05 Havoc Pennington <hp@redhat.com>
760 * test-loaders.c (main): use putenv not setenv, reported by
763 2001-05-08 Havoc Pennington <hp@redhat.com>
765 * gdk-pixbuf-util.c (gdk_pixbuf_add_alpha): docs fixup,
766 and fix behavior to still subst color if the original image
769 2001-06-04 Havoc Pennington <hp@redhat.com>
771 * io-pnm.c (pnm_skip_whitespace): patch from Szekeres Istvan,
774 2001-06-01 Havoc Pennington <hp@redhat.com>
776 Apply patch from sandmann@daimi.au.dk, with some tweaks.
777 Makes things a bit more robust, and adds test-loaders.c
778 which is good for finding further robustness bugs to fix.
780 * io-tiff.c: Try to work around libtiff suckiness a bit;
781 put a giant thread lock on the whole loader,
782 paranoically check both whether error handlers were called and
783 also whether functions return false. Handle case where width or
784 height is 0. Various cleanups.
786 * io-png.c (gdk_pixbuf__png_image_stop_load): only unref pixbuf
788 (png_error_callback): apparently libpng expects you to longjmp out
791 * io-gif.c (struct _GifContext): remove unused "pixbuf" field
792 (lzw_read_byte): change "Mail jrb if this fails" g_warning
794 (gif_get_lzw): check for out-of-memory
795 (gif_prepare_lzw): catch/report an error
796 (new_context): use try_malloc, since GifContext is nearly 70K
797 (gdk_pixbuf__gif_image_load_increment): set context->buf to NULL
798 so we don't crash later.
800 * Makefile.am: Add test-loaders
802 * gdk-pixbuf-loader.c (gdk_pixbuf_loader_close): handle context ==
805 2001-05-29 Darin Adler <darin@eazel.com>
807 * gdk-pixbuf.h: Fix prototype to use "(void)" instead of "()".
809 Mon May 28 14:21:35 2001 Jonathan Blandford <jrb@redhat.com>
811 * io-bmp.c: Patch from Helmethead <hoshem@mel.comcen.com.au> to
812 fix up bmp decoder to:
813 - adds 16 bpp bmp support (bug #53884)
814 - adds OS/2 1.x format bmp support (bug #54964)
815 - adds 4 bpp RLE compressed bmp support
816 - adds 1 bpp colormap support
817 - fixes negative height (top down) bmp support
819 2001-05-25 Hans Breuer <hans@breuer.org>
821 * gdk_pixbuf.def : reflect Havoc's recent api change
823 Sun May 20 12:53:49 2001 Owen Taylor <otaylor@redhat.com>
825 * Makefile.am (libgdk_pixbuf_1_3_la_LDFLAGS): Remove an
828 Sun May 13 11:59:11 2001 Owen Taylor <otaylor@redhat.com>
830 * Makefile.am: Make modules depend on libgdk_pixbuf.la.
832 2001-05-04 Havoc Pennington <hp@redhat.com>
834 * pixops/pixops.c (pixops_process): merge fix from stable: Patch
835 from hoshem@mel.comcen.com.au to fix nonzero X offsets. Fixes
838 * gdk-pixbuf/pixops/pixops.c (pixops_composite_nearest): merge
839 from stable: Patch from OKADA Mitsuru <m-okada@fjb.co.jp> to fix
840 confusion of using "src" instead of "p".
841 (pixops_composite_color_nearest): Use a more accurate (and
842 correct, to begin with) compositing method. This cures checks
843 showing through on images with no alpha.
845 * gdk-pixbuf.c (gdk_pixbuf_fill): fix bug that left some trailing
848 * gdk-pixbuf-io.h: fix UpdatedNotifyFunc to use signed ints
850 * gdk-pixbuf-loader.h (struct _GdkPixbufLoaderClass): Change
851 area_updated signal to use signed ints. Removed animation-related
854 * io-gif.c, io-gif-animation.h, io-gif-animation.c: Massive
857 * gdk-pixbuf-animation.c: Add GdkPixbufAnimationIter to abstract
858 all the pesky details. Remove old frame-based API. Make
859 GdkPixbufAnimation an abstract base class, derived by the loaders.
861 Sun Apr 22 15:51:32 2001 Owen Taylor <otaylor@redhat.com>
863 * Makefile.am (LDADDS): Add $(MATH_LIB).
865 2001-04-18 Havoc Pennington <hp@redhat.com>
867 * gdk-pixbuf.c (gdk_pixbuf_fill): Function to fill pixbuf with a
870 Wed Apr 4 01:41:02 2001 Tim Janik <timj@gtk.org>
872 * pixops/Makefile.am (noinst_LTLIBRARIES): include $top_srcdir
873 so we don't try to get <gtk/gtkobject.h> from standard search
876 * Makefile.am (gdk-pixbuf-marshal.c): use deps from srcdir.
877 add gdk-pixbuf-marshal.list to EXTRA_DIST.
878 take gdk-pixbuf-marshal.h out of _la sources.
880 2001-03-19 Tor Lillqvist <tml@iki.fi>
882 * makefile.mingw.in: Handle gdk-pixbuf-marshal.c.
884 * gdk_pixbuf.def: Update.
886 * pixbufloader_*.def: Just export the fill_vtable functions now.
888 2001-03-18 Mike Kestner <mkestner@ameritech.net>
890 * make-inline-pixbuf.c (main): Added logic to remove output when
893 2001-03-14 Havoc Pennington <hp@redhat.com>
895 * Makefile.am (gdk-pixbuf-marshal.c): Use different temporary file
896 from gdk-pixbuf-marshal.h, fixes parallel makes.
898 Thu Mar 1 04:01:57 2001 Tim Janik <timj@gtk.org>
900 * test-gdk-pixbuf.c: fixed includes.
902 2001-02-18 Havoc Pennington <hp@pobox.com>
904 * gdk-pixbuf-io.c (gdk_pixbuf_load_module): prepend underscore
905 (gdk_pixbuf_get_named_module): prepend underscore
906 (gdk_pixbuf_get_module): prepend underscore
908 2001-02-19 Havoc Pennington <hp@redhat.com>
910 * gdk-pixbuf-io.c (gdk_pixbuf_load_module): const fix
912 2001-02-17 Havoc Pennington <hp@pobox.com>
914 * gdk-pixbuf-loader.c (gdk_pixbuf_loader_new_with_type): docs
916 2001-02-07 Alexander Larsson <alexl@redhat.com>
918 * io-xpm.c (free_buffer):
919 Use g_free, since the buffer is allocated with g_try_alloc().
921 2001-02-06 Christophe Merlet <redfox@eikonex.org>
923 * gdk-pixbuf-data.c: Fixes a minor typo.
925 Sun Feb 4 07:59:57 2001 Tim Janik <timj@gtk.org>
927 * gdk-pixbuf.h: DOH! don't include glib/gobject.h but glib-object.h,
928 we finally need the gobject->gruntime rename.
930 * *.c: scratched calls to g_type_init(), there's simply no point in
931 doing that, use gtk_init().
933 2001-02-01 Havoc Pennington <hp@pobox.com>
935 * gdk-pixbuf-loader.c, gdk-pixbuf-loader.h: rename "private" field
936 in struct to "priv" for C++
938 2001-01-31 Havoc Pennington <hp@pobox.com>
940 * gdk-pixbuf.c: include glib-object.h instead of gvaluetypes.h
942 2001-01-26 Havoc Pennington <hp@redhat.com>
944 * gdk-pixbuf-io.c (mname): fix included modules case.
946 2001-01-22 Havoc Pennington <hp@redhat.com>
948 * gdk-pixbuf-io.c (gdk_pixbuf_new_from_xpm_data): check errors
949 from gdk_pixbuf_load_module
951 2001-01-22 Havoc Pennington <hp@redhat.com>
953 * Makefile.am: Add built marshaller files to support
954 GdkPixbufLoader signals
956 * gdk-pixbuf-io.c (gdk_pixbuf_load_module): have
957 GDK_PIXBUF_MODULEDIR unconditionally replace the compiled-in
958 module location, rather than acting as a fallback, because we are
959 using GDK_PIXBUF_MODULEDIR to use gdk-pixbuf before installing it.
961 * gdk-pixbuf.h: include gdk-pixbuf-loader.h
963 * gdk-pixbuf-loader.h, gdk-pixbuf-loader.c: Move back over here
964 from gtk, and add error to close(), because stop_load may do
965 parsing of the image.
967 * pixops/have_mmx.S (_pixops_have_mmx): add newline at end of file
969 * io-*.c: make individual operations static, and add fill_vtable
970 functions which are exported. Fix the collection of type warnings
971 that surfaced, including a number of functions that didn't
972 properly take a GError and some that weren't
973 const-correct. Involved adding error handling for a few loaders.
975 * gdk-pixbuf-io.h: Add error reporting to stop_load function
977 * gdk-pixbuf-io.c (gdk_pixbuf_load_module): change to just look up
978 a function that fills in the GdkPixbufModule vtable, instead of
979 looking up all the image functions individually; this means we
980 can get type safety within modules for the loader functions.
981 Also it means you don't have to keep the statically compiled and
982 GModule versions in sync.
984 * test-gdk-pixbuf.c (main): remove gdk_pixbuf_init()
986 * make-inline-pixbuf.c (main): remove call to gdk_pixbuf_init()
988 * gdk-pixbuf.h: nuke gdk_pixbuf_init()
990 * gdk-pixbuf-animation.c (gdk_pixbuf_frame_get_type): g_type_init
993 * gdk-pixbuf.c (gdk_pixbuf_get_type): g_type_init () here
995 * gdk-pixbuf-animation.c (gdk_pixbuf_animation_get_type):
998 2001-01-20 John Harper <jsh@eazel.com>
1000 * io-xbm.c: new pixbuf loader, for X bitmap files. Basically a
1001 collision between Xlib's RdBitF.c and io-tiff.c
1003 * gdk-pixbuf-io.c, Makefile.am, pixbufloader_xbm.def: added
1006 [ merged from stable gdk-pixbuf module. Untested, but it
1007 compiles, and works fine in the stable module ]
1009 2001-01-18 Tor Lillqvist <tml@iki.fi>
1011 * gdk-pixbuf-io.c (get_libdir): (Win32) Use the new
1012 g_win32_get_package_installation_subdirectory() function. No need
1013 to include windows.h.
1014 (gtk_win32_get_installation_directory): Remove this then.
1016 2001-01-01 Havoc Pennington <hp@redhat.com>
1018 * Makefile.am (libgdk_pixbuf_1_3_la_LDFLAGS): add
1019 @LIBTOOL_EXPORT_OPTIONS@
1021 2000-12-30 Tor Lillqvist <tml@iki.fi>
1023 * gdk_pixbuf.def: Update.
1025 2000-12-16 Havoc Pennington <hp@pobox.com>
1027 * gdk-pixbuf-animation.c (gdk_pixbuf_animation_new_from_file): ref
1028 the pixbuf in the frame, so we can use gdk_pixbuf_frame_free
1029 (gdk_pixbuf_frame_copy): new function
1030 (gdk_pixbuf_frame_free): new function
1031 (gdk_pixbuf_frame_get_type): new function
1032 (GDK_TYPE_PIXBUF_FRAME): macro to get type for GdkPixbufFrame
1034 Tue Nov 14 11:51:26 2000 Owen Taylor <otaylor@redhat.com>
1036 * Makefile.am: Add -avoid-version for all modules.
1038 2000-11-13 Havoc Pennington <hp@redhat.com>
1040 * io-png.c (png_simple_error_callback): fix error message to not
1041 say "save" since it's used for loading
1043 2000-11-11 Hans Breuer <Hans@Breuer.Org>
1045 * gdk-pixbuf-io.c : Fix all function prototype macros for self
1046 contained image handlers (!USE_G_MODULE). Files to save should
1047 be opened in binary mode, fopen(s, "wb").
1049 * io-xpm.c : added HAVE_UNISTD_H condition
1051 2000-11-11 Tor Lillqvist <tml@iki.fi>
1053 * gdk_pixbuf.def: Add gdk_pixbuf_new_subpixbuf.
1055 * io-tiff.c (gdk_pixbuf__tiff_image_begin_load): Use
1056 g_file_open_tmp() (just added to GLib) instead of mkstemp() (or
1057 mktemp() and open()).
1059 * io-xpm.c (gdk_pixbuf__xpm_image_begin_load): Ditto.
1061 2000-11-01 Havoc Pennington <hp@pobox.com>
1063 * gdk-pixbuf.c (gdk_pixbuf_new_subpixbuf): New function to create
1064 a pixbuf pointing to a subregion of another pixbuf.
1066 2000-10-16 Tor Lillqvist <tml@iki.fi>
1068 * gdk-pixbuf-io.c: Define also m_save (for the non-gmodule case).
1070 2000-10-16 Havoc Pennington <hp@redhat.com>
1072 * gdk-pixbuf-io.c (gdk_pixbuf_get_module)
1073 (gdk_pixbuf_get_named_module) (gdk_pixbuf_load_module):
1074 add error reporting here also
1076 * make-inline-pixbuf.c (main): use GError
1078 * io-xpm.c: include unistd.h
1080 * gdk-pixbuf-util.c: include string.h
1082 * io-*.c: add error reporting
1084 * gdk-pixbuf-animation.c (gdk_pixbuf_animation_new_from_file): add
1087 * gdk-pixbuf-io.c (gdk_pixbuf_new_from_file): Add error reporting
1089 * gdk-pixbuf-io.h: Add GError** to load_increment and load
1092 * gdk-pixbuf-io.c (gdk_pixbuf_save) (gdk_pixbuf_savev): return
1093 a G_FILE_ERROR if we fail to write or close the file.
1095 * gdk-pixbuf.h: remove GDK_PIXBUF_ERROR_IO, instead we'll use
1096 G_FILE_ERROR_*. Rename enum to GdkPixbufError, properly following
1097 the GError naming rules. Add GError** to load functions.
1099 2000-10-06 Havoc Pennington <hp@redhat.com>
1101 * gdk-pixbuf.h: add GdkPixbufAlphaMode
1103 2000-10-06 Havoc Pennington <hp@redhat.com>
1105 This entry is a summary of the merged-in changes from 1.0.
1106 Relevant original ChangeLog entries are spliced in after
1107 this entry; the files they refer to are from the 1.0
1110 * pixops/pixops.c (pixops_composite_nearest): sync a small fix
1113 * io-xpm.c (xpm_seek_string): add fscanf error check from 1.0
1114 Add progressive loader from 1.0
1116 * io-tiff.c (gdk_pixbuf__tiff_image_begin_load): mem leak fixes
1119 * io-pnm.c: new version from 1.0 tree
1121 * io-jpeg.c (gdk_pixbuf__jpeg_image_load): sync from 1.0, use
1124 * io-gif.c (lzw_read_byte): sync from 1.0, change a g_error to
1126 (gif_get_next_step): return 0 here, sync from 1.0
1128 * gdk-pixbuf-util.c: sync email address change for Cody
1131 2000-09-11 Jeffrey Stedfast <fejj@helixcode.com>
1133 * gdk-pixbuf/io-pnm.c: Pretty much totally rewrote again because
1134 last nights code was still "broken". Should now properly handle
1135 all error conditions gracefully.
1137 2000-09-10 Jeffrey Stedfast <fejj@helixcode.com>
1139 * gdk-pixbuf/io-pnm.c: Rewrote.
1141 2000-09-09 Federico Mena Quintero <federico@helixcode.com>
1143 * gdk-pixbuf/pixops/pixops.c (pixops_composite_nearest): Compute
1144 the correct dest offset.
1146 2000-08-25 Federico Mena Quintero <federico@helixcode.com>
1148 * gdk-pixbuf/io-xpm.c: #include <unistd.h>
1150 2000-08-05 Larry Ewing <lewing@helixcode.com>
1152 * gdk-pixbuf/io-tiff.c: stop leaking context->tempname.
1154 * gdk-pixbuf/io-xpm.c: same as above.
1156 2000-07-26 Michael Meeks <michael@helixcode.com>
1158 * gdk-pixbuf/io-jpeg.c (gdk_pixbuf__jpeg_image_load): make
1161 2000-07-21 Larry Ewing <lewing@helixcode.com>
1163 * gdk-pixbuf/io-xpm.c: add a fake progressive loader so that
1164 xpm at least supports the progressive interface like the one in
1165 io-tiff.c. This should be reimplemented as an actual progressive
1168 2000-07-19 Jonathan Blandford <jrb@redhat.com>
1170 * demo/pixbuf-demo.c (update_timeout): changed scaling level to
1171 make it look better.
1172 * gdk-pixbuf/testpixbuf.c (update_timeout): Patch from michael
1173 meeks to handle errors better.
1175 2000-10-07 Tor Lillqvist <tml@iki.fi>
1178 * pixbufloader_jpeg.def
1179 * pixbufloader_png.def: Add new entry points.
1181 * makefile.mingw.in: Use libintl.
1183 2000-10-06 Havoc Pennington <hp@redhat.com>
1185 * gdk-pixbuf-io.c (gdk_pixbuf_save): s/format/type/g to be
1186 consistent with gdk_pixbuf_loader_new_with_type().
1187 Return runtime error if a module is missing.
1189 * gdk-pixbuf.h: add GDK_PIXBUF_ERROR_UNKNOWN_TYPE
1191 2000-10-05 Havoc Pennington <hp@redhat.com>
1193 Pixbuf saving, patch from David Welton.
1195 * Makefile.am (GDK_PIXBUF_LIBS): add INTLLIBS
1196 (libgdk_pixbuf_1_3_la_SOURCES): add gdk-pixbuf-i18n.h
1198 * gdk-pixbuf-i18n.h: Add _() to gdk-pixbuf
1200 * io-png.c (gdk_pixbuf__png_image_save): PNG save routine.
1202 * io-jpeg.c (gdk_pixbuf__jpeg_image_save): JPEG save routine.
1204 * gdk-pixbuf-io.c (gdk_pixbuf_save):
1205 (gdk_pixbuf_savev): Implement pixbuf saving routines
1207 * gdk-pixbuf.c (gdk_pixbuf_error_quark): pixbuf error quark
1210 * gdk-pixbuf.h: Add public save routines; add pixbuf error
1213 * gdk-pixbuf-io.h: Add save function to GdkPixbufModule
1215 2000-10-05 Dan Winship <danw@helixcode.com>
1217 * io-png.c, io-tiff.c, io-xpm.c: Fix comments to not claim that
1218 all three of these files are the JPEG image loader. (From
1221 2000-10-03 Tor Lillqvist <tml@iki.fi>
1223 * makefile.mingw.in: Add rule for make-inline-pixbuf. Use
1224 gdk-pixbuf's version number in the rule for makefile.mingw itself.
1226 * gdk_pixbuf.def: Add new entry points.
1228 2000-09-26 Havoc Pennington <hp@redhat.com>
1230 * gdk-pixbuf-util.c (gdk_pixbuf_saturate_and_pixelate): Add this
1231 function here, instead of putting it in a private GTK+ file.
1233 * gdk-pixbuf-private.h (GdkPixbufInlineFormat): include an
1234 enum here for the known formats of inlined pixbufs.
1235 Also, #define our file magic here.
1237 2000-06-23 Havoc Pennington <hp@redhat.com>
1239 * make-inline-pixbuf.c: Small program that creates C variable
1240 declarations of inline pixbuf data. This can be read
1241 by gdk_pixbuf_new_from_inline.
1243 * gdk-pixbuf.h (gdk_pixbuf_new_from_inline): New function to read
1244 inline pixbuf data and create a pixbuf from it.
1246 * gdk-pixbuf-data.c (gdk_pixbuf_new_from_inline): implement here
1248 2000-09-07 Tor Lillqvist <tml@iki.fi>
1250 * makefile.mingw.in: Use own version number for gdk-pixbuf DLLs,
1253 2000-08-12 Tor Lillqvist <tml@iki.fi>
1255 * gdk_pixbuf.def: Add missing entry point.
1257 2000-08-10 Havoc Pennington <hp@redhat.com>
1259 * Makefile.am (EXTRA_DIST): The *.def files had the wrong names
1260 (s/pixbuf_/pixbufloader_)
1262 2000-08-02 Tor Lillqvist <tml@iki.fi>
1268 * io-wbmp.c: Conditionalise inclusion of <unistd.h>.
1270 * makefile.mingw.in: List loaders alphabetically. Add the wbmp
1271 one. Fix names of DLLs to have '-' instead of '_'.
1273 2000-07-31 Elliot Lee <sopwith@redhat.com>
1274 * io-wbmp.c: Some bug fixes - now tested to work.
1276 2000-07-27 Elliot Lee <sopwith@redhat.com>
1278 * gdk-pixbuf-io.h, gdk-pixbuf-io.c: Add
1279 gdk_pixbuf_get_named_module() function to facilitate above change
1280 * io-wbmp.c, pixbufloader_wbmp.defs, gdk-pixbuf-io.c, Makefile:
1281 Implement loader for WBMP format.
1282 * io-bmp.c: Don't malloc a temporary buffer - use stack instead.
1284 2000-07-23 Tor Lillqvist <tml@iki.fi>
1289 * pixops/makefile.mingw.in
1290 * pixbuf_*.def: New files.
1293 * pixops/Makefile.am: Add them. Add rule to generate makefile.mingw.
1295 * gdk-pixbuf-io.c (gtk_win32_get_installation_directory):
1296 New function, to get the GTK+ installation directory from
1297 the Windows Registry, where the installation program
1298 for whatever software includes GTK+ has stored it.
1300 Used to avoid having hardcoding the directory where to look for
1301 loaders. This function is needed by gtk, too, so it should
1302 really be just in one place. Maybe a small static library
1303 one level up from here?
1305 * gdk-pixbuf-animation.c (gdk_pixbuf_animation_new_from_file)
1306 * gdk-pixbuf-io.c (gdk_pixbuf_new_from_file):
1307 Open file in binary mode. This *is* standard C. (No-op on Unix,
1310 * io-jpeg.c: If we don't HAVE_SIGSETJMP, use normal setjmp().
1312 * io-tiff.c: Use g_get_tmp_dir(). If we don't HAVE_MKSTEMP, use
1313 mktemp() and open().
1314 (gdk_pixbuf__tiff_image_stop_load): g_free() also the tempname.
1316 * pixops/*.S: The Gas from mingw32 doesn't like the .type
1317 pseudo-op. Conditionalise on __MINGW32__, but probably
1318 should conditionalise on Gas version instead? Or could we
1319 do without .type on all systems?
1321 * pixops/timescale.c: Use g_get_current_time()
1322 instead of gettimeofday().
1324 Sat Jul 22 10:57:22 2000 Owen Taylor <otaylor@redhat.com>
1326 * Makefile.am (test_gdk_pixbuf_LDADD): Remove -lgmodule
1328 Tue Jul 11 11:26:42 2000 Owen Taylor <otaylor@redhat.com>
1330 * gdk-pixbuf.c: Add <string.h> include.
1332 Tue Jul 11 06:20:14 2000 Tim Janik <timj@gtk.org>
1334 * io-gif.c (gdk_pixbuf__gif_image_load_animation):
1335 * gdk-pixbuf-data.c (gdk_pixbuf_new_from_data):
1336 * gdk-pixbuf-animation.c (gdk_pixbuf_animation_new_from_file):
1337 use g_object_new() instead of g_type_create_instance() which
1338 is a private function for fundamental type implementations.
1340 Thu Jul 6 11:49:47 2000 Owen Taylor <otaylor@redhat.com>
1342 * Makefile.am (libgdk_pixbuf_la_LDFLAGS): Use GTK+ version
1343 soname scheme for gdk-pixbuf.
1345 2000-06-21 Havoc Pennington <hp@pobox.com>
1347 * gdk-pixbuf.c: Convert GdkPixbuf to GObject, leaving it opaque
1348 (i.e. derivation is not allowed, and there are no virtual methods
1350 (gdk_pixbuf_preinit): Call g_type_init() here.
1351 (gdk_pixbuf_init): Add a user-friendly init function, for users
1352 of standalone gdk-pixbuf
1354 * gdk-pixbuf-animation.c: Convert to GObject, in the same
1355 way GdkPixbufAnimation was done.
1357 * gdk-pixbuf.h: Remove gdk_pixbuf_set_unref_handler() and
1358 gdk_pixbuf_finalize() from API, since these are broken and don't
1359 make sense with new GObject stuff.
1361 Wed Jun 21 16:02:48 2000 Owen Taylor <otaylor@redhat.com>
1363 * gdk-pixbuf-io.c (gdk_pixbuf_load_module): Add feature to
1364 support a GDK_PIXBUF_MODULEDIR env variable as a secondary
1367 2000-06-10 Federico Mena Quintero <federico@helixcode.com>
1369 * demo/pixbuf-demo.c: It was cold and rainy this Saturday morning,
1370 so I needed something to warm my thighs. Running plain infinite
1371 loops on your laptop to make it hot is not very much fun. A demo
1372 of the gdk-pixbuf scaling functions is way better, and looks
1375 * configure.in (AC_OUTPUT): Added the demo Makefile.
1377 * Makefile.am (SUBDIRS): Added the demo directory.
1379 2000-06-09 Larry Ewing <lewing@helixcode.com>
1381 * gdk-pixbuf/io-png.c (gdk_pixbuf__png_image_load_increment):
1382 setjmp for the png error handler. It seems setting the error
1383 handling functions does not avoid the jump, and so not calling
1384 setjmp was causing the incremental loader to jump into lala land.
1385 (gdk_pixbuf__png_image_begin_load): setjmp for error handling, I'm
1386 not sure this one is actually required but the docs say it must be
1387 set for every call to a png_* function.
1388 Also changed the comment to reflect the fact that setting the
1389 error handlers does _not_ avoid the longjmp.
1391 2000-06-06 Larry Ewing <lewing@helixcode.com>
1393 * gdk-pixbuf/gdk-pixbuf-loader.c (gdk_pixbuf_loader_frame_done):
1394 take frame offest into account when trying to calculate the
1395 animation bbox. Also set the width to the width not the height.
1396 (gdk_pixbuf_loader_animation_done): cycle over the frames to
1397 calculate bbox because now we finally have all the offset
1398 information for each frame.
1400 2000-06-05 Mathieu Lacage <mathieu@gnome.org>
1402 * configure.in: add some gtk parameters to the
1403 GDK_PIXBUF_LIBĂƒĂ¯Â¿Â½Â²S and GDK_PIXBUG_INCLUDEDIR vars. One more
1404 fight in my crusade for strange prefix compile...
1406 2000-05-30 Not Zed <NotZed@HelixCode.com>
1408 * gdk-pixbuf/io-jpeg.c (gdk_pixbuf__jpeg_image_begin_load):
1409 Initialise the error handler exit routine to our own. Note this
1410 means that every function that accesses the jpeg lib on this
1411 object MUST do a setjmp.
1412 (gdk_pixbuf__jpeg_image_stop_load): setjmp before accessing jpeg
1413 lib for handling fatal error.
1414 (gdk_pixbuf__jpeg_image_load_increment): And here too. So now
1415 your applications dont quit if there's a jpeg error!
1417 2000-05-30 Federico Mena Quintero <federico@helixcode.com>
1419 * gdk-pixbuf.spec.in: Include all the loader libraries. Patch
1420 from Frank de Lange <frank@unternet.org>.
1422 2000-05-09 Darin Adler <darin@eazel.com>
1424 * gdk-pixbuf/test-gdk-pixbuf.c:
1425 Fixed includes to get rid of accidental GNOME dependency.
1427 2000-05-26 Cody Russell <car0969@gamma2.uta.edu>
1428 * Makefile.am: Added gdk-pixbuf.spec to EXTRA_DIST
1430 2000-05-22 Federico Mena Quintero <federico@helixcode.com>
1432 * configure.in: Bumped version number to 0.8.0.
1434 * doc/Makefile.am (content_files): The toplevel gdk-pixbuf.sgml
1435 file was not being distributed.
1437 * gdk-pixbuf/pixops/Makefile.am (EXTRA_DIST): Added DETAILS.
1439 2000-05-09 Darin Adler <darin@eazel.com>
1441 * gdk-pixbuf/gdk-pixbuf-drawable.c: (rgb565lsb), (rgb565msb),
1442 (rgb565alsb), (rgb565amsb), (rgb555lsb), (rgb555msb), (rgb555alsb),
1443 (rgb555amsb), (convert_real_slow): Change all conversion from 16-bit
1444 formats to 32-bit formats to re-use the high bits of the color values
1445 so that white maps to full white.
1447 Fri May 5 12:16:32 2000 Owen Taylor <otaylor@redhat.com>
1449 * gdk-pixbuf/pixops/DETAILS: Add beginnings of file with
1450 detailed information about the structure and algorithms
1451 of pixops so people can fix it instead of breaking it.
1453 2000-05-04 Darin Adler <darin@eazel.com>
1455 * gdk-pixbuf/pixops/pixops.c: (pixops_composite_nearest),
1456 (composite_pixel), (composite_line):
1457 * gdk-pixbuf/test-gdk-pixbuf.c: (simple_composite_test_one_type):
1458 Now that Owen explained the algorithm, I think I implemented it
1459 right for the cases where the destination pixbuf is not opaque.
1460 The test does seem to confirm it.
1462 2000-05-04 Darin Adler <darin@eazel.com>
1464 * gdk-pixbuf/.cvsignore:
1465 * gdk-pixbuf/Makefile.am:
1466 * gdk-pixbuf/test-gdk-pixbuf.c (store_pixel), (fill_with_pixel),
1467 (load_pixel), (simple_composite_test_one),
1468 (simple_composite_test_one_type), (simple_composite_test), (main):
1469 Added some tests of composite to highlight problems in the old
1470 implementation. These tests run without any user interaction.
1471 Just do "make check".
1473 * gdk-pixbuf/pixops/pixops.c (pixops_composite_nearest),
1474 (composite_pixel), (composite_line): Fix composite to do a textbook
1475 "A over B" composite. This was clearly the intent, and it was easy
1476 to fix the code to do it. (Note to those that read my earlier tries
1477 at a patch; this version fixes typos that were present in all
1478 my patch attempts. I checked the final version by adding more tests.)
1480 2000-04-22 05:27:43 2000 Owen Taylor <otaylor@redhat.com>
1482 * gdk-pixbuf/pixops/pixops.c (pixops_scale_nearest): Properly
1483 offset y coordinate accordining to render_y0.
1485 * gdk-pixbuf/gdk-pixbuf-scale.c: Properly handle nonzero
1488 2000-04-22 James Henstridge <james@daa.com.au>
1490 * gdk-pixbuf.spec.in (%files): moved %{prefix}/bin/* from the main
1491 package to the devel package. The only file installed in bin is
1492 gdk-pixbuf-config, which belongs in -devel. This should allow having
1493 multiple versions of the main gdk-pixbuf package installed.
1495 2000-04-17 Karl Eichwalder <ke@suse.de>
1497 * gdk-pixbuf/Makefile.am (INCLUDES): Add $(GNOME_CFLAGS).
1498 Reported by Jens Finke.
1500 2000-04-14 Tomasz KĂƒĂ¯Â¿Â½Â³opczko <kloczek@pld.org.pl>
1502 * gdk-pixbuf/pixops/makefile.am: $(LIBART_CFLAGS) replaced by
1503 $(GTK_CFLAGS) - now gdk-pixbuf compiles correctly.
1505 2000-04-13 James Henstridge <james@daa.com.au>
1507 * configure.in: when performing the configure check to see if
1508 gmodule works, set CFLAGS to GLIB_CFLAGS and LIBS to GLIB_LIBS,
1509 rather than the other way round. Also, call AC_MSG_RESULT in the
1510 even that dynamic modules were not supported.
1512 2000-04-12 Federico Mena Quintero <federico@helixcode.com>
1514 This comes from an excellent idea by Tim Janik (timj@gtk.org) to
1515 hook to the last unref operation.
1517 * gdk-pixbuf/gdk-pixbuf.c (gdk_pixbuf_set_last_unref_handler): New
1518 function to set the last unref handler for a pixbuf.
1519 (gdk_pixbuf_finalize): New function to actually finalize a pixbuf.
1520 It calls the pixbuf's destroy notification function and frees the
1521 GdkPixbuf structure itself.
1522 (gdk_pixbuf_unref): Use the last unref function of the pixbuf if
1525 * gdk-pixbuf/gdk-pixbuf-private.h (struct _GdkPixbuf): New fields
1526 for the last unref handler and its user data.
1528 * gdk-pixbuf/gdk-pixbuf-data.c (gdk_pixbuf_new_from_data): Use
1529 g_new0() to allocate the pixbuf.
1531 * gdk-pixbuf/gdk-pixbuf-loader.c (gdk_pixbuf_loader_class_init):
1532 Fixed the call to gtk_signal_new() for the "frame_done" signal; it
1533 was not specifying the `frame' argument.
1535 * gdk-pixbuf/gdk-pixbuf-animation.c
1536 (gdk_pixbuf_animation_get_width): Fixed docstring.
1537 (gdk_pixbuf_animation_get_height): Likewise.
1538 (gdk_pixbuf_animation_get_num_frames): Likewise.
1539 (gdk_pixbuf_animation_get_frames): Likewise.
1541 * doc/gdk-pixbuf-sections.txt: Updated with the new functions and
1544 * doc/tmpl/gdk-pixbuf.sgml: Added the description for GdkColorspace.
1546 * doc/tmpl/scaling.sgml: Added the description for GdkInterpType.
1548 * doc/tmpl/refcounting.sgml: Updated with the information about
1549 the last unref handler.
1551 * doc/tmpl/*.sgml: Markup tweaks.
1553 * gdk-pixbuf/Makefile.am (libgnomecanvaspixbuf_la_LDFLAGS): Sigh,
1554 update the libtool version number for libgnomecanvaspixbuf as
1556 (libpixbufloader_*_la_LDFLAGS): The loaders need to be versioned
1557 as well, or the old ones won't work with the new stuff. Also,
1558 renamed the modules as follows.
1560 * gdk-pixbuf/gdk-pixbuf-io.c (gdk_pixbuf_load_module): Now the
1561 modules are called "libpixbufloader-<format>.so" instead of
1562 "libpixbuf-<format>.so". They needed renaming so that the new
1563 loaders won't overwrite the old ones; even with the versioning
1564 stuff, the new .so symlink to the .so.1.0.0 would overwrite the
1567 2000-04-12 Paolo Molaro <lupus@debian.org>
1569 * .cvsignore, src/.cvsignore: shut up cvs.
1571 2000-04-11 Federico Mena Quintero <federico@helixcode.com>
1573 Most of this patch is based on a patch by Havoc Pennington
1574 (hp@redhat.com) to make GdkPixbuf's structures opaque and to
1575 remove the libart dependency.
1577 * gdk-pixbuf/gdk-pixbuf.h: Removed the public structures.
1578 (GdkColorspace): New enum that for now only contains
1580 (GdkPixbufDestroyNotify): New type for the pixbuf's pixels destroy
1581 notification function.
1582 (GdkInterpType): New num with interpolation types.
1584 * *.[ch]: Replace the libart stuff with our own stuff.
1586 * pixops/*.[ch]: Likewise.
1588 * gdk-pixbuf/gdk-pixbuf-private.h: New file with the private
1589 declarations of the GdkPixbuf structures.
1591 * gdk-pixbuf/gdk-pixbuf.c (gdk_pixbuf_new_from_art_pixbuf):
1593 (gdk_pixbuf_get_format): Constify.
1594 (gdk_pixbuf_get_n_channels): Constify.
1595 (gdk_pixbuf_get_has_alpha): Constify.
1596 (gdk_pixbuf_get_bits_per_sample): Constify.
1597 (gdk_pixbuf_get_pixels): Constify.
1598 (gdk_pixbuf_get_width): Constify.
1599 (gdk_pixbuf_get_height): Constify.
1600 (gdk_pixbuf_get_rowstride): Constify.
1602 * gdk-pixbuf/gdk-pixbuf.c (gdk_pixbuf_copy): New function to copy
1605 * gdk-pixbuf/gdk-pixbuf-data.c (gdk_pixbuf_new_from_data): Added a
1606 bits_per_sample argument; currently only 8 bits per sample are
1609 * gdk-pixbuf/gdk-pixbuf-animation.c (gdk_pixbuf_frame_get_pixbuf):
1611 (gdk_pixbuf_frame_get_x_offset): New accessor.
1612 (gdk_pixbuf_frame_get_y_offset): New accessor.
1613 (gdk_pixbuf_frame_get_delay_time): New accessor.
1614 (gdk_pixbuf_frame_get_action): New accessor.
1616 * gdk-pixbuf/gdk-pixbuf-render.c
1617 (gdk_pixbuf_render_pixmap_and_mask): Instead of returning a solid
1618 mask rectangle for pixbufs without an alpha channel, set the
1619 *mask_return to NULL.
1621 * gdk-pixbuf/gdk-pixbuf-util.c (gdk_pixbuf_add_alpha): Constify.
1623 * gdk-pixbuf/gdk-pixbuf-scale.c: Fix includes.
1625 * gdk-pixbuf/gdk-pixbuf-scale.c (gdk_pixbuf_scale): Added some
1626 preconditions. Maybe we should also check for the colorspace,
1627 bits per pixel, and such.
1628 (gdk_pixbuf_composite): Likewise.
1629 (gdk_pixbuf_composite_color): Likewise.
1630 (gdk_pixbuf_scale_simple): Likewise, and fail gracefully if we
1631 cannot allocate the new pixbuf.
1632 (gdk_pixbuf_composite_color_simple): Likewise.
1634 * gdk-pixbuf/gnome-canvas-pixbuf.c (gnome_canvas_pixbuf_render):
1635 Use art_rgb_rgba_affine() or art_rgb_affine() since we no longer
1638 * gdk-pixbuf/io-bmp.c: Fix includes.
1640 * gdk-pixbuf/pixops/pixops.c (pixops_scale_nearest): Fixed cast in
1645 * configure.in: Removed checks for libart.
1647 * gdk-pixbuf/Makefile.am: Removed references to libart.
1648 (noinst_HEADERS): Added gdk-pixbuf-private.h.
1650 * gdk-pixbuf/Makefile.am (libgdk_pixbuf_la_LDFLAGS): Incremented
1651 the version number of the libtool library to indicate that this
1652 definitely is not compatible with the old usage. I know you love
1655 * configure.in: Bumped version number to 0.7.0.
1659 * gdk-pixbuf-config.in (--libs): We no longer require libart.
1661 * DEPENDS.libgdk_pixbuf: We no longer depend on libart.
1663 * gdk-pixbuf.spec.in: Updated, but I don't guarantee anything.
1665 2000-04-06 Jonathan Blandford <jrb@redhat.com>
1667 * gdk-pixbuf/testanimation.c (main): add more info to the
1668 testanimation frames.
1670 2000-04-04 Ettore Perazzoli <ettore@helixcode.com>
1672 * gdk-pixbuf/gdk-pixbuf-animation.c
1673 (gdk_pixbuf_animation_get_width): New accessor function.
1674 (gdk_pixbuf_animation_get_height): New accessor function.
1675 (gdk_pixbuf_animation_get_num_frames): New accessor function.
1676 (gdk_pixbuf_animation_get_frames): New accessor function.
1678 2000-04-01 Federico Mena Quintero <federico@helixcode.com>
1680 * gdk-pixbuf/gdk-pixbuf.c: Reverted Mark's change. The refcount
1681 is private information, and the art_pixbuf will go away soon.
1683 2000-03-31 Mark Crichton <crichton@gimp.org>
1685 * gdk-pixbuf/gdk-pixbuf.c: Added gdk_pixbuf_get_refcount
1686 and gdk_pixbuf_get_artpixbuf accessor functions.
1688 2000-03-29 Federico Mena Quintero <federico@helixcode.com>
1690 * gdk-pixbuf/gdk-pixbuf.c (gdk_pixbuf_get_has_alpha): Return
1691 gboolean instead of int.
1693 2000-03-29 Radek Doulik <rodo@helixcode.com>
1695 * gdk-pixbuf/gdk-pixbuf-animation.c
1696 (gdk_pixbuf_animation_new_from_file): same as below
1698 * gdk-pixbuf/io-gif.c (gif_get_lzw): added update of width and
1699 height in GdkPixbufAnimation
1701 2000-03-28 Radek Doulik <rodo@helixcode.com>
1703 * gdk-pixbuf/io-gif.c (gif_get_lzw): test also for
1704 context->frame_done_func and context->anim_done_func to make
1705 progressive animation loading work
1707 * gdk-pixbuf/gdk-pixbuf-loader.c (gdk_pixbuf_loader_frame_done):
1708 added priv->pixbuf = NULL as pixbuf is now in frame (and to make
1709 gdk_pixbuf_loader_prepare happy)
1710 (gdk_pixbuf_loader_frame_done): update animation bbox
1712 * gdk-pixbuf/gdk-pixbuf.h: added bbox size (width, height) to
1715 2000-03-27 Radek Doulik <rodo@helixcode.com>
1717 * gdk-pixbuf/io-gif.c (gif_get_lzw): use frame_len and frame_width
1718 instead of width and height
1720 2000-03-27 Owen Taylor <otaylor@redhat.com>
1722 * gdk-pixbuf/pixops/pixops.c: Fix problem with
1723 precendence of >> and & which was keeping composite_color
1724 from working with non-gray images.
1726 2000-03-08 Jonathan Blandford <jrb@redhat.com>
1728 * gdk-pixbuf/io-gif.c (gdk_pixbuf__gif_image_load): free the context.
1729 (gdk_pixbuf__gif_image_load_animation): free the context.
1731 2000-03-06 Arjan van de Ven <arjan@fenrus.demon.nl>
1733 * gdk-pixbuf/io-bmp.c: Fixed to pointer-bugs and a
1734 mis-interpretation of the Microsoft documentation. Now
1735 it can load .BMP files that are not generated by The Gimp
1738 2000-03-01 Mark Crichton <crichton@gimp.org>
1740 * configure.in: Added BUILD_CANVAS_ITEM stuff to (finally)
1741 fix the last auto* build bug (where we have libart, but no
1744 * gdk-pixbuf/Makefile.am: Same.
1746 2000-02-28 Matt Wilson <msw@redhat.com>
1748 * gdk-pixbuf/gdk-pixbuf-drawable.c: s/unsigned long/guint32/g,
1749 s/unsigned short/guint16/g, s/unsigned char/guint8/g
1751 2000-02-26 Federico Mena Quintero <federico@helixcode.com>
1753 * README: We don't require libgif/ungif nor libXpm.
1755 * NEWS: This was outdated, so updated it.
1757 2000-02-25 Federico Mena Quintero <federico@helixcode.com>
1759 * gdk-pixbuf.m4: Use the correct name for
1760 gdk-pixbuf/gdk-pixbuf.h. Thanks to Jacob Berkman for pointing
1763 2000-02-21 Federico Mena Quintero <federico@helixcode.com>
1765 * configure.in (GDK_PIXBUF_MINOR): Bumped version number to 0.6.0.
1767 * doc/compiling.sgml: New appendix documenting the gdk-pixbuf
1768 library's particular options to configure.in.
1770 * doc/gdk-pixbuf.sgml: Include compiling.sgml appendix via an
1773 * doc/Makefile.am (gdk-pixbuf.html): Added compiling.sgml.
1775 * gdk-pixbuf/io-ico.c (gdk_pixbuf__ico_image_load_increment):
1776 Fixed typo in prototype name.
1778 * configure.in: Changed duplicated AC_MSG_CHECKING message to
1779 something more meaningful; now it is "checking whether dynamic
1782 * gdk-pixbuf/pixops/Makefile.am (noinst_PROGRAMS): Do not install
1783 the timescale program.
1785 Integrated Miguel de Icaza's <miguel@gnu.org> patch for optionally
1786 creating a single static library with all the image format modules
1789 2000-02-20 Miguel de Icaza <miguel@gnu.org>
1791 * gdk-pixbuf/io-xpm.c (gdk_pixbuf__xpm_image_load): Add prefix.
1792 (gdk_pixbuf__xpm_image_load_xpm_data): Add prefix.
1794 * gdk-pixbuf/io-tiff.c (gdk_pixbuf__tiff_image_load_real): Add prefix.
1795 (gdk_pixbuf__tiff_image_stop_load): Add prefix.
1796 (gdk_pixbuf__tiff_image_load_increment): Add prefix.
1797 (gdk_pixbuf__tiff_image_load): Add prefix.
1798 (gdk_pixbuf__tiff_image_stop_load): Update invocation.
1799 (gdk_pixbuf__tiff_image_begin_load): Add prefix.
1801 * gdk-pixbuf/io-ras.c (gdk_pixbuf__ras_image_load): Add prefix.
1802 (gdk_pixbuf__ras_image_load): Updated invocation.
1803 (gdk_pixbuf__ras_image_begin_load): Add prefix.
1804 (gdk_pixbuf__ras_image_stop_load): Add prefix.
1805 (gdk_pixbuf__ras_image_load_increment): Add prefix.
1807 * gdk-pixbuf/io-pnm.c (gdk_pixbuf__pnm_image_begin_load): Add prefix.
1808 (gdk_pixbuf__pnm_image_stop_load): Add prefix.
1809 (gdk_pixbuf__pnm_image_load_increment): Add prefix
1810 (gdk_pixbuf__pnm_image_load): Add prefix.
1812 * gdk-pixbuf/io-jpeg.c (gdk_pixbuf__jpeg_image_load): Add prefix.
1813 (gdk_pixbuf__jpeg_image_load_increment): Add prefix.
1814 (gdk_pixbuf__jpeg_image_begin_load): Add prefix.
1815 (gdk_pixbuf__jpeg_image_stop_load): Add prefix.
1817 * gdk-pixbuf/io-ico.c (gdk_pixbuf__ico_image_load): Add prefix.
1818 (gdk_pixbuf__ico_image_load): update invocation.
1819 (gdk_pixbuf__ico_image_load_increment): Add prefix.
1820 (gdk_pixbuf__ico_image_load): update invocation.
1821 (gdk_pixbuf__ico_image_begin_load): Add prefix.
1822 (gdk_pixbuf__ico_image_load): update invocation.
1823 (gdk_pixbuf__ico_image_stop_load): Add prefix.
1825 * gdk-pixbuf/io-gif.c (gdk_pixbuf__gif_image_load_animation): Add prefix.
1826 (gdk_pixbuf__gif_image_load): Add prefix.
1827 (gdk_pixbuf__gif_image_begin_load): Add prefix.
1828 (gdk_pixbuf__gif_image_load_increment): Add prefix.
1829 (gdk_pixbuf__gif_image_load_animation): Add prefix.
1830 (gdk_pixbuf__gif_image_stop_load): Add prefix.
1832 * gdk-pixbuf/io-bmp.c (gdk_pixbuf__bmp_image_load): Add prefix.
1833 (gdk_pixbuf__bmp_image_load): Rename function called.
1834 (gdk_pixbuf__bmp_image_load_increment): Add prefix
1836 * gdk-pixbuf/io-png.c (gdk_pixbuf__png_image_load): Add prefix.
1837 (gdk_pixbuf__png_image_begin_load): Add prefix.
1838 (gdk_pixbuf__png_image_stop_load): Add prefix.
1839 (gdk_pixbuf__png_image_load_increment): Add prefix.
1841 * gdk-pixbuf/gdk-pixbuf-io.c (file_formats): Make this static.
1842 (gdk_pixbuf_load_module): Load the shared library entry points
1843 using a "gdk_pixbuf__$module_name" prefix.
1844 (pixbuf_module_symbol): Wrapper routine that uses the module
1845 prefix for the modules to load the information.
1847 * configure.in (GDK_PIXBUF_VERSION): New option --disable-modules
1848 lets the user specify that gdk-pixbuf should link all image loader
1849 code into the library instaed of creating shared library modules.
1851 (dynworks): Renamed the automake conditional DYNAMIC_MODULES_WORK
1852 to BUILD_DYNAMIC_MODULES.
1854 2000-02-19 Jonathan Blandford <jrb@redhat.com>
1856 * gdk-pixbuf/io-gif.c (new_context): fix case where initial
1857 colormap entry is Transparent.
1859 2000-02-19 Owen Taylor <otaylor@redhat.com>
1861 * gdk-pixbuf/pixops/pixops.c (scale_pixel): Fix error in
1862 scale factors for non-alpha case.
1864 2000-02-14 Mark Crichton <crichton@gimp.org>
1866 * gdk-pixbuf/io-xpm.c (xpm_extract_color): Added check for "g" color type.
1867 Imlib/libXpm handle this, but we didn't.
1869 2000-02-14 Darin Adler <darin@eazel.com>
1871 * gdk-pixbuf/testpixbuf.c: Remove now-unnecessary cast.
1872 * .cvsignore: gdk-pixbuf/.cvsignore: More to ignore.
1874 2000-02-14 Elliot Lee <sopwith@redhat.com>
1875 * gdk-pixbuf/gdk-pixbuf.h, gdk-pixbuf/gdk-pixbuf-data.c: Make passed-in argument 'const'.
1877 2000-02-04 Michael Meeks <mmeeks@gnu.org>
1879 * gdk-pixbuf/io-gif.c (struct _GifContext): add x,y_offset.
1880 (gif_get_frame_info): put the offsets on the context.
1881 (gif_get_lzw): copy them off into the frame.
1882 (new_context): no change required; will 0 offsets by default.
1884 2000-01-28 Michael Meeks <michael@mejm2.dow.cam.ac.uk>
1886 * gdk-pixbuf/pixops/pixops.c (pixops_process): const + nasty
1889 * gdk-pixbuf/pixops/pixops.h: const.
1891 * gdk-pixbuf/gdk-pixbuf-util.c: const.
1893 * gdk-pixbuf/gdk-pixbuf-scale.c: const.
1895 * gdk-pixbuf/gdk-pixbuf.h: constify lots of things.
1897 2000-02-03 Federico Mena Quintero <federico@helixcode.com>
1899 * gdk-pixbuf/gdk-pixbuf-render.c
1900 (gdk_pixbuf_render_threshold_alpha): Added sanity check for width
1901 and height being >= 0. Also, do nothing if either of them is
1902 zero. Thanks to Ettore for pointing this out.
1903 (gdk_pixbuf_render_to_drawable): Likewise.
1904 (gdk_pixbuf_render_to_drawable_alpha): Likewise.
1906 2000-02-02 Federico Mena Quintero <federico@helixcode.com>
1908 * gdk-pixbuf/io-gif.c (gif_get_lzw): Removed debugging g_print.
1909 Thanks to John Sullivan <sullivan@eazel.com> for the patch.
1911 * gdk-pixbuf/testpixbuf-drawable.c (configure_cb): Get a new area
1912 of the screen when the window is resized. Thanks to David
1913 N. Welton <davidw@linuxcare.com> for pointing this out.
1914 Misc. cleanups to the rest of the file.
1916 2000-02-01 Federico Mena Quintero <federico@helixcode.com>
1918 * doc/tmpl/rendering.sgml: gnome_init() does not call
1919 gdk_rgb_init(), so don't mention that it does in the
1920 documentation. Thanks to Alexander Kruuse <kruuse@home.se> for
1923 2000-01-31 Havoc Pennington <hp@redhat.com>
1925 * gdk-pixbuf/Makefile.am (noinst_PROGRAMS): no testpixbuf-foo target
1927 Mon Jan 31 12:38:50 2000 Owen Taylor <otaylor@redhat.com>
1929 * gdk-pixbuf/pixops/pixops.c (scale_line): Fix from Peter
1930 Wainwright to fix 4a => 4a scaling.
1932 2000-01-29 Mark Crichton <crichton@gimp.org>
1934 * gdk-pixbuf-config: Oh dear, we weren't Telsa/Alan proof...
1935 put `libart-config --libs` in instead of -lart_lgpl.
1937 2000-01-22 Federico Mena Quintero <federico@helixcode.com>
1939 * gdk-pixbuf/io-pnm.c (pnm_read_raw_scanline): Return an error on
1941 (pnm_read_ascii_scanline): Initialize data and mask.
1943 * gdk-pixbuf/io-xpm.c (pixbuf_create_from_xpm): Initialize
1944 fallbackcolor to keep gcc happy.
1946 * configure.in: Bumped version number to 0.5.0.
1948 * gdk-pixbuf/pixops/timescale.c (dump_array): Removed unused variable.
1951 * gdk-pixbuf/pixops/pixops.c (pixops_composite_color_nearest): Put
1952 parentheses around + in a shift to remove a compiler warning.
1953 (pixops_process): Likewise.
1955 Patch from Ross Golder <rossigee@bigfoot.com> to create an RPM
1958 * configure.in: Added gdk-pixbuf.spec to AC_OUTPUT.
1960 * Makefile.am (EXTRA_DIST): Added gdk-pixbuf.spec.in
1962 2000-01-22 Federico Mena Quintero <federico@helixcode.com>
1964 * gdk-pixbuf/gnome-canvas-pixbuf.c (PixbufPrivate): Removed the
1965 x_set and y_set arguments. Now they are always on and start with
1966 defaults of 0.0 in units.
1967 (gnome_canvas_pixbuf_class_init): Likewise.
1968 (gnome_canvas_pixbuf_set_arg): Likewise.
1969 (gnome_canvas_pixbuf_get_arg): Likewise.
1970 (compute_viewport_affine): Likewise; always use the priv->x and
1973 * doc/tmpl/gnome-canvas-pixbuf.sgml: Modified to reflect the
1974 removal of the x_set/y_set arguments.
1976 2000-01-21 Federico Mena Quintero <federico@helixcode.com>
1978 * gdk-pixbuf/gdk-pixbuf.c (gdk_pixbuf_ref): Return the same pixbuf
1979 as the input parameter.
1981 * gdk-pixbuf/gdk-pixbuf-animation.c (gdk_pixbuf_animation_ref):
1982 Return the same animation as the input parameter.
1984 2000-01-16 Elliot Lee <sopwith@redhat.com>
1986 * gdk-pixbuf/Makefile.am: Don't link against libgnomecanvaspixbuf.la
1988 2000-01-16 Federico Mena Quintero <federico@helixcode.com>
1990 * configure.in: Removed the broken --enable-canvas-pixbuf option.
1991 Added the stuff necessary to substitute the variables in
1992 gnomecanvaspixbufConf.sh.in.
1994 * gnomecanvaspixbufConf.sh.in: New gnome-config handler for the
1995 tiny gnomecanvaspixbuf library.
1997 * Makefile.am: Build gnomecanvaspixbufConf.sh.
1999 * gdk-pixbuf/Makefile.am: Create a libgnomecanvaspixbuf and only
2000 build it if gdk-pixbuf is being built outside of gnome-libs.
2002 * doc/gdk-pixbuf-sections.txt: Added gdk_pixbuf_render_pixmap_and_mask().
2004 * gdk-pixbuf/gdk-pixbuf-render.c
2005 (gdk_pixbuf_render_pixmap_and_mask): Renamed from
2006 gdk_pixbuf_render_pixmap(). Do not create the mask if it is not
2007 needed, and do not use a clipping mask when rendering the pixmap.
2008 Tweaked documentation a little.
2010 * HACKING: New file with hacking policies for the gdk-pixbuf
2013 * doc/Makefile.am (tmpl_sources): Added missing backslash.
2015 * doc/Makefile.am: Use gnomecanvaspixbuf in gnome-config when
2016 scanning for docstrings.
2018 * gdk-pixbuf/gdk-pixbuf-util.c (gdk_pixbuf_copy_area): Made sanity
2019 checks more stringent. Removed "gint" abominations. Made
2020 documentation consistent with the rest of the functions.
2022 * doc/gdk-pixbuf-sections.txt: Added gdk_pixbuf_copy_area() to the
2025 2000-01-14 Jonathan Blandford <jrb@redhat.com>
2027 * gdk-pixbuf/gdk-pixbuf-render.c (gdk_pixbuf_render_pixmap): new
2028 function to let you create a gdk_pixmap from a gdk_pixbuf.
2030 2000-01-11 Jacob Berkman <jacob@helixcode.com>
2032 * gdk-pixbuf/pixops/Makefile.am (INCLUDES): added
2033 $LIBART_CFLAGS to $INCLUDES
2035 2000-01-10 Elliot Lee <sopwith@redhat.com>
2037 * configure.in, gdk-pixbuf/Makefile.am: Build a libcanvas_pixbuf.
2039 * configure.in: Define version macros. Generate
2040 gdk-pixbuf/gdk-pixbuf-features.h. Always INSIDE_GNOME.
2042 * gdk-pixbuf/Makefile.am: Add gdk-pixbuf-features.h
2044 * gdk-pixbuf/gdk-pixbuf.c: Add definitions of
2045 gdk-pixbuf-features.h declarations, plus some initialization
2048 2000-01-05 Owen Taylor <otaylor@redhat.com>
2050 * gdk-pixbuf/pixops/pixops.c: Fixed src_channels/dest_channels
2051 confusion. (Again caught by Tomas Ogren's Purify)
2053 2000-01-07 Jonathan Blandford <jrb@redhat.com>
2055 * gdk-pixbuf/gdk-pixbuf-xform.c (gdk_pixbuf_rotate): comment out
2058 * gdk-pixbuf/gdk-pixbuf-io.c: Added progressive animation loading.
2059 * gdk-pixbuf/gdk-pixbuf-io.h: Added progressive animation loading.
2060 * gdk-pixbuf/gdk-pixbuf-loader.c: Added progressive animation
2062 * gdk-pixbuf/gdk-pixbuf-loader.h: Added progressive animation
2064 * gdk-pixbuf/io-gif.c (image_load_increment): I think the
2065 ref-counting mess is finally fixed. Added progressive animation
2067 (gif_get_lzw): remove memory_leak
2069 * doc/tmpl/gdk-pixbuf-loader.sgml: much longer long description
2072 2000-01-05 Owen Taylor <otaylor@redhat.com>
2074 * gdk-pixbuf/pixops/pixops.c (pixops_process): Fix computation of end of run indices.
2076 * gdk-pixbuf/pixops/pixops.c: Fix double increments when dest_channels == 4.
2077 (Pointed out by Tomas Ogren)
2079 2000-01-05 Mark Crichton <crichton@gimp.org>
2081 * gdk-pixbuf/gdk-pixbuf-loader.c (gdk_pixbuf_loader_eat_header_write):
2082 Return 0 if gdk_pixbuf_load_loader_module returns FALSE.
2084 2000-01-05 Elliot Lee <sopwith@redhat.com>
2086 * gdk-pixbuf/pixops/Makefile.am: Link with -lm (to get 'ceil' function)
2088 2000-01-05 Owen Taylor <otaylor@redhat.com>
2090 * doc/Makefile.am doc/gdk-pixbuf-sections.txt
2091 doc/gdk-pixbuf.sgml doc/tmpl/scaling.sgml:
2092 Added scaling functions into gtk-doc framework.
2094 * gdk-pixbuf/gdk-pixbuf-scale.c: Documentation fixes.
2096 * gdk-pixbuf/testpixbuf-scale.c (expose_cb): Simplify a bit.
2098 * gdk-pixbuf/pixops/pixops.c (pixops_composite_color): Return
2099 immediately if scale_x or scale_y is 0.
2101 2000-01-05 Owen Taylor <otaylor@redhat.com>
2103 * gdk-pixbuf/pixops/timescale.c: quick fix for initializing
2104 arrays in benchmark.
2106 2000-01-05 Jonathan Blandford <jrb@redhat.com>
2108 * gdk-pixbuf/gdk-pixbuf-io.h: Change the order of the update func
2109 to make it more compatible with the rest of GTK. Added animation
2110 framework for progressive loading.
2112 * gdk-pixbuf/io-bmp.c (image_begin_load): Modified to handle new
2114 * gdk-pixbuf/io-ico.c (image_begin_load): ditto
2115 * gdk-pixbuf/io-png.c (image_begin_load): ditto
2116 * gdk-pixbuf/io-ras.c (image_begin_load): ditto
2117 * gdk-pixbuf/io-jpeg.c (image_begin_load): ditto
2118 * gdk-pixbuf/io-pnm.c (image_begin_load): ditto
2119 * gdk-pixbuf/io-tiff.c (image_begin_load): ditto
2120 * gdk-pixbuf/io-gif.c (image_begin_load): ditto
2122 2000-01-05 Owen Taylor <otaylor@redhat.com>
2124 * gdk-pixbuf/pixops/README: Added a README with a TODO
2125 and some explainations of the algorithms.
2127 * gdk-pixbuf/testpixbuf-scale.c: Set a background pixmap of None
2128 to reduce flashing when resizing.
2130 2000-01-05 Owen Taylor <otaylor@redhat.com>
2132 * gdk-pixbuf/pixops/: Directory full of pixel data scaling
2133 code that will eventually migrate into libart.
2135 * configure.in acconfig.h: Add checks for MMX compiler support
2137 * gdk-pixbuf/gdk-pixbuf.h gdk-pixbuf/gdk-pixbuf-scale.c:
2138 Nice wrapper routines for the code in pixops that operate
2139 on pixbufs instead of raw data.
2141 * gdk-pixbuf/testpixbuf-scale: Test program for scaling
2144 2000-01-05 Jonathan Blandford <jrb@redhat.com>
2146 * doc/tmpl/animation.sgml: Documentation changes.
2148 2000-01-01 Federico Mena Quintero <federico@helixcode.com>
2150 * gdk-pixbuf/gdk-pixbuf.h (GdkPixbufAnimation): Added reference
2151 counting to animations. A web browser may want to share a single
2152 copy of an animated GIF if it appears multiple times in a web
2155 * gdk-pixbuf/gdk-pixbuf-animation.c: New file. Moved the
2156 animation functions here.
2157 (gdk_pixbuf_animation_new_from_file): Prettified. Return a NULL
2158 animation if the loader does not support multiframe loading and
2159 the single-frame load returned NULL. Check that the filename is
2160 not NULL. Updated inline documentation.
2161 (gdk_pixbuf_animation_ref): New function.
2162 (gdk_pixbuf_animation_unref): New function.
2163 Removed gdk_pixbuf_animation_destroy() in favor of reference
2166 * gdk-pixbuf/gdk-pixbuf-io.c (gdk_pixbuf_new_from_file):
2167 Prettified. Made ref_count assertion more paranoid. Check that
2168 the filename is not NULL.
2169 (gdk_pixbuf_get_module): Use guchar * and guint for buffer and
2171 (gdk_pixbuf_new_from_xpm_data): Changed the "data" argument to
2174 * gdk-pixbuf/io-gif.c (image_load_animation): Create the animation
2175 with a reference count of 1.
2177 * gdk-pixbuf/Makefile.am (libgdk_pixbuf_la_SOURCES): Added
2178 gdk-pixbuf-animation.c.
2180 * doc/tmpl/animation.sgml: Populated. It is still missing a
2181 description of the overlay modes.
2183 * doc/gdk-pixbuf-sections.txt: Added the animation section. Moved
2184 the canvas item section to the end, as it will be moved later to
2187 * doc/gdk-pixbuf.sgml: Added the animation section.
2189 * doc/Makefile.am (tmpl_sources): Added tmpl/animation.sgml.
2191 1999-12-26 Peter Teichman <pat@gnu.org>
2193 * gdk-pixbuf/Makefile.am (libpixbuf_tiff_la_LIBADD): add
2194 $(LIBTIFF) to libpixbuf_tiff_la_LIBADD, proxying for mmarker.
2195 This closes bug #4676.
2197 1999-12-23 Havoc Pennington <hp@pobox.com>
2199 * gdk-pixbuf/io-gif.c (image_load): Stuff that should have been
2200 set to NULL here (specifically context->animation) was not being
2201 set to NULL. use g_new0() to alloc the struct.
2203 1999-12-20 Jonathan Blandford <jrb@redhat.com>
2205 * gdk-pixbuf/io-gif.c: finished work to make animated gifs load
2206 correctly. Progressive loading needs some work, but that all
2207 needs doing from the gdk-pixbuf-loader end, not here.
2209 1999-12-17 Jonathan Blandford <jrb@redhat.com>
2211 * gdk-pixbuf/gdk-pixbuf-io.c (gdk_pixbuf_animation_new_from_file):
2212 moved the file here. It seems natural to put this function here,
2213 as that's where the gdk_pixbuf_new_from_file function is, but it's
2214 still a little convoluted. The source files might be played with
2217 1999-12-14 Jonathan Blandford <jrb@redhat.com>
2219 * gdk-pixbuf/gdk-pixbuf-loader.c
2220 (gdk_pixbuf_loader_get_animation): Gets the animation from the
2223 1999-12-16 Federico Mena Quintero <federico@redhat.com>
2225 * doc/tmpl/rendering.sgml: Added notice about initializing GdkRGB
2226 before using the GdkPixbuf rendering functions. Thanks to Joe
2227 Shaw <joe@off.net> for pointing this out.
2229 1999-12-13 Federico Mena Quintero <federico@redhat.com>
2231 * gdk-pixbuf/gnome-canvas-pixbuf.c
2232 (gnome_canvas_pixbuf_class_init): Renamed arguments to
2233 width_in_pixels, height_in_pixels, x_in_pixels, y_in_pixels, for
2234 consistency with the new canvas.
2235 (PixbufPrivate): Do the same renaming in the structure fields, for
2238 * doc/tmpl/gnome-canvas-pixbuf.sgml: Updated for new argument names.
2240 1999-12-12 Federico Mena Quintero <federico@redhat.com>
2242 * gdk-pixbuf/Makefile.am (libgdk_pixbuf_la_LDFLAGS): Use a
2243 conditional to see whether to link $(GNOME_LIBS) or not.
2245 1999-12-10 Jonathan Blandford <jrb@redhat.com>
2247 * gdk-pixbuf/gdk-pixbuf-io.h: thinking about the new loading API.
2249 * gdk-pixbuf/gdk-pixbuf-drawable.c (gdk_pixbuf_get_from_drawable):
2250 make a warning go away.
2252 * gdk-pixbuf/gdk-pixbuf.h: added new prototypes for animations.
2254 * gdk-pixbuf/gdk-pixbuf-loader.h: added new prototypes for
2257 1999-12-09 Michael Zucchi <zucchi@zedzone.mmc.com.au>
2259 * gdk-pixbuf/gdk-pixbuf.h: Enable gdk_pixbuf_get_from_drawable()
2262 * gdk-pixbuf/gdk-pixbuf-drawable.c (gdk_pixbuf_get_from_drawable):
2263 Filled in body of function.
2264 (rgbconvert): Added GdkColormap parameter, and to all conversion
2266 (convert_real_slow): New function - should convert ANY visual/data
2267 format properly, but it aint fast. Used as a fallback when an
2268 optimised routine wont match.
2269 (rgbconvert): Do very specific tests on the data format to verify
2270 properly if the optimised version will do, otherwise use the
2271 fallback function for all other data formats.
2273 * gdk-pixbuf/Makefile.am: Re-enabled building of
2274 textpixbuf-drawable.
2276 * gdk-pixbuf/testpixbuf-drawable.c (main): Changed to use
2277 gdk_pixbuf_get_from_drawable().
2279 1999-12-08 Arjan van de Ven <arjan@fenrus.demon.nl>
2281 * gdk-pixbuf/gdk-pixbuf-drawable.c : Fixed the red/green/red
2282 bug on two occasions.
2283 * gdk-pixbuf/io-ras.c: Changed from the custom be32_to_cpu
2284 function to the generic glib one.
2286 1999-12-08 Federico Mena Quintero <federico@redhat.com>
2288 * gdk-pixbuf/gdk-pixbuf-drawable.c: Fix includes.
2289 (gdk_pixbuf_get_from_drawable): Implemented the zillion sanity
2290 checks and API definition. The body needs filling in and it needs
2291 to do the Right Thing(tm) for pixmaps plus the given colormap and
2292 windows and their own colormaps.
2294 * gdk-pixbuf/gdk-pixbuf.h: Added prototype for
2295 gdk_pixbuf_get_from_drawable(). Killed gdk-pixbuf-drawable.h.
2297 * gdk-pixbuf/Makefile.am: Re-added the gdk-pixbuf-drawable sources.
2299 * doc/tmpl/from-drawables.sgml: Populated.
2301 * doc/gdk-pixbuf.sgml: Added the from-drawables section.
2303 * doc/Makefile.am (tmpl_sources): Added tmpl/from-drawables.sgml.
2305 * doc/gdk-pixbuf-sections.txt: Added a section for getting pixbufs
2308 1999-12-07 Federico Mena Quintero <federico@redhat.com>
2310 * doc/tmpl/gnome-canvas-pixbuf.sgml: Added clarification about
2311 reference counting for GdkPixbuf structures.
2313 1999-12-07 Martin Baulig <martin@home-of-linux.org>
2315 * gdk-pixbuf/Makefile.am (testpixbuf_LDADD): Conditionally
2316 include $(GNOME_LIBS) here.
2318 1999-12-05 Arjan van de Ven <arjan@fenrus.demon.nl>
2320 Added missing "include <string.h>" to:
2321 * gdk-pixbuf/io-ras.c
2322 * gdk-pixbuf/io-bmp.c
2323 * gdk-pixbuf/io-ico.c
2325 1999-12-06 Federico Mena Quintero <federico@redhat.com>
2327 * gdk-pixbuf/gdk-pixbuf-io.c (file_formats): Patch from Arjan to
2330 1999-12-05 Federico Mena Quintero <federico@redhat.com>
2332 * gdk-pixbuf/Makefile.am (testpixbuf_LDADD): Add back
2333 $(GNOME_LIBS). This must compile outside of gnome-libs. If you
2334 want, send me a patch to do the conditional stuff properly.
2335 Otherwise, please read the GNOME Programming Guidelines,
2336 especially the "CVS policies" section.
2338 1999-12-05 Jaka Mocnik <jaka.mocnik@kiss.uni-lj.si>
2340 * gdk-pixbuf/Makefile.am: removed GNOME_LIBS from testpixbuf_LDADD.
2342 1999-12-05 Arjan van de Ven <arjan@fenrus.demon.nl>
2344 * gdk-pixbuf/io-ico.c: Bug in palet-size
2347 1999-12-04 Arjan van de Ven <arjan@fenrus.demon.nl>
2349 * gdk-pixbuf/io-bmp.c: Major cleanup, added support for
2350 32 bpp and 4 bpp (uncompressed) images, fixed 1bpp.
2352 * gdk-pixbuf/io-ras.c: Minor cleanup, ran through lclint
2354 * gdk-pixbuf/io-ico.c: Minor cleanup, fixed 1bpp icons,
2357 * gdk-pixbuf/gdk-pixbuf-io.c: Added detection of .CUR files
2358 (Windows Cursor files). These are identical to .ICO files,
2359 except for the signature and 2 extra fields for the hotspot.
2361 1999-12-03 Federico Mena Quintero <federico@redhat.com>
2363 * gdk-pixbuf/gnome-canvas-pixbuf.c (gnome_canvas_pixbuf_get_arg):
2364 Removed unused variable `item'.
2366 1999-12-03 Jonathan Blandford <jrb@redhat.com>
2368 * gdk-pixbuf/io-gif.c (gif_fill_in_lines): added a comment to
2369 explain this function better.
2371 1999-12-02 Federico Mena Quintero <federico@redhat.com>
2373 Source files moved from src/ to gdk-pixbuf/, to be consistent with
2376 * doc/Makefile.am: Modified for the new source directory.
2378 * configure.in: Likewise.
2380 * Makefile.am: Likewise.
2382 * autogen.sh: Likewise.
2384 * gdk-pixbuf/Makefile.am: Likewise.
2386 1999-12-02 Federico Mena Quintero <federico@redhat.com>
2388 * src/testpixbuf.c: #include <config.h>, and fix includes.
2390 * src/testpixbuf-drawable.c: #include <config.h>, and fix includes.
2392 * src/io-xpm.c: Fix includes.
2394 * src/io-tiff.c: Fix includes.
2396 * src/io-ras.c: Fix includes, and do not include more stuff than needed.
2398 * src/io-pnm.c: Fix inlcudes, and do not include more stuff than needed.
2400 * src/io-png.c: Fix includes.
2402 * src/io-ico.c: Fix includes, and do not include more stuff than needed.
2404 * src/io-gif.c: Fix includes, and do not include more stuff than needed.
2406 * src/io-bmp.c: Fix includes, and do not include more stuff than needed.
2408 * src/gnome-canvas-pixbuf.c: Fix includes.
2410 * src/gdk-pixbuf.c: Fix includes.
2412 * src/gdk-pixbuf-util.c: Fix includes.
2414 * src/gdk-pixbuf-render.c: Fix includes.
2416 * src/gdk-pixbuf-io.h: Fix includes.
2418 * src/gdk-pixbuf-drawable.c: Fix includes.
2420 * src/gdk-pixbuf-drawable.h: Use angle brackets for the gdk-pixbuf
2423 * src/gdk-pixbuf-data.c: Fix includes.
2425 * src/gdk-pixbuf-loader.c: #include <config.h>
2427 * src/gdk-pixbuf-loader.h: Use angle brackets for the gdk-pixbuf
2430 * src/Makefile.am: Commented out the gdk-pixbuf-drawable stuff,
2431 since it is not finished.
2433 * src/gdk-pixbuf.h: Removed unused transformation prototypes.
2435 * src/gdk-pixbuf-util.c: New file with utility and convenience
2436 functions for pixbufs.
2438 * src/Makefile.am (libgdk_pixbuf_la_SOURCES): Added gdk-pixbuf-util.c.
2440 * doc/gdk-pixbuf-sections.txt: Added section for utility functions.
2442 * doc/Makefile.am (tmpl_sources): Added tmpl/util.sgml.
2444 * doc/gdk-pixbuf.sgml: Added the utilities section.
2446 * doc/tmpl/util.sgml: Documentation for the utility functions.
2448 1999-11-29 Owen Taylor <otaylor@redhat.com>
2450 * src/gdk-pixbuf-render.c (gdk_pixbuf_render_to_drawable_alpha):
2451 Keep the mask around until after we draw ... since
2452 the GC changes aren't flushed to the X server until we
2453 draw, destroying it before that may result in BadPixmap
2456 1999-11-30 Havoc Pennington <hp@pobox.com>
2458 * configure.in: Add AM_CONDITIONAL for inside gnome-libs
2460 * src/Makefile.am: conditionalize GnomeCanvasPixbuf
2462 1999-11-29 Federico Mena Quintero <federico@redhat.com>
2464 * src/Makefile.am: Uncomment the GnomeCanvasPixbuf sources. This
2465 should be made conditional, not blindly commented out.
2467 1999-11-29 Jonathan Blandford <jrb@redhat.com>
2469 * src/Makefile.am (ICO_LIB): Added another loader from Arjan to
2470 handle .ico files. Cool.
2472 1999-11-24 Jonathan Blandford <jrb@redhat.com>
2474 * src/io-bmp.c (OneLine24): new patch from Arjan to handle
2477 1999-11-24 James Henstridge <james@daa.com.au>
2479 * configure.in (AC_OUTPUT): altered hack to place the symlink in the
2480 top builddir rather than src. This still builds fine, and does not
2481 get gtk-doc into an infinite loop when trying to find all the source
2484 1999-11-23 Jonathan Blandford <jrb@redhat.com>
2486 * Removed #PRAGMA } from headers. Also, make compile if you don't
2487 have it installed, already.
2489 1999-11-22 Federico Mena Quintero <federico@redhat.com>
2491 * src/gnome-canvas-pixbuf.c (gnome_canvas_pixbuf_draw): Create the
2492 temporary buffer to the size of the interesction of the bounding
2493 box and the expose area, not the whole expose area. This speeds
2496 * src/gdk-pixbuf-render.c (gdk_pixbuf_render_threshold_alpha): Do
2497 not paint black on the mask, since we already cleared it in a
2498 single gdk_draw_rectangle() operation.
2500 1999-11-22 Raja R Harinath <harinath@cs.umn.edu>
2502 * configure.in (GDK_PIXBUF_DIR): Fix for srcdir != builddir.
2504 1999-11-22 Havoc Pennington <hp@pobox.com>
2506 * src/Makefile.am (GDK_PIXBUF_LIBS): Patch from Paul Fisher
2507 <pnfisher@redhat.com> adds all -lgdk-pixbuf and all other
2508 dependencies to LIBADD variables for loadable modules. Necessary
2509 for a Java dynamic loading thing to be able to figure it out.
2511 1999-11-22 Havoc Pennington <hp@pobox.com>
2513 * src/io-png.c (image_load_increment): Call the update_area
2514 callback depending on the number of rows loaded in this increment.
2516 * src/testpixbuf.c (main): slow down the progressive load demo
2518 1999-11-16 Havoc Pennington <hp@pobox.com>
2520 * src/gdk-pixbuf-drawable.h: Get the quotes right on the #include
2522 1999-11-22 Jonathan Blandford <jrb@redhat.com>
2524 * configure.in (GDK_PIXBUF_DIR): make the symlink. Does not work
2525 for srcdir != buildir != . Beats me why; I can't figure it out.
2526 AC_OUTPUT_COMMANDS doesn't seem to let me substitute it correctly.
2528 1999-11-21 Jonathan Blandford <jrb@redhat.com>
2530 * src/gdk-pixbuf-io.c: added io-bmp from Arjan
2531 <arjan@fenrus.demon.nl>
2533 1999-11-20 Michael Zucchi <zucchi@zedzone.mmc.com.au>
2535 * src/gdk-pixbuf-drawable.c (gdk_pixbuf_from_drawable_core):
2536 Rework/reorder of the code. Each case has been separated into
2537 another function; its big but it should be quick.
2538 gdk_pixbuf_rgba_from_drawable() will now return a pixbuf with
2539 opaque alpha information. Not all depths/formats have been
2540 tested, but 8, 15/16 and 24 (alinged 32) should work ok.
2542 1999-11-17 Larry Ewing <lewing@gimp.org>
2544 * src/gnome-canvas-pixbuf.c (gnome_canvas_pixbuf_bounds):
2545 implement the bounds method correctly.
2546 (compute_viewport_affine): compute the affine need to fit the
2547 image within the viewport given by the args.
2548 (compute_render_affine): call compute_viewport_affine.
2550 1999-11-16 Havoc Pennington <hp@pobox.com>
2552 * src/gdk-pixbuf-drawable.h: Use includes from the current
2553 directory, not the system directory.
2555 Mon Nov 15 17:18:28 1999 George Lebl <jirka@5z.com>
2557 * src/testpixbuf-drawable.c: use includes from the current directory
2558 rather then from the system include directory as gdk-pixbuf
2559 includes are not yet installed when this is compiled.
2561 1999-11-13 Cody Russell <bratsche@dfw.net>
2562 * src/testpixbuf-drawable.c: Added a test program for drawable
2565 * src/Makefile.am: Build testpixbuf-drawable.
2567 1999-11-12 Cody Russell <bratsche@dfw.net>
2569 * src/gdk-pixbuf-drawable.c: Merged in Michael Zucchi's changes.
2571 1999-11-10 Federico Mena Quintero <federico@redhat.com>
2573 * doc/tmpl/gdk-pixbuf-loader.sgml: Populated.
2575 * doc/gdk-pixbuf.signals: Put in the real names of signal
2578 * src/gdk-pixbuf-loader.c: Improved documentation comments.
2580 1999-11-10 Jonathan Blandford <jrb@redhat.com>
2582 * src/gdk-pixbuf-loader.c (gdk_pixbuf_loader_close): emit the
2585 * src/io-ras.c (OneLineMapped_file): Now can handle indexing
2586 correctly. Patch from Arjan to do so.
2588 1999-11-10 Michael Fulbright <drmike@redhat.com>
2590 * src/io-pnm.c (pnm_ascii_read_scanline): Fixed loading of ASCII PNM
2593 * src/testpixbuf.c: Added final queued draw when done loading image.
2595 1999-11-10 Jonathan Blandford <jrb@redhat.com>
2597 * src/gdk-pixbuf-io.c (gdk_pixbuf_load_module): removed spurious
2600 1999-11-10 Federico Mena Quintero <federico@redhat.com>
2602 * src/gdk-pixbuf-io.c (gdk_pixbuf_new_from_xpm_data): Added
2605 1999-11-09 Federico Mena Quintero <federico@redhat.com>
2607 * src/io-png.c: Fixed some incompatible pointer initializations.
2609 * src/io-jpeg.c (image_load_increment): Remove unused variable.
2611 1999-11-09 Michael Fulbright <drmike@redhat.com>
2613 * src/testpixbuf.c: Fixed it to use timeout to read from file
2614 for progressive loading. Set TBF_KBPS=n, where n is the number of
2615 kilobytes/second to simulate in downloading. n has to be an integer.
2617 * src/io-jpeg.c: Slight cosmetic cleanup.
2619 * src/io-pnm.c: Fixed raw PNM loading bug. Also discovered that ASCII
2620 PBM loading has a similar problem and will address tomorrow.
2622 1999-11-09 Havoc Pennington <hp@pobox.com>
2624 * src/Makefile.am (libgdk_pixbuf_la_SOURCES): build the
2625 gdk-pixbuf-drawable stuff.
2627 1999-11-09 Federico Mena Quintero <federico@redhat.com>
2629 * configure.in: Bumped version number to 0.4.
2631 1999-11-09 Michael Fulbright <drmike@redhat.com>
2633 * src/io-pnm.c : Finished progressive PNM loading code. Should handle
2634 all types of PNM files now.
2636 * src/io-jpeg.c (image_load_increment): Figured out problem with
2637 loading Progressive JPEG's progressively (say that 10 times fast).
2638 Currently for Progressive JPEG's the entire image is loaded before
2639 it is displayed. libjpeg supports a fancier mechanism which I may
2642 With these changes all JPEG formats appear to load properly for me.
2644 1999-11-08 Jonathan Blandford <jrb@redhat.com>
2646 * src/io-ras.c (image_load_increment): Final patch from Arjan.
2647 Seems to do progressive loading.
2649 1999-11-08 Michael Fulbright <drmike@redhat.com>
2651 * src/io-pnm.c image_load (): Fixed so we do not create a separate
2652 pixel buffer when reading in image - we reuse the pixel data in
2653 the GdkPixbuf structure instead.
2655 1999-11-08 Michael Fulbright <drmike@redhat.com>
2657 * src/io-pnm.c pnm_read_ascii_scanline (): Added support for
2658 ASCII PNM files. Note I haven't tested loaded ASCII PBM files because
2659 I can't seem to find a utility to convert into this format.
2660 Next is to add progressive loading support for the PNM format.
2662 1999-11-07 Federico Mena Quintero <federico@redhat.com>
2664 * doc/tmpl/gnome-canvas-pixbuf.sgml: Finished detailed explanation
2665 of the width, height, x, and y setting and pixels arguments.
2667 1999-11-05 Jonathan Blandford <jrb@redhat.com>
2669 * src/io-ras.c (image_load): third patch. Now it seems to load.
2671 * src/gdk-pixbuf-io.c: second patch Arjan van de Ven
2672 <arjan@fenrus.demon.nl> to autodetect/load the sunras files.
2674 * src/io-ras.c (image_load): new file from Arjan van de Ven
2675 <arjan@fenrus.demon.nl> to begin the ras loader.
2677 1999-11-05 Federico Mena Quintero <federico@redhat.com>
2679 * doc/gdk-pixbuf-sections.txt: Removed gdk-pixbuf-io, since it is
2680 for internal use only.
2682 * doc/gdk-pixbuf.sgml: Likewise.
2684 * doc/tmpl/gnome-canvas-pixbuf.sgml: Finished docs.
2686 1999-11-05 Michael Fulbright <drmike@redhat.com>
2688 * src/io-pnm.c: Implemented support for reading raw PBM/PGM/PPM
2689 files from a file. Next step is support for ASCII files, and
2690 then incremental loading.
2692 1999-11-04 Federico Mena Quintero <federico@redhat.com>
2694 * Makefile.am: Added doc to SUBDIRS.
2696 1999-11-04 Michael Fulbright <drmike@redhat.com>
2698 * src/io-jpeg.c: Prettied up code slightly.
2699 * src/io-pnm.c: Start of pnm loader (from file and progressively).
2700 Doesn't do much yet (will finish tomorrow).
2701 * src/gdk-pixbuf-io.c: Added pnm to structure of known types.
2703 1999-11-04 Federico Mena Quintero <federico@redhat.com>
2705 * doc/tmpl/rendering.sgml: Populated.
2707 * doc/Makefile.am: Added the template files.
2709 1999-11-04 Havoc Pennington <hp@pobox.com>
2711 * src/gdk-pixbuf-render.c (gdk_pixbuf_render_to_drawable): In
2712 docs, explain what a dither offset is for.
2713 (gdk_pixbuf_render_to_drawable_alpha): Explain why you would use
2714 this function vs. gdk_pixbuf_render_to_drawable().
2716 1999-11-04 Havoc Pennington <hp@pobox.com>
2718 * configure.in: Use libart-config correctly; find gnome-config
2719 separately. Fix GNOME_LIBS to be correct in "no gnome installed
2722 * src/Makefile.am: Link to GNOME_LIBS instead of a hardcoded
2725 Patch untested in the inside-gnome-libs case, I need to commit
2726 then check out to the gnome-libs I'm using.
2728 1999-11-04 Michael Fulbright <drmike@redhat.com>
2730 * src/io-jpeg.c (image_begin_load): Add update_func callback.
2731 * src/io-jpeg.c (image_load_increment): Call updated callback when
2732 new graphic data decoded.
2734 1999-11-04 Jonathan Blandford <jrb@redhat.com>
2736 * src/gdk-pixbuf-loader.c (gdk_pixbuf_loader_update): handle the
2738 * src/io-png.c (image_begin_load): add a update_func callback.
2739 * src/io-gif.c (image_begin_load): add a update_func callback.
2740 (gif_get_lzw): added the update_func ability
2742 * src/io-tiff.c (image_begin_load): add a update_func callback.
2744 1999-11-04 Federico Mena Quintero <federico@redhat.com>
2746 * doc/tmpl/gdk-pixbuf.sgml: Populated.
2748 * doc/tmpl/refcounting.sgml: Populated.
2750 * doc/tmpl/file-loading.sgml: Populated.
2752 * src/gdk-pixbuf.c: Added documentation comments.
2754 * src/gdk-pixbuf-io.c (gdk_pixbuf_new_from_file): Added
2755 documentation comments.
2757 * doc/: Finished integrating the documentation framework.
2759 1999-11-03 Federico Mena Quintero <federico@redhat.com>
2761 * configure.in: Removed libgif stuff now that we do not depend on it.
2762 Added the necessary cruft for gtk-doc.
2764 * src/Makefile.am: Unconditionally build the GIF loader.
2766 1999-11-03 Jonathan Blandford <jrb@redhat.com>
2768 * src/io-gif.c (gif_read): renamed ReadOK to gif_read.
2769 Added a lot of comments to the file.
2771 * src/Makefile.am (libpixbuf_gif_la_LIBADD): Remove dependency on
2774 1999-11-03 Michael Fulbright <drmike@redhat.com>
2776 * src/io-jpeg.c (image_load_increment): Further removal of
2777 bugginess in local buffering code. Handles grayscale jpegs
2780 * src/io-jpeg.c (image_load_stop): Was freeing local context
2781 for jpeg library before calling jpeg_decompres_finish ().
2783 1999-11-03 Jonathan Blandford <jrb@redhat.com>
2785 * src/io-gif.c (image_load_increment): now handle arbitrary buffer
2787 (gif_get_lzw): set the transparency to the right val.
2789 1999-11-03 Federico Mena Quintero <federico@redhat.com>
2791 * src/gnome-canvas-pixbuf.c (gnome_canvas_pixbuf_init):
2792 Initiailize the x and y fields.
2793 (gnome_canvas_pixbuf_destroy): Queue a redraw upon destruction.
2794 (PixbufPrivate): Renamed need_size_update to need_xform_update.
2795 (recompute_bounding_box): Do not use temporary values.
2797 1999-11-03 Jonathan Blandford <jrb@redhat.com>
2799 * src/io-gif.c (set_gif_lzw_clear_code): new state. Fixes
2802 * src/gnome-canvas-pixbuf.c (recompute_bounding_box): remove
2803 unneeded x,y,h,w vars.
2805 1999-11-03 Larry Ewing <lewing@gimp.org>
2807 * src/gnome-canvas-pixbuf.c (compute_render_affine): adjust
2808 render_affine calculation for x,y offsets.
2809 (gnome_canvas_pixbuf_set_arg): add x,y args.
2810 (gnome_canvas_pixbuf_get_arg): add x,y args.
2811 (recompute_bounding_box): simply code using ArtDrect and the
2812 render_affine. Removed compute_xform_vectors as it was no longer
2815 1999-11-03 Federico Mena Quintero <federico@redhat.com>
2817 * src/gnome-canvas-pixbuf.c (gnome_canvas_pixbuf_point): I'm a
2818 doofus. Return a distance, not a boolean, for opaque images.
2820 * src/gnome-canvas-pixbuf.c (recompute_bounding_box): Do proper
2821 rounding of bounding box coordinates.
2822 (gnome_canvas_pixbuf_bounds): Implemented the ::bounds() method.
2823 (gnome_canvas_pixbuf_draw): Use the correct alpha threshold value.
2825 1999-11-03 Jonathan Blandford <jrb@redhat.com>
2827 * src/io-gif.c (gif_prepare_lzw): s/lwz/lzw/g
2829 1999-11-03 Michael Fulbright <drmike@redhat.com>
2831 * src/io-jpg.c (image_load_increment): Fixed code which moved
2832 buffer around as new data comes in to work properly. JPEG progressive
2833 loading should be working now except for grayscale JPEG's, which I
2834 will look into next.
2836 1999-11-03 <sopwith@redhat.com>
2837 * src/testpixbuf.c: A GtkFunction needs to return a value for deterministic behaviour.
2838 Also put dot printing back in.
2840 1999-11-03 <jrb@redhat.com>
2842 * src/io-gif.c (gif_get_extension): Read 'til the next empty block
2845 1999-11-02 Cody Russell <bratsche@dfw.net>
2846 * src/gdk-pixbuf-drawable.c: Changed the behavior to return NULL
2847 if part of the requested image is offscreen, rather than clipping
2850 1999-11-02 Jonathan Blandford <jrb@redhat.com>
2852 * src/io-gif.c (gif_fill_in_lines): Fill in the gif's blank areas
2853 for interlacing and progressive loading.
2855 1999-11-02 Cody Russell <bratsche@dfw.net>
2856 * src/gdk-pixbuf-drawable.c (gdk_pixbuf_from_drawable_core): Now
2857 calls gdk_pixbuf_new_from_art_pixbuf() instead of gdk_pixbuf_new().
2859 1999-11-02 Jonathan Blandford <jrb@redhat.com>
2861 * src/io-gif.c (gif_main_loop): Now progressive gif loading works!
2862 It's a little slow though. )-:
2864 1999-11-02 Elliot Lee <sopwith@redhat.com>
2865 * src/gdk-pixbuf-loader.[ch], src/gdk-pixbuf-io.h: Make the arguments to the
2866 write/load_increment operations const-correct.
2868 1999-11-02 Federico Mena Quintero <federico@redhat.com>
2870 * src/gnome-canvas-pixbuf.c (gnome_canvas_pixbuf_point):
2871 Implemented the ::point() method. We do a simple containment test
2872 instead of a full distance calculation since the canvas is going
2873 to change to that scheme, anyways.
2875 1999-11-02 Elliot Lee <sopwith@redhat.com>
2877 * src/testpixbuf.c: Allow using $TBF_READLEN to specify the size of the chunks
2878 that are read from the input file.
2880 1999-11-02 Larry Ewing <lewing@gimp.org>
2882 * src/gnome-canvas-pixbuf.c (gnome_canvas_pixbuf_render): add aa
2884 (gnome_canvas_pixbuf_class_init): add gnome_canvas_pixbuf_render
2887 1999-11-02 Federico Mena Quintero <federico@redhat.com>
2889 * src/gnome-canvas-pixbuf.c (compute_render_affine): Moved the
2890 affine computation code from ::draw() to here, since it is needed
2891 by ::point() as well.
2893 1999-11-02 Elliot Lee <sopwith@redhat.com>
2895 * src/gdk-pixbuf-loader.c: Reorganize gdk_pixbuf_loader_write into
2896 three functions, and eliminate duplication of code from write()
2897 and close(). Also fix bug where the 128-byte header was being
2900 1999-11-01 Federico Mena Quintero <federico@redhat.com>
2901 * src/gnome-canvas-pixbuf.c (recompute_bounding_box): Fixed
2902 bounding box computation.
2904 1999-11-01 Federico Mena Quintero <federico@redhat.com>
2906 * src/gnome-canvas-pixbuf.c: Start of the pixbuf canvas item.
2907 Drawing affines seem to work. Bounding box is fubared. ::point()
2908 is not implemented. This is a work in progress.
2910 * src/Makefile.am: Added gnome-canvas-pixbuf.[ch] to the list of
2913 * configure.in: Sigh. We need to link in libgnomeui for the
2914 canvas stuff. This mess will disappear when gdk-pixbuf gets
2915 folded into gnome-libs.
2917 1999-10-30 Jonathan Blandford <jrb@redhat.com>
2919 * src/io-gif.c: Some more work. Now it generates a gdk_pixbuf of
2920 the right size, at a minimum, even if the image is squished and
2922 (ReadImage): lets get the offset right. This will let transparent
2925 1999-10-29 Michael Fulbright <drmike@redhat.com>
2927 * src/io-jpeg.c: image_load_increment(): Fixed bug when
2928 image width was not a multiple of 4 - always use the
2929 gdk_pixbuf rowstride to increment pointers!
2931 1999-10-29 Michael Fulbright <drmike@redhat.com>
2933 * src/io-jpeg.c: Added first cut at progressive jpeg loading.
2934 Currently does not handle either progressive jpeg files (jpeg
2935 files with multiple scans at different quality settings), but
2936 I plan on adding this support soon. These are fairly rare in
2937 my experience, so it shouldn't slow people down too much.
2938 Grayscale jpegs also don't work but that should be easy to fix.
2940 1999-10-29 Michael Fulbright <drmike@redhat.com>
2942 * src/testpixbuf.c: Added title to windows so you can identify
2943 progressive and file windows.
2945 1999-10-29 Michael Fulbright <drmike@redhat.com>
2947 * src/gdk-pixbuf-loader.c (gdk_pixbuf_loader_write): Actually
2948 load the image handler when we determine the image type.
2950 * src/gdk-pixbuf-io.[ch] (gdk_pixbuf_load_module): Changed the
2951 previously static function load_image_handler () to
2952 a public function gdk_pixbuf_load_module (). It is needed in
2953 gdk-pixbuf-loader.c to load image handler modules. This function
2954 is different from gdk_pixbuf_get_module (), which only returns
2955 a reference to the required handler, because it actually loads
2956 the handler into memory. Both actions should possibly be combined
2957 in a convenience function since one w/o the other doesn't seem to
2960 1999-10-28 Jonathan Blandford <jrb@redhat.com>
2962 * src/gdk-pixbuf-loader.c (gdk_pixbuf_loader_write): don't send a
2965 1999-10-28 Federico Mena Quintero <federico@redhat.com>
2967 * src/gdk-pixbuf-render.c (gdk_pixbuf_render_to_drawable): New
2968 function to render a portion of a pixbuf to a drawable. Ignores
2969 alpha information and takes in a GC.
2970 (gdk_pixbuf_render_to_drawable_alpha): New function to render a
2971 portion of a pixbuf to a drawable. It automatically creates a GC
2972 and a clipping mask for alpha pixbufs.
2974 1999-10-28 Jonathan Blandford <jrb@redhat.com>
2976 * src/gdk-pixbuf.h: turned convenience macros into convenience
2977 functions so some error checking could be added.
2979 * src/io-tiff.c (image_load_increment): started work on the tiff
2980 non-incremental loader.
2981 (image_begin_load): Finished the incremental loader.
2983 * src/io-gif.c (image_load_increment): started work on the gif
2986 * src/gdk-pixbuf-io.h: Changed ModuleType to GdkPixbufModule.
2988 1999-10-27 Federico Mena Quintero <federico@redhat.com>
2990 * src/gdk-pixbuf-render.c (gdk_pixbuf_render_threshold_alpha): New
2991 function to threshold a pixbuf's alpha channel into a bitmap.
2993 * src/gdk-pixbuf.c (gdk_pixbuf_new): Fixed so that it will
2994 contemplate future extensions to ArtPixBuf's formats.
2996 * src/io-png.c (png_info_callback): Use the new API of gdk_pixbuf_new().
2998 * src/gdk-pixbuf.h (gdk_pixbuf_get_height): Added some convenience
2999 macros to fetch the ArtPixBuf's fields.
3001 1999-10-27 Havoc Pennington <hp@pobox.com>
3003 * src/testpixbuf.c (main): Display the progressive load
3005 * src/io-png.c (setup_png_transformations): Break transformation
3006 code into separate function
3007 (png_info_callback): Use setup_png_transformations
3009 1999-10-27 Havoc Pennington <hp@pobox.com>
3011 * src/gdk-pixbuf-io.c (gdk_pixbuf_new_from_xpm_data): Check
3012 properly whether the XPM module has already been loaded
3013 (gdk_pixbuf_new_from_file): Check properly if loader module
3014 was already loaded (was checking if load symbol was present
3015 in order to decide whether to re-load; should check module !=
3016 NULL, then load != NULL)
3017 (image_handler_load): Check in present working directory,
3018 makes it easier to debug for now
3019 (file_formats): This array initializer was seriously on crack,
3020 was assigning a function pointer to a GModule*
3022 * src/testpixbuf.c (main): Change type of pixbuf_loader to GdkPixbufLoader*
3024 1999-10-27 Havoc Pennington <hp@pobox.com>
3026 * src/gdk-pixbuf-loader.c (gdk_pixbuf_loader_finalize):
3027 Fix typo that prevented compilation
3028 (gdk_pixbuf_loader_destroy): ditto
3030 1999-10-27 Federico Mena Quintero <federico@redhat.com>
3032 * src/gdk-pixbuf-loader.c (gdk_pixbuf_loader_new): Return a
3033 GdkPixbufLoader, not a GtkObject.
3034 (gtk_marshal_NONE__INT_INT_INT_INT): Made static.
3035 (gdk_pixbuf_loader_get_type): Documented.
3036 (gdk_pixbuf_loader_class_init): Initialize the parent class
3038 (gdk_pixbuf_loader_destroy): Added sanity checks. Call the parent
3039 class destroy function.
3040 (gdk_pixbuf_loader_new): Documented.
3041 (gdk_pixbuf_loader_finalize): Call the parent class finalize
3043 (gdk_pixbuf_loader_write): Use size_t for count.
3045 1999-10-27 Michael Fulbright <drmike@redhat.com>
3047 * src/gdk-pixbuf-loader.c (gdk_pixbuf_loader_destroy): Fixed
3048 logic so we only try to close loader if it wasn't previously closed.
3050 1999-10-27 Michael Fulbright <drmike@redhat.com>
3052 * src/gdk-pixbuf-loader.c: Made sure image_loader struct member of
3053 pixbuf_loader properly initialized.
3055 * src/testpixbuf.c: Made sure we cleanup pixbuf_loader properly
3058 1999-10-26 Jonathan Blandford <jrb@redhat.com>
3060 * src/gdk-pixbuf-io.c (image_handler_load): load the vtable fully.
3062 * src/gdk-pixbuf-loader.c: Finished initial cut at the object.
3064 1999-10-26 Havoc Pennington <hp@pobox.com>
3066 * src/gdk-pixbuf-loader.h: fix signals
3068 * src/gdk-pixbuf-io.h: add new vtable fields
3071 1999-10-26 Jonathan Blandford <jrb@redhat.com>
3073 * src/gdk-pixbuf-loader.h: New Class. Beginning of progrssive
3076 1999-10-25 Federico Mena Quintero <federico@redhat.com>
3078 * configure.in (CFLAGS): Patch from Uwe Koloska
3079 <koloska@Rcs1.urz.tu-dresden.de> to fix a stupid typo of mine.
3081 1999-10-22 Havoc Pennington <hp@pobox.com>
3083 * src/io-xpm.c (mem_buffer): Clean up stupid
3084 increment-inside-array-dereference thing
3086 * src/testpixbuf.c: Add XPM data tests.
3088 * src/io-xpm.c: Make the XPM data buffer const, fix const
3089 correctness throughout the code.
3091 1999-10-22 Havoc Pennington <hp@pobox.com>
3093 * src/gdk-pixbuf.h: Export gdk_pixbuf_new_from_xpm_data()
3095 1999-10-22 Havoc Pennington <hp@pobox.com>
3097 * src/io-xpm.c (image_load_xpm_data): Export this symbol for
3098 loading an XPM from memory.
3100 * src/gdk-pixbuf-io.c (gdk_pixbuf_new_from_xpm_data): New
3101 function, loads pixbuf from xpm data
3102 (image_handler_load): Add g_return_if_fail() to ensure the same
3103 module isn't loaded twice. Add g_module_symbol() to scan for XPM
3106 1999-10-22 Federico Mena Quintero <federico@redhat.com>
3108 * src/io-png.c (image_load): Patch from Kristian Hogsberg
3109 Kristensen <hogsberg@daimi.au.dk> to avoid allocating extra row
3110 buffers; the rows can be read in directly into the main pixel
3113 1999-10-20 Federico Mena Quintero <federico@redhat.com>
3115 * src/gdk-pixbuf-io.c (image_handler_load): Free path.
3117 1999-10-20 Federico Mena Quintero <federico@redhat.com>
3119 * configure.in: Bumped version number to 0.3.
3121 * src/Makefile.am (lbgdk_pixbuf_la_LDFLAGS): Added a libtool
3122 version number for the library.
3124 1999-10-20 Federico Mena Quintero <federico@redhat.com>
3126 * src/gdk-pixbuf.h (GdkPixbuf): Removed the unref_fn field. Now
3127 all memory management of the buffer is done by libart.
3129 * src/gdk-pixbuf.c (gdk_pixbuf_unref): Do destruction here.
3130 Removed gdk_pixbuf_destroy, gdk_pixbuf_duplicate.
3132 * src/gdk-pixbuf-data.c (gdk_pixbuf_new_from_data): Implemented in
3133 terms of the libart functions. Removed the old code.
3135 * src/gdk-pixbuf-io.c (image_handler_load): Removed the save
3136 symbols. Saving will not be implemented in GdkPixbuf.
3138 * src/io-gif.c: Removed the saving stub.
3139 (image_load): Fixed memory management to fail gracefully if we run
3140 out of memory while loading the image. Close the gif file when we
3141 are done. This still needs more error handling for the DGif
3144 * src/io-jpeg.c (image_load): Some robustness fixes.
3146 * src/io-png.c: Removed the saving stuff.
3147 (image_load): Some memory management fixes.
3149 * src/io-tiff.c (image_load): Ditto.
3151 * src/io-xpm.c (pixbuf_create_from_xpm): Ditto.
3153 1999-10-18 Havoc Pennington <hp@pobox.com>
3155 * subautogen.sh: New name for macros/autogen.sh
3157 * autogen.sh: use subautogen.sh
3159 1999-10-18 Federico Mena Quintero <federico@redhat.com>
3161 * src/*: Reindented to use the GNOME Indentation. Renamed
3162 GdkPixBuf to GdkPixbuf, for consistency with the function names
3163 (and it is also easier to type) :-)
3165 1999-10-18 Havoc Pennington <hp@pobox.com>
3167 * configure.in: Use AM_PATH_GLIB instead of glib-config directly
3169 * src/Makefile.am: Re-enable testpixbuf with GTK_CFLAGS/GTK_LIBS
3171 1999-10-18 Havoc Pennington <hp@pobox.com>
3173 * Makefile.am (SUBDIRS): Remove "macros"
3175 * configure.in: Don't use GNOME_INIT, handle case where we are
3176 inside gnome-libs. AM_PATH_GTK for the GIF test
3178 * src/Makefile.am: Change flags to work without libgnomeui,
3179 comment out testpixbuf for now
3181 1999-10-18 Federico Mena Quintero <federico@redhat.com>
3183 * configure.in: Use $GTK_LIBS as the extra libs when checking for
3184 libgif/libungif, as they need the X libraries. Fixes bug #2472.
3186 1999-10-10 Cody Russell <bratsche@dfw.net>
3187 * src/gdk-pixbuf-drawable.c: core function now determines whether
3188 the requested geometry is on screen or not, and if some is not
3189 then the request is clamped to geometry that is on the screen.
3191 Changed 'pixbuf' to 'art_pixbuf' in core function.
3193 1999-10-08 Michael Fulbright <drmike@redhat.com>
3195 * src/gdk-pixbuf-data.c: Added to load rgb data from const data.
3197 * src/testpifbuf: Changed test program to display cdrom from rgb data
3198 if no filename given to test program.
3200 1999-10-07 Cody Russell <bratsche@dfw.net>
3201 * src/gdk-pixbuf-drawable.[ch]: Added. (Actually, Miguel committed
3202 them, but I wrote them).
3204 * src/gdk-pixbuf-drawable.h: Added a missing ; so things will now
3207 * src/Makefile.am: Added gdk-pixbuf-drawable.[ch] to
3208 libgdk_pixbuf_la_SOURCES and libgdk_pixbufinclude_HEADERS.
3210 * src/gdk-pixbuf-drawable.c: Added #include "gdk-pixbuf-drawable.h"
3213 * src/gdk-pixbuf-drawable.[ch]: Changed functions to return
3214 GdkPixBuf* instead of ArtPixBuf*.
3216 1999-09-22 Michael Meeks <michael@nuclecu.unam.mx>
3218 * src/gdk-pixbuf.c (gdk_pixbuf_new): created.
3219 (gdk_pixbuf_scale): use gdk_pixbuf_new + return a new scaled image.
3221 * src/gdk-pixbuf.h (struct _GdkPixBuf): Re-organise struct, + add
3222 GdkPixBufUnrefFunc + gdk_pixbuf_new.
3224 * src/io-jpeg.c (image_load): clean to use gdk_pixbuf_new.
3226 * src/io-xpm.c (_pixbuf_create_from_xpm): ditto.
3228 * src/io-tiff.c (image_load): ditto + fix leak
3230 * src/io-png.c (image_load): ditto + add more exit points; monitor.png
3231 crashes this module ( add warning :-)
3233 * src/io-bmp.c (image_load): ditto.
3235 * src/io-gif.c (image_load): ditto.
3237 1999-09-18 Michael Meeks <michael@nuclecu.unam.mx>
3239 * src/gdk-pixbuf.c (gdk_pixbuf_scale): Hack rgba support in so
3240 it doesn't crash scaling with alpha.
3242 1999-09-17 Federico Mena Quintero <federico@redhat.com>
3244 * src/io-bmp.c (image_load): Set the initial ref_count to 1.
3246 * src/io-gif.c (image_load): Likewise.
3248 * src/io-jpeg.c (image_load): Likewise.
3250 * src/io-png.c (image_load): Likewise.
3252 * src/io-tiff.c (image_load): Likewise.
3254 * src/io-xpm.c (_pixbuf_create_from_xpm): Likewise.
3256 * src/gdk-pixbuf-io.c (gdk_pixbuf_load_image): Added an assertion
3257 for the ref_count to be != 0.
3259 * src/gdk-pixbuf.c (gdk_pixbuf_ref): Be more paranoid with sanity
3261 (gdk_pixbuf_unref): Fix incorrect sanity check and comparison.
3263 1999-08-09 Federico Mena Quintero <federico@nuclecu.unam.mx>
3265 * src/io-png.c (image_save): Fixed compiler warnings. Fixed write
3266 to unallocated memory (row_ptr), and fixed its type as well. Take
3267 into account the ArtPixbuf's rowstride when assigning the row
3270 * src/gdk-pixbuf.c: Fixup includes.
3272 * src/gdk-pixbuf-io.c: Likewise.
3274 Sat Jul 31 19:19:47 CEST 1999
3276 * src/gdk-pixbuf-io.c:
3277 * src/io-png.c: Fixed two obvious C syntax bugs
3279 1999-07-29 Mark Crichton <crichton@gimp.org>
3281 * src/io-png.c (image_save): Added PNG saving function
3283 * src/gdk-pixbuf-io.c: Changed image_save function format. Now it's
3284 image_save(GdkPixBuf *p, FILE *f, ...)
3287 1999-07-26 Michael Zucchi <mzucchi@denr.sa.gov.au>
3289 * src/Makefile.am (*_LIB): Only build the relevant loaders which
3290 require extra libraries if we actually have those libraries.
3292 1999-07-23 Richard Hestilow <hestgray@ionet.net>
3294 * src/gdk-pixbuf.h: Include glib.h as it uses g* datatypes
3295 * gdk_pixbufConf.sh.in: Added for gnome-config
3297 * configure.in: Modified to generate gdk_pixbufConf.sh
3299 1999-07-20 Mark Crichton <crichton@gimp.org>
3301 * src/gdk-pixbuf.c (gdk_pixbuf_rotate): Fixed rotation. Now a bbox
3302 calculation needs to be done.
3304 1999-07-18 Larry Ewing <lewing@gimp.org>
3309 * src/io-jpeg.c: Fix a few memory leaks in the, most of them in
3310 error cases but one or two in the common case. There are probably
3311 a few small ones left.
3313 1999-07-18 Mark Crichton <crichton@gimp.org>
3315 * configure.in: removed version.h.
3317 * src/gdk-pixbuf-io.c (pixbuf_check_tiff): Minor readability
3320 1999-07-17 Mark Crichton <crichton@gimp.org>
3322 * src/gdk-pixbuf.c: Removed gdk_pixbuf_free, redundant code.
3323 (gdk_pixbuf_rotate): Added pixbuf rotation code.
3324 (gdk_pixbuf_scale): Changed // comments to /* */
3326 * src/gdk-pixbuf.h (gdk_pixbuf_destroy): Added gdk_pixbuf_destroy
3329 1999-07-16 Larry Ewing <lewing@gimp.org>
3331 * src/testpixbuf.c (expose_func): reverted the expose everything
3332 changes, I'm not sure why these went in.
3333 (config_func): bring this up to date with the new pixbuf_scale
3336 * src/gdk-pixbuf-io.c: added a couple of warnings to the module
3337 loading code so that poeple can diagnose problems better.
3339 * src/gdk-pixbuf.c (gdk_pixbux_scale): fix the borkedness, also it
3340 no longer allocates a new pixbuf, which make things nicer for the
3341 rest of the code. Unfortunately there is still a problem with
3342 scaling rgba images.
3344 1999-07-16 Mark Crichton <crichton@gimp.org>
3346 * src/testpixbuf.c (config_func): ConfigureEvent handler. This
3347 calls gdk_pixbuf_scale. However, something is not working.
3348 N.B.: current pixmap is now stored in user_data with a key of
3351 * src/gdk-pixbuf.c (gdk_pixbuf_scale): Implemented scaling function.
3352 Something is still borked, however.
3354 1999-07-15 Larry Ewing <lewing@gimp.org>
3356 * src/io-jpeg.c (image_load): add raph@gimp.org's fix to the jpeg
3359 * src/testpixbuf.c (main): fix up the file routines a little so
3360 that you can load multiple files given the file names
3362 1999-07-14 Larry Ewing <lewing@gimp.org>
3364 * src/testpixbuf.c (expose_func): added an almost proper expose
3365 handler for testpixbuf
3367 1999-07-13 Mark Crichton <crichton@gimp.org>
3369 * configure.in: Fixed GIF check. Replaced " with '
3370 * src/gdk-pixbuf.c: More (minor) work on gdk_pixbuf_scale
3372 1999-07-13 Mark Crichton <crichton@gimp.org>
3374 * configure.in: I am a bonehead. Added gif-lib check.