]> Pileus Git - ~andy/gtk/blob - gdk-pixbuf/ChangeLog
Check for stack overflow throughout. (#91808, Elliot Lee)
[~andy/gtk] / gdk-pixbuf / ChangeLog
1 2002-10-23  Matthias Clasen  <maclas@gmx.de>
2
3         * io-gif.c (lzw_read_byte): Check for stack overflow throughout.
4         (#91808, Elliot Lee)
5
6 2002-10-21  Matthias Clasen  <maclas@gmx.de>
7
8         Support the Netscape application extension for gif animations 
9         (#95060):
10         
11         * io-gif-animation.h: 
12         * io-gif-animation.c (gdk_pixbuf_gif_anim_iter_advance): 
13         Add loop count to GdkPixbufGifAnim and use it in the advance
14         method of GdkPixbufGifAnimIter.
15         
16         * io-gif.c (gif_get_extension): Parse Netscape application
17         extension block and set the animation loop count. 
18
19 2002-10-11  Matthias Clasen  <maclas@gmx.de>
20
21         * gdk-pixbuf-loader.c (gdk_pixbuf_loader_get_format): Remove
22         unused variable.
23
24         * gdk-pixbuf-io.h: Remove unused typedef 
25         GdkPixbufModuleGetSignatureFunc.
26
27 2002-10-04  jacob berkman  <jacob@ximian.com>
28
29         * queryloaders.c (query_module): make legal C
30
31 2002-10-04  Matthias Clasen  <maclas@gmx.de>
32
33         * Makefile.am gdk-pixbuf-animation.c gdk-pixbuf-data.c 
34         gdk-pixbuf-io.c gdk-pixbuf-io.h gdk-pixbuf-loader.c 
35         gdk-pixbuf-loader.h gdk-pixbuf-private.h gdk-pixbuf.h 
36         gdk-pixdata.c io-ani-animation.h io-ani.c io-bmp.c 
37         io-gif-animation.c io-gif-animation.h io-gif.c io-ico.c 
38         io-jpeg.c io-png.c io-pnm.c io-ras.c io-tga.c io-tiff.c 
39         io-wbmp.c io-xbm.c io-xpm.c pixbufloader_ani.def 
40         pixbufloader_bmp.def pixbufloader_gif.def pixbufloader_ico.def 
41         pixbufloader_jpeg.def pixbufloader_png.def 
42         pixbufloader_pnm.def pixbufloader_ras.def pixbufloader_tga.def 
43         pixbufloader_tiff.def pixbufloader_wbmp.def 
44         pixbufloader_xbm.def pixbufloader_xpm.def test-gdk-pixbuf.c 
45         gdk-pixbuf-animation.h queryloaders.c: Support for separately
46         installed loaders.  (#77486)
47
48 Thu Oct  3 18:25:57 2002  Owen Taylor  <otaylor@redhat.com>
49
50         * io-jpeg.c (gdk_pixbuf__jpeg_image_save): 
51         Fix memory leak. (#94399)
52
53 Tue Oct  1 17:35:43 2002  Owen Taylor  <otaylor@redhat.com>
54
55         * gdkpixdata.c: Patch from Andy Wingo to always 
56         escape ? to avoid accidentally generating trigraphs
57         in the output (#94631)
58
59 2002-09-28  Tor Lillqvist  <tml@iki.fi>
60
61         * pixops/*.S: Don't use .type on Cygwin, either (#91597, Masahiro
62         Sakai).
63
64 2002-09-27  Federico Mena Quintero  <federico@ximian.com>
65
66         * io-ico.c (gdk_pixbuf__ico_image_begin_load): Free the context if
67         we cannot allocate the HeaderBuf.
68
69 2002-09-27  Federico Mena Quintero  <federico@ximian.com>
70
71         * io-bmp.c (OneLine): Fix the update region notification to handle
72         top-to-bottom and bottom-to-top BMPs correctly.
73
74 2002-09-19  Matthias Clasen  <maclas@gmx.de>
75
76         * Revert the previous change; the symbols need to be exported 
77         to be usable from dlopened modules.
78         
79 2002-09-18  Matthias Clasen  <maclas@gmx.de>
80
81         * io-xpm.c, io-xbm.c, io-ico.c, io-ani.c, io-png.c,
82         gdk-pixbuf.c, gdk-pixbuf-animation.c, gdk-pixbuf-loader.c,
83         gdk-pixbuf-private.h: _-prefix gdk_pixbuf_non_anim_new and
84         gdk_pixbuf_set_option. Adjust all callers. 
85
86 2002-09-14  Hans Breuer  <hans@breuer.org>
87
88         * pixops/Makefile.am : added makefile.msc to EXTRA_DIST
89
90 2002-09-12  Matthias Clasen  <maclas@gmx.de>
91
92         * io-gif-animation.h: 
93         * gdk-pixbuf.h: Move GdkPixbufFrame from the public header to
94         the gif-animation-specific private header.  (#91929)
95
96 2002-09-12  Federico Mena Quintero  <federico@ximian.com>
97
98         * io-jpeg.c (gdk_pixbuf__jpeg_image_load): Unref the pixbuf if we
99         hit an unsupported colorspace.
100
101 2002-09-06  Matthias Clasen  <maclas@gmx.de>
102
103         * io-ani.c, io-ani-animation.h, io-ani-animation.c, 
104         pixbufloader_ani.def, Makefile.am, gdk-pixbuf-io.c: New loader,
105         for .ANI animations.
106         
107         * io-xpm.c (pixbuf_create_from_xpm): 
108         * io-xbm.c (gdk_pixbuf__xbm_image_load_real): 
109         * io-ico.c (DecodeHeader): Attach hotspot coordinates to the
110         pixbuf as options "x_hot" and "y_hot". 
111
112 2002-09-04  Matthias Clasen  <maclas@gmx.de>
113
114         * io-tga.c (io_buffer_append): 
115         * io-ico.c (DecodeHeader): 
116         * io-bmp.c (grow_buffer): Don't leak memory if g_try_realloc fails.
117
118         * gdk-pixbuf-io.c (pixbuf_check_ico): Fix loading of .CUR files.
119         (#91826)
120
121 2002-08-25  Tor Lillqvist  <tml@iki.fi>
122
123         * Makefile.am (libgdk_pixbuf_2_0_la_DEPENDENCIES): Add
124         gdk_pixbuf_win32res_lo. (#87101, J. Ali Harlow)
125
126 2002-08-22  Matthias Clasen  <maclas@gmx.de>
127
128         * gdk-pixbuf-io.h:
129         gdk-pixbuf-io.c (_gdk_pixbuf_generic_image_load): No longer
130         static, thus _gdk_pixbuf-prefixed.
131
132         * gdk-pixbuf-animation.c (gdk_pixbuf_animation_new_from_file): 
133         Keep this logic in sync with gdk_pixbuf_new_from_file().  (Based
134         on a patch by Anders Carlsson)
135
136         * io-png.c (gdk_pixbuf__png_image_save): Plug a memory 
137         leak.  (#91422, Sven Neumann)
138
139 2002-07-31  Sven Neumann  <sven@gimp.org>
140
141         * gdk-pixdata.c (gdk_pixdata_to_csource): free the result of
142         gdk_pixdata_serialize() (bug #89411).
143
144 Mon Jul 29 23:06:10 2002  Owen Taylor  <otaylor@redhat.com>
145
146         * gdk-pixbuf-scale.c: Fix some warnings by adding
147         casts to PixopsInterpType. (#85839, David L. Cooper, II.)
148
149 2002-07-16  Matthias Clasen  <maclas@gmx.de>
150
151         * io-ras.c (DoCompressed): Avoid unnecessary casting.
152
153 2002-07-07  Matthias Clasen  <maclas@gmx.de>
154
155         * gdk-pixbuf-io.c (generic_image_load): New function for loading
156         an image from a file either via module->load or incrementally.
157         (prepared_notify): ModulePreparedNotifyFunc for generic_image_load.
158         (gdk_pixbuf_new_from_file): Use generic_image_load.
159         * io-bmp.c, io-ico.c, io-ras.c, io-wbmp.c: Remove trivial
160         implementations of module->load.  (#71266)
161         
162         * io-ico.c (DecodeHeader): Correct computation of image height.
163         (OneLine): Correct update notification.
164
165         Load-at-size functionality  (#53726): 
166         
167         * gdk-pixbuf-io.h (ModuleSizeFunc): New. 
168         (_GdkPixbufModule): Prepend a ModuleSizeFunc to the 
169         begin_load arguments. Adjust all modules.
170         * gdk-pixbuf-loader.c (struct GdkPixbufLoaderPrivate): Add
171         fields width, height, size_fixed, need_scale.
172         (gdk_pixbuf_loader_class_init): Add size_prepared signal.
173         (gdk_pixbuf_loader_set_size): New function.
174         (gdk_pixbuf_loader_size_func): ModuleSizeFunc which gets
175         passed to the module, emits size_prepared.
176         (gdk_pixbuf_loader_prepare): Call gdk_pixbuf_loader_size_func
177         if necessary, only emit area_prepared if no separate scaling
178         is required.
179         (gdk_pixbuf_loader_update): Only emit area_updated if no 
180         separate scaling is required.
181         (gdk_pixbuf_loader_load_module): Add size_func as first argument.
182         (gdk_pixbuf_loader_close): If necessary scale the image
183         to the desired size and emit area_prepared and area_updated.
184         * gdk-pixbuf-loader.h (struct _GdkPixbufLoaderClass): Add
185         size_prepared signal.
186         (gdk_pixbuf_loader_set_size) New API.
187         * gdk-pixbuf-marshal.list: Add VOID:INT,INT.
188         * io-jpeg.c: User cinfo->output_width/height instead of 
189         cinfo->image_width/height throughout when adressing the pixbuf.
190         (gdk_pixbuf__jpeg_image_load_increment): Call size_func, and
191         find the nearest possible output size which libjpeg can produce
192         that is still larger than the desired size.
193         
194 2002-07-06  Matthias Clasen  <maclas@gmx.de>
195
196         * io-tiff.c (tiff_set_error): Handle global_error == NULL
197         better.
198         (tiff_image_parse): Don't trust TIFFRGBAImageBegin to set
199         the "put" routine.  (Fixes #87384)
200         (gdk_pixbuf__tiff_image_stop_load): Don't call TIFFClose too 
201         early.
202
203 2002-07-02  Matthias Clasen  <maclas@gmx.de>
204
205         Miscellaneous bmp loader fixes (#85448, #86286, #86287):
206         
207         * io-bmp.c (grow_buffer): New function to avoid crashes
208         on unchecked reallocs. 
209         (DecodeHeader, DecodeColormap, decode_bitmasks,
210         DoCompressed): Use grow_buffer instead of g_realloc 
211         throughout. Change signatures where necessary to pass the
212         errors up.
213         (OneLine16): Fix loading of 16bpp BI_RGB bmps. 
214         (DoCompressed): Rewritten to properly support BI_RLE4 and
215         skips and jumps.
216
217         Support for compressed ras images (#84994):
218         
219         * io-ras.c (RAS2State): Error on unsupported ras variations.
220         (OneLine8): Fix colormap indexing.
221         (OneLine): Call updated_func with proper region.
222         (DoCompressed): New function, handles compressed ras data.
223         (gdk_pixbuf__ras_image_load_increment): Handle compressed ras
224         images.
225
226         Better colorspace support for the jpeg loader (#61211):
227         
228         * io-jpeg.c (convert_cmyk_to_rgb): New function.
229         (gdk_pixbuf__jpeg_image_load,
230         gdk_pixbuf__jpeg_image_load_increment): Allocate a pixbuf with
231         alpha for 4-channel jpegs and call convert_cmyk_to_rgb for these.
232
233         All of this needs to be merged to GNOME 1.4 gdk-pixbuf.
234         
235 2002-06-28  Sven Neumann  <sven@gimp.org>
236
237         * gdk-pixbuf-csource.c (print_blurb): converted a Tab to spaces.
238
239 Thu Jun 13 18:11:11 2002  Owen Taylor  <otaylor@redhat.com>
240
241         * pixops/pixops.c: Fix problem where when no alpha was
242         involved, we scaled rather than composited, but then
243         went ahead and composited anyways. (#76958, Patch
244         from Matthias Clasen). Needs to be merged to GNOME
245         1.4 gdk-pixbuf.
246
247 2002-06-13  Matthias Clasen  <maclas@gmx.de>
248
249         * io-jpeg.c: Use libjpeg in buffered-image mode in order to
250         incrementally display incrementally loaded progressive jpegs.
251
252 2002-06-07  Federico Mena Quintero  <federico@ximian.com>
253
254         * io-bmp.c (lsb_32):
255         (lsb_16): New functions to fetch 32 or 16-bit little-endian values
256         starting at a specific memory location.  We do this instead of
257         GINT32_FROM_LE() as the latter is simply dereferences a cast,
258         which doesn't work on platforms with alignment requirements.
259         Fixes #84083.
260
261 2002-06-01  Matthias Clasen  <maclas@gmx.de>
262
263         * gdk-pixbuf-io.c (pixbuf_check_xbm): Accept xbms starting
264         with a C comment - those seem to be not uncommon, e.g. the Gimp 
265         produces them.  (#82706)
266
267         * io-xbm.c (read_bitmap_file_data): Don't leak memory on certain
268         invalid inputs.
269         (gdk_pixbuf__xbm_image_load_real): Don't leak memory on valid inputs.
270
271 2002-05-22  Tor Lillqvist  <tml@iki.fi>
272
273         * gdk-pixbuf-io.c (get_libdir): Use GTK_BINARY_VERSION (and not
274         GTK_VERSION) in the path to the loaders on Win32, too.
275
276         * Makefile.am: Pass GTK_BINARY_VERSION.
277
278 2002-05-22  Federico Mena Quintero  <federico@ximian.com>
279
280         * io-xpm.c (pixbuf_create_from_xpm): Ahem, take the rowstride into
281         account!!!  Fixes #82515.
282
283         [This bug is not present in the GNOME 1.4 branch as its XPM loader
284         does not use gdk_pixbuf_new(); rather it malloc()s a buffer with
285         no row padding and then uses gdk_pixbuf_new_from_data() on it.]
286
287         [IMPORTANT: The comment above is to make my life easier when
288         merging stuff across branches.  If you make changes to gdk-pixbuf
289         in either branch, please include a comment in the ChangeLog that
290         indicates whether this should be merged into the other branch.
291         Thanks!]
292
293 2002-05-18  Matthias Clasen  <maclas@gmx.de>
294
295         * io-tiff.c (tiff_image_parse): fix packing order on bigendian 
296         systems.  (#81702)
297
298 Thu May 16 15:17:30 2002  Owen Taylor  <otaylor@redhat.com>
299
300         * pixops/pixops.c: Patch from Matthias Clasen to fix some typos 
301         (#77246)
302
303 Thu May 16 15:02:46 2002  Owen Taylor  <otaylor@redhat.com>
304
305         * gdk-pixdata.c (gdk_pixdata_to_csource): Fix 64-bit warning.
306         (#78258)
307
308 2002-05-07  Michael Natterer  <mitch@gimp.org>
309
310         * gdk-pixbuf/Makefile.am: build the static pixbuf loaders
311         conditionally like the dynamic ones so --without-lib<foo> is
312         honored when building with --disable-modules. (#66867)
313
314 Sun May  5 02:27:01 2002  Soeren Sandmann  <sandmann@daimi.au.dk>
315
316         * Makefile.am (noinst_PROGRAMS): remove test-loaders (moved to
317         gtk+/tests/)
318         * test-loaders.c, test-images.h: remove 
319
320 2002-04-24  Matthias Clasen  <maclas@gmx.de>
321
322         * gdk-pixbuf-io.c (gdk_pixbuf_save): Remove the ISO8859-1
323         restriction from the description of png tEXt parameters.
324
325         * io-png.c (png_text_to_pixbuf_option): 
326         (gdk_pixbuf__png_image_save): If libpng supports it,
327         store and retrieve non-ISO8859-1 text as UTF-8.  (#76172)
328
329 2002-04-11  Matthias Clasen  <maclas@gmx.de>
330
331         More fixes for #77807:
332         
333         * io-tga.c (get_contiguous_pixbuf): Helper function to create
334         a pixbuf with a contiguous pixel array while being careful about
335         overflow. 
336
337         * io-tga.c (fill_in_context, get_image_pseudocolor,
338         get_image_truecolor, get_image_grayscale): Use 
339         get_contiguous_pixbuf instead of manually allocating image
340         storage. 
341
342         * io-xpm.c (pixbuf_create_from_xpm): 
343         * io-pnm.c (gdk_pixbuf__pnm_image_load):
344         * io-jpeg.c (gdk_pixbuf__jpeg_image_load): Use gdk_pixbuf_new
345         instead of manually allocating image storage.
346
347 2002-04-09  Matthias Clasen  <maclas@gmx.de>
348
349         * gdk-pixbuf-loader.c (gdk_pixbuf_loader_load_module): Use 
350         priv->image_module->module_name instead of image_type which may 
351         be NULL.
352
353 2002-04-06  Matthias Clasen  <maclas@gmx.de>
354
355         * io-png.c (gdk_pixbuf__png_image_load): Restructured to use
356         gdk_pixbuf_new instead of manually allocating image storage. This
357         gives us a good rowstride and overflow checks.  (#77807)
358
359 2002-04-05  Matthias Clasen  <maclas@gmx.de>
360
361         * io-tiff.c (tiff_image_parse): Avoid allocating an extra copy of
362         the image by using a TIFFRGBAImage{Begin,Get,End} with suitable
363         put functions instead of TIFFRGBAImage. And check image dimensions
364         for overflow. 
365
366 2002-04-03  Matthias Clasen  <maclas@gmx.de>
367
368         * gdk-pixbuf-loader.c (gdk_pixbuf_loader_get_type): Fix a doc typo.
369
370 2002-03-29  Matthias Clasen  <maclas@gmx.de>
371
372         * io-png.c (png_simple_error_callback): libpng error handlers must
373         not return to their callers, thus longjmp out. This prevents
374         annoying stderr output from the default error handler.
375
376 2002-03-27  Matthias Clasen  <maclas@gmx.de>
377
378         * io-png.c (gdk_pixbuf__png_image_stop_load): Don't leak info_ptr.
379
380         * io-png.c (gdk_pixbuf__png_image_load): Get rid of unused
381         end_info. Also call png_read_end to check proper ending of the png
382         file and catch text chunks after the image data.
383
384 2002-03-27  Matthias Clasen  <maclas@gmx.de>
385
386         * io-png.c (gdk_pixbuf__png_image_load,
387         gdk_pixbuf__png_image_begin_load): Make libpng use g_malloc
388         instead of system malloc. 
389
390 2002-03-26  Matthias Clasen  <maclas@gmx.de>
391
392         * io-tiff.c (tiff_image_parse): Don't leak pixbuf on error.
393
394         * io-gif.c (gdk_pixbuf__gif_image_load_increment): Don't leak
395         context->buf on error.
396
397         * gdk-pixbuf-loader.c (gdk_pixbuf_loader_close): Make sure to call
398         stop_load even for short images to prevent memleaks.
399
400 2002-03-25  Matthias Clasen  <maclas@gmx.de>
401
402         * io-png.c (setup_png_transformations): Changed signature to
403         return success and set a GError parameter, adjusted all callers.
404         Also work around a possible FPE in libpng and always check that
405         the new info is sane.
406
407 2002-03-23  Matthias Clasen  <maclas@gmx.de>
408
409         * io-wbmp.c (gdk_pixbuf__wbmp_image_load_increment):
410         context->updated_func is NULL during a nonincremental load.
411         (gdk_pixbuf__wbmp_image_load): Stop reading after the first error.
412
413 2002-03-18  Matthias Clasen  <maclas@gmx.de>
414
415         * io-tga.c: Fix assumptions on rowstride by manually allocating a
416         contiguous pixel buffer. Catch buffer overruns in RLE-modi. 
417         Support grayscale + alpha (which can be written, but not read (!)
418         by the Gimp). 
419
420 2002-03-15  Matthias Clasen  <maclas@gmx.de>
421
422         * io-gif.c (gif_get_frame_info): Catch invalid frame dimensions.
423
424 2002-03-13  Matthias Clasen  <maclas@gmx.de>
425
426         * test-images.h: Add valid_ras_test and invalid_bmp_1.
427
428         * test-loaders.c (main): Add random tests for ras and pnm and an
429         invalid bmp which was a crasher until my 2002-03-12 commit.
430
431         * io-pnm.c (gdk_pixbuf__pnm_image_load_increment): Don't unref the
432         pixbuf on errors.
433
434         * io-ras.c: Handle some errors.
435
436 2002-03-12  Sven Neumann  <sven@gimp.org>
437
438         * gdk-pixbuf.c (gdk_pixbuf_fill): use sequential writes instead of
439         calling memcpy(). Simpler and potentially faster. (#70332)
440
441 2002-03-12  Matthias Clasen  <maclas@gmx.de>
442
443         * io-bmp.c (DecodeHeader): Replace a g_assert_not_reached ()
444         which could actually be reached by a proper error status return.
445
446 2002-03-05  Matthias Clasen  <maclas@gmx.de>
447
448         * test-loaders.c, test-images.h: More random tests. 
449
450         * io-bmp.c (DecodeHeader): Fail gracefully on OOM here.
451
452 Tue Mar  5 10:39:03 2002  Owen Taylor  <otaylor@redhat.com>
453
454         * Makefile.am (loaderdir): Put the modules into the
455         GTK_BINARY_VERSION directory for consistency with
456         immodules and theme engines.
457
458 Sat Mar  2 22:11:10 2002  Owen Taylor  <otaylor@redhat.com>
459
460         * gdk-pixbuf-io.c (_gdk_pixbuf_load_module): If we
461         can't load the module using the g_module_build_path()
462         filename, try loading it as a .la file.
463
464         * test-loaders.c: Look for modules in current directory
465         rather than .libs, so we find the right .la files.
466
467         * test-loaders.c: Back out some accidental commits.
468
469 Sat Mar  2 21:28:03 2002  Owen Taylor  <otaylor@redhat.com>
470
471         * gdk-pixbuf.c (gdk_pixbuf_new): Bullet-proof against integer
472         overflow.
473
474 2002-03-03  Tor Lillqvist  <tml@iki.fi>
475
476         * gtk-pixbuf.rc.in: Remove.
477
478         * gdk_pixbuf.rc.in: Name like this instead (wrong name used by
479         mistake by Hans).
480
481         * makefile.msc: Corresponding changes.
482
483         * Makefile.am: Use gdk_pixbuf.rc on Win32. Distribute it.
484
485 2002-02-28  Matthias Clasen  <maclas@gmx.de>
486
487         * pixops/pixops.c (tile_make_weights): Move the call to
488         correct_total() to the right spot. (#72732)
489
490 Wed Feb 27 18:33:04 2002  Owen Taylor  <otaylor@redhat.com>
491
492         * gdk-pixdata.c (gdk_pixdata_to_csource): Use {} not
493         () to group around string assigned to char[]. (#72767,
494         Tomas Ã–gren)
495
496 2002-02-21  Havoc Pennington  <hp@pobox.com>
497
498         * gdk-pixbuf-loader.c (gdk_pixbuf_loader_load_module): remove
499         C++-commented debug spew, reported by David L. Cooper
500
501 2002-02-15  Matthias Clasen  <maclas@gmx.de>
502
503         * pixops/pixops.c (correct_total): New function to make sure
504         that the weights sum up to the correct total without introducing
505         negative weights.
506         (tile_make_weights, bilinear_make_fast_weights, 
507         bilinear_make_weights): Use correct_total.
508
509 2002-02-10  Matthias Clasen  <maclas@gmx.de>
510
511         * test-images.h (tiff1_test_3), test-loaders.c (main): Add a
512         (#ifdef 0'ed) test provoking a segfault in TIFFReadDirectory(). 
513         
514         * io-ico.c (DecodeHeader): Check that pixbuf could be allocated.
515
516         * test-images.h (ico_test_2), test-loaders.c (main): Test the 
517         previous change.
518
519         * io-wbmp.c (gdk_pixbuf__wbmp_image_load_increment): Don't write 
520         beyond the end of buffer if width % 8 != 0.
521
522         * io-tga.c (try_preload): Enforce that ctx->hdr->type is one of
523         the supported types, otherwise parse_data_for_row () will not make
524         any progress, leading to an infinite loop.
525
526 Mon Feb 11 14:31:53 2002  Owen Taylor  <otaylor@redhat.com>
527
528         * pixops/pixops.c (bilinear_make_weights): Fix handing of
529         overall alpha.
530
531 2002-02-10  Matthias Clasen  <maclas@gmx.de>
532
533         * test-loaders.c (main): Enable some tests which should work
534         now.
535
536         * io-wbmp.c (gdk_pixbuf__wbmp_image_load_increment): Detect
537         invalid image dimensions and insufficient memory.
538
539         * io-tga.c (try_preload): Detect invalid image dimensions.
540         (gdk_pixbuf__tga_stop_load): Don't try to unref NULL pointers.
541
542         * io-ico.c (DecodeHeader): Detect some invalid headers and
543         don't segfault.
544
545 Fri Feb  8 23:11:15 2002  Owen Taylor  <otaylor@redhat.com>
546
547         * pixops/pixops.c: Force all weight arrays to sum exactly
548         to 65535. (Fixes #70971, reported by Federico Mena Quintero)
549
550         * Makefile.am (libgdk_pixbuf_1_3_la_DEPENDENCIES): Add
551         libpixops.la.
552
553 2002-02-08  Federico Mena Quintero  <federico@ximian.com>
554
555         * pixops/pixops.h: Fix comment; PixopsInterpType -> GdkInterpType.
556
557 2002-02-08  Darin Adler  <darin@bentspoon.com>
558
559         * io-xbm.c: (next_int): Wean this from <ctype.h>.
560
561 2002-02-01  Matthias Clasen  <matthiasc@poet.de>
562
563         * Makefile.am: Build the tga loader as a static library. (#70157)
564
565         * io-ico.c: Merge 16- and 32-bit ico support from the stable 
566         branch.  (#61179)
567
568         * io-gif.c: Recomposite all images if the animation size changes
569         while loading.  (#70055)
570
571         * gdk-pixbuf.c (gdk-pixbuf-fill): Make it work for subpixbufs. 
572         (#70055)
573
574 Sat Jan 19 20:49:20 2002  Manish Singh  <yosh@gimp.org>
575
576         * io-jpeg.c, io-png.c: Made sure all the error cases involving
577         jpeg or png load/saves clean themselves up properly. Marked some
578         variables needed for cleanup volatile so they aren't clobbered by
579         setjmp.
580
581 Fri Jan 11 18:05:07 2002  Owen Taylor  <otaylor@redhat.com>
582
583         * pixops/pixops.c: Fix integer overflow for the values
584         passed to the pixel functions. (#55148, fix from Michael Hore)
585
586 Fri Jan 11 17:53:58 2002  Owen Taylor  <otaylor@redhat.com>
587
588         * pixops/pixops.c (pixops_scale_nearest): Remove meaningless
589         FIXME.
590
591         * pixops/pixops.c (pixops_process): Comment the computation
592         of run_end_index and fix some edge cases.
593
594         * pixops/{scale_line_22_33_mmx.S, composite_line_22_4a4_mmx.S:
595         composite_line_color_22_4a4_mmx.S}: Handle the case where
596         dest <= dest_end properly. (#52001, fix from Michael Hore)
597
598 Thu Jan 10 16:48:30 2002  Owen Taylor  <otaylor@redhat.com>
599
600         * pixops/pixops.c: Replace some hardcoded values with the 
601         SUBSAMPLE constant used elsewhere. (#51033)
602
603 Wed Jan  9 11:29:44 2002  Owen Taylor  <otaylor@redhat.com>
604
605         * Makefile.am (s-enum-types-h): Include glib-object.h,
606         Add G_BEGIN_DECLS/END_DECLS to gdk-pixbuf-enum-types.h. (#68325,
607         Mikael Hermansson)
608
609         * *.h: G_BEGIN_DECLS cleanups.
610
611 Tue Jan  8 10:58:04 2002  Owen Taylor  <otaylor@redhat.com>
612
613         * gdk-pixbuf-util.c (gdk_pixbuf_saturate_and_pixelate): 
614          - Massive cleanup, make actually legible. 
615          - Fix some clamp-to-range bugs found by Jim Cape (#68231). 
616          - Add a g_return_if_fail() if src and dest alpha don't match.
617          - Allow for src_rowstride != dest_rowstride.
618
619 2002-01-04  Hans Breuer  <hans@breuer.org>
620
621         * gdk_pixbuf.def : don't export functions prefixed
622         with underscore
623
624         * makefile.msc : use -FImsvc_recommende_pragmas.h
625
626 Thu Jan  3 19:31:58 2002  Owen Taylor  <otaylor@redhat.com>
627
628         * pixops/pixops.c (scale_line_22_33): Fix and uncomment
629         non-MMX version.
630
631         * pixops/pixops.c (pixops_composite_nearest): Remove a
632         division.
633
634         * pixops/pixops.c (pixops_composite): Add some docs
635         about the parameters.
636
637         * pixops/README: Add notes about the correct algorithms
638         for alpha compositing and how to implement them quickly.
639
640 2001-12-29  Tor Lillqvist  <tml@iki.fi>
641
642         * Makefile.am (EXTRA_DIST): Add makefile.msc.
643
644 Sat Dec 22 15:31:20 2001  Owen Taylor  <otaylor@redhat.com>
645
646         * gdk-pixdata.h: Fix trailing "," in enumeration.
647
648 2001-12-17  Matthias Clasen  <matthiasc@poet.de> 
649
650         * gdk-pixbuf.c, gdk-pixbuf-io.c, gdk-pixbuf-animation.c, 
651         gdk-pixbuf-data.c, gdk-pixbuf-loader.c, gdk-pixbuf-scale.c, 
652         gdk-pixbuf-util.c, gdk-pixdata.c: Markup fixes.
653
654 2001-12-16  Havoc Pennington  <hp@pobox.com>
655
656         * gdk-pixbuf-scale.c: docs enhancements
657
658 2001-12-14  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
659
660         * io-xpm.c: Use g_ascii_strcasecmp() instead of g_strcasecmp().
661
662 2001-12-13  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
663
664         * gdk-pixbuf-animation.c, gdk-pixbuf-loader.c, gdk-pixpuf.c,
665         io-gif-animation.c, io-gif.c, io-tiff.c, test-loaders.c: Remove
666         assorted G_OBJECT casts where unnecessary.
667
668         * gdk-pixbuf-loader.c: Call g_object_ref and g_object_unref
669         instead of gdk_pixbuf_animation_ref and gdk_pixbuf_animation_unref
670         resp.
671
672         * gdk-pixbuf-csource.c, io-bmp.c, io-gif-animation.c, io-ico.c,
673         io-jpeg.c, io-png.c, io-pnm.c, io-ras.c, io-tga.c, io-wbmp.c,
674         io-xbm.c, io-xpm.c, test-gdk-pixbuf.c: Dito for gdk_pixbuf_ref and
675         gdk_pixbuf_unref.
676         
677         * Makefile.am, pixops/Makefile.am: Compile everything with
678         -DG_DISABLE_DEPRECATED -DGDK_PIXBUF_DISABLE_DEPRECATED
679
680         * gdk-pixdata.c: Use g_ascii_strup() instead of g_strup().
681
682         * io-xpm.c: Use g_ascii_strcasecmp() instead of g_strcasecmp().
683
684 2001-12-12  Matthias Clasen  <matthiasc@poet.de>
685
686         * gdk-pixbuf-io.c: Markup fixes.
687
688 2001-12-12  Matthias Clasen  <matthiasc@poet.de>
689
690         * Makefile.am (INCLUDES): Define G_LOG_DOMAIN. (#66412)
691
692         * gdk-pixbuf-loader.c, gdk-pixbuf-util.c: Markup fixes.
693
694 2001-12-11  Michael Natterer  <mitch@gimp.org>
695
696         * io-png.c: gdk_pixbuf__png_image_save: removed wrong endian
697         conversion stuff; don't copy RGB pixbufs' lines around before
698         saving them.
699
700 2001-12-05  Matthias Clasen  <matthiasc@poet.de>
701
702         * gdk-pixbuf.h (gdk_pixbuf_ref, gdk_pixbuf_unref,
703         gdk_pixbuf_animation_ref, gdk_pixbuf_animation_unref):
704         Deprecate. (#66208)
705
706 Tue Dec  4 11:45:45 2001  Owen Taylor  <otaylor@redhat.com>
707
708         * io-xpm.c (pixbuf_create_from_xpm): Fill in color 
709         fields to black for transparent colors since we'll
710         later initialize pixels from them. (Fixes purify
711         errors, #66093, HideToshi Tajima)
712
713 2001-11-30  Tor Lillqvist  <tml@iki.fi>
714
715         * gdk_pixbuf.def: Add gdk_pixbuf_get_option.
716
717 Fri Nov 30 15:55:34 2001  Owen Taylor  <otaylor@redhat.com>
718
719         * gdk-pixdata.c (gdk_pixdata_deserialize): Fix
720         alignment problem in deserialization, (#65785,
721         reported by Hidetoshi Tajima)
722
723 2001-11-28  Manish Singh  <yosh@gimp.org>
724
725         * gdk-pixbuf/io-bmp.c (gdk_pixbuf__bmp_image_load_increment): Fill
726         in missing error parameters to DecodeHeader and DecodeColormap.
727
728 2001-11-21  Federico Mena Quintero  <federico@ximian.com>
729
730         Fix Ximian bug #12125; merged from gdk-pixbuf stable.
731
732         * gdk-pixbuf/io-bmp.c (gdk_pixbuf__bmp_image_load_increment): Use
733         a simple state machine instead of a scary if/else chain.
734         (DecodeHeader): Set the reading state.
735         (DecodeColormap): Set the reading state.
736         (decode_bitmasks): New function, decodes the bitmasks for
737         BI_BITFIELDS coding.
738         (OneLine32): Handle BI_BITFIELDS coding.
739         (OneLine16): Likewise.
740
741 2001-11-18  Hans Breuer  <hans@breuer.org>
742
743         * io-xpm.c : use g_strcasecmp(), some poor platforms
744         don't have strcasecmp()
745
746         * makefile.msc : do INCLUDE_png etc. definition here to avoid
747         my temporary 'gdk-pixbuf-io-include.h' hack
748
749 Sun Nov 18 07:54:22 2001  Owen Taylor  <otaylor@redhat.com>
750
751         * gdk-pixbuf-loader.c: Remove include of gobject/signal.h.
752
753 2001-11-03  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
754
755         * gdk-pixbuf-loader.c, gdk-pixbuf-scale.c: Documentation fixes.
756
757 2001-10-29  Tor Lillqvist  <tml@iki.fi>
758
759         * Makefile.am: Use -no-undefined on Win32. Make
760         libgdk_pixbuf_1_3_la_OBJECTS depend on
761         gdk-pixbuf-marshal.c. Install import libraries.
762
763         * gdk_pixbuf.def: Update.
764
765         * gdk-pixbuf-io.c: (Win32) Use G_WIN32_DLLMAIN_FOR_DLL_NAME, saves
766         the actual DLL name of libgdk_pixbuf.
767         (get_libdir): Use it instead of guessing.
768
769         * io-xbm.c (gdk_pixbuf__xbm_image_begin_load): Use
770         g_file_open_tmp() insread of mkstemp().
771
772 2001-10-18  Matthias Clasen  <matthiasc@poet.de>
773
774         * io-xbm.c (gdk_pixbuf__xbm_image_load_real): Don't dereference
775         context when it may be NULL. (#62344)
776
777 2001-10-16  Matthias Clasen  <matthiasc@poet.de>
778
779         * gdk-pixdata.c, gdk-pixdata.h: Documentation.
780
781         * gdk-pixbuf-csource.1: Spelling fixes.
782
783 Wed Oct 10 11:52:17 2001  Owen Taylor  <otaylor@redhat.com>
784
785         * gdk-pixdata.c gdk-pixbuf.h: Get rid of 
786         GDK_PIXBUF_ERROR_HEADER/PIXEL_CORRUPT and use CORRUPT_IMAGE.
787         Get rid fo GD_PIXBUF_ERROR_UNKNOWN_FORMAT and use the
788         existing UKNOWN_TYPE error. (#58308)
789
790         * gdk-pixbuf.h, gdk-pixdata.c: Rename gdk_pixbuf_new_from_stream()
791         back to gdk_pixbuf_new_from_inline(). Rework docs to try
792         and be helpful for the common case. (#58308)
793
794 2001-10-05  Sven Neumann  <sven@gimp.org>
795
796         * gdk-pixbuf/gdk-pixbuf-io.c
797         * gdk-pixbuf/gdk-pixbuf-private.h
798         * gdk-pixbuf/gdk-pixbuf.c
799         * gdk-pixbuf/gdk-pixbuf.h
800         * gdk-pixbuf/io-jpeg.c
801         * gdk-pixbuf/io-png.c: changed GDK_PIXBUF_ERROR_BAD_OPTION_VALUE to
802         GDK_PIXBUF_ERROR_BAD_OPTION to we can use it for bad keys too. Added
803         new public API gdk_pixbuf_get_option() to retrieve key/value pairs
804         set by an image loader. Added support for saving and reading PNG tEXt 
805         chunks in PNG images.
806
807 Tue Oct  2 11:29:50 2001  Owen Taylor  <otaylor@redhat.com>
808
809         * gdk-pixdata.c (gdk_pixdata_to_csource): Fix indentation
810         use a macro to make code a bit more readable.
811
812 2001-10-02  Sven Neumann  <sven@gimp.org>
813
814         * gdk-pixdata.c: g_string_printfa => g_string_append_printf. 
815
816 Wed Sep 26 18:08:19 2001  Owen Taylor  <otaylor@redhat.com>
817
818         * Makefile.am (s-enum-types-h): Fix a typo in the include
819         guards. (#61254, Skip Montaro)
820
821 2001-09-21  Matthias Clasen  <matthiasc@poet.de>
822
823         * io-xpm.c (xpm_extract_color): Rewritten to handle
824         xpm colormap entries more thoroughly. (#59939)
825
826 2001-09-21  Hans Breuer  <hans@breuer.org>
827
828         * gdk-pixbuf.def : updated externals
829
830         * makefile.msc : generate gdk-pixbuf-enum-types.[hc]
831
832 Thu Sep 20 17:22:48 2001  Owen Taylor  <otaylor@redhat.com>
833
834         * io-tiff.c (gdk_pixbuf__tiff_image_load): On OSF, apparently fseek()
835         works in some on-demand way, so the fseek gdk_pixbuf_new_from_file() doesn't 
836         work here since we are using the raw file descriptor. So, we call lseek()
837         on the fileno(f) before using it. (#60840).
838
839 2001-09-20  James Henstridge  <james@daa.com.au>
840
841         * Makefile.am (gdk-pixbuf-enum-types.c): same change as in pango,
842         so that flags types are registered as flags rather than enums (not
843         that there are any flags here at the moment).
844
845 Wed Sep 19 00:28:24 2001  Owen Taylor  <otaylor@redhat.com>
846
847         * Makefile.am (gdk_pixbuf_headers): Don't include
848         gkd-pixbuf-features.h here since is in builddir
849         and confuses autogen rules.
850
851         * Makefile.am: Don't += variables before they have values,
852         automake-1.5 doesn't like it.
853
854         * Makefile.am: Fix srcdir != builddir for gdk-pixbuf-enum-types.c.
855
856         * Makefile.am: The whitespace strikes back.
857         
858 2001-09-17  Matt Wilson  <msw@redhat.com>
859
860         * Makefile.am (libpixbufloader_xbm_la_LDFLAGS): removed duplicate
861         LDFLAGS definition, use the -avoid-version one.
862         (libpixbufloader_tga_la_LDFLAGS): likewise
863
864 Mon Sep 17 11:49:02 2001  Owen Taylor  <otaylor@redhat.com>
865
866         * pixops/*: Mirror GdkInterpType to PixopsInterpType
867         to avoid including gdk-pixbuf headers.
868
869 2001-09-16  James Henstridge  <james@daa.com.au>
870
871         * .cvsignore: add generated files to ignore list.
872
873         * gdk-pixbuf.h: include gdk-pixbuf-enum-types.h
874
875         * Makefile.am: add rules to build gdk-pixbuf-enum-types.[ch]
876
877 Fri Sep 14 23:22:12 2001  Matthias Clasen  <matthiasc@poet.de>
878
879         * io-pnm.c (pnm_read_header): Use GDK_PIXBUF_ERROR_CORRUPT_IMAGE,
880         not GDK_PIXBUF_ERROR_HEADER_CORRUPT. (#58308)
881
882 Fri Sep 14 22:53:45 2001  Matthias Clasen  <matthiasc@poet.de>
883
884         * io-jpeg.c (gdk_pixbuf__jpeg_image_begin_load): Handle
885         out-of-memory situation better.
886
887         * io-pnm.c: Robustness fixes for pnm loader
888
889         * io-gif.c: Make gif loader survive TEST_RANDOMLY_MODIFY
890
891         * io-xpm.c (parse_color): detect very long color strings
892
893         All of the above from Matthias Clasen <matthiasc@poet.de>,
894         the remaining from Soeren Sandmann <sandmann@daimi.au.dk>.
895
896         * test-images.h: add tests:
897                 - four valid ppm's, eight invalid (matthiasc@poet.de)
898                 - one invalid xpm (matthiasc@poet.de)
899                 - one valid tga, one invalid (sandmann@daimi.au.dk)
900                 - one invalid tiff (sandmann@daimi.au.dk
901
902         * test-loaders.c: enable tests for ppm, png, gif, tga, tiff, xpm
903         
904         * io-tiff.c (gdk_pixbuf__tiff_image_stop_load): TIFFClientOpen can
905         fail - detect it when it happens
906
907         * io-tga.c (gdk_pixbuf__tga_load_increment): Fail if there is too
908         much data in file
909         
910         * gdk-pixbuf-io.c: moved wbmb check after ico check to avoid false
911         positives
912         
913 Fri Sep 14 00:30:48 2001  Tim Janik  <timj@gtk.org>
914
915         * Makefile.am: don't used BUILT_SOURCES to build marshal
916         files, as in conjunction with stamp files, this can
917         lead to endless rebuilding loops.
918
919 Tue Sep  4 00:22:07 2001  Owen Taylor  <otaylor@redhat.com>
920
921         * Makefile.am: Fix EXTRA_DIST for gdk-pixbuf-csource.1
922
923 Tue Sep  4 03:09:52 2001  Tim Janik  <timj@gtk.org>
924
925         * gdk-pixbuf-csource.1: new file, manual page for
926         the publically installed gdk-pixbuf-csource utility.
927
928 Thu Aug 30 08:30:03 2001  Matthias Clasen  <matthiasc@poet.de>
929
930         * gdk-pixbuf-loader.c (gdk_pixbuf_loader_close): Propagate
931         errors from gdk_pixbuf_loader_load_module.
932
933 Thu Aug 30 08:27:37 2001  Matthias Clasen  <matthiasc@poet.de>
934
935         * io-png.c (png_row_callback): Check that row_num is valid.
936
937 Tue Aug 28 21:05:26 2001  Matthias Clasen  <matthiasc@poet.de>
938
939         * io-bmp.c (OneLine): Emit area_updated signal with proper
940         area information. (#52002)
941
942 Tue Aug 28 20:03:43 2001  Matthias Clasen  <matthiasc@poet.de>
943
944         * test-loaders.c (test_loader): Catch errors at close time. 
945         * test-loaders.c (main): Remove C++ comments. 
946
947 2001-08-21  Matthias Clasen  <matthiasc@poet.de>
948
949         * Makefile.am, gdk-pixbuf-io.c, pixbufloader_tga.def, 
950         io-tga.c: Add tga loader, patch by Nicola Girardi. (#56067)
951
952 2001-08-20  Matthias Clasen  <matthiasc@poet.de>
953
954         * test-images.h, test-loaders.c: Add ico and wbmp tests.
955         * io-jpeg.c (gdk_pixbuf__jpeg_image_save): Fail with a suitable
956         error if buffer allocation fails.
957         * io-ico.c: Make .ICO loader more robust.
958         All of these are due to sandmann@daimi.au.dk (#50187)
959
960 2001-08-19  Sven Neumann  <sven@gimp.org>
961
962         * pixops/pixops.c: applied some simple but effective optimizations 
963         to pixops_composite_nearest() and pixops_composite_color_nearest().
964
965 2001-08-07  Sven Neumann  <sven@gimp.org>
966
967         * gdk-pixbuf.c (gdk_pixbuf_fill): a comment asked to optimize this
968         function, so that's what I did.
969
970 2001-08-06  Kjartan Maraas  <kmaraas@gnome.org>
971
972         * gdk-pixdata.c: Fix a typo.
973         
974 2001-07-30  Hans Breuer  <hans@breuer.org>
975
976         * pixops/makefile.msc : new file
977         * makefile.msc : use it to complete the build
978
979 2001-07-20  Hans Breuer  <hans@breuer.org>
980
981         * gdk-pixdata.c : don't 'g_tohl (*istream++)', but move
982         pointer increment out of the macro, because  at least one
983         compiler (msvc 5.0) gets confused otherwise (applies the
984         wrong increment).
985
986         * gdk_pixbuf.def : updated exports
987
988         * makefile.msc : reflect gdk-pixbuf-csource changes
989  
990 2001-07-17  Darin Adler  <darin@bentspoon.com>
991
992         * gdk-pixbuf-csource.c: Add missing <stdlib.h> include.
993         * io-png.c: (setup_png_transformations): Add ifdef so we compile
994         without warnings with G_DISABLE_CHECKS on.
995         * io-pnm.c: (gdk_pixbuf__pnm_image_load_increment): Add a missing
996         const.
997         * io-wbmp.c: (getin), (get_mbi): Add a missing const.
998         * io-xbm.c: (gdk_pixbuf__xbm_image_load_real): Get rid of some
999         unused locals and add an initial value to quiet the compiler's
1000         unintialized variable warning.
1001         * pixops/pixops.c: Put an ifdef around some dead code.
1002
1003 Thu Jul  5 10:17:15 2001  Owen Taylor  <otaylor@redhat.com>
1004
1005         * pixops/Makefile.am (noinst_LTLIBRARIES): Switch
1006         over to the new include flags AC_SUBST(). (Problem
1007         pointed out by Mikael Hermansson.)
1008
1009 2001-06-29  Havoc Pennington  <hp@redhat.com>
1010
1011         * gdk-pixbuf-loader.c (gdk_pixbuf_loader_class_init): fix for
1012         G_DISABLE_COMPAT
1013
1014 Thu Jun 28 21:54:19 2001  Owen Taylor  <otaylor@redhat.com>
1015
1016         * make-inline-pixbuf.c test-gdk-pixbuf.c test-loaders.c
1017         gdk-pixbuf-csource.c: Fix args to g_type_init ().
1018
1019 2001-06-28  Havoc Pennington  <hp@pobox.com>
1020
1021         * gdk-pixdata.c: <string.h>
1022
1023         * gdk-pixbuf-io.c (get_libdir): fix typo in dll name (aren't we
1024         also leaking memory here from g_strdup_printf?)
1025
1026 Tue Jun 26 09:48:02 2001  Tim Janik  <timj@gtk.org>
1027
1028         * Makefile.am (noinst_PROGRAMS): get rid of make-inline-pixbuf
1029
1030         * gdk-pixbuf-data.[hc]: provide gdk_pixbuf_new_from_stream()
1031         instead from gdk_pixbuf_new_from_inline().
1032
1033         * gdk-pixdata.[hc]: auxillary GdkPixdata structure, public
1034         installed API for applications that need to serialize/deserialize
1035         on their own (gimp, BEAST).
1036         
1037         * gdk-pixbuf/gdk-pixbuf-csource.c: provide publically installed
1038         program that can dump images in CSource format and Pixbuf
1039         stream format. supports RLE encoding, MACRO formatting etc...
1040         invoke with --help.
1041
1042 Mon Jun 25 00:28:11 2001  Owen Taylor  <otaylor@redhat.com>
1043
1044         * Makefile.am: Actually update timestamps, so rules don't
1045         constantly run.
1046
1047 2001-06-11  Havoc Pennington  <hp@redhat.com>
1048
1049         * Makefile.am (stamp-gdk-pixbuf-marshal.c): glib_genmarshal
1050         already includes top_builddir
1051
1052 2001-06-08  Havoc Pennington  <hp@redhat.com>
1053
1054         * gdk-pixbuf-loader.c (gdk_pixbuf_loader_load_module): remove
1055         bogus g_return_if_fail  
1056
1057         * io-gif.c (gif_get_lzw): if delay time is 0 or smaller than
1058         likely timeout resolution, set it to an arbitrarily-chosen short
1059         delay.
1060         Fixes bug #55953 from warmenhoven@yahoo.com
1061
1062 2001-06-07  Havoc Pennington  <hp@redhat.com>
1063
1064         * Makefile.am: use Owen's new way of doing stampfiles/generated
1065         sources
1066
1067 2001-06-07  Havoc Pennington  <hp@redhat.com>
1068
1069         * Makefile.am (gdk-pixbuf-marshal.c): fix up the glib-genmarshal path
1070
1071 2001-06-05  Havoc Pennington  <hp@redhat.com>
1072
1073         * test-loaders.c (main): use putenv not setenv, reported by 
1074          Armin Theissen
1075
1076 2001-05-08  Havoc Pennington  <hp@redhat.com>
1077
1078         * gdk-pixbuf-util.c (gdk_pixbuf_add_alpha): docs fixup, 
1079         and fix behavior to still subst color if the original image 
1080         had alpha
1081
1082 2001-06-04  Havoc Pennington  <hp@redhat.com>
1083
1084         * io-pnm.c (pnm_skip_whitespace): patch from Szekeres Istvan,
1085         bug #52560
1086
1087 2001-06-01  Havoc Pennington  <hp@redhat.com>
1088
1089         Apply patch from sandmann@daimi.au.dk, with some tweaks.
1090         Makes things a bit more robust, and adds test-loaders.c 
1091         which is good for finding further robustness bugs to fix.
1092         
1093         * io-tiff.c: Try to work around libtiff suckiness a bit; 
1094         put a giant thread lock on the whole loader, 
1095         paranoically check both whether error handlers were called and
1096         also whether functions return false. Handle case where width or
1097         height is 0. Various cleanups.
1098
1099         * io-png.c (gdk_pixbuf__png_image_stop_load): only unref pixbuf
1100         if it existed
1101         (png_error_callback): apparently libpng expects you to longjmp out
1102         of this thing?
1103
1104         * io-gif.c (struct _GifContext): remove unused "pixbuf" field
1105         (lzw_read_byte): change "Mail jrb if this fails" g_warning 
1106         to a g_set_error()
1107         (gif_get_lzw): check for out-of-memory
1108         (gif_prepare_lzw): catch/report an error
1109         (new_context): use try_malloc, since GifContext is nearly 70K
1110         (gdk_pixbuf__gif_image_load_increment): set context->buf to NULL
1111         so we don't crash later.
1112
1113         * Makefile.am: Add test-loaders
1114
1115         * gdk-pixbuf-loader.c (gdk_pixbuf_loader_close): handle context ==
1116         NULL due to errors
1117         
1118 2001-05-29  Darin Adler  <darin@eazel.com>
1119
1120         * gdk-pixbuf.h: Fix prototype to use "(void)" instead of "()".
1121
1122 Mon May 28 14:21:35 2001  Jonathan Blandford  <jrb@redhat.com>
1123
1124         * io-bmp.c: Patch from Helmethead <hoshem@mel.comcen.com.au> to
1125         fix up bmp decoder to: 
1126          - adds 16 bpp bmp support (bug #53884)
1127          - adds OS/2 1.x format bmp support (bug #54964)
1128          - adds 4 bpp RLE compressed bmp support
1129          - adds 1 bpp colormap support
1130          - fixes negative height (top down) bmp support
1131
1132 2001-05-25  Hans Breuer  <hans@breuer.org>
1133
1134         * gdk_pixbuf.def : reflect Havoc's recent api change
1135
1136 Sun May 20 12:53:49 2001  Owen Taylor  <otaylor@redhat.com>
1137
1138         * Makefile.am (libgdk_pixbuf_1_3_la_LDFLAGS): Remove an
1139         excess $(GLIB_LIBS).
1140
1141 Sun May 13 11:59:11 2001  Owen Taylor  <otaylor@redhat.com>
1142
1143         * Makefile.am: Make modules depend on libgdk_pixbuf.la.
1144
1145 2001-05-04  Havoc Pennington  <hp@redhat.com>
1146
1147         * pixops/pixops.c (pixops_process): merge fix from stable: Patch
1148          from hoshem@mel.comcen.com.au to fix nonzero X offsets.  Fixes
1149          bug #50371.
1150         
1151         * gdk-pixbuf/pixops/pixops.c (pixops_composite_nearest): merge
1152         from stable: Patch from OKADA Mitsuru <m-okada@fjb.co.jp> to fix
1153         confusion of using "src" instead of "p".
1154         (pixops_composite_color_nearest): Use a more accurate (and
1155         correct, to begin with) compositing method.  This cures checks
1156         showing through on images with no alpha.
1157
1158         * gdk-pixbuf.c (gdk_pixbuf_fill): fix bug that left some trailing
1159         bytes unfilled.
1160
1161         * gdk-pixbuf-io.h: fix UpdatedNotifyFunc to use signed ints
1162
1163         * gdk-pixbuf-loader.h (struct _GdkPixbufLoaderClass): Change
1164         area_updated signal to use signed ints.  Removed animation-related
1165         signals.
1166
1167         * io-gif.c, io-gif-animation.h, io-gif-animation.c: Massive
1168         rewrite action
1169
1170         * gdk-pixbuf-animation.c: Add GdkPixbufAnimationIter to abstract
1171         all the pesky details. Remove old frame-based API. Make
1172         GdkPixbufAnimation an abstract base class, derived by the loaders.
1173
1174 Sun Apr 22 15:51:32 2001  Owen Taylor  <otaylor@redhat.com>
1175
1176         * Makefile.am (LDADDS): Add $(MATH_LIB).
1177
1178 2001-04-18  Havoc Pennington  <hp@redhat.com>
1179
1180         * gdk-pixbuf.c (gdk_pixbuf_fill): Function to fill pixbuf with a
1181         given color.
1182
1183 Wed Apr  4 01:41:02 2001  Tim Janik  <timj@gtk.org>
1184
1185         * pixops/Makefile.am (noinst_LTLIBRARIES): include $top_srcdir
1186         so we don't try to get <gtk/gtkobject.h> from standard search
1187         paths.
1188
1189         * Makefile.am (gdk-pixbuf-marshal.c): use deps from srcdir.
1190         add gdk-pixbuf-marshal.list to EXTRA_DIST.
1191         take gdk-pixbuf-marshal.h out of _la sources.
1192
1193 2001-03-19  Tor Lillqvist  <tml@iki.fi>
1194
1195         * makefile.mingw.in: Handle gdk-pixbuf-marshal.c.
1196
1197         * gdk_pixbuf.def: Update.
1198
1199         * pixbufloader_*.def: Just export the fill_vtable functions now.
1200
1201 2001-03-18  Mike Kestner  <mkestner@ameritech.net>
1202
1203         * make-inline-pixbuf.c (main): Added logic to remove output when
1204         failures occur.
1205
1206 2001-03-14  Havoc Pennington  <hp@redhat.com>
1207
1208         * Makefile.am (gdk-pixbuf-marshal.c): Use different temporary file
1209         from gdk-pixbuf-marshal.h, fixes parallel makes.
1210
1211 Thu Mar  1 04:01:57 2001  Tim Janik  <timj@gtk.org>
1212
1213         * test-gdk-pixbuf.c: fixed includes.
1214
1215 2001-02-18  Havoc Pennington  <hp@pobox.com>
1216
1217         * gdk-pixbuf-io.c (gdk_pixbuf_load_module): prepend underscore
1218         (gdk_pixbuf_get_named_module): prepend underscore
1219         (gdk_pixbuf_get_module): prepend underscore
1220
1221 2001-02-19  Havoc Pennington  <hp@redhat.com>
1222
1223         * gdk-pixbuf-io.c (gdk_pixbuf_load_module): const fix
1224
1225 2001-02-17  Havoc Pennington  <hp@pobox.com>
1226
1227         * gdk-pixbuf-loader.c (gdk_pixbuf_loader_new_with_type): docs
1228
1229 2001-02-07  Alexander Larsson  <alexl@redhat.com>
1230
1231         * io-xpm.c (free_buffer):
1232         Use g_free, since the buffer is allocated with g_try_alloc().
1233
1234 2001-02-06  Christophe Merlet  <redfox@eikonex.org>
1235
1236         * gdk-pixbuf-data.c: Fixes a minor typo.
1237
1238 Sun Feb  4 07:59:57 2001  Tim Janik  <timj@gtk.org>
1239
1240         * gdk-pixbuf.h: DOH! don't include glib/gobject.h but glib-object.h,
1241         we finally need the gobject->gruntime rename.
1242
1243         * *.c: scratched calls to g_type_init(), there's simply no point in
1244         doing that, use gtk_init().
1245
1246 2001-02-01  Havoc Pennington  <hp@pobox.com>
1247
1248         * gdk-pixbuf-loader.c, gdk-pixbuf-loader.h: rename "private" field
1249         in struct to "priv" for C++
1250
1251 2001-01-31  Havoc Pennington  <hp@pobox.com>
1252
1253         * gdk-pixbuf.c: include glib-object.h instead of gvaluetypes.h
1254
1255 2001-01-26  Havoc Pennington  <hp@redhat.com>
1256
1257         * gdk-pixbuf-io.c (mname): fix included modules case.
1258
1259 2001-01-22  Havoc Pennington  <hp@redhat.com>
1260
1261         * gdk-pixbuf-io.c (gdk_pixbuf_new_from_xpm_data): check errors 
1262         from gdk_pixbuf_load_module
1263
1264 2001-01-22  Havoc Pennington  <hp@redhat.com>
1265
1266         * Makefile.am: Add built marshaller files to support
1267         GdkPixbufLoader signals
1268
1269         * gdk-pixbuf-io.c (gdk_pixbuf_load_module): have
1270         GDK_PIXBUF_MODULEDIR unconditionally replace the compiled-in
1271         module location, rather than acting as a fallback, because we are
1272         using GDK_PIXBUF_MODULEDIR to use gdk-pixbuf before installing it.
1273
1274         * gdk-pixbuf.h: include gdk-pixbuf-loader.h
1275
1276         * gdk-pixbuf-loader.h, gdk-pixbuf-loader.c: Move back over here
1277         from gtk, and add error to close(), because stop_load may do
1278         parsing of the image.
1279         
1280         * pixops/have_mmx.S (_pixops_have_mmx): add newline at end of file
1281
1282         * io-*.c: make individual operations static, and add fill_vtable
1283         functions which are exported. Fix the collection of type warnings
1284         that surfaced, including a number of functions that didn't
1285         properly take a GError and some that weren't
1286         const-correct. Involved adding error handling for a few loaders.
1287
1288         * gdk-pixbuf-io.h: Add error reporting to stop_load function
1289         
1290         * gdk-pixbuf-io.c (gdk_pixbuf_load_module): change to just look up
1291         a function that fills in the GdkPixbufModule vtable, instead of 
1292         looking up all the image functions individually; this means we 
1293         can get type safety within modules for the loader functions.
1294         Also it means you don't have to keep the statically compiled and 
1295         GModule versions in sync. 
1296
1297         * test-gdk-pixbuf.c (main): remove gdk_pixbuf_init()
1298
1299         * make-inline-pixbuf.c (main): remove call to gdk_pixbuf_init()
1300
1301         * gdk-pixbuf.h: nuke gdk_pixbuf_init()
1302         
1303         * gdk-pixbuf-animation.c (gdk_pixbuf_frame_get_type): g_type_init
1304         () here
1305
1306         * gdk-pixbuf.c (gdk_pixbuf_get_type): g_type_init () here
1307
1308         * gdk-pixbuf-animation.c (gdk_pixbuf_animation_get_type):
1309         g_type_init() here
1310
1311 2001-01-20  John Harper  <jsh@eazel.com>
1312
1313         * io-xbm.c: new pixbuf loader, for X bitmap files. Basically a
1314         collision between Xlib's RdBitF.c and io-tiff.c
1315
1316         * gdk-pixbuf-io.c, Makefile.am, pixbufloader_xbm.def: added
1317         io-xbm.c support
1318
1319         [ merged from stable gdk-pixbuf module. Untested, but it
1320         compiles, and works fine in the stable module ]
1321
1322 2001-01-18  Tor Lillqvist  <tml@iki.fi>
1323
1324         * gdk-pixbuf-io.c (get_libdir): (Win32) Use the new
1325         g_win32_get_package_installation_subdirectory() function.  No need
1326         to include windows.h.
1327         (gtk_win32_get_installation_directory): Remove this then.
1328
1329 2001-01-01  Havoc Pennington  <hp@redhat.com>
1330
1331         * Makefile.am (libgdk_pixbuf_1_3_la_LDFLAGS): add
1332         @LIBTOOL_EXPORT_OPTIONS@
1333
1334 2000-12-30  Tor Lillqvist  <tml@iki.fi>
1335
1336         * gdk_pixbuf.def: Update.
1337
1338 2000-12-16  Havoc Pennington  <hp@pobox.com>
1339
1340         * gdk-pixbuf-animation.c (gdk_pixbuf_animation_new_from_file): ref
1341         the pixbuf in the frame, so we can use gdk_pixbuf_frame_free
1342         (gdk_pixbuf_frame_copy): new function
1343         (gdk_pixbuf_frame_free): new function
1344         (gdk_pixbuf_frame_get_type): new function
1345         (GDK_TYPE_PIXBUF_FRAME): macro to get type for GdkPixbufFrame
1346
1347 Tue Nov 14 11:51:26 2000  Owen Taylor  <otaylor@redhat.com>
1348
1349         * Makefile.am: Add -avoid-version for all modules.
1350
1351 2000-11-13  Havoc Pennington  <hp@redhat.com>
1352
1353         * io-png.c (png_simple_error_callback): fix error message to not
1354         say "save" since it's used for loading
1355
1356 2000-11-11  Hans Breuer <Hans@Breuer.Org>
1357
1358         * gdk-pixbuf-io.c : Fix all function prototype macros for self 
1359         contained image handlers (!USE_G_MODULE). Files to save should
1360         be opened in binary mode, fopen(s, "wb").
1361
1362         * io-xpm.c : added HAVE_UNISTD_H condition
1363
1364 2000-11-11  Tor Lillqvist  <tml@iki.fi>
1365
1366         * gdk_pixbuf.def: Add gdk_pixbuf_new_subpixbuf.
1367
1368         * io-tiff.c (gdk_pixbuf__tiff_image_begin_load): Use
1369         g_file_open_tmp() (just added to GLib) instead of mkstemp() (or
1370         mktemp() and open()).
1371         
1372         * io-xpm.c (gdk_pixbuf__xpm_image_begin_load): Ditto.
1373
1374 2000-11-01  Havoc Pennington  <hp@pobox.com>
1375
1376         * gdk-pixbuf.c (gdk_pixbuf_new_subpixbuf): New function to create 
1377         a pixbuf pointing to a subregion of another pixbuf.
1378
1379 2000-10-16  Tor Lillqvist  <tml@iki.fi>
1380
1381         * gdk-pixbuf-io.c: Define also m_save (for the non-gmodule case).
1382
1383 2000-10-16  Havoc Pennington  <hp@redhat.com>
1384
1385         * gdk-pixbuf-io.c (gdk_pixbuf_get_module)
1386         (gdk_pixbuf_get_named_module) (gdk_pixbuf_load_module): 
1387         add error reporting here also
1388
1389         * make-inline-pixbuf.c (main): use GError
1390
1391         * io-xpm.c: include unistd.h
1392
1393         * gdk-pixbuf-util.c: include string.h
1394
1395         * io-*.c: add error reporting
1396         
1397         * gdk-pixbuf-animation.c (gdk_pixbuf_animation_new_from_file): add
1398         error reporting
1399
1400         * gdk-pixbuf-io.c (gdk_pixbuf_new_from_file): Add error reporting
1401
1402         * gdk-pixbuf-io.h: Add GError** to load_increment and load 
1403         methods
1404
1405         * gdk-pixbuf-io.c (gdk_pixbuf_save) (gdk_pixbuf_savev): return 
1406         a G_FILE_ERROR if we fail to write or close the file.
1407
1408         * gdk-pixbuf.h: remove GDK_PIXBUF_ERROR_IO, instead we'll use
1409         G_FILE_ERROR_*. Rename enum to GdkPixbufError, properly following
1410         the GError naming rules. Add GError** to load functions.
1411
1412 2000-10-06  Havoc Pennington  <hp@redhat.com>
1413
1414         * gdk-pixbuf.h: add GdkPixbufAlphaMode
1415
1416 2000-10-06  Havoc Pennington  <hp@redhat.com>
1417
1418         This entry is a summary of the merged-in changes from 1.0. 
1419         Relevant original ChangeLog entries are spliced in after 
1420         this entry; the files they refer to are from the 1.0
1421         gdk-pixbuf sources.
1422         
1423         * pixops/pixops.c (pixops_composite_nearest): sync a small fix
1424         from 1.0
1425
1426         * io-xpm.c (xpm_seek_string): add fscanf error check from 1.0
1427         Add progressive loader from 1.0
1428
1429         * io-tiff.c (gdk_pixbuf__tiff_image_begin_load): mem leak fixes
1430         from 1.0 tree
1431
1432         * io-pnm.c: new version from 1.0 tree
1433
1434         * io-jpeg.c (gdk_pixbuf__jpeg_image_load): sync from 1.0, use 
1435         malloc not g_malloc
1436
1437         * io-gif.c (lzw_read_byte): sync from 1.0, change a g_error to
1438         g_warning
1439         (gif_get_next_step): return 0 here, sync from 1.0
1440
1441         * gdk-pixbuf-util.c: sync email address change for Cody
1442         Russell
1443
1444 2000-09-11  Jeffrey Stedfast  <fejj@helixcode.com>
1445
1446         * gdk-pixbuf/io-pnm.c: Pretty much totally rewrote again because
1447         last nights code was still "broken". Should now properly handle
1448         all error conditions gracefully.
1449
1450 2000-09-10  Jeffrey Stedfast  <fejj@helixcode.com>
1451
1452         * gdk-pixbuf/io-pnm.c: Rewrote.
1453
1454 2000-09-09  Federico Mena Quintero  <federico@helixcode.com>
1455
1456         * gdk-pixbuf/pixops/pixops.c (pixops_composite_nearest): Compute
1457         the correct dest offset.
1458
1459 2000-08-25  Federico Mena Quintero  <federico@helixcode.com>
1460
1461         * gdk-pixbuf/io-xpm.c: #include <unistd.h>
1462
1463 2000-08-05  Larry Ewing  <lewing@helixcode.com>
1464
1465         * gdk-pixbuf/io-tiff.c: stop leaking context->tempname.
1466
1467         * gdk-pixbuf/io-xpm.c: same as above.
1468
1469 2000-07-26  Michael Meeks  <michael@helixcode.com>
1470
1471         * gdk-pixbuf/io-jpeg.c (gdk_pixbuf__jpeg_image_load): make
1472         g_malloc a malloc.
1473
1474 2000-07-21  Larry Ewing  <lewing@helixcode.com>
1475
1476         * gdk-pixbuf/io-xpm.c: add a fake progressive loader so that
1477         xpm at least supports the progressive interface like the one in
1478         io-tiff.c. This should be reimplemented as an actual progressive
1479         loader.
1480
1481 2000-07-19  Jonathan Blandford  <jrb@redhat.com>
1482
1483         * demo/pixbuf-demo.c (update_timeout): changed scaling level to
1484         make it look better.
1485         * gdk-pixbuf/testpixbuf.c (update_timeout): Patch from michael
1486         meeks to handle errors better.
1487         
1488 2000-10-07  Tor Lillqvist  <tml@iki.fi>
1489
1490         * gdk_pixbuf.def
1491         * pixbufloader_jpeg.def
1492         * pixbufloader_png.def: Add new entry points.
1493
1494         * makefile.mingw.in: Use libintl.
1495
1496 2000-10-06  Havoc Pennington  <hp@redhat.com>
1497
1498         * gdk-pixbuf-io.c (gdk_pixbuf_save): s/format/type/g to be
1499         consistent with gdk_pixbuf_loader_new_with_type(). 
1500         Return runtime error if a module is missing.
1501
1502         * gdk-pixbuf.h: add GDK_PIXBUF_ERROR_UNKNOWN_TYPE
1503
1504 2000-10-05  Havoc Pennington  <hp@redhat.com>
1505
1506         Pixbuf saving, patch from David Welton.
1507         
1508         * Makefile.am (GDK_PIXBUF_LIBS): add INTLLIBS
1509         (libgdk_pixbuf_1_3_la_SOURCES): add gdk-pixbuf-i18n.h
1510
1511         * gdk-pixbuf-i18n.h: Add _() to gdk-pixbuf
1512
1513         * io-png.c (gdk_pixbuf__png_image_save): PNG save routine.
1514
1515         * io-jpeg.c (gdk_pixbuf__jpeg_image_save): JPEG save routine.
1516
1517         * gdk-pixbuf-io.c (gdk_pixbuf_save): 
1518         (gdk_pixbuf_savev): Implement pixbuf saving routines
1519
1520         * gdk-pixbuf.c (gdk_pixbuf_error_quark): pixbuf error quark
1521         function
1522
1523         * gdk-pixbuf.h: Add public save routines; add pixbuf error 
1524         types
1525
1526         * gdk-pixbuf-io.h: Add save function to GdkPixbufModule
1527
1528 2000-10-05  Dan Winship  <danw@helixcode.com>
1529
1530         * io-png.c, io-tiff.c, io-xpm.c: Fix comments to not claim that
1531         all three of these files are the JPEG image loader. (From
1532         gdk-pixbuf module.)
1533
1534 2000-10-03  Tor Lillqvist  <tml@iki.fi>
1535
1536         * makefile.mingw.in: Add rule for make-inline-pixbuf. Use
1537         gdk-pixbuf's version number in the rule for makefile.mingw itself.
1538
1539         * gdk_pixbuf.def: Add new entry points.
1540
1541 2000-09-26  Havoc Pennington  <hp@redhat.com>
1542
1543         * gdk-pixbuf-util.c (gdk_pixbuf_saturate_and_pixelate): Add this
1544         function here, instead of putting it in a private GTK+ file.
1545
1546         * gdk-pixbuf-private.h (GdkPixbufInlineFormat): include an 
1547         enum here for the known formats of inlined pixbufs.
1548         Also, #define our file magic here.
1549
1550 2000-06-23  Havoc Pennington  <hp@redhat.com>
1551
1552         * make-inline-pixbuf.c: Small program that creates C variable
1553         declarations of inline pixbuf data. This can be read 
1554         by gdk_pixbuf_new_from_inline.
1555
1556         * gdk-pixbuf.h (gdk_pixbuf_new_from_inline): New function to read
1557         inline pixbuf data and create a pixbuf from it. 
1558
1559         * gdk-pixbuf-data.c (gdk_pixbuf_new_from_inline): implement here
1560
1561 2000-09-07  Tor Lillqvist  <tml@iki.fi>
1562
1563         * makefile.mingw.in: Use own version number for gdk-pixbuf DLLs,
1564         like on Unix.
1565
1566 2000-08-12  Tor Lillqvist  <tml@iki.fi>
1567
1568         * gdk_pixbuf.def: Add missing entry point.
1569
1570 2000-08-10  Havoc Pennington  <hp@redhat.com>
1571
1572         * Makefile.am (EXTRA_DIST): The *.def files had the wrong names
1573         (s/pixbuf_/pixbufloader_)
1574         
1575 2000-08-02  Tor Lillqvist  <tml@iki.fi>
1576
1577         * io-bmp.c
1578         * io-ico.c
1579         * io-ras.c
1580         * io-tiff.c
1581         * io-wbmp.c: Conditionalise inclusion of <unistd.h>.
1582
1583         * makefile.mingw.in: List loaders alphabetically. Add the wbmp
1584         one. Fix names of DLLs to have '-' instead of '_'.
1585
1586 2000-07-31  Elliot Lee  <sopwith@redhat.com>
1587         * io-wbmp.c: Some bug fixes - now tested to work.
1588
1589 2000-07-27  Elliot Lee  <sopwith@redhat.com>
1590
1591         * gdk-pixbuf-io.h, gdk-pixbuf-io.c: Add
1592         gdk_pixbuf_get_named_module() function to facilitate above change
1593         * io-wbmp.c, pixbufloader_wbmp.defs, gdk-pixbuf-io.c, Makefile:
1594         Implement loader for WBMP format.
1595         * io-bmp.c: Don't malloc a temporary buffer - use stack instead.
1596
1597 2000-07-23  Tor Lillqvist  <tml@iki.fi>
1598
1599         Win32 build setup:
1600         
1601         * makefile.mingw.in
1602         * pixops/makefile.mingw.in
1603         * pixbuf_*.def: New files.
1604
1605         * Makefile.am
1606         * pixops/Makefile.am: Add them. Add rule to generate makefile.mingw.
1607
1608         * gdk-pixbuf-io.c (gtk_win32_get_installation_directory):
1609         New function, to get the GTK+ installation directory from
1610         the Windows Registry, where the installation program
1611         for whatever software includes GTK+ has stored it.
1612
1613         Used to avoid having hardcoding the directory where to look for
1614         loaders. This function is needed by gtk, too, so it should
1615         really be just in one place. Maybe a small static library
1616         one level up from here?
1617
1618         * gdk-pixbuf-animation.c (gdk_pixbuf_animation_new_from_file)
1619         * gdk-pixbuf-io.c (gdk_pixbuf_new_from_file): 
1620         Open file in binary mode. This *is* standard C. (No-op on Unix,
1621         of course.)
1622
1623         * io-jpeg.c: If we don't HAVE_SIGSETJMP, use normal setjmp().
1624
1625         * io-tiff.c: Use g_get_tmp_dir(). If we don't HAVE_MKSTEMP, use
1626         mktemp() and open().
1627         (gdk_pixbuf__tiff_image_stop_load): g_free() also the tempname.
1628
1629         * pixops/*.S: The Gas from mingw32 doesn't like the .type
1630         pseudo-op. Conditionalise on __MINGW32__, but probably
1631         should conditionalise on Gas version instead? Or could we
1632         do without .type on all systems?
1633
1634         * pixops/timescale.c: Use g_get_current_time()
1635         instead of gettimeofday().
1636
1637 Sat Jul 22 10:57:22 2000  Owen Taylor  <otaylor@redhat.com>
1638
1639         * Makefile.am (test_gdk_pixbuf_LDADD): Remove -lgmodule
1640
1641 Tue Jul 11 11:26:42 2000  Owen Taylor  <otaylor@redhat.com>
1642
1643         * gdk-pixbuf.c: Add <string.h> include.
1644
1645 Tue Jul 11 06:20:14 2000  Tim Janik  <timj@gtk.org>
1646
1647         * io-gif.c (gdk_pixbuf__gif_image_load_animation): 
1648         * gdk-pixbuf-data.c (gdk_pixbuf_new_from_data): 
1649         * gdk-pixbuf-animation.c (gdk_pixbuf_animation_new_from_file): 
1650         use g_object_new() instead of g_type_create_instance() which
1651         is a private function for fundamental type implementations.
1652         
1653 Thu Jul  6 11:49:47 2000  Owen Taylor  <otaylor@redhat.com>
1654
1655         * Makefile.am (libgdk_pixbuf_la_LDFLAGS): Use GTK+ version
1656         soname scheme for gdk-pixbuf.
1657         
1658 2000-06-21  Havoc Pennington  <hp@pobox.com>
1659
1660         * gdk-pixbuf.c: Convert GdkPixbuf to GObject, leaving it opaque
1661         (i.e. derivation is not allowed, and there are no virtual methods
1662         anyway).
1663         (gdk_pixbuf_preinit): Call g_type_init() here.
1664         (gdk_pixbuf_init): Add a user-friendly init function, for users
1665         of standalone gdk-pixbuf
1666
1667         * gdk-pixbuf-animation.c: Convert to GObject, in the same
1668         way GdkPixbufAnimation was done.
1669         
1670         * gdk-pixbuf.h: Remove gdk_pixbuf_set_unref_handler() and
1671         gdk_pixbuf_finalize() from API, since these are broken and don't
1672         make sense with new GObject stuff.
1673
1674 Wed Jun 21 16:02:48 2000  Owen Taylor  <otaylor@redhat.com>
1675
1676         * gdk-pixbuf-io.c (gdk_pixbuf_load_module): Add feature to
1677         support a GDK_PIXBUF_MODULEDIR env variable as a secondary
1678         load location.
1679
1680 2000-06-10  Federico Mena Quintero  <federico@helixcode.com>
1681
1682         * demo/pixbuf-demo.c: It was cold and rainy this Saturday morning,
1683         so I needed something to warm my thighs.  Running plain infinite
1684         loops on your laptop to make it hot is not very much fun.  A demo
1685         of the gdk-pixbuf scaling functions is way better, and looks
1686         prettier, too.
1687
1688         * configure.in (AC_OUTPUT): Added the demo Makefile.
1689
1690         * Makefile.am (SUBDIRS): Added the demo directory.
1691
1692 2000-06-09  Larry Ewing  <lewing@helixcode.com>
1693
1694         * gdk-pixbuf/io-png.c (gdk_pixbuf__png_image_load_increment):
1695         setjmp for the png error handler.  It seems setting the error
1696         handling functions does not avoid the jump, and so not calling
1697         setjmp was causing the incremental loader to jump into lala land.
1698         (gdk_pixbuf__png_image_begin_load): setjmp for error handling, I'm
1699         not sure this one is actually required but the docs say it must be
1700         set for every call to a png_* function.
1701         Also changed the comment to reflect the fact that setting the
1702         error handlers does _not_ avoid the longjmp.
1703
1704 2000-06-06  Larry Ewing  <lewing@helixcode.com>
1705
1706         * gdk-pixbuf/gdk-pixbuf-loader.c (gdk_pixbuf_loader_frame_done):
1707         take frame offest into account when trying to calculate the
1708         animation bbox.  Also set the width to the width not the height.
1709         (gdk_pixbuf_loader_animation_done): cycle over the frames to
1710         calculate bbox because now we finally have all the offset
1711         information for each frame.
1712
1713 2000-06-05      Mathieu Lacage  <mathieu@gnome.org>
1714
1715         * configure.in: add some gtk parameters to the
1716         GDK_PIXBUF_LIBÃ�²S and GDK_PIXBUG_INCLUDEDIR vars. One more
1717         fight in my crusade for strange prefix compile...
1718
1719 2000-05-30  Not Zed  <NotZed@HelixCode.com>
1720
1721         * gdk-pixbuf/io-jpeg.c (gdk_pixbuf__jpeg_image_begin_load):
1722         Initialise the error handler exit routine to our own.  Note this
1723         means that every function that accesses the jpeg lib on this
1724         object MUST do a setjmp.
1725         (gdk_pixbuf__jpeg_image_stop_load): setjmp before accessing jpeg
1726         lib for handling fatal error.
1727         (gdk_pixbuf__jpeg_image_load_increment): And here too.  So now
1728         your applications dont quit if there's a jpeg error!
1729
1730 2000-05-30  Federico Mena Quintero  <federico@helixcode.com>
1731
1732         * gdk-pixbuf.spec.in: Include all the loader libraries.  Patch
1733         from Frank de Lange <frank@unternet.org>.
1734
1735 2000-05-09  Darin Adler  <darin@eazel.com>
1736
1737         * gdk-pixbuf/test-gdk-pixbuf.c:
1738         Fixed includes to get rid of accidental GNOME dependency.
1739
1740 2000-05-26  Cody Russell  <car0969@gamma2.uta.edu>
1741         * Makefile.am: Added gdk-pixbuf.spec to EXTRA_DIST
1742
1743 2000-05-22  Federico Mena Quintero  <federico@helixcode.com>
1744
1745         * configure.in: Bumped version number to 0.8.0.
1746
1747         * doc/Makefile.am (content_files): The toplevel gdk-pixbuf.sgml
1748         file was not being distributed.
1749
1750         * gdk-pixbuf/pixops/Makefile.am (EXTRA_DIST): Added DETAILS.
1751
1752 2000-05-09  Darin Adler  <darin@eazel.com>
1753
1754         * gdk-pixbuf/gdk-pixbuf-drawable.c: (rgb565lsb), (rgb565msb),
1755         (rgb565alsb), (rgb565amsb), (rgb555lsb), (rgb555msb), (rgb555alsb),
1756         (rgb555amsb), (convert_real_slow): Change all conversion from 16-bit
1757         formats to 32-bit formats to re-use the high bits of the color values
1758         so that white maps to full white.
1759
1760 Fri May  5 12:16:32 2000  Owen Taylor  <otaylor@redhat.com>
1761
1762         * gdk-pixbuf/pixops/DETAILS: Add beginnings of file with 
1763         detailed information about the structure and algorithms
1764         of pixops so people can fix it instead of breaking it.
1765
1766 2000-05-04  Darin Adler  <darin@eazel.com>
1767
1768         * gdk-pixbuf/pixops/pixops.c: (pixops_composite_nearest),
1769         (composite_pixel), (composite_line):
1770         * gdk-pixbuf/test-gdk-pixbuf.c: (simple_composite_test_one_type):
1771         Now that Owen explained the algorithm, I think I implemented it
1772         right for the cases where the destination pixbuf is not opaque.
1773         The test does seem to confirm it.
1774
1775 2000-05-04  Darin Adler  <darin@eazel.com>
1776
1777         * gdk-pixbuf/.cvsignore:
1778         * gdk-pixbuf/Makefile.am:
1779         * gdk-pixbuf/test-gdk-pixbuf.c (store_pixel), (fill_with_pixel),
1780         (load_pixel), (simple_composite_test_one),
1781         (simple_composite_test_one_type), (simple_composite_test), (main):
1782         Added some tests of composite to highlight problems in the old
1783         implementation. These tests run without any user interaction.
1784         Just do "make check".
1785
1786         * gdk-pixbuf/pixops/pixops.c (pixops_composite_nearest),
1787         (composite_pixel), (composite_line): Fix composite to do a textbook
1788         "A over B" composite. This was clearly the intent, and it was easy
1789         to fix the code to do it. (Note to those that read my earlier tries
1790         at a patch; this version fixes typos that were present in all
1791         my patch attempts. I checked the final version by adding more tests.)
1792
1793 2000-04-22 05:27:43 2000  Owen Taylor  <otaylor@redhat.com>
1794
1795         * gdk-pixbuf/pixops/pixops.c (pixops_scale_nearest): Properly
1796         offset y coordinate accordining to render_y0.
1797
1798         * gdk-pixbuf/gdk-pixbuf-scale.c: Properly handle nonzero
1799         dest_x, dest_y.
1800
1801 2000-04-22  James Henstridge  <james@daa.com.au>
1802
1803         * gdk-pixbuf.spec.in (%files): moved %{prefix}/bin/* from the main
1804         package to the devel package.  The only file installed in bin is
1805         gdk-pixbuf-config, which belongs in -devel.  This should allow having
1806         multiple versions of the main gdk-pixbuf package installed.
1807
1808 2000-04-17  Karl Eichwalder  <ke@suse.de>
1809
1810         * gdk-pixbuf/Makefile.am (INCLUDES): Add $(GNOME_CFLAGS).
1811         Reported by Jens Finke.
1812
1813 2000-04-14 Tomasz KÃ�³opczko <kloczek@pld.org.pl>
1814
1815         * gdk-pixbuf/pixops/makefile.am: $(LIBART_CFLAGS) replaced by 
1816         $(GTK_CFLAGS) - now gdk-pixbuf compiles correctly.
1817
1818 2000-04-13  James Henstridge  <james@daa.com.au>
1819
1820         * configure.in: when performing the configure check to see if
1821         gmodule works, set CFLAGS to GLIB_CFLAGS and LIBS to GLIB_LIBS,
1822         rather than the other way round.  Also, call AC_MSG_RESULT in the
1823         even that dynamic modules were not supported.
1824
1825 2000-04-12  Federico Mena Quintero  <federico@helixcode.com>
1826
1827         This comes from an excellent idea by Tim Janik (timj@gtk.org) to
1828         hook to the last unref operation.
1829
1830         * gdk-pixbuf/gdk-pixbuf.c (gdk_pixbuf_set_last_unref_handler): New
1831         function to set the last unref handler for a pixbuf.
1832         (gdk_pixbuf_finalize): New function to actually finalize a pixbuf.
1833         It calls the pixbuf's destroy notification function and frees the
1834         GdkPixbuf structure itself.
1835         (gdk_pixbuf_unref): Use the last unref function of the pixbuf if
1836         available.
1837
1838         * gdk-pixbuf/gdk-pixbuf-private.h (struct _GdkPixbuf): New fields
1839         for the last unref handler and its user data.
1840
1841         * gdk-pixbuf/gdk-pixbuf-data.c (gdk_pixbuf_new_from_data): Use
1842         g_new0() to allocate the pixbuf.
1843
1844         * gdk-pixbuf/gdk-pixbuf-loader.c (gdk_pixbuf_loader_class_init):
1845         Fixed the call to gtk_signal_new() for the "frame_done" signal; it
1846         was not specifying the `frame' argument.
1847
1848         * gdk-pixbuf/gdk-pixbuf-animation.c
1849         (gdk_pixbuf_animation_get_width): Fixed docstring.
1850         (gdk_pixbuf_animation_get_height): Likewise.
1851         (gdk_pixbuf_animation_get_num_frames): Likewise.
1852         (gdk_pixbuf_animation_get_frames): Likewise.
1853
1854         * doc/gdk-pixbuf-sections.txt: Updated with the new functions and
1855         types.
1856
1857         * doc/tmpl/gdk-pixbuf.sgml: Added the description for GdkColorspace.
1858
1859         * doc/tmpl/scaling.sgml: Added the description for GdkInterpType.
1860
1861         * doc/tmpl/refcounting.sgml: Updated with the information about
1862         the last unref handler.
1863
1864         * doc/tmpl/*.sgml: Markup tweaks.
1865
1866         * gdk-pixbuf/Makefile.am (libgnomecanvaspixbuf_la_LDFLAGS): Sigh,
1867         update the libtool version number for libgnomecanvaspixbuf as
1868         well.
1869         (libpixbufloader_*_la_LDFLAGS): The loaders need to be versioned
1870         as well, or the old ones won't work with the new stuff.  Also,
1871         renamed the modules as follows.
1872
1873         * gdk-pixbuf/gdk-pixbuf-io.c (gdk_pixbuf_load_module): Now the
1874         modules are called "libpixbufloader-<format>.so" instead of
1875         "libpixbuf-<format>.so".  They needed renaming so that the new
1876         loaders won't overwrite the old ones; even with the versioning
1877         stuff, the new .so symlink to the .so.1.0.0 would overwrite the
1878         old real .so file.
1879
1880 2000-04-12  Paolo Molaro <lupus@debian.org>
1881
1882         * .cvsignore, src/.cvsignore: shut up cvs.
1883
1884 2000-04-11  Federico Mena Quintero  <federico@helixcode.com>
1885
1886         Most of this patch is based on a patch by Havoc Pennington
1887         (hp@redhat.com) to make GdkPixbuf's structures opaque and to
1888         remove the libart dependency.
1889
1890         * gdk-pixbuf/gdk-pixbuf.h: Removed the public structures.
1891         (GdkColorspace): New enum that for now only contains
1892         GDK_COLORSPACE_RGB.
1893         (GdkPixbufDestroyNotify): New type for the pixbuf's pixels destroy
1894         notification function.
1895         (GdkInterpType): New num with interpolation types.
1896
1897         * *.[ch]: Replace the libart stuff with our own stuff.
1898
1899         * pixops/*.[ch]: Likewise.
1900
1901         * gdk-pixbuf/gdk-pixbuf-private.h: New file with the private
1902         declarations of the GdkPixbuf structures.
1903
1904         * gdk-pixbuf/gdk-pixbuf.c (gdk_pixbuf_new_from_art_pixbuf):
1905         Removed function.
1906         (gdk_pixbuf_get_format): Constify.
1907         (gdk_pixbuf_get_n_channels): Constify.
1908         (gdk_pixbuf_get_has_alpha): Constify.
1909         (gdk_pixbuf_get_bits_per_sample): Constify.
1910         (gdk_pixbuf_get_pixels): Constify.
1911         (gdk_pixbuf_get_width): Constify.
1912         (gdk_pixbuf_get_height): Constify.
1913         (gdk_pixbuf_get_rowstride): Constify.
1914
1915         * gdk-pixbuf/gdk-pixbuf.c (gdk_pixbuf_copy): New function to copy
1916         a pixbuf.
1917
1918         * gdk-pixbuf/gdk-pixbuf-data.c (gdk_pixbuf_new_from_data): Added a
1919         bits_per_sample argument; currently only 8 bits per sample are
1920         supported.
1921
1922         * gdk-pixbuf/gdk-pixbuf-animation.c (gdk_pixbuf_frame_get_pixbuf):
1923         New accessor.
1924         (gdk_pixbuf_frame_get_x_offset): New accessor.
1925         (gdk_pixbuf_frame_get_y_offset): New accessor.
1926         (gdk_pixbuf_frame_get_delay_time): New accessor.
1927         (gdk_pixbuf_frame_get_action): New accessor.
1928
1929         * gdk-pixbuf/gdk-pixbuf-render.c
1930         (gdk_pixbuf_render_pixmap_and_mask): Instead of returning a solid
1931         mask rectangle for pixbufs without an alpha channel, set the
1932         *mask_return to NULL.
1933
1934         * gdk-pixbuf/gdk-pixbuf-util.c (gdk_pixbuf_add_alpha): Constify.
1935
1936         * gdk-pixbuf/gdk-pixbuf-scale.c: Fix includes.
1937
1938         * gdk-pixbuf/gdk-pixbuf-scale.c (gdk_pixbuf_scale): Added some
1939         preconditions.  Maybe we should also check for the colorspace,
1940         bits per pixel, and such.
1941         (gdk_pixbuf_composite): Likewise.
1942         (gdk_pixbuf_composite_color): Likewise.
1943         (gdk_pixbuf_scale_simple): Likewise, and fail gracefully if we
1944         cannot allocate the new pixbuf.
1945         (gdk_pixbuf_composite_color_simple): Likewise.
1946
1947         * gdk-pixbuf/gnome-canvas-pixbuf.c (gnome_canvas_pixbuf_render):
1948         Use art_rgb_rgba_affine() or art_rgb_affine() since we no longer
1949         have an ArtPixBuf.
1950
1951         * gdk-pixbuf/io-bmp.c: Fix includes.
1952
1953         * gdk-pixbuf/pixops/pixops.c (pixops_scale_nearest): Fixed cast in
1954         an lvalue.
1955
1956         * TODO: Populated.
1957
1958         * configure.in: Removed checks for libart.
1959
1960         * gdk-pixbuf/Makefile.am: Removed references to libart.
1961         (noinst_HEADERS): Added gdk-pixbuf-private.h.
1962
1963         * gdk-pixbuf/Makefile.am (libgdk_pixbuf_la_LDFLAGS): Incremented
1964         the version number of the libtool library to indicate that this
1965         definitely is not compatible with the old usage.  I know you love
1966         me.  I know you do.
1967
1968         * configure.in: Bumped version number to 0.7.0.
1969
1970         * README: Updated.
1971
1972         * gdk-pixbuf-config.in (--libs): We no longer require libart.
1973
1974         * DEPENDS.libgdk_pixbuf: We no longer depend on libart.
1975
1976         * gdk-pixbuf.spec.in: Updated, but I don't guarantee anything.
1977
1978 2000-04-06  Jonathan Blandford  <jrb@redhat.com>
1979
1980         * gdk-pixbuf/testanimation.c (main): add more info to the
1981         testanimation frames.
1982
1983 2000-04-04  Ettore Perazzoli  <ettore@helixcode.com>
1984
1985         * gdk-pixbuf/gdk-pixbuf-animation.c
1986         (gdk_pixbuf_animation_get_width): New accessor function.
1987         (gdk_pixbuf_animation_get_height): New accessor function.
1988         (gdk_pixbuf_animation_get_num_frames): New accessor function.
1989         (gdk_pixbuf_animation_get_frames): New accessor function.
1990
1991 2000-04-01  Federico Mena Quintero  <federico@helixcode.com>
1992
1993         * gdk-pixbuf/gdk-pixbuf.c: Reverted Mark's change.  The refcount
1994         is private information, and the art_pixbuf will go away soon.
1995
1996 2000-03-31  Mark Crichton  <crichton@gimp.org>
1997
1998         * gdk-pixbuf/gdk-pixbuf.c: Added gdk_pixbuf_get_refcount
1999         and gdk_pixbuf_get_artpixbuf accessor functions.
2000
2001 2000-03-29  Federico Mena Quintero  <federico@helixcode.com>
2002
2003         * gdk-pixbuf/gdk-pixbuf.c (gdk_pixbuf_get_has_alpha): Return
2004         gboolean instead of int.
2005
2006 2000-03-29  Radek Doulik  <rodo@helixcode.com>
2007
2008         * gdk-pixbuf/gdk-pixbuf-animation.c
2009         (gdk_pixbuf_animation_new_from_file): same as below
2010
2011         * gdk-pixbuf/io-gif.c (gif_get_lzw): added update of width and
2012         height in GdkPixbufAnimation
2013
2014 2000-03-28  Radek Doulik  <rodo@helixcode.com>
2015
2016         * gdk-pixbuf/io-gif.c (gif_get_lzw): test also for
2017         context->frame_done_func and context->anim_done_func to make
2018         progressive animation loading work
2019
2020         * gdk-pixbuf/gdk-pixbuf-loader.c (gdk_pixbuf_loader_frame_done):
2021         added priv->pixbuf = NULL as pixbuf is now in frame (and to make
2022         gdk_pixbuf_loader_prepare happy)
2023         (gdk_pixbuf_loader_frame_done): update animation bbox
2024
2025         * gdk-pixbuf/gdk-pixbuf.h: added bbox size (width, height) to
2026         _GdkPixbufAnimation
2027
2028 2000-03-27  Radek Doulik  <rodo@helixcode.com>
2029
2030         * gdk-pixbuf/io-gif.c (gif_get_lzw): use frame_len and frame_width
2031         instead of width and height
2032
2033 2000-03-27  Owen Taylor  <otaylor@redhat.com>
2034
2035         * gdk-pixbuf/pixops/pixops.c: Fix problem with 
2036         precendence of >> and & which was keeping composite_color
2037         from working with non-gray images.
2038
2039 2000-03-08  Jonathan Blandford  <jrb@redhat.com>
2040
2041         * gdk-pixbuf/io-gif.c (gdk_pixbuf__gif_image_load): free the context.
2042         (gdk_pixbuf__gif_image_load_animation): free the context.
2043
2044 2000-03-06  Arjan van de Ven <arjan@fenrus.demon.nl>
2045
2046         * gdk-pixbuf/io-bmp.c: Fixed to pointer-bugs and a 
2047         mis-interpretation of the Microsoft documentation. Now
2048         it can load .BMP files that are not generated by The Gimp
2049         as well.
2050
2051 2000-03-01  Mark Crichton  <crichton@gimp.org>
2052
2053         * configure.in: Added BUILD_CANVAS_ITEM stuff to (finally)
2054         fix the last auto* build bug (where we have libart, but no
2055         gnome-libs)
2056
2057         * gdk-pixbuf/Makefile.am: Same.
2058
2059 2000-02-28  Matt Wilson  <msw@redhat.com>
2060
2061         * gdk-pixbuf/gdk-pixbuf-drawable.c: s/unsigned long/guint32/g,
2062         s/unsigned short/guint16/g, s/unsigned char/guint8/g
2063
2064 2000-02-26  Federico Mena Quintero  <federico@helixcode.com>
2065
2066         * README: We don't require libgif/ungif nor libXpm.
2067
2068         * NEWS: This was outdated, so updated it.
2069
2070 2000-02-25  Federico Mena Quintero  <federico@helixcode.com>
2071
2072         * gdk-pixbuf.m4: Use the correct name for
2073         gdk-pixbuf/gdk-pixbuf.h.  Thanks to Jacob Berkman for pointing
2074         this out.
2075
2076 2000-02-21  Federico Mena Quintero  <federico@helixcode.com>
2077
2078         * configure.in (GDK_PIXBUF_MINOR): Bumped version number to 0.6.0.
2079
2080         * doc/compiling.sgml: New appendix documenting the gdk-pixbuf
2081         library's particular options to configure.in.
2082
2083         * doc/gdk-pixbuf.sgml: Include compiling.sgml appendix via an
2084         entity.
2085
2086         * doc/Makefile.am (gdk-pixbuf.html): Added compiling.sgml.
2087
2088         * gdk-pixbuf/io-ico.c (gdk_pixbuf__ico_image_load_increment):
2089         Fixed typo in prototype name.
2090
2091         * configure.in: Changed duplicated AC_MSG_CHECKING message to
2092         something more meaningful; now it is "checking whether dynamic
2093         modules work".
2094
2095         * gdk-pixbuf/pixops/Makefile.am (noinst_PROGRAMS): Do not install
2096         the timescale program.
2097
2098         Integrated Miguel de Icaza's <miguel@gnu.org> patch for optionally
2099         creating a single static library with all the image format modules
2100         in it.
2101
2102 2000-02-20  Miguel de Icaza  <miguel@gnu.org>
2103
2104         * gdk-pixbuf/io-xpm.c (gdk_pixbuf__xpm_image_load): Add prefix.
2105         (gdk_pixbuf__xpm_image_load_xpm_data): Add prefix.
2106
2107         * gdk-pixbuf/io-tiff.c (gdk_pixbuf__tiff_image_load_real): Add prefix.
2108         (gdk_pixbuf__tiff_image_stop_load): Add prefix.
2109         (gdk_pixbuf__tiff_image_load_increment): Add prefix.
2110         (gdk_pixbuf__tiff_image_load): Add prefix.
2111         (gdk_pixbuf__tiff_image_stop_load): Update invocation.
2112         (gdk_pixbuf__tiff_image_begin_load): Add prefix.
2113
2114         * gdk-pixbuf/io-ras.c (gdk_pixbuf__ras_image_load): Add prefix.
2115         (gdk_pixbuf__ras_image_load): Updated invocation.
2116         (gdk_pixbuf__ras_image_begin_load): Add prefix.
2117         (gdk_pixbuf__ras_image_stop_load): Add prefix.
2118         (gdk_pixbuf__ras_image_load_increment): Add prefix.
2119
2120         * gdk-pixbuf/io-pnm.c (gdk_pixbuf__pnm_image_begin_load): Add prefix.
2121         (gdk_pixbuf__pnm_image_stop_load): Add prefix.
2122         (gdk_pixbuf__pnm_image_load_increment): Add prefix
2123         (gdk_pixbuf__pnm_image_load): Add prefix.
2124
2125         * gdk-pixbuf/io-jpeg.c (gdk_pixbuf__jpeg_image_load): Add prefix.
2126         (gdk_pixbuf__jpeg_image_load_increment): Add prefix.
2127         (gdk_pixbuf__jpeg_image_begin_load): Add prefix.
2128         (gdk_pixbuf__jpeg_image_stop_load): Add prefix.
2129
2130         * gdk-pixbuf/io-ico.c (gdk_pixbuf__ico_image_load): Add prefix.
2131         (gdk_pixbuf__ico_image_load): update invocation.
2132         (gdk_pixbuf__ico_image_load_increment): Add prefix.
2133         (gdk_pixbuf__ico_image_load): update invocation.
2134         (gdk_pixbuf__ico_image_begin_load): Add prefix.
2135         (gdk_pixbuf__ico_image_load): update invocation.
2136         (gdk_pixbuf__ico_image_stop_load): Add prefix.
2137
2138         * gdk-pixbuf/io-gif.c (gdk_pixbuf__gif_image_load_animation): Add prefix.
2139         (gdk_pixbuf__gif_image_load): Add prefix.
2140         (gdk_pixbuf__gif_image_begin_load): Add prefix.
2141         (gdk_pixbuf__gif_image_load_increment): Add prefix.
2142         (gdk_pixbuf__gif_image_load_animation): Add prefix.
2143         (gdk_pixbuf__gif_image_stop_load): Add prefix.
2144
2145         * gdk-pixbuf/io-bmp.c (gdk_pixbuf__bmp_image_load): Add prefix.
2146         (gdk_pixbuf__bmp_image_load): Rename function called.
2147         (gdk_pixbuf__bmp_image_load_increment): Add prefix
2148
2149         * gdk-pixbuf/io-png.c (gdk_pixbuf__png_image_load): Add prefix.
2150         (gdk_pixbuf__png_image_begin_load): Add prefix.
2151         (gdk_pixbuf__png_image_stop_load): Add prefix.
2152         (gdk_pixbuf__png_image_load_increment): Add prefix.
2153
2154         * gdk-pixbuf/gdk-pixbuf-io.c (file_formats): Make this static.
2155         (gdk_pixbuf_load_module): Load the shared library entry points
2156         using a "gdk_pixbuf__$module_name" prefix.
2157         (pixbuf_module_symbol): Wrapper routine that uses the module
2158         prefix for the modules to load the information.
2159
2160         * configure.in (GDK_PIXBUF_VERSION): New option --disable-modules
2161         lets the user specify that gdk-pixbuf should link all image loader
2162         code into the library instaed of creating shared library modules.
2163         
2164         (dynworks): Renamed the automake conditional DYNAMIC_MODULES_WORK
2165         to BUILD_DYNAMIC_MODULES.
2166
2167 2000-02-19  Jonathan Blandford  <jrb@redhat.com>
2168
2169         * gdk-pixbuf/io-gif.c (new_context): fix case where initial
2170         colormap entry is Transparent.
2171
2172 2000-02-19  Owen Taylor  <otaylor@redhat.com>
2173
2174         * gdk-pixbuf/pixops/pixops.c (scale_pixel): Fix error in
2175         scale factors for non-alpha case.
2176
2177 2000-02-14  Mark Crichton  <crichton@gimp.org>
2178
2179         * gdk-pixbuf/io-xpm.c (xpm_extract_color): Added check for "g" color type.
2180         Imlib/libXpm handle this, but we didn't.
2181
2182 2000-02-14  Darin Adler  <darin@eazel.com>
2183
2184         * gdk-pixbuf/testpixbuf.c: Remove now-unnecessary cast.
2185         * .cvsignore: gdk-pixbuf/.cvsignore: More to ignore.
2186
2187 2000-02-14  Elliot Lee  <sopwith@redhat.com>
2188         * gdk-pixbuf/gdk-pixbuf.h, gdk-pixbuf/gdk-pixbuf-data.c: Make passed-in argument 'const'.
2189
2190 2000-02-04  Michael Meeks  <mmeeks@gnu.org>
2191
2192         * gdk-pixbuf/io-gif.c (struct _GifContext): add x,y_offset.
2193         (gif_get_frame_info): put the offsets on the context.
2194         (gif_get_lzw): copy them off into the frame.
2195         (new_context): no change required; will 0 offsets by default.
2196
2197 2000-01-28  Michael Meeks  <michael@mejm2.dow.cam.ac.uk>
2198
2199         * gdk-pixbuf/pixops/pixops.c (pixops_process): const + nasty
2200         un-consting cast.
2201
2202         * gdk-pixbuf/pixops/pixops.h: const.
2203
2204         * gdk-pixbuf/gdk-pixbuf-util.c: const.
2205         
2206         * gdk-pixbuf/gdk-pixbuf-scale.c: const.
2207
2208         * gdk-pixbuf/gdk-pixbuf.h: constify lots of things.
2209
2210 2000-02-03  Federico Mena Quintero  <federico@helixcode.com>
2211
2212         * gdk-pixbuf/gdk-pixbuf-render.c
2213         (gdk_pixbuf_render_threshold_alpha): Added sanity check for width
2214         and height being >= 0.  Also, do nothing if either of them is
2215         zero.  Thanks to Ettore for pointing this out.
2216         (gdk_pixbuf_render_to_drawable): Likewise.
2217         (gdk_pixbuf_render_to_drawable_alpha): Likewise.
2218
2219 2000-02-02  Federico Mena Quintero  <federico@helixcode.com>
2220
2221         * gdk-pixbuf/io-gif.c (gif_get_lzw): Removed debugging g_print.
2222         Thanks to John Sullivan <sullivan@eazel.com> for the patch.
2223
2224         * gdk-pixbuf/testpixbuf-drawable.c (configure_cb): Get a new area
2225         of the screen when the window is resized.  Thanks to David
2226         N. Welton <davidw@linuxcare.com> for pointing this out.
2227         Misc. cleanups to the rest of the file.
2228
2229 2000-02-01  Federico Mena Quintero  <federico@helixcode.com>
2230
2231         * doc/tmpl/rendering.sgml: gnome_init() does not call
2232         gdk_rgb_init(), so don't mention that it does in the
2233         documentation.  Thanks to Alexander Kruuse <kruuse@home.se> for
2234         pointing this out.
2235
2236 2000-01-31  Havoc Pennington  <hp@redhat.com>
2237
2238         * gdk-pixbuf/Makefile.am (noinst_PROGRAMS): no testpixbuf-foo target
2239
2240 Mon Jan 31 12:38:50 2000  Owen Taylor  <otaylor@redhat.com>
2241
2242         * gdk-pixbuf/pixops/pixops.c (scale_line): Fix from Peter
2243         Wainwright to fix 4a => 4a scaling.
2244
2245 2000-01-29  Mark Crichton  <crichton@gimp.org>
2246
2247         * gdk-pixbuf-config: Oh dear, we weren't Telsa/Alan proof...
2248         put `libart-config --libs` in instead of -lart_lgpl.
2249
2250 2000-01-22  Federico Mena Quintero  <federico@helixcode.com>
2251
2252         * gdk-pixbuf/io-pnm.c (pnm_read_raw_scanline): Return an error on
2253         invalid pnm type.
2254         (pnm_read_ascii_scanline): Initialize data and mask.
2255
2256         * gdk-pixbuf/io-xpm.c (pixbuf_create_from_xpm): Initialize
2257         fallbackcolor to keep gcc happy.
2258
2259         * configure.in: Bumped version number to 0.5.0.
2260
2261         * gdk-pixbuf/pixops/timescale.c (dump_array): Removed unused variable.
2262         (main): Return 0.
2263
2264         * gdk-pixbuf/pixops/pixops.c (pixops_composite_color_nearest): Put
2265         parentheses around + in a shift to remove a compiler warning.
2266         (pixops_process): Likewise.
2267
2268         Patch from Ross Golder <rossigee@bigfoot.com> to create an RPM
2269         specfile:
2270
2271         * configure.in: Added gdk-pixbuf.spec to AC_OUTPUT.
2272
2273         * Makefile.am (EXTRA_DIST): Added gdk-pixbuf.spec.in
2274
2275 2000-01-22  Federico Mena Quintero  <federico@helixcode.com>
2276
2277         * gdk-pixbuf/gnome-canvas-pixbuf.c (PixbufPrivate): Removed the
2278         x_set and y_set arguments.  Now they are always on and start with
2279         defaults of 0.0 in units.
2280         (gnome_canvas_pixbuf_class_init): Likewise.
2281         (gnome_canvas_pixbuf_set_arg): Likewise.
2282         (gnome_canvas_pixbuf_get_arg): Likewise.
2283         (compute_viewport_affine): Likewise; always use the priv->x and
2284         priv->y fields.
2285
2286         * doc/tmpl/gnome-canvas-pixbuf.sgml: Modified to reflect the
2287         removal of the x_set/y_set arguments.
2288
2289 2000-01-21  Federico Mena Quintero  <federico@helixcode.com>
2290
2291         * gdk-pixbuf/gdk-pixbuf.c (gdk_pixbuf_ref): Return the same pixbuf
2292         as the input parameter.
2293
2294         * gdk-pixbuf/gdk-pixbuf-animation.c (gdk_pixbuf_animation_ref):
2295         Return the same animation as the input parameter.
2296
2297 2000-01-16  Elliot Lee  <sopwith@redhat.com>
2298
2299         * gdk-pixbuf/Makefile.am: Don't link against libgnomecanvaspixbuf.la
2300
2301 2000-01-16  Federico Mena Quintero  <federico@helixcode.com>
2302
2303         * configure.in: Removed the broken --enable-canvas-pixbuf option.
2304         Added the stuff necessary to substitute the variables in
2305         gnomecanvaspixbufConf.sh.in.
2306
2307         * gnomecanvaspixbufConf.sh.in: New gnome-config handler for the
2308         tiny gnomecanvaspixbuf library.
2309
2310         * Makefile.am: Build gnomecanvaspixbufConf.sh.
2311
2312         * gdk-pixbuf/Makefile.am: Create a libgnomecanvaspixbuf and only
2313         build it if gdk-pixbuf is being built outside of gnome-libs.
2314
2315         * doc/gdk-pixbuf-sections.txt: Added gdk_pixbuf_render_pixmap_and_mask().
2316
2317         * gdk-pixbuf/gdk-pixbuf-render.c
2318         (gdk_pixbuf_render_pixmap_and_mask): Renamed from
2319         gdk_pixbuf_render_pixmap().  Do not create the mask if it is not
2320         needed, and do not use a clipping mask when rendering the pixmap.
2321         Tweaked documentation a little.
2322
2323         * HACKING: New file with hacking policies for the gdk-pixbuf
2324         module.
2325
2326         * doc/Makefile.am (tmpl_sources): Added missing backslash.
2327
2328         * doc/Makefile.am: Use gnomecanvaspixbuf in gnome-config when
2329         scanning for docstrings.
2330
2331         * gdk-pixbuf/gdk-pixbuf-util.c (gdk_pixbuf_copy_area): Made sanity
2332         checks more stringent.  Removed "gint" abominations.  Made
2333         documentation consistent with the rest of the functions.
2334
2335         * doc/gdk-pixbuf-sections.txt: Added gdk_pixbuf_copy_area() to the
2336         utilities section.
2337
2338 2000-01-14  Jonathan Blandford  <jrb@redhat.com>
2339
2340         * gdk-pixbuf/gdk-pixbuf-render.c (gdk_pixbuf_render_pixmap): new
2341         function to let you create a gdk_pixmap from a gdk_pixbuf.
2342
2343 2000-01-11  Jacob Berkman  <jacob@helixcode.com>
2344
2345         * gdk-pixbuf/pixops/Makefile.am (INCLUDES): added
2346         $LIBART_CFLAGS to $INCLUDES
2347
2348 2000-01-10  Elliot Lee  <sopwith@redhat.com>
2349
2350         * configure.in, gdk-pixbuf/Makefile.am: Build a libcanvas_pixbuf.
2351
2352         * configure.in: Define version macros. Generate
2353         gdk-pixbuf/gdk-pixbuf-features.h. Always INSIDE_GNOME.
2354
2355         * gdk-pixbuf/Makefile.am: Add gdk-pixbuf-features.h
2356
2357         * gdk-pixbuf/gdk-pixbuf.c: Add definitions of
2358         gdk-pixbuf-features.h declarations, plus some initialization
2359         stubs.
2360
2361 2000-01-05  Owen Taylor  <otaylor@redhat.com>
2362
2363         * gdk-pixbuf/pixops/pixops.c: Fixed src_channels/dest_channels
2364         confusion. (Again caught by Tomas Ogren's Purify)
2365
2366 2000-01-07  Jonathan Blandford  <jrb@redhat.com>
2367
2368         * gdk-pixbuf/gdk-pixbuf-xform.c (gdk_pixbuf_rotate): comment out
2369         debugging printing.
2370
2371         * gdk-pixbuf/gdk-pixbuf-io.c: Added progressive animation loading.
2372         * gdk-pixbuf/gdk-pixbuf-io.h: Added progressive animation loading.
2373         * gdk-pixbuf/gdk-pixbuf-loader.c: Added progressive animation
2374         loading.
2375         * gdk-pixbuf/gdk-pixbuf-loader.h: Added progressive animation
2376         loading.
2377         * gdk-pixbuf/io-gif.c (image_load_increment): I think the
2378         ref-counting mess is finally fixed.  Added progressive animation
2379         loading.
2380         (gif_get_lzw): remove memory_leak
2381
2382         * doc/tmpl/gdk-pixbuf-loader.sgml: much longer long description
2383         added.
2384
2385 2000-01-05  Owen Taylor  <otaylor@redhat.com>
2386
2387         * gdk-pixbuf/pixops/pixops.c (pixops_process): Fix computation of end of run indices.
2388
2389         * gdk-pixbuf/pixops/pixops.c: Fix double increments when dest_channels == 4.
2390           (Pointed out by Tomas Ogren)
2391
2392 2000-01-05  Mark Crichton  <crichton@gimp.org>
2393
2394         * gdk-pixbuf/gdk-pixbuf-loader.c (gdk_pixbuf_loader_eat_header_write):
2395         Return 0 if gdk_pixbuf_load_loader_module returns FALSE.
2396
2397 2000-01-05 Elliot Lee <sopwith@redhat.com>
2398
2399         * gdk-pixbuf/pixops/Makefile.am: Link with -lm (to get 'ceil' function)
2400
2401 2000-01-05  Owen Taylor  <otaylor@redhat.com>
2402
2403         * doc/Makefile.am doc/gdk-pixbuf-sections.txt
2404           doc/gdk-pixbuf.sgml doc/tmpl/scaling.sgml:
2405         Added scaling functions into gtk-doc framework.
2406
2407         * gdk-pixbuf/gdk-pixbuf-scale.c: Documentation fixes.
2408
2409         * gdk-pixbuf/testpixbuf-scale.c (expose_cb): Simplify a bit.
2410
2411         * gdk-pixbuf/pixops/pixops.c (pixops_composite_color): Return
2412         immediately if scale_x or scale_y is 0.
2413
2414 2000-01-05  Owen Taylor  <otaylor@redhat.com>
2415
2416         * gdk-pixbuf/pixops/timescale.c: quick fix for initializing
2417         arrays in benchmark.
2418
2419 2000-01-05  Jonathan Blandford  <jrb@redhat.com>
2420
2421         * gdk-pixbuf/gdk-pixbuf-io.h: Change the order of the update func
2422         to make it more compatible with the rest of GTK.  Added animation
2423         framework for progressive loading.
2424
2425         * gdk-pixbuf/io-bmp.c (image_begin_load): Modified to handle new
2426         system.
2427         * gdk-pixbuf/io-ico.c (image_begin_load): ditto
2428         * gdk-pixbuf/io-png.c (image_begin_load): ditto
2429         * gdk-pixbuf/io-ras.c (image_begin_load): ditto
2430         * gdk-pixbuf/io-jpeg.c (image_begin_load): ditto
2431         * gdk-pixbuf/io-pnm.c (image_begin_load): ditto
2432         * gdk-pixbuf/io-tiff.c (image_begin_load): ditto
2433         * gdk-pixbuf/io-gif.c (image_begin_load): ditto
2434
2435 2000-01-05  Owen Taylor  <otaylor@redhat.com>
2436
2437         * gdk-pixbuf/pixops/README: Added a README with a TODO
2438         and some explainations of the algorithms.
2439
2440         * gdk-pixbuf/testpixbuf-scale.c: Set a background pixmap of None
2441         to reduce flashing when resizing.
2442
2443 2000-01-05  Owen Taylor  <otaylor@redhat.com>
2444
2445         * gdk-pixbuf/pixops/: Directory full of pixel data scaling
2446         code that will eventually migrate into libart.
2447
2448         * configure.in acconfig.h: Add checks for MMX compiler support
2449
2450         * gdk-pixbuf/gdk-pixbuf.h gdk-pixbuf/gdk-pixbuf-scale.c:
2451         Nice wrapper routines for the code in pixops that operate
2452         on pixbufs instead of raw data.
2453
2454         * gdk-pixbuf/testpixbuf-scale: Test program for scaling
2455         routines.
2456
2457 2000-01-05  Jonathan Blandford  <jrb@redhat.com>
2458
2459         * doc/tmpl/animation.sgml: Documentation changes.
2460
2461 2000-01-01  Federico Mena Quintero  <federico@helixcode.com>
2462
2463         * gdk-pixbuf/gdk-pixbuf.h (GdkPixbufAnimation): Added reference
2464         counting to animations.  A web browser may want to share a single
2465         copy of an animated GIF if it appears multiple times in a web
2466         page, for example.
2467
2468         * gdk-pixbuf/gdk-pixbuf-animation.c: New file.  Moved the
2469         animation functions here.
2470         (gdk_pixbuf_animation_new_from_file): Prettified.  Return a NULL
2471         animation if the loader does not support multiframe loading and
2472         the single-frame load returned NULL.  Check that the filename is
2473         not NULL.  Updated inline documentation.
2474         (gdk_pixbuf_animation_ref): New function.
2475         (gdk_pixbuf_animation_unref): New function.
2476         Removed gdk_pixbuf_animation_destroy() in favor of reference
2477         counting.
2478
2479         * gdk-pixbuf/gdk-pixbuf-io.c (gdk_pixbuf_new_from_file):
2480         Prettified.  Made ref_count assertion more paranoid.  Check that
2481         the filename is not NULL.
2482         (gdk_pixbuf_get_module): Use guchar * and guint for buffer and
2483         size, respectively.
2484         (gdk_pixbuf_new_from_xpm_data): Changed the "data" argument to
2485         const char **.
2486
2487         * gdk-pixbuf/io-gif.c (image_load_animation): Create the animation
2488         with a reference count of 1.
2489
2490         * gdk-pixbuf/Makefile.am (libgdk_pixbuf_la_SOURCES): Added
2491         gdk-pixbuf-animation.c.
2492
2493         * doc/tmpl/animation.sgml: Populated.  It is still missing a
2494         description of the overlay modes.
2495
2496         * doc/gdk-pixbuf-sections.txt: Added the animation section.  Moved
2497         the canvas item section to the end, as it will be moved later to
2498         gnome-libs.
2499
2500         * doc/gdk-pixbuf.sgml: Added the animation section.
2501
2502         * doc/Makefile.am (tmpl_sources): Added tmpl/animation.sgml.
2503
2504 1999-12-26  Peter Teichman  <pat@gnu.org>
2505
2506         * gdk-pixbuf/Makefile.am (libpixbuf_tiff_la_LIBADD): add
2507         $(LIBTIFF) to libpixbuf_tiff_la_LIBADD, proxying for mmarker.
2508         This closes bug #4676.
2509
2510 1999-12-23  Havoc Pennington  <hp@pobox.com>
2511
2512         * gdk-pixbuf/io-gif.c (image_load): Stuff that should have been
2513         set to NULL here (specifically context->animation) was not being
2514         set to NULL. use g_new0() to alloc the struct.
2515
2516 1999-12-20  Jonathan Blandford  <jrb@redhat.com>
2517
2518         * gdk-pixbuf/io-gif.c: finished work to make animated gifs load
2519         correctly.  Progressive loading needs some work, but that all
2520         needs doing from the gdk-pixbuf-loader end, not here.
2521
2522 1999-12-17  Jonathan Blandford  <jrb@redhat.com>
2523
2524         * gdk-pixbuf/gdk-pixbuf-io.c (gdk_pixbuf_animation_new_from_file):
2525         moved the file here.  It seems natural to put this function here,
2526         as that's where the gdk_pixbuf_new_from_file function is, but it's
2527         still a little convoluted.  The source files might be played with
2528         in a bit.
2529
2530 1999-12-14  Jonathan Blandford  <jrb@redhat.com>
2531
2532         * gdk-pixbuf/gdk-pixbuf-loader.c
2533         (gdk_pixbuf_loader_get_animation):  Gets the animation from the
2534         loader.
2535
2536 1999-12-16  Federico Mena Quintero  <federico@redhat.com>
2537
2538         * doc/tmpl/rendering.sgml: Added notice about initializing GdkRGB
2539         before using the GdkPixbuf rendering functions.  Thanks to Joe
2540         Shaw <joe@off.net> for pointing this out.
2541
2542 1999-12-13  Federico Mena Quintero  <federico@redhat.com>
2543
2544         * gdk-pixbuf/gnome-canvas-pixbuf.c
2545         (gnome_canvas_pixbuf_class_init): Renamed arguments to
2546         width_in_pixels, height_in_pixels, x_in_pixels, y_in_pixels, for
2547         consistency with the new canvas.
2548         (PixbufPrivate): Do the same renaming in the structure fields, for
2549         consistency.
2550
2551         * doc/tmpl/gnome-canvas-pixbuf.sgml: Updated for new argument names.
2552
2553 1999-12-12  Federico Mena Quintero  <federico@redhat.com>
2554
2555         * gdk-pixbuf/Makefile.am (libgdk_pixbuf_la_LDFLAGS): Use a
2556         conditional to see whether to link $(GNOME_LIBS) or not.
2557
2558 1999-12-10  Jonathan Blandford  <jrb@redhat.com>
2559
2560         * gdk-pixbuf/gdk-pixbuf-io.h: thinking about the new loading API.
2561
2562         * gdk-pixbuf/gdk-pixbuf-drawable.c (gdk_pixbuf_get_from_drawable):
2563         make a warning go away.
2564
2565         * gdk-pixbuf/gdk-pixbuf.h: added new prototypes for animations.
2566
2567         * gdk-pixbuf/gdk-pixbuf-loader.h: added new prototypes for
2568         animations.
2569
2570 1999-12-09  Michael Zucchi  <zucchi@zedzone.mmc.com.au>
2571
2572         * gdk-pixbuf/gdk-pixbuf.h: Enable gdk_pixbuf_get_from_drawable()
2573         api call.
2574
2575         * gdk-pixbuf/gdk-pixbuf-drawable.c (gdk_pixbuf_get_from_drawable):
2576         Filled in body of function.
2577         (rgbconvert): Added GdkColormap parameter, and to all conversion
2578         functions also.
2579         (convert_real_slow): New function - should convert ANY visual/data
2580         format properly, but it aint fast.  Used as a fallback when an
2581         optimised routine wont match.
2582         (rgbconvert): Do very specific tests on the data format to verify
2583         properly if the optimised version will do, otherwise use the
2584         fallback function for all other data formats.
2585
2586         * gdk-pixbuf/Makefile.am: Re-enabled building of
2587         textpixbuf-drawable.
2588
2589         * gdk-pixbuf/testpixbuf-drawable.c (main): Changed to use
2590         gdk_pixbuf_get_from_drawable().
2591
2592 1999-12-08  Arjan van de Ven <arjan@fenrus.demon.nl>
2593
2594         * gdk-pixbuf/gdk-pixbuf-drawable.c : Fixed the red/green/red
2595         bug on two occasions.
2596         * gdk-pixbuf/io-ras.c: Changed from the custom be32_to_cpu
2597         function to the generic glib one.
2598
2599 1999-12-08  Federico Mena Quintero  <federico@redhat.com>
2600
2601         * gdk-pixbuf/gdk-pixbuf-drawable.c: Fix includes.
2602         (gdk_pixbuf_get_from_drawable): Implemented the zillion sanity
2603         checks and API definition.  The body needs filling in and it needs
2604         to do the Right Thing(tm) for pixmaps plus the given colormap and
2605         windows and their own colormaps.
2606
2607         * gdk-pixbuf/gdk-pixbuf.h: Added prototype for
2608         gdk_pixbuf_get_from_drawable().  Killed gdk-pixbuf-drawable.h.
2609
2610         * gdk-pixbuf/Makefile.am: Re-added the gdk-pixbuf-drawable sources.
2611
2612         * doc/tmpl/from-drawables.sgml: Populated.
2613
2614         * doc/gdk-pixbuf.sgml: Added the from-drawables section.
2615
2616         * doc/Makefile.am (tmpl_sources): Added tmpl/from-drawables.sgml.
2617
2618         * doc/gdk-pixbuf-sections.txt: Added a section for getting pixbufs
2619         from drawables.
2620
2621 1999-12-07  Federico Mena Quintero  <federico@redhat.com>
2622
2623         * doc/tmpl/gnome-canvas-pixbuf.sgml: Added clarification about
2624         reference counting for GdkPixbuf structures.
2625
2626 1999-12-07  Martin Baulig  <martin@home-of-linux.org>
2627
2628         * gdk-pixbuf/Makefile.am (testpixbuf_LDADD): Conditionally
2629         include $(GNOME_LIBS) here.
2630
2631 1999-12-05  Arjan van de Ven <arjan@fenrus.demon.nl>
2632
2633         Added missing "include <string.h>" to:
2634         * gdk-pixbuf/io-ras.c
2635         * gdk-pixbuf/io-bmp.c
2636         * gdk-pixbuf/io-ico.c
2637
2638 1999-12-06  Federico Mena Quintero  <federico@redhat.com>
2639
2640         * gdk-pixbuf/gdk-pixbuf-io.c (file_formats): Patch from Arjan to
2641         fix an initializer.
2642
2643 1999-12-05  Federico Mena Quintero  <federico@redhat.com>
2644
2645         * gdk-pixbuf/Makefile.am (testpixbuf_LDADD): Add back
2646         $(GNOME_LIBS).  This must compile outside of gnome-libs.  If you
2647         want, send me a patch to do the conditional stuff properly.
2648         Otherwise, please read the GNOME Programming Guidelines,
2649         especially the "CVS policies" section.
2650
2651 1999-12-05  Jaka Mocnik  <jaka.mocnik@kiss.uni-lj.si>
2652
2653         * gdk-pixbuf/Makefile.am: removed GNOME_LIBS from testpixbuf_LDADD.
2654
2655 1999-12-05  Arjan van de Ven <arjan@fenrus.demon.nl>
2656
2657         * gdk-pixbuf/io-ico.c: Bug in palet-size
2658         calculation fixed
2659
2660 1999-12-04  Arjan van de Ven <arjan@fenrus.demon.nl>
2661
2662         * gdk-pixbuf/io-bmp.c: Major cleanup, added support for
2663         32 bpp and 4 bpp (uncompressed) images, fixed 1bpp.
2664
2665         * gdk-pixbuf/io-ras.c: Minor cleanup, ran through lclint
2666
2667         * gdk-pixbuf/io-ico.c: Minor cleanup, fixed 1bpp icons,
2668         ran through lclint.
2669
2670         * gdk-pixbuf/gdk-pixbuf-io.c: Added detection of .CUR files
2671         (Windows Cursor files). These are identical to .ICO files,
2672         except for the signature and 2 extra fields for the hotspot.
2673
2674 1999-12-03  Federico Mena Quintero  <federico@redhat.com>
2675
2676         * gdk-pixbuf/gnome-canvas-pixbuf.c (gnome_canvas_pixbuf_get_arg):
2677         Removed unused variable `item'.
2678
2679 1999-12-03  Jonathan Blandford  <jrb@redhat.com>
2680
2681         * gdk-pixbuf/io-gif.c (gif_fill_in_lines): added a comment to
2682         explain this function better.
2683
2684 1999-12-02  Federico Mena Quintero  <federico@redhat.com>
2685
2686         Source files moved from src/ to gdk-pixbuf/, to be consistent with
2687         other libraries.
2688
2689         * doc/Makefile.am: Modified for the new source directory.
2690
2691         * configure.in: Likewise.
2692
2693         * Makefile.am: Likewise.
2694
2695         * autogen.sh: Likewise.
2696
2697         * gdk-pixbuf/Makefile.am: Likewise.
2698
2699 1999-12-02  Federico Mena Quintero  <federico@redhat.com>
2700
2701         * src/testpixbuf.c: #include <config.h>, and fix includes.
2702
2703         * src/testpixbuf-drawable.c: #include <config.h>, and fix includes.
2704
2705         * src/io-xpm.c: Fix includes.
2706
2707         * src/io-tiff.c: Fix includes.
2708
2709         * src/io-ras.c: Fix includes, and do not include more stuff than needed.
2710
2711         * src/io-pnm.c: Fix inlcudes, and do not include more stuff than needed.
2712
2713         * src/io-png.c: Fix includes.
2714
2715         * src/io-ico.c: Fix includes, and do not include more stuff than needed.
2716
2717         * src/io-gif.c: Fix includes, and do not include more stuff than needed.
2718
2719         * src/io-bmp.c: Fix includes, and do not include more stuff than needed.
2720
2721         * src/gnome-canvas-pixbuf.c: Fix includes.
2722
2723         * src/gdk-pixbuf.c: Fix includes.
2724
2725         * src/gdk-pixbuf-util.c: Fix includes.
2726
2727         * src/gdk-pixbuf-render.c: Fix includes.
2728
2729         * src/gdk-pixbuf-io.h: Fix includes.
2730
2731         * src/gdk-pixbuf-drawable.c: Fix includes.
2732
2733         * src/gdk-pixbuf-drawable.h: Use angle brackets for the gdk-pixbuf
2734         include files.
2735
2736         * src/gdk-pixbuf-data.c: Fix includes.
2737
2738         * src/gdk-pixbuf-loader.c: #include <config.h>
2739
2740         * src/gdk-pixbuf-loader.h: Use angle brackets for the gdk-pixbuf
2741         include files.
2742
2743         * src/Makefile.am: Commented out the gdk-pixbuf-drawable stuff,
2744         since it is not finished.
2745
2746         * src/gdk-pixbuf.h: Removed unused transformation prototypes.
2747
2748         * src/gdk-pixbuf-util.c: New file with utility and convenience
2749         functions for pixbufs.
2750
2751         * src/Makefile.am (libgdk_pixbuf_la_SOURCES): Added gdk-pixbuf-util.c.
2752
2753         * doc/gdk-pixbuf-sections.txt: Added section for utility functions.
2754
2755         * doc/Makefile.am (tmpl_sources): Added tmpl/util.sgml.
2756
2757         * doc/gdk-pixbuf.sgml: Added the utilities section.
2758
2759         * doc/tmpl/util.sgml: Documentation for the utility functions.
2760
2761 1999-11-29  Owen Taylor  <otaylor@redhat.com>
2762
2763         * src/gdk-pixbuf-render.c (gdk_pixbuf_render_to_drawable_alpha):
2764         Keep the mask around until after we draw ... since
2765         the GC changes aren't flushed to the X server until we
2766         draw, destroying it before that may result in BadPixmap
2767         errors.
2768
2769 1999-11-30  Havoc Pennington  <hp@pobox.com>
2770
2771         * configure.in: Add AM_CONDITIONAL for inside gnome-libs
2772
2773         * src/Makefile.am: conditionalize GnomeCanvasPixbuf
2774
2775 1999-11-29  Federico Mena Quintero  <federico@redhat.com>
2776
2777         * src/Makefile.am: Uncomment the GnomeCanvasPixbuf sources.  This
2778         should be made conditional, not blindly commented out.
2779
2780 1999-11-29  Jonathan Blandford  <jrb@redhat.com>
2781
2782         * src/Makefile.am (ICO_LIB): Added another loader from Arjan to
2783         handle .ico files.  Cool.
2784
2785 1999-11-24  Jonathan Blandford  <jrb@redhat.com>
2786
2787         * src/io-bmp.c (OneLine24): new patch from Arjan to handle
2788         compressed bmps.
2789
2790 1999-11-24  James Henstridge  <james@daa.com.au>
2791
2792         * configure.in (AC_OUTPUT): altered hack to place the symlink in the
2793         top builddir rather than src.  This still builds fine, and does not
2794         get gtk-doc into an infinite loop when trying to find all the source
2795         files.
2796
2797 1999-11-23  Jonathan Blandford  <jrb@redhat.com>
2798
2799         * Removed #PRAGMA } from headers.  Also, make compile if you don't
2800         have it installed, already.
2801
2802 1999-11-22  Federico Mena Quintero  <federico@redhat.com>
2803
2804         * src/gnome-canvas-pixbuf.c (gnome_canvas_pixbuf_draw): Create the
2805         temporary buffer to the size of the interesction of the bounding
2806         box and the expose area, not the whole expose area.  This speeds
2807         up things a lot.
2808
2809         * src/gdk-pixbuf-render.c (gdk_pixbuf_render_threshold_alpha): Do
2810         not paint black on the mask, since we already cleared it in a
2811         single gdk_draw_rectangle() operation.
2812
2813 1999-11-22  Raja R Harinath  <harinath@cs.umn.edu>
2814
2815         * configure.in (GDK_PIXBUF_DIR): Fix for srcdir != builddir.
2816
2817 1999-11-22  Havoc Pennington  <hp@pobox.com>
2818
2819         * src/Makefile.am (GDK_PIXBUF_LIBS): Patch from Paul Fisher
2820         <pnfisher@redhat.com> adds all -lgdk-pixbuf and all other
2821         dependencies to LIBADD variables for loadable modules. Necessary
2822         for a Java dynamic loading thing to be able to figure it out.
2823
2824 1999-11-22  Havoc Pennington  <hp@pobox.com>
2825
2826         * src/io-png.c (image_load_increment): Call the update_area
2827         callback depending on the number of rows loaded in this increment.
2828
2829         * src/testpixbuf.c (main): slow down the progressive load demo
2830
2831 1999-11-16  Havoc Pennington  <hp@pobox.com>
2832
2833         * src/gdk-pixbuf-drawable.h: Get the quotes right on the #include
2834
2835 1999-11-22  Jonathan Blandford  <jrb@redhat.com>
2836
2837         * configure.in (GDK_PIXBUF_DIR): make the symlink.  Does not work
2838         for srcdir != buildir != .  Beats me why; I can't figure it out.
2839         AC_OUTPUT_COMMANDS doesn't seem to let me substitute it correctly.
2840
2841 1999-11-21  Jonathan Blandford  <jrb@redhat.com>
2842
2843         * src/gdk-pixbuf-io.c: added io-bmp from Arjan
2844         <arjan@fenrus.demon.nl>
2845
2846 1999-11-20  Michael Zucchi  <zucchi@zedzone.mmc.com.au>
2847
2848         * src/gdk-pixbuf-drawable.c (gdk_pixbuf_from_drawable_core):
2849         Rework/reorder of the code.  Each case has been separated into
2850         another function; its big but it should be quick.
2851         gdk_pixbuf_rgba_from_drawable() will now return a pixbuf with
2852         opaque alpha information.  Not all depths/formats have been
2853         tested, but 8, 15/16 and 24 (alinged 32) should work ok.
2854
2855 1999-11-17  Larry Ewing  <lewing@gimp.org>
2856
2857         * src/gnome-canvas-pixbuf.c (gnome_canvas_pixbuf_bounds):
2858         implement the bounds method correctly.
2859         (compute_viewport_affine): compute the affine need to fit the
2860         image within the viewport given by the args.
2861         (compute_render_affine): call compute_viewport_affine.
2862
2863 1999-11-16  Havoc Pennington  <hp@pobox.com>
2864
2865         * src/gdk-pixbuf-drawable.h: Use includes from the current
2866         directory, not the system directory.
2867
2868 Mon Nov 15 17:18:28 1999  George Lebl <jirka@5z.com>
2869
2870         * src/testpixbuf-drawable.c: use includes from the current directory
2871           rather then from the system include directory as gdk-pixbuf
2872           includes are not yet installed when this is compiled.
2873
2874 1999-11-13  Cody Russell  <bratsche@dfw.net>
2875         * src/testpixbuf-drawable.c: Added a test program for drawable
2876         code.
2877
2878         * src/Makefile.am: Build testpixbuf-drawable.
2879
2880 1999-11-12  Cody Russell  <bratsche@dfw.net>
2881
2882         * src/gdk-pixbuf-drawable.c: Merged in Michael Zucchi's changes.
2883
2884 1999-11-10  Federico Mena Quintero  <federico@redhat.com>
2885
2886         * doc/tmpl/gdk-pixbuf-loader.sgml: Populated.
2887
2888         * doc/gdk-pixbuf.signals: Put in the real names of signal
2889         arguments.
2890
2891         * src/gdk-pixbuf-loader.c: Improved documentation comments.
2892
2893 1999-11-10  Jonathan Blandford  <jrb@redhat.com>
2894
2895         * src/gdk-pixbuf-loader.c (gdk_pixbuf_loader_close): emit the
2896         closed signal.
2897
2898         * src/io-ras.c (OneLineMapped_file): Now can handle indexing
2899         correctly.  Patch from Arjan to do so.
2900
2901 1999-11-10  Michael Fulbright  <drmike@redhat.com>
2902
2903         * src/io-pnm.c (pnm_ascii_read_scanline): Fixed loading of ASCII PNM
2904         files.
2905
2906         * src/testpixbuf.c: Added final queued draw when done loading image.
2907
2908 1999-11-10  Jonathan Blandford  <jrb@redhat.com>
2909
2910         * src/gdk-pixbuf-io.c (gdk_pixbuf_load_module): removed spurious
2911         print statements.
2912
2913 1999-11-10  Federico Mena Quintero  <federico@redhat.com>
2914
2915         * src/gdk-pixbuf-io.c (gdk_pixbuf_new_from_xpm_data): Added
2916         documentation.
2917
2918 1999-11-09  Federico Mena Quintero  <federico@redhat.com>
2919
2920         * src/io-png.c: Fixed some incompatible pointer initializations.
2921
2922         * src/io-jpeg.c (image_load_increment): Remove unused variable.
2923
2924 1999-11-09  Michael Fulbright  <drmike@redhat.com>
2925
2926         * src/testpixbuf.c: Fixed it to use timeout to read from file
2927         for progressive loading. Set TBF_KBPS=n, where n is the number of
2928         kilobytes/second to simulate in downloading. n has to be an integer.
2929
2930         * src/io-jpeg.c: Slight cosmetic cleanup.
2931
2932         * src/io-pnm.c: Fixed raw PNM loading bug. Also discovered that ASCII
2933         PBM loading has a similar problem and will address tomorrow.
2934
2935 1999-11-09  Havoc Pennington  <hp@pobox.com>
2936
2937         * src/Makefile.am (libgdk_pixbuf_la_SOURCES): build the
2938         gdk-pixbuf-drawable stuff.
2939
2940 1999-11-09  Federico Mena Quintero  <federico@redhat.com>
2941
2942         * configure.in: Bumped version number to 0.4.
2943
2944 1999-11-09  Michael Fulbright  <drmike@redhat.com>
2945
2946         * src/io-pnm.c : Finished progressive PNM loading code. Should handle
2947         all types of PNM files now.
2948
2949         * src/io-jpeg.c (image_load_increment): Figured out problem with
2950         loading Progressive JPEG's progressively (say that 10 times fast).
2951         Currently for Progressive JPEG's the entire image is loaded before
2952         it is displayed. libjpeg supports a fancier mechanism which I may
2953         implement later.
2954
2955         With these changes all JPEG formats appear to load properly for me.
2956
2957 1999-11-08  Jonathan Blandford  <jrb@redhat.com>
2958
2959         * src/io-ras.c (image_load_increment): Final patch from Arjan.
2960         Seems to do progressive loading.
2961
2962 1999-11-08  Michael Fulbright  <drmike@redhat.com>
2963
2964         * src/io-pnm.c image_load (): Fixed so we do not create a separate
2965         pixel buffer when reading in image - we reuse the pixel data in
2966         the GdkPixbuf structure instead.
2967
2968 1999-11-08  Michael Fulbright  <drmike@redhat.com>
2969
2970         * src/io-pnm.c pnm_read_ascii_scanline (): Added support for
2971         ASCII PNM files. Note I haven't tested loaded ASCII PBM files because
2972         I can't seem to find a utility to convert into this format.
2973         Next is to add progressive loading support for the PNM format.
2974
2975 1999-11-07  Federico Mena Quintero  <federico@redhat.com>
2976
2977         * doc/tmpl/gnome-canvas-pixbuf.sgml: Finished detailed explanation
2978         of the width, height, x, and y setting and pixels arguments.
2979
2980 1999-11-05  Jonathan Blandford  <jrb@redhat.com>
2981
2982         * src/io-ras.c (image_load): third patch.  Now it seems to load.
2983
2984         * src/gdk-pixbuf-io.c: second patch Arjan van de Ven
2985         <arjan@fenrus.demon.nl> to autodetect/load the sunras files.
2986
2987         * src/io-ras.c (image_load): new file from Arjan van de Ven
2988         <arjan@fenrus.demon.nl> to begin the ras loader.
2989
2990 1999-11-05  Federico Mena Quintero  <federico@redhat.com>
2991
2992         * doc/gdk-pixbuf-sections.txt: Removed gdk-pixbuf-io, since it is
2993         for internal use only.
2994
2995         * doc/gdk-pixbuf.sgml: Likewise.
2996
2997         * doc/tmpl/gnome-canvas-pixbuf.sgml: Finished docs.
2998
2999 1999-11-05  Michael Fulbright  <drmike@redhat.com>
3000
3001         * src/io-pnm.c: Implemented support for reading raw PBM/PGM/PPM
3002         files from a file. Next step is support for ASCII files, and
3003         then incremental loading.
3004
3005 1999-11-04  Federico Mena Quintero  <federico@redhat.com>
3006
3007         * Makefile.am: Added doc to SUBDIRS.
3008
3009 1999-11-04  Michael Fulbright  <drmike@redhat.com>
3010
3011         * src/io-jpeg.c: Prettied up code slightly.
3012         * src/io-pnm.c:  Start of pnm loader (from file and progressively).
3013                          Doesn't do much yet (will finish tomorrow).
3014         * src/gdk-pixbuf-io.c: Added pnm to structure of known types.
3015
3016 1999-11-04  Federico Mena Quintero  <federico@redhat.com>
3017
3018         * doc/tmpl/rendering.sgml: Populated.
3019
3020         * doc/Makefile.am: Added the template files.
3021
3022 1999-11-04  Havoc Pennington  <hp@pobox.com>
3023
3024         * src/gdk-pixbuf-render.c (gdk_pixbuf_render_to_drawable): In
3025         docs, explain what a dither offset is for.
3026         (gdk_pixbuf_render_to_drawable_alpha): Explain why you would use
3027         this function vs. gdk_pixbuf_render_to_drawable().
3028
3029 1999-11-04  Havoc Pennington  <hp@pobox.com>
3030
3031         * configure.in: Use libart-config correctly; find gnome-config
3032         separately. Fix GNOME_LIBS to be correct in "no gnome installed
3033         yet" case.
3034
3035         * src/Makefile.am: Link to GNOME_LIBS instead of a hardcoded
3036         library list.
3037
3038         Patch untested in the inside-gnome-libs case, I need to commit
3039         then check out to the gnome-libs I'm using.
3040
3041 1999-11-04  Michael Fulbright  <drmike@redhat.com>
3042
3043         * src/io-jpeg.c (image_begin_load): Add update_func callback.
3044         * src/io-jpeg.c (image_load_increment): Call updated callback when
3045         new graphic data decoded.
3046
3047 1999-11-04  Jonathan Blandford  <jrb@redhat.com>
3048
3049         * src/gdk-pixbuf-loader.c (gdk_pixbuf_loader_update): handle the
3050         actual update.
3051         * src/io-png.c (image_begin_load): add a update_func callback.
3052         * src/io-gif.c (image_begin_load): add a update_func callback.
3053         (gif_get_lzw): added the update_func ability
3054
3055         * src/io-tiff.c (image_begin_load): add a update_func callback.
3056
3057 1999-11-04  Federico Mena Quintero  <federico@redhat.com>
3058
3059         * doc/tmpl/gdk-pixbuf.sgml: Populated.
3060
3061         * doc/tmpl/refcounting.sgml: Populated.
3062
3063         * doc/tmpl/file-loading.sgml: Populated.
3064
3065         * src/gdk-pixbuf.c: Added documentation comments.
3066
3067         * src/gdk-pixbuf-io.c (gdk_pixbuf_new_from_file): Added
3068         documentation comments.
3069
3070         * doc/: Finished integrating the documentation framework.
3071
3072 1999-11-03  Federico Mena Quintero  <federico@redhat.com>
3073
3074         * configure.in: Removed libgif stuff now that we do not depend on it.
3075         Added the necessary cruft for gtk-doc.
3076
3077         * src/Makefile.am: Unconditionally build the GIF loader.
3078
3079 1999-11-03  Jonathan Blandford  <jrb@redhat.com>
3080
3081         * src/io-gif.c (gif_read): renamed ReadOK to gif_read.
3082         Added a lot of comments to the file.
3083
3084         * src/Makefile.am (libpixbuf_gif_la_LIBADD): Remove dependency on
3085         lib*gif!!!!
3086
3087 1999-11-03  Michael Fulbright  <drmike@redhat.com>
3088
3089         * src/io-jpeg.c (image_load_increment): Further removal of
3090         bugginess in local buffering code. Handles grayscale jpegs
3091         correctly now.
3092
3093         * src/io-jpeg.c (image_load_stop): Was freeing local context
3094         for jpeg library before calling jpeg_decompres_finish ().
3095
3096 1999-11-03  Jonathan Blandford  <jrb@redhat.com>
3097
3098         * src/io-gif.c (image_load_increment): now handle arbitrary buffer
3099         sizes.
3100         (gif_get_lzw): set the transparency to the right val.
3101
3102 1999-11-03  Federico Mena Quintero  <federico@redhat.com>
3103
3104         * src/gnome-canvas-pixbuf.c (gnome_canvas_pixbuf_init):
3105         Initiailize the x and y fields.
3106         (gnome_canvas_pixbuf_destroy): Queue a redraw upon destruction.
3107         (PixbufPrivate): Renamed need_size_update to need_xform_update.
3108         (recompute_bounding_box): Do not use temporary values.
3109
3110 1999-11-03  Jonathan Blandford  <jrb@redhat.com>
3111
3112         * src/io-gif.c (set_gif_lzw_clear_code): new state.  Fixes
3113         un-compressed gifs.
3114
3115         * src/gnome-canvas-pixbuf.c (recompute_bounding_box): remove
3116         unneeded x,y,h,w vars.
3117
3118 1999-11-03  Larry Ewing  <lewing@gimp.org>
3119
3120         * src/gnome-canvas-pixbuf.c (compute_render_affine): adjust
3121         render_affine calculation for x,y offsets.
3122         (gnome_canvas_pixbuf_set_arg): add x,y args.
3123         (gnome_canvas_pixbuf_get_arg): add x,y args.
3124         (recompute_bounding_box): simply code using ArtDrect and the
3125         render_affine.  Removed compute_xform_vectors as it was no longer
3126         needed.
3127
3128 1999-11-03  Federico Mena Quintero  <federico@redhat.com>
3129
3130         * src/gnome-canvas-pixbuf.c (gnome_canvas_pixbuf_point): I'm a
3131         doofus.  Return a distance, not a boolean, for opaque images.
3132
3133         * src/gnome-canvas-pixbuf.c (recompute_bounding_box): Do proper
3134         rounding of bounding box coordinates.
3135         (gnome_canvas_pixbuf_bounds): Implemented the ::bounds() method.
3136         (gnome_canvas_pixbuf_draw): Use the correct alpha threshold value.
3137
3138 1999-11-03  Jonathan Blandford  <jrb@redhat.com>
3139
3140         * src/io-gif.c (gif_prepare_lzw): s/lwz/lzw/g
3141
3142 1999-11-03  Michael Fulbright  <drmike@redhat.com>
3143
3144         * src/io-jpg.c (image_load_increment): Fixed code which moved
3145         buffer around as new data comes in to work properly. JPEG progressive
3146         loading should be working now except for grayscale JPEG's, which I
3147         will look into next.
3148
3149 1999-11-03    <sopwith@redhat.com>
3150         * src/testpixbuf.c: A GtkFunction needs to return a value for deterministic behaviour.
3151           Also put dot printing back in.
3152
3153 1999-11-03    <jrb@redhat.com>
3154
3155         * src/io-gif.c (gif_get_extension): Read 'til the next empty block
3156         correctly, now.
3157
3158 1999-11-02  Cody Russell  <bratsche@dfw.net>
3159         * src/gdk-pixbuf-drawable.c: Changed the behavior to return NULL
3160         if part of the requested image is offscreen, rather than clipping
3161         the image.
3162
3163 1999-11-02  Jonathan Blandford  <jrb@redhat.com>
3164
3165         * src/io-gif.c (gif_fill_in_lines): Fill in the gif's blank areas
3166         for interlacing and progressive loading.
3167
3168 1999-11-02  Cody Russell  <bratsche@dfw.net>
3169         * src/gdk-pixbuf-drawable.c (gdk_pixbuf_from_drawable_core): Now
3170         calls gdk_pixbuf_new_from_art_pixbuf() instead of gdk_pixbuf_new().
3171
3172 1999-11-02  Jonathan Blandford  <jrb@redhat.com>
3173
3174         * src/io-gif.c (gif_main_loop): Now progressive gif loading works!
3175         It's a little slow though. )-:
3176
3177 1999-11-02 Elliot Lee <sopwith@redhat.com>
3178         * src/gdk-pixbuf-loader.[ch], src/gdk-pixbuf-io.h: Make the arguments to the
3179         write/load_increment operations const-correct.
3180
3181 1999-11-02  Federico Mena Quintero  <federico@redhat.com>
3182
3183         * src/gnome-canvas-pixbuf.c (gnome_canvas_pixbuf_point):
3184         Implemented the ::point() method.  We do a simple containment test
3185         instead of a full distance calculation since the canvas is going
3186         to change to that scheme, anyways.
3187
3188 1999-11-02 Elliot Lee <sopwith@redhat.com>
3189
3190         * src/testpixbuf.c: Allow using $TBF_READLEN to specify the size of the chunks
3191         that are read from the input file.
3192
3193 1999-11-02  Larry Ewing  <lewing@gimp.org>
3194
3195         * src/gnome-canvas-pixbuf.c (gnome_canvas_pixbuf_render): add aa
3196         render function.
3197         (gnome_canvas_pixbuf_class_init): add gnome_canvas_pixbuf_render
3198         to class.
3199
3200 1999-11-02  Federico Mena Quintero  <federico@redhat.com>
3201
3202         * src/gnome-canvas-pixbuf.c (compute_render_affine): Moved the
3203         affine computation code from ::draw() to here, since it is needed
3204         by ::point() as well.
3205
3206 1999-11-02 Elliot Lee <sopwith@redhat.com>
3207
3208         * src/gdk-pixbuf-loader.c: Reorganize gdk_pixbuf_loader_write into
3209         three functions, and eliminate duplication of code from write()
3210         and close(). Also fix bug where the 128-byte header was being
3211         written twice.
3212
3213 1999-11-01  Federico Mena Quintero  <federico@redhat.com>
3214         * src/gnome-canvas-pixbuf.c (recompute_bounding_box): Fixed
3215         bounding box computation.
3216
3217 1999-11-01  Federico Mena Quintero  <federico@redhat.com>
3218
3219         * src/gnome-canvas-pixbuf.c: Start of the pixbuf canvas item.
3220         Drawing affines seem to work.  Bounding box is fubared.  ::point()
3221         is not implemented.  This is a work in progress.
3222
3223         * src/Makefile.am: Added gnome-canvas-pixbuf.[ch] to the list of
3224         sources.
3225
3226         * configure.in: Sigh.  We need to link in libgnomeui for the
3227         canvas stuff.  This mess will disappear when gdk-pixbuf gets
3228         folded into gnome-libs.
3229
3230 1999-10-30  Jonathan Blandford  <jrb@redhat.com>
3231
3232         * src/io-gif.c: Some more work.  Now it generates a gdk_pixbuf of
3233         the right size, at a minimum, even if the image is squished and
3234         the wrong color.
3235         (ReadImage): lets get the offset right.  This will let transparent
3236         gifs work.
3237
3238 1999-10-29  Michael Fulbright  <drmike@redhat.com>
3239
3240         * src/io-jpeg.c: image_load_increment(): Fixed bug when
3241         image width was not a multiple of 4 - always use the
3242         gdk_pixbuf rowstride to increment pointers!
3243
3244 1999-10-29  Michael Fulbright  <drmike@redhat.com>
3245
3246         * src/io-jpeg.c: Added first cut at progressive jpeg loading.
3247         Currently does not handle either progressive jpeg files (jpeg
3248         files with multiple scans at different quality settings), but
3249         I plan on adding this support soon. These are fairly rare in
3250         my experience, so it shouldn't slow people down too much.
3251         Grayscale jpegs also don't work but that should be easy to fix.
3252
3253 1999-10-29  Michael Fulbright  <drmike@redhat.com>
3254
3255         * src/testpixbuf.c: Added title to windows so you can identify
3256         progressive and file windows.
3257
3258 1999-10-29  Michael Fulbright  <drmike@redhat.com>
3259
3260         * src/gdk-pixbuf-loader.c (gdk_pixbuf_loader_write): Actually
3261         load the image handler when we determine the image type.
3262
3263         * src/gdk-pixbuf-io.[ch] (gdk_pixbuf_load_module): Changed the
3264         previously static function load_image_handler () to
3265         a public function gdk_pixbuf_load_module (). It is needed in
3266         gdk-pixbuf-loader.c to load image handler modules.  This function
3267         is different from gdk_pixbuf_get_module (), which only returns
3268         a reference to the required handler, because it actually loads
3269         the handler into memory. Both actions should possibly be combined
3270         in a convenience function since one w/o the other doesn't seem to
3271         make much sense.
3272
3273 1999-10-28  Jonathan Blandford  <jrb@redhat.com>
3274
3275         * src/gdk-pixbuf-loader.c (gdk_pixbuf_loader_write): don't send a
3276         0 length buffer.
3277
3278 1999-10-28  Federico Mena Quintero  <federico@redhat.com>
3279
3280         * src/gdk-pixbuf-render.c (gdk_pixbuf_render_to_drawable): New
3281         function to render a portion of a pixbuf to a drawable.  Ignores
3282         alpha information and takes in a GC.
3283         (gdk_pixbuf_render_to_drawable_alpha): New function to render a
3284         portion of a pixbuf to a drawable.  It automatically creates a GC
3285         and a clipping mask for alpha pixbufs.
3286
3287 1999-10-28  Jonathan Blandford  <jrb@redhat.com>
3288
3289         * src/gdk-pixbuf.h: turned convenience macros into convenience
3290         functions so some error checking could be added.
3291
3292         * src/io-tiff.c (image_load_increment): started work on the tiff
3293         non-incremental loader.
3294         (image_begin_load): Finished the incremental loader.
3295
3296         * src/io-gif.c (image_load_increment): started work on the gif
3297         incremental loader.
3298
3299         * src/gdk-pixbuf-io.h: Changed ModuleType to GdkPixbufModule.
3300
3301 1999-10-27  Federico Mena Quintero  <federico@redhat.com>
3302
3303         * src/gdk-pixbuf-render.c (gdk_pixbuf_render_threshold_alpha): New
3304         function to threshold a pixbuf's alpha channel into a bitmap.
3305
3306         * src/gdk-pixbuf.c (gdk_pixbuf_new): Fixed so that it will
3307         contemplate future extensions to ArtPixBuf's formats.
3308
3309         * src/io-png.c (png_info_callback): Use the new API of gdk_pixbuf_new().
3310
3311         * src/gdk-pixbuf.h (gdk_pixbuf_get_height): Added some convenience
3312         macros to fetch the ArtPixBuf's fields.
3313
3314 1999-10-27  Havoc Pennington  <hp@pobox.com>
3315
3316         * src/testpixbuf.c (main): Display the progressive load
3317
3318         * src/io-png.c (setup_png_transformations): Break transformation
3319         code into separate function
3320         (png_info_callback): Use setup_png_transformations
3321
3322 1999-10-27  Havoc Pennington  <hp@pobox.com>
3323
3324         * src/gdk-pixbuf-io.c (gdk_pixbuf_new_from_xpm_data): Check
3325         properly whether the XPM module has already been loaded
3326         (gdk_pixbuf_new_from_file): Check properly if loader module
3327         was already loaded (was checking if load symbol was present
3328         in order to decide whether to re-load; should check module !=
3329         NULL, then load != NULL)
3330         (image_handler_load): Check in present working directory,
3331         makes it easier to debug for now
3332         (file_formats): This array initializer was seriously on crack,
3333         was assigning a function pointer to a GModule*
3334
3335         * src/testpixbuf.c (main): Change type of pixbuf_loader to GdkPixbufLoader*
3336
3337 1999-10-27  Havoc Pennington  <hp@pobox.com>
3338
3339         * src/gdk-pixbuf-loader.c (gdk_pixbuf_loader_finalize):
3340         Fix typo that prevented compilation
3341         (gdk_pixbuf_loader_destroy): ditto
3342
3343 1999-10-27  Federico Mena Quintero  <federico@redhat.com>
3344
3345         * src/gdk-pixbuf-loader.c (gdk_pixbuf_loader_new): Return a
3346         GdkPixbufLoader, not a GtkObject.
3347         (gtk_marshal_NONE__INT_INT_INT_INT): Made static.
3348         (gdk_pixbuf_loader_get_type): Documented.
3349         (gdk_pixbuf_loader_class_init): Initialize the parent class
3350         correctly.
3351         (gdk_pixbuf_loader_destroy): Added sanity checks. Call the parent
3352         class destroy function.
3353         (gdk_pixbuf_loader_new): Documented.
3354         (gdk_pixbuf_loader_finalize): Call the parent class finalize
3355         function.
3356         (gdk_pixbuf_loader_write): Use size_t for count.
3357
3358 1999-10-27  Michael Fulbright  <drmike@redhat.com>
3359
3360         * src/gdk-pixbuf-loader.c (gdk_pixbuf_loader_destroy): Fixed
3361         logic so we only try to close loader if it wasn't previously closed.
3362
3363 1999-10-27  Michael Fulbright  <drmike@redhat.com>
3364
3365         * src/gdk-pixbuf-loader.c: Made sure image_loader struct member of
3366         pixbuf_loader properly initialized.
3367
3368         * src/testpixbuf.c: Made sure we cleanup pixbuf_loader properly
3369         when done.
3370
3371 1999-10-26  Jonathan Blandford  <jrb@redhat.com>
3372
3373         * src/gdk-pixbuf-io.c (image_handler_load): load the vtable fully.
3374
3375         * src/gdk-pixbuf-loader.c: Finished initial cut at the object.
3376
3377 1999-10-26  Havoc Pennington  <hp@pobox.com>
3378
3379         * src/gdk-pixbuf-loader.h: fix signals
3380
3381         * src/gdk-pixbuf-io.h: add new vtable fields
3382
3383
3384 1999-10-26  Jonathan Blandford  <jrb@redhat.com>
3385
3386         * src/gdk-pixbuf-loader.h: New Class.  Beginning of progrssive
3387         loading.
3388
3389 1999-10-25  Federico Mena Quintero  <federico@redhat.com>
3390
3391         * configure.in (CFLAGS): Patch from Uwe Koloska
3392         <koloska@Rcs1.urz.tu-dresden.de> to fix a stupid typo of mine.
3393
3394 1999-10-22  Havoc Pennington  <hp@pobox.com>
3395
3396         * src/io-xpm.c (mem_buffer): Clean up stupid
3397         increment-inside-array-dereference thing
3398
3399         * src/testpixbuf.c: Add XPM data tests.
3400
3401         * src/io-xpm.c: Make the XPM data buffer const, fix const
3402         correctness throughout the code.
3403
3404 1999-10-22  Havoc Pennington  <hp@pobox.com>
3405
3406         * src/gdk-pixbuf.h: Export gdk_pixbuf_new_from_xpm_data()
3407
3408 1999-10-22  Havoc Pennington  <hp@pobox.com>
3409
3410         * src/io-xpm.c (image_load_xpm_data): Export this symbol for
3411         loading an XPM from memory.
3412
3413         * src/gdk-pixbuf-io.c (gdk_pixbuf_new_from_xpm_data): New
3414         function, loads pixbuf from xpm data
3415         (image_handler_load): Add g_return_if_fail() to ensure the same
3416         module isn't loaded twice. Add g_module_symbol() to scan for XPM
3417         loader function.
3418
3419 1999-10-22  Federico Mena Quintero  <federico@redhat.com>
3420
3421         * src/io-png.c (image_load): Patch from Kristian Hogsberg
3422         Kristensen <hogsberg@daimi.au.dk> to avoid allocating extra row
3423         buffers; the rows can be read in directly into the main pixel
3424         buffer.
3425
3426 1999-10-20  Federico Mena Quintero  <federico@redhat.com>
3427
3428         * src/gdk-pixbuf-io.c (image_handler_load): Free path.
3429
3430 1999-10-20  Federico Mena Quintero  <federico@redhat.com>
3431
3432         * configure.in: Bumped version number to 0.3.
3433
3434         * src/Makefile.am (lbgdk_pixbuf_la_LDFLAGS): Added a libtool
3435         version number for the library.
3436
3437 1999-10-20  Federico Mena Quintero  <federico@redhat.com>
3438
3439         * src/gdk-pixbuf.h (GdkPixbuf): Removed the unref_fn field.  Now
3440         all memory management of the buffer is done by libart.
3441
3442         * src/gdk-pixbuf.c (gdk_pixbuf_unref): Do destruction here.
3443         Removed gdk_pixbuf_destroy, gdk_pixbuf_duplicate.
3444
3445         * src/gdk-pixbuf-data.c (gdk_pixbuf_new_from_data): Implemented in
3446         terms of the libart functions.  Removed the old code.
3447
3448         * src/gdk-pixbuf-io.c (image_handler_load): Removed the save
3449         symbols.  Saving will not be implemented in GdkPixbuf.
3450
3451         * src/io-gif.c: Removed the saving stub.
3452         (image_load): Fixed memory management to fail gracefully if we run
3453         out of memory while loading the image.  Close the gif file when we
3454         are done.  This still needs more error handling for the DGif
3455         functions.
3456
3457         * src/io-jpeg.c (image_load): Some robustness fixes.
3458
3459         * src/io-png.c: Removed the saving stuff.
3460         (image_load): Some memory management fixes.
3461
3462         * src/io-tiff.c (image_load): Ditto.
3463
3464         * src/io-xpm.c (pixbuf_create_from_xpm): Ditto.
3465
3466 1999-10-18  Havoc Pennington  <hp@pobox.com>
3467
3468         * subautogen.sh: New name for macros/autogen.sh
3469
3470         * autogen.sh: use subautogen.sh
3471
3472 1999-10-18  Federico Mena Quintero  <federico@redhat.com>
3473
3474         * src/*: Reindented to use the GNOME Indentation.  Renamed
3475         GdkPixBuf to GdkPixbuf, for consistency with the function names
3476         (and it is also easier to type) :-)
3477
3478 1999-10-18  Havoc Pennington  <hp@pobox.com>
3479
3480         * configure.in: Use AM_PATH_GLIB instead of glib-config directly
3481
3482         * src/Makefile.am: Re-enable testpixbuf with GTK_CFLAGS/GTK_LIBS
3483
3484 1999-10-18  Havoc Pennington  <hp@pobox.com>
3485
3486         * Makefile.am (SUBDIRS): Remove "macros"
3487
3488         * configure.in: Don't use GNOME_INIT, handle case where we are
3489         inside gnome-libs. AM_PATH_GTK for the GIF test
3490
3491         * src/Makefile.am: Change flags to work without libgnomeui,
3492         comment out testpixbuf for now
3493
3494 1999-10-18  Federico Mena Quintero  <federico@redhat.com>
3495
3496         * configure.in: Use $GTK_LIBS as the extra libs when checking for
3497         libgif/libungif, as they need the X libraries.  Fixes bug #2472.
3498
3499 1999-10-10  Cody Russell  <bratsche@dfw.net>
3500         * src/gdk-pixbuf-drawable.c: core function now determines whether
3501         the requested geometry is on screen or not, and if some is not
3502         then the request is clamped to geometry that is on the screen.
3503
3504         Changed 'pixbuf' to 'art_pixbuf' in core function.
3505
3506 1999-10-08  Michael Fulbright  <drmike@redhat.com>
3507
3508         * src/gdk-pixbuf-data.c: Added to load rgb data from const data.
3509
3510         * src/testpifbuf: Changed test program to display cdrom from rgb data
3511         if no filename given to test program.
3512
3513 1999-10-07  Cody Russell  <bratsche@dfw.net>
3514         * src/gdk-pixbuf-drawable.[ch]: Added. (Actually, Miguel committed
3515         them, but I wrote them).
3516
3517         * src/gdk-pixbuf-drawable.h: Added a missing ; so things will now
3518         compile.
3519
3520         * src/Makefile.am: Added gdk-pixbuf-drawable.[ch] to
3521         libgdk_pixbuf_la_SOURCES and libgdk_pixbufinclude_HEADERS.
3522
3523         * src/gdk-pixbuf-drawable.c: Added #include "gdk-pixbuf-drawable.h"
3524         to fix compilation.
3525
3526         * src/gdk-pixbuf-drawable.[ch]: Changed functions to return
3527         GdkPixBuf* instead of ArtPixBuf*.
3528
3529 1999-09-22  Michael Meeks  <michael@nuclecu.unam.mx>
3530
3531         * src/gdk-pixbuf.c (gdk_pixbuf_new): created.
3532         (gdk_pixbuf_scale): use gdk_pixbuf_new + return a new scaled image.
3533
3534         * src/gdk-pixbuf.h (struct _GdkPixBuf): Re-organise struct, + add
3535         GdkPixBufUnrefFunc + gdk_pixbuf_new.
3536
3537         * src/io-jpeg.c (image_load): clean to use gdk_pixbuf_new.
3538
3539         * src/io-xpm.c (_pixbuf_create_from_xpm): ditto.
3540
3541         * src/io-tiff.c (image_load): ditto + fix leak
3542
3543         * src/io-png.c (image_load): ditto + add more exit points; monitor.png
3544         crashes this module ( add warning :-)
3545
3546         * src/io-bmp.c (image_load): ditto.
3547
3548         * src/io-gif.c (image_load): ditto.
3549
3550 1999-09-18  Michael Meeks  <michael@nuclecu.unam.mx>
3551
3552         * src/gdk-pixbuf.c (gdk_pixbuf_scale): Hack rgba support in so
3553         it doesn't crash scaling with alpha.
3554
3555 1999-09-17  Federico Mena Quintero  <federico@redhat.com>
3556
3557         * src/io-bmp.c (image_load): Set the initial ref_count to 1.
3558
3559         * src/io-gif.c (image_load): Likewise.
3560
3561         * src/io-jpeg.c (image_load): Likewise.
3562
3563         * src/io-png.c (image_load): Likewise.
3564
3565         * src/io-tiff.c (image_load): Likewise.
3566
3567         * src/io-xpm.c (_pixbuf_create_from_xpm): Likewise.
3568
3569         * src/gdk-pixbuf-io.c (gdk_pixbuf_load_image): Added an assertion
3570         for the ref_count to be != 0.
3571
3572         * src/gdk-pixbuf.c (gdk_pixbuf_ref): Be more paranoid with sanity
3573         checking.
3574         (gdk_pixbuf_unref): Fix incorrect sanity check and comparison.
3575
3576 1999-08-09  Federico Mena Quintero  <federico@nuclecu.unam.mx>
3577
3578         * src/io-png.c (image_save): Fixed compiler warnings.  Fixed write
3579         to unallocated memory (row_ptr), and fixed its type as well.  Take
3580         into account the ArtPixbuf's rowstride when assigning the row
3581         pointers.
3582
3583         * src/gdk-pixbuf.c: Fixup includes.
3584
3585         * src/gdk-pixbuf-io.c: Likewise.
3586
3587 Sat Jul 31 19:19:47 CEST 1999
3588
3589         * src/gdk-pixbuf-io.c:
3590         * src/io-png.c: Fixed two obvious C syntax bugs
3591
3592 1999-07-29  Mark Crichton  <crichton@gimp.org>
3593
3594         * src/io-png.c (image_save): Added PNG saving function
3595
3596         * src/gdk-pixbuf-io.c: Changed image_save function format.  Now it's
3597         image_save(GdkPixBuf *p, FILE *f, ...)
3598
3599
3600 1999-07-26  Michael Zucchi  <mzucchi@denr.sa.gov.au>
3601
3602         * src/Makefile.am (*_LIB): Only build the relevant loaders which
3603         require extra libraries if we actually have those libraries.
3604
3605 1999-07-23  Richard Hestilow  <hestgray@ionet.net>
3606
3607         * src/gdk-pixbuf.h: Include glib.h as it uses g* datatypes
3608         * gdk_pixbufConf.sh.in: Added for gnome-config
3609         * Makefile.am:
3610         * configure.in: Modified to generate gdk_pixbufConf.sh
3611
3612 1999-07-20  Mark Crichton  <crichton@gimp.org>
3613
3614         * src/gdk-pixbuf.c (gdk_pixbuf_rotate): Fixed rotation.  Now a bbox
3615         calculation needs to be done.
3616
3617 1999-07-18  Larry Ewing  <lewing@gimp.org>
3618
3619         * src/io-xpm.c:
3620         * src/io-gif.c:
3621         * src/io-png.c:
3622         * src/io-jpeg.c: Fix a few memory leaks in the, most of them in
3623         error cases but one or two in the common case.  There are probably
3624         a few small ones left.
3625
3626 1999-07-18  Mark Crichton  <crichton@gimp.org>
3627
3628         * configure.in: removed version.h.
3629
3630         * src/gdk-pixbuf-io.c (pixbuf_check_tiff): Minor readability
3631         improvements.
3632
3633 1999-07-17  Mark Crichton  <crichton@gimp.org>
3634
3635         * src/gdk-pixbuf.c: Removed gdk_pixbuf_free, redundant code.
3636         (gdk_pixbuf_rotate): Added pixbuf rotation code.
3637         (gdk_pixbuf_scale): Changed // comments to /* */
3638
3639         * src/gdk-pixbuf.h (gdk_pixbuf_destroy): Added gdk_pixbuf_destroy
3640         function to header.
3641
3642 1999-07-16  Larry Ewing  <lewing@gimp.org>
3643
3644         * src/testpixbuf.c (expose_func): reverted the expose everything
3645         changes, I'm not sure why these went in.
3646         (config_func): bring this up to date with the new pixbuf_scale
3647         semantics.
3648
3649         * src/gdk-pixbuf-io.c: added a couple of warnings to the module
3650         loading code so that poeple can diagnose problems better.
3651
3652         * src/gdk-pixbuf.c (gdk_pixbux_scale): fix the borkedness, also it
3653         no longer allocates a new pixbuf, which make things nicer for the
3654         rest of the code.  Unfortunately there is still a problem with
3655         scaling rgba images.
3656
3657 1999-07-16  Mark Crichton  <crichton@gimp.org>
3658
3659         * src/testpixbuf.c (config_func): ConfigureEvent handler.  This
3660         calls gdk_pixbuf_scale.  However, something is not working.
3661         N.B.: current pixmap is now stored in user_data with a key of
3662         "pixmap"
3663
3664         * src/gdk-pixbuf.c (gdk_pixbuf_scale): Implemented scaling function.
3665         Something is still borked, however.
3666
3667 1999-07-15  Larry Ewing  <lewing@gimp.org>
3668
3669         * src/io-jpeg.c (image_load): add raph@gimp.org's fix to the jpeg
3670         indexing routine
3671
3672         * src/testpixbuf.c (main): fix up the file routines a little so
3673         that you can load multiple files given the file names
3674
3675 1999-07-14  Larry Ewing  <lewing@gimp.org>
3676
3677         * src/testpixbuf.c (expose_func): added an almost proper expose
3678         handler for testpixbuf
3679
3680 1999-07-13  Mark Crichton  <crichton@gimp.org>
3681
3682         * configure.in: Fixed GIF check.  Replaced " with '
3683         * src/gdk-pixbuf.c: More (minor) work on gdk_pixbuf_scale
3684
3685 1999-07-13  Mark Crichton  <crichton@gimp.org>
3686
3687         * configure.in: I am a bonehead.  Added gif-lib check.