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