1 2006-09-06 Matthias Clasen <mclasen@redhat.com>
3 * io-pnm.c: Simplify and fix reading of ASCII images.
5 2006-08-17 Matthias Clasen <mclasen@redhat.com>
7 * === Released 2.10.2 ===
9 2006-08-16 Matthias Clasen <mclasen@redhat.com>
11 * gdk-pixbuf-io.c (gdk_pixbuf_new_from_file_at_scale):
12 Stop loading an animation if the first frame is complete.
13 (#350911, Christian Neumair)
15 2006-07-23 Matthias Clasen <mclasen@redhat.com>
17 * === Released 2.10.1 ===
19 2006-07-16 Matthias Clasen <mclasen@redhat.com>
21 * gdk-pixbuf-loader.c (gdk_pixbuf_loader_load_module)
22 (gdk_pixbuf_loader_write, gdk_pixbuf_loader_close)
23 (gdk_pixbuf_loader_ensure_error): Put the code to protect
24 against broken loaders that forget to set error in an
25 auxiliary function and call it in more places. (#346428,
28 * io-xbm.c: Fix incremental loading of
29 xbms. (#346427, Ed Catmur)
30 Also make the xbm loader accept const variations.
32 2006-07-02 Matthias Clasen <mclasen@redhat.com>
34 * === Released 2.10.0 ===
36 2006-06-21 Matthias Clasen <mclasen@redhat.com>
38 * pixops/*.S: NetBSD portability fixes. (#346374,
41 * === Released 2.9.4 ===
43 2006-06-12 Matthias Clasen <mclasen@redhat.com>
45 * === Released 2.9.3 ===
47 2006-06-05 Matthias Clasen <mclasen@redhat.com>
49 * === Released 2.9.2 ===
51 2006-05-16 Matthias Clasen <mclasen@redhat.com>
53 * === Released 2.9.1 ====
55 2006-05-04 Matthias Clasen <mclasen@redhat.com>
57 * === Released 2.9.0 ===
59 2006-04-04 Matthias Clasen <mclasen@redhat.com>
61 * gdk-pixbuf-loader.c:
62 * gdk-pixbuf.c: Use G_DEFINE_TYPE.
64 * gdk-pixbuf.c: No point in making the error path fast by
67 2006-03-24 Matthias Clasen <mclasen@redhat.com>
69 * gdk-pixbuf-loader.c (gdk_pixbuf_loader_write): Remove a
70 pointless check, pointed out by Kjartan Maraas.
72 2006-03-22 Matthias Clasen <mclasen@redhat.com>
74 * gdk-pixbuf-loader.c: Add some documentation about
75 supported image formats, and how to find out about them.
76 (#335536, Murray Cumming)
78 2006-03-20 Matthias Clasen <mclasen@redhat.com>
80 * gdk-pixbuf-animation.c:
84 * io-gif.c: Always save errno to a temporary before making
85 other calls. (#335179, Morten Welinder)
87 2006-03-14 Matthias Clasen <mclasen@redhat.com>
89 * io-gif.c (gdk_pixbuf__gif_image_load): Add a shortcut
90 to stop the gif mainloop after the first frame, if that
91 is all we are interested in. (#334538)
93 2006-03-03 Matthias Clasen <mclasen@redhat.com>
95 * io-pnm.c: Support pnm files with maxval > 255.
96 (#327560, Matthijs Douze)
98 2006-03-03 Matthias Clasen <mclasen@redhat.com>
100 * io-pcx.c (pcx_load_palette_8): Fix incremental loading
101 of 8-bit pcx files. (#148518, Magnus Bergmann)
103 2006-02-28 Anders Carlsson <andersca@imendio.com>
106 Update documentation now that tiff supports saving.
114 (tiff_load_map_file):
115 (tiff_load_unmap_file):
116 (gdk_pixbuf__tiff_image_stop_load):
117 Rename callback functions that are used during loading.
124 (create_save_context):
126 New callback functions which operate on a memory buffer.
128 (gdk_pixbuf__tiff_image_save_to_callback):
129 Implement saving of pixbufs to tiffs.
132 (gdk_pixbuf__tiff_image_save):
133 New function that saves a pixbuf to a FILE handle. Uses
140 Change flags since this module supports writing now.
142 2006-02-10 Matthias Clasen <mclasen@redhat.com>
149 * io-xpm.c: Always check for NULL when using callbacks.
150 (#330563, Benjamin Otte)
152 2006-01-18 Matthias Clasen <mclasen@redhat.com>
154 * io-gif.c (gdk_pixbuf__gif_image_load_increment): Don't cast
155 the results of g_new(). (#327423, Morten Welinder)
157 2006-01-12 Federico Mena Quintero <federico@ximian.com>
159 * gdk-pixbuf-util.c (gdk_pixbuf_saturate_and_pixelate): Clarify
160 the docs ("darkened/brightened" is not "saturation").
162 Fri Dec 30 00:59:21 2005 Jonathan Blandford <jrb@redhat.com>
164 * gdk-pixbuf-io.c (gdk_pixbuf_format_get_license): minor doc edit.
166 2005-12-16 Matthias Clasen <mclasen@redhat.com>
168 * gdk-pixbuf-io.c (_gdk_pixbuf_load_module_unlocked): Use
169 G_MODULE_BIND_LOCAL when opening modules.
171 2005-12-14 Michael Natterer <mitch@imendio.com>
173 * io-jpeg.c (gdk_pixbuf__jpeg_image_load_lines): new utility
174 function which factors out massive code duplication from the
177 2005-12-14 Michael Natterer <mitch@imendio.com>
179 * io-jpeg.c: applied patch from maemo-gtk which avoids the
180 allocation of an intermediate buffer for non-progressive
181 jpegs. Fixed bug #305894.
183 2005-11-15 Matthias Clasen <mclasen@redhat.com>
185 * io-xpm.c: Fix several integer overflows which have been
186 reported as CVE-2005-3186 and CVE-2005-2975.
188 2005-10-12 Matthias Clasen <mclasen@redhat.com>
190 * gdk-pixbuf-loader.c (gdk_pixbuf_loader_write): Only call
191 gdk_pixbuf_loader_eat_header_write() when count > 0. (#318589,
194 2005-10-03 Matthias Clasen <mclasen@redhat.com>
196 * gdk-pixbuf-animation.c (gdk_pixbuf_animation_new_from_file):
197 * gdk-pixbuf-io.c (gdk_pixbuf_new_from_file):
198 * gdk-pixbuf-loader.c: Use a 1k buffer for sniffing image formats,
199 instead of 128 or 256 bytes. (#317225, Sebastien Bacher,
202 2005-09-05 Matthias Clasen <mclasen@redhat.com>
204 * io-tga.c (parse_rle_data): Remove unused variable
205 pbuf_count. (#315282, Kjartan Maraas)
207 2005-08-31 Matthias Clasen <mclasen@redhat.com>
209 * Makefile.am (gdk-pixbuf-enum-types.c): Intern type
210 names in code generated by glib-mkenums, too.
212 * io-ani-animation.c (gdk_pixbuf_ani_anim_iter_get_type)
213 (gdk_pixbuf_ani_anim_get_type):
214 * io-gif-animation.c (gdk_pixbuf_gif_anim_get_type)
215 (gdk_pixbuf_gif_anim_iter_get_type):
216 * gdk-pixbuf-loader.c (gdk_pixbuf_loader_get_type):
217 * gdk-pixbuf.c (gdk_pixbuf_get_type):
218 * gdk-pixbuf-animation.c (gdk_pixbuf_animation_get_type):
219 Intern type names before registering the type to avoid
222 2005-08-30 Matthias Clasen <mclasen@redhat.com>
224 * gdk-pixbuf-io.c (format_check): Make this work again.
226 * io-png.c (png_save_to_callback_write_func): Add a cast
227 to avoid compiler warnings.
229 * pixops/timescale.c (main): Declare src_buf, dest_buf as
230 unsigned to avoid compiler warnings.
232 * gdk-pixbuf-io.h: Declare the prefix and mask members of
233 GdkPixbufModulePattern as char*, to avoid compiler warnings.
235 * io-ani.c (ani_load_chunk): Use g_try_new() in some places.
237 2005-08-24 Matthias Clasen <mclasen@redhat.com>
239 * === Released 2.8.2 ===
241 * === Released 2.8.1 ===
243 2005-08-18 Matthias Clasen <mclasen@redhat.com>
245 * io-ico.c (DecodeHeader): Check for overflow in one more
246 place. (#313818, Tommi Komulainen)
248 2005-08-15 Matthias Clasen <mclasen@redhat.com>
250 * io-jpeg.c (fatal_error_handler): Pay attention to the
251 libjpeg error code and report OOM errors as such. (#312674,
254 2005-08-13 Matthias Clasen <mclasen@redhat.com>
256 * === Released 2.8.0 ===
258 2005-08-07 Matthias Clasen <mclasen@redhat.com>
260 * abicheck.sh: Also check exported variables.
262 2005-08-02 Matthias Clasen <mclasen@redhat.com>
264 * === Released 2.7.5 ===
266 2005-07-22 Matthias Clasen <mclasen@redhat.com>
268 * === Released 2.7.4 ===
270 2005-07-22 Matthias Clasen <mclasen@redhat.com>
272 * queryloaders.c: Accept '*' in masks. (pointed out
273 by William Jon McCann)
275 * gdk-pixbuf-io.c (format_check): Make anchored patterns work
276 as they did before. (#311011, William Jon McCann)
278 2005-07-22 Matthias Clasen <mclasen@redhat.com>
280 * gdk-pixbuf-io.c (format_check): Interpret patterns where
281 the first byte of the mask is '*' as unanchored. (#311011)
282 (gdk_pixbuf_new_from_file): Use the first 256 bytes for
283 sniffing the file format.
285 2005-07-15 Matthias Clasen <mclasen@redhat.com>
287 * === Released 2.7.3 ===
289 2005-07-12 Matthias Clasen <mclasen@redhat.com>
292 * pixops/*: Add copyright and license information.
294 2005-07-09 Tor Lillqvist <tml@novell.com>
296 * Makefile.am: Don't use the scripts in build/win32 to compile the
297 rc file into a resource object file. (This means we lose the
298 build number increment magic, but I doubt it was that useful
299 anyway.) Instead use windres directly. To pass the normal .o file
300 produced by windres through libtool, which would want a .lo file,
301 pass it directly to the linker using a -Wl option.
303 * gdk_pixbuf.rc.in: Replace BUILDNUMBER with 0.
305 2005-07-08 Matthias Clasen <mclasen@redhat.com>
307 * === Released 2.7.2 ===
309 2005-07-01 Matthias Clasen <mclasen@redhat.com>
311 * === Released 2.7.1 ===
313 2005-07-01 Matthias Clasen <mclasen@redhat.com>
315 * gdk-pixbuf-io.c (gdk_pixbuf_new_from_file_at_scale): Allow
316 -1 for width/height and interpret them as "not constrained".
317 (#309258, Mark McLoughlin)
319 2005-06-26 Tor Lillqvist <tml@novell.com>
321 * Makefile.am: Current GNU tools do understand the PRIVATE
322 keyword, so no need to remove those entries from the import
323 library. libtool installs the .dll.a import library itself, so no
324 need to do it here. Do install the .def file.
326 2005-06-22 Matthias Clasen <mclasen@redhat.com>
328 * gdk-pixbuf-i18n.h: Use glib-i18n.h
330 2005-06-20 Matthias Clasen <mclasen@redhat.com>
332 * === Released 2.7.0 ===
334 2005-06-15 Matthias Clasen <mclasen@redhat.com>
336 * gdk-pixbuf.symbols:
337 * gdk-pixbuf-simple-anim.h: Add
338 gdk_pixbuf_simple_anim_iter_get_type()
340 2005-06-08 Matthias Clasen <mclasen@redhat.com>
342 * io-pnm.c (pnm_read_next_value): Check for overflow.
343 (#306394, Morten Welinder)
345 2005-05-27 Matthias Clasen <mclasen@redhat.com>
347 * io-bmp.c: Accept the 108 byte header of BMP v4. (#168799)
349 2005-05-25 Matthias Clasen <mclasen@redhat.com>
351 * gdk-pixbuf.symbols:
352 * gdk-pixbuf-simple-anim.[hc]: No need to expose the iter
353 subclass at all in the headers.
355 * Makefile.am: Add new files.
357 * gdk-pixbuf.symbols: Add new api.
359 * gdk-pixbuf.h: Include gdk-pixbuf-simple-anim.h here.
361 * gdk-pixbuf-simple-anim.[hc]: Add a way to construct
362 simple animations out of pixbufs. (#135161, Dom Lachowicz)
364 2005-05-24 Sven Neumann <sven@gimp.org>
366 * io-png.c: allow to specify the PNG compression level by passing
367 a "compression" parameter to the PNG save function (bug #305337).
369 * gdk-pixbuf-io.c (gdk_pixbuf_save): document the new parameter.
371 2005-04-09 Matthias Clasen <mclasen@redhat.com>
373 * Makefile.am: Use $(NM), not nm directly. (#301299,
374 Nguyen Thai Ngoc Duy)
376 * io-bmp.c (gdk_pixbuf__bmp_image_save_to_callback):
377 Don't overflow the stack. (Jakub Jelinek, Arjan van de Ven)
379 2005-04-08 Matthias Clasen <mclasen@redhat.com>
381 * io-pcx.c: No debugging output, please. (#173107,
384 2005-04-07 Matthias Clasen <mclasen@redhat.com>
386 * io-bmp.c (DecodeColormap): Initialize the colormap to
387 zero. (#171762, David Costanzo)
389 2005-03-30 Matthias Clasen <mclasen@redhat.com>
391 * io-bmp.c: Avoid bus errors due to unaligned access. (#168173,
392 Morten Welinder, Ivan Wong)
394 2005-03-29 Matthias Clasen <mclasen@redhat.com>
396 * io-tga.c (parse_rle_data): Fix the update areas for incremental
397 loading of compressed tgas. (#171883, David Costanzo)
399 2005-03-27 Matthias Clasen <mclasen@redhat.com>
401 * io-bmp.c (DoCompressed): Use the correct update regions for
402 compressed bmps. (#150664, Owen Taylor, test images provided
405 Sun Mar 27 19:59:52 2005 Manish Singh <yosh@gimp.org>
407 * io-bmp.c (grow_buffer): reject 0-sized buffers as corrupt header
408 data. Fixes bug #171707.
410 2005-03-25 Matthias Clasen <mclasen@redhat.com>
412 * gdk-pixbuf-data.c (gdk_pixbuf_new_from_data): Use canonical
415 2005-03-21 Matthias Clasen <mclasen@redhat.com>
417 * gdk-pixbuf.c (gdk_pixbuf_class_init): Mark param spec strings
420 2005-03-14 Matthias Clasen <mclasen@redhat.com>
422 Make PLT-reduction work with gcc4, and don't include
423 everything in gdk-pixbuf-alias.h:
425 * gdk-pixbuf.symbols: Group symbols by header and source file.
426 * /makegdkpixbufalias.pl: Protect definitions by the same
427 preprocessor symbols used to guard the headers. Move
428 the alias declarations to a separate file which is
429 produced when calling makegdkpixbufalias.pl -def
430 * Makefile.am (gdk-pixbuf-aliasdef.c): Add a rule to generate
432 * *.c: Include gdk-pixbuf-alias.h after the other headers,
433 include gdk-pixbuf-aliasdef.c at the bottom.
435 2005-03-10 Tor Lillqvist <tml@novell.com>
439 * gdk-pixbuf.symbols: Implement DLL ABI stablility for
440 gdk_pixbuf_save() and gdk_pixbuf_savev(). (#167973)
442 2005-03-09 Matthias Clasen <mclasen@redhat.com>
444 * io-gif-animation.c (gdk_pixbuf_gif_anim_frame_composite): Fix
445 a C99ism. (#169741, Morten Welinder)
447 2005-03-08 Matthias Clasen <mclasen@redhat.com>
449 * gdk-pixbuf.c (gdk_pixbuf_class_init): Use canonical
450 form of the name when registering properties.
452 * gdk-pixbuf.symbols: Add the new attributes here, too.
454 * gdk-pixbuf-core.h: Use G_GNUC_NULL_TERMINATED where
455 appropriate. (#165682, Marc Meissner)
457 2005-03-07 Matthias Clasen <mclasen@redhat.com>
459 * io-xpm.c: Use a generated table of offsets
460 into a big const string to avoid relocations
461 in the rgb color table. (#168901, Tommi Komulainen)
463 * gen-color-table.pl: Script to generate the table,
464 copied from Owen Taylors script by the same name
467 * xpm-color-table.h: The generated table.
469 2005-03-03 Matthias Clasen <mclasen@redhat.com>
471 * io-xpm.c (pixbuf_create_from_xpm): Check the number
472 of scanned items. (#168906, Morten Welinder)
474 Make the gif loader handle oom when loading
475 animations. (#168857, Tommi Komulainen)
477 * io-gif-animation.c (gdk_pixbuf_gif_anim_frame_composite):
478 Handle oom by returning NULL.
480 * io-gif.c (gif_get_lzw): Return an error if composite
483 2005-02-28 Matthias Clasen <mclasen@redhat.com>
485 * pixops/*.S: Add .note.GNU-stack sections to Mark these as not
486 requiring an executable stack.
488 2005-02-23 Matthias Clasen <mclasen@redhat.com>
490 * gdk-pixbuf-io.c: Document BMP saving support.
492 * io-bmp.c: Support saving as BMP. (168173, Ivan Wong)
494 * io-ico.c: Fix a typo. (#168173, Ivan Wong)
496 2005-02-15 Matthias Clasen <mclasen@redhat.com>
498 * io-pnm.c (pnm_skip_whitespace): Don't read over the end of
499 the buffer if '#' appears at the very end. (#167141, Doug Morgan)
501 2005-02-05 Hans Breuer <hans@breuer.org>
503 * makefile.msc : rule for gdk_pixbuf.def
505 2005-02-07 Matthias Clasen <mclasen@redhat.com>
507 * io-pnm.c (pnm_read_next_value): Pass in the max number
509 (pnm_read_ascii_scanline): And use it here to enable
510 parsing of pbm images without whitespace between the
511 pixels. (#165803, Samuel Hym)
513 2005-01-22 Matthias Clasen <mclasen@redhat.com>
515 * gdk-pixbuf-loader.c (gdk_pixbuf_loader_new_with_type)
516 (gdk_pixbuf_loader_new_with_mime_type): Close the loader
517 before unreffing it in the error case. (#164915, Crispin
520 2005-01-12 Owen Taylor <otaylor@redhat.com>
522 * Makefile.am: Use grep | head -n 1 instead of grep -m 1
524 with slightly older versions of GNU grep in
525 install-libtool-import-lib rule.
527 2005-01-08 Matthias Clasen <mclasen@redhat.com>
529 * === Released 2.6.1 ===
531 2005-01-04 Matthias Clasen <mclasen@redhat.com>
533 * io-bmp.c (DecodeHeader): Error on compressed images with
534 negative height. Also make uncompressed images with data_offset
535 != header_size work. (#150664, Owen Taylor)
537 2005-01-02 Matthias Clasen <mclasen@redhat.com>
539 * pixops/pixops.c (bilinear_box_make_weights): Really fix the
540 math to make the vectors sum up to 1, making GDK_INTERP_HYPER
541 work again. (#162703, Dennis Nezic)
543 2004-12-27 Matthias Clasen <mclasen@redhat.com>
545 * gdk-pixbuf-animation.c (gdk_pixbuf_animation_new_from_file)
546 Avoid deadlock. Pointed out by Callum McKenzie.
548 Wed Dec 22 01:17:44 2004 Jonathan Blandford <jrb@redhat.com>
550 * queryloaders.c (main): print out the version and binary name in
551 the header comment. Problem reported by Seth Nickell.
553 2004-12-16 Matthias Clasen <mclasen@redhat.com>
555 * === Released 2.6.0 ===
557 Fri Dec 10 13:57:44 2004 Manish Singh <yosh@gimp.org>
559 * abicheck.sh: filter out PRIVATE.
561 2004-12-05 Tor Lillqvist <tml@iki.fi>
563 * gdk-pixbuf-animation.c
567 * make-inline-pixbuf.c
568 * queryloaders.c: Use gstdio wrappers. Document that file names
569 are in the GLib file name encoding.
571 * gdk-pixbuf-csource.c
572 * queryloaders.c: On Windows, convert command line arguments and
573 environment variable values from locale encoding to UTF-8.
575 * queryloaders.c: On Windows, use wide character API when
581 * gdk-pixbuf-animation.h
582 * gdk-pixbuf-animation.c: Like in GLib, for DLL ABI stability on
583 Windows, add binary compatibility versions of functions that take
584 file names as arguments. They use the system codepage, not GLib
585 file name encoding (which is UTF-8 on Windows). Use #defines to
586 make newly compiled code use the "real" functions that use the
587 GLib file name encoding scheme.
589 2004-12-02 Matthias Clasen <mclasen@redhat.com>
591 * === Released 2.5.6 ===
593 2004-11-30 Matthias Clasen <mclasen@redhat.com>
595 * gdk-pixbuf-animation.c (gdk_pixbuf_animation_iter_get_pixbuf):
596 Fix a typo in the docs. (#159955, Masao Mutoh)
598 2004-11-29 Matthias Clasen <mclasen@redhat.com>
600 * Makefile.am (gdk-pixbuf-alias.h): Use the perl found by
601 configure. (#149826, Morten Welinder)
603 Sun Nov 28 12:11:21 2004 Manish Singh <yosh@gimp.org>
605 * makegdkpixbufalias.pl: Typo fix, so attributes are really
608 2004-11-28 Matthias Clasen <mclasen@redhat.com>
610 * gdk-pixbuf.symbols:
611 * Makefile.am: Mark get_type() functions generated by glib-mkenums
614 Thu Nov 25 14:21:37 2004 Manish Singh <yosh@gi,p.org>
616 * abicheck.sh: filter out G_GNUC stuff when doing the compare.
618 2004-11-23 Matthias Clasen <mclasen@redhat.com>
620 * gdk-pixbuf-core.h: Don't mark gdk_pixbuf_error_quark() as const,
621 to be consistent with all the other error_quark functions.
622 (technically they are const, but since these are called only
623 in error paths, giving the compiler better optimization
624 opportunities doesn't matter much)
626 * gdk-pixbuf.symbols: Add attribute annotations.
627 * makegdkpixbufalias.pl: Keep attribute annotations, but strip PRIVATE.
628 * Makefile.am (gdk_pixbuf.def): Strip attribute annotations, but keep
631 Mon Nov 15 18:58:22 2004 Manish Singh <yosh@gimp.org>
633 * gdk-pixbuf-private.h: _gdk_pixbuf_lock now returns a gboolean.
635 * abicheck.sh: don't hardcode lengths for cut, instead split on
638 2004-11-15 Matthias Clasen <mclasen@redhat.com>
640 * gdk-pixbuf-animation.c:
641 * gdk-pixbuf-loader.c:
642 * gdk-pixbuf-io.c: Be extra careful when locking and handle
643 the case that the module may initialize the thread system.
645 * gdk-pixbuf-io.[hc] (_gdk_pixbuf_lock): Return whether the
646 lock was actually taken.
648 * queryloaders.c (query_module): Set vtable->module before
649 calling fill_vtable(), since gdk-pixbuf-io.c does does the
650 same and modules may rely on it. (#158177, Dan Winship)
652 2004-11-12 Matthias Clasen <mclasen@redhat.com>
654 * gdk-pixbuf-io.c (gdk_pixbuf_io_init): Don't use
655 _gdk_pixbuf_load_module_unlocked() in the !USE_GMODULE case.
657 * === Released 2.5.5 ===
659 2004-11-12 Matthias Clasen <mclasen@redhat.com>
661 Changes to make gdk-pixbuf threadsafe (#157310, #157306,
664 * gdk-pixbuf-io.h (enum GdkPixbufFormatFlags): Add
665 GDK_PIXBUF_FORMAT_THREADSAFE to indicate that an image loader
668 * gdk-pixbuf-io.c (get_file_formats, _gdk_pixbuf_load_module):
669 Use a lock to make initialization of global data structures
671 * gdk-pixbuf-private.h:
672 * gdk-pixbuf-io.c (_gdk_pixbuf_lock, _gdk_pixbuf_unlock):
673 Auxiliary functions which use another lock to protect
674 threadunsafe image loaders.
676 * gdk-pixbuf-io.c (gdk_pixbuf_real_save):
677 (save_to_callback_with_tmp_file):
678 (gdk_pixbuf_real_save_to_callback):
679 (gdk_pixbuf_new_from_xpm_data):
680 (_gdk_pixbuf_generic_image_load):
681 * gdk-pixbuf-animation.c (gdk_pixbuf_animation_new_from_file):
682 * gdk-pixbuf-loader.c (gdk_pixbuf_loader_load_module):
683 (gdk_pixbuf_loader_close):
684 (gdk_pixbuf_loader_finalize):
685 Use _gdk_pixbuf_lock() and _gdk_pixbuf_unlock().
687 * io-ani.c, io-bmp.c, io-gif.c, io-ico.c:
688 * io-jpeg.c, io-pcx.c, io-png.c, io-pnm.c:
689 * io-ras.c, io-tga.c, io-wbmp.c, io-xbm.c:
690 * io-xpm.c: Mark as threadsafe.
692 * io-tiff.c: Remove pointless locking, mark as
695 2004-11-10 Matthias Clasen <mclasen@redhat.com>
697 * gdk-pixbuf-animation.c:
698 * gdk-pixbuf-io.c: Use g_filename_display_name() instead of
699 g_filename_to_utf8() when putting filenames in error messages.
701 2004-11-04 Matthias Clasen <mclasen@redhat.com>
703 * gdk-pixbuf.c (gdk_pixbuf_class_init): Document current
704 restrictions for property values. (#157409, Matthew H. Plough)
706 2004-11-01 Matthias Clasen <mclasen@redhat.com>
708 * gdk-pixbuf-features.h.in: Break the declaration of the three
709 version variables, so that gtk-doc can grok it.
711 2004-10-29 Hans Breuer <hans@breuer.org>
713 * makefile.msc : updated
715 2004-10-27 Matthias Clasen <mclasen@redhat.com>
717 * === Released 2.5.4 ===
719 2004-10-27 Matthias Clasen <mclasen@redhat.com>
721 * Makefile.am (gdk-pixbuf-alias.h): Fix srcdir != builddir
724 2004-09-19 Matthias Clasen <mclasen@redhat.com>
726 * === Released 2.5.3 ===
728 2004-09-15 Matthias Clasen <mclasen@redhat.com>
731 * io-xpm.c: Fix some security issues discovered by Chris Evans.
733 Mon Sep 13 19:31:34 2004 Matthias Clasen <maclas@gmx.de>
735 * io-jpeg.c (real_save_jpeg): Drop the alpha channel
736 when saving 4-channel pixbufs. (#152450, Emmanuel Pacaud)
738 2004-09-09 Matthias Clasen <mclasen@redhat.com>
740 * makegdkpixbufalias.pl: Use the short prefix "IA__" for
741 aliases instead of the long suffix "__internal_alias".
743 2004-09-01 Matthias Clasen <mclasen@redhat.com>
745 * gdk-pixbuf-core.h: Align argument names with source.
747 Thu Aug 26 01:23:16 2004 Matthias Clasen <maclas@gmx.de>
750 * gdk-pixbuf.symbols:
751 * gdk-pixbuf-io.c (gdk_pixbuf_new_from_file_at_scale):
752 Add gdk_pixbuf_new_from_file_at_scale(), which is just
753 like gdk_pixbuf_new_from_file_at_size(), but optionally
754 ignores the aspect ratio. (#136395, Dom Lachowicz)
756 Wed Aug 25 17:23:23 2004 Manish Singh <yosh@gimp.org>
758 * io-gif.c: remove unused set_need_recomposite() function.
760 2004-08-25 Matthias Clasen <mclasen@redhat.com>
762 * === Released 2.5.2 ===
764 * abicheck.sh: Make work in make distcheck.
766 2004-08-25 Matthias Clasen <mclasen@redhat.com>
768 * Makefile.am: Use the same prefix when creating
769 gdk-pixbuf-marshal.c and gdk-pixbuf-marshal.h
771 * gdk-pixbuf-loader.c (gdk_pixbuf_loader_class_init): _-prefix
774 2004-08-24 Matthias Clasen <mclasen@redhat.com>
776 * gdk-pixbuf-loader.c (gdk_pixbuf_loader_new_with_mime_type): Use
777 the correct index and compare correctly, reported by Tommi Komulainen.
778 (gdk_pixbuf_loader_new_with_mime_type):
780 * gdk-pixdata.c (gdk_pixdata_from_pixbuf): Work around bugs in
781 the runlength encoder by forcing rowstride * height to be
782 divisible by bpp. (#150882)
784 Sun Aug 22 03:20:56 2004 Matthias Clasen <maclas@gmx.de>
786 * pixops/pixops.c (pixops_scale_nearest): Fix a mixup in the handling
787 of dest_channels. (#111922, Christophe Fergeau)
789 Fri Aug 20 11:59:10 2004 Owen Taylor <otaylor@redhat.com>
791 * io-bmp.c: Fix infinite loop that can occur for bad
792 image data (#150601, Chris Evans, Manish Singh)
794 2004-08-17 Matthias Clasen <mclasen@redhat.com>
796 * abicheck.sh: No need for INCLUDE_INTERNAL_SYMBOLS any more.
798 * Makefile.am (gdk-pixbuf-alias.h): Don't use cpp to filter the symbols.
800 * makegdkpixbufalias.pl: Move the #ifdef processing into the perl script,
801 and keep the #ifdefs which differentiate between platforms.
803 * gdk-pixbuf.symbols: Remove the marshalers.
805 * Makefile.am (stamp-gdk-pixbuf-marshal.h): _-prefix the marshalers.
807 Thu Aug 12 22:19:12 2004 Matthias Clasen <maclas@gmx.de>
809 * io-bmp.c (DecodeHeader): Properly determine the number of
810 colors in an OS/2 BMP file. (#150003, Jon-Kare Hellan)
812 2004-08-12 Matthias Clasen <mclasen@redhat.com>
814 * pixops/pixops.c: Remove C99-isms. (#149967, Vincent Noel)
816 Wed Aug 11 22:56:55 2004 Matthias Clasen <maclas@gmx.de>
818 * abicheck.sh: Check all symbols.
820 2004-08-11 Matthias Clasen <mclasen@redhat.com>
822 * pixops/pixops.c: Make scaling and compositing functions handle
823 edge pixels consistently. (#111922, Brian Cameron)
825 * pixops/pixops-internal.h:
827 * pixops/*.S: underscore prefix the mmx implementations, in order
830 * gdk-pixbuf.symbols: Remove the mmx pixops implementations.
832 * abicheck.sh: No need to define INCLUDE_MMX_SYMBOLS any more.
834 Tue Aug 10 23:53:59 2004 Matthias Clasen <maclas@gmx.de>
836 Add hidden aliases for exported symbols which are
837 used internally in order to get rid of many PLT
838 entries. (#145519, Arjan van de Ven)
840 * gdk/Makefile.am: Add rules to generate gdk_pixbuf.def and
841 gdk-pixbuf-alias.h from gdk-pixbuf.symbols, and make make
842 check check the abi with abicheck.sh.
844 * gdk/gdk-pixbuf.symbols: New file. Definition of the gdk-pixbuf
845 ABI. The file can be processed by cpp to filter out certain
848 * gdk/abicheck.sh: New file. Script to check the actually
849 symbols exported from libgdk_pibuf.2.0.so against the symbols
850 found in gdk-pixbuf.symbols.
852 * gdk/makegdkpixbufalias.pl: New file. Perl script to generate the
853 header containing the alias definitions for internally used
854 exported symbols from a list of symbols.
856 * *.c: Include gdk-pixbuf-alias.h
858 2004-08-06 Hans Breuer <hans@breuer.org>
860 * gdk_pixbuf.def makefile.msc : updated
862 Sun Aug 1 23:57:06 2004 Matthias Clasen <maclas@gmx.de>
864 * io-pcx.c (pcx_increment_load_data_1): Fix progressive
865 loading of 8bit pcx files. (#148518, Magnus Bergman)
867 2004-08-01 Matthias Clasen <mclasen@redhat.com>
869 * === Released 2.5.1 ===
871 Tue Jul 20 22:23:26 2004 Matthias Clasen <maclas@gmx.de>
873 * gdk-pixbuf-io.h: Remove trailing commas from
874 enumerations. (#148035)
876 Sun Jul 18 20:17:41 2004 Soeren Sandmann <sandmann@daimi.au.dk>
878 * === released 2.5.0 ==
880 Thu Jul 15 19:19:21 2004 Matthias Clasen <maclas@gmx.de>
882 * io-png.c (real_save_png):
883 * gdk-pixbuf-io.c (gdk_pixbuf_io_init): Use 'cannot' instead
884 of 'can not' in messages. (#144226, Morten Welinder)
886 Fri Jul 9 15:38:06 2004 Manish Singh <yosh@gimp.org>
888 * gdk-pixbuf-io.c (gdk_pixbuf_format_set_disabled): function doesn't
889 return a value, so don't use g_return_val_if_fail()
891 * gdk-pixbuf-scale.c (gdk_pixbuf_rotate_simple): initialize dest in
892 the can't happen case, to quiet gcc.
894 * io-tiff.c (tifflibversion): enclose in #if TIFFLIB_VERSION >=
897 Wed Jul 7 23:53:58 2004 Matthias Clasen <maclas@gmx.de>
900 * gdk-pixbuf-io.c (gdk_pixbuf_format_is_disabled):
901 * gdk-pixbuf-io.c (gdk_pixbuf_format_set_disabled):
902 * gdk-pixbuf-io.c (gdk_pixbuf_format_get_license):
903 New functions to disable/enable individual loaders and to
904 obtain license information about loaders.
906 * gdk-pixbuf-io.h (GdkPixbufFormat): Add disabled and
909 * gdk-pixbuf-io.c (_gdk_pixbuf_get_module):
910 * gdk-pixbuf-io.c (_gdk_pixbuf_get_named_module): Skip
913 * io-*.c: Add license information in the fill_info
916 2004-07-07 Matthias Clasen <mclasen@redhat.com>
918 * gdk-pixbuf-features.h.in: Fix the build.
920 2004-07-06 Tor Lillqvist <tml@iki.fi>
922 * gdk-pixbuf-features.h.in
923 * gdk-pixbuf.c: Mark the version variables for proper import and
924 export from Windows DLLs. Thanks to Laurent Sansonetti for
925 reporting the problem.
927 Sat Jul 3 00:41:44 2004 Matthias Clasen <maclas@gmx.de>
929 * pixops/pixops.c (bilinear_box_make_weights): Correct the
930 math to calculate bilinear weights. (#112412, Brian Cameron)
932 Mon Jun 21 00:44:51 2004 Matthias Clasen <maclas@gmx.de>
934 * gdk-pixbuf-transform.h:
935 * gdk-pixbuf-scale.c (gdk_pixbuf_rotate_simple):
936 * gdk-pixbuf-scale.c (gdk_pixbuf_flip): New functions to
937 rotate pixbufs by multiples of 90 degrees and to flip them
938 horizontally or vertically.
940 Sun Jun 20 01:06:48 2004 Matthias Clasen <maclas@gmx.de>
942 Header reorganization. (#51999, Jeff Franks, reorganization
943 proposed by Havoc Pennington)
945 * gdk-pixbuf.h: This is now an include-only header, and the only
946 one which applications should directly use.
948 * gdk-pixbuf-animation.h: Add animation api from gdk-pixbuf.h.
949 * gdk-pixbuf-io.h: Add io api from gdk-pixbuf.h.
950 * gdk-pixbuf-loader.h: Add loader api from gdk-pixbuf.h.
951 * gdk-pixbuf-transform.h: New header.
952 * gdk-pixbuf-core.h: New header.
954 Sat Jun 19 01:44:12 2004 Matthias Clasen <maclas@gmx.de>
956 * gdk-pixbuf-scale.c (gdk_pixbuf_composite): Add a figure which
957 explains pixbuf compositing.
959 2004-06-16 Matthias Clasen <mclasen@redhat.com>
961 * io-tiff.c: Make the tiff loader work with both
962 libtiff 3.5.7 and libtiff 3.6.1. (#135541, Marco Ghirlanda)
964 Fri Jun 11 22:02:56 2004 Matthias Clasen <maclas@gmx.de>
966 * io-gif.c, io-pnm.c, io-tga.c, io-xpm.c: Don't use
967 contractions like "don't" or "isn't" in error messages.
968 It isn't nice to use them in log entries either...
969 (#137774, Morten Welinder, patch by Alexander Winston)
971 Sat Jun 5 00:59:12 2004 Matthias Clasen <maclas@gmx.de>
975 * gdk-pixbuf-animation.c:
976 * gdk-pixbuf-io.c: Convert filenames to UTF-8 when embedding
977 them in error messages. (#143654, Sven Neumann)
979 Sun May 16 22:53:47 2004 Matthias Clasen <maclas@gmx.de>
983 * io-pnm.c (pnm_read_next_value): Don't read integers
984 partially. (#142584, Kouichirou Hiratsuka)
986 2004-05-10 Matthias Clasen <mclasen@redhat.com>
990 * pixops/timescale.c:
993 * gdk-pixbuf-scale.c: _-prefix the nonstatic pixops_...
994 functions. (#142233, Morten Welinder)
996 Wed May 5 23:09:48 2004 Matthias Clasen <maclas@gmx.de>
998 * gdk-pixbuf-io.h (GdkPixbufFormatFlags): New format flag
999 GDK_PIXBUF_FORMAT_SCALABLE to mark scalable formats.
1002 * gdk-pixbuf-io.c (gdk_pixbuf_format_is_scalable): New function.
1003 (#137995, Dom Lachowicz)
1005 2004-04-30 Matthias Clasen <mclasen@redhat.com>
1007 * === Released 2.4.1 ===
1009 2004-04-13 Matthias Clasen <mclasen@redhat.com>
1011 * io-ani.c (gdk_pixbuf__ani_image_load_animation):
1012 * gdk-pixbuf-io.c (gdk_pixbuf_get_file_info)
1013 (_gdk_pixbuf_generic_image_load)
1014 (gdk_pixbuf_new_from_file_at_size): When calling fread()
1015 in a loop, check for ferror() as well as for feof() to
1016 avoid infinite loops on directories. (#137804, Alex Converse)
1018 Mon Mar 15 15:01:59 2004 Owen Taylor <otaylor@redhat.com>
1020 * === Released 2.4.0 ===
1022 2004-03-15 Tor Lillqvist <tml@iki.fi>
1024 * queryloaders.c (main): [Win32] Look up installation prefix at
1025 run-time, replace prefix in PIXBUF_LIBDIR with that. (#106141)
1027 Merges from stable branch that had been left out. (#136282, J. Ali
1030 Changes for run-time lookup of installation location on Win32:
1032 * Makefile.am (INCLUDES): Define GTK_PREFIX as $(prefix).
1034 * gdk-pixbuf-io.c (get_sysconfdir): New function, look up
1035 installation location at runtime and deduce GTK_SYSCONFDIR
1037 (get_toplevel): Similar, for the top-level installation directory.
1038 (correct_prefix): Replace compile-time prefix with run-time
1040 (get_libdir): Remove, not used any longer.
1041 (gdk_pixbuf_io_init): Call correct_prefix() on Win32.
1043 * queryloaders.c (query_module): [Win32] Change backslahses into
1046 Tue Mar 9 09:33:28 2004 Owen Taylor <otaylor@redhat.com>
1048 * === Released 2.3.6 ===
1050 2004-03-05 Tor Lillqvist <tml@iki.fi>
1052 * gdk_pixbuf.def: Add missing entries. Thanks to J. Ali Harlow.
1054 Fri Mar 5 22:22:25 2004 Matthias Clasen <maclas@gmx.de>
1056 * io-bmp.c (OneLine32): Don't try to load an alpha channel
1057 from the BMP, since there is no evidence that even 32bit
1058 BMPs have an alpha channel. (#135502)
1060 Mon Mar 1 19:47:48 2004 Owen Taylor <otaylor@redhat.com>
1062 * === Released 2.3.5 ====
1064 2004-02-28 Hans Breuer <hans@breuer.org>
1066 * io-tiff.c : include <io.h> for lseek()
1067 * io-xbm.c : use HAVE_UNISTD_H
1069 Tue Feb 24 14:45:03 2004 Owen Taylor <otaylor@redhat.com>
1071 * === Released 2.3.3 ===
1073 Sun Feb 22 01:09:55 2004 Matthias Clasen <maclas@gmx.de>
1075 * io-bmp.c (gdk_pixbuf__bmp_image_begin_load): Remove debugging
1078 Fri Feb 20 22:25:32 2004 Matthias Clasen <maclas@gmx.de>
1080 * io-bmp.c (DecodeHeader): Store and sanity-check the clrUsed field
1081 from the header for use in DecodeColormap.
1082 * io-bmp.c (DecodeColormap): Don't read more colormap entries than
1083 the header says are there. (#134235, Kazuho Okui)
1085 Sun Feb 8 01:07:20 2004 Manish Singh <yosh@gimp.org>
1087 * gdk-pixbuf-io.c: removed unnecessary G_OBJECT() cast checks.
1089 * io-jpeg.c: make the return type for to_callback_empty_output_buffer
1090 "boolean", which should be defined by the jpeg headers. The right
1091 return type for this function depends on how the jpeg library
1092 was built (one wonders what happens if different compilers are used).
1094 2004-01-28 Hans Breuer <hans@breuer.org>
1096 * gdk_pixbuf.def : updated externals
1098 Sat Jan 17 23:02:55 2004 Matthias Clasen <maclas@gmx.de>
1100 The second part of the fix for #114351 (see also
1103 * gdk-pixbuf-i18n.h (P_): Use translation domain gtk20-properties.
1105 Sat Jan 17 00:01:51 2004 Matthias Clasen <maclas@gmx.de>
1107 The first part of the fix for #114351 (see also
1110 * gdk-pixbuf-i18n.h: Define P_() for property blurbs and nicks.
1112 * gdk-pixbuf.c: Mark property blurbs and nicks with P_().
1114 Thu Jan 8 22:01:14 2004 Matthias Clasen <maclas@gmx.de>
1116 * queryloaders.c (loader_sanity_check): Don't use bitwise operators
1117 on booleans. (#130923, reported by Telsa Gwynne, fix by Dave Jones)
1119 2004-01-06 Federico Mena Quintero <federico@ximian.com>
1121 * gdk-pixbuf-io.c (gdk_pixbuf_save): Escape an ampersand in the
1122 documentation comment, and hack around an empty line in the code
1123 example so that gtk-doc won't put a <para> due to it.
1125 * gdk-pixbuf.c (gdk_pixbuf_get_pixels): Link to the documentation
1126 section on image data.
1128 2004-01-06 Federico Mena Quintero <federico@ximian.com>
1130 * gdk-pixdata.c (gdk_pixbuf_new_from_inline): Fix example in
1131 documentation comment. Fixes #130701.
1133 Wed Jan 7 02:41:14 2004 Matthias Clasen <maclas@gmx.de>
1135 * gdk-pixbuf-io.c (gdk_pixbuf_save_to_bufferv):
1136 * gdk-pixbuf-io.c (gdk_pixbuf_save_to_buffer):
1137 * gdk-pixbuf-io.c (gdk_pixbuf_save_to_callbackv):
1138 * gdk-pixbuf-io.c (gdk_pixbuf_save_to_callback): New public API
1139 to save pixbufs to non-file locations. (#82203, Tim Evans)
1142 * gdk-pixbuf.def: Declare the new public API.
1144 * gdk-pixbuf-io.h: Add save_to_callback to the module interface.
1147 * io-png.c: Implement save_to_callback.
1149 * gdk-pixbuf-io.c (gdk_pixbuf_savev):
1150 * gdk-pixbuf-io.c (gdk_pixbuf_save): Update documentation.
1152 * gdk-pixbuf-io.c (gdk_pixbuf_real_save): Support saving via
1153 image_module->save_to_callback.
1155 * gdk-pixbuf-io.c (gdk_pixbuf_real_save_to_callback): New generic
1156 save_to_callback function which falls back to image_module->save
1159 Wed Jan 7 01:17:36 2004 Matthias Clasen <maclas@gmx.de>
1161 * gdk-pixbuf-loader.c (gdk_pixbuf_loader_size_func):
1162 * gdk-pixbuf-loader.c (gdk_pixbuf_loader_set_size):
1163 * gdk-pixbuf-loader.c (gdk_pixbuf_loader_init): Make it possible
1164 to call gdk_pixbuf_loader_set_size (loader, 0, 0) by changing
1165 the initial values of priv->width/height to -1.
1167 * io-tiff.c (tiff_image_parse):
1168 * io-ras.c (RAS2State):
1169 * io-pnm.c (gdk_pixbuf__pnm_image_load_increment):
1170 * io-pcx.c (gdk_pixbuf__pcx_load_increment):
1171 * io-jpeg.c (gdk_pixbuf__jpeg_image_load_increment):
1172 * io-png.c (png_info_callback):
1173 * io-ico.c (DecodeHeader):
1174 * io-bmp.c (DecodeHeader): Call size_func once the size is known,
1175 even if the module can't make use of the scaling information. If
1176 size_func returns 0, don't allocate a pixbuf and return, if
1177 necessary with an error.
1180 * gdk-pixbuf-io.c (gdk_pixbuf_get_file_info): A new function
1181 to determine the type and size of an image file without loading
1182 it completely. (#53725)
1184 Sun Jan 4 00:44:57 2004 Matthias Clasen <maclas@gmx.de>
1186 * gdk-pixbuf.c (gdk_pixbuf_class_init): Turn the pixbuf
1187 attributes into (construct-only, but always readable)
1188 properties. (#130196)
1190 * gdk-pixbuf-data.c (gdk_pixbuf_new_from_data): Set properties
1193 Mon Dec 22 01:35:36 2003 Matthias Clasen <maclas@gmx.de>
1195 * Makefile.am (gdk-pixbuf.loaders): Fix building with
1196 --disable-modules --with-included-loaders, create an
1197 empty gdk-pixbuf.loaders file. (#124496, Arno Charlet, fix
1198 proposed by Owen Taylor)
1200 Thu Dec 11 01:57:05 2003 Matthias Clasen <maclas@gmx.de>
1202 * gdk-pixbuf-loader.c (gdk_pixbuf_loader_class_init): Move
1203 the documentation for signals inline, to get proper parameter
1204 documentation. (#128977)
1206 Sat Nov 15 00:26:19 2003 Matthias Clasen <maclas@gmx.de>
1208 * queryloaders.c (loader_sanity_check): Check that the mask
1209 is NULL or a string of the same length consisting entirely of
1210 ' ', '!', 'x', 'z', 'n'.
1212 Mon Nov 10 00:17:52 2003 Matthias Clasen <maclas@gmx.de>
1214 * Makefile.am (install-data-local): Typo fix in warning.
1216 Sun Nov 9 23:07:05 2003 Matthias Clasen <maclas@gmx.de>
1218 * gdk-pixbuf-io.c (_gdk_pixbuf_generic_image_load): If neither
1219 load nor begin_load are available fall back to load_animation
1220 and use gdk_pixbuf_animation_get_static_image() to obtain a
1221 pixbuf. Inefficient, but at least doesn't crash.
1223 Sun Nov 9 21:56:20 2003 Matthias Clasen <maclas@gmx.de>
1225 * queryloaders.c (write_loader_info): New function to write
1226 out the information for a single loader, factored out of
1228 (loader_sanity_check): New function to perform
1229 sanity checks on a loader.
1230 (query_module): Use the new functions.
1232 Thu Nov 6 00:27:27 2003 Matthias Clasen <maclas@gmx.de>
1234 * io-pcx.c (gdk_pixbuf__pcx_load_increment): Fold two similar
1235 strings into on. (#126204, Danilo Segan)
1237 2003-09-19 Matthias Clasen <maclas@gmx.de>
1239 * io-tga.c (try_preload): Remove a pointless check.
1240 (#122710, Kjartan Maraas)
1242 Mon Aug 18 10:25:29 2003 Owen Taylor <otaylor@redhat.com>
1244 * gdk-pixdata.c (gdk_pixdata_to_csource): Add the correct
1245 alignment magic for Sun compiler and for GCC to get
1246 the strings aligned. (Patch from Brian Cameron, #117217)
1248 2003-08-14 Matthias Clasen <maclas@gmx.de>
1250 * gdk-pixdata.c (gdk_pixdata_to_csource): Improve doc comment
1251 wording. (#119754, Doug Quale)
1253 2003-08-03 Matthias Clasen <maclas@gmx.de>
1255 * gdk-pixbuf.c (gdk_pixbuf_get_rowstride):
1256 * gdk-pixbuf-data.c (gdk_pixbuf_new_from_data): Clarify misleading
1257 explanation of rowstride. (#119000)
1259 2003-07-24 Matthias Clasen <maclas@gmx.de>
1261 * gdk-pixbuf-io.c (gdk_pixbuf_new_from_file_at_size): Preserve the
1262 aspect ratio. (#118145, Owen Taylor)
1264 2003-07-23 Matthias Clasen <maclas@gmx.de>
1266 * gdk-pixbuf-io.c (gdk_pixbuf_new_from_file_at_size): Close loader
1267 before unref'ing it. (#118146, Owen Taylor)
1269 2003-03-01 Hans Breuer <hans@breuer.org>
1271 * makefile.msc : updated
1273 * gdk_pixbuf.def : export a bunch of new functions
1275 2003-07-18 Matthias Clasen <maclas@gmx.de>
1277 * pixops/pixops.c (correct_total): Split correction into multiple
1278 pieces if no single weight is large enough to apply the unsplit
1279 correction. (#117431, problem reported by Tomas Ögren)
1281 2003-07-13 Matthias Clasen <maclas@gmx.de>
1284 * gdk-pixbuf-io.c (gdk_pixbuf_new_from_file_at_size): New function
1285 to load an image from a file at a specified size. (#105326, Dom
1288 2003-07-11 Matthias Clasen <maclas@gmx.de>
1290 * queryloaders.c (query_module): Handle absolute filenames
1291 properly. (#117170, Jens Elkner)
1293 * gdk-pixbuf-io.c: Mention that NULL-terminated arrays returned by
1294 gdk_pixbuf_format_get_mime_types() and
1295 gdk_pixbuf_format_get_extensions() must be freed with g_strfreev().
1297 2003-07-04 Matthias Clasen <maclas@gmx.de>
1299 * gdk-pixbuf-io.c: Document ICO save parameters.
1301 * io-ico.c: Support saving of ICOs and CURs. Currently, only
1302 single-image ICOs are produced, but the code for multi-image ICOs
1303 is already in place. The saver understands the options "depth"
1304 (can be "32", "24" or "16") and "x_hot"/"y_hot" for hotspot
1305 coordinates of CURs.
1307 2003-06-28 Matthias Clasen <maclas@gmx.de>
1309 * io-ico.c (DecodeHeader): Stop discriminating against 32bpp ICOs
1310 a): Use the byte size of the image as a heuristic when selecting
1311 the bitmap to load - this lets us select 32bpp bitmaps which come
1312 after a 8bpp bitmap.
1313 (OneLineTransp): Stop discriminating against 32bpp ICOs b): Don't
1314 overwrite the alpha channel of 32bpp ICOs.
1315 (gdk_pixbuf__ico_image_load_increment): Stop decoding the header
1318 Fri Jun 27 03:56:59 2003 Soeren Sandmann <sandmann@daimi.au.dk>
1320 * io-gif-animation.c (gdk_pixbuf_gif_anim_frame_composite): Make
1321 it compile with C89 compilers.
1323 2003-06-23 Matthias Clasen <maclas@gmx.de>
1325 * io-gif.c (gif_get_frame_info): Remove the pointless refusal to
1326 load images with dubious disposal mode on the first frame. Just
1327 ignore it, as everybody else does.
1329 2003-06-22 Matthias Clasen <maclas@gmx.de>
1331 * gdk-pixbuf-loader.[hc] (gdk_pixbuf_loader_new_with_mime_type):
1332 New function to obtain a loader for a specific mime type.
1333 (#105324, Dom Lachowicz)
1335 * io-gif.c (gif_get_extension): Reset block_count to 0 for all
1336 application extensions, otherwise the data blocks of unknown
1337 extensions are not propertly skipped.
1339 Second half of the fix for #106962, handle frames extending beyond
1342 * io-gif.c (clip_frame): New helper function to clip a rectangle
1343 to the logical screen size of the gif.
1344 (maybe_update): New helper function to call update_func only if
1345 the rectangle is not completely off-bounds.
1346 (gif_get_lzw): Read frames extending outside the logical screen
1347 size, but be careful clip to the logical screen size
1348 when operating on the composite pixbuf and when calling update_func.
1349 (gif_init): Set the animation size to the logical screen size.
1350 (gif_get_frame_info): Don't refuse to load images with frames
1351 extending beyond the logical screen size.
1353 * io-gif-animation.c (gdk_pixbuf_gif_anim_frame_composite): Be
1354 careful to clip all rectangles to the logical screen size, also
1355 handle the fact that frames may be completely off-bounds.
1357 2003-06-21 Matthias Clasen <maclas@gmx.de>
1359 * io-gif.c: Merge from 2.2: Fix update_func() arguments and accept
1360 empty frames. (#106962)
1362 2003-06-17 Matthias Clasen <maclas@gmx.de>
1364 * Makefile.am (man_MANS): Removed, man pages are now installed
1365 from docs/reference/gdk-pixbuf.
1367 2003-06-03 Matthias Clasen <maclas@gmx.de>
1369 * gdk-pixdata.c (gdk_pixbuf_new_from_inline): Document
1370 data_length == -1, add an example. (#97290)
1372 2003-06-01 Matthias Clasen <maclas@gmx.de>
1374 * gdk-pixdata.h (struct _GdkPixdata): Fix misleading documentation
1375 of rowstride. (#113924, Noah Levitt)
1377 2003-05-27 Matthias Clasen <maclas@gmx.de>
1379 * io-wbmp.c: Remove dubious bitfields of
1380 unspecified signedness. (#112919, Morten Welinder)gdk-p
1382 * gdk-pixdata.c (gdk_pixdata_to_csource): Replace all occurances
1383 of g_string_new ("") by g_string_new (NULL). (#106975, Morten
1386 2003-05-21 Matthias Clasen <maclas@gmx.de>
1388 * pixbufloader_pcx.def:
1389 * io-pcx.c: A loader for PCX files. (#113035, Josh Beam)
1392 * Makefile.am: Add PCX loader.
1394 2003-05-19 Matthias Clasen <maclas@gmx.de>
1396 Improve progressive loading from slow sources: (#107368)
1398 * io-gif-animation.c (gdk_pixbuf_gif_anim_get_iter): Initialize
1399 first_loop_slowness.
1400 (gdk_pixbuf_gif_anim_iter_advance): Don't wrap during loading if
1401 the datasource falls behind the speed of the display.
1403 * io-gif-animation.h: Add a loading flag to GdkPixbufGifAnim and
1404 first_loop_slowness to GdkPixbufGifAnimIter.
1406 Wed May 14 18:24:50 2003 Owen Taylor <otaylor@redhat.com>
1408 * gdk-pixdata.c (gdk_pixdata_deserialize): Add a
1409 (gint32 *) => (guint32 *) cast. (#108615, Rick Jones)
1411 2003-04-24 Matthias Clasen <maclas@gmx.de>
1413 * gdk-pixbuf-loader.c (gdk_pixbuf_loader_write):
1414 (gdk_pixbuf_loader_new_with_type):
1415 (gdk_pixbuf_loader_close):
1416 * gdk-pixbuf-io.c (gdk_pixbuf_new_from_file):
1419 * gdk-pixbuf-animation.c (gdk_pixbuf_animation_new_from_file):
1420 Add sanity checks for GError handling. (#108345)
1422 Tue Apr 1 15:33:51 2003 Owen Taylor <otaylor@redhat.com>
1424 * pixops/pixops.c (make_weights): Exploit the fact that all
1425 our filters are separable to simplify the calculation of
1426 the weight tables. (Based on a patch from Brian Cameron.)
1428 * pixops/Makefile.am pixbuf-transform-math.ltx:
1429 Add a short article describing how the math in pixops.c
1432 2003-03-21 Matthias Clasen <maclas@gmx.de>
1434 * gdk-pixbuf-animation.c (gdk_pixbuf_non_anim_get_type): Add
1435 missing static. (#108614)
1437 * io-jpeg.c (gdk_pixbuf__jpeg_image_begin_load):
1438 * io-ico.c (gdk_pixbuf__ico_image_stop_load): Add missing static
1439 qualifiers apparently causing problems on some platforms. (#108617)
1441 2003-03-11 Matthias Clasen <maclas@gmx.de>
1443 * io-ico.c (DecodeHeader): Calculate LineWidth for 16bpp from
1444 width, like for the other depths. (noticed by Marijn Ros)
1446 2003-03-08 Matthias Clasen <maclas@gmx.de>
1448 Bug #107664 continued:
1450 * io-xpm.c (find_color): Fix 0/FALSE confusion
1451 * gdk-pixbuf.c (gdk_pixbuf_get_has_alpha): Fix -1/gboolean
1454 2003-03-06 Matthias Clasen <maclas@gmx.de>
1456 * io-gif.c (gif_read): Fix 0/FALSE confusion (#107664, Morten
1459 2003-02-20 Matthias Clasen <maclas@gmx.de>
1461 * io-gif-animation.c (gdk_pixbuf_gif_anim_frame_composite):
1462 Always clear the initial frame and "disposed" areas with
1463 transparent pixels, no matter whether the frame has transparency
1466 2003-02-18 Matthias Clasen <maclas@gmx.de>
1468 * io-tga.c (pixbuf_flip_row):
1469 (pixbuf_flip_vertically): Auxiliary functions used to implement
1470 support for arbitrary origins.
1471 (parse_data_for_row_pseudocolor):
1472 (parse_data_for_row_truecolor):
1473 (parse_data_for_row_grayscale):
1474 (parse_data_for_row):
1475 (fill_in_context): Remove the check for upper-left origin.
1476 (parse_rle_data): Support arbitrary origins. (#105912)
1478 * io-tga.c (fread_check):
1480 (get_header_from_file):
1481 (get_colormap_from_file):
1482 (get_image_pseudocolor):
1483 (swap_channels_pixbuf):
1484 (get_image_truecolor):
1485 (get_image_grayscale):
1486 (gdk_pixbuf__tga_load): Remove the non-incremental load
1487 implementation, since we have generic_image_load () now.
1489 (gdk_pixbuf__tga_stop_load): Fix a potential crash discovered by
1492 2003-02-14 Matthias Clasen <maclas@gmx.de>
1494 * io-tga.c (try_preload):
1495 (gdk_pixbuf__tga_load): Actually reject images with origin
1496 not in the upper-left corner. (#105912)
1498 2003-02-06 Matthias Clasen <maclas@gmx.de>
1500 * queryloaders.c (query_module): Better error message if
1501 module_open() fails. (#105349, Tim Mooney)
1503 Mon Jan 27 17:10:30 2003 Owen Taylor <otaylor@redhat.com>
1505 * Makefile.am (gdk-pixbuf.loaders): Rewrite to run
1506 on the .la files rather than looking for .so files.
1507 (#102142, Martin Gansser)
1509 * Makefile.am: Don't build gdk-pixbuf.loaders when
1512 2003-01-05 Tor Lillqvist <tml@iki.fi>
1514 * Makefile.am (gdk-pixbuf.loaders): Use @SOEXT@ in the find command.
1516 * gdk_pixbuf.def: Add gdk_pixbuf_loader_set_size.
1518 2003-01-03 Matthias Clasen <maclas@gmx.de>
1520 * gdk-pixbuf-io.c (gdk_pixbuf_new_from_xpm_data): Don't crash if
1521 gdk-pixbuf.loaders file is missing. (#102222)
1523 2002-12-08 Matthias Clasen <maclas@gmx.de>
1525 * gdk-pixbuf-animation.h:
1526 * gdk-pixbuf-io.h: Add /*< public|private >*/ markers.
1528 Sat Dec 7 10:14:05 2002 Owen Taylor <otaylor@redhat.com>
1530 * Makefile.am (gdk-pixbuf.loaders): Make gdk-pixbuf.loaders
1531 also depend gdk-pixbuf-query-loaders. (#97096, Daniel Elstner)
1533 2002-12-05 Matthias Clasen <maclas@gmx.de>
1535 * io-ico.c: Remove leftover debug output. (#100357, Owen Taylor)
1537 2002-12-04 Bastien Nocera <hadess@hadess.net>
1539 * io-tiff.c: (tiff_image_parse): use G_BIG_ENDIAN instead of
1540 WORDS_BIGENDIAN which isn't set by configure.in
1542 2002-11-29 Matthias Clasen <maclas@gmx.de>
1544 * gdk-pixbuf-animation.c:
1545 * gdk-pixbuf.c: Add deprecation docs.
1547 2002-11-28 Matthias Clasen <maclas@gmx.de>
1549 * gdk-pixbuf/gdk-pixbuf-io.c:
1550 * gdk-pixbuf/gdk-pixbuf-loader.c:
1551 * gdk-pixbuf/gdk-pixbuf.c: Document 2.2 API additions. I'm not
1552 going to list all individual functions here; if you want to see
1553 the list, grep for "Since: 2.2".
1555 Fri Nov 8 19:06:07 2002 Owen Taylor <otaylor@redhat.com>
1557 * Makefile.am (gdk-pixbuf.loaders): Make gdk-pixbuf.loaders
1558 file depend on the loaders (#97096, Jeff Waugh)
1560 Wed Nov 6 15:19:53 2002 Owen Taylor <otaylor@redhat.com>
1562 * io-gif.c (CHECK_LZW_SP): Fix trailing semicolon on macro,
1565 2002-11-05 Matthias Clasen <maclas@gmx.de>
1567 * gdk-pixbuf-loader.c: Reindent to follow the gdk-pixbuf indentation.
1569 Tue Nov 5 14:16:17 2002 Owen Taylor <otaylor@redhat.com>
1571 * gdk-pixbuf-loader.c (gdk_pixbuf_loader_close): Fix
1572 leaked pixbuf reference (#96823, Morten Welinder)
1574 2002-10-23 Matthias Clasen <maclas@gmx.de>
1576 * io-gif.c (lzw_read_byte): Check for stack overflow throughout.
1577 (#91808, Elliot Lee)
1579 2002-10-21 Matthias Clasen <maclas@gmx.de>
1581 Support the Netscape application extension for gif animations
1584 * io-gif-animation.h:
1585 * io-gif-animation.c (gdk_pixbuf_gif_anim_iter_advance):
1586 Add loop count to GdkPixbufGifAnim and use it in the advance
1587 method of GdkPixbufGifAnimIter.
1589 * io-gif.c (gif_get_extension): Parse Netscape application
1590 extension block and set the animation loop count.
1592 2002-10-11 Matthias Clasen <maclas@gmx.de>
1594 * gdk-pixbuf-loader.c (gdk_pixbuf_loader_get_format): Remove
1597 * gdk-pixbuf-io.h: Remove unused typedef
1598 GdkPixbufModuleGetSignatureFunc.
1600 2002-10-04 jacob berkman <jacob@ximian.com>
1602 * queryloaders.c (query_module): make legal C
1604 2002-10-04 Matthias Clasen <maclas@gmx.de>
1606 * Makefile.am gdk-pixbuf-animation.c gdk-pixbuf-data.c
1607 gdk-pixbuf-io.c gdk-pixbuf-io.h gdk-pixbuf-loader.c
1608 gdk-pixbuf-loader.h gdk-pixbuf-private.h gdk-pixbuf.h
1609 gdk-pixdata.c io-ani-animation.h io-ani.c io-bmp.c
1610 io-gif-animation.c io-gif-animation.h io-gif.c io-ico.c
1611 io-jpeg.c io-png.c io-pnm.c io-ras.c io-tga.c io-tiff.c
1612 io-wbmp.c io-xbm.c io-xpm.c pixbufloader_ani.def
1613 pixbufloader_bmp.def pixbufloader_gif.def pixbufloader_ico.def
1614 pixbufloader_jpeg.def pixbufloader_png.def
1615 pixbufloader_pnm.def pixbufloader_ras.def pixbufloader_tga.def
1616 pixbufloader_tiff.def pixbufloader_wbmp.def
1617 pixbufloader_xbm.def pixbufloader_xpm.def test-gdk-pixbuf.c
1618 gdk-pixbuf-animation.h queryloaders.c: Support for separately
1619 installed loaders. (#77486)
1621 Thu Oct 3 18:25:57 2002 Owen Taylor <otaylor@redhat.com>
1623 * io-jpeg.c (gdk_pixbuf__jpeg_image_save):
1624 Fix memory leak. (#94399)
1626 Tue Oct 1 17:35:43 2002 Owen Taylor <otaylor@redhat.com>
1628 * gdkpixdata.c: Patch from Andy Wingo to always
1629 escape ? to avoid accidentally generating trigraphs
1630 in the output (#94631)
1632 2002-09-28 Tor Lillqvist <tml@iki.fi>
1634 * pixops/*.S: Don't use .type on Cygwin, either (#91597, Masahiro
1637 2002-09-27 Federico Mena Quintero <federico@ximian.com>
1639 * io-ico.c (gdk_pixbuf__ico_image_begin_load): Free the context if
1640 we cannot allocate the HeaderBuf.
1642 2002-09-27 Federico Mena Quintero <federico@ximian.com>
1644 * io-bmp.c (OneLine): Fix the update region notification to handle
1645 top-to-bottom and bottom-to-top BMPs correctly.
1647 2002-09-19 Matthias Clasen <maclas@gmx.de>
1649 * Revert the previous change; the symbols need to be exported
1650 to be usable from dlopened modules.
1652 2002-09-18 Matthias Clasen <maclas@gmx.de>
1654 * io-xpm.c, io-xbm.c, io-ico.c, io-ani.c, io-png.c,
1655 gdk-pixbuf.c, gdk-pixbuf-animation.c, gdk-pixbuf-loader.c,
1656 gdk-pixbuf-private.h: _-prefix gdk_pixbuf_non_anim_new and
1657 gdk_pixbuf_set_option. Adjust all callers.
1659 2002-09-14 Hans Breuer <hans@breuer.org>
1661 * pixops/Makefile.am : added makefile.msc to EXTRA_DIST
1663 2002-09-12 Matthias Clasen <maclas@gmx.de>
1665 * io-gif-animation.h:
1666 * gdk-pixbuf.h: Move GdkPixbufFrame from the public header to
1667 the gif-animation-specific private header. (#91929)
1669 2002-09-12 Federico Mena Quintero <federico@ximian.com>
1671 * io-jpeg.c (gdk_pixbuf__jpeg_image_load): Unref the pixbuf if we
1672 hit an unsupported colorspace.
1674 2002-09-06 Matthias Clasen <maclas@gmx.de>
1676 * io-ani.c, io-ani-animation.h, io-ani-animation.c,
1677 pixbufloader_ani.def, Makefile.am, gdk-pixbuf-io.c: New loader,
1678 for .ANI animations.
1680 * io-xpm.c (pixbuf_create_from_xpm):
1681 * io-xbm.c (gdk_pixbuf__xbm_image_load_real):
1682 * io-ico.c (DecodeHeader): Attach hotspot coordinates to the
1683 pixbuf as options "x_hot" and "y_hot".
1685 2002-09-04 Matthias Clasen <maclas@gmx.de>
1687 * io-tga.c (io_buffer_append):
1688 * io-ico.c (DecodeHeader):
1689 * io-bmp.c (grow_buffer): Don't leak memory if g_try_realloc fails.
1691 * gdk-pixbuf-io.c (pixbuf_check_ico): Fix loading of .CUR files.
1694 2002-08-25 Tor Lillqvist <tml@iki.fi>
1696 * Makefile.am (libgdk_pixbuf_2_0_la_DEPENDENCIES): Add
1697 gdk_pixbuf_win32res_lo. (#87101, J. Ali Harlow)
1699 2002-08-22 Matthias Clasen <maclas@gmx.de>
1702 gdk-pixbuf-io.c (_gdk_pixbuf_generic_image_load): No longer
1703 static, thus _gdk_pixbuf-prefixed.
1705 * gdk-pixbuf-animation.c (gdk_pixbuf_animation_new_from_file):
1706 Keep this logic in sync with gdk_pixbuf_new_from_file(). (Based
1707 on a patch by Anders Carlsson)
1709 * io-png.c (gdk_pixbuf__png_image_save): Plug a memory
1710 leak. (#91422, Sven Neumann)
1712 2002-07-31 Sven Neumann <sven@gimp.org>
1714 * gdk-pixdata.c (gdk_pixdata_to_csource): free the result of
1715 gdk_pixdata_serialize() (bug #89411).
1717 Mon Jul 29 23:06:10 2002 Owen Taylor <otaylor@redhat.com>
1719 * gdk-pixbuf-scale.c: Fix some warnings by adding
1720 casts to PixopsInterpType. (#85839, David L. Cooper, II.)
1722 2002-07-16 Matthias Clasen <maclas@gmx.de>
1724 * io-ras.c (DoCompressed): Avoid unnecessary casting.
1726 2002-07-07 Matthias Clasen <maclas@gmx.de>
1728 * gdk-pixbuf-io.c (generic_image_load): New function for loading
1729 an image from a file either via module->load or incrementally.
1730 (prepared_notify): ModulePreparedNotifyFunc for generic_image_load.
1731 (gdk_pixbuf_new_from_file): Use generic_image_load.
1732 * io-bmp.c, io-ico.c, io-ras.c, io-wbmp.c: Remove trivial
1733 implementations of module->load. (#71266)
1735 * io-ico.c (DecodeHeader): Correct computation of image height.
1736 (OneLine): Correct update notification.
1738 Load-at-size functionality (#53726):
1740 * gdk-pixbuf-io.h (ModuleSizeFunc): New.
1741 (_GdkPixbufModule): Prepend a ModuleSizeFunc to the
1742 begin_load arguments. Adjust all modules.
1743 * gdk-pixbuf-loader.c (struct GdkPixbufLoaderPrivate): Add
1744 fields width, height, size_fixed, need_scale.
1745 (gdk_pixbuf_loader_class_init): Add size_prepared signal.
1746 (gdk_pixbuf_loader_set_size): New function.
1747 (gdk_pixbuf_loader_size_func): ModuleSizeFunc which gets
1748 passed to the module, emits size_prepared.
1749 (gdk_pixbuf_loader_prepare): Call gdk_pixbuf_loader_size_func
1750 if necessary, only emit area_prepared if no separate scaling
1752 (gdk_pixbuf_loader_update): Only emit area_updated if no
1753 separate scaling is required.
1754 (gdk_pixbuf_loader_load_module): Add size_func as first argument.
1755 (gdk_pixbuf_loader_close): If necessary scale the image
1756 to the desired size and emit area_prepared and area_updated.
1757 * gdk-pixbuf-loader.h (struct _GdkPixbufLoaderClass): Add
1758 size_prepared signal.
1759 (gdk_pixbuf_loader_set_size) New API.
1760 * gdk-pixbuf-marshal.list: Add VOID:INT,INT.
1761 * io-jpeg.c: User cinfo->output_width/height instead of
1762 cinfo->image_width/height throughout when adressing the pixbuf.
1763 (gdk_pixbuf__jpeg_image_load_increment): Call size_func, and
1764 find the nearest possible output size which libjpeg can produce
1765 that is still larger than the desired size.
1767 2002-07-06 Matthias Clasen <maclas@gmx.de>
1769 * io-tiff.c (tiff_set_error): Handle global_error == NULL
1771 (tiff_image_parse): Don't trust TIFFRGBAImageBegin to set
1772 the "put" routine. (Fixes #87384)
1773 (gdk_pixbuf__tiff_image_stop_load): Don't call TIFFClose too
1776 2002-07-02 Matthias Clasen <maclas@gmx.de>
1778 Miscellaneous bmp loader fixes (#85448, #86286, #86287):
1780 * io-bmp.c (grow_buffer): New function to avoid crashes
1781 on unchecked reallocs.
1782 (DecodeHeader, DecodeColormap, decode_bitmasks,
1783 DoCompressed): Use grow_buffer instead of g_realloc
1784 throughout. Change signatures where necessary to pass the
1786 (OneLine16): Fix loading of 16bpp BI_RGB bmps.
1787 (DoCompressed): Rewritten to properly support BI_RLE4 and
1790 Support for compressed ras images (#84994):
1792 * io-ras.c (RAS2State): Error on unsupported ras variations.
1793 (OneLine8): Fix colormap indexing.
1794 (OneLine): Call updated_func with proper region.
1795 (DoCompressed): New function, handles compressed ras data.
1796 (gdk_pixbuf__ras_image_load_increment): Handle compressed ras
1799 Better colorspace support for the jpeg loader (#61211):
1801 * io-jpeg.c (convert_cmyk_to_rgb): New function.
1802 (gdk_pixbuf__jpeg_image_load,
1803 gdk_pixbuf__jpeg_image_load_increment): Allocate a pixbuf with
1804 alpha for 4-channel jpegs and call convert_cmyk_to_rgb for these.
1806 All of this needs to be merged to GNOME 1.4 gdk-pixbuf.
1808 2002-06-28 Sven Neumann <sven@gimp.org>
1810 * gdk-pixbuf-csource.c (print_blurb): converted a Tab to spaces.
1812 Thu Jun 13 18:11:11 2002 Owen Taylor <otaylor@redhat.com>
1814 * pixops/pixops.c: Fix problem where when no alpha was
1815 involved, we scaled rather than composited, but then
1816 went ahead and composited anyways. (#76958, Patch
1817 from Matthias Clasen). Needs to be merged to GNOME
1820 2002-06-13 Matthias Clasen <maclas@gmx.de>
1822 * io-jpeg.c: Use libjpeg in buffered-image mode in order to
1823 incrementally display incrementally loaded progressive jpegs.
1825 2002-06-07 Federico Mena Quintero <federico@ximian.com>
1827 * io-bmp.c (lsb_32):
1828 (lsb_16): New functions to fetch 32 or 16-bit little-endian values
1829 starting at a specific memory location. We do this instead of
1830 GINT32_FROM_LE() as the latter is simply dereferences a cast,
1831 which doesn't work on platforms with alignment requirements.
1834 2002-06-01 Matthias Clasen <maclas@gmx.de>
1836 * gdk-pixbuf-io.c (pixbuf_check_xbm): Accept xbms starting
1837 with a C comment - those seem to be not uncommon, e.g. the Gimp
1838 produces them. (#82706)
1840 * io-xbm.c (read_bitmap_file_data): Don't leak memory on certain
1842 (gdk_pixbuf__xbm_image_load_real): Don't leak memory on valid inputs.
1844 2002-05-22 Tor Lillqvist <tml@iki.fi>
1846 * gdk-pixbuf-io.c (get_libdir): Use GTK_BINARY_VERSION (and not
1847 GTK_VERSION) in the path to the loaders on Win32, too.
1849 * Makefile.am: Pass GTK_BINARY_VERSION.
1851 2002-05-22 Federico Mena Quintero <federico@ximian.com>
1853 * io-xpm.c (pixbuf_create_from_xpm): Ahem, take the rowstride into
1854 account!!! Fixes #82515.
1856 [This bug is not present in the GNOME 1.4 branch as its XPM loader
1857 does not use gdk_pixbuf_new(); rather it malloc()s a buffer with
1858 no row padding and then uses gdk_pixbuf_new_from_data() on it.]
1860 [IMPORTANT: The comment above is to make my life easier when
1861 merging stuff across branches. If you make changes to gdk-pixbuf
1862 in either branch, please include a comment in the ChangeLog that
1863 indicates whether this should be merged into the other branch.
1866 2002-05-18 Matthias Clasen <maclas@gmx.de>
1868 * io-tiff.c (tiff_image_parse): fix packing order on bigendian
1871 Thu May 16 15:17:30 2002 Owen Taylor <otaylor@redhat.com>
1873 * pixops/pixops.c: Patch from Matthias Clasen to fix some typos
1876 Thu May 16 15:02:46 2002 Owen Taylor <otaylor@redhat.com>
1878 * gdk-pixdata.c (gdk_pixdata_to_csource): Fix 64-bit warning.
1881 2002-05-07 Michael Natterer <mitch@gimp.org>
1883 * gdk-pixbuf/Makefile.am: build the static pixbuf loaders
1884 conditionally like the dynamic ones so --without-lib<foo> is
1885 honored when building with --disable-modules. (#66867)
1887 Sun May 5 02:27:01 2002 Soeren Sandmann <sandmann@daimi.au.dk>
1889 * Makefile.am (noinst_PROGRAMS): remove test-loaders (moved to
1891 * test-loaders.c, test-images.h: remove
1893 2002-04-24 Matthias Clasen <maclas@gmx.de>
1895 * gdk-pixbuf-io.c (gdk_pixbuf_save): Remove the ISO8859-1
1896 restriction from the description of png tEXt parameters.
1898 * io-png.c (png_text_to_pixbuf_option):
1899 (gdk_pixbuf__png_image_save): If libpng supports it,
1900 store and retrieve non-ISO8859-1 text as UTF-8. (#76172)
1902 2002-04-11 Matthias Clasen <maclas@gmx.de>
1904 More fixes for #77807:
1906 * io-tga.c (get_contiguous_pixbuf): Helper function to create
1907 a pixbuf with a contiguous pixel array while being careful about
1910 * io-tga.c (fill_in_context, get_image_pseudocolor,
1911 get_image_truecolor, get_image_grayscale): Use
1912 get_contiguous_pixbuf instead of manually allocating image
1915 * io-xpm.c (pixbuf_create_from_xpm):
1916 * io-pnm.c (gdk_pixbuf__pnm_image_load):
1917 * io-jpeg.c (gdk_pixbuf__jpeg_image_load): Use gdk_pixbuf_new
1918 instead of manually allocating image storage.
1920 2002-04-09 Matthias Clasen <maclas@gmx.de>
1922 * gdk-pixbuf-loader.c (gdk_pixbuf_loader_load_module): Use
1923 priv->image_module->module_name instead of image_type which may
1926 2002-04-06 Matthias Clasen <maclas@gmx.de>
1928 * io-png.c (gdk_pixbuf__png_image_load): Restructured to use
1929 gdk_pixbuf_new instead of manually allocating image storage. This
1930 gives us a good rowstride and overflow checks. (#77807)
1932 2002-04-05 Matthias Clasen <maclas@gmx.de>
1934 * io-tiff.c (tiff_image_parse): Avoid allocating an extra copy of
1935 the image by using a TIFFRGBAImage{Begin,Get,End} with suitable
1936 put functions instead of TIFFRGBAImage. And check image dimensions
1939 2002-04-03 Matthias Clasen <maclas@gmx.de>
1941 * gdk-pixbuf-loader.c (gdk_pixbuf_loader_get_type): Fix a doc typo.
1943 2002-03-29 Matthias Clasen <maclas@gmx.de>
1945 * io-png.c (png_simple_error_callback): libpng error handlers must
1946 not return to their callers, thus longjmp out. This prevents
1947 annoying stderr output from the default error handler.
1949 2002-03-27 Matthias Clasen <maclas@gmx.de>
1951 * io-png.c (gdk_pixbuf__png_image_stop_load): Don't leak info_ptr.
1953 * io-png.c (gdk_pixbuf__png_image_load): Get rid of unused
1954 end_info. Also call png_read_end to check proper ending of the png
1955 file and catch text chunks after the image data.
1957 2002-03-27 Matthias Clasen <maclas@gmx.de>
1959 * io-png.c (gdk_pixbuf__png_image_load,
1960 gdk_pixbuf__png_image_begin_load): Make libpng use g_malloc
1961 instead of system malloc.
1963 2002-03-26 Matthias Clasen <maclas@gmx.de>
1965 * io-tiff.c (tiff_image_parse): Don't leak pixbuf on error.
1967 * io-gif.c (gdk_pixbuf__gif_image_load_increment): Don't leak
1968 context->buf on error.
1970 * gdk-pixbuf-loader.c (gdk_pixbuf_loader_close): Make sure to call
1971 stop_load even for short images to prevent memleaks.
1973 2002-03-25 Matthias Clasen <maclas@gmx.de>
1975 * io-png.c (setup_png_transformations): Changed signature to
1976 return success and set a GError parameter, adjusted all callers.
1977 Also work around a possible FPE in libpng and always check that
1978 the new info is sane.
1980 2002-03-23 Matthias Clasen <maclas@gmx.de>
1982 * io-wbmp.c (gdk_pixbuf__wbmp_image_load_increment):
1983 context->updated_func is NULL during a nonincremental load.
1984 (gdk_pixbuf__wbmp_image_load): Stop reading after the first error.
1986 2002-03-18 Matthias Clasen <maclas@gmx.de>
1988 * io-tga.c: Fix assumptions on rowstride by manually allocating a
1989 contiguous pixel buffer. Catch buffer overruns in RLE-modi.
1990 Support grayscale + alpha (which can be written, but not read (!)
1993 2002-03-15 Matthias Clasen <maclas@gmx.de>
1995 * io-gif.c (gif_get_frame_info): Catch invalid frame dimensions.
1997 2002-03-13 Matthias Clasen <maclas@gmx.de>
1999 * test-images.h: Add valid_ras_test and invalid_bmp_1.
2001 * test-loaders.c (main): Add random tests for ras and pnm and an
2002 invalid bmp which was a crasher until my 2002-03-12 commit.
2004 * io-pnm.c (gdk_pixbuf__pnm_image_load_increment): Don't unref the
2007 * io-ras.c: Handle some errors.
2009 2002-03-12 Sven Neumann <sven@gimp.org>
2011 * gdk-pixbuf.c (gdk_pixbuf_fill): use sequential writes instead of
2012 calling memcpy(). Simpler and potentially faster. (#70332)
2014 2002-03-12 Matthias Clasen <maclas@gmx.de>
2016 * io-bmp.c (DecodeHeader): Replace a g_assert_not_reached ()
2017 which could actually be reached by a proper error status return.
2019 2002-03-05 Matthias Clasen <maclas@gmx.de>
2021 * test-loaders.c, test-images.h: More random tests.
2023 * io-bmp.c (DecodeHeader): Fail gracefully on OOM here.
2025 Tue Mar 5 10:39:03 2002 Owen Taylor <otaylor@redhat.com>
2027 * Makefile.am (loaderdir): Put the modules into the
2028 GTK_BINARY_VERSION directory for consistency with
2029 immodules and theme engines.
2031 Sat Mar 2 22:11:10 2002 Owen Taylor <otaylor@redhat.com>
2033 * gdk-pixbuf-io.c (_gdk_pixbuf_load_module): If we
2034 can't load the module using the g_module_build_path()
2035 filename, try loading it as a .la file.
2037 * test-loaders.c: Look for modules in current directory
2038 rather than .libs, so we find the right .la files.
2040 * test-loaders.c: Back out some accidental commits.
2042 Sat Mar 2 21:28:03 2002 Owen Taylor <otaylor@redhat.com>
2044 * gdk-pixbuf.c (gdk_pixbuf_new): Bullet-proof against integer
2047 2002-03-03 Tor Lillqvist <tml@iki.fi>
2049 * gtk-pixbuf.rc.in: Remove.
2051 * gdk_pixbuf.rc.in: Name like this instead (wrong name used by
2054 * makefile.msc: Corresponding changes.
2056 * Makefile.am: Use gdk_pixbuf.rc on Win32. Distribute it.
2058 2002-02-28 Matthias Clasen <maclas@gmx.de>
2060 * pixops/pixops.c (tile_make_weights): Move the call to
2061 correct_total() to the right spot. (#72732)
2063 Wed Feb 27 18:33:04 2002 Owen Taylor <otaylor@redhat.com>
2065 * gdk-pixdata.c (gdk_pixdata_to_csource): Use {} not
2066 () to group around string assigned to char[]. (#72767,
2069 2002-02-21 Havoc Pennington <hp@pobox.com>
2071 * gdk-pixbuf-loader.c (gdk_pixbuf_loader_load_module): remove
2072 C++-commented debug spew, reported by David L. Cooper
2074 2002-02-15 Matthias Clasen <maclas@gmx.de>
2076 * pixops/pixops.c (correct_total): New function to make sure
2077 that the weights sum up to the correct total without introducing
2079 (tile_make_weights, bilinear_make_fast_weights,
2080 bilinear_make_weights): Use correct_total.
2082 2002-02-10 Matthias Clasen <maclas@gmx.de>
2084 * test-images.h (tiff1_test_3), test-loaders.c (main): Add a
2085 (#ifdef 0'ed) test provoking a segfault in TIFFReadDirectory().
2087 * io-ico.c (DecodeHeader): Check that pixbuf could be allocated.
2089 * test-images.h (ico_test_2), test-loaders.c (main): Test the
2092 * io-wbmp.c (gdk_pixbuf__wbmp_image_load_increment): Don't write
2093 beyond the end of buffer if width % 8 != 0.
2095 * io-tga.c (try_preload): Enforce that ctx->hdr->type is one of
2096 the supported types, otherwise parse_data_for_row () will not make
2097 any progress, leading to an infinite loop.
2099 Mon Feb 11 14:31:53 2002 Owen Taylor <otaylor@redhat.com>
2101 * pixops/pixops.c (bilinear_make_weights): Fix handing of
2104 2002-02-10 Matthias Clasen <maclas@gmx.de>
2106 * test-loaders.c (main): Enable some tests which should work
2109 * io-wbmp.c (gdk_pixbuf__wbmp_image_load_increment): Detect
2110 invalid image dimensions and insufficient memory.
2112 * io-tga.c (try_preload): Detect invalid image dimensions.
2113 (gdk_pixbuf__tga_stop_load): Don't try to unref NULL pointers.
2115 * io-ico.c (DecodeHeader): Detect some invalid headers and
2118 Fri Feb 8 23:11:15 2002 Owen Taylor <otaylor@redhat.com>
2120 * pixops/pixops.c: Force all weight arrays to sum exactly
2121 to 65535. (Fixes #70971, reported by Federico Mena Quintero)
2123 * Makefile.am (libgdk_pixbuf_1_3_la_DEPENDENCIES): Add
2126 2002-02-08 Federico Mena Quintero <federico@ximian.com>
2128 * pixops/pixops.h: Fix comment; PixopsInterpType -> GdkInterpType.
2130 2002-02-08 Darin Adler <darin@bentspoon.com>
2132 * io-xbm.c: (next_int): Wean this from <ctype.h>.
2134 2002-02-01 Matthias Clasen <matthiasc@poet.de>
2136 * Makefile.am: Build the tga loader as a static library. (#70157)
2138 * io-ico.c: Merge 16- and 32-bit ico support from the stable
2141 * io-gif.c: Recomposite all images if the animation size changes
2142 while loading. (#70055)
2144 * gdk-pixbuf.c (gdk-pixbuf-fill): Make it work for subpixbufs.
2147 Sat Jan 19 20:49:20 2002 Manish Singh <yosh@gimp.org>
2149 * io-jpeg.c, io-png.c: Made sure all the error cases involving
2150 jpeg or png load/saves clean themselves up properly. Marked some
2151 variables needed for cleanup volatile so they aren't clobbered by
2154 Fri Jan 11 18:05:07 2002 Owen Taylor <otaylor@redhat.com>
2156 * pixops/pixops.c: Fix integer overflow for the values
2157 passed to the pixel functions. (#55148, fix from Michael Hore)
2159 Fri Jan 11 17:53:58 2002 Owen Taylor <otaylor@redhat.com>
2161 * pixops/pixops.c (pixops_scale_nearest): Remove meaningless
2164 * pixops/pixops.c (pixops_process): Comment the computation
2165 of run_end_index and fix some edge cases.
2167 * pixops/{scale_line_22_33_mmx.S, composite_line_22_4a4_mmx.S:
2168 composite_line_color_22_4a4_mmx.S}: Handle the case where
2169 dest <= dest_end properly. (#52001, fix from Michael Hore)
2171 Thu Jan 10 16:48:30 2002 Owen Taylor <otaylor@redhat.com>
2173 * pixops/pixops.c: Replace some hardcoded values with the
2174 SUBSAMPLE constant used elsewhere. (#51033)
2176 Wed Jan 9 11:29:44 2002 Owen Taylor <otaylor@redhat.com>
2178 * Makefile.am (s-enum-types-h): Include glib-object.h,
2179 Add G_BEGIN_DECLS/END_DECLS to gdk-pixbuf-enum-types.h. (#68325,
2182 * *.h: G_BEGIN_DECLS cleanups.
2184 Tue Jan 8 10:58:04 2002 Owen Taylor <otaylor@redhat.com>
2186 * gdk-pixbuf-util.c (gdk_pixbuf_saturate_and_pixelate):
2187 - Massive cleanup, make actually legible.
2188 - Fix some clamp-to-range bugs found by Jim Cape (#68231).
2189 - Add a g_return_if_fail() if src and dest alpha don't match.
2190 - Allow for src_rowstride != dest_rowstride.
2192 2002-01-04 Hans Breuer <hans@breuer.org>
2194 * gdk_pixbuf.def : don't export functions prefixed
2197 * makefile.msc : use -FImsvc_recommende_pragmas.h
2199 Thu Jan 3 19:31:58 2002 Owen Taylor <otaylor@redhat.com>
2201 * pixops/pixops.c (scale_line_22_33): Fix and uncomment
2204 * pixops/pixops.c (pixops_composite_nearest): Remove a
2207 * pixops/pixops.c (pixops_composite): Add some docs
2208 about the parameters.
2210 * pixops/README: Add notes about the correct algorithms
2211 for alpha compositing and how to implement them quickly.
2213 2001-12-29 Tor Lillqvist <tml@iki.fi>
2215 * Makefile.am (EXTRA_DIST): Add makefile.msc.
2217 Sat Dec 22 15:31:20 2001 Owen Taylor <otaylor@redhat.com>
2219 * gdk-pixdata.h: Fix trailing "," in enumeration.
2221 2001-12-17 Matthias Clasen <matthiasc@poet.de>
2223 * gdk-pixbuf.c, gdk-pixbuf-io.c, gdk-pixbuf-animation.c,
2224 gdk-pixbuf-data.c, gdk-pixbuf-loader.c, gdk-pixbuf-scale.c,
2225 gdk-pixbuf-util.c, gdk-pixdata.c: Markup fixes.
2227 2001-12-16 Havoc Pennington <hp@pobox.com>
2229 * gdk-pixbuf-scale.c: docs enhancements
2231 2001-12-14 Sebastian Wilhelmi <wilhelmi@ira.uka.de>
2233 * io-xpm.c: Use g_ascii_strcasecmp() instead of g_strcasecmp().
2235 2001-12-13 Sebastian Wilhelmi <wilhelmi@ira.uka.de>
2237 * gdk-pixbuf-animation.c, gdk-pixbuf-loader.c, gdk-pixpuf.c,
2238 io-gif-animation.c, io-gif.c, io-tiff.c, test-loaders.c: Remove
2239 assorted G_OBJECT casts where unnecessary.
2241 * gdk-pixbuf-loader.c: Call g_object_ref and g_object_unref
2242 instead of gdk_pixbuf_animation_ref and gdk_pixbuf_animation_unref
2245 * gdk-pixbuf-csource.c, io-bmp.c, io-gif-animation.c, io-ico.c,
2246 io-jpeg.c, io-png.c, io-pnm.c, io-ras.c, io-tga.c, io-wbmp.c,
2247 io-xbm.c, io-xpm.c, test-gdk-pixbuf.c: Dito for gdk_pixbuf_ref and
2250 * Makefile.am, pixops/Makefile.am: Compile everything with
2251 -DG_DISABLE_DEPRECATED -DGDK_PIXBUF_DISABLE_DEPRECATED
2253 * gdk-pixdata.c: Use g_ascii_strup() instead of g_strup().
2255 * io-xpm.c: Use g_ascii_strcasecmp() instead of g_strcasecmp().
2257 2001-12-12 Matthias Clasen <matthiasc@poet.de>
2259 * gdk-pixbuf-io.c: Markup fixes.
2261 2001-12-12 Matthias Clasen <matthiasc@poet.de>
2263 * Makefile.am (INCLUDES): Define G_LOG_DOMAIN. (#66412)
2265 * gdk-pixbuf-loader.c, gdk-pixbuf-util.c: Markup fixes.
2267 2001-12-11 Michael Natterer <mitch@gimp.org>
2269 * io-png.c: gdk_pixbuf__png_image_save: removed wrong endian
2270 conversion stuff; don't copy RGB pixbufs' lines around before
2273 2001-12-05 Matthias Clasen <matthiasc@poet.de>
2275 * gdk-pixbuf.h (gdk_pixbuf_ref, gdk_pixbuf_unref,
2276 gdk_pixbuf_animation_ref, gdk_pixbuf_animation_unref):
2279 Tue Dec 4 11:45:45 2001 Owen Taylor <otaylor@redhat.com>
2281 * io-xpm.c (pixbuf_create_from_xpm): Fill in color
2282 fields to black for transparent colors since we'll
2283 later initialize pixels from them. (Fixes purify
2284 errors, #66093, HideToshi Tajima)
2286 2001-11-30 Tor Lillqvist <tml@iki.fi>
2288 * gdk_pixbuf.def: Add gdk_pixbuf_get_option.
2290 Fri Nov 30 15:55:34 2001 Owen Taylor <otaylor@redhat.com>
2292 * gdk-pixdata.c (gdk_pixdata_deserialize): Fix
2293 alignment problem in deserialization, (#65785,
2294 reported by Hidetoshi Tajima)
2296 2001-11-28 Manish Singh <yosh@gimp.org>
2298 * gdk-pixbuf/io-bmp.c (gdk_pixbuf__bmp_image_load_increment): Fill
2299 in missing error parameters to DecodeHeader and DecodeColormap.
2301 2001-11-21 Federico Mena Quintero <federico@ximian.com>
2303 Fix Ximian bug #12125; merged from gdk-pixbuf stable.
2305 * gdk-pixbuf/io-bmp.c (gdk_pixbuf__bmp_image_load_increment): Use
2306 a simple state machine instead of a scary if/else chain.
2307 (DecodeHeader): Set the reading state.
2308 (DecodeColormap): Set the reading state.
2309 (decode_bitmasks): New function, decodes the bitmasks for
2310 BI_BITFIELDS coding.
2311 (OneLine32): Handle BI_BITFIELDS coding.
2312 (OneLine16): Likewise.
2314 2001-11-18 Hans Breuer <hans@breuer.org>
2316 * io-xpm.c : use g_strcasecmp(), some poor platforms
2317 don't have strcasecmp()
2319 * makefile.msc : do INCLUDE_png etc. definition here to avoid
2320 my temporary 'gdk-pixbuf-io-include.h' hack
2322 Sun Nov 18 07:54:22 2001 Owen Taylor <otaylor@redhat.com>
2324 * gdk-pixbuf-loader.c: Remove include of gobject/signal.h.
2326 2001-11-03 Sebastian Wilhelmi <wilhelmi@ira.uka.de>
2328 * gdk-pixbuf-loader.c, gdk-pixbuf-scale.c: Documentation fixes.
2330 2001-10-29 Tor Lillqvist <tml@iki.fi>
2332 * Makefile.am: Use -no-undefined on Win32. Make
2333 libgdk_pixbuf_1_3_la_OBJECTS depend on
2334 gdk-pixbuf-marshal.c. Install import libraries.
2336 * gdk_pixbuf.def: Update.
2338 * gdk-pixbuf-io.c: (Win32) Use G_WIN32_DLLMAIN_FOR_DLL_NAME, saves
2339 the actual DLL name of libgdk_pixbuf.
2340 (get_libdir): Use it instead of guessing.
2342 * io-xbm.c (gdk_pixbuf__xbm_image_begin_load): Use
2343 g_file_open_tmp() insread of mkstemp().
2345 2001-10-18 Matthias Clasen <matthiasc@poet.de>
2347 * io-xbm.c (gdk_pixbuf__xbm_image_load_real): Don't dereference
2348 context when it may be NULL. (#62344)
2350 2001-10-16 Matthias Clasen <matthiasc@poet.de>
2352 * gdk-pixdata.c, gdk-pixdata.h: Documentation.
2354 * gdk-pixbuf-csource.1: Spelling fixes.
2356 Wed Oct 10 11:52:17 2001 Owen Taylor <otaylor@redhat.com>
2358 * gdk-pixdata.c gdk-pixbuf.h: Get rid of
2359 GDK_PIXBUF_ERROR_HEADER/PIXEL_CORRUPT and use CORRUPT_IMAGE.
2360 Get rid fo GD_PIXBUF_ERROR_UNKNOWN_FORMAT and use the
2361 existing UKNOWN_TYPE error. (#58308)
2363 * gdk-pixbuf.h, gdk-pixdata.c: Rename gdk_pixbuf_new_from_stream()
2364 back to gdk_pixbuf_new_from_inline(). Rework docs to try
2365 and be helpful for the common case. (#58308)
2367 2001-10-05 Sven Neumann <sven@gimp.org>
2369 * gdk-pixbuf/gdk-pixbuf-io.c
2370 * gdk-pixbuf/gdk-pixbuf-private.h
2371 * gdk-pixbuf/gdk-pixbuf.c
2372 * gdk-pixbuf/gdk-pixbuf.h
2373 * gdk-pixbuf/io-jpeg.c
2374 * gdk-pixbuf/io-png.c: changed GDK_PIXBUF_ERROR_BAD_OPTION_VALUE to
2375 GDK_PIXBUF_ERROR_BAD_OPTION to we can use it for bad keys too. Added
2376 new public API gdk_pixbuf_get_option() to retrieve key/value pairs
2377 set by an image loader. Added support for saving and reading PNG tEXt
2378 chunks in PNG images.
2380 Tue Oct 2 11:29:50 2001 Owen Taylor <otaylor@redhat.com>
2382 * gdk-pixdata.c (gdk_pixdata_to_csource): Fix indentation
2383 use a macro to make code a bit more readable.
2385 2001-10-02 Sven Neumann <sven@gimp.org>
2387 * gdk-pixdata.c: g_string_printfa => g_string_append_printf.
2389 Wed Sep 26 18:08:19 2001 Owen Taylor <otaylor@redhat.com>
2391 * Makefile.am (s-enum-types-h): Fix a typo in the include
2392 guards. (#61254, Skip Montaro)
2394 2001-09-21 Matthias Clasen <matthiasc@poet.de>
2396 * io-xpm.c (xpm_extract_color): Rewritten to handle
2397 xpm colormap entries more thoroughly. (#59939)
2399 2001-09-21 Hans Breuer <hans@breuer.org>
2401 * gdk-pixbuf.def : updated externals
2403 * makefile.msc : generate gdk-pixbuf-enum-types.[hc]
2405 Thu Sep 20 17:22:48 2001 Owen Taylor <otaylor@redhat.com>
2407 * io-tiff.c (gdk_pixbuf__tiff_image_load): On OSF, apparently fseek()
2408 works in some on-demand way, so the fseek
2409 gdk_pixbuf_new_from_file() doesn't work here since we are using
2410 the raw file descriptor. So, we call lseek() on the fileno(f)
2411 before using it. (#60840).
2413 2001-09-20 James Henstridge <james@daa.com.au>
2415 * Makefile.am (gdk-pixbuf-enum-types.c): same change as in pango,
2416 so that flags types are registered as flags rather than enums (not
2417 that there are any flags here at the moment).
2419 Wed Sep 19 00:28:24 2001 Owen Taylor <otaylor@redhat.com>
2421 * Makefile.am (gdk_pixbuf_headers): Don't include
2422 gkd-pixbuf-features.h here since is in builddir
2423 and confuses autogen rules.
2425 * Makefile.am: Don't += variables before they have values,
2426 automake-1.5 doesn't like it.
2428 * Makefile.am: Fix srcdir != builddir for gdk-pixbuf-enum-types.c.
2430 * Makefile.am: The whitespace strikes back.
2432 2001-09-17 Matt Wilson <msw@redhat.com>
2434 * Makefile.am (libpixbufloader_xbm_la_LDFLAGS): removed duplicate
2435 LDFLAGS definition, use the -avoid-version one.
2436 (libpixbufloader_tga_la_LDFLAGS): likewise
2438 Mon Sep 17 11:49:02 2001 Owen Taylor <otaylor@redhat.com>
2440 * pixops/*: Mirror GdkInterpType to PixopsInterpType
2441 to avoid including gdk-pixbuf headers.
2443 2001-09-16 James Henstridge <james@daa.com.au>
2445 * .cvsignore: add generated files to ignore list.
2447 * gdk-pixbuf.h: include gdk-pixbuf-enum-types.h
2449 * Makefile.am: add rules to build gdk-pixbuf-enum-types.[ch]
2451 Fri Sep 14 23:22:12 2001 Matthias Clasen <matthiasc@poet.de>
2453 * io-pnm.c (pnm_read_header): Use GDK_PIXBUF_ERROR_CORRUPT_IMAGE,
2454 not GDK_PIXBUF_ERROR_HEADER_CORRUPT. (#58308)
2456 Fri Sep 14 22:53:45 2001 Matthias Clasen <matthiasc@poet.de>
2458 * io-jpeg.c (gdk_pixbuf__jpeg_image_begin_load): Handle
2459 out-of-memory situation better.
2461 * io-pnm.c: Robustness fixes for pnm loader
2463 * io-gif.c: Make gif loader survive TEST_RANDOMLY_MODIFY
2465 * io-xpm.c (parse_color): detect very long color strings
2467 All of the above from Matthias Clasen <matthiasc@poet.de>,
2468 the remaining from Soeren Sandmann <sandmann@daimi.au.dk>.
2470 * test-images.h: add tests:
2471 - four valid ppm's, eight invalid (matthiasc@poet.de)
2472 - one invalid xpm (matthiasc@poet.de)
2473 - one valid tga, one invalid (sandmann@daimi.au.dk)
2474 - one invalid tiff (sandmann@daimi.au.dk
2476 * test-loaders.c: enable tests for ppm, png, gif, tga, tiff, xpm
2478 * io-tiff.c (gdk_pixbuf__tiff_image_stop_load): TIFFClientOpen can
2479 fail - detect it when it happens
2481 * io-tga.c (gdk_pixbuf__tga_load_increment): Fail if there is too
2484 * gdk-pixbuf-io.c: moved wbmb check after ico check to avoid false
2487 Fri Sep 14 00:30:48 2001 Tim Janik <timj@gtk.org>
2489 * Makefile.am: don't used BUILT_SOURCES to build marshal
2490 files, as in conjunction with stamp files, this can
2491 lead to endless rebuilding loops.
2493 Tue Sep 4 00:22:07 2001 Owen Taylor <otaylor@redhat.com>
2495 * Makefile.am: Fix EXTRA_DIST for gdk-pixbuf-csource.1
2497 Tue Sep 4 03:09:52 2001 Tim Janik <timj@gtk.org>
2499 * gdk-pixbuf-csource.1: new file, manual page for
2500 the publically installed gdk-pixbuf-csource utility.
2502 Thu Aug 30 08:30:03 2001 Matthias Clasen <matthiasc@poet.de>
2504 * gdk-pixbuf-loader.c (gdk_pixbuf_loader_close): Propagate
2505 errors from gdk_pixbuf_loader_load_module.
2507 Thu Aug 30 08:27:37 2001 Matthias Clasen <matthiasc@poet.de>
2509 * io-png.c (png_row_callback): Check that row_num is valid.
2511 Tue Aug 28 21:05:26 2001 Matthias Clasen <matthiasc@poet.de>
2513 * io-bmp.c (OneLine): Emit area_updated signal with proper
2514 area information. (#52002)
2516 Tue Aug 28 20:03:43 2001 Matthias Clasen <matthiasc@poet.de>
2518 * test-loaders.c (test_loader): Catch errors at close time.
2519 * test-loaders.c (main): Remove C++ comments.
2521 2001-08-21 Matthias Clasen <matthiasc@poet.de>
2523 * Makefile.am, gdk-pixbuf-io.c, pixbufloader_tga.def,
2524 io-tga.c: Add tga loader, patch by Nicola Girardi. (#56067)
2526 2001-08-20 Matthias Clasen <matthiasc@poet.de>
2528 * test-images.h, test-loaders.c: Add ico and wbmp tests.
2529 * io-jpeg.c (gdk_pixbuf__jpeg_image_save): Fail with a suitable
2530 error if buffer allocation fails.
2531 * io-ico.c: Make .ICO loader more robust.
2532 All of these are due to sandmann@daimi.au.dk (#50187)
2534 2001-08-19 Sven Neumann <sven@gimp.org>
2536 * pixops/pixops.c: applied some simple but effective optimizations
2537 to pixops_composite_nearest() and pixops_composite_color_nearest().
2539 2001-08-07 Sven Neumann <sven@gimp.org>
2541 * gdk-pixbuf.c (gdk_pixbuf_fill): a comment asked to optimize this
2542 function, so that's what I did.
2544 2001-08-06 Kjartan Maraas <kmaraas@gnome.org>
2546 * gdk-pixdata.c: Fix a typo.
2548 2001-07-30 Hans Breuer <hans@breuer.org>
2550 * pixops/makefile.msc : new file
2551 * makefile.msc : use it to complete the build
2553 2001-07-20 Hans Breuer <hans@breuer.org>
2555 * gdk-pixdata.c : don't 'g_tohl (*istream++)', but move
2556 pointer increment out of the macro, because at least one
2557 compiler (msvc 5.0) gets confused otherwise (applies the
2560 * gdk_pixbuf.def : updated exports
2562 * makefile.msc : reflect gdk-pixbuf-csource changes
2564 2001-07-17 Darin Adler <darin@bentspoon.com>
2566 * gdk-pixbuf-csource.c: Add missing <stdlib.h> include.
2567 * io-png.c: (setup_png_transformations): Add ifdef so we compile
2568 without warnings with G_DISABLE_CHECKS on.
2569 * io-pnm.c: (gdk_pixbuf__pnm_image_load_increment): Add a missing
2571 * io-wbmp.c: (getin), (get_mbi): Add a missing const.
2572 * io-xbm.c: (gdk_pixbuf__xbm_image_load_real): Get rid of some
2573 unused locals and add an initial value to quiet the compiler's
2574 unintialized variable warning.
2575 * pixops/pixops.c: Put an ifdef around some dead code.
2577 Thu Jul 5 10:17:15 2001 Owen Taylor <otaylor@redhat.com>
2579 * pixops/Makefile.am (noinst_LTLIBRARIES): Switch
2580 over to the new include flags AC_SUBST(). (Problem
2581 pointed out by Mikael Hermansson.)
2583 2001-06-29 Havoc Pennington <hp@redhat.com>
2585 * gdk-pixbuf-loader.c (gdk_pixbuf_loader_class_init): fix for
2588 Thu Jun 28 21:54:19 2001 Owen Taylor <otaylor@redhat.com>
2590 * make-inline-pixbuf.c test-gdk-pixbuf.c test-loaders.c
2591 gdk-pixbuf-csource.c: Fix args to g_type_init ().
2593 2001-06-28 Havoc Pennington <hp@pobox.com>
2595 * gdk-pixdata.c: <string.h>
2597 * gdk-pixbuf-io.c (get_libdir): fix typo in dll name (aren't we
2598 also leaking memory here from g_strdup_printf?)
2600 Tue Jun 26 09:48:02 2001 Tim Janik <timj@gtk.org>
2602 * Makefile.am (noinst_PROGRAMS): get rid of make-inline-pixbuf
2604 * gdk-pixbuf-data.[hc]: provide gdk_pixbuf_new_from_stream()
2605 instead from gdk_pixbuf_new_from_inline().
2607 * gdk-pixdata.[hc]: auxillary GdkPixdata structure, public
2608 installed API for applications that need to serialize/deserialize
2609 on their own (gimp, BEAST).
2611 * gdk-pixbuf/gdk-pixbuf-csource.c: provide publically installed
2612 program that can dump images in CSource format and Pixbuf
2613 stream format. supports RLE encoding, MACRO formatting etc...
2616 Mon Jun 25 00:28:11 2001 Owen Taylor <otaylor@redhat.com>
2618 * Makefile.am: Actually update timestamps, so rules don't
2621 2001-06-11 Havoc Pennington <hp@redhat.com>
2623 * Makefile.am (stamp-gdk-pixbuf-marshal.c): glib_genmarshal
2624 already includes top_builddir
2626 2001-06-08 Havoc Pennington <hp@redhat.com>
2628 * gdk-pixbuf-loader.c (gdk_pixbuf_loader_load_module): remove
2629 bogus g_return_if_fail
2631 * io-gif.c (gif_get_lzw): if delay time is 0 or smaller than
2632 likely timeout resolution, set it to an arbitrarily-chosen short
2634 Fixes bug #55953 from warmenhoven@yahoo.com
2636 2001-06-07 Havoc Pennington <hp@redhat.com>
2638 * Makefile.am: use Owen's new way of doing stampfiles/generated
2641 2001-06-07 Havoc Pennington <hp@redhat.com>
2643 * Makefile.am (gdk-pixbuf-marshal.c): fix up the glib-genmarshal path
2645 2001-06-05 Havoc Pennington <hp@redhat.com>
2647 * test-loaders.c (main): use putenv not setenv, reported by
2650 2001-05-08 Havoc Pennington <hp@redhat.com>
2652 * gdk-pixbuf-util.c (gdk_pixbuf_add_alpha): docs fixup,
2653 and fix behavior to still subst color if the original image
2656 2001-06-04 Havoc Pennington <hp@redhat.com>
2658 * io-pnm.c (pnm_skip_whitespace): patch from Szekeres Istvan,
2661 2001-06-01 Havoc Pennington <hp@redhat.com>
2663 Apply patch from sandmann@daimi.au.dk, with some tweaks.
2664 Makes things a bit more robust, and adds test-loaders.c
2665 which is good for finding further robustness bugs to fix.
2667 * io-tiff.c: Try to work around libtiff suckiness a bit;
2668 put a giant thread lock on the whole loader,
2669 paranoically check both whether error handlers were called and
2670 also whether functions return false. Handle case where width or
2671 height is 0. Various cleanups.
2673 * io-png.c (gdk_pixbuf__png_image_stop_load): only unref pixbuf
2675 (png_error_callback): apparently libpng expects you to longjmp out
2678 * io-gif.c (struct _GifContext): remove unused "pixbuf" field
2679 (lzw_read_byte): change "Mail jrb if this fails" g_warning
2681 (gif_get_lzw): check for out-of-memory
2682 (gif_prepare_lzw): catch/report an error
2683 (new_context): use try_malloc, since GifContext is nearly 70K
2684 (gdk_pixbuf__gif_image_load_increment): set context->buf to NULL
2685 so we don't crash later.
2687 * Makefile.am: Add test-loaders
2689 * gdk-pixbuf-loader.c (gdk_pixbuf_loader_close): handle context ==
2692 2001-05-29 Darin Adler <darin@eazel.com>
2694 * gdk-pixbuf.h: Fix prototype to use "(void)" instead of "()".
2696 Mon May 28 14:21:35 2001 Jonathan Blandford <jrb@redhat.com>
2698 * io-bmp.c: Patch from Helmethead <hoshem@mel.comcen.com.au> to
2699 fix up bmp decoder to:
2700 - adds 16 bpp bmp support (bug #53884)
2701 - adds OS/2 1.x format bmp support (bug #54964)
2702 - adds 4 bpp RLE compressed bmp support
2703 - adds 1 bpp colormap support
2704 - fixes negative height (top down) bmp support
2706 2001-05-25 Hans Breuer <hans@breuer.org>
2708 * gdk_pixbuf.def : reflect Havoc's recent api change
2710 Sun May 20 12:53:49 2001 Owen Taylor <otaylor@redhat.com>
2712 * Makefile.am (libgdk_pixbuf_1_3_la_LDFLAGS): Remove an
2713 excess $(GLIB_LIBS).
2715 Sun May 13 11:59:11 2001 Owen Taylor <otaylor@redhat.com>
2717 * Makefile.am: Make modules depend on libgdk_pixbuf.la.
2719 2001-05-04 Havoc Pennington <hp@redhat.com>
2721 * pixops/pixops.c (pixops_process): merge fix from stable: Patch
2722 from hoshem@mel.comcen.com.au to fix nonzero X offsets. Fixes
2725 * gdk-pixbuf/pixops/pixops.c (pixops_composite_nearest): merge
2726 from stable: Patch from OKADA Mitsuru <m-okada@fjb.co.jp> to fix
2727 confusion of using "src" instead of "p".
2728 (pixops_composite_color_nearest): Use a more accurate (and
2729 correct, to begin with) compositing method. This cures checks
2730 showing through on images with no alpha.
2732 * gdk-pixbuf.c (gdk_pixbuf_fill): fix bug that left some trailing
2735 * gdk-pixbuf-io.h: fix UpdatedNotifyFunc to use signed ints
2737 * gdk-pixbuf-loader.h (struct _GdkPixbufLoaderClass): Change
2738 area_updated signal to use signed ints. Removed animation-related
2741 * io-gif.c, io-gif-animation.h, io-gif-animation.c: Massive
2744 * gdk-pixbuf-animation.c: Add GdkPixbufAnimationIter to abstract
2745 all the pesky details. Remove old frame-based API. Make
2746 GdkPixbufAnimation an abstract base class, derived by the loaders.
2748 Sun Apr 22 15:51:32 2001 Owen Taylor <otaylor@redhat.com>
2750 * Makefile.am (LDADDS): Add $(MATH_LIB).
2752 2001-04-18 Havoc Pennington <hp@redhat.com>
2754 * gdk-pixbuf.c (gdk_pixbuf_fill): Function to fill pixbuf with a
2757 Wed Apr 4 01:41:02 2001 Tim Janik <timj@gtk.org>
2759 * pixops/Makefile.am (noinst_LTLIBRARIES): include $top_srcdir
2760 so we don't try to get <gtk/gtkobject.h> from standard search
2763 * Makefile.am (gdk-pixbuf-marshal.c): use deps from srcdir.
2764 add gdk-pixbuf-marshal.list to EXTRA_DIST.
2765 take gdk-pixbuf-marshal.h out of _la sources.
2767 2001-03-19 Tor Lillqvist <tml@iki.fi>
2769 * makefile.mingw.in: Handle gdk-pixbuf-marshal.c.
2771 * gdk_pixbuf.def: Update.
2773 * pixbufloader_*.def: Just export the fill_vtable functions now.
2775 2001-03-18 Mike Kestner <mkestner@ameritech.net>
2777 * make-inline-pixbuf.c (main): Added logic to remove output when
2780 2001-03-14 Havoc Pennington <hp@redhat.com>
2782 * Makefile.am (gdk-pixbuf-marshal.c): Use different temporary file
2783 from gdk-pixbuf-marshal.h, fixes parallel makes.
2785 Thu Mar 1 04:01:57 2001 Tim Janik <timj@gtk.org>
2787 * test-gdk-pixbuf.c: fixed includes.
2789 2001-02-18 Havoc Pennington <hp@pobox.com>
2791 * gdk-pixbuf-io.c (gdk_pixbuf_load_module): prepend underscore
2792 (gdk_pixbuf_get_named_module): prepend underscore
2793 (gdk_pixbuf_get_module): prepend underscore
2795 2001-02-19 Havoc Pennington <hp@redhat.com>
2797 * gdk-pixbuf-io.c (gdk_pixbuf_load_module): const fix
2799 2001-02-17 Havoc Pennington <hp@pobox.com>
2801 * gdk-pixbuf-loader.c (gdk_pixbuf_loader_new_with_type): docs
2803 2001-02-07 Alexander Larsson <alexl@redhat.com>
2805 * io-xpm.c (free_buffer):
2806 Use g_free, since the buffer is allocated with g_try_alloc().
2808 2001-02-06 Christophe Merlet <redfox@eikonex.org>
2810 * gdk-pixbuf-data.c: Fixes a minor typo.
2812 Sun Feb 4 07:59:57 2001 Tim Janik <timj@gtk.org>
2814 * gdk-pixbuf.h: DOH! don't include glib/gobject.h but glib-object.h,
2815 we finally need the gobject->gruntime rename.
2817 * *.c: scratched calls to g_type_init(), there's simply no point in
2818 doing that, use gtk_init().
2820 2001-02-01 Havoc Pennington <hp@pobox.com>
2822 * gdk-pixbuf-loader.c, gdk-pixbuf-loader.h: rename "private" field
2823 in struct to "priv" for C++
2825 2001-01-31 Havoc Pennington <hp@pobox.com>
2827 * gdk-pixbuf.c: include glib-object.h instead of gvaluetypes.h
2829 2001-01-26 Havoc Pennington <hp@redhat.com>
2831 * gdk-pixbuf-io.c (mname): fix included modules case.
2833 2001-01-22 Havoc Pennington <hp@redhat.com>
2835 * gdk-pixbuf-io.c (gdk_pixbuf_new_from_xpm_data): check errors
2836 from gdk_pixbuf_load_module
2838 2001-01-22 Havoc Pennington <hp@redhat.com>
2840 * Makefile.am: Add built marshaller files to support
2841 GdkPixbufLoader signals
2843 * gdk-pixbuf-io.c (gdk_pixbuf_load_module): have
2844 GDK_PIXBUF_MODULEDIR unconditionally replace the compiled-in
2845 module location, rather than acting as a fallback, because we are
2846 using GDK_PIXBUF_MODULEDIR to use gdk-pixbuf before installing it.
2848 * gdk-pixbuf.h: include gdk-pixbuf-loader.h
2850 * gdk-pixbuf-loader.h, gdk-pixbuf-loader.c: Move back over here
2851 from gtk, and add error to close(), because stop_load may do
2852 parsing of the image.
2854 * pixops/have_mmx.S (_pixops_have_mmx): add newline at end of file
2856 * io-*.c: make individual operations static, and add fill_vtable
2857 functions which are exported. Fix the collection of type warnings
2858 that surfaced, including a number of functions that didn't
2859 properly take a GError and some that weren't
2860 const-correct. Involved adding error handling for a few loaders.
2862 * gdk-pixbuf-io.h: Add error reporting to stop_load function
2864 * gdk-pixbuf-io.c (gdk_pixbuf_load_module): change to just look up
2865 a function that fills in the GdkPixbufModule vtable, instead of
2866 looking up all the image functions individually; this means we
2867 can get type safety within modules for the loader functions.
2868 Also it means you don't have to keep the statically compiled and
2869 GModule versions in sync.
2871 * test-gdk-pixbuf.c (main): remove gdk_pixbuf_init()
2873 * make-inline-pixbuf.c (main): remove call to gdk_pixbuf_init()
2875 * gdk-pixbuf.h: nuke gdk_pixbuf_init()
2877 * gdk-pixbuf-animation.c (gdk_pixbuf_frame_get_type): g_type_init
2880 * gdk-pixbuf.c (gdk_pixbuf_get_type): g_type_init () here
2882 * gdk-pixbuf-animation.c (gdk_pixbuf_animation_get_type):
2885 2001-01-20 John Harper <jsh@eazel.com>
2887 * io-xbm.c: new pixbuf loader, for X bitmap files. Basically a
2888 collision between Xlib's RdBitF.c and io-tiff.c
2890 * gdk-pixbuf-io.c, Makefile.am, pixbufloader_xbm.def: added
2893 [ merged from stable gdk-pixbuf module. Untested, but it
2894 compiles, and works fine in the stable module ]
2896 2001-01-18 Tor Lillqvist <tml@iki.fi>
2898 * gdk-pixbuf-io.c (get_libdir): (Win32) Use the new
2899 g_win32_get_package_installation_subdirectory() function. No need
2900 to include windows.h.
2901 (gtk_win32_get_installation_directory): Remove this then.
2903 2001-01-01 Havoc Pennington <hp@redhat.com>
2905 * Makefile.am (libgdk_pixbuf_1_3_la_LDFLAGS): add
2906 @LIBTOOL_EXPORT_OPTIONS@
2908 2000-12-30 Tor Lillqvist <tml@iki.fi>
2910 * gdk_pixbuf.def: Update.
2912 2000-12-16 Havoc Pennington <hp@pobox.com>
2914 * gdk-pixbuf-animation.c (gdk_pixbuf_animation_new_from_file): ref
2915 the pixbuf in the frame, so we can use gdk_pixbuf_frame_free
2916 (gdk_pixbuf_frame_copy): new function
2917 (gdk_pixbuf_frame_free): new function
2918 (gdk_pixbuf_frame_get_type): new function
2919 (GDK_TYPE_PIXBUF_FRAME): macro to get type for GdkPixbufFrame
2921 Tue Nov 14 11:51:26 2000 Owen Taylor <otaylor@redhat.com>
2923 * Makefile.am: Add -avoid-version for all modules.
2925 2000-11-13 Havoc Pennington <hp@redhat.com>
2927 * io-png.c (png_simple_error_callback): fix error message to not
2928 say "save" since it's used for loading
2930 2000-11-11 Hans Breuer <Hans@Breuer.Org>
2932 * gdk-pixbuf-io.c : Fix all function prototype macros for self
2933 contained image handlers (!USE_G_MODULE). Files to save should
2934 be opened in binary mode, fopen(s, "wb").
2936 * io-xpm.c : added HAVE_UNISTD_H condition
2938 2000-11-11 Tor Lillqvist <tml@iki.fi>
2940 * gdk_pixbuf.def: Add gdk_pixbuf_new_subpixbuf.
2942 * io-tiff.c (gdk_pixbuf__tiff_image_begin_load): Use
2943 g_file_open_tmp() (just added to GLib) instead of mkstemp() (or
2944 mktemp() and open()).
2946 * io-xpm.c (gdk_pixbuf__xpm_image_begin_load): Ditto.
2948 2000-11-01 Havoc Pennington <hp@pobox.com>
2950 * gdk-pixbuf.c (gdk_pixbuf_new_subpixbuf): New function to create
2951 a pixbuf pointing to a subregion of another pixbuf.
2953 2000-10-16 Tor Lillqvist <tml@iki.fi>
2955 * gdk-pixbuf-io.c: Define also m_save (for the non-gmodule case).
2957 2000-10-16 Havoc Pennington <hp@redhat.com>
2959 * gdk-pixbuf-io.c (gdk_pixbuf_get_module)
2960 (gdk_pixbuf_get_named_module) (gdk_pixbuf_load_module):
2961 add error reporting here also
2963 * make-inline-pixbuf.c (main): use GError
2965 * io-xpm.c: include unistd.h
2967 * gdk-pixbuf-util.c: include string.h
2969 * io-*.c: add error reporting
2971 * gdk-pixbuf-animation.c (gdk_pixbuf_animation_new_from_file): add
2974 * gdk-pixbuf-io.c (gdk_pixbuf_new_from_file): Add error reporting
2976 * gdk-pixbuf-io.h: Add GError** to load_increment and load
2979 * gdk-pixbuf-io.c (gdk_pixbuf_save) (gdk_pixbuf_savev): return
2980 a G_FILE_ERROR if we fail to write or close the file.
2982 * gdk-pixbuf.h: remove GDK_PIXBUF_ERROR_IO, instead we'll use
2983 G_FILE_ERROR_*. Rename enum to GdkPixbufError, properly following
2984 the GError naming rules. Add GError** to load functions.
2986 2000-10-06 Havoc Pennington <hp@redhat.com>
2988 * gdk-pixbuf.h: add GdkPixbufAlphaMode
2990 2000-10-06 Havoc Pennington <hp@redhat.com>
2992 This entry is a summary of the merged-in changes from 1.0.
2993 Relevant original ChangeLog entries are spliced in after
2994 this entry; the files they refer to are from the 1.0
2997 * pixops/pixops.c (pixops_composite_nearest): sync a small fix
3000 * io-xpm.c (xpm_seek_string): add fscanf error check from 1.0
3001 Add progressive loader from 1.0
3003 * io-tiff.c (gdk_pixbuf__tiff_image_begin_load): mem leak fixes
3006 * io-pnm.c: new version from 1.0 tree
3008 * io-jpeg.c (gdk_pixbuf__jpeg_image_load): sync from 1.0, use
3011 * io-gif.c (lzw_read_byte): sync from 1.0, change a g_error to
3013 (gif_get_next_step): return 0 here, sync from 1.0
3015 * gdk-pixbuf-util.c: sync email address change for Cody
3018 2000-09-11 Jeffrey Stedfast <fejj@helixcode.com>
3020 * gdk-pixbuf/io-pnm.c: Pretty much totally rewrote again because
3021 last nights code was still "broken". Should now properly handle
3022 all error conditions gracefully.
3024 2000-09-10 Jeffrey Stedfast <fejj@helixcode.com>
3026 * gdk-pixbuf/io-pnm.c: Rewrote.
3028 2000-09-09 Federico Mena Quintero <federico@helixcode.com>
3030 * gdk-pixbuf/pixops/pixops.c (pixops_composite_nearest): Compute
3031 the correct dest offset.
3033 2000-08-25 Federico Mena Quintero <federico@helixcode.com>
3035 * gdk-pixbuf/io-xpm.c: #include <unistd.h>
3037 2000-08-05 Larry Ewing <lewing@helixcode.com>
3039 * gdk-pixbuf/io-tiff.c: stop leaking context->tempname.
3041 * gdk-pixbuf/io-xpm.c: same as above.
3043 2000-07-26 Michael Meeks <michael@helixcode.com>
3045 * gdk-pixbuf/io-jpeg.c (gdk_pixbuf__jpeg_image_load): make
3048 2000-07-21 Larry Ewing <lewing@helixcode.com>
3050 * gdk-pixbuf/io-xpm.c: add a fake progressive loader so that
3051 xpm at least supports the progressive interface like the one in
3052 io-tiff.c. This should be reimplemented as an actual progressive
3055 2000-07-19 Jonathan Blandford <jrb@redhat.com>
3057 * demo/pixbuf-demo.c (update_timeout): changed scaling level to
3058 make it look better.
3059 * gdk-pixbuf/testpixbuf.c (update_timeout): Patch from michael
3060 meeks to handle errors better.
3062 2000-10-07 Tor Lillqvist <tml@iki.fi>
3065 * pixbufloader_jpeg.def
3066 * pixbufloader_png.def: Add new entry points.
3068 * makefile.mingw.in: Use libintl.
3070 2000-10-06 Havoc Pennington <hp@redhat.com>
3072 * gdk-pixbuf-io.c (gdk_pixbuf_save): s/format/type/g to be
3073 consistent with gdk_pixbuf_loader_new_with_type().
3074 Return runtime error if a module is missing.
3076 * gdk-pixbuf.h: add GDK_PIXBUF_ERROR_UNKNOWN_TYPE
3078 2000-10-05 Havoc Pennington <hp@redhat.com>
3080 Pixbuf saving, patch from David Welton.
3082 * Makefile.am (GDK_PIXBUF_LIBS): add INTLLIBS
3083 (libgdk_pixbuf_1_3_la_SOURCES): add gdk-pixbuf-i18n.h
3085 * gdk-pixbuf-i18n.h: Add _() to gdk-pixbuf
3087 * io-png.c (gdk_pixbuf__png_image_save): PNG save routine.
3089 * io-jpeg.c (gdk_pixbuf__jpeg_image_save): JPEG save routine.
3091 * gdk-pixbuf-io.c (gdk_pixbuf_save):
3092 (gdk_pixbuf_savev): Implement pixbuf saving routines
3094 * gdk-pixbuf.c (gdk_pixbuf_error_quark): pixbuf error quark
3097 * gdk-pixbuf.h: Add public save routines; add pixbuf error
3100 * gdk-pixbuf-io.h: Add save function to GdkPixbufModule
3102 2000-10-05 Dan Winship <danw@helixcode.com>
3104 * io-png.c, io-tiff.c, io-xpm.c: Fix comments to not claim that
3105 all three of these files are the JPEG image loader. (From
3108 2000-10-03 Tor Lillqvist <tml@iki.fi>
3110 * makefile.mingw.in: Add rule for make-inline-pixbuf. Use
3111 gdk-pixbuf's version number in the rule for makefile.mingw itself.
3113 * gdk_pixbuf.def: Add new entry points.
3115 2000-09-26 Havoc Pennington <hp@redhat.com>
3117 * gdk-pixbuf-util.c (gdk_pixbuf_saturate_and_pixelate): Add this
3118 function here, instead of putting it in a private GTK+ file.
3120 * gdk-pixbuf-private.h (GdkPixbufInlineFormat): include an
3121 enum here for the known formats of inlined pixbufs.
3122 Also, #define our file magic here.
3124 2000-06-23 Havoc Pennington <hp@redhat.com>
3126 * make-inline-pixbuf.c: Small program that creates C variable
3127 declarations of inline pixbuf data. This can be read
3128 by gdk_pixbuf_new_from_inline.
3130 * gdk-pixbuf.h (gdk_pixbuf_new_from_inline): New function to read
3131 inline pixbuf data and create a pixbuf from it.
3133 * gdk-pixbuf-data.c (gdk_pixbuf_new_from_inline): implement here
3135 2000-09-07 Tor Lillqvist <tml@iki.fi>
3137 * makefile.mingw.in: Use own version number for gdk-pixbuf DLLs,
3140 2000-08-12 Tor Lillqvist <tml@iki.fi>
3142 * gdk_pixbuf.def: Add missing entry point.
3144 2000-08-10 Havoc Pennington <hp@redhat.com>
3146 * Makefile.am (EXTRA_DIST): The *.def files had the wrong names
3147 (s/pixbuf_/pixbufloader_)
3149 2000-08-02 Tor Lillqvist <tml@iki.fi>
3155 * io-wbmp.c: Conditionalise inclusion of <unistd.h>.
3157 * makefile.mingw.in: List loaders alphabetically. Add the wbmp
3158 one. Fix names of DLLs to have '-' instead of '_'.
3160 2000-07-31 Elliot Lee <sopwith@redhat.com>
3161 * io-wbmp.c: Some bug fixes - now tested to work.
3163 2000-07-27 Elliot Lee <sopwith@redhat.com>
3165 * gdk-pixbuf-io.h, gdk-pixbuf-io.c: Add
3166 gdk_pixbuf_get_named_module() function to facilitate above change
3167 * io-wbmp.c, pixbufloader_wbmp.defs, gdk-pixbuf-io.c, Makefile:
3168 Implement loader for WBMP format.
3169 * io-bmp.c: Don't malloc a temporary buffer - use stack instead.
3171 2000-07-23 Tor Lillqvist <tml@iki.fi>
3176 * pixops/makefile.mingw.in
3177 * pixbuf_*.def: New files.
3180 * pixops/Makefile.am: Add them. Add rule to generate makefile.mingw.
3182 * gdk-pixbuf-io.c (gtk_win32_get_installation_directory):
3183 New function, to get the GTK+ installation directory from
3184 the Windows Registry, where the installation program
3185 for whatever software includes GTK+ has stored it.
3187 Used to avoid having hardcoding the directory where to look for
3188 loaders. This function is needed by gtk, too, so it should
3189 really be just in one place. Maybe a small static library
3190 one level up from here?
3192 * gdk-pixbuf-animation.c (gdk_pixbuf_animation_new_from_file)
3193 * gdk-pixbuf-io.c (gdk_pixbuf_new_from_file):
3194 Open file in binary mode. This *is* standard C. (No-op on Unix,
3197 * io-jpeg.c: If we don't HAVE_SIGSETJMP, use normal setjmp().
3199 * io-tiff.c: Use g_get_tmp_dir(). If we don't HAVE_MKSTEMP, use
3200 mktemp() and open().
3201 (gdk_pixbuf__tiff_image_stop_load): g_free() also the tempname.
3203 * pixops/*.S: The Gas from mingw32 doesn't like the .type
3204 pseudo-op. Conditionalise on __MINGW32__, but probably
3205 should conditionalise on Gas version instead? Or could we
3206 do without .type on all systems?
3208 * pixops/timescale.c: Use g_get_current_time()
3209 instead of gettimeofday().
3211 Sat Jul 22 10:57:22 2000 Owen Taylor <otaylor@redhat.com>
3213 * Makefile.am (test_gdk_pixbuf_LDADD): Remove -lgmodule
3215 Tue Jul 11 11:26:42 2000 Owen Taylor <otaylor@redhat.com>
3217 * gdk-pixbuf.c: Add <string.h> include.
3219 Tue Jul 11 06:20:14 2000 Tim Janik <timj@gtk.org>
3221 * io-gif.c (gdk_pixbuf__gif_image_load_animation):
3222 * gdk-pixbuf-data.c (gdk_pixbuf_new_from_data):
3223 * gdk-pixbuf-animation.c (gdk_pixbuf_animation_new_from_file):
3224 use g_object_new() instead of g_type_create_instance() which
3225 is a private function for fundamental type implementations.
3227 Thu Jul 6 11:49:47 2000 Owen Taylor <otaylor@redhat.com>
3229 * Makefile.am (libgdk_pixbuf_la_LDFLAGS): Use GTK+ version
3230 soname scheme for gdk-pixbuf.
3232 2000-06-21 Havoc Pennington <hp@pobox.com>
3234 * gdk-pixbuf.c: Convert GdkPixbuf to GObject, leaving it opaque
3235 (i.e. derivation is not allowed, and there are no virtual methods
3237 (gdk_pixbuf_preinit): Call g_type_init() here.
3238 (gdk_pixbuf_init): Add a user-friendly init function, for users
3239 of standalone gdk-pixbuf
3241 * gdk-pixbuf-animation.c: Convert to GObject, in the same
3242 way GdkPixbufAnimation was done.
3244 * gdk-pixbuf.h: Remove gdk_pixbuf_set_unref_handler() and
3245 gdk_pixbuf_finalize() from API, since these are broken and don't
3246 make sense with new GObject stuff.
3248 Wed Jun 21 16:02:48 2000 Owen Taylor <otaylor@redhat.com>
3250 * gdk-pixbuf-io.c (gdk_pixbuf_load_module): Add feature to
3251 support a GDK_PIXBUF_MODULEDIR env variable as a secondary
3254 2000-06-10 Federico Mena Quintero <federico@helixcode.com>
3256 * demo/pixbuf-demo.c: It was cold and rainy this Saturday morning,
3257 so I needed something to warm my thighs. Running plain infinite
3258 loops on your laptop to make it hot is not very much fun. A demo
3259 of the gdk-pixbuf scaling functions is way better, and looks
3262 * configure.in (AC_OUTPUT): Added the demo Makefile.
3264 * Makefile.am (SUBDIRS): Added the demo directory.
3266 2000-06-09 Larry Ewing <lewing@helixcode.com>
3268 * gdk-pixbuf/io-png.c (gdk_pixbuf__png_image_load_increment):
3269 setjmp for the png error handler. It seems setting the error
3270 handling functions does not avoid the jump, and so not calling
3271 setjmp was causing the incremental loader to jump into lala land.
3272 (gdk_pixbuf__png_image_begin_load): setjmp for error handling, I'm
3273 not sure this one is actually required but the docs say it must be
3274 set for every call to a png_* function.
3275 Also changed the comment to reflect the fact that setting the
3276 error handlers does _not_ avoid the longjmp.
3278 2000-06-06 Larry Ewing <lewing@helixcode.com>
3280 * gdk-pixbuf/gdk-pixbuf-loader.c (gdk_pixbuf_loader_frame_done):
3281 take frame offest into account when trying to calculate the
3282 animation bbox. Also set the width to the width not the height.
3283 (gdk_pixbuf_loader_animation_done): cycle over the frames to
3284 calculate bbox because now we finally have all the offset
3285 information for each frame.
3287 2000-06-05 Mathieu Lacage <mathieu@gnome.org>
3289 * configure.in: add some gtk parameters to the
3290 GDK_PIXBUF_LIBÃ�²S and GDK_PIXBUG_INCLUDEDIR vars. One more
3291 fight in my crusade for strange prefix compile...
3293 2000-05-30 Not Zed <NotZed@HelixCode.com>
3295 * gdk-pixbuf/io-jpeg.c (gdk_pixbuf__jpeg_image_begin_load):
3296 Initialise the error handler exit routine to our own. Note this
3297 means that every function that accesses the jpeg lib on this
3298 object MUST do a setjmp.
3299 (gdk_pixbuf__jpeg_image_stop_load): setjmp before accessing jpeg
3300 lib for handling fatal error.
3301 (gdk_pixbuf__jpeg_image_load_increment): And here too. So now
3302 your applications dont quit if there's a jpeg error!
3304 2000-05-30 Federico Mena Quintero <federico@helixcode.com>
3306 * gdk-pixbuf.spec.in: Include all the loader libraries. Patch
3307 from Frank de Lange <frank@unternet.org>.
3309 2000-05-09 Darin Adler <darin@eazel.com>
3311 * gdk-pixbuf/test-gdk-pixbuf.c:
3312 Fixed includes to get rid of accidental GNOME dependency.
3314 2000-05-26 Cody Russell <car0969@gamma2.uta.edu>
3315 * Makefile.am: Added gdk-pixbuf.spec to EXTRA_DIST
3317 2000-05-22 Federico Mena Quintero <federico@helixcode.com>
3319 * configure.in: Bumped version number to 0.8.0.
3321 * doc/Makefile.am (content_files): The toplevel gdk-pixbuf.sgml
3322 file was not being distributed.
3324 * gdk-pixbuf/pixops/Makefile.am (EXTRA_DIST): Added DETAILS.
3326 2000-05-09 Darin Adler <darin@eazel.com>
3328 * gdk-pixbuf/gdk-pixbuf-drawable.c: (rgb565lsb), (rgb565msb),
3329 (rgb565alsb), (rgb565amsb), (rgb555lsb), (rgb555msb), (rgb555alsb),
3330 (rgb555amsb), (convert_real_slow): Change all conversion from 16-bit
3331 formats to 32-bit formats to re-use the high bits of the color values
3332 so that white maps to full white.
3334 Fri May 5 12:16:32 2000 Owen Taylor <otaylor@redhat.com>
3336 * gdk-pixbuf/pixops/DETAILS: Add beginnings of file with
3337 detailed information about the structure and algorithms
3338 of pixops so people can fix it instead of breaking it.
3340 2000-05-04 Darin Adler <darin@eazel.com>
3342 * gdk-pixbuf/pixops/pixops.c: (pixops_composite_nearest),
3343 (composite_pixel), (composite_line):
3344 * gdk-pixbuf/test-gdk-pixbuf.c: (simple_composite_test_one_type):
3345 Now that Owen explained the algorithm, I think I implemented it
3346 right for the cases where the destination pixbuf is not opaque.
3347 The test does seem to confirm it.
3349 2000-05-04 Darin Adler <darin@eazel.com>
3351 * gdk-pixbuf/.cvsignore:
3352 * gdk-pixbuf/Makefile.am:
3353 * gdk-pixbuf/test-gdk-pixbuf.c (store_pixel), (fill_with_pixel),
3354 (load_pixel), (simple_composite_test_one),
3355 (simple_composite_test_one_type), (simple_composite_test), (main):
3356 Added some tests of composite to highlight problems in the old
3357 implementation. These tests run without any user interaction.
3358 Just do "make check".
3360 * gdk-pixbuf/pixops/pixops.c (pixops_composite_nearest),
3361 (composite_pixel), (composite_line): Fix composite to do a textbook
3362 "A over B" composite. This was clearly the intent, and it was easy
3363 to fix the code to do it. (Note to those that read my earlier tries
3364 at a patch; this version fixes typos that were present in all
3365 my patch attempts. I checked the final version by adding more tests.)
3367 2000-04-22 05:27:43 2000 Owen Taylor <otaylor@redhat.com>
3369 * gdk-pixbuf/pixops/pixops.c (pixops_scale_nearest): Properly
3370 offset y coordinate accordining to render_y0.
3372 * gdk-pixbuf/gdk-pixbuf-scale.c: Properly handle nonzero
3375 2000-04-22 James Henstridge <james@daa.com.au>
3377 * gdk-pixbuf.spec.in (%files): moved %{prefix}/bin/* from the main
3378 package to the devel package. The only file installed in bin is
3379 gdk-pixbuf-config, which belongs in -devel. This should allow having
3380 multiple versions of the main gdk-pixbuf package installed.
3382 2000-04-17 Karl Eichwalder <ke@suse.de>
3384 * gdk-pixbuf/Makefile.am (INCLUDES): Add $(GNOME_CFLAGS).
3385 Reported by Jens Finke.
3387 2000-04-14 Tomasz KÃ�³opczko <kloczek@pld.org.pl>
3389 * gdk-pixbuf/pixops/makefile.am: $(LIBART_CFLAGS) replaced by
3390 $(GTK_CFLAGS) - now gdk-pixbuf compiles correctly.
3392 2000-04-13 James Henstridge <james@daa.com.au>
3394 * configure.in: when performing the configure check to see if
3395 gmodule works, set CFLAGS to GLIB_CFLAGS and LIBS to GLIB_LIBS,
3396 rather than the other way round. Also, call AC_MSG_RESULT in the
3397 even that dynamic modules were not supported.
3399 2000-04-12 Federico Mena Quintero <federico@helixcode.com>
3401 This comes from an excellent idea by Tim Janik (timj@gtk.org) to
3402 hook to the last unref operation.
3404 * gdk-pixbuf/gdk-pixbuf.c (gdk_pixbuf_set_last_unref_handler): New
3405 function to set the last unref handler for a pixbuf.
3406 (gdk_pixbuf_finalize): New function to actually finalize a pixbuf.
3407 It calls the pixbuf's destroy notification function and frees the
3408 GdkPixbuf structure itself.
3409 (gdk_pixbuf_unref): Use the last unref function of the pixbuf if
3412 * gdk-pixbuf/gdk-pixbuf-private.h (struct _GdkPixbuf): New fields
3413 for the last unref handler and its user data.
3415 * gdk-pixbuf/gdk-pixbuf-data.c (gdk_pixbuf_new_from_data): Use
3416 g_new0() to allocate the pixbuf.
3418 * gdk-pixbuf/gdk-pixbuf-loader.c (gdk_pixbuf_loader_class_init):
3419 Fixed the call to gtk_signal_new() for the "frame_done" signal; it
3420 was not specifying the `frame' argument.
3422 * gdk-pixbuf/gdk-pixbuf-animation.c
3423 (gdk_pixbuf_animation_get_width): Fixed docstring.
3424 (gdk_pixbuf_animation_get_height): Likewise.
3425 (gdk_pixbuf_animation_get_num_frames): Likewise.
3426 (gdk_pixbuf_animation_get_frames): Likewise.
3428 * doc/gdk-pixbuf-sections.txt: Updated with the new functions and
3431 * doc/tmpl/gdk-pixbuf.sgml: Added the description for GdkColorspace.
3433 * doc/tmpl/scaling.sgml: Added the description for GdkInterpType.
3435 * doc/tmpl/refcounting.sgml: Updated with the information about
3436 the last unref handler.
3438 * doc/tmpl/*.sgml: Markup tweaks.
3440 * gdk-pixbuf/Makefile.am (libgnomecanvaspixbuf_la_LDFLAGS): Sigh,
3441 update the libtool version number for libgnomecanvaspixbuf as
3443 (libpixbufloader_*_la_LDFLAGS): The loaders need to be versioned
3444 as well, or the old ones won't work with the new stuff. Also,
3445 renamed the modules as follows.
3447 * gdk-pixbuf/gdk-pixbuf-io.c (gdk_pixbuf_load_module): Now the
3448 modules are called "libpixbufloader-<format>.so" instead of
3449 "libpixbuf-<format>.so". They needed renaming so that the new
3450 loaders won't overwrite the old ones; even with the versioning
3451 stuff, the new .so symlink to the .so.1.0.0 would overwrite the
3454 2000-04-12 Paolo Molaro <lupus@debian.org>
3456 * .cvsignore, src/.cvsignore: shut up cvs.
3458 2000-04-11 Federico Mena Quintero <federico@helixcode.com>
3460 Most of this patch is based on a patch by Havoc Pennington
3461 (hp@redhat.com) to make GdkPixbuf's structures opaque and to
3462 remove the libart dependency.
3464 * gdk-pixbuf/gdk-pixbuf.h: Removed the public structures.
3465 (GdkColorspace): New enum that for now only contains
3467 (GdkPixbufDestroyNotify): New type for the pixbuf's pixels destroy
3468 notification function.
3469 (GdkInterpType): New num with interpolation types.
3471 * *.[ch]: Replace the libart stuff with our own stuff.
3473 * pixops/*.[ch]: Likewise.
3475 * gdk-pixbuf/gdk-pixbuf-private.h: New file with the private
3476 declarations of the GdkPixbuf structures.
3478 * gdk-pixbuf/gdk-pixbuf.c (gdk_pixbuf_new_from_art_pixbuf):
3480 (gdk_pixbuf_get_format): Constify.
3481 (gdk_pixbuf_get_n_channels): Constify.
3482 (gdk_pixbuf_get_has_alpha): Constify.
3483 (gdk_pixbuf_get_bits_per_sample): Constify.
3484 (gdk_pixbuf_get_pixels): Constify.
3485 (gdk_pixbuf_get_width): Constify.
3486 (gdk_pixbuf_get_height): Constify.
3487 (gdk_pixbuf_get_rowstride): Constify.
3489 * gdk-pixbuf/gdk-pixbuf.c (gdk_pixbuf_copy): New function to copy
3492 * gdk-pixbuf/gdk-pixbuf-data.c (gdk_pixbuf_new_from_data): Added a
3493 bits_per_sample argument; currently only 8 bits per sample are
3496 * gdk-pixbuf/gdk-pixbuf-animation.c (gdk_pixbuf_frame_get_pixbuf):
3498 (gdk_pixbuf_frame_get_x_offset): New accessor.
3499 (gdk_pixbuf_frame_get_y_offset): New accessor.
3500 (gdk_pixbuf_frame_get_delay_time): New accessor.
3501 (gdk_pixbuf_frame_get_action): New accessor.
3503 * gdk-pixbuf/gdk-pixbuf-render.c
3504 (gdk_pixbuf_render_pixmap_and_mask): Instead of returning a solid
3505 mask rectangle for pixbufs without an alpha channel, set the
3506 *mask_return to NULL.
3508 * gdk-pixbuf/gdk-pixbuf-util.c (gdk_pixbuf_add_alpha): Constify.
3510 * gdk-pixbuf/gdk-pixbuf-scale.c: Fix includes.
3512 * gdk-pixbuf/gdk-pixbuf-scale.c (gdk_pixbuf_scale): Added some
3513 preconditions. Maybe we should also check for the colorspace,
3514 bits per pixel, and such.
3515 (gdk_pixbuf_composite): Likewise.
3516 (gdk_pixbuf_composite_color): Likewise.
3517 (gdk_pixbuf_scale_simple): Likewise, and fail gracefully if we
3518 cannot allocate the new pixbuf.
3519 (gdk_pixbuf_composite_color_simple): Likewise.
3521 * gdk-pixbuf/gnome-canvas-pixbuf.c (gnome_canvas_pixbuf_render):
3522 Use art_rgb_rgba_affine() or art_rgb_affine() since we no longer
3525 * gdk-pixbuf/io-bmp.c: Fix includes.
3527 * gdk-pixbuf/pixops/pixops.c (pixops_scale_nearest): Fixed cast in
3532 * configure.in: Removed checks for libart.
3534 * gdk-pixbuf/Makefile.am: Removed references to libart.
3535 (noinst_HEADERS): Added gdk-pixbuf-private.h.
3537 * gdk-pixbuf/Makefile.am (libgdk_pixbuf_la_LDFLAGS): Incremented
3538 the version number of the libtool library to indicate that this
3539 definitely is not compatible with the old usage. I know you love
3542 * configure.in: Bumped version number to 0.7.0.
3546 * gdk-pixbuf-config.in (--libs): We no longer require libart.
3548 * DEPENDS.libgdk_pixbuf: We no longer depend on libart.
3550 * gdk-pixbuf.spec.in: Updated, but I don't guarantee anything.
3552 2000-04-06 Jonathan Blandford <jrb@redhat.com>
3554 * gdk-pixbuf/testanimation.c (main): add more info to the
3555 testanimation frames.
3557 2000-04-04 Ettore Perazzoli <ettore@helixcode.com>
3559 * gdk-pixbuf/gdk-pixbuf-animation.c
3560 (gdk_pixbuf_animation_get_width): New accessor function.
3561 (gdk_pixbuf_animation_get_height): New accessor function.
3562 (gdk_pixbuf_animation_get_num_frames): New accessor function.
3563 (gdk_pixbuf_animation_get_frames): New accessor function.
3565 2000-04-01 Federico Mena Quintero <federico@helixcode.com>
3567 * gdk-pixbuf/gdk-pixbuf.c: Reverted Mark's change. The refcount
3568 is private information, and the art_pixbuf will go away soon.
3570 2000-03-31 Mark Crichton <crichton@gimp.org>
3572 * gdk-pixbuf/gdk-pixbuf.c: Added gdk_pixbuf_get_refcount
3573 and gdk_pixbuf_get_artpixbuf accessor functions.
3575 2000-03-29 Federico Mena Quintero <federico@helixcode.com>
3577 * gdk-pixbuf/gdk-pixbuf.c (gdk_pixbuf_get_has_alpha): Return
3578 gboolean instead of int.
3580 2000-03-29 Radek Doulik <rodo@helixcode.com>
3582 * gdk-pixbuf/gdk-pixbuf-animation.c
3583 (gdk_pixbuf_animation_new_from_file): same as below
3585 * gdk-pixbuf/io-gif.c (gif_get_lzw): added update of width and
3586 height in GdkPixbufAnimation
3588 2000-03-28 Radek Doulik <rodo@helixcode.com>
3590 * gdk-pixbuf/io-gif.c (gif_get_lzw): test also for
3591 context->frame_done_func and context->anim_done_func to make
3592 progressive animation loading work
3594 * gdk-pixbuf/gdk-pixbuf-loader.c (gdk_pixbuf_loader_frame_done):
3595 added priv->pixbuf = NULL as pixbuf is now in frame (and to make
3596 gdk_pixbuf_loader_prepare happy)
3597 (gdk_pixbuf_loader_frame_done): update animation bbox
3599 * gdk-pixbuf/gdk-pixbuf.h: added bbox size (width, height) to
3602 2000-03-27 Radek Doulik <rodo@helixcode.com>
3604 * gdk-pixbuf/io-gif.c (gif_get_lzw): use frame_len and frame_width
3605 instead of width and height
3607 2000-03-27 Owen Taylor <otaylor@redhat.com>
3609 * gdk-pixbuf/pixops/pixops.c: Fix problem with
3610 precendence of >> and & which was keeping composite_color
3611 from working with non-gray images.
3613 2000-03-08 Jonathan Blandford <jrb@redhat.com>
3615 * gdk-pixbuf/io-gif.c (gdk_pixbuf__gif_image_load): free the context.
3616 (gdk_pixbuf__gif_image_load_animation): free the context.
3618 2000-03-06 Arjan van de Ven <arjan@fenrus.demon.nl>
3620 * gdk-pixbuf/io-bmp.c: Fixed to pointer-bugs and a
3621 mis-interpretation of the Microsoft documentation. Now
3622 it can load .BMP files that are not generated by The Gimp
3625 2000-03-01 Mark Crichton <crichton@gimp.org>
3627 * configure.in: Added BUILD_CANVAS_ITEM stuff to (finally)
3628 fix the last auto* build bug (where we have libart, but no
3631 * gdk-pixbuf/Makefile.am: Same.
3633 2000-02-28 Matt Wilson <msw@redhat.com>
3635 * gdk-pixbuf/gdk-pixbuf-drawable.c: s/unsigned long/guint32/g,
3636 s/unsigned short/guint16/g, s/unsigned char/guint8/g
3638 2000-02-26 Federico Mena Quintero <federico@helixcode.com>
3640 * README: We don't require libgif/ungif nor libXpm.
3642 * NEWS: This was outdated, so updated it.
3644 2000-02-25 Federico Mena Quintero <federico@helixcode.com>
3646 * gdk-pixbuf.m4: Use the correct name for
3647 gdk-pixbuf/gdk-pixbuf.h. Thanks to Jacob Berkman for pointing
3650 2000-02-21 Federico Mena Quintero <federico@helixcode.com>
3652 * configure.in (GDK_PIXBUF_MINOR): Bumped version number to 0.6.0.
3654 * doc/compiling.sgml: New appendix documenting the gdk-pixbuf
3655 library's particular options to configure.in.
3657 * doc/gdk-pixbuf.sgml: Include compiling.sgml appendix via an
3660 * doc/Makefile.am (gdk-pixbuf.html): Added compiling.sgml.
3662 * gdk-pixbuf/io-ico.c (gdk_pixbuf__ico_image_load_increment):
3663 Fixed typo in prototype name.
3665 * configure.in: Changed duplicated AC_MSG_CHECKING message to
3666 something more meaningful; now it is "checking whether dynamic
3669 * gdk-pixbuf/pixops/Makefile.am (noinst_PROGRAMS): Do not install
3670 the timescale program.
3672 Integrated Miguel de Icaza's <miguel@gnu.org> patch for optionally
3673 creating a single static library with all the image format modules
3676 2000-02-20 Miguel de Icaza <miguel@gnu.org>
3678 * gdk-pixbuf/io-xpm.c (gdk_pixbuf__xpm_image_load): Add prefix.
3679 (gdk_pixbuf__xpm_image_load_xpm_data): Add prefix.
3681 * gdk-pixbuf/io-tiff.c (gdk_pixbuf__tiff_image_load_real): Add prefix.
3682 (gdk_pixbuf__tiff_image_stop_load): Add prefix.
3683 (gdk_pixbuf__tiff_image_load_increment): Add prefix.
3684 (gdk_pixbuf__tiff_image_load): Add prefix.
3685 (gdk_pixbuf__tiff_image_stop_load): Update invocation.
3686 (gdk_pixbuf__tiff_image_begin_load): Add prefix.
3688 * gdk-pixbuf/io-ras.c (gdk_pixbuf__ras_image_load): Add prefix.
3689 (gdk_pixbuf__ras_image_load): Updated invocation.
3690 (gdk_pixbuf__ras_image_begin_load): Add prefix.
3691 (gdk_pixbuf__ras_image_stop_load): Add prefix.
3692 (gdk_pixbuf__ras_image_load_increment): Add prefix.
3694 * gdk-pixbuf/io-pnm.c (gdk_pixbuf__pnm_image_begin_load): Add prefix.
3695 (gdk_pixbuf__pnm_image_stop_load): Add prefix.
3696 (gdk_pixbuf__pnm_image_load_increment): Add prefix
3697 (gdk_pixbuf__pnm_image_load): Add prefix.
3699 * gdk-pixbuf/io-jpeg.c (gdk_pixbuf__jpeg_image_load): Add prefix.
3700 (gdk_pixbuf__jpeg_image_load_increment): Add prefix.
3701 (gdk_pixbuf__jpeg_image_begin_load): Add prefix.
3702 (gdk_pixbuf__jpeg_image_stop_load): Add prefix.
3704 * gdk-pixbuf/io-ico.c (gdk_pixbuf__ico_image_load): Add prefix.
3705 (gdk_pixbuf__ico_image_load): update invocation.
3706 (gdk_pixbuf__ico_image_load_increment): Add prefix.
3707 (gdk_pixbuf__ico_image_load): update invocation.
3708 (gdk_pixbuf__ico_image_begin_load): Add prefix.
3709 (gdk_pixbuf__ico_image_load): update invocation.
3710 (gdk_pixbuf__ico_image_stop_load): Add prefix.
3712 * gdk-pixbuf/io-gif.c (gdk_pixbuf__gif_image_load_animation): Add prefix.
3713 (gdk_pixbuf__gif_image_load): Add prefix.
3714 (gdk_pixbuf__gif_image_begin_load): Add prefix.
3715 (gdk_pixbuf__gif_image_load_increment): Add prefix.
3716 (gdk_pixbuf__gif_image_load_animation): Add prefix.
3717 (gdk_pixbuf__gif_image_stop_load): Add prefix.
3719 * gdk-pixbuf/io-bmp.c (gdk_pixbuf__bmp_image_load): Add prefix.
3720 (gdk_pixbuf__bmp_image_load): Rename function called.
3721 (gdk_pixbuf__bmp_image_load_increment): Add prefix
3723 * gdk-pixbuf/io-png.c (gdk_pixbuf__png_image_load): Add prefix.
3724 (gdk_pixbuf__png_image_begin_load): Add prefix.
3725 (gdk_pixbuf__png_image_stop_load): Add prefix.
3726 (gdk_pixbuf__png_image_load_increment): Add prefix.
3728 * gdk-pixbuf/gdk-pixbuf-io.c (file_formats): Make this static.
3729 (gdk_pixbuf_load_module): Load the shared library entry points
3730 using a "gdk_pixbuf__$module_name" prefix.
3731 (pixbuf_module_symbol): Wrapper routine that uses the module
3732 prefix for the modules to load the information.
3734 * configure.in (GDK_PIXBUF_VERSION): New option --disable-modules
3735 lets the user specify that gdk-pixbuf should link all image loader
3736 code into the library instaed of creating shared library modules.
3738 (dynworks): Renamed the automake conditional DYNAMIC_MODULES_WORK
3739 to BUILD_DYNAMIC_MODULES.
3741 2000-02-19 Jonathan Blandford <jrb@redhat.com>
3743 * gdk-pixbuf/io-gif.c (new_context): fix case where initial
3744 colormap entry is Transparent.
3746 2000-02-19 Owen Taylor <otaylor@redhat.com>
3748 * gdk-pixbuf/pixops/pixops.c (scale_pixel): Fix error in
3749 scale factors for non-alpha case.
3751 2000-02-14 Mark Crichton <crichton@gimp.org>
3753 * gdk-pixbuf/io-xpm.c (xpm_extract_color): Added check for "g"
3754 color type. Imlib/libXpm handle this, but we didn't.
3756 2000-02-14 Darin Adler <darin@eazel.com>
3758 * gdk-pixbuf/testpixbuf.c: Remove now-unnecessary cast.
3759 * .cvsignore: gdk-pixbuf/.cvsignore: More to ignore.
3761 2000-02-14 Elliot Lee <sopwith@redhat.com>
3762 * gdk-pixbuf/gdk-pixbuf.h, gdk-pixbuf/gdk-pixbuf-data.c: Make
3763 passed-in argument 'const'.
3765 2000-02-04 Michael Meeks <mmeeks@gnu.org>
3767 * gdk-pixbuf/io-gif.c (struct _GifContext): add x,y_offset.
3768 (gif_get_frame_info): put the offsets on the context.
3769 (gif_get_lzw): copy them off into the frame.
3770 (new_context): no change required; will 0 offsets by default.
3772 2000-01-28 Michael Meeks <michael@mejm2.dow.cam.ac.uk>
3774 * gdk-pixbuf/pixops/pixops.c (pixops_process): const + nasty
3777 * gdk-pixbuf/pixops/pixops.h: const.
3779 * gdk-pixbuf/gdk-pixbuf-util.c: const.
3781 * gdk-pixbuf/gdk-pixbuf-scale.c: const.
3783 * gdk-pixbuf/gdk-pixbuf.h: constify lots of things.
3785 2000-02-03 Federico Mena Quintero <federico@helixcode.com>
3787 * gdk-pixbuf/gdk-pixbuf-render.c
3788 (gdk_pixbuf_render_threshold_alpha): Added sanity check for width
3789 and height being >= 0. Also, do nothing if either of them is
3790 zero. Thanks to Ettore for pointing this out.
3791 (gdk_pixbuf_render_to_drawable): Likewise.
3792 (gdk_pixbuf_render_to_drawable_alpha): Likewise.
3794 2000-02-02 Federico Mena Quintero <federico@helixcode.com>
3796 * gdk-pixbuf/io-gif.c (gif_get_lzw): Removed debugging g_print.
3797 Thanks to John Sullivan <sullivan@eazel.com> for the patch.
3799 * gdk-pixbuf/testpixbuf-drawable.c (configure_cb): Get a new area
3800 of the screen when the window is resized. Thanks to David
3801 N. Welton <davidw@linuxcare.com> for pointing this out.
3802 Misc. cleanups to the rest of the file.
3804 2000-02-01 Federico Mena Quintero <federico@helixcode.com>
3806 * doc/tmpl/rendering.sgml: gnome_init() does not call
3807 gdk_rgb_init(), so don't mention that it does in the
3808 documentation. Thanks to Alexander Kruuse <kruuse@home.se> for
3811 2000-01-31 Havoc Pennington <hp@redhat.com>
3813 * gdk-pixbuf/Makefile.am (noinst_PROGRAMS): no testpixbuf-foo target
3815 Mon Jan 31 12:38:50 2000 Owen Taylor <otaylor@redhat.com>
3817 * gdk-pixbuf/pixops/pixops.c (scale_line): Fix from Peter
3818 Wainwright to fix 4a => 4a scaling.
3820 2000-01-29 Mark Crichton <crichton@gimp.org>
3822 * gdk-pixbuf-config: Oh dear, we weren't Telsa/Alan proof...
3823 put `libart-config --libs` in instead of -lart_lgpl.
3825 2000-01-22 Federico Mena Quintero <federico@helixcode.com>
3827 * gdk-pixbuf/io-pnm.c (pnm_read_raw_scanline): Return an error on
3829 (pnm_read_ascii_scanline): Initialize data and mask.
3831 * gdk-pixbuf/io-xpm.c (pixbuf_create_from_xpm): Initialize
3832 fallbackcolor to keep gcc happy.
3834 * configure.in: Bumped version number to 0.5.0.
3836 * gdk-pixbuf/pixops/timescale.c (dump_array): Removed unused variable.
3839 * gdk-pixbuf/pixops/pixops.c (pixops_composite_color_nearest): Put
3840 parentheses around + in a shift to remove a compiler warning.
3841 (pixops_process): Likewise.
3843 Patch from Ross Golder <rossigee@bigfoot.com> to create an RPM
3846 * configure.in: Added gdk-pixbuf.spec to AC_OUTPUT.
3848 * Makefile.am (EXTRA_DIST): Added gdk-pixbuf.spec.in
3850 2000-01-22 Federico Mena Quintero <federico@helixcode.com>
3852 * gdk-pixbuf/gnome-canvas-pixbuf.c (PixbufPrivate): Removed the
3853 x_set and y_set arguments. Now they are always on and start with
3854 defaults of 0.0 in units.
3855 (gnome_canvas_pixbuf_class_init): Likewise.
3856 (gnome_canvas_pixbuf_set_arg): Likewise.
3857 (gnome_canvas_pixbuf_get_arg): Likewise.
3858 (compute_viewport_affine): Likewise; always use the priv->x and
3861 * doc/tmpl/gnome-canvas-pixbuf.sgml: Modified to reflect the
3862 removal of the x_set/y_set arguments.
3864 2000-01-21 Federico Mena Quintero <federico@helixcode.com>
3866 * gdk-pixbuf/gdk-pixbuf.c (gdk_pixbuf_ref): Return the same pixbuf
3867 as the input parameter.
3869 * gdk-pixbuf/gdk-pixbuf-animation.c (gdk_pixbuf_animation_ref):
3870 Return the same animation as the input parameter.
3872 2000-01-16 Elliot Lee <sopwith@redhat.com>
3874 * gdk-pixbuf/Makefile.am: Don't link against libgnomecanvaspixbuf.la
3876 2000-01-16 Federico Mena Quintero <federico@helixcode.com>
3878 * configure.in: Removed the broken --enable-canvas-pixbuf option.
3879 Added the stuff necessary to substitute the variables in
3880 gnomecanvaspixbufConf.sh.in.
3882 * gnomecanvaspixbufConf.sh.in: New gnome-config handler for the
3883 tiny gnomecanvaspixbuf library.
3885 * Makefile.am: Build gnomecanvaspixbufConf.sh.
3887 * gdk-pixbuf/Makefile.am: Create a libgnomecanvaspixbuf and only
3888 build it if gdk-pixbuf is being built outside of gnome-libs.
3890 * doc/gdk-pixbuf-sections.txt: Added gdk_pixbuf_render_pixmap_and_mask().
3892 * gdk-pixbuf/gdk-pixbuf-render.c
3893 (gdk_pixbuf_render_pixmap_and_mask): Renamed from
3894 gdk_pixbuf_render_pixmap(). Do not create the mask if it is not
3895 needed, and do not use a clipping mask when rendering the pixmap.
3896 Tweaked documentation a little.
3898 * HACKING: New file with hacking policies for the gdk-pixbuf
3901 * doc/Makefile.am (tmpl_sources): Added missing backslash.
3903 * doc/Makefile.am: Use gnomecanvaspixbuf in gnome-config when
3904 scanning for docstrings.
3906 * gdk-pixbuf/gdk-pixbuf-util.c (gdk_pixbuf_copy_area): Made sanity
3907 checks more stringent. Removed "gint" abominations. Made
3908 documentation consistent with the rest of the functions.
3910 * doc/gdk-pixbuf-sections.txt: Added gdk_pixbuf_copy_area() to the
3913 2000-01-14 Jonathan Blandford <jrb@redhat.com>
3915 * gdk-pixbuf/gdk-pixbuf-render.c (gdk_pixbuf_render_pixmap): new
3916 function to let you create a gdk_pixmap from a gdk_pixbuf.
3918 2000-01-11 Jacob Berkman <jacob@helixcode.com>
3920 * gdk-pixbuf/pixops/Makefile.am (INCLUDES): added
3921 $LIBART_CFLAGS to $INCLUDES
3923 2000-01-10 Elliot Lee <sopwith@redhat.com>
3925 * configure.in, gdk-pixbuf/Makefile.am: Build a libcanvas_pixbuf.
3927 * configure.in: Define version macros. Generate
3928 gdk-pixbuf/gdk-pixbuf-features.h. Always INSIDE_GNOME.
3930 * gdk-pixbuf/Makefile.am: Add gdk-pixbuf-features.h
3932 * gdk-pixbuf/gdk-pixbuf.c: Add definitions of
3933 gdk-pixbuf-features.h declarations, plus some initialization
3936 2000-01-05 Owen Taylor <otaylor@redhat.com>
3938 * gdk-pixbuf/pixops/pixops.c: Fixed src_channels/dest_channels
3939 confusion. (Again caught by Tomas Ogren's Purify)
3941 2000-01-07 Jonathan Blandford <jrb@redhat.com>
3943 * gdk-pixbuf/gdk-pixbuf-xform.c (gdk_pixbuf_rotate): comment out
3946 * gdk-pixbuf/gdk-pixbuf-io.c: Added progressive animation loading.
3947 * gdk-pixbuf/gdk-pixbuf-io.h: Added progressive animation loading.
3948 * gdk-pixbuf/gdk-pixbuf-loader.c: Added progressive animation
3950 * gdk-pixbuf/gdk-pixbuf-loader.h: Added progressive animation
3952 * gdk-pixbuf/io-gif.c (image_load_increment): I think the
3953 ref-counting mess is finally fixed. Added progressive animation
3955 (gif_get_lzw): remove memory_leak
3957 * doc/tmpl/gdk-pixbuf-loader.sgml: much longer long description
3960 2000-01-05 Owen Taylor <otaylor@redhat.com>
3962 * gdk-pixbuf/pixops/pixops.c (pixops_process): Fix computation of
3965 * gdk-pixbuf/pixops/pixops.c: Fix double increments when
3966 dest_channels == 4. (Pointed out by Tomas Ogren)
3968 2000-01-05 Mark Crichton <crichton@gimp.org>
3970 * gdk-pixbuf/gdk-pixbuf-loader.c (gdk_pixbuf_loader_eat_header_write):
3971 Return 0 if gdk_pixbuf_load_loader_module returns FALSE.
3973 2000-01-05 Elliot Lee <sopwith@redhat.com>
3975 * gdk-pixbuf/pixops/Makefile.am: Link with -lm (to get 'ceil' function)
3977 2000-01-05 Owen Taylor <otaylor@redhat.com>
3979 * doc/Makefile.am doc/gdk-pixbuf-sections.txt
3980 doc/gdk-pixbuf.sgml doc/tmpl/scaling.sgml:
3981 Added scaling functions into gtk-doc framework.
3983 * gdk-pixbuf/gdk-pixbuf-scale.c: Documentation fixes.
3985 * gdk-pixbuf/testpixbuf-scale.c (expose_cb): Simplify a bit.
3987 * gdk-pixbuf/pixops/pixops.c (pixops_composite_color): Return
3988 immediately if scale_x or scale_y is 0.
3990 2000-01-05 Owen Taylor <otaylor@redhat.com>
3992 * gdk-pixbuf/pixops/timescale.c: quick fix for initializing
3993 arrays in benchmark.
3995 2000-01-05 Jonathan Blandford <jrb@redhat.com>
3997 * gdk-pixbuf/gdk-pixbuf-io.h: Change the order of the update func
3998 to make it more compatible with the rest of GTK. Added animation
3999 framework for progressive loading.
4001 * gdk-pixbuf/io-bmp.c (image_begin_load): Modified to handle new
4003 * gdk-pixbuf/io-ico.c (image_begin_load): ditto
4004 * gdk-pixbuf/io-png.c (image_begin_load): ditto
4005 * gdk-pixbuf/io-ras.c (image_begin_load): ditto
4006 * gdk-pixbuf/io-jpeg.c (image_begin_load): ditto
4007 * gdk-pixbuf/io-pnm.c (image_begin_load): ditto
4008 * gdk-pixbuf/io-tiff.c (image_begin_load): ditto
4009 * gdk-pixbuf/io-gif.c (image_begin_load): ditto
4011 2000-01-05 Owen Taylor <otaylor@redhat.com>
4013 * gdk-pixbuf/pixops/README: Added a README with a TODO
4014 and some explainations of the algorithms.
4016 * gdk-pixbuf/testpixbuf-scale.c: Set a background pixmap of None
4017 to reduce flashing when resizing.
4019 2000-01-05 Owen Taylor <otaylor@redhat.com>
4021 * gdk-pixbuf/pixops/: Directory full of pixel data scaling
4022 code that will eventually migrate into libart.
4024 * configure.in acconfig.h: Add checks for MMX compiler support
4026 * gdk-pixbuf/gdk-pixbuf.h gdk-pixbuf/gdk-pixbuf-scale.c:
4027 Nice wrapper routines for the code in pixops that operate
4028 on pixbufs instead of raw data.
4030 * gdk-pixbuf/testpixbuf-scale: Test program for scaling
4033 2000-01-05 Jonathan Blandford <jrb@redhat.com>
4035 * doc/tmpl/animation.sgml: Documentation changes.
4037 2000-01-01 Federico Mena Quintero <federico@helixcode.com>
4039 * gdk-pixbuf/gdk-pixbuf.h (GdkPixbufAnimation): Added reference
4040 counting to animations. A web browser may want to share a single
4041 copy of an animated GIF if it appears multiple times in a web
4044 * gdk-pixbuf/gdk-pixbuf-animation.c: New file. Moved the
4045 animation functions here.
4046 (gdk_pixbuf_animation_new_from_file): Prettified. Return a NULL
4047 animation if the loader does not support multiframe loading and
4048 the single-frame load returned NULL. Check that the filename is
4049 not NULL. Updated inline documentation.
4050 (gdk_pixbuf_animation_ref): New function.
4051 (gdk_pixbuf_animation_unref): New function.
4052 Removed gdk_pixbuf_animation_destroy() in favor of reference
4055 * gdk-pixbuf/gdk-pixbuf-io.c (gdk_pixbuf_new_from_file):
4056 Prettified. Made ref_count assertion more paranoid. Check that
4057 the filename is not NULL.
4058 (gdk_pixbuf_get_module): Use guchar * and guint for buffer and
4060 (gdk_pixbuf_new_from_xpm_data): Changed the "data" argument to
4063 * gdk-pixbuf/io-gif.c (image_load_animation): Create the animation
4064 with a reference count of 1.
4066 * gdk-pixbuf/Makefile.am (libgdk_pixbuf_la_SOURCES): Added
4067 gdk-pixbuf-animation.c.
4069 * doc/tmpl/animation.sgml: Populated. It is still missing a
4070 description of the overlay modes.
4072 * doc/gdk-pixbuf-sections.txt: Added the animation section. Moved
4073 the canvas item section to the end, as it will be moved later to
4076 * doc/gdk-pixbuf.sgml: Added the animation section.
4078 * doc/Makefile.am (tmpl_sources): Added tmpl/animation.sgml.
4080 1999-12-26 Peter Teichman <pat@gnu.org>
4082 * gdk-pixbuf/Makefile.am (libpixbuf_tiff_la_LIBADD): add
4083 $(LIBTIFF) to libpixbuf_tiff_la_LIBADD, proxying for mmarker.
4084 This closes bug #4676.
4086 1999-12-23 Havoc Pennington <hp@pobox.com>
4088 * gdk-pixbuf/io-gif.c (image_load): Stuff that should have been
4089 set to NULL here (specifically context->animation) was not being
4090 set to NULL. use g_new0() to alloc the struct.
4092 1999-12-20 Jonathan Blandford <jrb@redhat.com>
4094 * gdk-pixbuf/io-gif.c: finished work to make animated gifs load
4095 correctly. Progressive loading needs some work, but that all
4096 needs doing from the gdk-pixbuf-loader end, not here.
4098 1999-12-17 Jonathan Blandford <jrb@redhat.com>
4100 * gdk-pixbuf/gdk-pixbuf-io.c (gdk_pixbuf_animation_new_from_file):
4101 moved the file here. It seems natural to put this function here,
4102 as that's where the gdk_pixbuf_new_from_file function is, but it's
4103 still a little convoluted. The source files might be played with
4106 1999-12-14 Jonathan Blandford <jrb@redhat.com>
4108 * gdk-pixbuf/gdk-pixbuf-loader.c
4109 (gdk_pixbuf_loader_get_animation): Gets the animation from the
4112 1999-12-16 Federico Mena Quintero <federico@redhat.com>
4114 * doc/tmpl/rendering.sgml: Added notice about initializing GdkRGB
4115 before using the GdkPixbuf rendering functions. Thanks to Joe
4116 Shaw <joe@off.net> for pointing this out.
4118 1999-12-13 Federico Mena Quintero <federico@redhat.com>
4120 * gdk-pixbuf/gnome-canvas-pixbuf.c
4121 (gnome_canvas_pixbuf_class_init): Renamed arguments to
4122 width_in_pixels, height_in_pixels, x_in_pixels, y_in_pixels, for
4123 consistency with the new canvas.
4124 (PixbufPrivate): Do the same renaming in the structure fields, for
4127 * doc/tmpl/gnome-canvas-pixbuf.sgml: Updated for new argument names.
4129 1999-12-12 Federico Mena Quintero <federico@redhat.com>
4131 * gdk-pixbuf/Makefile.am (libgdk_pixbuf_la_LDFLAGS): Use a
4132 conditional to see whether to link $(GNOME_LIBS) or not.
4134 1999-12-10 Jonathan Blandford <jrb@redhat.com>
4136 * gdk-pixbuf/gdk-pixbuf-io.h: thinking about the new loading API.
4138 * gdk-pixbuf/gdk-pixbuf-drawable.c (gdk_pixbuf_get_from_drawable):
4139 make a warning go away.
4141 * gdk-pixbuf/gdk-pixbuf.h: added new prototypes for animations.
4143 * gdk-pixbuf/gdk-pixbuf-loader.h: added new prototypes for
4146 1999-12-09 Michael Zucchi <zucchi@zedzone.mmc.com.au>
4148 * gdk-pixbuf/gdk-pixbuf.h: Enable gdk_pixbuf_get_from_drawable()
4151 * gdk-pixbuf/gdk-pixbuf-drawable.c (gdk_pixbuf_get_from_drawable):
4152 Filled in body of function.
4153 (rgbconvert): Added GdkColormap parameter, and to all conversion
4155 (convert_real_slow): New function - should convert ANY visual/data
4156 format properly, but it aint fast. Used as a fallback when an
4157 optimised routine wont match.
4158 (rgbconvert): Do very specific tests on the data format to verify
4159 properly if the optimised version will do, otherwise use the
4160 fallback function for all other data formats.
4162 * gdk-pixbuf/Makefile.am: Re-enabled building of
4163 textpixbuf-drawable.
4165 * gdk-pixbuf/testpixbuf-drawable.c (main): Changed to use
4166 gdk_pixbuf_get_from_drawable().
4168 1999-12-08 Arjan van de Ven <arjan@fenrus.demon.nl>
4170 * gdk-pixbuf/gdk-pixbuf-drawable.c : Fixed the red/green/red
4171 bug on two occasions.
4172 * gdk-pixbuf/io-ras.c: Changed from the custom be32_to_cpu
4173 function to the generic glib one.
4175 1999-12-08 Federico Mena Quintero <federico@redhat.com>
4177 * gdk-pixbuf/gdk-pixbuf-drawable.c: Fix includes.
4178 (gdk_pixbuf_get_from_drawable): Implemented the zillion sanity
4179 checks and API definition. The body needs filling in and it needs
4180 to do the Right Thing(tm) for pixmaps plus the given colormap and
4181 windows and their own colormaps.
4183 * gdk-pixbuf/gdk-pixbuf.h: Added prototype for
4184 gdk_pixbuf_get_from_drawable(). Killed gdk-pixbuf-drawable.h.
4186 * gdk-pixbuf/Makefile.am: Re-added the gdk-pixbuf-drawable sources.
4188 * doc/tmpl/from-drawables.sgml: Populated.
4190 * doc/gdk-pixbuf.sgml: Added the from-drawables section.
4192 * doc/Makefile.am (tmpl_sources): Added tmpl/from-drawables.sgml.
4194 * doc/gdk-pixbuf-sections.txt: Added a section for getting pixbufs
4197 1999-12-07 Federico Mena Quintero <federico@redhat.com>
4199 * doc/tmpl/gnome-canvas-pixbuf.sgml: Added clarification about
4200 reference counting for GdkPixbuf structures.
4202 1999-12-07 Martin Baulig <martin@home-of-linux.org>
4204 * gdk-pixbuf/Makefile.am (testpixbuf_LDADD): Conditionally
4205 include $(GNOME_LIBS) here.
4207 1999-12-05 Arjan van de Ven <arjan@fenrus.demon.nl>
4209 Added missing "include <string.h>" to:
4210 * gdk-pixbuf/io-ras.c
4211 * gdk-pixbuf/io-bmp.c
4212 * gdk-pixbuf/io-ico.c
4214 1999-12-06 Federico Mena Quintero <federico@redhat.com>
4216 * gdk-pixbuf/gdk-pixbuf-io.c (file_formats): Patch from Arjan to
4219 1999-12-05 Federico Mena Quintero <federico@redhat.com>
4221 * gdk-pixbuf/Makefile.am (testpixbuf_LDADD): Add back
4222 $(GNOME_LIBS). This must compile outside of gnome-libs. If you
4223 want, send me a patch to do the conditional stuff properly.
4224 Otherwise, please read the GNOME Programming Guidelines,
4225 especially the "CVS policies" section.
4227 1999-12-05 Jaka Mocnik <jaka.mocnik@kiss.uni-lj.si>
4229 * gdk-pixbuf/Makefile.am: removed GNOME_LIBS from testpixbuf_LDADD.
4231 1999-12-05 Arjan van de Ven <arjan@fenrus.demon.nl>
4233 * gdk-pixbuf/io-ico.c: Bug in palet-size
4236 1999-12-04 Arjan van de Ven <arjan@fenrus.demon.nl>
4238 * gdk-pixbuf/io-bmp.c: Major cleanup, added support for
4239 32 bpp and 4 bpp (uncompressed) images, fixed 1bpp.
4241 * gdk-pixbuf/io-ras.c: Minor cleanup, ran through lclint
4243 * gdk-pixbuf/io-ico.c: Minor cleanup, fixed 1bpp icons,
4246 * gdk-pixbuf/gdk-pixbuf-io.c: Added detection of .CUR files
4247 (Windows Cursor files). These are identical to .ICO files,
4248 except for the signature and 2 extra fields for the hotspot.
4250 1999-12-03 Federico Mena Quintero <federico@redhat.com>
4252 * gdk-pixbuf/gnome-canvas-pixbuf.c (gnome_canvas_pixbuf_get_arg):
4253 Removed unused variable `item'.
4255 1999-12-03 Jonathan Blandford <jrb@redhat.com>
4257 * gdk-pixbuf/io-gif.c (gif_fill_in_lines): added a comment to
4258 explain this function better.
4260 1999-12-02 Federico Mena Quintero <federico@redhat.com>
4262 Source files moved from src/ to gdk-pixbuf/, to be consistent with
4265 * doc/Makefile.am: Modified for the new source directory.
4267 * configure.in: Likewise.
4269 * Makefile.am: Likewise.
4271 * autogen.sh: Likewise.
4273 * gdk-pixbuf/Makefile.am: Likewise.
4275 1999-12-02 Federico Mena Quintero <federico@redhat.com>
4277 * src/testpixbuf.c: #include <config.h>, and fix includes.
4279 * src/testpixbuf-drawable.c: #include <config.h>, and fix includes.
4281 * src/io-xpm.c: Fix includes.
4283 * src/io-tiff.c: Fix includes.
4285 * src/io-ras.c: Fix includes, and do not include more stuff than needed.
4287 * src/io-pnm.c: Fix inlcudes, and do not include more stuff than needed.
4289 * src/io-png.c: Fix includes.
4291 * src/io-ico.c: Fix includes, and do not include more stuff than needed.
4293 * src/io-gif.c: Fix includes, and do not include more stuff than needed.
4295 * src/io-bmp.c: Fix includes, and do not include more stuff than needed.
4297 * src/gnome-canvas-pixbuf.c: Fix includes.
4299 * src/gdk-pixbuf.c: Fix includes.
4301 * src/gdk-pixbuf-util.c: Fix includes.
4303 * src/gdk-pixbuf-render.c: Fix includes.
4305 * src/gdk-pixbuf-io.h: Fix includes.
4307 * src/gdk-pixbuf-drawable.c: Fix includes.
4309 * src/gdk-pixbuf-drawable.h: Use angle brackets for the gdk-pixbuf
4312 * src/gdk-pixbuf-data.c: Fix includes.
4314 * src/gdk-pixbuf-loader.c: #include <config.h>
4316 * src/gdk-pixbuf-loader.h: Use angle brackets for the gdk-pixbuf
4319 * src/Makefile.am: Commented out the gdk-pixbuf-drawable stuff,
4320 since it is not finished.
4322 * src/gdk-pixbuf.h: Removed unused transformation prototypes.
4324 * src/gdk-pixbuf-util.c: New file with utility and convenience
4325 functions for pixbufs.
4327 * src/Makefile.am (libgdk_pixbuf_la_SOURCES): Added gdk-pixbuf-util.c.
4329 * doc/gdk-pixbuf-sections.txt: Added section for utility functions.
4331 * doc/Makefile.am (tmpl_sources): Added tmpl/util.sgml.
4333 * doc/gdk-pixbuf.sgml: Added the utilities section.
4335 * doc/tmpl/util.sgml: Documentation for the utility functions.
4337 1999-11-29 Owen Taylor <otaylor@redhat.com>
4339 * src/gdk-pixbuf-render.c (gdk_pixbuf_render_to_drawable_alpha):
4340 Keep the mask around until after we draw ... since
4341 the GC changes aren't flushed to the X server until we
4342 draw, destroying it before that may result in BadPixmap
4345 1999-11-30 Havoc Pennington <hp@pobox.com>
4347 * configure.in: Add AM_CONDITIONAL for inside gnome-libs
4349 * src/Makefile.am: conditionalize GnomeCanvasPixbuf
4351 1999-11-29 Federico Mena Quintero <federico@redhat.com>
4353 * src/Makefile.am: Uncomment the GnomeCanvasPixbuf sources. This
4354 should be made conditional, not blindly commented out.
4356 1999-11-29 Jonathan Blandford <jrb@redhat.com>
4358 * src/Makefile.am (ICO_LIB): Added another loader from Arjan to
4359 handle .ico files. Cool.
4361 1999-11-24 Jonathan Blandford <jrb@redhat.com>
4363 * src/io-bmp.c (OneLine24): new patch from Arjan to handle
4366 1999-11-24 James Henstridge <james@daa.com.au>
4368 * configure.in (AC_OUTPUT): altered hack to place the symlink in the
4369 top builddir rather than src. This still builds fine, and does not
4370 get gtk-doc into an infinite loop when trying to find all the source
4373 1999-11-23 Jonathan Blandford <jrb@redhat.com>
4375 * Removed #PRAGMA } from headers. Also, make compile if you don't
4376 have it installed, already.
4378 1999-11-22 Federico Mena Quintero <federico@redhat.com>
4380 * src/gnome-canvas-pixbuf.c (gnome_canvas_pixbuf_draw): Create the
4381 temporary buffer to the size of the interesction of the bounding
4382 box and the expose area, not the whole expose area. This speeds
4385 * src/gdk-pixbuf-render.c (gdk_pixbuf_render_threshold_alpha): Do
4386 not paint black on the mask, since we already cleared it in a
4387 single gdk_draw_rectangle() operation.
4389 1999-11-22 Raja R Harinath <harinath@cs.umn.edu>
4391 * configure.in (GDK_PIXBUF_DIR): Fix for srcdir != builddir.
4393 1999-11-22 Havoc Pennington <hp@pobox.com>
4395 * src/Makefile.am (GDK_PIXBUF_LIBS): Patch from Paul Fisher
4396 <pnfisher@redhat.com> adds all -lgdk-pixbuf and all other
4397 dependencies to LIBADD variables for loadable modules. Necessary
4398 for a Java dynamic loading thing to be able to figure it out.
4400 1999-11-22 Havoc Pennington <hp@pobox.com>
4402 * src/io-png.c (image_load_increment): Call the update_area
4403 callback depending on the number of rows loaded in this increment.
4405 * src/testpixbuf.c (main): slow down the progressive load demo
4407 1999-11-16 Havoc Pennington <hp@pobox.com>
4409 * src/gdk-pixbuf-drawable.h: Get the quotes right on the #include
4411 1999-11-22 Jonathan Blandford <jrb@redhat.com>
4413 * configure.in (GDK_PIXBUF_DIR): make the symlink. Does not work
4414 for srcdir != buildir != . Beats me why; I can't figure it out.
4415 AC_OUTPUT_COMMANDS doesn't seem to let me substitute it correctly.
4417 1999-11-21 Jonathan Blandford <jrb@redhat.com>
4419 * src/gdk-pixbuf-io.c: added io-bmp from Arjan
4420 <arjan@fenrus.demon.nl>
4422 1999-11-20 Michael Zucchi <zucchi@zedzone.mmc.com.au>
4424 * src/gdk-pixbuf-drawable.c (gdk_pixbuf_from_drawable_core):
4425 Rework/reorder of the code. Each case has been separated into
4426 another function; its big but it should be quick.
4427 gdk_pixbuf_rgba_from_drawable() will now return a pixbuf with
4428 opaque alpha information. Not all depths/formats have been
4429 tested, but 8, 15/16 and 24 (alinged 32) should work ok.
4431 1999-11-17 Larry Ewing <lewing@gimp.org>
4433 * src/gnome-canvas-pixbuf.c (gnome_canvas_pixbuf_bounds):
4434 implement the bounds method correctly.
4435 (compute_viewport_affine): compute the affine need to fit the
4436 image within the viewport given by the args.
4437 (compute_render_affine): call compute_viewport_affine.
4439 1999-11-16 Havoc Pennington <hp@pobox.com>
4441 * src/gdk-pixbuf-drawable.h: Use includes from the current
4442 directory, not the system directory.
4444 Mon Nov 15 17:18:28 1999 George Lebl <jirka@5z.com>
4446 * src/testpixbuf-drawable.c: use includes from the current directory
4447 rather then from the system include directory as gdk-pixbuf
4448 includes are not yet installed when this is compiled.
4450 1999-11-13 Cody Russell <bratsche@dfw.net>
4451 * src/testpixbuf-drawable.c: Added a test program for drawable
4454 * src/Makefile.am: Build testpixbuf-drawable.
4456 1999-11-12 Cody Russell <bratsche@dfw.net>
4458 * src/gdk-pixbuf-drawable.c: Merged in Michael Zucchi's changes.
4460 1999-11-10 Federico Mena Quintero <federico@redhat.com>
4462 * doc/tmpl/gdk-pixbuf-loader.sgml: Populated.
4464 * doc/gdk-pixbuf.signals: Put in the real names of signal
4467 * src/gdk-pixbuf-loader.c: Improved documentation comments.
4469 1999-11-10 Jonathan Blandford <jrb@redhat.com>
4471 * src/gdk-pixbuf-loader.c (gdk_pixbuf_loader_close): emit the
4474 * src/io-ras.c (OneLineMapped_file): Now can handle indexing
4475 correctly. Patch from Arjan to do so.
4477 1999-11-10 Michael Fulbright <drmike@redhat.com>
4479 * src/io-pnm.c (pnm_ascii_read_scanline): Fixed loading of ASCII PNM
4482 * src/testpixbuf.c: Added final queued draw when done loading image.
4484 1999-11-10 Jonathan Blandford <jrb@redhat.com>
4486 * src/gdk-pixbuf-io.c (gdk_pixbuf_load_module): removed spurious
4489 1999-11-10 Federico Mena Quintero <federico@redhat.com>
4491 * src/gdk-pixbuf-io.c (gdk_pixbuf_new_from_xpm_data): Added
4494 1999-11-09 Federico Mena Quintero <federico@redhat.com>
4496 * src/io-png.c: Fixed some incompatible pointer initializations.
4498 * src/io-jpeg.c (image_load_increment): Remove unused variable.
4500 1999-11-09 Michael Fulbright <drmike@redhat.com>
4502 * src/testpixbuf.c: Fixed it to use timeout to read from file
4503 for progressive loading. Set TBF_KBPS=n, where n is the number of
4504 kilobytes/second to simulate in downloading. n has to be an integer.
4506 * src/io-jpeg.c: Slight cosmetic cleanup.
4508 * src/io-pnm.c: Fixed raw PNM loading bug. Also discovered that ASCII
4509 PBM loading has a similar problem and will address tomorrow.
4511 1999-11-09 Havoc Pennington <hp@pobox.com>
4513 * src/Makefile.am (libgdk_pixbuf_la_SOURCES): build the
4514 gdk-pixbuf-drawable stuff.
4516 1999-11-09 Federico Mena Quintero <federico@redhat.com>
4518 * configure.in: Bumped version number to 0.4.
4520 1999-11-09 Michael Fulbright <drmike@redhat.com>
4522 * src/io-pnm.c : Finished progressive PNM loading code. Should handle
4523 all types of PNM files now.
4525 * src/io-jpeg.c (image_load_increment): Figured out problem with
4526 loading Progressive JPEG's progressively (say that 10 times fast).
4527 Currently for Progressive JPEG's the entire image is loaded before
4528 it is displayed. libjpeg supports a fancier mechanism which I may
4531 With these changes all JPEG formats appear to load properly for me.
4533 1999-11-08 Jonathan Blandford <jrb@redhat.com>
4535 * src/io-ras.c (image_load_increment): Final patch from Arjan.
4536 Seems to do progressive loading.
4538 1999-11-08 Michael Fulbright <drmike@redhat.com>
4540 * src/io-pnm.c image_load (): Fixed so we do not create a separate
4541 pixel buffer when reading in image - we reuse the pixel data in
4542 the GdkPixbuf structure instead.
4544 1999-11-08 Michael Fulbright <drmike@redhat.com>
4546 * src/io-pnm.c pnm_read_ascii_scanline (): Added support for
4547 ASCII PNM files. Note I haven't tested loaded ASCII PBM files because
4548 I can't seem to find a utility to convert into this format.
4549 Next is to add progressive loading support for the PNM format.
4551 1999-11-07 Federico Mena Quintero <federico@redhat.com>
4553 * doc/tmpl/gnome-canvas-pixbuf.sgml: Finished detailed explanation
4554 of the width, height, x, and y setting and pixels arguments.
4556 1999-11-05 Jonathan Blandford <jrb@redhat.com>
4558 * src/io-ras.c (image_load): third patch. Now it seems to load.
4560 * src/gdk-pixbuf-io.c: second patch Arjan van de Ven
4561 <arjan@fenrus.demon.nl> to autodetect/load the sunras files.
4563 * src/io-ras.c (image_load): new file from Arjan van de Ven
4564 <arjan@fenrus.demon.nl> to begin the ras loader.
4566 1999-11-05 Federico Mena Quintero <federico@redhat.com>
4568 * doc/gdk-pixbuf-sections.txt: Removed gdk-pixbuf-io, since it is
4569 for internal use only.
4571 * doc/gdk-pixbuf.sgml: Likewise.
4573 * doc/tmpl/gnome-canvas-pixbuf.sgml: Finished docs.
4575 1999-11-05 Michael Fulbright <drmike@redhat.com>
4577 * src/io-pnm.c: Implemented support for reading raw PBM/PGM/PPM
4578 files from a file. Next step is support for ASCII files, and
4579 then incremental loading.
4581 1999-11-04 Federico Mena Quintero <federico@redhat.com>
4583 * Makefile.am: Added doc to SUBDIRS.
4585 1999-11-04 Michael Fulbright <drmike@redhat.com>
4587 * src/io-jpeg.c: Prettied up code slightly.
4588 * src/io-pnm.c: Start of pnm loader (from file and progressively).
4589 Doesn't do much yet (will finish tomorrow).
4590 * src/gdk-pixbuf-io.c: Added pnm to structure of known types.
4592 1999-11-04 Federico Mena Quintero <federico@redhat.com>
4594 * doc/tmpl/rendering.sgml: Populated.
4596 * doc/Makefile.am: Added the template files.
4598 1999-11-04 Havoc Pennington <hp@pobox.com>
4600 * src/gdk-pixbuf-render.c (gdk_pixbuf_render_to_drawable): In
4601 docs, explain what a dither offset is for.
4602 (gdk_pixbuf_render_to_drawable_alpha): Explain why you would use
4603 this function vs. gdk_pixbuf_render_to_drawable().
4605 1999-11-04 Havoc Pennington <hp@pobox.com>
4607 * configure.in: Use libart-config correctly; find gnome-config
4608 separately. Fix GNOME_LIBS to be correct in "no gnome installed
4611 * src/Makefile.am: Link to GNOME_LIBS instead of a hardcoded
4614 Patch untested in the inside-gnome-libs case, I need to commit
4615 then check out to the gnome-libs I'm using.
4617 1999-11-04 Michael Fulbright <drmike@redhat.com>
4619 * src/io-jpeg.c (image_begin_load): Add update_func callback.
4620 * src/io-jpeg.c (image_load_increment): Call updated callback when
4621 new graphic data decoded.
4623 1999-11-04 Jonathan Blandford <jrb@redhat.com>
4625 * src/gdk-pixbuf-loader.c (gdk_pixbuf_loader_update): handle the
4627 * src/io-png.c (image_begin_load): add a update_func callback.
4628 * src/io-gif.c (image_begin_load): add a update_func callback.
4629 (gif_get_lzw): added the update_func ability
4631 * src/io-tiff.c (image_begin_load): add a update_func callback.
4633 1999-11-04 Federico Mena Quintero <federico@redhat.com>
4635 * doc/tmpl/gdk-pixbuf.sgml: Populated.
4637 * doc/tmpl/refcounting.sgml: Populated.
4639 * doc/tmpl/file-loading.sgml: Populated.
4641 * src/gdk-pixbuf.c: Added documentation comments.
4643 * src/gdk-pixbuf-io.c (gdk_pixbuf_new_from_file): Added
4644 documentation comments.
4646 * doc/: Finished integrating the documentation framework.
4648 1999-11-03 Federico Mena Quintero <federico@redhat.com>
4650 * configure.in: Removed libgif stuff now that we do not depend on it.
4651 Added the necessary cruft for gtk-doc.
4653 * src/Makefile.am: Unconditionally build the GIF loader.
4655 1999-11-03 Jonathan Blandford <jrb@redhat.com>
4657 * src/io-gif.c (gif_read): renamed ReadOK to gif_read.
4658 Added a lot of comments to the file.
4660 * src/Makefile.am (libpixbuf_gif_la_LIBADD): Remove dependency on
4663 1999-11-03 Michael Fulbright <drmike@redhat.com>
4665 * src/io-jpeg.c (image_load_increment): Further removal of
4666 bugginess in local buffering code. Handles grayscale jpegs
4669 * src/io-jpeg.c (image_load_stop): Was freeing local context
4670 for jpeg library before calling jpeg_decompres_finish ().
4672 1999-11-03 Jonathan Blandford <jrb@redhat.com>
4674 * src/io-gif.c (image_load_increment): now handle arbitrary buffer
4676 (gif_get_lzw): set the transparency to the right val.
4678 1999-11-03 Federico Mena Quintero <federico@redhat.com>
4680 * src/gnome-canvas-pixbuf.c (gnome_canvas_pixbuf_init):
4681 Initiailize the x and y fields.
4682 (gnome_canvas_pixbuf_destroy): Queue a redraw upon destruction.
4683 (PixbufPrivate): Renamed need_size_update to need_xform_update.
4684 (recompute_bounding_box): Do not use temporary values.
4686 1999-11-03 Jonathan Blandford <jrb@redhat.com>
4688 * src/io-gif.c (set_gif_lzw_clear_code): new state. Fixes
4691 * src/gnome-canvas-pixbuf.c (recompute_bounding_box): remove
4692 unneeded x,y,h,w vars.
4694 1999-11-03 Larry Ewing <lewing@gimp.org>
4696 * src/gnome-canvas-pixbuf.c (compute_render_affine): adjust
4697 render_affine calculation for x,y offsets.
4698 (gnome_canvas_pixbuf_set_arg): add x,y args.
4699 (gnome_canvas_pixbuf_get_arg): add x,y args.
4700 (recompute_bounding_box): simply code using ArtDrect and the
4701 render_affine. Removed compute_xform_vectors as it was no longer
4704 1999-11-03 Federico Mena Quintero <federico@redhat.com>
4706 * src/gnome-canvas-pixbuf.c (gnome_canvas_pixbuf_point): I'm a
4707 doofus. Return a distance, not a boolean, for opaque images.
4709 * src/gnome-canvas-pixbuf.c (recompute_bounding_box): Do proper
4710 rounding of bounding box coordinates.
4711 (gnome_canvas_pixbuf_bounds): Implemented the ::bounds() method.
4712 (gnome_canvas_pixbuf_draw): Use the correct alpha threshold value.
4714 1999-11-03 Jonathan Blandford <jrb@redhat.com>
4716 * src/io-gif.c (gif_prepare_lzw): s/lwz/lzw/g
4718 1999-11-03 Michael Fulbright <drmike@redhat.com>
4720 * src/io-jpg.c (image_load_increment): Fixed code which moved
4721 buffer around as new data comes in to work properly. JPEG progressive
4722 loading should be working now except for grayscale JPEG's, which I
4723 will look into next.
4725 1999-11-03 <sopwith@redhat.com>
4726 * src/testpixbuf.c: A GtkFunction needs to return a value for
4727 deterministic behaviour. Also put dot printing back in.
4729 1999-11-03 <jrb@redhat.com>
4731 * src/io-gif.c (gif_get_extension): Read 'til the next empty block
4734 1999-11-02 Cody Russell <bratsche@dfw.net>
4735 * src/gdk-pixbuf-drawable.c: Changed the behavior to return NULL
4736 if part of the requested image is offscreen, rather than clipping
4739 1999-11-02 Jonathan Blandford <jrb@redhat.com>
4741 * src/io-gif.c (gif_fill_in_lines): Fill in the gif's blank areas
4742 for interlacing and progressive loading.
4744 1999-11-02 Cody Russell <bratsche@dfw.net>
4745 * src/gdk-pixbuf-drawable.c (gdk_pixbuf_from_drawable_core): Now
4746 calls gdk_pixbuf_new_from_art_pixbuf() instead of gdk_pixbuf_new().
4748 1999-11-02 Jonathan Blandford <jrb@redhat.com>
4750 * src/io-gif.c (gif_main_loop): Now progressive gif loading works!
4751 It's a little slow though. )-:
4753 1999-11-02 Elliot Lee <sopwith@redhat.com>
4754 * src/gdk-pixbuf-loader.[ch], src/gdk-pixbuf-io.h: Make the
4755 arguments to the write/load_increment operations const-correct.
4757 1999-11-02 Federico Mena Quintero <federico@redhat.com>
4759 * src/gnome-canvas-pixbuf.c (gnome_canvas_pixbuf_point):
4760 Implemented the ::point() method. We do a simple containment test
4761 instead of a full distance calculation since the canvas is going
4762 to change to that scheme, anyways.
4764 1999-11-02 Elliot Lee <sopwith@redhat.com>
4766 * src/testpixbuf.c: Allow using $TBF_READLEN to specify the size
4767 of the chunks that are read from the input file.
4769 1999-11-02 Larry Ewing <lewing@gimp.org>
4771 * src/gnome-canvas-pixbuf.c (gnome_canvas_pixbuf_render): add aa
4773 (gnome_canvas_pixbuf_class_init): add gnome_canvas_pixbuf_render
4776 1999-11-02 Federico Mena Quintero <federico@redhat.com>
4778 * src/gnome-canvas-pixbuf.c (compute_render_affine): Moved the
4779 affine computation code from ::draw() to here, since it is needed
4780 by ::point() as well.
4782 1999-11-02 Elliot Lee <sopwith@redhat.com>
4784 * src/gdk-pixbuf-loader.c: Reorganize gdk_pixbuf_loader_write into
4785 three functions, and eliminate duplication of code from write()
4786 and close(). Also fix bug where the 128-byte header was being
4789 1999-11-01 Federico Mena Quintero <federico@redhat.com>
4790 * src/gnome-canvas-pixbuf.c (recompute_bounding_box): Fixed
4791 bounding box computation.
4793 1999-11-01 Federico Mena Quintero <federico@redhat.com>
4795 * src/gnome-canvas-pixbuf.c: Start of the pixbuf canvas item.
4796 Drawing affines seem to work. Bounding box is fubared. ::point()
4797 is not implemented. This is a work in progress.
4799 * src/Makefile.am: Added gnome-canvas-pixbuf.[ch] to the list of
4802 * configure.in: Sigh. We need to link in libgnomeui for the
4803 canvas stuff. This mess will disappear when gdk-pixbuf gets
4804 folded into gnome-libs.
4806 1999-10-30 Jonathan Blandford <jrb@redhat.com>
4808 * src/io-gif.c: Some more work. Now it generates a gdk_pixbuf of
4809 the right size, at a minimum, even if the image is squished and
4811 (ReadImage): lets get the offset right. This will let transparent
4814 1999-10-29 Michael Fulbright <drmike@redhat.com>
4816 * src/io-jpeg.c: image_load_increment(): Fixed bug when
4817 image width was not a multiple of 4 - always use the
4818 gdk_pixbuf rowstride to increment pointers!
4820 1999-10-29 Michael Fulbright <drmike@redhat.com>
4822 * src/io-jpeg.c: Added first cut at progressive jpeg loading.
4823 Currently does not handle either progressive jpeg files (jpeg
4824 files with multiple scans at different quality settings), but
4825 I plan on adding this support soon. These are fairly rare in
4826 my experience, so it shouldn't slow people down too much.
4827 Grayscale jpegs also don't work but that should be easy to fix.
4829 1999-10-29 Michael Fulbright <drmike@redhat.com>
4831 * src/testpixbuf.c: Added title to windows so you can identify
4832 progressive and file windows.
4834 1999-10-29 Michael Fulbright <drmike@redhat.com>
4836 * src/gdk-pixbuf-loader.c (gdk_pixbuf_loader_write): Actually
4837 load the image handler when we determine the image type.
4839 * src/gdk-pixbuf-io.[ch] (gdk_pixbuf_load_module): Changed the
4840 previously static function load_image_handler () to
4841 a public function gdk_pixbuf_load_module (). It is needed in
4842 gdk-pixbuf-loader.c to load image handler modules. This function
4843 is different from gdk_pixbuf_get_module (), which only returns
4844 a reference to the required handler, because it actually loads
4845 the handler into memory. Both actions should possibly be combined
4846 in a convenience function since one w/o the other doesn't seem to
4849 1999-10-28 Jonathan Blandford <jrb@redhat.com>
4851 * src/gdk-pixbuf-loader.c (gdk_pixbuf_loader_write): don't send a
4854 1999-10-28 Federico Mena Quintero <federico@redhat.com>
4856 * src/gdk-pixbuf-render.c (gdk_pixbuf_render_to_drawable): New
4857 function to render a portion of a pixbuf to a drawable. Ignores
4858 alpha information and takes in a GC.
4859 (gdk_pixbuf_render_to_drawable_alpha): New function to render a
4860 portion of a pixbuf to a drawable. It automatically creates a GC
4861 and a clipping mask for alpha pixbufs.
4863 1999-10-28 Jonathan Blandford <jrb@redhat.com>
4865 * src/gdk-pixbuf.h: turned convenience macros into convenience
4866 functions so some error checking could be added.
4868 * src/io-tiff.c (image_load_increment): started work on the tiff
4869 non-incremental loader.
4870 (image_begin_load): Finished the incremental loader.
4872 * src/io-gif.c (image_load_increment): started work on the gif
4875 * src/gdk-pixbuf-io.h: Changed ModuleType to GdkPixbufModule.
4877 1999-10-27 Federico Mena Quintero <federico@redhat.com>
4879 * src/gdk-pixbuf-render.c (gdk_pixbuf_render_threshold_alpha): New
4880 function to threshold a pixbuf's alpha channel into a bitmap.
4882 * src/gdk-pixbuf.c (gdk_pixbuf_new): Fixed so that it will
4883 contemplate future extensions to ArtPixBuf's formats.
4885 * src/io-png.c (png_info_callback): Use the new API of gdk_pixbuf_new().
4887 * src/gdk-pixbuf.h (gdk_pixbuf_get_height): Added some convenience
4888 macros to fetch the ArtPixBuf's fields.
4890 1999-10-27 Havoc Pennington <hp@pobox.com>
4892 * src/testpixbuf.c (main): Display the progressive load
4894 * src/io-png.c (setup_png_transformations): Break transformation
4895 code into separate function
4896 (png_info_callback): Use setup_png_transformations
4898 1999-10-27 Havoc Pennington <hp@pobox.com>
4900 * src/gdk-pixbuf-io.c (gdk_pixbuf_new_from_xpm_data): Check
4901 properly whether the XPM module has already been loaded
4902 (gdk_pixbuf_new_from_file): Check properly if loader module
4903 was already loaded (was checking if load symbol was present
4904 in order to decide whether to re-load; should check module !=
4905 NULL, then load != NULL)
4906 (image_handler_load): Check in present working directory,
4907 makes it easier to debug for now
4908 (file_formats): This array initializer was seriously on crack,
4909 was assigning a function pointer to a GModule*
4911 * src/testpixbuf.c (main): Change type of pixbuf_loader to
4914 1999-10-27 Havoc Pennington <hp@pobox.com>
4916 * src/gdk-pixbuf-loader.c (gdk_pixbuf_loader_finalize):
4917 Fix typo that prevented compilation
4918 (gdk_pixbuf_loader_destroy): ditto
4920 1999-10-27 Federico Mena Quintero <federico@redhat.com>
4922 * src/gdk-pixbuf-loader.c (gdk_pixbuf_loader_new): Return a
4923 GdkPixbufLoader, not a GtkObject.
4924 (gtk_marshal_NONE__INT_INT_INT_INT): Made static.
4925 (gdk_pixbuf_loader_get_type): Documented.
4926 (gdk_pixbuf_loader_class_init): Initialize the parent class
4928 (gdk_pixbuf_loader_destroy): Added sanity checks. Call the parent
4929 class destroy function.
4930 (gdk_pixbuf_loader_new): Documented.
4931 (gdk_pixbuf_loader_finalize): Call the parent class finalize
4933 (gdk_pixbuf_loader_write): Use size_t for count.
4935 1999-10-27 Michael Fulbright <drmike@redhat.com>
4937 * src/gdk-pixbuf-loader.c (gdk_pixbuf_loader_destroy): Fixed
4938 logic so we only try to close loader if it wasn't previously closed.
4940 1999-10-27 Michael Fulbright <drmike@redhat.com>
4942 * src/gdk-pixbuf-loader.c: Made sure image_loader struct member of
4943 pixbuf_loader properly initialized.
4945 * src/testpixbuf.c: Made sure we cleanup pixbuf_loader properly
4948 1999-10-26 Jonathan Blandford <jrb@redhat.com>
4950 * src/gdk-pixbuf-io.c (image_handler_load): load the vtable fully.
4952 * src/gdk-pixbuf-loader.c: Finished initial cut at the object.
4954 1999-10-26 Havoc Pennington <hp@pobox.com>
4956 * src/gdk-pixbuf-loader.h: fix signals
4958 * src/gdk-pixbuf-io.h: add new vtable fields
4961 1999-10-26 Jonathan Blandford <jrb@redhat.com>
4963 * src/gdk-pixbuf-loader.h: New Class. Beginning of progrssive
4966 1999-10-25 Federico Mena Quintero <federico@redhat.com>
4968 * configure.in (CFLAGS): Patch from Uwe Koloska
4969 <koloska@Rcs1.urz.tu-dresden.de> to fix a stupid typo of mine.
4971 1999-10-22 Havoc Pennington <hp@pobox.com>
4973 * src/io-xpm.c (mem_buffer): Clean up stupid
4974 increment-inside-array-dereference thing
4976 * src/testpixbuf.c: Add XPM data tests.
4978 * src/io-xpm.c: Make the XPM data buffer const, fix const
4979 correctness throughout the code.
4981 1999-10-22 Havoc Pennington <hp@pobox.com>
4983 * src/gdk-pixbuf.h: Export gdk_pixbuf_new_from_xpm_data()
4985 1999-10-22 Havoc Pennington <hp@pobox.com>
4987 * src/io-xpm.c (image_load_xpm_data): Export this symbol for
4988 loading an XPM from memory.
4990 * src/gdk-pixbuf-io.c (gdk_pixbuf_new_from_xpm_data): New
4991 function, loads pixbuf from xpm data
4992 (image_handler_load): Add g_return_if_fail() to ensure the same
4993 module isn't loaded twice. Add g_module_symbol() to scan for XPM
4996 1999-10-22 Federico Mena Quintero <federico@redhat.com>
4998 * src/io-png.c (image_load): Patch from Kristian Hogsberg
4999 Kristensen <hogsberg@daimi.au.dk> to avoid allocating extra row
5000 buffers; the rows can be read in directly into the main pixel
5003 1999-10-20 Federico Mena Quintero <federico@redhat.com>
5005 * src/gdk-pixbuf-io.c (image_handler_load): Free path.
5007 1999-10-20 Federico Mena Quintero <federico@redhat.com>
5009 * configure.in: Bumped version number to 0.3.
5011 * src/Makefile.am (lbgdk_pixbuf_la_LDFLAGS): Added a libtool
5012 version number for the library.
5014 1999-10-20 Federico Mena Quintero <federico@redhat.com>
5016 * src/gdk-pixbuf.h (GdkPixbuf): Removed the unref_fn field. Now
5017 all memory management of the buffer is done by libart.
5019 * src/gdk-pixbuf.c (gdk_pixbuf_unref): Do destruction here.
5020 Removed gdk_pixbuf_destroy, gdk_pixbuf_duplicate.
5022 * src/gdk-pixbuf-data.c (gdk_pixbuf_new_from_data): Implemented in
5023 terms of the libart functions. Removed the old code.
5025 * src/gdk-pixbuf-io.c (image_handler_load): Removed the save
5026 symbols. Saving will not be implemented in GdkPixbuf.
5028 * src/io-gif.c: Removed the saving stub.
5029 (image_load): Fixed memory management to fail gracefully if we run
5030 out of memory while loading the image. Close the gif file when we
5031 are done. This still needs more error handling for the DGif
5034 * src/io-jpeg.c (image_load): Some robustness fixes.
5036 * src/io-png.c: Removed the saving stuff.
5037 (image_load): Some memory management fixes.
5039 * src/io-tiff.c (image_load): Ditto.
5041 * src/io-xpm.c (pixbuf_create_from_xpm): Ditto.
5043 1999-10-18 Havoc Pennington <hp@pobox.com>
5045 * subautogen.sh: New name for macros/autogen.sh
5047 * autogen.sh: use subautogen.sh
5049 1999-10-18 Federico Mena Quintero <federico@redhat.com>
5051 * src/*: Reindented to use the GNOME Indentation. Renamed
5052 GdkPixBuf to GdkPixbuf, for consistency with the function names
5053 (and it is also easier to type) :-)
5055 1999-10-18 Havoc Pennington <hp@pobox.com>
5057 * configure.in: Use AM_PATH_GLIB instead of glib-config directly
5059 * src/Makefile.am: Re-enable testpixbuf with GTK_CFLAGS/GTK_LIBS
5061 1999-10-18 Havoc Pennington <hp@pobox.com>
5063 * Makefile.am (SUBDIRS): Remove "macros"
5065 * configure.in: Don't use GNOME_INIT, handle case where we are
5066 inside gnome-libs. AM_PATH_GTK for the GIF test
5068 * src/Makefile.am: Change flags to work without libgnomeui,
5069 comment out testpixbuf for now
5071 1999-10-18 Federico Mena Quintero <federico@redhat.com>
5073 * configure.in: Use $GTK_LIBS as the extra libs when checking for
5074 libgif/libungif, as they need the X libraries. Fixes bug #2472.
5076 1999-10-10 Cody Russell <bratsche@dfw.net>
5077 * src/gdk-pixbuf-drawable.c: core function now determines whether
5078 the requested geometry is on screen or not, and if some is not
5079 then the request is clamped to geometry that is on the screen.
5081 Changed 'pixbuf' to 'art_pixbuf' in core function.
5083 1999-10-08 Michael Fulbright <drmike@redhat.com>
5085 * src/gdk-pixbuf-data.c: Added to load rgb data from const data.
5087 * src/testpifbuf: Changed test program to display cdrom from rgb data
5088 if no filename given to test program.
5090 1999-10-07 Cody Russell <bratsche@dfw.net>
5091 * src/gdk-pixbuf-drawable.[ch]: Added. (Actually, Miguel committed
5092 them, but I wrote them).
5094 * src/gdk-pixbuf-drawable.h: Added a missing ; so things will now
5097 * src/Makefile.am: Added gdk-pixbuf-drawable.[ch] to
5098 libgdk_pixbuf_la_SOURCES and libgdk_pixbufinclude_HEADERS.
5100 * src/gdk-pixbuf-drawable.c: Added #include "gdk-pixbuf-drawable.h"
5103 * src/gdk-pixbuf-drawable.[ch]: Changed functions to return
5104 GdkPixBuf* instead of ArtPixBuf*.
5106 1999-09-22 Michael Meeks <michael@nuclecu.unam.mx>
5108 * src/gdk-pixbuf.c (gdk_pixbuf_new): created.
5109 (gdk_pixbuf_scale): use gdk_pixbuf_new + return a new scaled image.
5111 * src/gdk-pixbuf.h (struct _GdkPixBuf): Re-organise struct, + add
5112 GdkPixBufUnrefFunc + gdk_pixbuf_new.
5114 * src/io-jpeg.c (image_load): clean to use gdk_pixbuf_new.
5116 * src/io-xpm.c (_pixbuf_create_from_xpm): ditto.
5118 * src/io-tiff.c (image_load): ditto + fix leak
5120 * src/io-png.c (image_load): ditto + add more exit points; monitor.png
5121 crashes this module ( add warning :-)
5123 * src/io-bmp.c (image_load): ditto.
5125 * src/io-gif.c (image_load): ditto.
5127 1999-09-18 Michael Meeks <michael@nuclecu.unam.mx>
5129 * src/gdk-pixbuf.c (gdk_pixbuf_scale): Hack rgba support in so
5130 it doesn't crash scaling with alpha.
5132 1999-09-17 Federico Mena Quintero <federico@redhat.com>
5134 * src/io-bmp.c (image_load): Set the initial ref_count to 1.
5136 * src/io-gif.c (image_load): Likewise.
5138 * src/io-jpeg.c (image_load): Likewise.
5140 * src/io-png.c (image_load): Likewise.
5142 * src/io-tiff.c (image_load): Likewise.
5144 * src/io-xpm.c (_pixbuf_create_from_xpm): Likewise.
5146 * src/gdk-pixbuf-io.c (gdk_pixbuf_load_image): Added an assertion
5147 for the ref_count to be != 0.
5149 * src/gdk-pixbuf.c (gdk_pixbuf_ref): Be more paranoid with sanity
5151 (gdk_pixbuf_unref): Fix incorrect sanity check and comparison.
5153 1999-08-09 Federico Mena Quintero <federico@nuclecu.unam.mx>
5155 * src/io-png.c (image_save): Fixed compiler warnings. Fixed write
5156 to unallocated memory (row_ptr), and fixed its type as well. Take
5157 into account the ArtPixbuf's rowstride when assigning the row
5160 * src/gdk-pixbuf.c: Fixup includes.
5162 * src/gdk-pixbuf-io.c: Likewise.
5164 Sat Jul 31 19:19:47 CEST 1999
5166 * src/gdk-pixbuf-io.c:
5167 * src/io-png.c: Fixed two obvious C syntax bugs
5169 1999-07-29 Mark Crichton <crichton@gimp.org>
5171 * src/io-png.c (image_save): Added PNG saving function
5173 * src/gdk-pixbuf-io.c: Changed image_save function format. Now it's
5174 image_save(GdkPixBuf *p, FILE *f, ...)
5177 1999-07-26 Michael Zucchi <mzucchi@denr.sa.gov.au>
5179 * src/Makefile.am (*_LIB): Only build the relevant loaders which
5180 require extra libraries if we actually have those libraries.
5182 1999-07-23 Richard Hestilow <hestgray@ionet.net>
5184 * src/gdk-pixbuf.h: Include glib.h as it uses g* datatypes
5185 * gdk_pixbufConf.sh.in: Added for gnome-config
5187 * configure.in: Modified to generate gdk_pixbufConf.sh
5189 1999-07-20 Mark Crichton <crichton@gimp.org>
5191 * src/gdk-pixbuf.c (gdk_pixbuf_rotate): Fixed rotation. Now a bbox
5192 calculation needs to be done.
5194 1999-07-18 Larry Ewing <lewing@gimp.org>
5199 * src/io-jpeg.c: Fix a few memory leaks in the, most of them in
5200 error cases but one or two in the common case. There are probably
5201 a few small ones left.
5203 1999-07-18 Mark Crichton <crichton@gimp.org>
5205 * configure.in: removed version.h.
5207 * src/gdk-pixbuf-io.c (pixbuf_check_tiff): Minor readability
5210 1999-07-17 Mark Crichton <crichton@gimp.org>
5212 * src/gdk-pixbuf.c: Removed gdk_pixbuf_free, redundant code.
5213 (gdk_pixbuf_rotate): Added pixbuf rotation code.
5214 (gdk_pixbuf_scale): Changed // comments to /* */
5216 * src/gdk-pixbuf.h (gdk_pixbuf_destroy): Added gdk_pixbuf_destroy
5219 1999-07-16 Larry Ewing <lewing@gimp.org>
5221 * src/testpixbuf.c (expose_func): reverted the expose everything
5222 changes, I'm not sure why these went in.
5223 (config_func): bring this up to date with the new pixbuf_scale
5226 * src/gdk-pixbuf-io.c: added a couple of warnings to the module
5227 loading code so that poeple can diagnose problems better.
5229 * src/gdk-pixbuf.c (gdk_pixbux_scale): fix the borkedness, also it
5230 no longer allocates a new pixbuf, which make things nicer for the
5231 rest of the code. Unfortunately there is still a problem with
5232 scaling rgba images.
5234 1999-07-16 Mark Crichton <crichton@gimp.org>
5236 * src/testpixbuf.c (config_func): ConfigureEvent handler. This
5237 calls gdk_pixbuf_scale. However, something is not working.
5238 N.B.: current pixmap is now stored in user_data with a key of
5241 * src/gdk-pixbuf.c (gdk_pixbuf_scale): Implemented scaling function.
5242 Something is still borked, however.
5244 1999-07-15 Larry Ewing <lewing@gimp.org>
5246 * src/io-jpeg.c (image_load): add raph@gimp.org's fix to the jpeg
5249 * src/testpixbuf.c (main): fix up the file routines a little so
5250 that you can load multiple files given the file names
5252 1999-07-14 Larry Ewing <lewing@gimp.org>
5254 * src/testpixbuf.c (expose_func): added an almost proper expose
5255 handler for testpixbuf
5257 1999-07-13 Mark Crichton <crichton@gimp.org>
5259 * configure.in: Fixed GIF check. Replaced " with '
5260 * src/gdk-pixbuf.c: More (minor) work on gdk_pixbuf_scale
5262 1999-07-13 Mark Crichton <crichton@gimp.org>
5264 * configure.in: I am a bonehead. Added gif-lib check.