1 2004-09-19 Matthias Clasen <mclasen@redhat.com>
3 * === Released 2.5.3 ===
5 2004-09-15 Matthias Clasen <mclasen@redhat.com>
8 * io-xpm.c: Fix some security issues discovered by Chris Evans.
10 Mon Sep 13 19:31:34 2004 Matthias Clasen <maclas@gmx.de>
12 * io-jpeg.c (real_save_jpeg): Drop the alpha channel
13 when saving 4-channel pixbufs. (#152450, Emmanuel Pacaud)
15 2004-09-09 Matthias Clasen <mclasen@redhat.com>
17 * makegdkpixbufalias.pl: Use the short prefix "IA__" for
18 aliases instead of the long suffix "__internal_alias".
20 2004-09-01 Matthias Clasen <mclasen@redhat.com>
22 * gdk-pixbuf-core.h: Align argument names with source.
24 Thu Aug 26 01:23:16 2004 Matthias Clasen <maclas@gmx.de>
28 * gdk-pixbuf-io.c (gdk_pixbuf_new_from_file_at_scale):
29 Add gdk_pixbuf_new_from_file_at_scale(), which is just
30 like gdk_pixbuf_new_from_file_at_size(), but optionally
31 ignores the aspect ratio. (#136395, Dom Lachowicz)
33 Wed Aug 25 17:23:23 2004 Manish Singh <yosh@gimp.org>
35 * io-gif.c: remove unused set_need_recomposite() function.
37 2004-08-25 Matthias Clasen <mclasen@redhat.com>
39 * === Released 2.5.2 ===
41 * abicheck.sh: Make work in make distcheck.
43 2004-08-25 Matthias Clasen <mclasen@redhat.com>
45 * Makefile.am: Use the same prefix when creating
46 gdk-pixbuf-marshal.c and gdk-pixbuf-marshal.h
48 * gdk-pixbuf-loader.c (gdk_pixbuf_loader_class_init): _-prefix
51 2004-08-24 Matthias Clasen <mclasen@redhat.com>
53 * gdk-pixbuf-loader.c (gdk_pixbuf_loader_new_with_mime_type): Use
54 the correct index and compare correctly, reported by Tommi Komulainen.
55 (gdk_pixbuf_loader_new_with_mime_type):
57 * gdk-pixdata.c (gdk_pixdata_from_pixbuf): Work around bugs in
58 the runlength encoder by forcing rowstride * height to be
59 divisible by bpp. (#150882)
61 Sun Aug 22 03:20:56 2004 Matthias Clasen <maclas@gmx.de>
63 * pixops/pixops.c (pixops_scale_nearest): Fix a mixup in the handling
64 of dest_channels. (#111922, Christophe Fergeau)
66 Fri Aug 20 11:59:10 2004 Owen Taylor <otaylor@redhat.com>
68 * io-bmp.c: Fix infinite loop that can occur for bad
69 image data (#150601, Chris Evans, Manish Singh)
71 2004-08-17 Matthias Clasen <mclasen@redhat.com>
73 * abicheck.sh: No need for INCLUDE_INTERNAL_SYMBOLS any more.
75 * Makefile.am (gdk-pixbuf-alias.h): Don't use cpp to filter the symbols.
77 * makegdkpixbufalias.pl: Move the #ifdef processing into the perl script,
78 and keep the #ifdefs which differentiate between platforms.
80 * gdk-pixbuf.symbols: Remove the marshalers.
82 * Makefile.am (stamp-gdk-pixbuf-marshal.h): _-prefix the marshalers.
84 Thu Aug 12 22:19:12 2004 Matthias Clasen <maclas@gmx.de>
86 * io-bmp.c (DecodeHeader): Properly determine the number of
87 colors in an OS/2 BMP file. (#150003, Jon-Kare Hellan)
89 2004-08-12 Matthias Clasen <mclasen@redhat.com>
91 * pixops/pixops.c: Remove C99-isms. (#149967, Vincent Noel)
93 Wed Aug 11 22:56:55 2004 Matthias Clasen <maclas@gmx.de>
95 * abicheck.sh: Check all symbols.
97 2004-08-11 Matthias Clasen <mclasen@redhat.com>
99 * pixops/pixops.c: Make scaling and compositing functions handle
100 edge pixels consistently. (#111922, Brian Cameron)
102 * pixops/pixops-internal.h:
104 * pixops/*.S: underscore prefix the mmx implementations, in order
107 * gdk-pixbuf.symbols: Remove the mmx pixops implementations.
109 * abicheck.sh: No need to define INCLUDE_MMX_SYMBOLS any more.
111 Tue Aug 10 23:53:59 2004 Matthias Clasen <maclas@gmx.de>
113 Add hidden aliases for exported symbols which are
114 used internally in order to get rid of many PLT
115 entries. (#145519, Arjan van de Ven)
117 * gdk/Makefile.am: Add rules to generate gdk_pixbuf.def and
118 gdk-pixbuf-alias.h from gdk-pixbuf.symbols, and make make
119 check check the abi with abicheck.sh.
121 * gdk/gdk-pixbuf.symbols: New file. Definition of the gdk-pixbuf
122 ABI. The file can be processed by cpp to filter out certain
125 * gdk/abicheck.sh: New file. Script to check the actually
126 symbols exported from libgdk_pibuf.2.0.so against the symbols
127 found in gdk-pixbuf.symbols.
129 * gdk/makegdkpixbufalias.pl: New file. Perl script to generate the
130 header containing the alias definitions for internally used
131 exported symbols from a list of symbols.
133 * *.c: Include gdk-pixbuf-alias.h
135 2004-08-06 Hans Breuer <hans@breuer.org>
137 * gdk_pixbuf.def makefile.msc : updated
139 Sun Aug 1 23:57:06 2004 Matthias Clasen <maclas@gmx.de>
141 * io-pcx.c (pcx_increment_load_data_1): Fix progressive
142 loading of 8bit pcx files. (#148518, Magnus Bergman)
144 2004-08-01 Matthias Clasen <mclasen@redhat.com>
146 * === Released 2.5.1 ===
148 Tue Jul 20 22:23:26 2004 Matthias Clasen <maclas@gmx.de>
150 * gdk-pixbuf-io.h: Remove trailing commas from
151 enumerations. (#148035)
153 Sun Jul 18 20:17:41 2004 Soeren Sandmann <sandmann@daimi.au.dk>
155 * === released 2.5.0 ==
157 Thu Jul 15 19:19:21 2004 Matthias Clasen <maclas@gmx.de>
159 * io-png.c (real_save_png):
160 * gdk-pixbuf-io.c (gdk_pixbuf_io_init): Use 'cannot' instead
161 of 'can not' in messages. (#144226, Morten Welinder)
163 Fri Jul 9 15:38:06 2004 Manish Singh <yosh@gimp.org>
165 * gdk-pixbuf-io.c (gdk_pixbuf_format_set_disabled): function doesn't
166 return a value, so don't use g_return_val_if_fail()
168 * gdk-pixbuf-scale.c (gdk_pixbuf_rotate_simple): initialize dest in
169 the can't happen case, to quiet gcc.
171 * io-tiff.c (tifflibversion): enclose in #if TIFFLIB_VERSION >=
174 Wed Jul 7 23:53:58 2004 Matthias Clasen <maclas@gmx.de>
177 * gdk-pixbuf-io.c (gdk_pixbuf_format_is_disabled):
178 * gdk-pixbuf-io.c (gdk_pixbuf_format_set_disabled):
179 * gdk-pixbuf-io.c (gdk_pixbuf_format_get_license):
180 New functions to disable/enable individual loaders and to
181 obtain license information about loaders.
183 * gdk-pixbuf-io.h (GdkPixbufFormat): Add disabled and
186 * gdk-pixbuf-io.c (_gdk_pixbuf_get_module):
187 * gdk-pixbuf-io.c (_gdk_pixbuf_get_named_module): Skip
190 * io-*.c: Add license information in the fill_info
193 2004-07-07 Matthias Clasen <mclasen@redhat.com>
195 * gdk-pixbuf-features.h.in: Fix the build.
197 2004-07-06 Tor Lillqvist <tml@iki.fi>
199 * gdk-pixbuf-features.h.in
200 * gdk-pixbuf.c: Mark the version variables for proper import and
201 export from Windows DLLs. Thanks to Laurent Sansonetti for
202 reporting the problem.
204 Sat Jul 3 00:41:44 2004 Matthias Clasen <maclas@gmx.de>
206 * pixops/pixops.c (bilinear_box_make_weights): Correct the
207 math to calculate bilinear weights. (#112412, Brian Cameron)
209 Mon Jun 21 00:44:51 2004 Matthias Clasen <maclas@gmx.de>
211 * gdk-pixbuf-transform.h:
212 * gdk-pixbuf-scale.c (gdk_pixbuf_rotate_simple):
213 * gdk-pixbuf-scale.c (gdk_pixbuf_flip): New functions to
214 rotate pixbufs by multiples of 90 degrees and to flip them
215 horizontally or vertically.
217 Sun Jun 20 01:06:48 2004 Matthias Clasen <maclas@gmx.de>
219 Header reorganization. (#51999, Jeff Franks, reorganization
220 proposed by Havoc Pennington)
222 * gdk-pixbuf.h: This is now an include-only header, and the only
223 one which applications should directly use.
225 * gdk-pixbuf-animation.h: Add animation api from gdk-pixbuf.h.
226 * gdk-pixbuf-io.h: Add io api from gdk-pixbuf.h.
227 * gdk-pixbuf-loader.h: Add loader api from gdk-pixbuf.h.
228 * gdk-pixbuf-transform.h: New header.
229 * gdk-pixbuf-core.h: New header.
231 Sat Jun 19 01:44:12 2004 Matthias Clasen <maclas@gmx.de>
233 * gdk-pixbuf-scale.c (gdk_pixbuf_composite): Add a figure which
234 explains pixbuf compositing.
236 2004-06-16 Matthias Clasen <mclasen@redhat.com>
238 * io-tiff.c: Make the tiff loader work with both
239 libtiff 3.5.7 and libtiff 3.6.1. (#135541, Marco Ghirlanda)
241 Fri Jun 11 22:02:56 2004 Matthias Clasen <maclas@gmx.de>
243 * io-gif.c, io-pnm.c, io-tga.c, io-xpm.c: Don't use
244 contractions like "don't" or "isn't" in error messages.
245 It isn't nice to use them in log entries either...
246 (#137774, Morten Welinder, patch by Alexander Winston)
248 Sat Jun 5 00:59:12 2004 Matthias Clasen <maclas@gmx.de>
252 * gdk-pixbuf-animation.c:
253 * gdk-pixbuf-io.c: Convert filenames to UTF-8 when embedding
254 them in error messages. (#143654, Sven Neumann)
256 Sun May 16 22:53:47 2004 Matthias Clasen <maclas@gmx.de>
260 * io-pnm.c (pnm_read_next_value): Don't read integers
261 partially. (#142584, Kouichirou Hiratsuka)
263 2004-05-10 Matthias Clasen <mclasen@redhat.com>
267 * pixops/timescale.c:
270 * gdk-pixbuf-scale.c: _-prefix the nonstatic pixops_...
271 functions. (#142233, Morten Welinder)
273 Wed May 5 23:09:48 2004 Matthias Clasen <maclas@gmx.de>
275 * gdk-pixbuf-io.h (GdkPixbufFormatFlags): New format flag
276 GDK_PIXBUF_FORMAT_SCALABLE to mark scalable formats.
279 * gdk-pixbuf-io.c (gdk_pixbuf_format_is_scalable): New function.
280 (#137995, Dom Lachowicz)
282 2004-04-30 Matthias Clasen <mclasen@redhat.com>
284 * === Released 2.4.1 ===
286 2004-04-13 Matthias Clasen <mclasen@redhat.com>
288 * io-ani.c (gdk_pixbuf__ani_image_load_animation):
289 * gdk-pixbuf-io.c (gdk_pixbuf_get_file_info)
290 (_gdk_pixbuf_generic_image_load)
291 (gdk_pixbuf_new_from_file_at_size): When calling fread()
292 in a loop, check for ferror() as well as for feof() to
293 avoid infinite loops on directories. (#137804, Alex Converse)
295 Mon Mar 15 15:01:59 2004 Owen Taylor <otaylor@redhat.com>
297 * === Released 2.4.0 ===
299 2004-03-15 Tor Lillqvist <tml@iki.fi>
301 * queryloaders.c (main): [Win32] Look up installation prefix at
302 run-time, replace prefix in PIXBUF_LIBDIR with that. (#106141)
304 Merges from stable branch that had been left out. (#136282, J. Ali
307 Changes for run-time lookup of installation location on Win32:
309 * Makefile.am (INCLUDES): Define GTK_PREFIX as $(prefix).
311 * gdk-pixbuf-io.c (get_sysconfdir): New function, look up
312 installation location at runtime and deduce GTK_SYSCONFDIR
314 (get_toplevel): Similar, for the top-level installation directory.
315 (correct_prefix): Replace compile-time prefix with run-time
317 (get_libdir): Remove, not used any longer.
318 (gdk_pixbuf_io_init): Call correct_prefix() on Win32.
320 * queryloaders.c (query_module): [Win32] Change backslahses into
323 Tue Mar 9 09:33:28 2004 Owen Taylor <otaylor@redhat.com>
325 * === Released 2.3.6 ===
327 2004-03-05 Tor Lillqvist <tml@iki.fi>
329 * gdk_pixbuf.def: Add missing entries. Thanks to J. Ali Harlow.
331 Fri Mar 5 22:22:25 2004 Matthias Clasen <maclas@gmx.de>
333 * io-bmp.c (OneLine32): Don't try to load an alpha channel
334 from the BMP, since there is no evidence that even 32bit
335 BMPs have an alpha channel. (#135502)
337 Mon Mar 1 19:47:48 2004 Owen Taylor <otaylor@redhat.com>
339 * === Released 2.3.5 ====
341 2004-02-28 Hans Breuer <hans@breuer.org>
343 * io-tiff.c : include <io.h> for lseek()
344 * io-xbm.c : use HAVE_UNISTD_H
346 Tue Feb 24 14:45:03 2004 Owen Taylor <otaylor@redhat.com>
348 * === Released 2.3.3 ===
350 Sun Feb 22 01:09:55 2004 Matthias Clasen <maclas@gmx.de>
352 * io-bmp.c (gdk_pixbuf__bmp_image_begin_load): Remove debugging
355 Fri Feb 20 22:25:32 2004 Matthias Clasen <maclas@gmx.de>
357 * io-bmp.c (DecodeHeader): Store and sanity-check the clrUsed field
358 from the header for use in DecodeColormap.
359 * io-bmp.c (DecodeColormap): Don't read more colormap entries than
360 the header says are there. (#134235, Kazuho Okui)
362 Sun Feb 8 01:07:20 2004 Manish Singh <yosh@gimp.org>
364 * gdk-pixbuf-io.c: removed unnecessary G_OBJECT() cast checks.
366 * io-jpeg.c: make the return type for to_callback_empty_output_buffer
367 "boolean", which should be defined by the jpeg headers. The right
368 return type for this function depends on how the jpeg library
369 was built (one wonders what happens if different compilers are used).
371 2004-01-28 Hans Breuer <hans@breuer.org>
373 * gdk_pixbuf.def : updated externals
375 Sat Jan 17 23:02:55 2004 Matthias Clasen <maclas@gmx.de>
377 The second part of the fix for #114351 (see also
380 * gdk-pixbuf-i18n.h (P_): Use translation domain gtk20-properties.
382 Sat Jan 17 00:01:51 2004 Matthias Clasen <maclas@gmx.de>
384 The first part of the fix for #114351 (see also
387 * gdk-pixbuf-i18n.h: Define P_() for property blurbs and nicks.
389 * gdk-pixbuf.c: Mark property blurbs and nicks with P_().
391 Thu Jan 8 22:01:14 2004 Matthias Clasen <maclas@gmx.de>
393 * queryloaders.c (loader_sanity_check): Don't use bitwise operators
394 on booleans. (#130923, reported by Telsa Gwynne, fix by Dave Jones)
396 2004-01-06 Federico Mena Quintero <federico@ximian.com>
398 * gdk-pixbuf-io.c (gdk_pixbuf_save): Escape an ampersand in the
399 documentation comment, and hack around an empty line in the code
400 example so that gtk-doc won't put a <para> due to it.
402 * gdk-pixbuf.c (gdk_pixbuf_get_pixels): Link to the documentation
403 section on image data.
405 2004-01-06 Federico Mena Quintero <federico@ximian.com>
407 * gdk-pixdata.c (gdk_pixbuf_new_from_inline): Fix example in
408 documentation comment. Fixes #130701.
410 Wed Jan 7 02:41:14 2004 Matthias Clasen <maclas@gmx.de>
412 * gdk-pixbuf-io.c (gdk_pixbuf_save_to_bufferv):
413 * gdk-pixbuf-io.c (gdk_pixbuf_save_to_buffer):
414 * gdk-pixbuf-io.c (gdk_pixbuf_save_to_callbackv):
415 * gdk-pixbuf-io.c (gdk_pixbuf_save_to_callback): New public API
416 to save pixbufs to non-file locations. (#82203, Tim Evans)
419 * gdk-pixbuf.def: Declare the new public API.
421 * gdk-pixbuf-io.h: Add save_to_callback to the module interface.
424 * io-png.c: Implement save_to_callback.
426 * gdk-pixbuf-io.c (gdk_pixbuf_savev):
427 * gdk-pixbuf-io.c (gdk_pixbuf_save): Update documentation.
429 * gdk-pixbuf-io.c (gdk_pixbuf_real_save): Support saving via
430 image_module->save_to_callback.
432 * gdk-pixbuf-io.c (gdk_pixbuf_real_save_to_callback): New generic
433 save_to_callback function which falls back to image_module->save
436 Wed Jan 7 01:17:36 2004 Matthias Clasen <maclas@gmx.de>
438 * gdk-pixbuf-loader.c (gdk_pixbuf_loader_size_func):
439 * gdk-pixbuf-loader.c (gdk_pixbuf_loader_set_size):
440 * gdk-pixbuf-loader.c (gdk_pixbuf_loader_init): Make it possible
441 to call gdk_pixbuf_loader_set_size (loader, 0, 0) by changing
442 the initial values of priv->width/height to -1.
444 * io-tiff.c (tiff_image_parse):
445 * io-ras.c (RAS2State):
446 * io-pnm.c (gdk_pixbuf__pnm_image_load_increment):
447 * io-pcx.c (gdk_pixbuf__pcx_load_increment):
448 * io-jpeg.c (gdk_pixbuf__jpeg_image_load_increment):
449 * io-png.c (png_info_callback):
450 * io-ico.c (DecodeHeader):
451 * io-bmp.c (DecodeHeader): Call size_func once the size is known,
452 even if the module can't make use of the scaling information. If
453 size_func returns 0, don't allocate a pixbuf and return, if
454 necessary with an error.
457 * gdk-pixbuf-io.c (gdk_pixbuf_get_file_info): A new function
458 to determine the type and size of an image file without loading
459 it completely. (#53725)
461 Sun Jan 4 00:44:57 2004 Matthias Clasen <maclas@gmx.de>
463 * gdk-pixbuf.c (gdk_pixbuf_class_init): Turn the pixbuf
464 attributes into (construct-only, but always readable)
465 properties. (#130196)
467 * gdk-pixbuf-data.c (gdk_pixbuf_new_from_data): Set properties
470 Mon Dec 22 01:35:36 2003 Matthias Clasen <maclas@gmx.de>
472 * Makefile.am (gdk-pixbuf.loaders): Fix building with
473 --disable-modules --with-included-loaders, create an
474 empty gdk-pixbuf.loaders file. (#124496, Arno Charlet, fix
475 proposed by Owen Taylor)
477 Thu Dec 11 01:57:05 2003 Matthias Clasen <maclas@gmx.de>
479 * gdk-pixbuf-loader.c (gdk_pixbuf_loader_class_init): Move
480 the documentation for signals inline, to get proper parameter
481 documentation. (#128977)
483 Sat Nov 15 00:26:19 2003 Matthias Clasen <maclas@gmx.de>
485 * queryloaders.c (loader_sanity_check): Check that the mask
486 is NULL or a string of the same length consisting entirely of
487 ' ', '!', 'x', 'z', 'n'.
489 Mon Nov 10 00:17:52 2003 Matthias Clasen <maclas@gmx.de>
491 * Makefile.am (install-data-local): Typo fix in warning.
493 Sun Nov 9 23:07:05 2003 Matthias Clasen <maclas@gmx.de>
495 * gdk-pixbuf-io.c (_gdk_pixbuf_generic_image_load): If neither
496 load nor begin_load are available fall back to load_animation
497 and use gdk_pixbuf_animation_get_static_image() to obtain a
498 pixbuf. Inefficient, but at least doesn't crash.
500 Sun Nov 9 21:56:20 2003 Matthias Clasen <maclas@gmx.de>
502 * queryloaders.c (write_loader_info): New function to write
503 out the information for a single loader, factored out of
505 (loader_sanity_check): New function to perform
506 sanity checks on a loader.
507 (query_module): Use the new functions.
509 Thu Nov 6 00:27:27 2003 Matthias Clasen <maclas@gmx.de>
511 * io-pcx.c (gdk_pixbuf__pcx_load_increment): Fold two similar
512 strings into on. (#126204, Danilo Segan)
514 2003-09-19 Matthias Clasen <maclas@gmx.de>
516 * io-tga.c (try_preload): Remove a pointless check.
517 (#122710, Kjartan Maraas)
519 Mon Aug 18 10:25:29 2003 Owen Taylor <otaylor@redhat.com>
521 * gdk-pixdata.c (gdk_pixdata_to_csource): Add the correct
522 alignment magic for Sun compiler and for GCC to get
523 the strings aligned. (Patch from Brian Cameron, #117217)
525 2003-08-14 Matthias Clasen <maclas@gmx.de>
527 * gdk-pixdata.c (gdk_pixdata_to_csource): Improve doc comment
528 wording. (#119754, Doug Quale)
530 2003-08-03 Matthias Clasen <maclas@gmx.de>
532 * gdk-pixbuf.c (gdk_pixbuf_get_rowstride):
533 * gdk-pixbuf-data.c (gdk_pixbuf_new_from_data): Clarify misleading
534 explanation of rowstride. (#119000)
536 2003-07-24 Matthias Clasen <maclas@gmx.de>
538 * gdk-pixbuf-io.c (gdk_pixbuf_new_from_file_at_size): Preserve the
539 aspect ratio. (#118145, Owen Taylor)
541 2003-07-23 Matthias Clasen <maclas@gmx.de>
543 * gdk-pixbuf-io.c (gdk_pixbuf_new_from_file_at_size): Close loader
544 before unref'ing it. (#118146, Owen Taylor)
546 2003-03-01 Hans Breuer <hans@breuer.org>
548 * makefile.msc : updated
550 * gdk_pixbuf.def : export a bunch of new functions
552 2003-07-18 Matthias Clasen <maclas@gmx.de>
554 * pixops/pixops.c (correct_total): Split correction into multiple
555 pieces if no single weight is large enough to apply the unsplit
556 correction. (#117431, problem reported by Tomas Ögren)
558 2003-07-13 Matthias Clasen <maclas@gmx.de>
561 * gdk-pixbuf-io.c (gdk_pixbuf_new_from_file_at_size): New function
562 to load an image from a file at a specified size. (#105326, Dom
565 2003-07-11 Matthias Clasen <maclas@gmx.de>
567 * queryloaders.c (query_module): Handle absolute filenames
568 properly. (#117170, Jens Elkner)
570 * gdk-pixbuf-io.c: Mention that NULL-terminated arrays returned by
571 gdk_pixbuf_format_get_mime_types() and
572 gdk_pixbuf_format_get_extensions() must be freed with g_strfreev().
574 2003-07-04 Matthias Clasen <maclas@gmx.de>
576 * gdk-pixbuf-io.c: Document ICO save parameters.
578 * io-ico.c: Support saving of ICOs and CURs. Currently, only
579 single-image ICOs are produced, but the code for multi-image ICOs
580 is already in place. The saver understands the options "depth"
581 (can be "32", "24" or "16") and "x_hot"/"y_hot" for hotspot
584 2003-06-28 Matthias Clasen <maclas@gmx.de>
586 * io-ico.c (DecodeHeader): Stop discriminating against 32bpp ICOs
587 a): Use the byte size of the image as a heuristic when selecting
588 the bitmap to load - this lets us select 32bpp bitmaps which come
590 (OneLineTransp): Stop discriminating against 32bpp ICOs b): Don't
591 overwrite the alpha channel of 32bpp ICOs.
592 (gdk_pixbuf__ico_image_load_increment): Stop decoding the header
595 Fri Jun 27 03:56:59 2003 Soeren Sandmann <sandmann@daimi.au.dk>
597 * io-gif-animation.c (gdk_pixbuf_gif_anim_frame_composite): Make
598 it compile with C89 compilers.
600 2003-06-23 Matthias Clasen <maclas@gmx.de>
602 * io-gif.c (gif_get_frame_info): Remove the pointless refusal to
603 load images with dubious disposal mode on the first frame. Just
604 ignore it, as everybody else does.
606 2003-06-22 Matthias Clasen <maclas@gmx.de>
608 * gdk-pixbuf-loader.[hc] (gdk_pixbuf_loader_new_with_mime_type):
609 New function to obtain a loader for a specific mime type.
610 (#105324, Dom Lachowicz)
612 * io-gif.c (gif_get_extension): Reset block_count to 0 for all
613 application extensions, otherwise the data blocks of unknown
614 extensions are not propertly skipped.
616 Second half of the fix for #106962, handle frames extending beyond
619 * io-gif.c (clip_frame): New helper function to clip a rectangle
620 to the logical screen size of the gif.
621 (maybe_update): New helper function to call update_func only if
622 the rectangle is not completely off-bounds.
623 (gif_get_lzw): Read frames extending outside the logical screen
624 size, but be careful clip to the logical screen size
625 when operating on the composite pixbuf and when calling update_func.
626 (gif_init): Set the animation size to the logical screen size.
627 (gif_get_frame_info): Don't refuse to load images with frames
628 extending beyond the logical screen size.
630 * io-gif-animation.c (gdk_pixbuf_gif_anim_frame_composite): Be
631 careful to clip all rectangles to the logical screen size, also
632 handle the fact that frames may be completely off-bounds.
634 2003-06-21 Matthias Clasen <maclas@gmx.de>
636 * io-gif.c: Merge from 2.2: Fix update_func() arguments and accept
637 empty frames. (#106962)
639 2003-06-17 Matthias Clasen <maclas@gmx.de>
641 * Makefile.am (man_MANS): Removed, man pages are now installed
642 from docs/reference/gdk-pixbuf.
644 2003-06-03 Matthias Clasen <maclas@gmx.de>
646 * gdk-pixdata.c (gdk_pixbuf_new_from_inline): Document
647 data_length == -1, add an example. (#97290)
649 2003-06-01 Matthias Clasen <maclas@gmx.de>
651 * gdk-pixdata.h (struct _GdkPixdata): Fix misleading documentation
652 of rowstride. (#113924, Noah Levitt)
654 2003-05-27 Matthias Clasen <maclas@gmx.de>
656 * io-wbmp.c: Remove dubious bitfields of
657 unspecified signedness. (#112919, Morten Welinder)gdk-p
659 * gdk-pixdata.c (gdk_pixdata_to_csource): Replace all occurances
660 of g_string_new ("") by g_string_new (NULL). (#106975, Morten
663 2003-05-21 Matthias Clasen <maclas@gmx.de>
665 * pixbufloader_pcx.def:
666 * io-pcx.c: A loader for PCX files. (#113035, Josh Beam)
669 * Makefile.am: Add PCX loader.
671 2003-05-19 Matthias Clasen <maclas@gmx.de>
673 Improve progressive loading from slow sources: (#107368)
675 * io-gif-animation.c (gdk_pixbuf_gif_anim_get_iter): Initialize
677 (gdk_pixbuf_gif_anim_iter_advance): Don't wrap during loading if
678 the datasource falls behind the speed of the display.
680 * io-gif-animation.h: Add a loading flag to GdkPixbufGifAnim and
681 first_loop_slowness to GdkPixbufGifAnimIter.
683 Wed May 14 18:24:50 2003 Owen Taylor <otaylor@redhat.com>
685 * gdk-pixdata.c (gdk_pixdata_deserialize): Add a
686 (gint32 *) => (guint32 *) cast. (#108615, Rick Jones)
688 2003-04-24 Matthias Clasen <maclas@gmx.de>
690 * gdk-pixbuf-loader.c (gdk_pixbuf_loader_write):
691 (gdk_pixbuf_loader_new_with_type):
692 (gdk_pixbuf_loader_close):
693 * gdk-pixbuf-io.c (gdk_pixbuf_new_from_file):
696 * gdk-pixbuf-animation.c (gdk_pixbuf_animation_new_from_file):
697 Add sanity checks for GError handling. (#108345)
699 Tue Apr 1 15:33:51 2003 Owen Taylor <otaylor@redhat.com>
701 * pixops/pixops.c (make_weights): Exploit the fact that all
702 our filters are separable to simplify the calculation of
703 the weight tables. (Based on a patch from Brian Cameron.)
705 * pixops/Makefile.am pixbuf-transform-math.ltx:
706 Add a short article describing how the math in pixops.c
709 2003-03-21 Matthias Clasen <maclas@gmx.de>
711 * gdk-pixbuf-animation.c (gdk_pixbuf_non_anim_get_type): Add
712 missing static. (#108614)
714 * io-jpeg.c (gdk_pixbuf__jpeg_image_begin_load):
715 * io-ico.c (gdk_pixbuf__ico_image_stop_load): Add missing static
716 qualifiers apparently causing problems on some platforms. (#108617)
718 2003-03-11 Matthias Clasen <maclas@gmx.de>
720 * io-ico.c (DecodeHeader): Calculate LineWidth for 16bpp from
721 width, like for the other depths. (noticed by Marijn Ros)
723 2003-03-08 Matthias Clasen <maclas@gmx.de>
725 Bug #107664 continued:
727 * io-xpm.c (find_color): Fix 0/FALSE confusion
728 * gdk-pixbuf.c (gdk_pixbuf_get_has_alpha): Fix -1/gboolean
731 2003-03-06 Matthias Clasen <maclas@gmx.de>
733 * io-gif.c (gif_read): Fix 0/FALSE confusion (#107664, Morten
736 2003-02-20 Matthias Clasen <maclas@gmx.de>
738 * io-gif-animation.c (gdk_pixbuf_gif_anim_frame_composite):
739 Always clear the initial frame and "disposed" areas with
740 transparent pixels, no matter whether the frame has transparency
743 2003-02-18 Matthias Clasen <maclas@gmx.de>
745 * io-tga.c (pixbuf_flip_row):
746 (pixbuf_flip_vertically): Auxiliary functions used to implement
747 support for arbitrary origins.
748 (parse_data_for_row_pseudocolor):
749 (parse_data_for_row_truecolor):
750 (parse_data_for_row_grayscale):
751 (parse_data_for_row):
752 (fill_in_context): Remove the check for upper-left origin.
753 (parse_rle_data): Support arbitrary origins. (#105912)
755 * io-tga.c (fread_check):
757 (get_header_from_file):
758 (get_colormap_from_file):
759 (get_image_pseudocolor):
760 (swap_channels_pixbuf):
761 (get_image_truecolor):
762 (get_image_grayscale):
763 (gdk_pixbuf__tga_load): Remove the non-incremental load
764 implementation, since we have generic_image_load () now.
766 (gdk_pixbuf__tga_stop_load): Fix a potential crash discovered by
769 2003-02-14 Matthias Clasen <maclas@gmx.de>
771 * io-tga.c (try_preload):
772 (gdk_pixbuf__tga_load): Actually reject images with origin
773 not in the upper-left corner. (#105912)
775 2003-02-06 Matthias Clasen <maclas@gmx.de>
777 * queryloaders.c (query_module): Better error message if
778 module_open() fails. (#105349, Tim Mooney)
780 Mon Jan 27 17:10:30 2003 Owen Taylor <otaylor@redhat.com>
782 * Makefile.am (gdk-pixbuf.loaders): Rewrite to run
783 on the .la files rather than looking for .so files.
784 (#102142, Martin Gansser)
786 * Makefile.am: Don't build gdk-pixbuf.loaders when
789 2003-01-05 Tor Lillqvist <tml@iki.fi>
791 * Makefile.am (gdk-pixbuf.loaders): Use @SOEXT@ in the find command.
793 * gdk_pixbuf.def: Add gdk_pixbuf_loader_set_size.
795 2003-01-03 Matthias Clasen <maclas@gmx.de>
797 * gdk-pixbuf-io.c (gdk_pixbuf_new_from_xpm_data): Don't crash if
798 gdk-pixbuf.loaders file is missing. (#102222)
800 2002-12-08 Matthias Clasen <maclas@gmx.de>
802 * gdk-pixbuf-animation.h:
803 * gdk-pixbuf-io.h: Add /*< public|private >*/ markers.
805 Sat Dec 7 10:14:05 2002 Owen Taylor <otaylor@redhat.com>
807 * Makefile.am (gdk-pixbuf.loaders): Make gdk-pixbuf.loaders
808 also depend gdk-pixbuf-query-loaders. (#97096, Daniel Elstner)
810 2002-12-05 Matthias Clasen <maclas@gmx.de>
812 * io-ico.c: Remove leftover debug output. (#100357, Owen Taylor)
814 2002-12-04 Bastien Nocera <hadess@hadess.net>
816 * io-tiff.c: (tiff_image_parse): use G_BIG_ENDIAN instead of
817 WORDS_BIGENDIAN which isn't set by configure.in
819 2002-11-29 Matthias Clasen <maclas@gmx.de>
821 * gdk-pixbuf-animation.c:
822 * gdk-pixbuf.c: Add deprecation docs.
824 2002-11-28 Matthias Clasen <maclas@gmx.de>
826 * gdk-pixbuf/gdk-pixbuf-io.c:
827 * gdk-pixbuf/gdk-pixbuf-loader.c:
828 * gdk-pixbuf/gdk-pixbuf.c: Document 2.2 API additions. I'm not
829 going to list all individual functions here; if you want to see
830 the list, grep for "Since: 2.2".
832 Fri Nov 8 19:06:07 2002 Owen Taylor <otaylor@redhat.com>
834 * Makefile.am (gdk-pixbuf.loaders): Make gdk-pixbuf.loaders
835 file depend on the loaders (#97096, Jeff Waugh)
837 Wed Nov 6 15:19:53 2002 Owen Taylor <otaylor@redhat.com>
839 * io-gif.c (CHECK_LZW_SP): Fix trailing semicolon on macro,
842 2002-11-05 Matthias Clasen <maclas@gmx.de>
844 * gdk-pixbuf-loader.c: Reindent to follow the gdk-pixbuf indentation.
846 Tue Nov 5 14:16:17 2002 Owen Taylor <otaylor@redhat.com>
848 * gdk-pixbuf-loader.c (gdk_pixbuf_loader_close): Fix
849 leaked pixbuf reference (#96823, Morten Welinder)
851 2002-10-23 Matthias Clasen <maclas@gmx.de>
853 * io-gif.c (lzw_read_byte): Check for stack overflow throughout.
856 2002-10-21 Matthias Clasen <maclas@gmx.de>
858 Support the Netscape application extension for gif animations
861 * io-gif-animation.h:
862 * io-gif-animation.c (gdk_pixbuf_gif_anim_iter_advance):
863 Add loop count to GdkPixbufGifAnim and use it in the advance
864 method of GdkPixbufGifAnimIter.
866 * io-gif.c (gif_get_extension): Parse Netscape application
867 extension block and set the animation loop count.
869 2002-10-11 Matthias Clasen <maclas@gmx.de>
871 * gdk-pixbuf-loader.c (gdk_pixbuf_loader_get_format): Remove
874 * gdk-pixbuf-io.h: Remove unused typedef
875 GdkPixbufModuleGetSignatureFunc.
877 2002-10-04 jacob berkman <jacob@ximian.com>
879 * queryloaders.c (query_module): make legal C
881 2002-10-04 Matthias Clasen <maclas@gmx.de>
883 * Makefile.am gdk-pixbuf-animation.c gdk-pixbuf-data.c
884 gdk-pixbuf-io.c gdk-pixbuf-io.h gdk-pixbuf-loader.c
885 gdk-pixbuf-loader.h gdk-pixbuf-private.h gdk-pixbuf.h
886 gdk-pixdata.c io-ani-animation.h io-ani.c io-bmp.c
887 io-gif-animation.c io-gif-animation.h io-gif.c io-ico.c
888 io-jpeg.c io-png.c io-pnm.c io-ras.c io-tga.c io-tiff.c
889 io-wbmp.c io-xbm.c io-xpm.c pixbufloader_ani.def
890 pixbufloader_bmp.def pixbufloader_gif.def pixbufloader_ico.def
891 pixbufloader_jpeg.def pixbufloader_png.def
892 pixbufloader_pnm.def pixbufloader_ras.def pixbufloader_tga.def
893 pixbufloader_tiff.def pixbufloader_wbmp.def
894 pixbufloader_xbm.def pixbufloader_xpm.def test-gdk-pixbuf.c
895 gdk-pixbuf-animation.h queryloaders.c: Support for separately
896 installed loaders. (#77486)
898 Thu Oct 3 18:25:57 2002 Owen Taylor <otaylor@redhat.com>
900 * io-jpeg.c (gdk_pixbuf__jpeg_image_save):
901 Fix memory leak. (#94399)
903 Tue Oct 1 17:35:43 2002 Owen Taylor <otaylor@redhat.com>
905 * gdkpixdata.c: Patch from Andy Wingo to always
906 escape ? to avoid accidentally generating trigraphs
907 in the output (#94631)
909 2002-09-28 Tor Lillqvist <tml@iki.fi>
911 * pixops/*.S: Don't use .type on Cygwin, either (#91597, Masahiro
914 2002-09-27 Federico Mena Quintero <federico@ximian.com>
916 * io-ico.c (gdk_pixbuf__ico_image_begin_load): Free the context if
917 we cannot allocate the HeaderBuf.
919 2002-09-27 Federico Mena Quintero <federico@ximian.com>
921 * io-bmp.c (OneLine): Fix the update region notification to handle
922 top-to-bottom and bottom-to-top BMPs correctly.
924 2002-09-19 Matthias Clasen <maclas@gmx.de>
926 * Revert the previous change; the symbols need to be exported
927 to be usable from dlopened modules.
929 2002-09-18 Matthias Clasen <maclas@gmx.de>
931 * io-xpm.c, io-xbm.c, io-ico.c, io-ani.c, io-png.c,
932 gdk-pixbuf.c, gdk-pixbuf-animation.c, gdk-pixbuf-loader.c,
933 gdk-pixbuf-private.h: _-prefix gdk_pixbuf_non_anim_new and
934 gdk_pixbuf_set_option. Adjust all callers.
936 2002-09-14 Hans Breuer <hans@breuer.org>
938 * pixops/Makefile.am : added makefile.msc to EXTRA_DIST
940 2002-09-12 Matthias Clasen <maclas@gmx.de>
942 * io-gif-animation.h:
943 * gdk-pixbuf.h: Move GdkPixbufFrame from the public header to
944 the gif-animation-specific private header. (#91929)
946 2002-09-12 Federico Mena Quintero <federico@ximian.com>
948 * io-jpeg.c (gdk_pixbuf__jpeg_image_load): Unref the pixbuf if we
949 hit an unsupported colorspace.
951 2002-09-06 Matthias Clasen <maclas@gmx.de>
953 * io-ani.c, io-ani-animation.h, io-ani-animation.c,
954 pixbufloader_ani.def, Makefile.am, gdk-pixbuf-io.c: New loader,
957 * io-xpm.c (pixbuf_create_from_xpm):
958 * io-xbm.c (gdk_pixbuf__xbm_image_load_real):
959 * io-ico.c (DecodeHeader): Attach hotspot coordinates to the
960 pixbuf as options "x_hot" and "y_hot".
962 2002-09-04 Matthias Clasen <maclas@gmx.de>
964 * io-tga.c (io_buffer_append):
965 * io-ico.c (DecodeHeader):
966 * io-bmp.c (grow_buffer): Don't leak memory if g_try_realloc fails.
968 * gdk-pixbuf-io.c (pixbuf_check_ico): Fix loading of .CUR files.
971 2002-08-25 Tor Lillqvist <tml@iki.fi>
973 * Makefile.am (libgdk_pixbuf_2_0_la_DEPENDENCIES): Add
974 gdk_pixbuf_win32res_lo. (#87101, J. Ali Harlow)
976 2002-08-22 Matthias Clasen <maclas@gmx.de>
979 gdk-pixbuf-io.c (_gdk_pixbuf_generic_image_load): No longer
980 static, thus _gdk_pixbuf-prefixed.
982 * gdk-pixbuf-animation.c (gdk_pixbuf_animation_new_from_file):
983 Keep this logic in sync with gdk_pixbuf_new_from_file(). (Based
984 on a patch by Anders Carlsson)
986 * io-png.c (gdk_pixbuf__png_image_save): Plug a memory
987 leak. (#91422, Sven Neumann)
989 2002-07-31 Sven Neumann <sven@gimp.org>
991 * gdk-pixdata.c (gdk_pixdata_to_csource): free the result of
992 gdk_pixdata_serialize() (bug #89411).
994 Mon Jul 29 23:06:10 2002 Owen Taylor <otaylor@redhat.com>
996 * gdk-pixbuf-scale.c: Fix some warnings by adding
997 casts to PixopsInterpType. (#85839, David L. Cooper, II.)
999 2002-07-16 Matthias Clasen <maclas@gmx.de>
1001 * io-ras.c (DoCompressed): Avoid unnecessary casting.
1003 2002-07-07 Matthias Clasen <maclas@gmx.de>
1005 * gdk-pixbuf-io.c (generic_image_load): New function for loading
1006 an image from a file either via module->load or incrementally.
1007 (prepared_notify): ModulePreparedNotifyFunc for generic_image_load.
1008 (gdk_pixbuf_new_from_file): Use generic_image_load.
1009 * io-bmp.c, io-ico.c, io-ras.c, io-wbmp.c: Remove trivial
1010 implementations of module->load. (#71266)
1012 * io-ico.c (DecodeHeader): Correct computation of image height.
1013 (OneLine): Correct update notification.
1015 Load-at-size functionality (#53726):
1017 * gdk-pixbuf-io.h (ModuleSizeFunc): New.
1018 (_GdkPixbufModule): Prepend a ModuleSizeFunc to the
1019 begin_load arguments. Adjust all modules.
1020 * gdk-pixbuf-loader.c (struct GdkPixbufLoaderPrivate): Add
1021 fields width, height, size_fixed, need_scale.
1022 (gdk_pixbuf_loader_class_init): Add size_prepared signal.
1023 (gdk_pixbuf_loader_set_size): New function.
1024 (gdk_pixbuf_loader_size_func): ModuleSizeFunc which gets
1025 passed to the module, emits size_prepared.
1026 (gdk_pixbuf_loader_prepare): Call gdk_pixbuf_loader_size_func
1027 if necessary, only emit area_prepared if no separate scaling
1029 (gdk_pixbuf_loader_update): Only emit area_updated if no
1030 separate scaling is required.
1031 (gdk_pixbuf_loader_load_module): Add size_func as first argument.
1032 (gdk_pixbuf_loader_close): If necessary scale the image
1033 to the desired size and emit area_prepared and area_updated.
1034 * gdk-pixbuf-loader.h (struct _GdkPixbufLoaderClass): Add
1035 size_prepared signal.
1036 (gdk_pixbuf_loader_set_size) New API.
1037 * gdk-pixbuf-marshal.list: Add VOID:INT,INT.
1038 * io-jpeg.c: User cinfo->output_width/height instead of
1039 cinfo->image_width/height throughout when adressing the pixbuf.
1040 (gdk_pixbuf__jpeg_image_load_increment): Call size_func, and
1041 find the nearest possible output size which libjpeg can produce
1042 that is still larger than the desired size.
1044 2002-07-06 Matthias Clasen <maclas@gmx.de>
1046 * io-tiff.c (tiff_set_error): Handle global_error == NULL
1048 (tiff_image_parse): Don't trust TIFFRGBAImageBegin to set
1049 the "put" routine. (Fixes #87384)
1050 (gdk_pixbuf__tiff_image_stop_load): Don't call TIFFClose too
1053 2002-07-02 Matthias Clasen <maclas@gmx.de>
1055 Miscellaneous bmp loader fixes (#85448, #86286, #86287):
1057 * io-bmp.c (grow_buffer): New function to avoid crashes
1058 on unchecked reallocs.
1059 (DecodeHeader, DecodeColormap, decode_bitmasks,
1060 DoCompressed): Use grow_buffer instead of g_realloc
1061 throughout. Change signatures where necessary to pass the
1063 (OneLine16): Fix loading of 16bpp BI_RGB bmps.
1064 (DoCompressed): Rewritten to properly support BI_RLE4 and
1067 Support for compressed ras images (#84994):
1069 * io-ras.c (RAS2State): Error on unsupported ras variations.
1070 (OneLine8): Fix colormap indexing.
1071 (OneLine): Call updated_func with proper region.
1072 (DoCompressed): New function, handles compressed ras data.
1073 (gdk_pixbuf__ras_image_load_increment): Handle compressed ras
1076 Better colorspace support for the jpeg loader (#61211):
1078 * io-jpeg.c (convert_cmyk_to_rgb): New function.
1079 (gdk_pixbuf__jpeg_image_load,
1080 gdk_pixbuf__jpeg_image_load_increment): Allocate a pixbuf with
1081 alpha for 4-channel jpegs and call convert_cmyk_to_rgb for these.
1083 All of this needs to be merged to GNOME 1.4 gdk-pixbuf.
1085 2002-06-28 Sven Neumann <sven@gimp.org>
1087 * gdk-pixbuf-csource.c (print_blurb): converted a Tab to spaces.
1089 Thu Jun 13 18:11:11 2002 Owen Taylor <otaylor@redhat.com>
1091 * pixops/pixops.c: Fix problem where when no alpha was
1092 involved, we scaled rather than composited, but then
1093 went ahead and composited anyways. (#76958, Patch
1094 from Matthias Clasen). Needs to be merged to GNOME
1097 2002-06-13 Matthias Clasen <maclas@gmx.de>
1099 * io-jpeg.c: Use libjpeg in buffered-image mode in order to
1100 incrementally display incrementally loaded progressive jpegs.
1102 2002-06-07 Federico Mena Quintero <federico@ximian.com>
1104 * io-bmp.c (lsb_32):
1105 (lsb_16): New functions to fetch 32 or 16-bit little-endian values
1106 starting at a specific memory location. We do this instead of
1107 GINT32_FROM_LE() as the latter is simply dereferences a cast,
1108 which doesn't work on platforms with alignment requirements.
1111 2002-06-01 Matthias Clasen <maclas@gmx.de>
1113 * gdk-pixbuf-io.c (pixbuf_check_xbm): Accept xbms starting
1114 with a C comment - those seem to be not uncommon, e.g. the Gimp
1115 produces them. (#82706)
1117 * io-xbm.c (read_bitmap_file_data): Don't leak memory on certain
1119 (gdk_pixbuf__xbm_image_load_real): Don't leak memory on valid inputs.
1121 2002-05-22 Tor Lillqvist <tml@iki.fi>
1123 * gdk-pixbuf-io.c (get_libdir): Use GTK_BINARY_VERSION (and not
1124 GTK_VERSION) in the path to the loaders on Win32, too.
1126 * Makefile.am: Pass GTK_BINARY_VERSION.
1128 2002-05-22 Federico Mena Quintero <federico@ximian.com>
1130 * io-xpm.c (pixbuf_create_from_xpm): Ahem, take the rowstride into
1131 account!!! Fixes #82515.
1133 [This bug is not present in the GNOME 1.4 branch as its XPM loader
1134 does not use gdk_pixbuf_new(); rather it malloc()s a buffer with
1135 no row padding and then uses gdk_pixbuf_new_from_data() on it.]
1137 [IMPORTANT: The comment above is to make my life easier when
1138 merging stuff across branches. If you make changes to gdk-pixbuf
1139 in either branch, please include a comment in the ChangeLog that
1140 indicates whether this should be merged into the other branch.
1143 2002-05-18 Matthias Clasen <maclas@gmx.de>
1145 * io-tiff.c (tiff_image_parse): fix packing order on bigendian
1148 Thu May 16 15:17:30 2002 Owen Taylor <otaylor@redhat.com>
1150 * pixops/pixops.c: Patch from Matthias Clasen to fix some typos
1153 Thu May 16 15:02:46 2002 Owen Taylor <otaylor@redhat.com>
1155 * gdk-pixdata.c (gdk_pixdata_to_csource): Fix 64-bit warning.
1158 2002-05-07 Michael Natterer <mitch@gimp.org>
1160 * gdk-pixbuf/Makefile.am: build the static pixbuf loaders
1161 conditionally like the dynamic ones so --without-lib<foo> is
1162 honored when building with --disable-modules. (#66867)
1164 Sun May 5 02:27:01 2002 Soeren Sandmann <sandmann@daimi.au.dk>
1166 * Makefile.am (noinst_PROGRAMS): remove test-loaders (moved to
1168 * test-loaders.c, test-images.h: remove
1170 2002-04-24 Matthias Clasen <maclas@gmx.de>
1172 * gdk-pixbuf-io.c (gdk_pixbuf_save): Remove the ISO8859-1
1173 restriction from the description of png tEXt parameters.
1175 * io-png.c (png_text_to_pixbuf_option):
1176 (gdk_pixbuf__png_image_save): If libpng supports it,
1177 store and retrieve non-ISO8859-1 text as UTF-8. (#76172)
1179 2002-04-11 Matthias Clasen <maclas@gmx.de>
1181 More fixes for #77807:
1183 * io-tga.c (get_contiguous_pixbuf): Helper function to create
1184 a pixbuf with a contiguous pixel array while being careful about
1187 * io-tga.c (fill_in_context, get_image_pseudocolor,
1188 get_image_truecolor, get_image_grayscale): Use
1189 get_contiguous_pixbuf instead of manually allocating image
1192 * io-xpm.c (pixbuf_create_from_xpm):
1193 * io-pnm.c (gdk_pixbuf__pnm_image_load):
1194 * io-jpeg.c (gdk_pixbuf__jpeg_image_load): Use gdk_pixbuf_new
1195 instead of manually allocating image storage.
1197 2002-04-09 Matthias Clasen <maclas@gmx.de>
1199 * gdk-pixbuf-loader.c (gdk_pixbuf_loader_load_module): Use
1200 priv->image_module->module_name instead of image_type which may
1203 2002-04-06 Matthias Clasen <maclas@gmx.de>
1205 * io-png.c (gdk_pixbuf__png_image_load): Restructured to use
1206 gdk_pixbuf_new instead of manually allocating image storage. This
1207 gives us a good rowstride and overflow checks. (#77807)
1209 2002-04-05 Matthias Clasen <maclas@gmx.de>
1211 * io-tiff.c (tiff_image_parse): Avoid allocating an extra copy of
1212 the image by using a TIFFRGBAImage{Begin,Get,End} with suitable
1213 put functions instead of TIFFRGBAImage. And check image dimensions
1216 2002-04-03 Matthias Clasen <maclas@gmx.de>
1218 * gdk-pixbuf-loader.c (gdk_pixbuf_loader_get_type): Fix a doc typo.
1220 2002-03-29 Matthias Clasen <maclas@gmx.de>
1222 * io-png.c (png_simple_error_callback): libpng error handlers must
1223 not return to their callers, thus longjmp out. This prevents
1224 annoying stderr output from the default error handler.
1226 2002-03-27 Matthias Clasen <maclas@gmx.de>
1228 * io-png.c (gdk_pixbuf__png_image_stop_load): Don't leak info_ptr.
1230 * io-png.c (gdk_pixbuf__png_image_load): Get rid of unused
1231 end_info. Also call png_read_end to check proper ending of the png
1232 file and catch text chunks after the image data.
1234 2002-03-27 Matthias Clasen <maclas@gmx.de>
1236 * io-png.c (gdk_pixbuf__png_image_load,
1237 gdk_pixbuf__png_image_begin_load): Make libpng use g_malloc
1238 instead of system malloc.
1240 2002-03-26 Matthias Clasen <maclas@gmx.de>
1242 * io-tiff.c (tiff_image_parse): Don't leak pixbuf on error.
1244 * io-gif.c (gdk_pixbuf__gif_image_load_increment): Don't leak
1245 context->buf on error.
1247 * gdk-pixbuf-loader.c (gdk_pixbuf_loader_close): Make sure to call
1248 stop_load even for short images to prevent memleaks.
1250 2002-03-25 Matthias Clasen <maclas@gmx.de>
1252 * io-png.c (setup_png_transformations): Changed signature to
1253 return success and set a GError parameter, adjusted all callers.
1254 Also work around a possible FPE in libpng and always check that
1255 the new info is sane.
1257 2002-03-23 Matthias Clasen <maclas@gmx.de>
1259 * io-wbmp.c (gdk_pixbuf__wbmp_image_load_increment):
1260 context->updated_func is NULL during a nonincremental load.
1261 (gdk_pixbuf__wbmp_image_load): Stop reading after the first error.
1263 2002-03-18 Matthias Clasen <maclas@gmx.de>
1265 * io-tga.c: Fix assumptions on rowstride by manually allocating a
1266 contiguous pixel buffer. Catch buffer overruns in RLE-modi.
1267 Support grayscale + alpha (which can be written, but not read (!)
1270 2002-03-15 Matthias Clasen <maclas@gmx.de>
1272 * io-gif.c (gif_get_frame_info): Catch invalid frame dimensions.
1274 2002-03-13 Matthias Clasen <maclas@gmx.de>
1276 * test-images.h: Add valid_ras_test and invalid_bmp_1.
1278 * test-loaders.c (main): Add random tests for ras and pnm and an
1279 invalid bmp which was a crasher until my 2002-03-12 commit.
1281 * io-pnm.c (gdk_pixbuf__pnm_image_load_increment): Don't unref the
1284 * io-ras.c: Handle some errors.
1286 2002-03-12 Sven Neumann <sven@gimp.org>
1288 * gdk-pixbuf.c (gdk_pixbuf_fill): use sequential writes instead of
1289 calling memcpy(). Simpler and potentially faster. (#70332)
1291 2002-03-12 Matthias Clasen <maclas@gmx.de>
1293 * io-bmp.c (DecodeHeader): Replace a g_assert_not_reached ()
1294 which could actually be reached by a proper error status return.
1296 2002-03-05 Matthias Clasen <maclas@gmx.de>
1298 * test-loaders.c, test-images.h: More random tests.
1300 * io-bmp.c (DecodeHeader): Fail gracefully on OOM here.
1302 Tue Mar 5 10:39:03 2002 Owen Taylor <otaylor@redhat.com>
1304 * Makefile.am (loaderdir): Put the modules into the
1305 GTK_BINARY_VERSION directory for consistency with
1306 immodules and theme engines.
1308 Sat Mar 2 22:11:10 2002 Owen Taylor <otaylor@redhat.com>
1310 * gdk-pixbuf-io.c (_gdk_pixbuf_load_module): If we
1311 can't load the module using the g_module_build_path()
1312 filename, try loading it as a .la file.
1314 * test-loaders.c: Look for modules in current directory
1315 rather than .libs, so we find the right .la files.
1317 * test-loaders.c: Back out some accidental commits.
1319 Sat Mar 2 21:28:03 2002 Owen Taylor <otaylor@redhat.com>
1321 * gdk-pixbuf.c (gdk_pixbuf_new): Bullet-proof against integer
1324 2002-03-03 Tor Lillqvist <tml@iki.fi>
1326 * gtk-pixbuf.rc.in: Remove.
1328 * gdk_pixbuf.rc.in: Name like this instead (wrong name used by
1331 * makefile.msc: Corresponding changes.
1333 * Makefile.am: Use gdk_pixbuf.rc on Win32. Distribute it.
1335 2002-02-28 Matthias Clasen <maclas@gmx.de>
1337 * pixops/pixops.c (tile_make_weights): Move the call to
1338 correct_total() to the right spot. (#72732)
1340 Wed Feb 27 18:33:04 2002 Owen Taylor <otaylor@redhat.com>
1342 * gdk-pixdata.c (gdk_pixdata_to_csource): Use {} not
1343 () to group around string assigned to char[]. (#72767,
1346 2002-02-21 Havoc Pennington <hp@pobox.com>
1348 * gdk-pixbuf-loader.c (gdk_pixbuf_loader_load_module): remove
1349 C++-commented debug spew, reported by David L. Cooper
1351 2002-02-15 Matthias Clasen <maclas@gmx.de>
1353 * pixops/pixops.c (correct_total): New function to make sure
1354 that the weights sum up to the correct total without introducing
1356 (tile_make_weights, bilinear_make_fast_weights,
1357 bilinear_make_weights): Use correct_total.
1359 2002-02-10 Matthias Clasen <maclas@gmx.de>
1361 * test-images.h (tiff1_test_3), test-loaders.c (main): Add a
1362 (#ifdef 0'ed) test provoking a segfault in TIFFReadDirectory().
1364 * io-ico.c (DecodeHeader): Check that pixbuf could be allocated.
1366 * test-images.h (ico_test_2), test-loaders.c (main): Test the
1369 * io-wbmp.c (gdk_pixbuf__wbmp_image_load_increment): Don't write
1370 beyond the end of buffer if width % 8 != 0.
1372 * io-tga.c (try_preload): Enforce that ctx->hdr->type is one of
1373 the supported types, otherwise parse_data_for_row () will not make
1374 any progress, leading to an infinite loop.
1376 Mon Feb 11 14:31:53 2002 Owen Taylor <otaylor@redhat.com>
1378 * pixops/pixops.c (bilinear_make_weights): Fix handing of
1381 2002-02-10 Matthias Clasen <maclas@gmx.de>
1383 * test-loaders.c (main): Enable some tests which should work
1386 * io-wbmp.c (gdk_pixbuf__wbmp_image_load_increment): Detect
1387 invalid image dimensions and insufficient memory.
1389 * io-tga.c (try_preload): Detect invalid image dimensions.
1390 (gdk_pixbuf__tga_stop_load): Don't try to unref NULL pointers.
1392 * io-ico.c (DecodeHeader): Detect some invalid headers and
1395 Fri Feb 8 23:11:15 2002 Owen Taylor <otaylor@redhat.com>
1397 * pixops/pixops.c: Force all weight arrays to sum exactly
1398 to 65535. (Fixes #70971, reported by Federico Mena Quintero)
1400 * Makefile.am (libgdk_pixbuf_1_3_la_DEPENDENCIES): Add
1403 2002-02-08 Federico Mena Quintero <federico@ximian.com>
1405 * pixops/pixops.h: Fix comment; PixopsInterpType -> GdkInterpType.
1407 2002-02-08 Darin Adler <darin@bentspoon.com>
1409 * io-xbm.c: (next_int): Wean this from <ctype.h>.
1411 2002-02-01 Matthias Clasen <matthiasc@poet.de>
1413 * Makefile.am: Build the tga loader as a static library. (#70157)
1415 * io-ico.c: Merge 16- and 32-bit ico support from the stable
1418 * io-gif.c: Recomposite all images if the animation size changes
1419 while loading. (#70055)
1421 * gdk-pixbuf.c (gdk-pixbuf-fill): Make it work for subpixbufs.
1424 Sat Jan 19 20:49:20 2002 Manish Singh <yosh@gimp.org>
1426 * io-jpeg.c, io-png.c: Made sure all the error cases involving
1427 jpeg or png load/saves clean themselves up properly. Marked some
1428 variables needed for cleanup volatile so they aren't clobbered by
1431 Fri Jan 11 18:05:07 2002 Owen Taylor <otaylor@redhat.com>
1433 * pixops/pixops.c: Fix integer overflow for the values
1434 passed to the pixel functions. (#55148, fix from Michael Hore)
1436 Fri Jan 11 17:53:58 2002 Owen Taylor <otaylor@redhat.com>
1438 * pixops/pixops.c (pixops_scale_nearest): Remove meaningless
1441 * pixops/pixops.c (pixops_process): Comment the computation
1442 of run_end_index and fix some edge cases.
1444 * pixops/{scale_line_22_33_mmx.S, composite_line_22_4a4_mmx.S:
1445 composite_line_color_22_4a4_mmx.S}: Handle the case where
1446 dest <= dest_end properly. (#52001, fix from Michael Hore)
1448 Thu Jan 10 16:48:30 2002 Owen Taylor <otaylor@redhat.com>
1450 * pixops/pixops.c: Replace some hardcoded values with the
1451 SUBSAMPLE constant used elsewhere. (#51033)
1453 Wed Jan 9 11:29:44 2002 Owen Taylor <otaylor@redhat.com>
1455 * Makefile.am (s-enum-types-h): Include glib-object.h,
1456 Add G_BEGIN_DECLS/END_DECLS to gdk-pixbuf-enum-types.h. (#68325,
1459 * *.h: G_BEGIN_DECLS cleanups.
1461 Tue Jan 8 10:58:04 2002 Owen Taylor <otaylor@redhat.com>
1463 * gdk-pixbuf-util.c (gdk_pixbuf_saturate_and_pixelate):
1464 - Massive cleanup, make actually legible.
1465 - Fix some clamp-to-range bugs found by Jim Cape (#68231).
1466 - Add a g_return_if_fail() if src and dest alpha don't match.
1467 - Allow for src_rowstride != dest_rowstride.
1469 2002-01-04 Hans Breuer <hans@breuer.org>
1471 * gdk_pixbuf.def : don't export functions prefixed
1474 * makefile.msc : use -FImsvc_recommende_pragmas.h
1476 Thu Jan 3 19:31:58 2002 Owen Taylor <otaylor@redhat.com>
1478 * pixops/pixops.c (scale_line_22_33): Fix and uncomment
1481 * pixops/pixops.c (pixops_composite_nearest): Remove a
1484 * pixops/pixops.c (pixops_composite): Add some docs
1485 about the parameters.
1487 * pixops/README: Add notes about the correct algorithms
1488 for alpha compositing and how to implement them quickly.
1490 2001-12-29 Tor Lillqvist <tml@iki.fi>
1492 * Makefile.am (EXTRA_DIST): Add makefile.msc.
1494 Sat Dec 22 15:31:20 2001 Owen Taylor <otaylor@redhat.com>
1496 * gdk-pixdata.h: Fix trailing "," in enumeration.
1498 2001-12-17 Matthias Clasen <matthiasc@poet.de>
1500 * gdk-pixbuf.c, gdk-pixbuf-io.c, gdk-pixbuf-animation.c,
1501 gdk-pixbuf-data.c, gdk-pixbuf-loader.c, gdk-pixbuf-scale.c,
1502 gdk-pixbuf-util.c, gdk-pixdata.c: Markup fixes.
1504 2001-12-16 Havoc Pennington <hp@pobox.com>
1506 * gdk-pixbuf-scale.c: docs enhancements
1508 2001-12-14 Sebastian Wilhelmi <wilhelmi@ira.uka.de>
1510 * io-xpm.c: Use g_ascii_strcasecmp() instead of g_strcasecmp().
1512 2001-12-13 Sebastian Wilhelmi <wilhelmi@ira.uka.de>
1514 * gdk-pixbuf-animation.c, gdk-pixbuf-loader.c, gdk-pixpuf.c,
1515 io-gif-animation.c, io-gif.c, io-tiff.c, test-loaders.c: Remove
1516 assorted G_OBJECT casts where unnecessary.
1518 * gdk-pixbuf-loader.c: Call g_object_ref and g_object_unref
1519 instead of gdk_pixbuf_animation_ref and gdk_pixbuf_animation_unref
1522 * gdk-pixbuf-csource.c, io-bmp.c, io-gif-animation.c, io-ico.c,
1523 io-jpeg.c, io-png.c, io-pnm.c, io-ras.c, io-tga.c, io-wbmp.c,
1524 io-xbm.c, io-xpm.c, test-gdk-pixbuf.c: Dito for gdk_pixbuf_ref and
1527 * Makefile.am, pixops/Makefile.am: Compile everything with
1528 -DG_DISABLE_DEPRECATED -DGDK_PIXBUF_DISABLE_DEPRECATED
1530 * gdk-pixdata.c: Use g_ascii_strup() instead of g_strup().
1532 * io-xpm.c: Use g_ascii_strcasecmp() instead of g_strcasecmp().
1534 2001-12-12 Matthias Clasen <matthiasc@poet.de>
1536 * gdk-pixbuf-io.c: Markup fixes.
1538 2001-12-12 Matthias Clasen <matthiasc@poet.de>
1540 * Makefile.am (INCLUDES): Define G_LOG_DOMAIN. (#66412)
1542 * gdk-pixbuf-loader.c, gdk-pixbuf-util.c: Markup fixes.
1544 2001-12-11 Michael Natterer <mitch@gimp.org>
1546 * io-png.c: gdk_pixbuf__png_image_save: removed wrong endian
1547 conversion stuff; don't copy RGB pixbufs' lines around before
1550 2001-12-05 Matthias Clasen <matthiasc@poet.de>
1552 * gdk-pixbuf.h (gdk_pixbuf_ref, gdk_pixbuf_unref,
1553 gdk_pixbuf_animation_ref, gdk_pixbuf_animation_unref):
1556 Tue Dec 4 11:45:45 2001 Owen Taylor <otaylor@redhat.com>
1558 * io-xpm.c (pixbuf_create_from_xpm): Fill in color
1559 fields to black for transparent colors since we'll
1560 later initialize pixels from them. (Fixes purify
1561 errors, #66093, HideToshi Tajima)
1563 2001-11-30 Tor Lillqvist <tml@iki.fi>
1565 * gdk_pixbuf.def: Add gdk_pixbuf_get_option.
1567 Fri Nov 30 15:55:34 2001 Owen Taylor <otaylor@redhat.com>
1569 * gdk-pixdata.c (gdk_pixdata_deserialize): Fix
1570 alignment problem in deserialization, (#65785,
1571 reported by Hidetoshi Tajima)
1573 2001-11-28 Manish Singh <yosh@gimp.org>
1575 * gdk-pixbuf/io-bmp.c (gdk_pixbuf__bmp_image_load_increment): Fill
1576 in missing error parameters to DecodeHeader and DecodeColormap.
1578 2001-11-21 Federico Mena Quintero <federico@ximian.com>
1580 Fix Ximian bug #12125; merged from gdk-pixbuf stable.
1582 * gdk-pixbuf/io-bmp.c (gdk_pixbuf__bmp_image_load_increment): Use
1583 a simple state machine instead of a scary if/else chain.
1584 (DecodeHeader): Set the reading state.
1585 (DecodeColormap): Set the reading state.
1586 (decode_bitmasks): New function, decodes the bitmasks for
1587 BI_BITFIELDS coding.
1588 (OneLine32): Handle BI_BITFIELDS coding.
1589 (OneLine16): Likewise.
1591 2001-11-18 Hans Breuer <hans@breuer.org>
1593 * io-xpm.c : use g_strcasecmp(), some poor platforms
1594 don't have strcasecmp()
1596 * makefile.msc : do INCLUDE_png etc. definition here to avoid
1597 my temporary 'gdk-pixbuf-io-include.h' hack
1599 Sun Nov 18 07:54:22 2001 Owen Taylor <otaylor@redhat.com>
1601 * gdk-pixbuf-loader.c: Remove include of gobject/signal.h.
1603 2001-11-03 Sebastian Wilhelmi <wilhelmi@ira.uka.de>
1605 * gdk-pixbuf-loader.c, gdk-pixbuf-scale.c: Documentation fixes.
1607 2001-10-29 Tor Lillqvist <tml@iki.fi>
1609 * Makefile.am: Use -no-undefined on Win32. Make
1610 libgdk_pixbuf_1_3_la_OBJECTS depend on
1611 gdk-pixbuf-marshal.c. Install import libraries.
1613 * gdk_pixbuf.def: Update.
1615 * gdk-pixbuf-io.c: (Win32) Use G_WIN32_DLLMAIN_FOR_DLL_NAME, saves
1616 the actual DLL name of libgdk_pixbuf.
1617 (get_libdir): Use it instead of guessing.
1619 * io-xbm.c (gdk_pixbuf__xbm_image_begin_load): Use
1620 g_file_open_tmp() insread of mkstemp().
1622 2001-10-18 Matthias Clasen <matthiasc@poet.de>
1624 * io-xbm.c (gdk_pixbuf__xbm_image_load_real): Don't dereference
1625 context when it may be NULL. (#62344)
1627 2001-10-16 Matthias Clasen <matthiasc@poet.de>
1629 * gdk-pixdata.c, gdk-pixdata.h: Documentation.
1631 * gdk-pixbuf-csource.1: Spelling fixes.
1633 Wed Oct 10 11:52:17 2001 Owen Taylor <otaylor@redhat.com>
1635 * gdk-pixdata.c gdk-pixbuf.h: Get rid of
1636 GDK_PIXBUF_ERROR_HEADER/PIXEL_CORRUPT and use CORRUPT_IMAGE.
1637 Get rid fo GD_PIXBUF_ERROR_UNKNOWN_FORMAT and use the
1638 existing UKNOWN_TYPE error. (#58308)
1640 * gdk-pixbuf.h, gdk-pixdata.c: Rename gdk_pixbuf_new_from_stream()
1641 back to gdk_pixbuf_new_from_inline(). Rework docs to try
1642 and be helpful for the common case. (#58308)
1644 2001-10-05 Sven Neumann <sven@gimp.org>
1646 * gdk-pixbuf/gdk-pixbuf-io.c
1647 * gdk-pixbuf/gdk-pixbuf-private.h
1648 * gdk-pixbuf/gdk-pixbuf.c
1649 * gdk-pixbuf/gdk-pixbuf.h
1650 * gdk-pixbuf/io-jpeg.c
1651 * gdk-pixbuf/io-png.c: changed GDK_PIXBUF_ERROR_BAD_OPTION_VALUE to
1652 GDK_PIXBUF_ERROR_BAD_OPTION to we can use it for bad keys too. Added
1653 new public API gdk_pixbuf_get_option() to retrieve key/value pairs
1654 set by an image loader. Added support for saving and reading PNG tEXt
1655 chunks in PNG images.
1657 Tue Oct 2 11:29:50 2001 Owen Taylor <otaylor@redhat.com>
1659 * gdk-pixdata.c (gdk_pixdata_to_csource): Fix indentation
1660 use a macro to make code a bit more readable.
1662 2001-10-02 Sven Neumann <sven@gimp.org>
1664 * gdk-pixdata.c: g_string_printfa => g_string_append_printf.
1666 Wed Sep 26 18:08:19 2001 Owen Taylor <otaylor@redhat.com>
1668 * Makefile.am (s-enum-types-h): Fix a typo in the include
1669 guards. (#61254, Skip Montaro)
1671 2001-09-21 Matthias Clasen <matthiasc@poet.de>
1673 * io-xpm.c (xpm_extract_color): Rewritten to handle
1674 xpm colormap entries more thoroughly. (#59939)
1676 2001-09-21 Hans Breuer <hans@breuer.org>
1678 * gdk-pixbuf.def : updated externals
1680 * makefile.msc : generate gdk-pixbuf-enum-types.[hc]
1682 Thu Sep 20 17:22:48 2001 Owen Taylor <otaylor@redhat.com>
1684 * io-tiff.c (gdk_pixbuf__tiff_image_load): On OSF, apparently fseek()
1685 works in some on-demand way, so the fseek
1686 gdk_pixbuf_new_from_file() doesn't work here since we are using
1687 the raw file descriptor. So, we call lseek() on the fileno(f)
1688 before using it. (#60840).
1690 2001-09-20 James Henstridge <james@daa.com.au>
1692 * Makefile.am (gdk-pixbuf-enum-types.c): same change as in pango,
1693 so that flags types are registered as flags rather than enums (not
1694 that there are any flags here at the moment).
1696 Wed Sep 19 00:28:24 2001 Owen Taylor <otaylor@redhat.com>
1698 * Makefile.am (gdk_pixbuf_headers): Don't include
1699 gkd-pixbuf-features.h here since is in builddir
1700 and confuses autogen rules.
1702 * Makefile.am: Don't += variables before they have values,
1703 automake-1.5 doesn't like it.
1705 * Makefile.am: Fix srcdir != builddir for gdk-pixbuf-enum-types.c.
1707 * Makefile.am: The whitespace strikes back.
1709 2001-09-17 Matt Wilson <msw@redhat.com>
1711 * Makefile.am (libpixbufloader_xbm_la_LDFLAGS): removed duplicate
1712 LDFLAGS definition, use the -avoid-version one.
1713 (libpixbufloader_tga_la_LDFLAGS): likewise
1715 Mon Sep 17 11:49:02 2001 Owen Taylor <otaylor@redhat.com>
1717 * pixops/*: Mirror GdkInterpType to PixopsInterpType
1718 to avoid including gdk-pixbuf headers.
1720 2001-09-16 James Henstridge <james@daa.com.au>
1722 * .cvsignore: add generated files to ignore list.
1724 * gdk-pixbuf.h: include gdk-pixbuf-enum-types.h
1726 * Makefile.am: add rules to build gdk-pixbuf-enum-types.[ch]
1728 Fri Sep 14 23:22:12 2001 Matthias Clasen <matthiasc@poet.de>
1730 * io-pnm.c (pnm_read_header): Use GDK_PIXBUF_ERROR_CORRUPT_IMAGE,
1731 not GDK_PIXBUF_ERROR_HEADER_CORRUPT. (#58308)
1733 Fri Sep 14 22:53:45 2001 Matthias Clasen <matthiasc@poet.de>
1735 * io-jpeg.c (gdk_pixbuf__jpeg_image_begin_load): Handle
1736 out-of-memory situation better.
1738 * io-pnm.c: Robustness fixes for pnm loader
1740 * io-gif.c: Make gif loader survive TEST_RANDOMLY_MODIFY
1742 * io-xpm.c (parse_color): detect very long color strings
1744 All of the above from Matthias Clasen <matthiasc@poet.de>,
1745 the remaining from Soeren Sandmann <sandmann@daimi.au.dk>.
1747 * test-images.h: add tests:
1748 - four valid ppm's, eight invalid (matthiasc@poet.de)
1749 - one invalid xpm (matthiasc@poet.de)
1750 - one valid tga, one invalid (sandmann@daimi.au.dk)
1751 - one invalid tiff (sandmann@daimi.au.dk
1753 * test-loaders.c: enable tests for ppm, png, gif, tga, tiff, xpm
1755 * io-tiff.c (gdk_pixbuf__tiff_image_stop_load): TIFFClientOpen can
1756 fail - detect it when it happens
1758 * io-tga.c (gdk_pixbuf__tga_load_increment): Fail if there is too
1761 * gdk-pixbuf-io.c: moved wbmb check after ico check to avoid false
1764 Fri Sep 14 00:30:48 2001 Tim Janik <timj@gtk.org>
1766 * Makefile.am: don't used BUILT_SOURCES to build marshal
1767 files, as in conjunction with stamp files, this can
1768 lead to endless rebuilding loops.
1770 Tue Sep 4 00:22:07 2001 Owen Taylor <otaylor@redhat.com>
1772 * Makefile.am: Fix EXTRA_DIST for gdk-pixbuf-csource.1
1774 Tue Sep 4 03:09:52 2001 Tim Janik <timj@gtk.org>
1776 * gdk-pixbuf-csource.1: new file, manual page for
1777 the publically installed gdk-pixbuf-csource utility.
1779 Thu Aug 30 08:30:03 2001 Matthias Clasen <matthiasc@poet.de>
1781 * gdk-pixbuf-loader.c (gdk_pixbuf_loader_close): Propagate
1782 errors from gdk_pixbuf_loader_load_module.
1784 Thu Aug 30 08:27:37 2001 Matthias Clasen <matthiasc@poet.de>
1786 * io-png.c (png_row_callback): Check that row_num is valid.
1788 Tue Aug 28 21:05:26 2001 Matthias Clasen <matthiasc@poet.de>
1790 * io-bmp.c (OneLine): Emit area_updated signal with proper
1791 area information. (#52002)
1793 Tue Aug 28 20:03:43 2001 Matthias Clasen <matthiasc@poet.de>
1795 * test-loaders.c (test_loader): Catch errors at close time.
1796 * test-loaders.c (main): Remove C++ comments.
1798 2001-08-21 Matthias Clasen <matthiasc@poet.de>
1800 * Makefile.am, gdk-pixbuf-io.c, pixbufloader_tga.def,
1801 io-tga.c: Add tga loader, patch by Nicola Girardi. (#56067)
1803 2001-08-20 Matthias Clasen <matthiasc@poet.de>
1805 * test-images.h, test-loaders.c: Add ico and wbmp tests.
1806 * io-jpeg.c (gdk_pixbuf__jpeg_image_save): Fail with a suitable
1807 error if buffer allocation fails.
1808 * io-ico.c: Make .ICO loader more robust.
1809 All of these are due to sandmann@daimi.au.dk (#50187)
1811 2001-08-19 Sven Neumann <sven@gimp.org>
1813 * pixops/pixops.c: applied some simple but effective optimizations
1814 to pixops_composite_nearest() and pixops_composite_color_nearest().
1816 2001-08-07 Sven Neumann <sven@gimp.org>
1818 * gdk-pixbuf.c (gdk_pixbuf_fill): a comment asked to optimize this
1819 function, so that's what I did.
1821 2001-08-06 Kjartan Maraas <kmaraas@gnome.org>
1823 * gdk-pixdata.c: Fix a typo.
1825 2001-07-30 Hans Breuer <hans@breuer.org>
1827 * pixops/makefile.msc : new file
1828 * makefile.msc : use it to complete the build
1830 2001-07-20 Hans Breuer <hans@breuer.org>
1832 * gdk-pixdata.c : don't 'g_tohl (*istream++)', but move
1833 pointer increment out of the macro, because at least one
1834 compiler (msvc 5.0) gets confused otherwise (applies the
1837 * gdk_pixbuf.def : updated exports
1839 * makefile.msc : reflect gdk-pixbuf-csource changes
1841 2001-07-17 Darin Adler <darin@bentspoon.com>
1843 * gdk-pixbuf-csource.c: Add missing <stdlib.h> include.
1844 * io-png.c: (setup_png_transformations): Add ifdef so we compile
1845 without warnings with G_DISABLE_CHECKS on.
1846 * io-pnm.c: (gdk_pixbuf__pnm_image_load_increment): Add a missing
1848 * io-wbmp.c: (getin), (get_mbi): Add a missing const.
1849 * io-xbm.c: (gdk_pixbuf__xbm_image_load_real): Get rid of some
1850 unused locals and add an initial value to quiet the compiler's
1851 unintialized variable warning.
1852 * pixops/pixops.c: Put an ifdef around some dead code.
1854 Thu Jul 5 10:17:15 2001 Owen Taylor <otaylor@redhat.com>
1856 * pixops/Makefile.am (noinst_LTLIBRARIES): Switch
1857 over to the new include flags AC_SUBST(). (Problem
1858 pointed out by Mikael Hermansson.)
1860 2001-06-29 Havoc Pennington <hp@redhat.com>
1862 * gdk-pixbuf-loader.c (gdk_pixbuf_loader_class_init): fix for
1865 Thu Jun 28 21:54:19 2001 Owen Taylor <otaylor@redhat.com>
1867 * make-inline-pixbuf.c test-gdk-pixbuf.c test-loaders.c
1868 gdk-pixbuf-csource.c: Fix args to g_type_init ().
1870 2001-06-28 Havoc Pennington <hp@pobox.com>
1872 * gdk-pixdata.c: <string.h>
1874 * gdk-pixbuf-io.c (get_libdir): fix typo in dll name (aren't we
1875 also leaking memory here from g_strdup_printf?)
1877 Tue Jun 26 09:48:02 2001 Tim Janik <timj@gtk.org>
1879 * Makefile.am (noinst_PROGRAMS): get rid of make-inline-pixbuf
1881 * gdk-pixbuf-data.[hc]: provide gdk_pixbuf_new_from_stream()
1882 instead from gdk_pixbuf_new_from_inline().
1884 * gdk-pixdata.[hc]: auxillary GdkPixdata structure, public
1885 installed API for applications that need to serialize/deserialize
1886 on their own (gimp, BEAST).
1888 * gdk-pixbuf/gdk-pixbuf-csource.c: provide publically installed
1889 program that can dump images in CSource format and Pixbuf
1890 stream format. supports RLE encoding, MACRO formatting etc...
1893 Mon Jun 25 00:28:11 2001 Owen Taylor <otaylor@redhat.com>
1895 * Makefile.am: Actually update timestamps, so rules don't
1898 2001-06-11 Havoc Pennington <hp@redhat.com>
1900 * Makefile.am (stamp-gdk-pixbuf-marshal.c): glib_genmarshal
1901 already includes top_builddir
1903 2001-06-08 Havoc Pennington <hp@redhat.com>
1905 * gdk-pixbuf-loader.c (gdk_pixbuf_loader_load_module): remove
1906 bogus g_return_if_fail
1908 * io-gif.c (gif_get_lzw): if delay time is 0 or smaller than
1909 likely timeout resolution, set it to an arbitrarily-chosen short
1911 Fixes bug #55953 from warmenhoven@yahoo.com
1913 2001-06-07 Havoc Pennington <hp@redhat.com>
1915 * Makefile.am: use Owen's new way of doing stampfiles/generated
1918 2001-06-07 Havoc Pennington <hp@redhat.com>
1920 * Makefile.am (gdk-pixbuf-marshal.c): fix up the glib-genmarshal path
1922 2001-06-05 Havoc Pennington <hp@redhat.com>
1924 * test-loaders.c (main): use putenv not setenv, reported by
1927 2001-05-08 Havoc Pennington <hp@redhat.com>
1929 * gdk-pixbuf-util.c (gdk_pixbuf_add_alpha): docs fixup,
1930 and fix behavior to still subst color if the original image
1933 2001-06-04 Havoc Pennington <hp@redhat.com>
1935 * io-pnm.c (pnm_skip_whitespace): patch from Szekeres Istvan,
1938 2001-06-01 Havoc Pennington <hp@redhat.com>
1940 Apply patch from sandmann@daimi.au.dk, with some tweaks.
1941 Makes things a bit more robust, and adds test-loaders.c
1942 which is good for finding further robustness bugs to fix.
1944 * io-tiff.c: Try to work around libtiff suckiness a bit;
1945 put a giant thread lock on the whole loader,
1946 paranoically check both whether error handlers were called and
1947 also whether functions return false. Handle case where width or
1948 height is 0. Various cleanups.
1950 * io-png.c (gdk_pixbuf__png_image_stop_load): only unref pixbuf
1952 (png_error_callback): apparently libpng expects you to longjmp out
1955 * io-gif.c (struct _GifContext): remove unused "pixbuf" field
1956 (lzw_read_byte): change "Mail jrb if this fails" g_warning
1958 (gif_get_lzw): check for out-of-memory
1959 (gif_prepare_lzw): catch/report an error
1960 (new_context): use try_malloc, since GifContext is nearly 70K
1961 (gdk_pixbuf__gif_image_load_increment): set context->buf to NULL
1962 so we don't crash later.
1964 * Makefile.am: Add test-loaders
1966 * gdk-pixbuf-loader.c (gdk_pixbuf_loader_close): handle context ==
1969 2001-05-29 Darin Adler <darin@eazel.com>
1971 * gdk-pixbuf.h: Fix prototype to use "(void)" instead of "()".
1973 Mon May 28 14:21:35 2001 Jonathan Blandford <jrb@redhat.com>
1975 * io-bmp.c: Patch from Helmethead <hoshem@mel.comcen.com.au> to
1976 fix up bmp decoder to:
1977 - adds 16 bpp bmp support (bug #53884)
1978 - adds OS/2 1.x format bmp support (bug #54964)
1979 - adds 4 bpp RLE compressed bmp support
1980 - adds 1 bpp colormap support
1981 - fixes negative height (top down) bmp support
1983 2001-05-25 Hans Breuer <hans@breuer.org>
1985 * gdk_pixbuf.def : reflect Havoc's recent api change
1987 Sun May 20 12:53:49 2001 Owen Taylor <otaylor@redhat.com>
1989 * Makefile.am (libgdk_pixbuf_1_3_la_LDFLAGS): Remove an
1990 excess $(GLIB_LIBS).
1992 Sun May 13 11:59:11 2001 Owen Taylor <otaylor@redhat.com>
1994 * Makefile.am: Make modules depend on libgdk_pixbuf.la.
1996 2001-05-04 Havoc Pennington <hp@redhat.com>
1998 * pixops/pixops.c (pixops_process): merge fix from stable: Patch
1999 from hoshem@mel.comcen.com.au to fix nonzero X offsets. Fixes
2002 * gdk-pixbuf/pixops/pixops.c (pixops_composite_nearest): merge
2003 from stable: Patch from OKADA Mitsuru <m-okada@fjb.co.jp> to fix
2004 confusion of using "src" instead of "p".
2005 (pixops_composite_color_nearest): Use a more accurate (and
2006 correct, to begin with) compositing method. This cures checks
2007 showing through on images with no alpha.
2009 * gdk-pixbuf.c (gdk_pixbuf_fill): fix bug that left some trailing
2012 * gdk-pixbuf-io.h: fix UpdatedNotifyFunc to use signed ints
2014 * gdk-pixbuf-loader.h (struct _GdkPixbufLoaderClass): Change
2015 area_updated signal to use signed ints. Removed animation-related
2018 * io-gif.c, io-gif-animation.h, io-gif-animation.c: Massive
2021 * gdk-pixbuf-animation.c: Add GdkPixbufAnimationIter to abstract
2022 all the pesky details. Remove old frame-based API. Make
2023 GdkPixbufAnimation an abstract base class, derived by the loaders.
2025 Sun Apr 22 15:51:32 2001 Owen Taylor <otaylor@redhat.com>
2027 * Makefile.am (LDADDS): Add $(MATH_LIB).
2029 2001-04-18 Havoc Pennington <hp@redhat.com>
2031 * gdk-pixbuf.c (gdk_pixbuf_fill): Function to fill pixbuf with a
2034 Wed Apr 4 01:41:02 2001 Tim Janik <timj@gtk.org>
2036 * pixops/Makefile.am (noinst_LTLIBRARIES): include $top_srcdir
2037 so we don't try to get <gtk/gtkobject.h> from standard search
2040 * Makefile.am (gdk-pixbuf-marshal.c): use deps from srcdir.
2041 add gdk-pixbuf-marshal.list to EXTRA_DIST.
2042 take gdk-pixbuf-marshal.h out of _la sources.
2044 2001-03-19 Tor Lillqvist <tml@iki.fi>
2046 * makefile.mingw.in: Handle gdk-pixbuf-marshal.c.
2048 * gdk_pixbuf.def: Update.
2050 * pixbufloader_*.def: Just export the fill_vtable functions now.
2052 2001-03-18 Mike Kestner <mkestner@ameritech.net>
2054 * make-inline-pixbuf.c (main): Added logic to remove output when
2057 2001-03-14 Havoc Pennington <hp@redhat.com>
2059 * Makefile.am (gdk-pixbuf-marshal.c): Use different temporary file
2060 from gdk-pixbuf-marshal.h, fixes parallel makes.
2062 Thu Mar 1 04:01:57 2001 Tim Janik <timj@gtk.org>
2064 * test-gdk-pixbuf.c: fixed includes.
2066 2001-02-18 Havoc Pennington <hp@pobox.com>
2068 * gdk-pixbuf-io.c (gdk_pixbuf_load_module): prepend underscore
2069 (gdk_pixbuf_get_named_module): prepend underscore
2070 (gdk_pixbuf_get_module): prepend underscore
2072 2001-02-19 Havoc Pennington <hp@redhat.com>
2074 * gdk-pixbuf-io.c (gdk_pixbuf_load_module): const fix
2076 2001-02-17 Havoc Pennington <hp@pobox.com>
2078 * gdk-pixbuf-loader.c (gdk_pixbuf_loader_new_with_type): docs
2080 2001-02-07 Alexander Larsson <alexl@redhat.com>
2082 * io-xpm.c (free_buffer):
2083 Use g_free, since the buffer is allocated with g_try_alloc().
2085 2001-02-06 Christophe Merlet <redfox@eikonex.org>
2087 * gdk-pixbuf-data.c: Fixes a minor typo.
2089 Sun Feb 4 07:59:57 2001 Tim Janik <timj@gtk.org>
2091 * gdk-pixbuf.h: DOH! don't include glib/gobject.h but glib-object.h,
2092 we finally need the gobject->gruntime rename.
2094 * *.c: scratched calls to g_type_init(), there's simply no point in
2095 doing that, use gtk_init().
2097 2001-02-01 Havoc Pennington <hp@pobox.com>
2099 * gdk-pixbuf-loader.c, gdk-pixbuf-loader.h: rename "private" field
2100 in struct to "priv" for C++
2102 2001-01-31 Havoc Pennington <hp@pobox.com>
2104 * gdk-pixbuf.c: include glib-object.h instead of gvaluetypes.h
2106 2001-01-26 Havoc Pennington <hp@redhat.com>
2108 * gdk-pixbuf-io.c (mname): fix included modules case.
2110 2001-01-22 Havoc Pennington <hp@redhat.com>
2112 * gdk-pixbuf-io.c (gdk_pixbuf_new_from_xpm_data): check errors
2113 from gdk_pixbuf_load_module
2115 2001-01-22 Havoc Pennington <hp@redhat.com>
2117 * Makefile.am: Add built marshaller files to support
2118 GdkPixbufLoader signals
2120 * gdk-pixbuf-io.c (gdk_pixbuf_load_module): have
2121 GDK_PIXBUF_MODULEDIR unconditionally replace the compiled-in
2122 module location, rather than acting as a fallback, because we are
2123 using GDK_PIXBUF_MODULEDIR to use gdk-pixbuf before installing it.
2125 * gdk-pixbuf.h: include gdk-pixbuf-loader.h
2127 * gdk-pixbuf-loader.h, gdk-pixbuf-loader.c: Move back over here
2128 from gtk, and add error to close(), because stop_load may do
2129 parsing of the image.
2131 * pixops/have_mmx.S (_pixops_have_mmx): add newline at end of file
2133 * io-*.c: make individual operations static, and add fill_vtable
2134 functions which are exported. Fix the collection of type warnings
2135 that surfaced, including a number of functions that didn't
2136 properly take a GError and some that weren't
2137 const-correct. Involved adding error handling for a few loaders.
2139 * gdk-pixbuf-io.h: Add error reporting to stop_load function
2141 * gdk-pixbuf-io.c (gdk_pixbuf_load_module): change to just look up
2142 a function that fills in the GdkPixbufModule vtable, instead of
2143 looking up all the image functions individually; this means we
2144 can get type safety within modules for the loader functions.
2145 Also it means you don't have to keep the statically compiled and
2146 GModule versions in sync.
2148 * test-gdk-pixbuf.c (main): remove gdk_pixbuf_init()
2150 * make-inline-pixbuf.c (main): remove call to gdk_pixbuf_init()
2152 * gdk-pixbuf.h: nuke gdk_pixbuf_init()
2154 * gdk-pixbuf-animation.c (gdk_pixbuf_frame_get_type): g_type_init
2157 * gdk-pixbuf.c (gdk_pixbuf_get_type): g_type_init () here
2159 * gdk-pixbuf-animation.c (gdk_pixbuf_animation_get_type):
2162 2001-01-20 John Harper <jsh@eazel.com>
2164 * io-xbm.c: new pixbuf loader, for X bitmap files. Basically a
2165 collision between Xlib's RdBitF.c and io-tiff.c
2167 * gdk-pixbuf-io.c, Makefile.am, pixbufloader_xbm.def: added
2170 [ merged from stable gdk-pixbuf module. Untested, but it
2171 compiles, and works fine in the stable module ]
2173 2001-01-18 Tor Lillqvist <tml@iki.fi>
2175 * gdk-pixbuf-io.c (get_libdir): (Win32) Use the new
2176 g_win32_get_package_installation_subdirectory() function. No need
2177 to include windows.h.
2178 (gtk_win32_get_installation_directory): Remove this then.
2180 2001-01-01 Havoc Pennington <hp@redhat.com>
2182 * Makefile.am (libgdk_pixbuf_1_3_la_LDFLAGS): add
2183 @LIBTOOL_EXPORT_OPTIONS@
2185 2000-12-30 Tor Lillqvist <tml@iki.fi>
2187 * gdk_pixbuf.def: Update.
2189 2000-12-16 Havoc Pennington <hp@pobox.com>
2191 * gdk-pixbuf-animation.c (gdk_pixbuf_animation_new_from_file): ref
2192 the pixbuf in the frame, so we can use gdk_pixbuf_frame_free
2193 (gdk_pixbuf_frame_copy): new function
2194 (gdk_pixbuf_frame_free): new function
2195 (gdk_pixbuf_frame_get_type): new function
2196 (GDK_TYPE_PIXBUF_FRAME): macro to get type for GdkPixbufFrame
2198 Tue Nov 14 11:51:26 2000 Owen Taylor <otaylor@redhat.com>
2200 * Makefile.am: Add -avoid-version for all modules.
2202 2000-11-13 Havoc Pennington <hp@redhat.com>
2204 * io-png.c (png_simple_error_callback): fix error message to not
2205 say "save" since it's used for loading
2207 2000-11-11 Hans Breuer <Hans@Breuer.Org>
2209 * gdk-pixbuf-io.c : Fix all function prototype macros for self
2210 contained image handlers (!USE_G_MODULE). Files to save should
2211 be opened in binary mode, fopen(s, "wb").
2213 * io-xpm.c : added HAVE_UNISTD_H condition
2215 2000-11-11 Tor Lillqvist <tml@iki.fi>
2217 * gdk_pixbuf.def: Add gdk_pixbuf_new_subpixbuf.
2219 * io-tiff.c (gdk_pixbuf__tiff_image_begin_load): Use
2220 g_file_open_tmp() (just added to GLib) instead of mkstemp() (or
2221 mktemp() and open()).
2223 * io-xpm.c (gdk_pixbuf__xpm_image_begin_load): Ditto.
2225 2000-11-01 Havoc Pennington <hp@pobox.com>
2227 * gdk-pixbuf.c (gdk_pixbuf_new_subpixbuf): New function to create
2228 a pixbuf pointing to a subregion of another pixbuf.
2230 2000-10-16 Tor Lillqvist <tml@iki.fi>
2232 * gdk-pixbuf-io.c: Define also m_save (for the non-gmodule case).
2234 2000-10-16 Havoc Pennington <hp@redhat.com>
2236 * gdk-pixbuf-io.c (gdk_pixbuf_get_module)
2237 (gdk_pixbuf_get_named_module) (gdk_pixbuf_load_module):
2238 add error reporting here also
2240 * make-inline-pixbuf.c (main): use GError
2242 * io-xpm.c: include unistd.h
2244 * gdk-pixbuf-util.c: include string.h
2246 * io-*.c: add error reporting
2248 * gdk-pixbuf-animation.c (gdk_pixbuf_animation_new_from_file): add
2251 * gdk-pixbuf-io.c (gdk_pixbuf_new_from_file): Add error reporting
2253 * gdk-pixbuf-io.h: Add GError** to load_increment and load
2256 * gdk-pixbuf-io.c (gdk_pixbuf_save) (gdk_pixbuf_savev): return
2257 a G_FILE_ERROR if we fail to write or close the file.
2259 * gdk-pixbuf.h: remove GDK_PIXBUF_ERROR_IO, instead we'll use
2260 G_FILE_ERROR_*. Rename enum to GdkPixbufError, properly following
2261 the GError naming rules. Add GError** to load functions.
2263 2000-10-06 Havoc Pennington <hp@redhat.com>
2265 * gdk-pixbuf.h: add GdkPixbufAlphaMode
2267 2000-10-06 Havoc Pennington <hp@redhat.com>
2269 This entry is a summary of the merged-in changes from 1.0.
2270 Relevant original ChangeLog entries are spliced in after
2271 this entry; the files they refer to are from the 1.0
2274 * pixops/pixops.c (pixops_composite_nearest): sync a small fix
2277 * io-xpm.c (xpm_seek_string): add fscanf error check from 1.0
2278 Add progressive loader from 1.0
2280 * io-tiff.c (gdk_pixbuf__tiff_image_begin_load): mem leak fixes
2283 * io-pnm.c: new version from 1.0 tree
2285 * io-jpeg.c (gdk_pixbuf__jpeg_image_load): sync from 1.0, use
2288 * io-gif.c (lzw_read_byte): sync from 1.0, change a g_error to
2290 (gif_get_next_step): return 0 here, sync from 1.0
2292 * gdk-pixbuf-util.c: sync email address change for Cody
2295 2000-09-11 Jeffrey Stedfast <fejj@helixcode.com>
2297 * gdk-pixbuf/io-pnm.c: Pretty much totally rewrote again because
2298 last nights code was still "broken". Should now properly handle
2299 all error conditions gracefully.
2301 2000-09-10 Jeffrey Stedfast <fejj@helixcode.com>
2303 * gdk-pixbuf/io-pnm.c: Rewrote.
2305 2000-09-09 Federico Mena Quintero <federico@helixcode.com>
2307 * gdk-pixbuf/pixops/pixops.c (pixops_composite_nearest): Compute
2308 the correct dest offset.
2310 2000-08-25 Federico Mena Quintero <federico@helixcode.com>
2312 * gdk-pixbuf/io-xpm.c: #include <unistd.h>
2314 2000-08-05 Larry Ewing <lewing@helixcode.com>
2316 * gdk-pixbuf/io-tiff.c: stop leaking context->tempname.
2318 * gdk-pixbuf/io-xpm.c: same as above.
2320 2000-07-26 Michael Meeks <michael@helixcode.com>
2322 * gdk-pixbuf/io-jpeg.c (gdk_pixbuf__jpeg_image_load): make
2325 2000-07-21 Larry Ewing <lewing@helixcode.com>
2327 * gdk-pixbuf/io-xpm.c: add a fake progressive loader so that
2328 xpm at least supports the progressive interface like the one in
2329 io-tiff.c. This should be reimplemented as an actual progressive
2332 2000-07-19 Jonathan Blandford <jrb@redhat.com>
2334 * demo/pixbuf-demo.c (update_timeout): changed scaling level to
2335 make it look better.
2336 * gdk-pixbuf/testpixbuf.c (update_timeout): Patch from michael
2337 meeks to handle errors better.
2339 2000-10-07 Tor Lillqvist <tml@iki.fi>
2342 * pixbufloader_jpeg.def
2343 * pixbufloader_png.def: Add new entry points.
2345 * makefile.mingw.in: Use libintl.
2347 2000-10-06 Havoc Pennington <hp@redhat.com>
2349 * gdk-pixbuf-io.c (gdk_pixbuf_save): s/format/type/g to be
2350 consistent with gdk_pixbuf_loader_new_with_type().
2351 Return runtime error if a module is missing.
2353 * gdk-pixbuf.h: add GDK_PIXBUF_ERROR_UNKNOWN_TYPE
2355 2000-10-05 Havoc Pennington <hp@redhat.com>
2357 Pixbuf saving, patch from David Welton.
2359 * Makefile.am (GDK_PIXBUF_LIBS): add INTLLIBS
2360 (libgdk_pixbuf_1_3_la_SOURCES): add gdk-pixbuf-i18n.h
2362 * gdk-pixbuf-i18n.h: Add _() to gdk-pixbuf
2364 * io-png.c (gdk_pixbuf__png_image_save): PNG save routine.
2366 * io-jpeg.c (gdk_pixbuf__jpeg_image_save): JPEG save routine.
2368 * gdk-pixbuf-io.c (gdk_pixbuf_save):
2369 (gdk_pixbuf_savev): Implement pixbuf saving routines
2371 * gdk-pixbuf.c (gdk_pixbuf_error_quark): pixbuf error quark
2374 * gdk-pixbuf.h: Add public save routines; add pixbuf error
2377 * gdk-pixbuf-io.h: Add save function to GdkPixbufModule
2379 2000-10-05 Dan Winship <danw@helixcode.com>
2381 * io-png.c, io-tiff.c, io-xpm.c: Fix comments to not claim that
2382 all three of these files are the JPEG image loader. (From
2385 2000-10-03 Tor Lillqvist <tml@iki.fi>
2387 * makefile.mingw.in: Add rule for make-inline-pixbuf. Use
2388 gdk-pixbuf's version number in the rule for makefile.mingw itself.
2390 * gdk_pixbuf.def: Add new entry points.
2392 2000-09-26 Havoc Pennington <hp@redhat.com>
2394 * gdk-pixbuf-util.c (gdk_pixbuf_saturate_and_pixelate): Add this
2395 function here, instead of putting it in a private GTK+ file.
2397 * gdk-pixbuf-private.h (GdkPixbufInlineFormat): include an
2398 enum here for the known formats of inlined pixbufs.
2399 Also, #define our file magic here.
2401 2000-06-23 Havoc Pennington <hp@redhat.com>
2403 * make-inline-pixbuf.c: Small program that creates C variable
2404 declarations of inline pixbuf data. This can be read
2405 by gdk_pixbuf_new_from_inline.
2407 * gdk-pixbuf.h (gdk_pixbuf_new_from_inline): New function to read
2408 inline pixbuf data and create a pixbuf from it.
2410 * gdk-pixbuf-data.c (gdk_pixbuf_new_from_inline): implement here
2412 2000-09-07 Tor Lillqvist <tml@iki.fi>
2414 * makefile.mingw.in: Use own version number for gdk-pixbuf DLLs,
2417 2000-08-12 Tor Lillqvist <tml@iki.fi>
2419 * gdk_pixbuf.def: Add missing entry point.
2421 2000-08-10 Havoc Pennington <hp@redhat.com>
2423 * Makefile.am (EXTRA_DIST): The *.def files had the wrong names
2424 (s/pixbuf_/pixbufloader_)
2426 2000-08-02 Tor Lillqvist <tml@iki.fi>
2432 * io-wbmp.c: Conditionalise inclusion of <unistd.h>.
2434 * makefile.mingw.in: List loaders alphabetically. Add the wbmp
2435 one. Fix names of DLLs to have '-' instead of '_'.
2437 2000-07-31 Elliot Lee <sopwith@redhat.com>
2438 * io-wbmp.c: Some bug fixes - now tested to work.
2440 2000-07-27 Elliot Lee <sopwith@redhat.com>
2442 * gdk-pixbuf-io.h, gdk-pixbuf-io.c: Add
2443 gdk_pixbuf_get_named_module() function to facilitate above change
2444 * io-wbmp.c, pixbufloader_wbmp.defs, gdk-pixbuf-io.c, Makefile:
2445 Implement loader for WBMP format.
2446 * io-bmp.c: Don't malloc a temporary buffer - use stack instead.
2448 2000-07-23 Tor Lillqvist <tml@iki.fi>
2453 * pixops/makefile.mingw.in
2454 * pixbuf_*.def: New files.
2457 * pixops/Makefile.am: Add them. Add rule to generate makefile.mingw.
2459 * gdk-pixbuf-io.c (gtk_win32_get_installation_directory):
2460 New function, to get the GTK+ installation directory from
2461 the Windows Registry, where the installation program
2462 for whatever software includes GTK+ has stored it.
2464 Used to avoid having hardcoding the directory where to look for
2465 loaders. This function is needed by gtk, too, so it should
2466 really be just in one place. Maybe a small static library
2467 one level up from here?
2469 * gdk-pixbuf-animation.c (gdk_pixbuf_animation_new_from_file)
2470 * gdk-pixbuf-io.c (gdk_pixbuf_new_from_file):
2471 Open file in binary mode. This *is* standard C. (No-op on Unix,
2474 * io-jpeg.c: If we don't HAVE_SIGSETJMP, use normal setjmp().
2476 * io-tiff.c: Use g_get_tmp_dir(). If we don't HAVE_MKSTEMP, use
2477 mktemp() and open().
2478 (gdk_pixbuf__tiff_image_stop_load): g_free() also the tempname.
2480 * pixops/*.S: The Gas from mingw32 doesn't like the .type
2481 pseudo-op. Conditionalise on __MINGW32__, but probably
2482 should conditionalise on Gas version instead? Or could we
2483 do without .type on all systems?
2485 * pixops/timescale.c: Use g_get_current_time()
2486 instead of gettimeofday().
2488 Sat Jul 22 10:57:22 2000 Owen Taylor <otaylor@redhat.com>
2490 * Makefile.am (test_gdk_pixbuf_LDADD): Remove -lgmodule
2492 Tue Jul 11 11:26:42 2000 Owen Taylor <otaylor@redhat.com>
2494 * gdk-pixbuf.c: Add <string.h> include.
2496 Tue Jul 11 06:20:14 2000 Tim Janik <timj@gtk.org>
2498 * io-gif.c (gdk_pixbuf__gif_image_load_animation):
2499 * gdk-pixbuf-data.c (gdk_pixbuf_new_from_data):
2500 * gdk-pixbuf-animation.c (gdk_pixbuf_animation_new_from_file):
2501 use g_object_new() instead of g_type_create_instance() which
2502 is a private function for fundamental type implementations.
2504 Thu Jul 6 11:49:47 2000 Owen Taylor <otaylor@redhat.com>
2506 * Makefile.am (libgdk_pixbuf_la_LDFLAGS): Use GTK+ version
2507 soname scheme for gdk-pixbuf.
2509 2000-06-21 Havoc Pennington <hp@pobox.com>
2511 * gdk-pixbuf.c: Convert GdkPixbuf to GObject, leaving it opaque
2512 (i.e. derivation is not allowed, and there are no virtual methods
2514 (gdk_pixbuf_preinit): Call g_type_init() here.
2515 (gdk_pixbuf_init): Add a user-friendly init function, for users
2516 of standalone gdk-pixbuf
2518 * gdk-pixbuf-animation.c: Convert to GObject, in the same
2519 way GdkPixbufAnimation was done.
2521 * gdk-pixbuf.h: Remove gdk_pixbuf_set_unref_handler() and
2522 gdk_pixbuf_finalize() from API, since these are broken and don't
2523 make sense with new GObject stuff.
2525 Wed Jun 21 16:02:48 2000 Owen Taylor <otaylor@redhat.com>
2527 * gdk-pixbuf-io.c (gdk_pixbuf_load_module): Add feature to
2528 support a GDK_PIXBUF_MODULEDIR env variable as a secondary
2531 2000-06-10 Federico Mena Quintero <federico@helixcode.com>
2533 * demo/pixbuf-demo.c: It was cold and rainy this Saturday morning,
2534 so I needed something to warm my thighs. Running plain infinite
2535 loops on your laptop to make it hot is not very much fun. A demo
2536 of the gdk-pixbuf scaling functions is way better, and looks
2539 * configure.in (AC_OUTPUT): Added the demo Makefile.
2541 * Makefile.am (SUBDIRS): Added the demo directory.
2543 2000-06-09 Larry Ewing <lewing@helixcode.com>
2545 * gdk-pixbuf/io-png.c (gdk_pixbuf__png_image_load_increment):
2546 setjmp for the png error handler. It seems setting the error
2547 handling functions does not avoid the jump, and so not calling
2548 setjmp was causing the incremental loader to jump into lala land.
2549 (gdk_pixbuf__png_image_begin_load): setjmp for error handling, I'm
2550 not sure this one is actually required but the docs say it must be
2551 set for every call to a png_* function.
2552 Also changed the comment to reflect the fact that setting the
2553 error handlers does _not_ avoid the longjmp.
2555 2000-06-06 Larry Ewing <lewing@helixcode.com>
2557 * gdk-pixbuf/gdk-pixbuf-loader.c (gdk_pixbuf_loader_frame_done):
2558 take frame offest into account when trying to calculate the
2559 animation bbox. Also set the width to the width not the height.
2560 (gdk_pixbuf_loader_animation_done): cycle over the frames to
2561 calculate bbox because now we finally have all the offset
2562 information for each frame.
2564 2000-06-05 Mathieu Lacage <mathieu@gnome.org>
2566 * configure.in: add some gtk parameters to the
2567 GDK_PIXBUF_LIBÃ�²S and GDK_PIXBUG_INCLUDEDIR vars. One more
2568 fight in my crusade for strange prefix compile...
2570 2000-05-30 Not Zed <NotZed@HelixCode.com>
2572 * gdk-pixbuf/io-jpeg.c (gdk_pixbuf__jpeg_image_begin_load):
2573 Initialise the error handler exit routine to our own. Note this
2574 means that every function that accesses the jpeg lib on this
2575 object MUST do a setjmp.
2576 (gdk_pixbuf__jpeg_image_stop_load): setjmp before accessing jpeg
2577 lib for handling fatal error.
2578 (gdk_pixbuf__jpeg_image_load_increment): And here too. So now
2579 your applications dont quit if there's a jpeg error!
2581 2000-05-30 Federico Mena Quintero <federico@helixcode.com>
2583 * gdk-pixbuf.spec.in: Include all the loader libraries. Patch
2584 from Frank de Lange <frank@unternet.org>.
2586 2000-05-09 Darin Adler <darin@eazel.com>
2588 * gdk-pixbuf/test-gdk-pixbuf.c:
2589 Fixed includes to get rid of accidental GNOME dependency.
2591 2000-05-26 Cody Russell <car0969@gamma2.uta.edu>
2592 * Makefile.am: Added gdk-pixbuf.spec to EXTRA_DIST
2594 2000-05-22 Federico Mena Quintero <federico@helixcode.com>
2596 * configure.in: Bumped version number to 0.8.0.
2598 * doc/Makefile.am (content_files): The toplevel gdk-pixbuf.sgml
2599 file was not being distributed.
2601 * gdk-pixbuf/pixops/Makefile.am (EXTRA_DIST): Added DETAILS.
2603 2000-05-09 Darin Adler <darin@eazel.com>
2605 * gdk-pixbuf/gdk-pixbuf-drawable.c: (rgb565lsb), (rgb565msb),
2606 (rgb565alsb), (rgb565amsb), (rgb555lsb), (rgb555msb), (rgb555alsb),
2607 (rgb555amsb), (convert_real_slow): Change all conversion from 16-bit
2608 formats to 32-bit formats to re-use the high bits of the color values
2609 so that white maps to full white.
2611 Fri May 5 12:16:32 2000 Owen Taylor <otaylor@redhat.com>
2613 * gdk-pixbuf/pixops/DETAILS: Add beginnings of file with
2614 detailed information about the structure and algorithms
2615 of pixops so people can fix it instead of breaking it.
2617 2000-05-04 Darin Adler <darin@eazel.com>
2619 * gdk-pixbuf/pixops/pixops.c: (pixops_composite_nearest),
2620 (composite_pixel), (composite_line):
2621 * gdk-pixbuf/test-gdk-pixbuf.c: (simple_composite_test_one_type):
2622 Now that Owen explained the algorithm, I think I implemented it
2623 right for the cases where the destination pixbuf is not opaque.
2624 The test does seem to confirm it.
2626 2000-05-04 Darin Adler <darin@eazel.com>
2628 * gdk-pixbuf/.cvsignore:
2629 * gdk-pixbuf/Makefile.am:
2630 * gdk-pixbuf/test-gdk-pixbuf.c (store_pixel), (fill_with_pixel),
2631 (load_pixel), (simple_composite_test_one),
2632 (simple_composite_test_one_type), (simple_composite_test), (main):
2633 Added some tests of composite to highlight problems in the old
2634 implementation. These tests run without any user interaction.
2635 Just do "make check".
2637 * gdk-pixbuf/pixops/pixops.c (pixops_composite_nearest),
2638 (composite_pixel), (composite_line): Fix composite to do a textbook
2639 "A over B" composite. This was clearly the intent, and it was easy
2640 to fix the code to do it. (Note to those that read my earlier tries
2641 at a patch; this version fixes typos that were present in all
2642 my patch attempts. I checked the final version by adding more tests.)
2644 2000-04-22 05:27:43 2000 Owen Taylor <otaylor@redhat.com>
2646 * gdk-pixbuf/pixops/pixops.c (pixops_scale_nearest): Properly
2647 offset y coordinate accordining to render_y0.
2649 * gdk-pixbuf/gdk-pixbuf-scale.c: Properly handle nonzero
2652 2000-04-22 James Henstridge <james@daa.com.au>
2654 * gdk-pixbuf.spec.in (%files): moved %{prefix}/bin/* from the main
2655 package to the devel package. The only file installed in bin is
2656 gdk-pixbuf-config, which belongs in -devel. This should allow having
2657 multiple versions of the main gdk-pixbuf package installed.
2659 2000-04-17 Karl Eichwalder <ke@suse.de>
2661 * gdk-pixbuf/Makefile.am (INCLUDES): Add $(GNOME_CFLAGS).
2662 Reported by Jens Finke.
2664 2000-04-14 Tomasz KÃ�³opczko <kloczek@pld.org.pl>
2666 * gdk-pixbuf/pixops/makefile.am: $(LIBART_CFLAGS) replaced by
2667 $(GTK_CFLAGS) - now gdk-pixbuf compiles correctly.
2669 2000-04-13 James Henstridge <james@daa.com.au>
2671 * configure.in: when performing the configure check to see if
2672 gmodule works, set CFLAGS to GLIB_CFLAGS and LIBS to GLIB_LIBS,
2673 rather than the other way round. Also, call AC_MSG_RESULT in the
2674 even that dynamic modules were not supported.
2676 2000-04-12 Federico Mena Quintero <federico@helixcode.com>
2678 This comes from an excellent idea by Tim Janik (timj@gtk.org) to
2679 hook to the last unref operation.
2681 * gdk-pixbuf/gdk-pixbuf.c (gdk_pixbuf_set_last_unref_handler): New
2682 function to set the last unref handler for a pixbuf.
2683 (gdk_pixbuf_finalize): New function to actually finalize a pixbuf.
2684 It calls the pixbuf's destroy notification function and frees the
2685 GdkPixbuf structure itself.
2686 (gdk_pixbuf_unref): Use the last unref function of the pixbuf if
2689 * gdk-pixbuf/gdk-pixbuf-private.h (struct _GdkPixbuf): New fields
2690 for the last unref handler and its user data.
2692 * gdk-pixbuf/gdk-pixbuf-data.c (gdk_pixbuf_new_from_data): Use
2693 g_new0() to allocate the pixbuf.
2695 * gdk-pixbuf/gdk-pixbuf-loader.c (gdk_pixbuf_loader_class_init):
2696 Fixed the call to gtk_signal_new() for the "frame_done" signal; it
2697 was not specifying the `frame' argument.
2699 * gdk-pixbuf/gdk-pixbuf-animation.c
2700 (gdk_pixbuf_animation_get_width): Fixed docstring.
2701 (gdk_pixbuf_animation_get_height): Likewise.
2702 (gdk_pixbuf_animation_get_num_frames): Likewise.
2703 (gdk_pixbuf_animation_get_frames): Likewise.
2705 * doc/gdk-pixbuf-sections.txt: Updated with the new functions and
2708 * doc/tmpl/gdk-pixbuf.sgml: Added the description for GdkColorspace.
2710 * doc/tmpl/scaling.sgml: Added the description for GdkInterpType.
2712 * doc/tmpl/refcounting.sgml: Updated with the information about
2713 the last unref handler.
2715 * doc/tmpl/*.sgml: Markup tweaks.
2717 * gdk-pixbuf/Makefile.am (libgnomecanvaspixbuf_la_LDFLAGS): Sigh,
2718 update the libtool version number for libgnomecanvaspixbuf as
2720 (libpixbufloader_*_la_LDFLAGS): The loaders need to be versioned
2721 as well, or the old ones won't work with the new stuff. Also,
2722 renamed the modules as follows.
2724 * gdk-pixbuf/gdk-pixbuf-io.c (gdk_pixbuf_load_module): Now the
2725 modules are called "libpixbufloader-<format>.so" instead of
2726 "libpixbuf-<format>.so". They needed renaming so that the new
2727 loaders won't overwrite the old ones; even with the versioning
2728 stuff, the new .so symlink to the .so.1.0.0 would overwrite the
2731 2000-04-12 Paolo Molaro <lupus@debian.org>
2733 * .cvsignore, src/.cvsignore: shut up cvs.
2735 2000-04-11 Federico Mena Quintero <federico@helixcode.com>
2737 Most of this patch is based on a patch by Havoc Pennington
2738 (hp@redhat.com) to make GdkPixbuf's structures opaque and to
2739 remove the libart dependency.
2741 * gdk-pixbuf/gdk-pixbuf.h: Removed the public structures.
2742 (GdkColorspace): New enum that for now only contains
2744 (GdkPixbufDestroyNotify): New type for the pixbuf's pixels destroy
2745 notification function.
2746 (GdkInterpType): New num with interpolation types.
2748 * *.[ch]: Replace the libart stuff with our own stuff.
2750 * pixops/*.[ch]: Likewise.
2752 * gdk-pixbuf/gdk-pixbuf-private.h: New file with the private
2753 declarations of the GdkPixbuf structures.
2755 * gdk-pixbuf/gdk-pixbuf.c (gdk_pixbuf_new_from_art_pixbuf):
2757 (gdk_pixbuf_get_format): Constify.
2758 (gdk_pixbuf_get_n_channels): Constify.
2759 (gdk_pixbuf_get_has_alpha): Constify.
2760 (gdk_pixbuf_get_bits_per_sample): Constify.
2761 (gdk_pixbuf_get_pixels): Constify.
2762 (gdk_pixbuf_get_width): Constify.
2763 (gdk_pixbuf_get_height): Constify.
2764 (gdk_pixbuf_get_rowstride): Constify.
2766 * gdk-pixbuf/gdk-pixbuf.c (gdk_pixbuf_copy): New function to copy
2769 * gdk-pixbuf/gdk-pixbuf-data.c (gdk_pixbuf_new_from_data): Added a
2770 bits_per_sample argument; currently only 8 bits per sample are
2773 * gdk-pixbuf/gdk-pixbuf-animation.c (gdk_pixbuf_frame_get_pixbuf):
2775 (gdk_pixbuf_frame_get_x_offset): New accessor.
2776 (gdk_pixbuf_frame_get_y_offset): New accessor.
2777 (gdk_pixbuf_frame_get_delay_time): New accessor.
2778 (gdk_pixbuf_frame_get_action): New accessor.
2780 * gdk-pixbuf/gdk-pixbuf-render.c
2781 (gdk_pixbuf_render_pixmap_and_mask): Instead of returning a solid
2782 mask rectangle for pixbufs without an alpha channel, set the
2783 *mask_return to NULL.
2785 * gdk-pixbuf/gdk-pixbuf-util.c (gdk_pixbuf_add_alpha): Constify.
2787 * gdk-pixbuf/gdk-pixbuf-scale.c: Fix includes.
2789 * gdk-pixbuf/gdk-pixbuf-scale.c (gdk_pixbuf_scale): Added some
2790 preconditions. Maybe we should also check for the colorspace,
2791 bits per pixel, and such.
2792 (gdk_pixbuf_composite): Likewise.
2793 (gdk_pixbuf_composite_color): Likewise.
2794 (gdk_pixbuf_scale_simple): Likewise, and fail gracefully if we
2795 cannot allocate the new pixbuf.
2796 (gdk_pixbuf_composite_color_simple): Likewise.
2798 * gdk-pixbuf/gnome-canvas-pixbuf.c (gnome_canvas_pixbuf_render):
2799 Use art_rgb_rgba_affine() or art_rgb_affine() since we no longer
2802 * gdk-pixbuf/io-bmp.c: Fix includes.
2804 * gdk-pixbuf/pixops/pixops.c (pixops_scale_nearest): Fixed cast in
2809 * configure.in: Removed checks for libart.
2811 * gdk-pixbuf/Makefile.am: Removed references to libart.
2812 (noinst_HEADERS): Added gdk-pixbuf-private.h.
2814 * gdk-pixbuf/Makefile.am (libgdk_pixbuf_la_LDFLAGS): Incremented
2815 the version number of the libtool library to indicate that this
2816 definitely is not compatible with the old usage. I know you love
2819 * configure.in: Bumped version number to 0.7.0.
2823 * gdk-pixbuf-config.in (--libs): We no longer require libart.
2825 * DEPENDS.libgdk_pixbuf: We no longer depend on libart.
2827 * gdk-pixbuf.spec.in: Updated, but I don't guarantee anything.
2829 2000-04-06 Jonathan Blandford <jrb@redhat.com>
2831 * gdk-pixbuf/testanimation.c (main): add more info to the
2832 testanimation frames.
2834 2000-04-04 Ettore Perazzoli <ettore@helixcode.com>
2836 * gdk-pixbuf/gdk-pixbuf-animation.c
2837 (gdk_pixbuf_animation_get_width): New accessor function.
2838 (gdk_pixbuf_animation_get_height): New accessor function.
2839 (gdk_pixbuf_animation_get_num_frames): New accessor function.
2840 (gdk_pixbuf_animation_get_frames): New accessor function.
2842 2000-04-01 Federico Mena Quintero <federico@helixcode.com>
2844 * gdk-pixbuf/gdk-pixbuf.c: Reverted Mark's change. The refcount
2845 is private information, and the art_pixbuf will go away soon.
2847 2000-03-31 Mark Crichton <crichton@gimp.org>
2849 * gdk-pixbuf/gdk-pixbuf.c: Added gdk_pixbuf_get_refcount
2850 and gdk_pixbuf_get_artpixbuf accessor functions.
2852 2000-03-29 Federico Mena Quintero <federico@helixcode.com>
2854 * gdk-pixbuf/gdk-pixbuf.c (gdk_pixbuf_get_has_alpha): Return
2855 gboolean instead of int.
2857 2000-03-29 Radek Doulik <rodo@helixcode.com>
2859 * gdk-pixbuf/gdk-pixbuf-animation.c
2860 (gdk_pixbuf_animation_new_from_file): same as below
2862 * gdk-pixbuf/io-gif.c (gif_get_lzw): added update of width and
2863 height in GdkPixbufAnimation
2865 2000-03-28 Radek Doulik <rodo@helixcode.com>
2867 * gdk-pixbuf/io-gif.c (gif_get_lzw): test also for
2868 context->frame_done_func and context->anim_done_func to make
2869 progressive animation loading work
2871 * gdk-pixbuf/gdk-pixbuf-loader.c (gdk_pixbuf_loader_frame_done):
2872 added priv->pixbuf = NULL as pixbuf is now in frame (and to make
2873 gdk_pixbuf_loader_prepare happy)
2874 (gdk_pixbuf_loader_frame_done): update animation bbox
2876 * gdk-pixbuf/gdk-pixbuf.h: added bbox size (width, height) to
2879 2000-03-27 Radek Doulik <rodo@helixcode.com>
2881 * gdk-pixbuf/io-gif.c (gif_get_lzw): use frame_len and frame_width
2882 instead of width and height
2884 2000-03-27 Owen Taylor <otaylor@redhat.com>
2886 * gdk-pixbuf/pixops/pixops.c: Fix problem with
2887 precendence of >> and & which was keeping composite_color
2888 from working with non-gray images.
2890 2000-03-08 Jonathan Blandford <jrb@redhat.com>
2892 * gdk-pixbuf/io-gif.c (gdk_pixbuf__gif_image_load): free the context.
2893 (gdk_pixbuf__gif_image_load_animation): free the context.
2895 2000-03-06 Arjan van de Ven <arjan@fenrus.demon.nl>
2897 * gdk-pixbuf/io-bmp.c: Fixed to pointer-bugs and a
2898 mis-interpretation of the Microsoft documentation. Now
2899 it can load .BMP files that are not generated by The Gimp
2902 2000-03-01 Mark Crichton <crichton@gimp.org>
2904 * configure.in: Added BUILD_CANVAS_ITEM stuff to (finally)
2905 fix the last auto* build bug (where we have libart, but no
2908 * gdk-pixbuf/Makefile.am: Same.
2910 2000-02-28 Matt Wilson <msw@redhat.com>
2912 * gdk-pixbuf/gdk-pixbuf-drawable.c: s/unsigned long/guint32/g,
2913 s/unsigned short/guint16/g, s/unsigned char/guint8/g
2915 2000-02-26 Federico Mena Quintero <federico@helixcode.com>
2917 * README: We don't require libgif/ungif nor libXpm.
2919 * NEWS: This was outdated, so updated it.
2921 2000-02-25 Federico Mena Quintero <federico@helixcode.com>
2923 * gdk-pixbuf.m4: Use the correct name for
2924 gdk-pixbuf/gdk-pixbuf.h. Thanks to Jacob Berkman for pointing
2927 2000-02-21 Federico Mena Quintero <federico@helixcode.com>
2929 * configure.in (GDK_PIXBUF_MINOR): Bumped version number to 0.6.0.
2931 * doc/compiling.sgml: New appendix documenting the gdk-pixbuf
2932 library's particular options to configure.in.
2934 * doc/gdk-pixbuf.sgml: Include compiling.sgml appendix via an
2937 * doc/Makefile.am (gdk-pixbuf.html): Added compiling.sgml.
2939 * gdk-pixbuf/io-ico.c (gdk_pixbuf__ico_image_load_increment):
2940 Fixed typo in prototype name.
2942 * configure.in: Changed duplicated AC_MSG_CHECKING message to
2943 something more meaningful; now it is "checking whether dynamic
2946 * gdk-pixbuf/pixops/Makefile.am (noinst_PROGRAMS): Do not install
2947 the timescale program.
2949 Integrated Miguel de Icaza's <miguel@gnu.org> patch for optionally
2950 creating a single static library with all the image format modules
2953 2000-02-20 Miguel de Icaza <miguel@gnu.org>
2955 * gdk-pixbuf/io-xpm.c (gdk_pixbuf__xpm_image_load): Add prefix.
2956 (gdk_pixbuf__xpm_image_load_xpm_data): Add prefix.
2958 * gdk-pixbuf/io-tiff.c (gdk_pixbuf__tiff_image_load_real): Add prefix.
2959 (gdk_pixbuf__tiff_image_stop_load): Add prefix.
2960 (gdk_pixbuf__tiff_image_load_increment): Add prefix.
2961 (gdk_pixbuf__tiff_image_load): Add prefix.
2962 (gdk_pixbuf__tiff_image_stop_load): Update invocation.
2963 (gdk_pixbuf__tiff_image_begin_load): Add prefix.
2965 * gdk-pixbuf/io-ras.c (gdk_pixbuf__ras_image_load): Add prefix.
2966 (gdk_pixbuf__ras_image_load): Updated invocation.
2967 (gdk_pixbuf__ras_image_begin_load): Add prefix.
2968 (gdk_pixbuf__ras_image_stop_load): Add prefix.
2969 (gdk_pixbuf__ras_image_load_increment): Add prefix.
2971 * gdk-pixbuf/io-pnm.c (gdk_pixbuf__pnm_image_begin_load): Add prefix.
2972 (gdk_pixbuf__pnm_image_stop_load): Add prefix.
2973 (gdk_pixbuf__pnm_image_load_increment): Add prefix
2974 (gdk_pixbuf__pnm_image_load): Add prefix.
2976 * gdk-pixbuf/io-jpeg.c (gdk_pixbuf__jpeg_image_load): Add prefix.
2977 (gdk_pixbuf__jpeg_image_load_increment): Add prefix.
2978 (gdk_pixbuf__jpeg_image_begin_load): Add prefix.
2979 (gdk_pixbuf__jpeg_image_stop_load): Add prefix.
2981 * gdk-pixbuf/io-ico.c (gdk_pixbuf__ico_image_load): Add prefix.
2982 (gdk_pixbuf__ico_image_load): update invocation.
2983 (gdk_pixbuf__ico_image_load_increment): Add prefix.
2984 (gdk_pixbuf__ico_image_load): update invocation.
2985 (gdk_pixbuf__ico_image_begin_load): Add prefix.
2986 (gdk_pixbuf__ico_image_load): update invocation.
2987 (gdk_pixbuf__ico_image_stop_load): Add prefix.
2989 * gdk-pixbuf/io-gif.c (gdk_pixbuf__gif_image_load_animation): Add prefix.
2990 (gdk_pixbuf__gif_image_load): Add prefix.
2991 (gdk_pixbuf__gif_image_begin_load): Add prefix.
2992 (gdk_pixbuf__gif_image_load_increment): Add prefix.
2993 (gdk_pixbuf__gif_image_load_animation): Add prefix.
2994 (gdk_pixbuf__gif_image_stop_load): Add prefix.
2996 * gdk-pixbuf/io-bmp.c (gdk_pixbuf__bmp_image_load): Add prefix.
2997 (gdk_pixbuf__bmp_image_load): Rename function called.
2998 (gdk_pixbuf__bmp_image_load_increment): Add prefix
3000 * gdk-pixbuf/io-png.c (gdk_pixbuf__png_image_load): Add prefix.
3001 (gdk_pixbuf__png_image_begin_load): Add prefix.
3002 (gdk_pixbuf__png_image_stop_load): Add prefix.
3003 (gdk_pixbuf__png_image_load_increment): Add prefix.
3005 * gdk-pixbuf/gdk-pixbuf-io.c (file_formats): Make this static.
3006 (gdk_pixbuf_load_module): Load the shared library entry points
3007 using a "gdk_pixbuf__$module_name" prefix.
3008 (pixbuf_module_symbol): Wrapper routine that uses the module
3009 prefix for the modules to load the information.
3011 * configure.in (GDK_PIXBUF_VERSION): New option --disable-modules
3012 lets the user specify that gdk-pixbuf should link all image loader
3013 code into the library instaed of creating shared library modules.
3015 (dynworks): Renamed the automake conditional DYNAMIC_MODULES_WORK
3016 to BUILD_DYNAMIC_MODULES.
3018 2000-02-19 Jonathan Blandford <jrb@redhat.com>
3020 * gdk-pixbuf/io-gif.c (new_context): fix case where initial
3021 colormap entry is Transparent.
3023 2000-02-19 Owen Taylor <otaylor@redhat.com>
3025 * gdk-pixbuf/pixops/pixops.c (scale_pixel): Fix error in
3026 scale factors for non-alpha case.
3028 2000-02-14 Mark Crichton <crichton@gimp.org>
3030 * gdk-pixbuf/io-xpm.c (xpm_extract_color): Added check for "g"
3031 color type. Imlib/libXpm handle this, but we didn't.
3033 2000-02-14 Darin Adler <darin@eazel.com>
3035 * gdk-pixbuf/testpixbuf.c: Remove now-unnecessary cast.
3036 * .cvsignore: gdk-pixbuf/.cvsignore: More to ignore.
3038 2000-02-14 Elliot Lee <sopwith@redhat.com>
3039 * gdk-pixbuf/gdk-pixbuf.h, gdk-pixbuf/gdk-pixbuf-data.c: Make
3040 passed-in argument 'const'.
3042 2000-02-04 Michael Meeks <mmeeks@gnu.org>
3044 * gdk-pixbuf/io-gif.c (struct _GifContext): add x,y_offset.
3045 (gif_get_frame_info): put the offsets on the context.
3046 (gif_get_lzw): copy them off into the frame.
3047 (new_context): no change required; will 0 offsets by default.
3049 2000-01-28 Michael Meeks <michael@mejm2.dow.cam.ac.uk>
3051 * gdk-pixbuf/pixops/pixops.c (pixops_process): const + nasty
3054 * gdk-pixbuf/pixops/pixops.h: const.
3056 * gdk-pixbuf/gdk-pixbuf-util.c: const.
3058 * gdk-pixbuf/gdk-pixbuf-scale.c: const.
3060 * gdk-pixbuf/gdk-pixbuf.h: constify lots of things.
3062 2000-02-03 Federico Mena Quintero <federico@helixcode.com>
3064 * gdk-pixbuf/gdk-pixbuf-render.c
3065 (gdk_pixbuf_render_threshold_alpha): Added sanity check for width
3066 and height being >= 0. Also, do nothing if either of them is
3067 zero. Thanks to Ettore for pointing this out.
3068 (gdk_pixbuf_render_to_drawable): Likewise.
3069 (gdk_pixbuf_render_to_drawable_alpha): Likewise.
3071 2000-02-02 Federico Mena Quintero <federico@helixcode.com>
3073 * gdk-pixbuf/io-gif.c (gif_get_lzw): Removed debugging g_print.
3074 Thanks to John Sullivan <sullivan@eazel.com> for the patch.
3076 * gdk-pixbuf/testpixbuf-drawable.c (configure_cb): Get a new area
3077 of the screen when the window is resized. Thanks to David
3078 N. Welton <davidw@linuxcare.com> for pointing this out.
3079 Misc. cleanups to the rest of the file.
3081 2000-02-01 Federico Mena Quintero <federico@helixcode.com>
3083 * doc/tmpl/rendering.sgml: gnome_init() does not call
3084 gdk_rgb_init(), so don't mention that it does in the
3085 documentation. Thanks to Alexander Kruuse <kruuse@home.se> for
3088 2000-01-31 Havoc Pennington <hp@redhat.com>
3090 * gdk-pixbuf/Makefile.am (noinst_PROGRAMS): no testpixbuf-foo target
3092 Mon Jan 31 12:38:50 2000 Owen Taylor <otaylor@redhat.com>
3094 * gdk-pixbuf/pixops/pixops.c (scale_line): Fix from Peter
3095 Wainwright to fix 4a => 4a scaling.
3097 2000-01-29 Mark Crichton <crichton@gimp.org>
3099 * gdk-pixbuf-config: Oh dear, we weren't Telsa/Alan proof...
3100 put `libart-config --libs` in instead of -lart_lgpl.
3102 2000-01-22 Federico Mena Quintero <federico@helixcode.com>
3104 * gdk-pixbuf/io-pnm.c (pnm_read_raw_scanline): Return an error on
3106 (pnm_read_ascii_scanline): Initialize data and mask.
3108 * gdk-pixbuf/io-xpm.c (pixbuf_create_from_xpm): Initialize
3109 fallbackcolor to keep gcc happy.
3111 * configure.in: Bumped version number to 0.5.0.
3113 * gdk-pixbuf/pixops/timescale.c (dump_array): Removed unused variable.
3116 * gdk-pixbuf/pixops/pixops.c (pixops_composite_color_nearest): Put
3117 parentheses around + in a shift to remove a compiler warning.
3118 (pixops_process): Likewise.
3120 Patch from Ross Golder <rossigee@bigfoot.com> to create an RPM
3123 * configure.in: Added gdk-pixbuf.spec to AC_OUTPUT.
3125 * Makefile.am (EXTRA_DIST): Added gdk-pixbuf.spec.in
3127 2000-01-22 Federico Mena Quintero <federico@helixcode.com>
3129 * gdk-pixbuf/gnome-canvas-pixbuf.c (PixbufPrivate): Removed the
3130 x_set and y_set arguments. Now they are always on and start with
3131 defaults of 0.0 in units.
3132 (gnome_canvas_pixbuf_class_init): Likewise.
3133 (gnome_canvas_pixbuf_set_arg): Likewise.
3134 (gnome_canvas_pixbuf_get_arg): Likewise.
3135 (compute_viewport_affine): Likewise; always use the priv->x and
3138 * doc/tmpl/gnome-canvas-pixbuf.sgml: Modified to reflect the
3139 removal of the x_set/y_set arguments.
3141 2000-01-21 Federico Mena Quintero <federico@helixcode.com>
3143 * gdk-pixbuf/gdk-pixbuf.c (gdk_pixbuf_ref): Return the same pixbuf
3144 as the input parameter.
3146 * gdk-pixbuf/gdk-pixbuf-animation.c (gdk_pixbuf_animation_ref):
3147 Return the same animation as the input parameter.
3149 2000-01-16 Elliot Lee <sopwith@redhat.com>
3151 * gdk-pixbuf/Makefile.am: Don't link against libgnomecanvaspixbuf.la
3153 2000-01-16 Federico Mena Quintero <federico@helixcode.com>
3155 * configure.in: Removed the broken --enable-canvas-pixbuf option.
3156 Added the stuff necessary to substitute the variables in
3157 gnomecanvaspixbufConf.sh.in.
3159 * gnomecanvaspixbufConf.sh.in: New gnome-config handler for the
3160 tiny gnomecanvaspixbuf library.
3162 * Makefile.am: Build gnomecanvaspixbufConf.sh.
3164 * gdk-pixbuf/Makefile.am: Create a libgnomecanvaspixbuf and only
3165 build it if gdk-pixbuf is being built outside of gnome-libs.
3167 * doc/gdk-pixbuf-sections.txt: Added gdk_pixbuf_render_pixmap_and_mask().
3169 * gdk-pixbuf/gdk-pixbuf-render.c
3170 (gdk_pixbuf_render_pixmap_and_mask): Renamed from
3171 gdk_pixbuf_render_pixmap(). Do not create the mask if it is not
3172 needed, and do not use a clipping mask when rendering the pixmap.
3173 Tweaked documentation a little.
3175 * HACKING: New file with hacking policies for the gdk-pixbuf
3178 * doc/Makefile.am (tmpl_sources): Added missing backslash.
3180 * doc/Makefile.am: Use gnomecanvaspixbuf in gnome-config when
3181 scanning for docstrings.
3183 * gdk-pixbuf/gdk-pixbuf-util.c (gdk_pixbuf_copy_area): Made sanity
3184 checks more stringent. Removed "gint" abominations. Made
3185 documentation consistent with the rest of the functions.
3187 * doc/gdk-pixbuf-sections.txt: Added gdk_pixbuf_copy_area() to the
3190 2000-01-14 Jonathan Blandford <jrb@redhat.com>
3192 * gdk-pixbuf/gdk-pixbuf-render.c (gdk_pixbuf_render_pixmap): new
3193 function to let you create a gdk_pixmap from a gdk_pixbuf.
3195 2000-01-11 Jacob Berkman <jacob@helixcode.com>
3197 * gdk-pixbuf/pixops/Makefile.am (INCLUDES): added
3198 $LIBART_CFLAGS to $INCLUDES
3200 2000-01-10 Elliot Lee <sopwith@redhat.com>
3202 * configure.in, gdk-pixbuf/Makefile.am: Build a libcanvas_pixbuf.
3204 * configure.in: Define version macros. Generate
3205 gdk-pixbuf/gdk-pixbuf-features.h. Always INSIDE_GNOME.
3207 * gdk-pixbuf/Makefile.am: Add gdk-pixbuf-features.h
3209 * gdk-pixbuf/gdk-pixbuf.c: Add definitions of
3210 gdk-pixbuf-features.h declarations, plus some initialization
3213 2000-01-05 Owen Taylor <otaylor@redhat.com>
3215 * gdk-pixbuf/pixops/pixops.c: Fixed src_channels/dest_channels
3216 confusion. (Again caught by Tomas Ogren's Purify)
3218 2000-01-07 Jonathan Blandford <jrb@redhat.com>
3220 * gdk-pixbuf/gdk-pixbuf-xform.c (gdk_pixbuf_rotate): comment out
3223 * gdk-pixbuf/gdk-pixbuf-io.c: Added progressive animation loading.
3224 * gdk-pixbuf/gdk-pixbuf-io.h: Added progressive animation loading.
3225 * gdk-pixbuf/gdk-pixbuf-loader.c: Added progressive animation
3227 * gdk-pixbuf/gdk-pixbuf-loader.h: Added progressive animation
3229 * gdk-pixbuf/io-gif.c (image_load_increment): I think the
3230 ref-counting mess is finally fixed. Added progressive animation
3232 (gif_get_lzw): remove memory_leak
3234 * doc/tmpl/gdk-pixbuf-loader.sgml: much longer long description
3237 2000-01-05 Owen Taylor <otaylor@redhat.com>
3239 * gdk-pixbuf/pixops/pixops.c (pixops_process): Fix computation of
3242 * gdk-pixbuf/pixops/pixops.c: Fix double increments when
3243 dest_channels == 4. (Pointed out by Tomas Ogren)
3245 2000-01-05 Mark Crichton <crichton@gimp.org>
3247 * gdk-pixbuf/gdk-pixbuf-loader.c (gdk_pixbuf_loader_eat_header_write):
3248 Return 0 if gdk_pixbuf_load_loader_module returns FALSE.
3250 2000-01-05 Elliot Lee <sopwith@redhat.com>
3252 * gdk-pixbuf/pixops/Makefile.am: Link with -lm (to get 'ceil' function)
3254 2000-01-05 Owen Taylor <otaylor@redhat.com>
3256 * doc/Makefile.am doc/gdk-pixbuf-sections.txt
3257 doc/gdk-pixbuf.sgml doc/tmpl/scaling.sgml:
3258 Added scaling functions into gtk-doc framework.
3260 * gdk-pixbuf/gdk-pixbuf-scale.c: Documentation fixes.
3262 * gdk-pixbuf/testpixbuf-scale.c (expose_cb): Simplify a bit.
3264 * gdk-pixbuf/pixops/pixops.c (pixops_composite_color): Return
3265 immediately if scale_x or scale_y is 0.
3267 2000-01-05 Owen Taylor <otaylor@redhat.com>
3269 * gdk-pixbuf/pixops/timescale.c: quick fix for initializing
3270 arrays in benchmark.
3272 2000-01-05 Jonathan Blandford <jrb@redhat.com>
3274 * gdk-pixbuf/gdk-pixbuf-io.h: Change the order of the update func
3275 to make it more compatible with the rest of GTK. Added animation
3276 framework for progressive loading.
3278 * gdk-pixbuf/io-bmp.c (image_begin_load): Modified to handle new
3280 * gdk-pixbuf/io-ico.c (image_begin_load): ditto
3281 * gdk-pixbuf/io-png.c (image_begin_load): ditto
3282 * gdk-pixbuf/io-ras.c (image_begin_load): ditto
3283 * gdk-pixbuf/io-jpeg.c (image_begin_load): ditto
3284 * gdk-pixbuf/io-pnm.c (image_begin_load): ditto
3285 * gdk-pixbuf/io-tiff.c (image_begin_load): ditto
3286 * gdk-pixbuf/io-gif.c (image_begin_load): ditto
3288 2000-01-05 Owen Taylor <otaylor@redhat.com>
3290 * gdk-pixbuf/pixops/README: Added a README with a TODO
3291 and some explainations of the algorithms.
3293 * gdk-pixbuf/testpixbuf-scale.c: Set a background pixmap of None
3294 to reduce flashing when resizing.
3296 2000-01-05 Owen Taylor <otaylor@redhat.com>
3298 * gdk-pixbuf/pixops/: Directory full of pixel data scaling
3299 code that will eventually migrate into libart.
3301 * configure.in acconfig.h: Add checks for MMX compiler support
3303 * gdk-pixbuf/gdk-pixbuf.h gdk-pixbuf/gdk-pixbuf-scale.c:
3304 Nice wrapper routines for the code in pixops that operate
3305 on pixbufs instead of raw data.
3307 * gdk-pixbuf/testpixbuf-scale: Test program for scaling
3310 2000-01-05 Jonathan Blandford <jrb@redhat.com>
3312 * doc/tmpl/animation.sgml: Documentation changes.
3314 2000-01-01 Federico Mena Quintero <federico@helixcode.com>
3316 * gdk-pixbuf/gdk-pixbuf.h (GdkPixbufAnimation): Added reference
3317 counting to animations. A web browser may want to share a single
3318 copy of an animated GIF if it appears multiple times in a web
3321 * gdk-pixbuf/gdk-pixbuf-animation.c: New file. Moved the
3322 animation functions here.
3323 (gdk_pixbuf_animation_new_from_file): Prettified. Return a NULL
3324 animation if the loader does not support multiframe loading and
3325 the single-frame load returned NULL. Check that the filename is
3326 not NULL. Updated inline documentation.
3327 (gdk_pixbuf_animation_ref): New function.
3328 (gdk_pixbuf_animation_unref): New function.
3329 Removed gdk_pixbuf_animation_destroy() in favor of reference
3332 * gdk-pixbuf/gdk-pixbuf-io.c (gdk_pixbuf_new_from_file):
3333 Prettified. Made ref_count assertion more paranoid. Check that
3334 the filename is not NULL.
3335 (gdk_pixbuf_get_module): Use guchar * and guint for buffer and
3337 (gdk_pixbuf_new_from_xpm_data): Changed the "data" argument to
3340 * gdk-pixbuf/io-gif.c (image_load_animation): Create the animation
3341 with a reference count of 1.
3343 * gdk-pixbuf/Makefile.am (libgdk_pixbuf_la_SOURCES): Added
3344 gdk-pixbuf-animation.c.
3346 * doc/tmpl/animation.sgml: Populated. It is still missing a
3347 description of the overlay modes.
3349 * doc/gdk-pixbuf-sections.txt: Added the animation section. Moved
3350 the canvas item section to the end, as it will be moved later to
3353 * doc/gdk-pixbuf.sgml: Added the animation section.
3355 * doc/Makefile.am (tmpl_sources): Added tmpl/animation.sgml.
3357 1999-12-26 Peter Teichman <pat@gnu.org>
3359 * gdk-pixbuf/Makefile.am (libpixbuf_tiff_la_LIBADD): add
3360 $(LIBTIFF) to libpixbuf_tiff_la_LIBADD, proxying for mmarker.
3361 This closes bug #4676.
3363 1999-12-23 Havoc Pennington <hp@pobox.com>
3365 * gdk-pixbuf/io-gif.c (image_load): Stuff that should have been
3366 set to NULL here (specifically context->animation) was not being
3367 set to NULL. use g_new0() to alloc the struct.
3369 1999-12-20 Jonathan Blandford <jrb@redhat.com>
3371 * gdk-pixbuf/io-gif.c: finished work to make animated gifs load
3372 correctly. Progressive loading needs some work, but that all
3373 needs doing from the gdk-pixbuf-loader end, not here.
3375 1999-12-17 Jonathan Blandford <jrb@redhat.com>
3377 * gdk-pixbuf/gdk-pixbuf-io.c (gdk_pixbuf_animation_new_from_file):
3378 moved the file here. It seems natural to put this function here,
3379 as that's where the gdk_pixbuf_new_from_file function is, but it's
3380 still a little convoluted. The source files might be played with
3383 1999-12-14 Jonathan Blandford <jrb@redhat.com>
3385 * gdk-pixbuf/gdk-pixbuf-loader.c
3386 (gdk_pixbuf_loader_get_animation): Gets the animation from the
3389 1999-12-16 Federico Mena Quintero <federico@redhat.com>
3391 * doc/tmpl/rendering.sgml: Added notice about initializing GdkRGB
3392 before using the GdkPixbuf rendering functions. Thanks to Joe
3393 Shaw <joe@off.net> for pointing this out.
3395 1999-12-13 Federico Mena Quintero <federico@redhat.com>
3397 * gdk-pixbuf/gnome-canvas-pixbuf.c
3398 (gnome_canvas_pixbuf_class_init): Renamed arguments to
3399 width_in_pixels, height_in_pixels, x_in_pixels, y_in_pixels, for
3400 consistency with the new canvas.
3401 (PixbufPrivate): Do the same renaming in the structure fields, for
3404 * doc/tmpl/gnome-canvas-pixbuf.sgml: Updated for new argument names.
3406 1999-12-12 Federico Mena Quintero <federico@redhat.com>
3408 * gdk-pixbuf/Makefile.am (libgdk_pixbuf_la_LDFLAGS): Use a
3409 conditional to see whether to link $(GNOME_LIBS) or not.
3411 1999-12-10 Jonathan Blandford <jrb@redhat.com>
3413 * gdk-pixbuf/gdk-pixbuf-io.h: thinking about the new loading API.
3415 * gdk-pixbuf/gdk-pixbuf-drawable.c (gdk_pixbuf_get_from_drawable):
3416 make a warning go away.
3418 * gdk-pixbuf/gdk-pixbuf.h: added new prototypes for animations.
3420 * gdk-pixbuf/gdk-pixbuf-loader.h: added new prototypes for
3423 1999-12-09 Michael Zucchi <zucchi@zedzone.mmc.com.au>
3425 * gdk-pixbuf/gdk-pixbuf.h: Enable gdk_pixbuf_get_from_drawable()
3428 * gdk-pixbuf/gdk-pixbuf-drawable.c (gdk_pixbuf_get_from_drawable):
3429 Filled in body of function.
3430 (rgbconvert): Added GdkColormap parameter, and to all conversion
3432 (convert_real_slow): New function - should convert ANY visual/data
3433 format properly, but it aint fast. Used as a fallback when an
3434 optimised routine wont match.
3435 (rgbconvert): Do very specific tests on the data format to verify
3436 properly if the optimised version will do, otherwise use the
3437 fallback function for all other data formats.
3439 * gdk-pixbuf/Makefile.am: Re-enabled building of
3440 textpixbuf-drawable.
3442 * gdk-pixbuf/testpixbuf-drawable.c (main): Changed to use
3443 gdk_pixbuf_get_from_drawable().
3445 1999-12-08 Arjan van de Ven <arjan@fenrus.demon.nl>
3447 * gdk-pixbuf/gdk-pixbuf-drawable.c : Fixed the red/green/red
3448 bug on two occasions.
3449 * gdk-pixbuf/io-ras.c: Changed from the custom be32_to_cpu
3450 function to the generic glib one.
3452 1999-12-08 Federico Mena Quintero <federico@redhat.com>
3454 * gdk-pixbuf/gdk-pixbuf-drawable.c: Fix includes.
3455 (gdk_pixbuf_get_from_drawable): Implemented the zillion sanity
3456 checks and API definition. The body needs filling in and it needs
3457 to do the Right Thing(tm) for pixmaps plus the given colormap and
3458 windows and their own colormaps.
3460 * gdk-pixbuf/gdk-pixbuf.h: Added prototype for
3461 gdk_pixbuf_get_from_drawable(). Killed gdk-pixbuf-drawable.h.
3463 * gdk-pixbuf/Makefile.am: Re-added the gdk-pixbuf-drawable sources.
3465 * doc/tmpl/from-drawables.sgml: Populated.
3467 * doc/gdk-pixbuf.sgml: Added the from-drawables section.
3469 * doc/Makefile.am (tmpl_sources): Added tmpl/from-drawables.sgml.
3471 * doc/gdk-pixbuf-sections.txt: Added a section for getting pixbufs
3474 1999-12-07 Federico Mena Quintero <federico@redhat.com>
3476 * doc/tmpl/gnome-canvas-pixbuf.sgml: Added clarification about
3477 reference counting for GdkPixbuf structures.
3479 1999-12-07 Martin Baulig <martin@home-of-linux.org>
3481 * gdk-pixbuf/Makefile.am (testpixbuf_LDADD): Conditionally
3482 include $(GNOME_LIBS) here.
3484 1999-12-05 Arjan van de Ven <arjan@fenrus.demon.nl>
3486 Added missing "include <string.h>" to:
3487 * gdk-pixbuf/io-ras.c
3488 * gdk-pixbuf/io-bmp.c
3489 * gdk-pixbuf/io-ico.c
3491 1999-12-06 Federico Mena Quintero <federico@redhat.com>
3493 * gdk-pixbuf/gdk-pixbuf-io.c (file_formats): Patch from Arjan to
3496 1999-12-05 Federico Mena Quintero <federico@redhat.com>
3498 * gdk-pixbuf/Makefile.am (testpixbuf_LDADD): Add back
3499 $(GNOME_LIBS). This must compile outside of gnome-libs. If you
3500 want, send me a patch to do the conditional stuff properly.
3501 Otherwise, please read the GNOME Programming Guidelines,
3502 especially the "CVS policies" section.
3504 1999-12-05 Jaka Mocnik <jaka.mocnik@kiss.uni-lj.si>
3506 * gdk-pixbuf/Makefile.am: removed GNOME_LIBS from testpixbuf_LDADD.
3508 1999-12-05 Arjan van de Ven <arjan@fenrus.demon.nl>
3510 * gdk-pixbuf/io-ico.c: Bug in palet-size
3513 1999-12-04 Arjan van de Ven <arjan@fenrus.demon.nl>
3515 * gdk-pixbuf/io-bmp.c: Major cleanup, added support for
3516 32 bpp and 4 bpp (uncompressed) images, fixed 1bpp.
3518 * gdk-pixbuf/io-ras.c: Minor cleanup, ran through lclint
3520 * gdk-pixbuf/io-ico.c: Minor cleanup, fixed 1bpp icons,
3523 * gdk-pixbuf/gdk-pixbuf-io.c: Added detection of .CUR files
3524 (Windows Cursor files). These are identical to .ICO files,
3525 except for the signature and 2 extra fields for the hotspot.
3527 1999-12-03 Federico Mena Quintero <federico@redhat.com>
3529 * gdk-pixbuf/gnome-canvas-pixbuf.c (gnome_canvas_pixbuf_get_arg):
3530 Removed unused variable `item'.
3532 1999-12-03 Jonathan Blandford <jrb@redhat.com>
3534 * gdk-pixbuf/io-gif.c (gif_fill_in_lines): added a comment to
3535 explain this function better.
3537 1999-12-02 Federico Mena Quintero <federico@redhat.com>
3539 Source files moved from src/ to gdk-pixbuf/, to be consistent with
3542 * doc/Makefile.am: Modified for the new source directory.
3544 * configure.in: Likewise.
3546 * Makefile.am: Likewise.
3548 * autogen.sh: Likewise.
3550 * gdk-pixbuf/Makefile.am: Likewise.
3552 1999-12-02 Federico Mena Quintero <federico@redhat.com>
3554 * src/testpixbuf.c: #include <config.h>, and fix includes.
3556 * src/testpixbuf-drawable.c: #include <config.h>, and fix includes.
3558 * src/io-xpm.c: Fix includes.
3560 * src/io-tiff.c: Fix includes.
3562 * src/io-ras.c: Fix includes, and do not include more stuff than needed.
3564 * src/io-pnm.c: Fix inlcudes, and do not include more stuff than needed.
3566 * src/io-png.c: Fix includes.
3568 * src/io-ico.c: Fix includes, and do not include more stuff than needed.
3570 * src/io-gif.c: Fix includes, and do not include more stuff than needed.
3572 * src/io-bmp.c: Fix includes, and do not include more stuff than needed.
3574 * src/gnome-canvas-pixbuf.c: Fix includes.
3576 * src/gdk-pixbuf.c: Fix includes.
3578 * src/gdk-pixbuf-util.c: Fix includes.
3580 * src/gdk-pixbuf-render.c: Fix includes.
3582 * src/gdk-pixbuf-io.h: Fix includes.
3584 * src/gdk-pixbuf-drawable.c: Fix includes.
3586 * src/gdk-pixbuf-drawable.h: Use angle brackets for the gdk-pixbuf
3589 * src/gdk-pixbuf-data.c: Fix includes.
3591 * src/gdk-pixbuf-loader.c: #include <config.h>
3593 * src/gdk-pixbuf-loader.h: Use angle brackets for the gdk-pixbuf
3596 * src/Makefile.am: Commented out the gdk-pixbuf-drawable stuff,
3597 since it is not finished.
3599 * src/gdk-pixbuf.h: Removed unused transformation prototypes.
3601 * src/gdk-pixbuf-util.c: New file with utility and convenience
3602 functions for pixbufs.
3604 * src/Makefile.am (libgdk_pixbuf_la_SOURCES): Added gdk-pixbuf-util.c.
3606 * doc/gdk-pixbuf-sections.txt: Added section for utility functions.
3608 * doc/Makefile.am (tmpl_sources): Added tmpl/util.sgml.
3610 * doc/gdk-pixbuf.sgml: Added the utilities section.
3612 * doc/tmpl/util.sgml: Documentation for the utility functions.
3614 1999-11-29 Owen Taylor <otaylor@redhat.com>
3616 * src/gdk-pixbuf-render.c (gdk_pixbuf_render_to_drawable_alpha):
3617 Keep the mask around until after we draw ... since
3618 the GC changes aren't flushed to the X server until we
3619 draw, destroying it before that may result in BadPixmap
3622 1999-11-30 Havoc Pennington <hp@pobox.com>
3624 * configure.in: Add AM_CONDITIONAL for inside gnome-libs
3626 * src/Makefile.am: conditionalize GnomeCanvasPixbuf
3628 1999-11-29 Federico Mena Quintero <federico@redhat.com>
3630 * src/Makefile.am: Uncomment the GnomeCanvasPixbuf sources. This
3631 should be made conditional, not blindly commented out.
3633 1999-11-29 Jonathan Blandford <jrb@redhat.com>
3635 * src/Makefile.am (ICO_LIB): Added another loader from Arjan to
3636 handle .ico files. Cool.
3638 1999-11-24 Jonathan Blandford <jrb@redhat.com>
3640 * src/io-bmp.c (OneLine24): new patch from Arjan to handle
3643 1999-11-24 James Henstridge <james@daa.com.au>
3645 * configure.in (AC_OUTPUT): altered hack to place the symlink in the
3646 top builddir rather than src. This still builds fine, and does not
3647 get gtk-doc into an infinite loop when trying to find all the source
3650 1999-11-23 Jonathan Blandford <jrb@redhat.com>
3652 * Removed #PRAGMA } from headers. Also, make compile if you don't
3653 have it installed, already.
3655 1999-11-22 Federico Mena Quintero <federico@redhat.com>
3657 * src/gnome-canvas-pixbuf.c (gnome_canvas_pixbuf_draw): Create the
3658 temporary buffer to the size of the interesction of the bounding
3659 box and the expose area, not the whole expose area. This speeds
3662 * src/gdk-pixbuf-render.c (gdk_pixbuf_render_threshold_alpha): Do
3663 not paint black on the mask, since we already cleared it in a
3664 single gdk_draw_rectangle() operation.
3666 1999-11-22 Raja R Harinath <harinath@cs.umn.edu>
3668 * configure.in (GDK_PIXBUF_DIR): Fix for srcdir != builddir.
3670 1999-11-22 Havoc Pennington <hp@pobox.com>
3672 * src/Makefile.am (GDK_PIXBUF_LIBS): Patch from Paul Fisher
3673 <pnfisher@redhat.com> adds all -lgdk-pixbuf and all other
3674 dependencies to LIBADD variables for loadable modules. Necessary
3675 for a Java dynamic loading thing to be able to figure it out.
3677 1999-11-22 Havoc Pennington <hp@pobox.com>
3679 * src/io-png.c (image_load_increment): Call the update_area
3680 callback depending on the number of rows loaded in this increment.
3682 * src/testpixbuf.c (main): slow down the progressive load demo
3684 1999-11-16 Havoc Pennington <hp@pobox.com>
3686 * src/gdk-pixbuf-drawable.h: Get the quotes right on the #include
3688 1999-11-22 Jonathan Blandford <jrb@redhat.com>
3690 * configure.in (GDK_PIXBUF_DIR): make the symlink. Does not work
3691 for srcdir != buildir != . Beats me why; I can't figure it out.
3692 AC_OUTPUT_COMMANDS doesn't seem to let me substitute it correctly.
3694 1999-11-21 Jonathan Blandford <jrb@redhat.com>
3696 * src/gdk-pixbuf-io.c: added io-bmp from Arjan
3697 <arjan@fenrus.demon.nl>
3699 1999-11-20 Michael Zucchi <zucchi@zedzone.mmc.com.au>
3701 * src/gdk-pixbuf-drawable.c (gdk_pixbuf_from_drawable_core):
3702 Rework/reorder of the code. Each case has been separated into
3703 another function; its big but it should be quick.
3704 gdk_pixbuf_rgba_from_drawable() will now return a pixbuf with
3705 opaque alpha information. Not all depths/formats have been
3706 tested, but 8, 15/16 and 24 (alinged 32) should work ok.
3708 1999-11-17 Larry Ewing <lewing@gimp.org>
3710 * src/gnome-canvas-pixbuf.c (gnome_canvas_pixbuf_bounds):
3711 implement the bounds method correctly.
3712 (compute_viewport_affine): compute the affine need to fit the
3713 image within the viewport given by the args.
3714 (compute_render_affine): call compute_viewport_affine.
3716 1999-11-16 Havoc Pennington <hp@pobox.com>
3718 * src/gdk-pixbuf-drawable.h: Use includes from the current
3719 directory, not the system directory.
3721 Mon Nov 15 17:18:28 1999 George Lebl <jirka@5z.com>
3723 * src/testpixbuf-drawable.c: use includes from the current directory
3724 rather then from the system include directory as gdk-pixbuf
3725 includes are not yet installed when this is compiled.
3727 1999-11-13 Cody Russell <bratsche@dfw.net>
3728 * src/testpixbuf-drawable.c: Added a test program for drawable
3731 * src/Makefile.am: Build testpixbuf-drawable.
3733 1999-11-12 Cody Russell <bratsche@dfw.net>
3735 * src/gdk-pixbuf-drawable.c: Merged in Michael Zucchi's changes.
3737 1999-11-10 Federico Mena Quintero <federico@redhat.com>
3739 * doc/tmpl/gdk-pixbuf-loader.sgml: Populated.
3741 * doc/gdk-pixbuf.signals: Put in the real names of signal
3744 * src/gdk-pixbuf-loader.c: Improved documentation comments.
3746 1999-11-10 Jonathan Blandford <jrb@redhat.com>
3748 * src/gdk-pixbuf-loader.c (gdk_pixbuf_loader_close): emit the
3751 * src/io-ras.c (OneLineMapped_file): Now can handle indexing
3752 correctly. Patch from Arjan to do so.
3754 1999-11-10 Michael Fulbright <drmike@redhat.com>
3756 * src/io-pnm.c (pnm_ascii_read_scanline): Fixed loading of ASCII PNM
3759 * src/testpixbuf.c: Added final queued draw when done loading image.
3761 1999-11-10 Jonathan Blandford <jrb@redhat.com>
3763 * src/gdk-pixbuf-io.c (gdk_pixbuf_load_module): removed spurious
3766 1999-11-10 Federico Mena Quintero <federico@redhat.com>
3768 * src/gdk-pixbuf-io.c (gdk_pixbuf_new_from_xpm_data): Added
3771 1999-11-09 Federico Mena Quintero <federico@redhat.com>
3773 * src/io-png.c: Fixed some incompatible pointer initializations.
3775 * src/io-jpeg.c (image_load_increment): Remove unused variable.
3777 1999-11-09 Michael Fulbright <drmike@redhat.com>
3779 * src/testpixbuf.c: Fixed it to use timeout to read from file
3780 for progressive loading. Set TBF_KBPS=n, where n is the number of
3781 kilobytes/second to simulate in downloading. n has to be an integer.
3783 * src/io-jpeg.c: Slight cosmetic cleanup.
3785 * src/io-pnm.c: Fixed raw PNM loading bug. Also discovered that ASCII
3786 PBM loading has a similar problem and will address tomorrow.
3788 1999-11-09 Havoc Pennington <hp@pobox.com>
3790 * src/Makefile.am (libgdk_pixbuf_la_SOURCES): build the
3791 gdk-pixbuf-drawable stuff.
3793 1999-11-09 Federico Mena Quintero <federico@redhat.com>
3795 * configure.in: Bumped version number to 0.4.
3797 1999-11-09 Michael Fulbright <drmike@redhat.com>
3799 * src/io-pnm.c : Finished progressive PNM loading code. Should handle
3800 all types of PNM files now.
3802 * src/io-jpeg.c (image_load_increment): Figured out problem with
3803 loading Progressive JPEG's progressively (say that 10 times fast).
3804 Currently for Progressive JPEG's the entire image is loaded before
3805 it is displayed. libjpeg supports a fancier mechanism which I may
3808 With these changes all JPEG formats appear to load properly for me.
3810 1999-11-08 Jonathan Blandford <jrb@redhat.com>
3812 * src/io-ras.c (image_load_increment): Final patch from Arjan.
3813 Seems to do progressive loading.
3815 1999-11-08 Michael Fulbright <drmike@redhat.com>
3817 * src/io-pnm.c image_load (): Fixed so we do not create a separate
3818 pixel buffer when reading in image - we reuse the pixel data in
3819 the GdkPixbuf structure instead.
3821 1999-11-08 Michael Fulbright <drmike@redhat.com>
3823 * src/io-pnm.c pnm_read_ascii_scanline (): Added support for
3824 ASCII PNM files. Note I haven't tested loaded ASCII PBM files because
3825 I can't seem to find a utility to convert into this format.
3826 Next is to add progressive loading support for the PNM format.
3828 1999-11-07 Federico Mena Quintero <federico@redhat.com>
3830 * doc/tmpl/gnome-canvas-pixbuf.sgml: Finished detailed explanation
3831 of the width, height, x, and y setting and pixels arguments.
3833 1999-11-05 Jonathan Blandford <jrb@redhat.com>
3835 * src/io-ras.c (image_load): third patch. Now it seems to load.
3837 * src/gdk-pixbuf-io.c: second patch Arjan van de Ven
3838 <arjan@fenrus.demon.nl> to autodetect/load the sunras files.
3840 * src/io-ras.c (image_load): new file from Arjan van de Ven
3841 <arjan@fenrus.demon.nl> to begin the ras loader.
3843 1999-11-05 Federico Mena Quintero <federico@redhat.com>
3845 * doc/gdk-pixbuf-sections.txt: Removed gdk-pixbuf-io, since it is
3846 for internal use only.
3848 * doc/gdk-pixbuf.sgml: Likewise.
3850 * doc/tmpl/gnome-canvas-pixbuf.sgml: Finished docs.
3852 1999-11-05 Michael Fulbright <drmike@redhat.com>
3854 * src/io-pnm.c: Implemented support for reading raw PBM/PGM/PPM
3855 files from a file. Next step is support for ASCII files, and
3856 then incremental loading.
3858 1999-11-04 Federico Mena Quintero <federico@redhat.com>
3860 * Makefile.am: Added doc to SUBDIRS.
3862 1999-11-04 Michael Fulbright <drmike@redhat.com>
3864 * src/io-jpeg.c: Prettied up code slightly.
3865 * src/io-pnm.c: Start of pnm loader (from file and progressively).
3866 Doesn't do much yet (will finish tomorrow).
3867 * src/gdk-pixbuf-io.c: Added pnm to structure of known types.
3869 1999-11-04 Federico Mena Quintero <federico@redhat.com>
3871 * doc/tmpl/rendering.sgml: Populated.
3873 * doc/Makefile.am: Added the template files.
3875 1999-11-04 Havoc Pennington <hp@pobox.com>
3877 * src/gdk-pixbuf-render.c (gdk_pixbuf_render_to_drawable): In
3878 docs, explain what a dither offset is for.
3879 (gdk_pixbuf_render_to_drawable_alpha): Explain why you would use
3880 this function vs. gdk_pixbuf_render_to_drawable().
3882 1999-11-04 Havoc Pennington <hp@pobox.com>
3884 * configure.in: Use libart-config correctly; find gnome-config
3885 separately. Fix GNOME_LIBS to be correct in "no gnome installed
3888 * src/Makefile.am: Link to GNOME_LIBS instead of a hardcoded
3891 Patch untested in the inside-gnome-libs case, I need to commit
3892 then check out to the gnome-libs I'm using.
3894 1999-11-04 Michael Fulbright <drmike@redhat.com>
3896 * src/io-jpeg.c (image_begin_load): Add update_func callback.
3897 * src/io-jpeg.c (image_load_increment): Call updated callback when
3898 new graphic data decoded.
3900 1999-11-04 Jonathan Blandford <jrb@redhat.com>
3902 * src/gdk-pixbuf-loader.c (gdk_pixbuf_loader_update): handle the
3904 * src/io-png.c (image_begin_load): add a update_func callback.
3905 * src/io-gif.c (image_begin_load): add a update_func callback.
3906 (gif_get_lzw): added the update_func ability
3908 * src/io-tiff.c (image_begin_load): add a update_func callback.
3910 1999-11-04 Federico Mena Quintero <federico@redhat.com>
3912 * doc/tmpl/gdk-pixbuf.sgml: Populated.
3914 * doc/tmpl/refcounting.sgml: Populated.
3916 * doc/tmpl/file-loading.sgml: Populated.
3918 * src/gdk-pixbuf.c: Added documentation comments.
3920 * src/gdk-pixbuf-io.c (gdk_pixbuf_new_from_file): Added
3921 documentation comments.
3923 * doc/: Finished integrating the documentation framework.
3925 1999-11-03 Federico Mena Quintero <federico@redhat.com>
3927 * configure.in: Removed libgif stuff now that we do not depend on it.
3928 Added the necessary cruft for gtk-doc.
3930 * src/Makefile.am: Unconditionally build the GIF loader.
3932 1999-11-03 Jonathan Blandford <jrb@redhat.com>
3934 * src/io-gif.c (gif_read): renamed ReadOK to gif_read.
3935 Added a lot of comments to the file.
3937 * src/Makefile.am (libpixbuf_gif_la_LIBADD): Remove dependency on
3940 1999-11-03 Michael Fulbright <drmike@redhat.com>
3942 * src/io-jpeg.c (image_load_increment): Further removal of
3943 bugginess in local buffering code. Handles grayscale jpegs
3946 * src/io-jpeg.c (image_load_stop): Was freeing local context
3947 for jpeg library before calling jpeg_decompres_finish ().
3949 1999-11-03 Jonathan Blandford <jrb@redhat.com>
3951 * src/io-gif.c (image_load_increment): now handle arbitrary buffer
3953 (gif_get_lzw): set the transparency to the right val.
3955 1999-11-03 Federico Mena Quintero <federico@redhat.com>
3957 * src/gnome-canvas-pixbuf.c (gnome_canvas_pixbuf_init):
3958 Initiailize the x and y fields.
3959 (gnome_canvas_pixbuf_destroy): Queue a redraw upon destruction.
3960 (PixbufPrivate): Renamed need_size_update to need_xform_update.
3961 (recompute_bounding_box): Do not use temporary values.
3963 1999-11-03 Jonathan Blandford <jrb@redhat.com>
3965 * src/io-gif.c (set_gif_lzw_clear_code): new state. Fixes
3968 * src/gnome-canvas-pixbuf.c (recompute_bounding_box): remove
3969 unneeded x,y,h,w vars.
3971 1999-11-03 Larry Ewing <lewing@gimp.org>
3973 * src/gnome-canvas-pixbuf.c (compute_render_affine): adjust
3974 render_affine calculation for x,y offsets.
3975 (gnome_canvas_pixbuf_set_arg): add x,y args.
3976 (gnome_canvas_pixbuf_get_arg): add x,y args.
3977 (recompute_bounding_box): simply code using ArtDrect and the
3978 render_affine. Removed compute_xform_vectors as it was no longer
3981 1999-11-03 Federico Mena Quintero <federico@redhat.com>
3983 * src/gnome-canvas-pixbuf.c (gnome_canvas_pixbuf_point): I'm a
3984 doofus. Return a distance, not a boolean, for opaque images.
3986 * src/gnome-canvas-pixbuf.c (recompute_bounding_box): Do proper
3987 rounding of bounding box coordinates.
3988 (gnome_canvas_pixbuf_bounds): Implemented the ::bounds() method.
3989 (gnome_canvas_pixbuf_draw): Use the correct alpha threshold value.
3991 1999-11-03 Jonathan Blandford <jrb@redhat.com>
3993 * src/io-gif.c (gif_prepare_lzw): s/lwz/lzw/g
3995 1999-11-03 Michael Fulbright <drmike@redhat.com>
3997 * src/io-jpg.c (image_load_increment): Fixed code which moved
3998 buffer around as new data comes in to work properly. JPEG progressive
3999 loading should be working now except for grayscale JPEG's, which I
4000 will look into next.
4002 1999-11-03 <sopwith@redhat.com>
4003 * src/testpixbuf.c: A GtkFunction needs to return a value for
4004 deterministic behaviour. Also put dot printing back in.
4006 1999-11-03 <jrb@redhat.com>
4008 * src/io-gif.c (gif_get_extension): Read 'til the next empty block
4011 1999-11-02 Cody Russell <bratsche@dfw.net>
4012 * src/gdk-pixbuf-drawable.c: Changed the behavior to return NULL
4013 if part of the requested image is offscreen, rather than clipping
4016 1999-11-02 Jonathan Blandford <jrb@redhat.com>
4018 * src/io-gif.c (gif_fill_in_lines): Fill in the gif's blank areas
4019 for interlacing and progressive loading.
4021 1999-11-02 Cody Russell <bratsche@dfw.net>
4022 * src/gdk-pixbuf-drawable.c (gdk_pixbuf_from_drawable_core): Now
4023 calls gdk_pixbuf_new_from_art_pixbuf() instead of gdk_pixbuf_new().
4025 1999-11-02 Jonathan Blandford <jrb@redhat.com>
4027 * src/io-gif.c (gif_main_loop): Now progressive gif loading works!
4028 It's a little slow though. )-:
4030 1999-11-02 Elliot Lee <sopwith@redhat.com>
4031 * src/gdk-pixbuf-loader.[ch], src/gdk-pixbuf-io.h: Make the
4032 arguments to the write/load_increment operations const-correct.
4034 1999-11-02 Federico Mena Quintero <federico@redhat.com>
4036 * src/gnome-canvas-pixbuf.c (gnome_canvas_pixbuf_point):
4037 Implemented the ::point() method. We do a simple containment test
4038 instead of a full distance calculation since the canvas is going
4039 to change to that scheme, anyways.
4041 1999-11-02 Elliot Lee <sopwith@redhat.com>
4043 * src/testpixbuf.c: Allow using $TBF_READLEN to specify the size
4044 of the chunks that are read from the input file.
4046 1999-11-02 Larry Ewing <lewing@gimp.org>
4048 * src/gnome-canvas-pixbuf.c (gnome_canvas_pixbuf_render): add aa
4050 (gnome_canvas_pixbuf_class_init): add gnome_canvas_pixbuf_render
4053 1999-11-02 Federico Mena Quintero <federico@redhat.com>
4055 * src/gnome-canvas-pixbuf.c (compute_render_affine): Moved the
4056 affine computation code from ::draw() to here, since it is needed
4057 by ::point() as well.
4059 1999-11-02 Elliot Lee <sopwith@redhat.com>
4061 * src/gdk-pixbuf-loader.c: Reorganize gdk_pixbuf_loader_write into
4062 three functions, and eliminate duplication of code from write()
4063 and close(). Also fix bug where the 128-byte header was being
4066 1999-11-01 Federico Mena Quintero <federico@redhat.com>
4067 * src/gnome-canvas-pixbuf.c (recompute_bounding_box): Fixed
4068 bounding box computation.
4070 1999-11-01 Federico Mena Quintero <federico@redhat.com>
4072 * src/gnome-canvas-pixbuf.c: Start of the pixbuf canvas item.
4073 Drawing affines seem to work. Bounding box is fubared. ::point()
4074 is not implemented. This is a work in progress.
4076 * src/Makefile.am: Added gnome-canvas-pixbuf.[ch] to the list of
4079 * configure.in: Sigh. We need to link in libgnomeui for the
4080 canvas stuff. This mess will disappear when gdk-pixbuf gets
4081 folded into gnome-libs.
4083 1999-10-30 Jonathan Blandford <jrb@redhat.com>
4085 * src/io-gif.c: Some more work. Now it generates a gdk_pixbuf of
4086 the right size, at a minimum, even if the image is squished and
4088 (ReadImage): lets get the offset right. This will let transparent
4091 1999-10-29 Michael Fulbright <drmike@redhat.com>
4093 * src/io-jpeg.c: image_load_increment(): Fixed bug when
4094 image width was not a multiple of 4 - always use the
4095 gdk_pixbuf rowstride to increment pointers!
4097 1999-10-29 Michael Fulbright <drmike@redhat.com>
4099 * src/io-jpeg.c: Added first cut at progressive jpeg loading.
4100 Currently does not handle either progressive jpeg files (jpeg
4101 files with multiple scans at different quality settings), but
4102 I plan on adding this support soon. These are fairly rare in
4103 my experience, so it shouldn't slow people down too much.
4104 Grayscale jpegs also don't work but that should be easy to fix.
4106 1999-10-29 Michael Fulbright <drmike@redhat.com>
4108 * src/testpixbuf.c: Added title to windows so you can identify
4109 progressive and file windows.
4111 1999-10-29 Michael Fulbright <drmike@redhat.com>
4113 * src/gdk-pixbuf-loader.c (gdk_pixbuf_loader_write): Actually
4114 load the image handler when we determine the image type.
4116 * src/gdk-pixbuf-io.[ch] (gdk_pixbuf_load_module): Changed the
4117 previously static function load_image_handler () to
4118 a public function gdk_pixbuf_load_module (). It is needed in
4119 gdk-pixbuf-loader.c to load image handler modules. This function
4120 is different from gdk_pixbuf_get_module (), which only returns
4121 a reference to the required handler, because it actually loads
4122 the handler into memory. Both actions should possibly be combined
4123 in a convenience function since one w/o the other doesn't seem to
4126 1999-10-28 Jonathan Blandford <jrb@redhat.com>
4128 * src/gdk-pixbuf-loader.c (gdk_pixbuf_loader_write): don't send a
4131 1999-10-28 Federico Mena Quintero <federico@redhat.com>
4133 * src/gdk-pixbuf-render.c (gdk_pixbuf_render_to_drawable): New
4134 function to render a portion of a pixbuf to a drawable. Ignores
4135 alpha information and takes in a GC.
4136 (gdk_pixbuf_render_to_drawable_alpha): New function to render a
4137 portion of a pixbuf to a drawable. It automatically creates a GC
4138 and a clipping mask for alpha pixbufs.
4140 1999-10-28 Jonathan Blandford <jrb@redhat.com>
4142 * src/gdk-pixbuf.h: turned convenience macros into convenience
4143 functions so some error checking could be added.
4145 * src/io-tiff.c (image_load_increment): started work on the tiff
4146 non-incremental loader.
4147 (image_begin_load): Finished the incremental loader.
4149 * src/io-gif.c (image_load_increment): started work on the gif
4152 * src/gdk-pixbuf-io.h: Changed ModuleType to GdkPixbufModule.
4154 1999-10-27 Federico Mena Quintero <federico@redhat.com>
4156 * src/gdk-pixbuf-render.c (gdk_pixbuf_render_threshold_alpha): New
4157 function to threshold a pixbuf's alpha channel into a bitmap.
4159 * src/gdk-pixbuf.c (gdk_pixbuf_new): Fixed so that it will
4160 contemplate future extensions to ArtPixBuf's formats.
4162 * src/io-png.c (png_info_callback): Use the new API of gdk_pixbuf_new().
4164 * src/gdk-pixbuf.h (gdk_pixbuf_get_height): Added some convenience
4165 macros to fetch the ArtPixBuf's fields.
4167 1999-10-27 Havoc Pennington <hp@pobox.com>
4169 * src/testpixbuf.c (main): Display the progressive load
4171 * src/io-png.c (setup_png_transformations): Break transformation
4172 code into separate function
4173 (png_info_callback): Use setup_png_transformations
4175 1999-10-27 Havoc Pennington <hp@pobox.com>
4177 * src/gdk-pixbuf-io.c (gdk_pixbuf_new_from_xpm_data): Check
4178 properly whether the XPM module has already been loaded
4179 (gdk_pixbuf_new_from_file): Check properly if loader module
4180 was already loaded (was checking if load symbol was present
4181 in order to decide whether to re-load; should check module !=
4182 NULL, then load != NULL)
4183 (image_handler_load): Check in present working directory,
4184 makes it easier to debug for now
4185 (file_formats): This array initializer was seriously on crack,
4186 was assigning a function pointer to a GModule*
4188 * src/testpixbuf.c (main): Change type of pixbuf_loader to
4191 1999-10-27 Havoc Pennington <hp@pobox.com>
4193 * src/gdk-pixbuf-loader.c (gdk_pixbuf_loader_finalize):
4194 Fix typo that prevented compilation
4195 (gdk_pixbuf_loader_destroy): ditto
4197 1999-10-27 Federico Mena Quintero <federico@redhat.com>
4199 * src/gdk-pixbuf-loader.c (gdk_pixbuf_loader_new): Return a
4200 GdkPixbufLoader, not a GtkObject.
4201 (gtk_marshal_NONE__INT_INT_INT_INT): Made static.
4202 (gdk_pixbuf_loader_get_type): Documented.
4203 (gdk_pixbuf_loader_class_init): Initialize the parent class
4205 (gdk_pixbuf_loader_destroy): Added sanity checks. Call the parent
4206 class destroy function.
4207 (gdk_pixbuf_loader_new): Documented.
4208 (gdk_pixbuf_loader_finalize): Call the parent class finalize
4210 (gdk_pixbuf_loader_write): Use size_t for count.
4212 1999-10-27 Michael Fulbright <drmike@redhat.com>
4214 * src/gdk-pixbuf-loader.c (gdk_pixbuf_loader_destroy): Fixed
4215 logic so we only try to close loader if it wasn't previously closed.
4217 1999-10-27 Michael Fulbright <drmike@redhat.com>
4219 * src/gdk-pixbuf-loader.c: Made sure image_loader struct member of
4220 pixbuf_loader properly initialized.
4222 * src/testpixbuf.c: Made sure we cleanup pixbuf_loader properly
4225 1999-10-26 Jonathan Blandford <jrb@redhat.com>
4227 * src/gdk-pixbuf-io.c (image_handler_load): load the vtable fully.
4229 * src/gdk-pixbuf-loader.c: Finished initial cut at the object.
4231 1999-10-26 Havoc Pennington <hp@pobox.com>
4233 * src/gdk-pixbuf-loader.h: fix signals
4235 * src/gdk-pixbuf-io.h: add new vtable fields
4238 1999-10-26 Jonathan Blandford <jrb@redhat.com>
4240 * src/gdk-pixbuf-loader.h: New Class. Beginning of progrssive
4243 1999-10-25 Federico Mena Quintero <federico@redhat.com>
4245 * configure.in (CFLAGS): Patch from Uwe Koloska
4246 <koloska@Rcs1.urz.tu-dresden.de> to fix a stupid typo of mine.
4248 1999-10-22 Havoc Pennington <hp@pobox.com>
4250 * src/io-xpm.c (mem_buffer): Clean up stupid
4251 increment-inside-array-dereference thing
4253 * src/testpixbuf.c: Add XPM data tests.
4255 * src/io-xpm.c: Make the XPM data buffer const, fix const
4256 correctness throughout the code.
4258 1999-10-22 Havoc Pennington <hp@pobox.com>
4260 * src/gdk-pixbuf.h: Export gdk_pixbuf_new_from_xpm_data()
4262 1999-10-22 Havoc Pennington <hp@pobox.com>
4264 * src/io-xpm.c (image_load_xpm_data): Export this symbol for
4265 loading an XPM from memory.
4267 * src/gdk-pixbuf-io.c (gdk_pixbuf_new_from_xpm_data): New
4268 function, loads pixbuf from xpm data
4269 (image_handler_load): Add g_return_if_fail() to ensure the same
4270 module isn't loaded twice. Add g_module_symbol() to scan for XPM
4273 1999-10-22 Federico Mena Quintero <federico@redhat.com>
4275 * src/io-png.c (image_load): Patch from Kristian Hogsberg
4276 Kristensen <hogsberg@daimi.au.dk> to avoid allocating extra row
4277 buffers; the rows can be read in directly into the main pixel
4280 1999-10-20 Federico Mena Quintero <federico@redhat.com>
4282 * src/gdk-pixbuf-io.c (image_handler_load): Free path.
4284 1999-10-20 Federico Mena Quintero <federico@redhat.com>
4286 * configure.in: Bumped version number to 0.3.
4288 * src/Makefile.am (lbgdk_pixbuf_la_LDFLAGS): Added a libtool
4289 version number for the library.
4291 1999-10-20 Federico Mena Quintero <federico@redhat.com>
4293 * src/gdk-pixbuf.h (GdkPixbuf): Removed the unref_fn field. Now
4294 all memory management of the buffer is done by libart.
4296 * src/gdk-pixbuf.c (gdk_pixbuf_unref): Do destruction here.
4297 Removed gdk_pixbuf_destroy, gdk_pixbuf_duplicate.
4299 * src/gdk-pixbuf-data.c (gdk_pixbuf_new_from_data): Implemented in
4300 terms of the libart functions. Removed the old code.
4302 * src/gdk-pixbuf-io.c (image_handler_load): Removed the save
4303 symbols. Saving will not be implemented in GdkPixbuf.
4305 * src/io-gif.c: Removed the saving stub.
4306 (image_load): Fixed memory management to fail gracefully if we run
4307 out of memory while loading the image. Close the gif file when we
4308 are done. This still needs more error handling for the DGif
4311 * src/io-jpeg.c (image_load): Some robustness fixes.
4313 * src/io-png.c: Removed the saving stuff.
4314 (image_load): Some memory management fixes.
4316 * src/io-tiff.c (image_load): Ditto.
4318 * src/io-xpm.c (pixbuf_create_from_xpm): Ditto.
4320 1999-10-18 Havoc Pennington <hp@pobox.com>
4322 * subautogen.sh: New name for macros/autogen.sh
4324 * autogen.sh: use subautogen.sh
4326 1999-10-18 Federico Mena Quintero <federico@redhat.com>
4328 * src/*: Reindented to use the GNOME Indentation. Renamed
4329 GdkPixBuf to GdkPixbuf, for consistency with the function names
4330 (and it is also easier to type) :-)
4332 1999-10-18 Havoc Pennington <hp@pobox.com>
4334 * configure.in: Use AM_PATH_GLIB instead of glib-config directly
4336 * src/Makefile.am: Re-enable testpixbuf with GTK_CFLAGS/GTK_LIBS
4338 1999-10-18 Havoc Pennington <hp@pobox.com>
4340 * Makefile.am (SUBDIRS): Remove "macros"
4342 * configure.in: Don't use GNOME_INIT, handle case where we are
4343 inside gnome-libs. AM_PATH_GTK for the GIF test
4345 * src/Makefile.am: Change flags to work without libgnomeui,
4346 comment out testpixbuf for now
4348 1999-10-18 Federico Mena Quintero <federico@redhat.com>
4350 * configure.in: Use $GTK_LIBS as the extra libs when checking for
4351 libgif/libungif, as they need the X libraries. Fixes bug #2472.
4353 1999-10-10 Cody Russell <bratsche@dfw.net>
4354 * src/gdk-pixbuf-drawable.c: core function now determines whether
4355 the requested geometry is on screen or not, and if some is not
4356 then the request is clamped to geometry that is on the screen.
4358 Changed 'pixbuf' to 'art_pixbuf' in core function.
4360 1999-10-08 Michael Fulbright <drmike@redhat.com>
4362 * src/gdk-pixbuf-data.c: Added to load rgb data from const data.
4364 * src/testpifbuf: Changed test program to display cdrom from rgb data
4365 if no filename given to test program.
4367 1999-10-07 Cody Russell <bratsche@dfw.net>
4368 * src/gdk-pixbuf-drawable.[ch]: Added. (Actually, Miguel committed
4369 them, but I wrote them).
4371 * src/gdk-pixbuf-drawable.h: Added a missing ; so things will now
4374 * src/Makefile.am: Added gdk-pixbuf-drawable.[ch] to
4375 libgdk_pixbuf_la_SOURCES and libgdk_pixbufinclude_HEADERS.
4377 * src/gdk-pixbuf-drawable.c: Added #include "gdk-pixbuf-drawable.h"
4380 * src/gdk-pixbuf-drawable.[ch]: Changed functions to return
4381 GdkPixBuf* instead of ArtPixBuf*.
4383 1999-09-22 Michael Meeks <michael@nuclecu.unam.mx>
4385 * src/gdk-pixbuf.c (gdk_pixbuf_new): created.
4386 (gdk_pixbuf_scale): use gdk_pixbuf_new + return a new scaled image.
4388 * src/gdk-pixbuf.h (struct _GdkPixBuf): Re-organise struct, + add
4389 GdkPixBufUnrefFunc + gdk_pixbuf_new.
4391 * src/io-jpeg.c (image_load): clean to use gdk_pixbuf_new.
4393 * src/io-xpm.c (_pixbuf_create_from_xpm): ditto.
4395 * src/io-tiff.c (image_load): ditto + fix leak
4397 * src/io-png.c (image_load): ditto + add more exit points; monitor.png
4398 crashes this module ( add warning :-)
4400 * src/io-bmp.c (image_load): ditto.
4402 * src/io-gif.c (image_load): ditto.
4404 1999-09-18 Michael Meeks <michael@nuclecu.unam.mx>
4406 * src/gdk-pixbuf.c (gdk_pixbuf_scale): Hack rgba support in so
4407 it doesn't crash scaling with alpha.
4409 1999-09-17 Federico Mena Quintero <federico@redhat.com>
4411 * src/io-bmp.c (image_load): Set the initial ref_count to 1.
4413 * src/io-gif.c (image_load): Likewise.
4415 * src/io-jpeg.c (image_load): Likewise.
4417 * src/io-png.c (image_load): Likewise.
4419 * src/io-tiff.c (image_load): Likewise.
4421 * src/io-xpm.c (_pixbuf_create_from_xpm): Likewise.
4423 * src/gdk-pixbuf-io.c (gdk_pixbuf_load_image): Added an assertion
4424 for the ref_count to be != 0.
4426 * src/gdk-pixbuf.c (gdk_pixbuf_ref): Be more paranoid with sanity
4428 (gdk_pixbuf_unref): Fix incorrect sanity check and comparison.
4430 1999-08-09 Federico Mena Quintero <federico@nuclecu.unam.mx>
4432 * src/io-png.c (image_save): Fixed compiler warnings. Fixed write
4433 to unallocated memory (row_ptr), and fixed its type as well. Take
4434 into account the ArtPixbuf's rowstride when assigning the row
4437 * src/gdk-pixbuf.c: Fixup includes.
4439 * src/gdk-pixbuf-io.c: Likewise.
4441 Sat Jul 31 19:19:47 CEST 1999
4443 * src/gdk-pixbuf-io.c:
4444 * src/io-png.c: Fixed two obvious C syntax bugs
4446 1999-07-29 Mark Crichton <crichton@gimp.org>
4448 * src/io-png.c (image_save): Added PNG saving function
4450 * src/gdk-pixbuf-io.c: Changed image_save function format. Now it's
4451 image_save(GdkPixBuf *p, FILE *f, ...)
4454 1999-07-26 Michael Zucchi <mzucchi@denr.sa.gov.au>
4456 * src/Makefile.am (*_LIB): Only build the relevant loaders which
4457 require extra libraries if we actually have those libraries.
4459 1999-07-23 Richard Hestilow <hestgray@ionet.net>
4461 * src/gdk-pixbuf.h: Include glib.h as it uses g* datatypes
4462 * gdk_pixbufConf.sh.in: Added for gnome-config
4464 * configure.in: Modified to generate gdk_pixbufConf.sh
4466 1999-07-20 Mark Crichton <crichton@gimp.org>
4468 * src/gdk-pixbuf.c (gdk_pixbuf_rotate): Fixed rotation. Now a bbox
4469 calculation needs to be done.
4471 1999-07-18 Larry Ewing <lewing@gimp.org>
4476 * src/io-jpeg.c: Fix a few memory leaks in the, most of them in
4477 error cases but one or two in the common case. There are probably
4478 a few small ones left.
4480 1999-07-18 Mark Crichton <crichton@gimp.org>
4482 * configure.in: removed version.h.
4484 * src/gdk-pixbuf-io.c (pixbuf_check_tiff): Minor readability
4487 1999-07-17 Mark Crichton <crichton@gimp.org>
4489 * src/gdk-pixbuf.c: Removed gdk_pixbuf_free, redundant code.
4490 (gdk_pixbuf_rotate): Added pixbuf rotation code.
4491 (gdk_pixbuf_scale): Changed // comments to /* */
4493 * src/gdk-pixbuf.h (gdk_pixbuf_destroy): Added gdk_pixbuf_destroy
4496 1999-07-16 Larry Ewing <lewing@gimp.org>
4498 * src/testpixbuf.c (expose_func): reverted the expose everything
4499 changes, I'm not sure why these went in.
4500 (config_func): bring this up to date with the new pixbuf_scale
4503 * src/gdk-pixbuf-io.c: added a couple of warnings to the module
4504 loading code so that poeple can diagnose problems better.
4506 * src/gdk-pixbuf.c (gdk_pixbux_scale): fix the borkedness, also it
4507 no longer allocates a new pixbuf, which make things nicer for the
4508 rest of the code. Unfortunately there is still a problem with
4509 scaling rgba images.
4511 1999-07-16 Mark Crichton <crichton@gimp.org>
4513 * src/testpixbuf.c (config_func): ConfigureEvent handler. This
4514 calls gdk_pixbuf_scale. However, something is not working.
4515 N.B.: current pixmap is now stored in user_data with a key of
4518 * src/gdk-pixbuf.c (gdk_pixbuf_scale): Implemented scaling function.
4519 Something is still borked, however.
4521 1999-07-15 Larry Ewing <lewing@gimp.org>
4523 * src/io-jpeg.c (image_load): add raph@gimp.org's fix to the jpeg
4526 * src/testpixbuf.c (main): fix up the file routines a little so
4527 that you can load multiple files given the file names
4529 1999-07-14 Larry Ewing <lewing@gimp.org>
4531 * src/testpixbuf.c (expose_func): added an almost proper expose
4532 handler for testpixbuf
4534 1999-07-13 Mark Crichton <crichton@gimp.org>
4536 * configure.in: Fixed GIF check. Replaced " with '
4537 * src/gdk-pixbuf.c: More (minor) work on gdk_pixbuf_scale
4539 1999-07-13 Mark Crichton <crichton@gimp.org>
4541 * configure.in: I am a bonehead. Added gif-lib check.