]> Pileus Git - ~andy/gtk/blob - gdk-pixbuf/ChangeLog
Add new files.
[~andy/gtk] / gdk-pixbuf / ChangeLog
1 2005-05-25  Matthias Clasen  <mclasen@redhat.com>
2
3         * Makefile.am: Add new files. 
4
5         * gdk-pixbuf.symbols: Add new api.
6
7         * gdk-pixbuf.h: Include gdk-pixbuf-simple-anim.h here.
8
9         * gdk-pixbuf-simple-anim.[hc]: Add a way to construct
10         simple animations out of pixbufs.  (#135161, Dom Lachowicz)
11
12 2005-05-24  Sven Neumann  <sven@gimp.org>
13
14         * io-png.c: allow to specify the PNG compression level by passing
15         a "compression" parameter to the PNG save function (bug #305337).
16
17         * gdk-pixbuf-io.c (gdk_pixbuf_save): document the new parameter.
18
19 2005-04-09  Matthias Clasen  <mclasen@redhat.com>
20         
21         * Makefile.am: Use $(NM), not nm directly. (#301299, 
22         Nguyen Thai Ngoc Duy)
23
24         * io-bmp.c (gdk_pixbuf__bmp_image_save_to_callback): 
25         Don't overflow the stack.  (Jakub Jelinek, Arjan van de Ven)
26
27 2005-04-08  Matthias Clasen  <mclasen@redhat.com>
28
29         * io-pcx.c: No debugging output, please. (#173107,
30         John Ellis)
31
32 2005-04-07  Matthias Clasen  <mclasen@redhat.com>
33
34         * io-bmp.c (DecodeColormap): Initialize the colormap to 
35         zero.  (#171762, David Costanzo)
36
37 2005-03-30  Matthias Clasen  <mclasen@redhat.com>
38
39         * io-bmp.c: Avoid bus errors due to unaligned access. (#168173,
40         Morten Welinder, Ivan Wong)
41
42 2005-03-29  Matthias Clasen  <mclasen@redhat.com>
43
44         * io-tga.c (parse_rle_data): Fix the update areas for incremental
45         loading of compressed tgas.  (#171883, David Costanzo)
46
47 2005-03-27  Matthias Clasen  <mclasen@redhat.com>
48
49         * io-bmp.c (DoCompressed): Use the correct update regions for
50         compressed bmps.  (#150664, Owen Taylor, test images provided
51         by David Costanzo)
52
53 Sun Mar 27 19:59:52 2005  Manish Singh  <yosh@gimp.org>
54
55         * io-bmp.c (grow_buffer): reject 0-sized buffers as corrupt header
56         data. Fixes bug #171707.
57
58 2005-03-25  Matthias Clasen  <mclasen@redhat.com>
59
60         * gdk-pixbuf-data.c (gdk_pixbuf_new_from_data): Use canonical
61         property names.
62
63 2005-03-21  Matthias Clasen  <mclasen@redhat.com>
64
65         * gdk-pixbuf.c (gdk_pixbuf_class_init): Mark param spec strings
66         as static.
67
68 2005-03-14  Matthias Clasen  <mclasen@redhat.com>
69
70         Make PLT-reduction work with gcc4, and don't include
71         everything in gdk-pixbuf-alias.h:
72         
73         * gdk-pixbuf.symbols: Group symbols by header and source file.
74         * /makegdkpixbufalias.pl: Protect definitions by the same 
75         preprocessor symbols used to guard the headers. Move
76         the alias declarations to a separate file which is 
77         produced when calling makegdkpixbufalias.pl -def
78         * Makefile.am (gdk-pixbuf-aliasdef.c): Add a rule to generate 
79         this file.
80         * *.c: Include gdk-pixbuf-alias.h after the other headers,
81         include gdk-pixbuf-aliasdef.c at the bottom.
82
83 2005-03-10  Tor Lillqvist  <tml@novell.com>
84
85         * gdk-pixbuf-core.h
86         * gdk-pixbuf-io.c
87         * gdk-pixbuf.symbols: Implement DLL ABI stablility for
88         gdk_pixbuf_save() and gdk_pixbuf_savev(). (#167973)
89
90 2005-03-09  Matthias Clasen  <mclasen@redhat.com>
91
92         * io-gif-animation.c (gdk_pixbuf_gif_anim_frame_composite): Fix 
93         a C99ism.  (#169741, Morten Welinder)
94
95 2005-03-08  Matthias Clasen  <mclasen@redhat.com>
96
97         * gdk-pixbuf.c (gdk_pixbuf_class_init): Use canonical
98         form of the name when registering properties. 
99
100         * gdk-pixbuf.symbols: Add the new attributes here, too.
101         
102         * gdk-pixbuf-core.h: Use G_GNUC_NULL_TERMINATED where
103         appropriate.  (#165682, Marc Meissner)
104
105 2005-03-07  Matthias Clasen  <mclasen@redhat.com>
106
107         * io-xpm.c: Use a generated table of offsets
108         into a big const string to avoid relocations
109         in the rgb color table. (#168901, Tommi Komulainen)
110         
111         * gen-color-table.pl: Script to generate the table,
112         copied from Owen Taylors script by the same name
113         in Pango.
114         
115         * xpm-color-table.h: The generated table.
116
117 2005-03-03  Matthias Clasen  <mclasen@redhat.com>
118
119         * io-xpm.c (pixbuf_create_from_xpm): Check the number
120         of scanned items.  (#168906, Morten Welinder)
121
122         Make the gif loader handle oom when loading 
123         animations.  (#168857, Tommi Komulainen)
124         
125         * io-gif-animation.c (gdk_pixbuf_gif_anim_frame_composite): 
126         Handle oom by returning NULL.
127
128         * io-gif.c (gif_get_lzw): Return an error if composite 
129         returns NULL.
130
131 2005-02-28  Matthias Clasen  <mclasen@redhat.com>
132
133         * pixops/*.S: Add .note.GNU-stack sections to Mark these as not 
134         requiring an executable stack.
135         
136 2005-02-23  Matthias Clasen  <mclasen@redhat.com>
137
138         * gdk-pixbuf-io.c: Document BMP saving support.
139
140         * io-bmp.c: Support saving as BMP. (168173, Ivan Wong)
141
142         * io-ico.c: Fix a typo.  (#168173, Ivan Wong)
143
144 2005-02-15  Matthias Clasen  <mclasen@redhat.com>
145
146         * io-pnm.c (pnm_skip_whitespace): Don't read over the end of
147         the buffer if '#' appears at the very end.  (#167141, Doug Morgan)
148
149 2005-02-05  Hans Breuer  <hans@breuer.org>
150
151         * makefile.msc : rule for gdk_pixbuf.def
152
153 2005-02-07  Matthias Clasen  <mclasen@redhat.com>
154
155         * io-pnm.c (pnm_read_next_value): Pass in the max number 
156         of bytes to read.
157         (pnm_read_ascii_scanline): And use it here to enable 
158         parsing of pbm images without whitespace between the 
159         pixels.  (#165803, Samuel Hym)
160
161 2005-01-22  Matthias Clasen  <mclasen@redhat.com>
162
163         * gdk-pixbuf-loader.c (gdk_pixbuf_loader_new_with_type) 
164         (gdk_pixbuf_loader_new_with_mime_type): Close the loader
165         before unreffing it in the error case.  (#164915, Crispin 
166         Flowerday)
167
168 2005-01-12  Owen Taylor <otaylor@redhat.com>
169
170         * Makefile.am:  Use grep | head -n 1 instead of grep -m 1 
171         which doesn't work
172         with slightly older versions of GNU grep in 
173         install-libtool-import-lib rule.
174
175 2005-01-08  Matthias Clasen  <mclasen@redhat.com>
176
177         * === Released 2.6.1 ===
178         
179 2005-01-04  Matthias Clasen  <mclasen@redhat.com>
180
181         * io-bmp.c (DecodeHeader): Error on compressed images with 
182         negative height. Also make uncompressed images with data_offset
183         != header_size work.  (#150664, Owen Taylor)
184
185 2005-01-02  Matthias Clasen  <mclasen@redhat.com>
186
187         * pixops/pixops.c (bilinear_box_make_weights): Really fix the
188         math to make the vectors sum up to 1, making GDK_INTERP_HYPER
189         work again. (#162703, Dennis Nezic)
190
191 2004-12-27  Matthias Clasen  <mclasen@redhat.com>
192
193         * gdk-pixbuf-animation.c (gdk_pixbuf_animation_new_from_file) 
194         Avoid deadlock. Pointed out by Callum McKenzie.
195         
196 Wed Dec 22 01:17:44 2004  Jonathan Blandford  <jrb@redhat.com>
197
198         * queryloaders.c (main): print out the version and binary name in
199         the header comment.  Problem reported by Seth Nickell.
200
201 2004-12-16  Matthias Clasen  <mclasen@redhat.com>
202
203         * === Released 2.6.0 ===
204
205 Fri Dec 10 13:57:44 2004  Manish Singh  <yosh@gimp.org>
206
207         * abicheck.sh: filter out PRIVATE.
208
209 2004-12-05  Tor Lillqvist  <tml@iki.fi>
210
211         * gdk-pixbuf-animation.c
212         * gdk-pixbuf-io.c
213         * io-xbm.c
214         * io-xpm.c
215         * make-inline-pixbuf.c
216         * queryloaders.c: Use gstdio wrappers. Document that file names
217         are in the GLib file name encoding.
218
219         * gdk-pixbuf-csource.c
220         * queryloaders.c: On Windows, convert command line arguments and
221         environment variable values from locale encoding to UTF-8.
222
223         * queryloaders.c: On Windows, use wide character API when
224         available.
225
226         * Makefile.am
227         * gdk-pixbuf-core.h
228         * gdk-pixbuf-io.c
229         * gdk-pixbuf-animation.h
230         * gdk-pixbuf-animation.c: Like in GLib, for DLL ABI stability on
231         Windows, add binary compatibility versions of functions that take
232         file names as arguments. They use the system codepage, not GLib
233         file name encoding (which is UTF-8 on Windows). Use #defines to
234         make newly compiled code use the "real" functions that use the
235         GLib file name encoding scheme.
236
237 2004-12-02  Matthias Clasen  <mclasen@redhat.com>
238
239         * === Released 2.5.6 ===
240
241 2004-11-30  Matthias Clasen  <mclasen@redhat.com>
242
243         * gdk-pixbuf-animation.c (gdk_pixbuf_animation_iter_get_pixbuf): 
244         Fix a typo in the docs.  (#159955, Masao Mutoh)
245
246 2004-11-29  Matthias Clasen  <mclasen@redhat.com>
247
248         * Makefile.am (gdk-pixbuf-alias.h): Use the perl found by 
249         configure.  (#149826, Morten Welinder)
250
251 Sun Nov 28 12:11:21 2004  Manish Singh  <yosh@gimp.org>
252
253         * makegdkpixbufalias.pl: Typo fix, so attributes are really
254         propagated.
255
256 2004-11-28  Matthias Clasen  <mclasen@redhat.com>
257
258         * gdk-pixbuf.symbols: 
259         * Makefile.am: Mark get_type() functions generated by glib-mkenums 
260         as const.
261
262 Thu Nov 25 14:21:37 2004  Manish Singh  <yosh@gi,p.org>
263
264         * abicheck.sh: filter out G_GNUC stuff when doing the compare.
265
266 2004-11-23  Matthias Clasen  <mclasen@redhat.com>
267
268         * gdk-pixbuf-core.h: Don't mark gdk_pixbuf_error_quark() as const,
269         to be consistent with all the other error_quark functions. 
270         (technically they are const, but since these are called only
271         in error paths, giving the compiler better optimization 
272         opportunities doesn't matter much)
273
274         * gdk-pixbuf.symbols: Add attribute annotations.
275         * makegdkpixbufalias.pl: Keep attribute annotations, but strip PRIVATE.
276         * Makefile.am (gdk_pixbuf.def): Strip attribute annotations, but keep 
277         PRIVATE.
278
279 Mon Nov 15 18:58:22 2004  Manish Singh  <yosh@gimp.org>
280
281         * gdk-pixbuf-private.h: _gdk_pixbuf_lock now returns a gboolean.
282
283         * abicheck.sh: don't hardcode lengths for cut, instead split on
284         the third field.
285
286 2004-11-15  Matthias Clasen  <mclasen@redhat.com>
287
288         * gdk-pixbuf-animation.c: 
289         * gdk-pixbuf-loader.c: 
290         * gdk-pixbuf-io.c: Be extra careful when locking and handle
291         the case that the module may initialize the thread system.
292
293         * gdk-pixbuf-io.[hc] (_gdk_pixbuf_lock): Return whether the
294         lock was actually taken.
295
296         * queryloaders.c (query_module): Set vtable->module before
297         calling fill_vtable(), since gdk-pixbuf-io.c does does the
298         same and modules may rely on it.  (#158177, Dan Winship)
299
300 2004-11-12  Matthias Clasen  <mclasen@redhat.com>
301
302         * gdk-pixbuf-io.c (gdk_pixbuf_io_init): Don't use 
303         _gdk_pixbuf_load_module_unlocked() in the !USE_GMODULE case.
304
305         * === Released 2.5.5 ===
306         
307 2004-11-12  Matthias Clasen  <mclasen@redhat.com>
308
309         Changes to make gdk-pixbuf threadsafe  (#157310, #157306, 
310         Colin Walters):
311         
312         * gdk-pixbuf-io.h (enum GdkPixbufFormatFlags): Add 
313         GDK_PIXBUF_FORMAT_THREADSAFE to indicate that an image loader
314         is threadsafe.
315
316         * gdk-pixbuf-io.c (get_file_formats, _gdk_pixbuf_load_module): 
317         Use a lock to make initialization of global data structures 
318         threadsafe.
319         * gdk-pixbuf-private.h: 
320         * gdk-pixbuf-io.c (_gdk_pixbuf_lock, _gdk_pixbuf_unlock): 
321         Auxiliary functions which use another lock to protect 
322         threadunsafe image loaders.
323         
324         * gdk-pixbuf-io.c (gdk_pixbuf_real_save): 
325         (save_to_callback_with_tmp_file): 
326         (gdk_pixbuf_real_save_to_callback): 
327         (gdk_pixbuf_new_from_xpm_data): 
328         (_gdk_pixbuf_generic_image_load): 
329         * gdk-pixbuf-animation.c (gdk_pixbuf_animation_new_from_file): 
330         * gdk-pixbuf-loader.c (gdk_pixbuf_loader_load_module): 
331         (gdk_pixbuf_loader_close): 
332         (gdk_pixbuf_loader_finalize): 
333         Use _gdk_pixbuf_lock() and _gdk_pixbuf_unlock().
334
335         * io-ani.c, io-bmp.c, io-gif.c, io-ico.c:
336         * io-jpeg.c, io-pcx.c, io-png.c, io-pnm.c:
337         * io-ras.c, io-tga.c, io-wbmp.c, io-xbm.c:
338         * io-xpm.c: Mark as threadsafe.
339         
340         * io-tiff.c: Remove pointless locking, mark as 
341         threadunsafe.
342
343 2004-11-10  Matthias Clasen  <mclasen@redhat.com>
344
345         * gdk-pixbuf-animation.c: 
346         * gdk-pixbuf-io.c: Use g_filename_display_name() instead of
347         g_filename_to_utf8() when putting filenames in error messages.
348
349 2004-11-04  Matthias Clasen  <mclasen@redhat.com>
350
351         * gdk-pixbuf.c (gdk_pixbuf_class_init): Document current
352         restrictions for property values.  (#157409, Matthew H. Plough)
353
354 2004-11-01  Matthias Clasen  <mclasen@redhat.com>
355
356         * gdk-pixbuf-features.h.in: Break the declaration of the three 
357         version variables, so that gtk-doc can grok it.
358
359 2004-10-29  Hans Breuer  <hans@breuer.org>
360
361         * makefile.msc : updated
362
363 2004-10-27  Matthias Clasen  <mclasen@redhat.com>
364
365         * === Released 2.5.4 ===
366
367 2004-10-27  Matthias Clasen  <mclasen@redhat.com>
368
369         * Makefile.am (gdk-pixbuf-alias.h): Fix srcdir != builddir
370         builds.
371
372 2004-09-19  Matthias Clasen  <mclasen@redhat.com>
373
374         * === Released 2.5.3 ===
375
376 2004-09-15  Matthias Clasen  <mclasen@redhat.com>
377
378         * io-ico.c: 
379         * io-xpm.c: Fix some security issues discovered by Chris Evans. 
380
381 Mon Sep 13 19:31:34 2004  Matthias Clasen  <maclas@gmx.de>
382
383         * io-jpeg.c (real_save_jpeg): Drop the alpha channel 
384         when saving 4-channel pixbufs.  (#152450, Emmanuel Pacaud)
385
386 2004-09-09  Matthias Clasen  <mclasen@redhat.com>
387
388         * makegdkpixbufalias.pl: Use the short prefix "IA__" for 
389         aliases instead of the long suffix "__internal_alias". 
390         
391 2004-09-01  Matthias Clasen  <mclasen@redhat.com>
392
393         * gdk-pixbuf-core.h: Align argument names with source.
394
395 Thu Aug 26 01:23:16 2004  Matthias Clasen  <maclas@gmx.de>
396
397         * gdk-pixbuf-core.h: 
398         * gdk-pixbuf.symbols: 
399         * gdk-pixbuf-io.c (gdk_pixbuf_new_from_file_at_scale): 
400         Add gdk_pixbuf_new_from_file_at_scale(), which is just
401         like gdk_pixbuf_new_from_file_at_size(), but optionally
402         ignores the aspect ratio.  (#136395, Dom  Lachowicz)
403
404 Wed Aug 25 17:23:23 2004  Manish Singh  <yosh@gimp.org>
405
406         * io-gif.c: remove unused set_need_recomposite() function.
407
408 2004-08-25  Matthias Clasen  <mclasen@redhat.com>
409
410         * === Released 2.5.2 ===
411
412         * abicheck.sh: Make work in make distcheck.
413
414 2004-08-25  Matthias Clasen  <mclasen@redhat.com>
415
416         * Makefile.am: Use the same prefix when creating 
417         gdk-pixbuf-marshal.c and gdk-pixbuf-marshal.h
418
419         * gdk-pixbuf-loader.c (gdk_pixbuf_loader_class_init): _-prefix
420         the marshalers.
421
422 2004-08-24  Matthias Clasen  <mclasen@redhat.com>
423
424         * gdk-pixbuf-loader.c (gdk_pixbuf_loader_new_with_mime_type): Use
425         the correct index and compare correctly, reported by Tommi Komulainen.
426         (gdk_pixbuf_loader_new_with_mime_type): 
427
428         * gdk-pixdata.c (gdk_pixdata_from_pixbuf): Work around bugs in
429         the runlength encoder by forcing rowstride * height to be 
430         divisible by bpp.  (#150882)
431
432 Sun Aug 22 03:20:56 2004  Matthias Clasen  <maclas@gmx.de>
433
434         * pixops/pixops.c (pixops_scale_nearest): Fix a mixup in the handling
435         of dest_channels.  (#111922, Christophe Fergeau)
436
437 Fri Aug 20 11:59:10 2004  Owen Taylor  <otaylor@redhat.com>
438
439         * io-bmp.c: Fix infinite loop that can occur for bad
440         image data (#150601, Chris Evans, Manish Singh)
441
442 2004-08-17  Matthias Clasen  <mclasen@redhat.com>
443
444         * abicheck.sh: No need for INCLUDE_INTERNAL_SYMBOLS any more.
445
446         * Makefile.am (gdk-pixbuf-alias.h): Don't use cpp to filter the symbols.
447
448         * makegdkpixbufalias.pl: Move the #ifdef processing into the perl script,
449         and keep the #ifdefs which differentiate between platforms.
450
451         * gdk-pixbuf.symbols: Remove the marshalers.
452
453         * Makefile.am (stamp-gdk-pixbuf-marshal.h): _-prefix the marshalers.
454
455 Thu Aug 12 22:19:12 2004  Matthias Clasen  <maclas@gmx.de>
456
457         * io-bmp.c (DecodeHeader): Properly determine the number of 
458         colors in an OS/2 BMP file.  (#150003, Jon-Kare Hellan)
459
460 2004-08-12  Matthias Clasen  <mclasen@redhat.com>
461
462         * pixops/pixops.c: Remove C99-isms.  (#149967, Vincent Noel)
463
464 Wed Aug 11 22:56:55 2004  Matthias Clasen  <maclas@gmx.de>
465
466         * abicheck.sh: Check all symbols.
467
468 2004-08-11  Matthias Clasen  <mclasen@redhat.com>
469
470         * pixops/pixops.c: Make scaling and compositing functions handle
471         edge pixels consistently.  (#111922, Brian Cameron)
472
473         * pixops/pixops-internal.h: 
474         * pixops/pixops.c:
475         * pixops/*.S: underscore prefix the mmx implementations, in order
476         to not export them.
477
478         * gdk-pixbuf.symbols: Remove the mmx pixops implementations.
479
480         * abicheck.sh: No need to define INCLUDE_MMX_SYMBOLS any more.
481
482 Tue Aug 10 23:53:59 2004  Matthias Clasen  <maclas@gmx.de>
483
484         Add hidden aliases for exported symbols which are
485         used internally in order to get rid of many PLT 
486         entries.  (#145519, Arjan van de Ven)
487         
488         * gdk/Makefile.am: Add rules to generate gdk_pixbuf.def and 
489         gdk-pixbuf-alias.h from gdk-pixbuf.symbols, and make make 
490         check check the abi with abicheck.sh.
491
492         * gdk/gdk-pixbuf.symbols: New file. Definition of the gdk-pixbuf 
493         ABI. The file can be processed by cpp to filter out certain 
494         subsets of symbols.
495
496         * gdk/abicheck.sh: New file. Script to check the actually 
497         symbols exported from libgdk_pibuf.2.0.so against the symbols
498         found in gdk-pixbuf.symbols.
499
500         * gdk/makegdkpixbufalias.pl: New file. Perl script to generate the 
501         header containing the alias definitions for internally used 
502         exported symbols from a list of symbols.
503
504         * *.c: Include gdk-pixbuf-alias.h
505
506 2004-08-06  Hans Breuer  <hans@breuer.org>
507
508         * gdk_pixbuf.def makefile.msc : updated
509
510 Sun Aug  1 23:57:06 2004  Matthias Clasen  <maclas@gmx.de>
511
512         * io-pcx.c (pcx_increment_load_data_1): Fix progressive
513         loading of 8bit pcx files. (#148518, Magnus Bergman)
514
515 2004-08-01  Matthias Clasen  <mclasen@redhat.com>
516                                                                                 
517         * === Released 2.5.1 ===
518                                                                                 
519 Tue Jul 20 22:23:26 2004  Matthias Clasen  <maclas@gmx.de>
520
521         * gdk-pixbuf-io.h: Remove trailing commas from 
522         enumerations.  (#148035)
523
524 Sun Jul 18 20:17:41 2004  Soeren Sandmann  <sandmann@daimi.au.dk>
525
526         * === released 2.5.0 ==
527
528 Thu Jul 15 19:19:21 2004  Matthias Clasen  <maclas@gmx.de>
529
530         * io-png.c (real_save_png): 
531         * gdk-pixbuf-io.c (gdk_pixbuf_io_init): Use 'cannot' instead
532         of 'can not' in messages.   (#144226, Morten Welinder)
533
534 Fri Jul  9 15:38:06 2004  Manish Singh  <yosh@gimp.org>
535
536         * gdk-pixbuf-io.c (gdk_pixbuf_format_set_disabled): function doesn't
537         return a value, so don't use g_return_val_if_fail()
538
539         * gdk-pixbuf-scale.c (gdk_pixbuf_rotate_simple): initialize dest in
540         the can't happen case, to quiet gcc.
541
542         * io-tiff.c (tifflibversion): enclose in #if TIFFLIB_VERSION >=
543         20031226.
544
545 Wed Jul  7 23:53:58 2004  Matthias Clasen  <maclas@gmx.de>
546
547         * gdk-pixbuf-io.h: 
548         * gdk-pixbuf-io.c (gdk_pixbuf_format_is_disabled): 
549         * gdk-pixbuf-io.c (gdk_pixbuf_format_set_disabled): 
550         * gdk-pixbuf-io.c (gdk_pixbuf_format_get_license): 
551         New functions to disable/enable individual loaders and to
552         obtain license information about loaders.
553         
554         * gdk-pixbuf-io.h (GdkPixbufFormat): Add disabled and 
555         license fields.
556
557         * gdk-pixbuf-io.c (_gdk_pixbuf_get_module): 
558         * gdk-pixbuf-io.c (_gdk_pixbuf_get_named_module): Skip
559         disabled loaders.
560
561         * io-*.c: Add license information in the fill_info
562         functions.
563         
564 2004-07-07  Matthias Clasen  <mclasen@redhat.com>
565
566         * gdk-pixbuf-features.h.in: Fix the build.
567
568 2004-07-06  Tor Lillqvist  <tml@iki.fi>
569
570         * gdk-pixbuf-features.h.in
571         * gdk-pixbuf.c: Mark the version variables for proper import and
572         export from Windows DLLs. Thanks to Laurent Sansonetti for
573         reporting the problem.
574
575 Sat Jul  3 00:41:44 2004  Matthias Clasen  <maclas@gmx.de>
576
577         * pixops/pixops.c (bilinear_box_make_weights): Correct the
578         math to calculate bilinear weights. (#112412, Brian Cameron)
579
580 Mon Jun 21 00:44:51 2004  Matthias Clasen  <maclas@gmx.de>
581
582         * gdk-pixbuf-transform.h: 
583         * gdk-pixbuf-scale.c (gdk_pixbuf_rotate_simple): 
584         * gdk-pixbuf-scale.c (gdk_pixbuf_flip): New functions to
585         rotate pixbufs by multiples of 90 degrees and to flip them
586         horizontally or vertically.
587
588 Sun Jun 20 01:06:48 2004  Matthias Clasen  <maclas@gmx.de>
589
590         Header reorganization.  (#51999, Jeff Franks, reorganization
591         proposed by Havoc Pennington)
592         
593         * gdk-pixbuf.h: This is now an include-only header, and the only
594         one which applications should directly use.
595         
596         * gdk-pixbuf-animation.h: Add animation api from gdk-pixbuf.h.
597         * gdk-pixbuf-io.h: Add io api from gdk-pixbuf.h.
598         * gdk-pixbuf-loader.h: Add loader api from gdk-pixbuf.h.
599         * gdk-pixbuf-transform.h: New header.
600         * gdk-pixbuf-core.h: New header.
601
602 Sat Jun 19 01:44:12 2004  Matthias Clasen  <maclas@gmx.de>
603
604         * gdk-pixbuf-scale.c (gdk_pixbuf_composite): Add a figure which
605         explains pixbuf compositing.
606
607 2004-06-16  Matthias Clasen  <mclasen@redhat.com>
608
609         * io-tiff.c: Make the tiff loader work with both 
610         libtiff 3.5.7 and libtiff 3.6.1.  (#135541, Marco Ghirlanda)
611
612 Fri Jun 11 22:02:56 2004  Matthias Clasen  <maclas@gmx.de>
613
614         * io-gif.c, io-pnm.c, io-tga.c, io-xpm.c: Don't use
615         contractions like "don't" or "isn't" in error messages.
616         It isn't nice to use them in log entries either...
617         (#137774, Morten Welinder, patch by Alexander Winston)
618
619 Sat Jun  5 00:59:12 2004  Matthias Clasen  <maclas@gmx.de>
620  
621         Merged from 2.4
622
623         * gdk-pixbuf-animation.c: 
624         * gdk-pixbuf-io.c: Convert filenames to UTF-8 when embedding
625         them in error messages.  (#143654, Sven Neumann)
626  
627 Sun May 16 22:53:47 2004  Matthias Clasen  <maclas@gmx.de>
628
629         Merged from 2.4
630
631         * io-pnm.c (pnm_read_next_value): Don't read integers 
632         partially.  (#142584, Kouichirou Hiratsuka) 
633
634 2004-05-10  Matthias Clasen  <mclasen@redhat.com>
635
636         Merged from 2.4:
637         
638         * pixops/timescale.c: 
639         * pixops/pixops.c: 
640         * pixops/pixops.h: 
641         * gdk-pixbuf-scale.c: _-prefix the nonstatic pixops_... 
642         functions.  (#142233, Morten Welinder)
643         
644 Wed May  5 23:09:48 2004  Matthias Clasen  <maclas@gmx.de>
645
646         * gdk-pixbuf-io.h (GdkPixbufFormatFlags): New format flag
647         GDK_PIXBUF_FORMAT_SCALABLE to mark scalable formats.
648
649         * gdk-pixbuf.h: 
650         * gdk-pixbuf-io.c (gdk_pixbuf_format_is_scalable): New function.
651         (#137995, Dom Lachowicz)
652
653 2004-04-30  Matthias Clasen  <mclasen@redhat.com>
654
655         * === Released 2.4.1 ===
656
657 2004-04-13  Matthias Clasen  <mclasen@redhat.com>
658
659         * io-ani.c (gdk_pixbuf__ani_image_load_animation): 
660         * gdk-pixbuf-io.c (gdk_pixbuf_get_file_info) 
661         (_gdk_pixbuf_generic_image_load) 
662         (gdk_pixbuf_new_from_file_at_size): When calling fread()
663         in a loop, check for ferror() as well as for feof() to
664         avoid infinite loops on directories.  (#137804, Alex Converse)
665
666 Mon Mar 15 15:01:59 2004  Owen Taylor  <otaylor@redhat.com>
667
668         * === Released 2.4.0 ===
669
670 2004-03-15  Tor Lillqvist  <tml@iki.fi>
671
672         * queryloaders.c (main): [Win32] Look up installation prefix at
673         run-time, replace prefix in PIXBUF_LIBDIR with that. (#106141)
674
675         Merges from stable branch that had been left out. (#136282, J. Ali
676         Harlow):
677
678         Changes for run-time lookup of installation location on Win32:
679         
680         * Makefile.am (INCLUDES): Define GTK_PREFIX as $(prefix).
681
682         * gdk-pixbuf-io.c (get_sysconfdir): New function, look up
683         installation location at runtime and deduce GTK_SYSCONFDIR
684         from it.
685         (get_toplevel): Similar, for the top-level installation directory.
686         (correct_prefix): Replace compile-time prefix with run-time
687         prefix.
688         (get_libdir): Remove, not used any longer.
689         (gdk_pixbuf_io_init): Call correct_prefix() on Win32.
690
691         * queryloaders.c (query_module): [Win32] Change backslahses into
692         slashes in path.
693
694 Tue Mar  9 09:33:28 2004  Owen Taylor  <otaylor@redhat.com>
695
696         * === Released 2.3.6 ===
697
698 2004-03-05  Tor Lillqvist  <tml@iki.fi>
699
700         * gdk_pixbuf.def: Add missing entries. Thanks to J. Ali Harlow.
701
702 Fri Mar  5 22:22:25 2004  Matthias Clasen  <maclas@gmx.de>
703
704         * io-bmp.c (OneLine32): Don't try to load an alpha channel
705         from the BMP, since there is no evidence that even 32bit
706         BMPs have an alpha channel.  (#135502)
707
708 Mon Mar  1 19:47:48 2004  Owen Taylor  <otaylor@redhat.com>
709
710          * === Released 2.3.5 ====
711
712 2004-02-28  Hans Breuer  <hans@breuer.org>
713
714         * io-tiff.c : include <io.h> for lseek()
715         * io-xbm.c : use HAVE_UNISTD_H
716
717 Tue Feb 24 14:45:03 2004  Owen Taylor  <otaylor@redhat.com>
718
719         * === Released 2.3.3 ===
720
721 Sun Feb 22 01:09:55 2004  Matthias Clasen  <maclas@gmx.de>
722
723         * io-bmp.c (gdk_pixbuf__bmp_image_begin_load): Remove debugging
724         code.
725
726 Fri Feb 20 22:25:32 2004  Matthias Clasen  <maclas@gmx.de>
727
728         * io-bmp.c (DecodeHeader): Store and sanity-check the clrUsed field 
729         from the header for use in DecodeColormap.
730         * io-bmp.c (DecodeColormap): Don't read more colormap entries than
731         the header says are there.  (#134235, Kazuho Okui)
732
733 Sun Feb  8 01:07:20 2004  Manish Singh  <yosh@gimp.org>
734
735         * gdk-pixbuf-io.c: removed unnecessary G_OBJECT() cast checks.
736
737         * io-jpeg.c: make the return type for to_callback_empty_output_buffer
738         "boolean", which should be defined by the jpeg headers. The right
739         return type for this function depends on how the jpeg library
740         was built (one wonders what happens if different compilers are used).
741
742 2004-01-28  Hans Breuer  <hans@breuer.org>
743
744         * gdk_pixbuf.def : updated externals
745
746 Sat Jan 17 23:02:55 2004  Matthias Clasen  <maclas@gmx.de>
747
748         The second part of the fix for #114351 (see also 
749         ../Changelog)
750         
751         * gdk-pixbuf-i18n.h (P_): Use translation domain gtk20-properties.
752
753 Sat Jan 17 00:01:51 2004  Matthias Clasen  <maclas@gmx.de>
754
755         The first part of the fix for #114351 (see also
756         ../ChangeLog): 
757
758         * gdk-pixbuf-i18n.h: Define P_() for property blurbs and nicks.
759
760         * gdk-pixbuf.c:  Mark property blurbs and nicks with P_().
761
762 Thu Jan  8 22:01:14 2004  Matthias Clasen  <maclas@gmx.de>
763
764         * queryloaders.c (loader_sanity_check): Don't use bitwise operators
765         on booleans.  (#130923, reported by Telsa Gwynne, fix by Dave Jones)
766
767 2004-01-06  Federico Mena Quintero  <federico@ximian.com>
768
769         * gdk-pixbuf-io.c (gdk_pixbuf_save): Escape an ampersand in the
770         documentation comment, and hack around an empty line in the code
771         example so that gtk-doc won't put a <para> due to it.
772
773         * gdk-pixbuf.c (gdk_pixbuf_get_pixels): Link to the documentation
774         section on image data.
775
776 2004-01-06  Federico Mena Quintero  <federico@ximian.com>
777
778         * gdk-pixdata.c (gdk_pixbuf_new_from_inline): Fix example in
779         documentation comment.  Fixes #130701.
780
781 Wed Jan  7 02:41:14 2004  Matthias Clasen  <maclas@gmx.de>
782
783         * gdk-pixbuf-io.c (gdk_pixbuf_save_to_bufferv): 
784         * gdk-pixbuf-io.c (gdk_pixbuf_save_to_buffer): 
785         * gdk-pixbuf-io.c (gdk_pixbuf_save_to_callbackv): 
786         * gdk-pixbuf-io.c (gdk_pixbuf_save_to_callback): New public API
787         to save pixbufs to non-file locations.  (#82203, Tim Evans)
788
789         * gdk-pixbuf.h:
790         * gdk-pixbuf.def: Declare the new public API.
791
792         * gdk-pixbuf-io.h: Add save_to_callback to the module interface.
793         
794         * io-jpeg.c: 
795         * io-png.c: Implement save_to_callback.
796
797         * gdk-pixbuf-io.c (gdk_pixbuf_savev): 
798         * gdk-pixbuf-io.c (gdk_pixbuf_save): Update documentation. 
799
800         * gdk-pixbuf-io.c (gdk_pixbuf_real_save): Support saving via
801         image_module->save_to_callback.
802
803         * gdk-pixbuf-io.c (gdk_pixbuf_real_save_to_callback): New generic
804         save_to_callback function which falls back to image_module->save 
805         on a temp file.
806         
807 Wed Jan  7 01:17:36 2004  Matthias Clasen  <maclas@gmx.de>
808
809         * gdk-pixbuf-loader.c (gdk_pixbuf_loader_size_func): 
810         * gdk-pixbuf-loader.c (gdk_pixbuf_loader_set_size): 
811         * gdk-pixbuf-loader.c (gdk_pixbuf_loader_init): Make it possible
812         to call gdk_pixbuf_loader_set_size (loader, 0, 0) by changing
813         the initial values of priv->width/height to -1.
814         
815         * io-tiff.c (tiff_image_parse): 
816         * io-ras.c (RAS2State): 
817         * io-pnm.c (gdk_pixbuf__pnm_image_load_increment): 
818         * io-pcx.c (gdk_pixbuf__pcx_load_increment): 
819         * io-jpeg.c (gdk_pixbuf__jpeg_image_load_increment): 
820         * io-png.c (png_info_callback): 
821         * io-ico.c (DecodeHeader): 
822         * io-bmp.c (DecodeHeader): Call size_func once the size is known,
823         even if the module can't make use of the scaling information. If
824         size_func returns 0, don't allocate a pixbuf and return, if 
825         necessary with an error.
826
827         * gdk-pixbuf.h: 
828         * gdk-pixbuf-io.c (gdk_pixbuf_get_file_info): A new function 
829         to determine the type and size of an image file without loading
830         it completely.  (#53725)
831
832 Sun Jan  4 00:44:57 2004  Matthias Clasen  <maclas@gmx.de>
833
834         * gdk-pixbuf.c (gdk_pixbuf_class_init): Turn the pixbuf 
835         attributes into (construct-only, but always readable) 
836         properties.  (#130196)
837
838         * gdk-pixbuf-data.c (gdk_pixbuf_new_from_data): Set properties
839         in g_object_new().
840
841 Mon Dec 22 01:35:36 2003  Matthias Clasen  <maclas@gmx.de>
842
843         * Makefile.am (gdk-pixbuf.loaders): Fix building with
844         --disable-modules --with-included-loaders, create an 
845         empty gdk-pixbuf.loaders file.  (#124496, Arno Charlet, fix 
846         proposed by Owen Taylor)
847
848 Thu Dec 11 01:57:05 2003  Matthias Clasen  <maclas@gmx.de>
849
850         * gdk-pixbuf-loader.c (gdk_pixbuf_loader_class_init): Move
851         the documentation for signals inline, to get proper parameter
852         documentation.  (#128977)       
853
854 Sat Nov 15 00:26:19 2003  Matthias Clasen  <maclas@gmx.de>
855
856         * queryloaders.c (loader_sanity_check): Check that the mask
857         is NULL or a string of the same length consisting entirely of
858         ' ', '!', 'x', 'z', 'n'. 
859
860 Mon Nov 10 00:17:52 2003  Matthias Clasen  <maclas@gmx.de>
861
862         * Makefile.am (install-data-local): Typo fix in warning.
863
864 Sun Nov  9 23:07:05 2003  Matthias Clasen  <maclas@gmx.de>
865
866         * gdk-pixbuf-io.c (_gdk_pixbuf_generic_image_load): If neither
867         load nor begin_load are available fall back to load_animation 
868         and use gdk_pixbuf_animation_get_static_image() to obtain a 
869         pixbuf. Inefficient, but at least doesn't crash.
870
871 Sun Nov  9 21:56:20 2003  Matthias Clasen  <maclas@gmx.de>
872
873         * queryloaders.c (write_loader_info): New function to write 
874         out the information for a single loader, factored out of 
875         query_module().
876         (loader_sanity_check): New function to perform
877         sanity checks on a loader.
878         (query_module): Use the new functions.
879
880 Thu Nov  6 00:27:27 2003  Matthias Clasen  <maclas@gmx.de>
881
882         * io-pcx.c (gdk_pixbuf__pcx_load_increment): Fold two similar
883         strings into on.  (#126204, Danilo Segan)
884
885 2003-09-19  Matthias Clasen  <maclas@gmx.de>
886
887         * io-tga.c (try_preload): Remove a pointless check.  
888         (#122710, Kjartan Maraas)
889
890 Mon Aug 18 10:25:29 2003  Owen Taylor  <otaylor@redhat.com>
891
892         * gdk-pixdata.c (gdk_pixdata_to_csource): Add the correct
893         alignment magic for Sun compiler and for GCC to get
894         the strings aligned. (Patch from Brian Cameron, #117217)
895
896 2003-08-14  Matthias Clasen  <maclas@gmx.de>
897
898         * gdk-pixdata.c (gdk_pixdata_to_csource): Improve doc comment
899         wording. (#119754, Doug Quale)
900
901 2003-08-03  Matthias Clasen  <maclas@gmx.de>
902
903         * gdk-pixbuf.c (gdk_pixbuf_get_rowstride): 
904         * gdk-pixbuf-data.c (gdk_pixbuf_new_from_data): Clarify misleading
905         explanation of rowstride.  (#119000)
906
907 2003-07-24  Matthias Clasen  <maclas@gmx.de>
908
909         * gdk-pixbuf-io.c (gdk_pixbuf_new_from_file_at_size): Preserve the
910         aspect ratio.  (#118145, Owen Taylor) 
911
912 2003-07-23  Matthias Clasen  <maclas@gmx.de>
913
914         * gdk-pixbuf-io.c (gdk_pixbuf_new_from_file_at_size): Close loader
915         before unref'ing it.  (#118146, Owen Taylor)
916
917 2003-03-01  Hans Breuer  <hans@breuer.org>
918
919         * makefile.msc : updated
920
921         * gdk_pixbuf.def : export a bunch of new functions
922
923 2003-07-18  Matthias Clasen  <maclas@gmx.de>
924
925         * pixops/pixops.c (correct_total): Split correction into multiple
926         pieces if no single weight is large enough to apply the unsplit
927         correction.  (#117431, problem reported by Tomas Ã–gren) 
928
929 2003-07-13  Matthias Clasen  <maclas@gmx.de>
930
931         * gdk-pixbuf.h: 
932         * gdk-pixbuf-io.c (gdk_pixbuf_new_from_file_at_size): New function
933         to load an image from a file at a  specified size.  (#105326, Dom
934         Lachowicz) 
935
936 2003-07-11  Matthias Clasen  <maclas@gmx.de>
937
938         * queryloaders.c (query_module): Handle absolute filenames
939         properly. (#117170, Jens Elkner) 
940
941         * gdk-pixbuf-io.c: Mention that NULL-terminated arrays returned by 
942         gdk_pixbuf_format_get_mime_types() and
943         gdk_pixbuf_format_get_extensions() must be freed with g_strfreev().
944
945 2003-07-04  Matthias Clasen  <maclas@gmx.de>
946
947         * gdk-pixbuf-io.c: Document ICO save parameters.
948
949         * io-ico.c: Support saving of ICOs and CURs. Currently, only
950         single-image ICOs are produced, but the code for multi-image ICOs
951         is already in place. The saver understands the options "depth"
952         (can be "32", "24" or "16") and "x_hot"/"y_hot" for hotspot
953         coordinates of CURs. 
954
955 2003-06-28  Matthias Clasen  <maclas@gmx.de>
956
957         * io-ico.c (DecodeHeader): Stop discriminating against 32bpp ICOs
958         a): Use the byte size of the image as a heuristic when selecting
959         the bitmap  to load - this lets us select 32bpp bitmaps which come
960         after a 8bpp bitmap. 
961         (OneLineTransp): Stop discriminating against 32bpp ICOs b): Don't
962         overwrite the alpha channel of 32bpp ICOs. 
963         (gdk_pixbuf__ico_image_load_increment): Stop decoding the header
964         unnecessarily. 
965
966 Fri Jun 27 03:56:59 2003  Soeren Sandmann  <sandmann@daimi.au.dk>
967
968         * io-gif-animation.c (gdk_pixbuf_gif_anim_frame_composite): Make
969         it compile with C89 compilers.
970
971 2003-06-23  Matthias Clasen  <maclas@gmx.de>
972
973         * io-gif.c (gif_get_frame_info): Remove the pointless refusal to
974         load images with dubious disposal mode on the first frame. Just
975         ignore it, as everybody else does. 
976
977 2003-06-22  Matthias Clasen  <maclas@gmx.de>
978
979         * gdk-pixbuf-loader.[hc] (gdk_pixbuf_loader_new_with_mime_type):
980         New function to obtain a loader for a specific mime type.
981         (#105324, Dom Lachowicz) 
982
983         * io-gif.c (gif_get_extension): Reset block_count to 0 for all
984         application extensions, otherwise the data blocks of unknown
985         extensions are not propertly skipped.  
986
987         Second half of the fix for #106962, handle frames extending beyond
988         the logical screen: 
989         
990         * io-gif.c (clip_frame): New helper function to clip a rectangle
991         to the logical screen size of the gif. 
992         (maybe_update): New helper function to call update_func only if
993         the rectangle is not completely off-bounds. 
994         (gif_get_lzw): Read frames extending outside the logical screen
995         size, but be careful clip to the logical screen size 
996         when operating on the composite pixbuf and when calling update_func.
997         (gif_init): Set the animation size to the logical screen size.
998         (gif_get_frame_info): Don't refuse to load images with frames
999         extending beyond the logical screen size. 
1000
1001         * io-gif-animation.c (gdk_pixbuf_gif_anim_frame_composite): Be
1002         careful to clip all rectangles to the logical screen size, also
1003         handle the fact that frames may be completely off-bounds. 
1004
1005 2003-06-21  Matthias Clasen  <maclas@gmx.de>
1006
1007         * io-gif.c: Merge from 2.2: Fix update_func() arguments and accept
1008         empty frames.  (#106962)
1009
1010 2003-06-17  Matthias Clasen  <maclas@gmx.de>
1011
1012         * Makefile.am (man_MANS): Removed, man pages are now installed
1013         from docs/reference/gdk-pixbuf.
1014
1015 2003-06-03  Matthias Clasen  <maclas@gmx.de>
1016
1017         * gdk-pixdata.c (gdk_pixbuf_new_from_inline): Document
1018         data_length == -1, add an example.  (#97290)
1019
1020 2003-06-01  Matthias Clasen  <maclas@gmx.de>
1021
1022         * gdk-pixdata.h (struct _GdkPixdata): Fix misleading documentation
1023         of rowstride.  (#113924, Noah Levitt)
1024
1025 2003-05-27  Matthias Clasen  <maclas@gmx.de>
1026
1027         * io-wbmp.c: Remove dubious bitfields of
1028         unspecified signedness.  (#112919, Morten Welinder)gdk-p
1029
1030         * gdk-pixdata.c (gdk_pixdata_to_csource): Replace all occurances
1031         of g_string_new ("") by g_string_new (NULL). (#106975, Morten
1032         Welinder) 
1033
1034 2003-05-21  Matthias Clasen  <maclas@gmx.de>
1035
1036         * pixbufloader_pcx.def: 
1037         * io-pcx.c: A loader for PCX files.  (#113035, Josh Beam)
1038
1039         * gdk-pixbuf-io.c: 
1040         * Makefile.am: Add PCX loader.
1041
1042 2003-05-19  Matthias Clasen  <maclas@gmx.de>
1043
1044         Improve progressive loading from slow sources:  (#107368)
1045         
1046         * io-gif-animation.c (gdk_pixbuf_gif_anim_get_iter): Initialize
1047         first_loop_slowness. 
1048         (gdk_pixbuf_gif_anim_iter_advance): Don't wrap during loading if
1049         the datasource falls behind the speed of the display.
1050
1051         * io-gif-animation.h: Add a loading flag to GdkPixbufGifAnim and  
1052         first_loop_slowness to GdkPixbufGifAnimIter.
1053
1054 Wed May 14 18:24:50 2003  Owen Taylor  <otaylor@redhat.com>
1055
1056         * gdk-pixdata.c (gdk_pixdata_deserialize): Add a 
1057         (gint32 *) => (guint32 *) cast. (#108615, Rick Jones)
1058
1059 2003-04-24  Matthias Clasen  <maclas@gmx.de>
1060
1061         * gdk-pixbuf-loader.c (gdk_pixbuf_loader_write): 
1062         (gdk_pixbuf_loader_new_with_type): 
1063         (gdk_pixbuf_loader_close): 
1064         * gdk-pixbuf-io.c (gdk_pixbuf_new_from_file): 
1065         (gdk_pixbuf_save): 
1066         (gdk_pixbuf_savev): 
1067         * gdk-pixbuf-animation.c (gdk_pixbuf_animation_new_from_file): 
1068         Add sanity checks for GError handling.  (#108345) 
1069
1070 Tue Apr  1 15:33:51 2003  Owen Taylor  <otaylor@redhat.com>
1071
1072         * pixops/pixops.c (make_weights): Exploit the fact that all
1073         our filters are separable to simplify the calculation of
1074         the weight tables. (Based on a patch from Brian Cameron.)
1075
1076         * pixops/Makefile.am pixbuf-transform-math.ltx: 
1077         Add a short article describing how the math in pixops.c
1078         works.
1079
1080 2003-03-21  Matthias Clasen  <maclas@gmx.de>
1081
1082         * gdk-pixbuf-animation.c (gdk_pixbuf_non_anim_get_type): Add
1083         missing static.  (#108614)
1084
1085         * io-jpeg.c (gdk_pixbuf__jpeg_image_begin_load): 
1086         * io-ico.c (gdk_pixbuf__ico_image_stop_load): Add missing static
1087         qualifiers apparently causing problems on some platforms. (#108617)
1088
1089 2003-03-11  Matthias Clasen  <maclas@gmx.de>
1090
1091         * io-ico.c (DecodeHeader): Calculate LineWidth for 16bpp from
1092         width, like for the other depths.  (noticed by Marijn Ros)
1093
1094 2003-03-08  Matthias Clasen  <maclas@gmx.de>
1095
1096         Bug #107664 continued: 
1097         
1098         * io-xpm.c (find_color): Fix 0/FALSE confusion
1099         * gdk-pixbuf.c (gdk_pixbuf_get_has_alpha): Fix -1/gboolean
1100         confusion. 
1101
1102 2003-03-06  Matthias Clasen  <maclas@gmx.de>
1103
1104         * io-gif.c (gif_read): Fix 0/FALSE confusion (#107664, Morten
1105         Welinder) 
1106
1107 2003-02-20  Matthias Clasen  <maclas@gmx.de>
1108
1109         * io-gif-animation.c (gdk_pixbuf_gif_anim_frame_composite): 
1110         Always clear the initial frame and "disposed" areas with
1111         transparent pixels, no matter whether the frame has transparency 
1112         or not.  (#55502)
1113
1114 2003-02-18  Matthias Clasen  <maclas@gmx.de>
1115
1116         * io-tga.c (pixbuf_flip_row): 
1117         (pixbuf_flip_vertically): Auxiliary functions used to implement
1118         support for arbitrary origins.
1119         (parse_data_for_row_pseudocolor): 
1120         (parse_data_for_row_truecolor): 
1121         (parse_data_for_row_grayscale): 
1122         (parse_data_for_row): 
1123         (fill_in_context): Remove the check for upper-left origin.
1124         (parse_rle_data): Support arbitrary origins. (#105912)
1125
1126         * io-tga.c (fread_check): 
1127         (fseek_check): 
1128         (get_header_from_file): 
1129         (get_colormap_from_file): 
1130         (get_image_pseudocolor): 
1131         (swap_channels_pixbuf): 
1132         (get_image_truecolor): 
1133         (get_image_grayscale): 
1134         (gdk_pixbuf__tga_load): Remove the non-incremental load
1135         implementation, since we have generic_image_load () now.
1136
1137         (gdk_pixbuf__tga_stop_load): Fix a potential crash discovered by
1138         pixbuf-lowmem.
1139
1140 2003-02-14  Matthias Clasen  <maclas@gmx.de>
1141
1142         * io-tga.c (try_preload): 
1143         (gdk_pixbuf__tga_load): Actually reject images with origin
1144         not in the upper-left corner.  (#105912)  
1145
1146 2003-02-06  Matthias Clasen  <maclas@gmx.de>
1147
1148         * queryloaders.c (query_module): Better error message if
1149         module_open() fails.  (#105349, Tim Mooney)
1150
1151 Mon Jan 27 17:10:30 2003  Owen Taylor  <otaylor@redhat.com>
1152  
1153         * Makefile.am (gdk-pixbuf.loaders): Rewrite to run
1154         on the .la files rather than looking for .so files.
1155         (#102142, Martin Gansser)
1156  
1157         * Makefile.am: Don't build gdk-pixbuf.loaders when
1158         cross-compiling.
1159  
1160 2003-01-05  Tor Lillqvist  <tml@iki.fi>
1161
1162         * Makefile.am (gdk-pixbuf.loaders): Use @SOEXT@ in the find command.
1163
1164         * gdk_pixbuf.def: Add gdk_pixbuf_loader_set_size.
1165
1166 2003-01-03  Matthias Clasen  <maclas@gmx.de>
1167
1168         * gdk-pixbuf-io.c (gdk_pixbuf_new_from_xpm_data): Don't crash if
1169         gdk-pixbuf.loaders file is missing.  (#102222)
1170
1171 2002-12-08  Matthias Clasen  <maclas@gmx.de>
1172
1173         * gdk-pixbuf-animation.h: 
1174         * gdk-pixbuf-io.h: Add /*< public|private >*/ markers.
1175
1176 Sat Dec  7 10:14:05 2002  Owen Taylor  <otaylor@redhat.com>
1177
1178         * Makefile.am (gdk-pixbuf.loaders): Make gdk-pixbuf.loaders
1179         also depend gdk-pixbuf-query-loaders. (#97096, Daniel Elstner)
1180
1181 2002-12-05  Matthias Clasen  <maclas@gmx.de>
1182
1183         * io-ico.c: Remove leftover debug output.  (#100357, Owen Taylor)
1184
1185 2002-12-04  Bastien Nocera  <hadess@hadess.net>
1186
1187         * io-tiff.c: (tiff_image_parse): use G_BIG_ENDIAN instead of
1188         WORDS_BIGENDIAN which isn't set by configure.in
1189
1190 2002-11-29  Matthias Clasen  <maclas@gmx.de>
1191
1192         * gdk-pixbuf-animation.c: 
1193         * gdk-pixbuf.c: Add deprecation docs. 
1194
1195 2002-11-28  Matthias Clasen  <maclas@gmx.de>
1196
1197         * gdk-pixbuf/gdk-pixbuf-io.c:
1198         * gdk-pixbuf/gdk-pixbuf-loader.c:
1199         * gdk-pixbuf/gdk-pixbuf.c: Document 2.2 API additions. I'm not
1200         going to list all individual functions here; if you want to see
1201         the list, grep for "Since: 2.2".
1202
1203 Fri Nov  8 19:06:07 2002  Owen Taylor  <otaylor@redhat.com>
1204
1205         * Makefile.am (gdk-pixbuf.loaders): Make gdk-pixbuf.loaders
1206         file depend on the loaders (#97096, Jeff Waugh)
1207
1208 Wed Nov  6 15:19:53 2002  Owen Taylor  <otaylor@redhat.com>
1209  
1210         * io-gif.c (CHECK_LZW_SP): Fix trailing semicolon on macro,
1211         clean up a bit.
1212  
1213 2002-11-05  Matthias Clasen  <maclas@gmx.de>
1214
1215         * gdk-pixbuf-loader.c: Reindent to follow the gdk-pixbuf indentation.  
1216
1217 Tue Nov  5 14:16:17 2002  Owen Taylor  <otaylor@redhat.com>
1218
1219         * gdk-pixbuf-loader.c (gdk_pixbuf_loader_close): Fix 
1220         leaked pixbuf reference (#96823, Morten Welinder)
1221
1222 2002-10-23  Matthias Clasen  <maclas@gmx.de>
1223
1224         * io-gif.c (lzw_read_byte): Check for stack overflow throughout.
1225         (#91808, Elliot Lee)
1226
1227 2002-10-21  Matthias Clasen  <maclas@gmx.de>
1228
1229         Support the Netscape application extension for gif animations 
1230         (#95060):
1231         
1232         * io-gif-animation.h: 
1233         * io-gif-animation.c (gdk_pixbuf_gif_anim_iter_advance): 
1234         Add loop count to GdkPixbufGifAnim and use it in the advance
1235         method of GdkPixbufGifAnimIter.
1236         
1237         * io-gif.c (gif_get_extension): Parse Netscape application
1238         extension block and set the animation loop count. 
1239
1240 2002-10-11  Matthias Clasen  <maclas@gmx.de>
1241
1242         * gdk-pixbuf-loader.c (gdk_pixbuf_loader_get_format): Remove
1243         unused variable.
1244
1245         * gdk-pixbuf-io.h: Remove unused typedef 
1246         GdkPixbufModuleGetSignatureFunc.
1247
1248 2002-10-04  jacob berkman  <jacob@ximian.com>
1249
1250         * queryloaders.c (query_module): make legal C
1251
1252 2002-10-04  Matthias Clasen  <maclas@gmx.de>
1253
1254         * Makefile.am gdk-pixbuf-animation.c gdk-pixbuf-data.c 
1255         gdk-pixbuf-io.c gdk-pixbuf-io.h gdk-pixbuf-loader.c 
1256         gdk-pixbuf-loader.h gdk-pixbuf-private.h gdk-pixbuf.h 
1257         gdk-pixdata.c io-ani-animation.h io-ani.c io-bmp.c 
1258         io-gif-animation.c io-gif-animation.h io-gif.c io-ico.c 
1259         io-jpeg.c io-png.c io-pnm.c io-ras.c io-tga.c io-tiff.c 
1260         io-wbmp.c io-xbm.c io-xpm.c pixbufloader_ani.def 
1261         pixbufloader_bmp.def pixbufloader_gif.def pixbufloader_ico.def 
1262         pixbufloader_jpeg.def pixbufloader_png.def 
1263         pixbufloader_pnm.def pixbufloader_ras.def pixbufloader_tga.def 
1264         pixbufloader_tiff.def pixbufloader_wbmp.def 
1265         pixbufloader_xbm.def pixbufloader_xpm.def test-gdk-pixbuf.c 
1266         gdk-pixbuf-animation.h queryloaders.c: Support for separately
1267         installed loaders.  (#77486)
1268
1269 Thu Oct  3 18:25:57 2002  Owen Taylor  <otaylor@redhat.com>
1270
1271         * io-jpeg.c (gdk_pixbuf__jpeg_image_save): 
1272         Fix memory leak. (#94399)
1273
1274 Tue Oct  1 17:35:43 2002  Owen Taylor  <otaylor@redhat.com>
1275
1276         * gdkpixdata.c: Patch from Andy Wingo to always 
1277         escape ? to avoid accidentally generating trigraphs
1278         in the output (#94631)
1279
1280 2002-09-28  Tor Lillqvist  <tml@iki.fi>
1281
1282         * pixops/*.S: Don't use .type on Cygwin, either (#91597, Masahiro
1283         Sakai).
1284
1285 2002-09-27  Federico Mena Quintero  <federico@ximian.com>
1286
1287         * io-ico.c (gdk_pixbuf__ico_image_begin_load): Free the context if
1288         we cannot allocate the HeaderBuf.
1289
1290 2002-09-27  Federico Mena Quintero  <federico@ximian.com>
1291
1292         * io-bmp.c (OneLine): Fix the update region notification to handle
1293         top-to-bottom and bottom-to-top BMPs correctly.
1294
1295 2002-09-19  Matthias Clasen  <maclas@gmx.de>
1296
1297         * Revert the previous change; the symbols need to be exported 
1298         to be usable from dlopened modules.
1299         
1300 2002-09-18  Matthias Clasen  <maclas@gmx.de>
1301
1302         * io-xpm.c, io-xbm.c, io-ico.c, io-ani.c, io-png.c,
1303         gdk-pixbuf.c, gdk-pixbuf-animation.c, gdk-pixbuf-loader.c,
1304         gdk-pixbuf-private.h: _-prefix gdk_pixbuf_non_anim_new and
1305         gdk_pixbuf_set_option. Adjust all callers. 
1306
1307 2002-09-14  Hans Breuer  <hans@breuer.org>
1308
1309         * pixops/Makefile.am : added makefile.msc to EXTRA_DIST
1310
1311 2002-09-12  Matthias Clasen  <maclas@gmx.de>
1312
1313         * io-gif-animation.h: 
1314         * gdk-pixbuf.h: Move GdkPixbufFrame from the public header to
1315         the gif-animation-specific private header.  (#91929)
1316
1317 2002-09-12  Federico Mena Quintero  <federico@ximian.com>
1318
1319         * io-jpeg.c (gdk_pixbuf__jpeg_image_load): Unref the pixbuf if we
1320         hit an unsupported colorspace.
1321
1322 2002-09-06  Matthias Clasen  <maclas@gmx.de>
1323
1324         * io-ani.c, io-ani-animation.h, io-ani-animation.c, 
1325         pixbufloader_ani.def, Makefile.am, gdk-pixbuf-io.c: New loader,
1326         for .ANI animations.
1327         
1328         * io-xpm.c (pixbuf_create_from_xpm): 
1329         * io-xbm.c (gdk_pixbuf__xbm_image_load_real): 
1330         * io-ico.c (DecodeHeader): Attach hotspot coordinates to the
1331         pixbuf as options "x_hot" and "y_hot". 
1332
1333 2002-09-04  Matthias Clasen  <maclas@gmx.de>
1334
1335         * io-tga.c (io_buffer_append): 
1336         * io-ico.c (DecodeHeader): 
1337         * io-bmp.c (grow_buffer): Don't leak memory if g_try_realloc fails.
1338
1339         * gdk-pixbuf-io.c (pixbuf_check_ico): Fix loading of .CUR files.
1340         (#91826)
1341
1342 2002-08-25  Tor Lillqvist  <tml@iki.fi>
1343
1344         * Makefile.am (libgdk_pixbuf_2_0_la_DEPENDENCIES): Add
1345         gdk_pixbuf_win32res_lo. (#87101, J. Ali Harlow)
1346
1347 2002-08-22  Matthias Clasen  <maclas@gmx.de>
1348
1349         * gdk-pixbuf-io.h:
1350         gdk-pixbuf-io.c (_gdk_pixbuf_generic_image_load): No longer
1351         static, thus _gdk_pixbuf-prefixed.
1352
1353         * gdk-pixbuf-animation.c (gdk_pixbuf_animation_new_from_file): 
1354         Keep this logic in sync with gdk_pixbuf_new_from_file().  (Based
1355         on a patch by Anders Carlsson)
1356
1357         * io-png.c (gdk_pixbuf__png_image_save): Plug a memory 
1358         leak.  (#91422, Sven Neumann)
1359
1360 2002-07-31  Sven Neumann  <sven@gimp.org>
1361
1362         * gdk-pixdata.c (gdk_pixdata_to_csource): free the result of
1363         gdk_pixdata_serialize() (bug #89411).
1364
1365 Mon Jul 29 23:06:10 2002  Owen Taylor  <otaylor@redhat.com>
1366
1367         * gdk-pixbuf-scale.c: Fix some warnings by adding
1368         casts to PixopsInterpType. (#85839, David L. Cooper, II.)
1369
1370 2002-07-16  Matthias Clasen  <maclas@gmx.de>
1371
1372         * io-ras.c (DoCompressed): Avoid unnecessary casting.
1373
1374 2002-07-07  Matthias Clasen  <maclas@gmx.de>
1375
1376         * gdk-pixbuf-io.c (generic_image_load): New function for loading
1377         an image from a file either via module->load or incrementally.
1378         (prepared_notify): ModulePreparedNotifyFunc for generic_image_load.
1379         (gdk_pixbuf_new_from_file): Use generic_image_load.
1380         * io-bmp.c, io-ico.c, io-ras.c, io-wbmp.c: Remove trivial
1381         implementations of module->load.  (#71266)
1382         
1383         * io-ico.c (DecodeHeader): Correct computation of image height.
1384         (OneLine): Correct update notification.
1385
1386         Load-at-size functionality  (#53726): 
1387         
1388         * gdk-pixbuf-io.h (ModuleSizeFunc): New. 
1389         (_GdkPixbufModule): Prepend a ModuleSizeFunc to the 
1390         begin_load arguments. Adjust all modules.
1391         * gdk-pixbuf-loader.c (struct GdkPixbufLoaderPrivate): Add
1392         fields width, height, size_fixed, need_scale.
1393         (gdk_pixbuf_loader_class_init): Add size_prepared signal.
1394         (gdk_pixbuf_loader_set_size): New function.
1395         (gdk_pixbuf_loader_size_func): ModuleSizeFunc which gets
1396         passed to the module, emits size_prepared.
1397         (gdk_pixbuf_loader_prepare): Call gdk_pixbuf_loader_size_func
1398         if necessary, only emit area_prepared if no separate scaling
1399         is required.
1400         (gdk_pixbuf_loader_update): Only emit area_updated if no 
1401         separate scaling is required.
1402         (gdk_pixbuf_loader_load_module): Add size_func as first argument.
1403         (gdk_pixbuf_loader_close): If necessary scale the image
1404         to the desired size and emit area_prepared and area_updated.
1405         * gdk-pixbuf-loader.h (struct _GdkPixbufLoaderClass): Add
1406         size_prepared signal.
1407         (gdk_pixbuf_loader_set_size) New API.
1408         * gdk-pixbuf-marshal.list: Add VOID:INT,INT.
1409         * io-jpeg.c: User cinfo->output_width/height instead of 
1410         cinfo->image_width/height throughout when adressing the pixbuf.
1411         (gdk_pixbuf__jpeg_image_load_increment): Call size_func, and
1412         find the nearest possible output size which libjpeg can produce
1413         that is still larger than the desired size.
1414         
1415 2002-07-06  Matthias Clasen  <maclas@gmx.de>
1416
1417         * io-tiff.c (tiff_set_error): Handle global_error == NULL
1418         better.
1419         (tiff_image_parse): Don't trust TIFFRGBAImageBegin to set
1420         the "put" routine.  (Fixes #87384)
1421         (gdk_pixbuf__tiff_image_stop_load): Don't call TIFFClose too 
1422         early.
1423
1424 2002-07-02  Matthias Clasen  <maclas@gmx.de>
1425
1426         Miscellaneous bmp loader fixes (#85448, #86286, #86287):
1427         
1428         * io-bmp.c (grow_buffer): New function to avoid crashes
1429         on unchecked reallocs. 
1430         (DecodeHeader, DecodeColormap, decode_bitmasks,
1431         DoCompressed): Use grow_buffer instead of g_realloc 
1432         throughout. Change signatures where necessary to pass the
1433         errors up.
1434         (OneLine16): Fix loading of 16bpp BI_RGB bmps. 
1435         (DoCompressed): Rewritten to properly support BI_RLE4 and
1436         skips and jumps.
1437
1438         Support for compressed ras images (#84994):
1439         
1440         * io-ras.c (RAS2State): Error on unsupported ras variations.
1441         (OneLine8): Fix colormap indexing.
1442         (OneLine): Call updated_func with proper region.
1443         (DoCompressed): New function, handles compressed ras data.
1444         (gdk_pixbuf__ras_image_load_increment): Handle compressed ras
1445         images.
1446
1447         Better colorspace support for the jpeg loader (#61211):
1448         
1449         * io-jpeg.c (convert_cmyk_to_rgb): New function.
1450         (gdk_pixbuf__jpeg_image_load,
1451         gdk_pixbuf__jpeg_image_load_increment): Allocate a pixbuf with
1452         alpha for 4-channel jpegs and call convert_cmyk_to_rgb for these.
1453
1454         All of this needs to be merged to GNOME 1.4 gdk-pixbuf.
1455         
1456 2002-06-28  Sven Neumann  <sven@gimp.org>
1457
1458         * gdk-pixbuf-csource.c (print_blurb): converted a Tab to spaces.
1459
1460 Thu Jun 13 18:11:11 2002  Owen Taylor  <otaylor@redhat.com>
1461
1462         * pixops/pixops.c: Fix problem where when no alpha was
1463         involved, we scaled rather than composited, but then
1464         went ahead and composited anyways. (#76958, Patch
1465         from Matthias Clasen). Needs to be merged to GNOME
1466         1.4 gdk-pixbuf.
1467
1468 2002-06-13  Matthias Clasen  <maclas@gmx.de>
1469
1470         * io-jpeg.c: Use libjpeg in buffered-image mode in order to
1471         incrementally display incrementally loaded progressive jpegs.
1472
1473 2002-06-07  Federico Mena Quintero  <federico@ximian.com>
1474
1475         * io-bmp.c (lsb_32):
1476         (lsb_16): New functions to fetch 32 or 16-bit little-endian values
1477         starting at a specific memory location.  We do this instead of
1478         GINT32_FROM_LE() as the latter is simply dereferences a cast,
1479         which doesn't work on platforms with alignment requirements.
1480         Fixes #84083.
1481
1482 2002-06-01  Matthias Clasen  <maclas@gmx.de>
1483
1484         * gdk-pixbuf-io.c (pixbuf_check_xbm): Accept xbms starting
1485         with a C comment - those seem to be not uncommon, e.g. the Gimp 
1486         produces them.  (#82706)
1487
1488         * io-xbm.c (read_bitmap_file_data): Don't leak memory on certain
1489         invalid inputs.
1490         (gdk_pixbuf__xbm_image_load_real): Don't leak memory on valid inputs.
1491
1492 2002-05-22  Tor Lillqvist  <tml@iki.fi>
1493
1494         * gdk-pixbuf-io.c (get_libdir): Use GTK_BINARY_VERSION (and not
1495         GTK_VERSION) in the path to the loaders on Win32, too.
1496
1497         * Makefile.am: Pass GTK_BINARY_VERSION.
1498
1499 2002-05-22  Federico Mena Quintero  <federico@ximian.com>
1500
1501         * io-xpm.c (pixbuf_create_from_xpm): Ahem, take the rowstride into
1502         account!!!  Fixes #82515.
1503
1504         [This bug is not present in the GNOME 1.4 branch as its XPM loader
1505         does not use gdk_pixbuf_new(); rather it malloc()s a buffer with
1506         no row padding and then uses gdk_pixbuf_new_from_data() on it.]
1507
1508         [IMPORTANT: The comment above is to make my life easier when
1509         merging stuff across branches.  If you make changes to gdk-pixbuf
1510         in either branch, please include a comment in the ChangeLog that
1511         indicates whether this should be merged into the other branch.
1512         Thanks!]
1513
1514 2002-05-18  Matthias Clasen  <maclas@gmx.de>
1515
1516         * io-tiff.c (tiff_image_parse): fix packing order on bigendian 
1517         systems.  (#81702)
1518
1519 Thu May 16 15:17:30 2002  Owen Taylor  <otaylor@redhat.com>
1520
1521         * pixops/pixops.c: Patch from Matthias Clasen to fix some typos 
1522         (#77246)
1523
1524 Thu May 16 15:02:46 2002  Owen Taylor  <otaylor@redhat.com>
1525
1526         * gdk-pixdata.c (gdk_pixdata_to_csource): Fix 64-bit warning.
1527         (#78258)
1528
1529 2002-05-07  Michael Natterer  <mitch@gimp.org>
1530
1531         * gdk-pixbuf/Makefile.am: build the static pixbuf loaders
1532         conditionally like the dynamic ones so --without-lib<foo> is
1533         honored when building with --disable-modules. (#66867)
1534
1535 Sun May  5 02:27:01 2002  Soeren Sandmann  <sandmann@daimi.au.dk>
1536
1537         * Makefile.am (noinst_PROGRAMS): remove test-loaders (moved to
1538         gtk+/tests/)
1539         * test-loaders.c, test-images.h: remove 
1540
1541 2002-04-24  Matthias Clasen  <maclas@gmx.de>
1542
1543         * gdk-pixbuf-io.c (gdk_pixbuf_save): Remove the ISO8859-1
1544         restriction from the description of png tEXt parameters.
1545
1546         * io-png.c (png_text_to_pixbuf_option): 
1547         (gdk_pixbuf__png_image_save): If libpng supports it,
1548         store and retrieve non-ISO8859-1 text as UTF-8.  (#76172)
1549
1550 2002-04-11  Matthias Clasen  <maclas@gmx.de>
1551
1552         More fixes for #77807:
1553         
1554         * io-tga.c (get_contiguous_pixbuf): Helper function to create
1555         a pixbuf with a contiguous pixel array while being careful about
1556         overflow. 
1557
1558         * io-tga.c (fill_in_context, get_image_pseudocolor,
1559         get_image_truecolor, get_image_grayscale): Use 
1560         get_contiguous_pixbuf instead of manually allocating image
1561         storage. 
1562
1563         * io-xpm.c (pixbuf_create_from_xpm): 
1564         * io-pnm.c (gdk_pixbuf__pnm_image_load):
1565         * io-jpeg.c (gdk_pixbuf__jpeg_image_load): Use gdk_pixbuf_new
1566         instead of manually allocating image storage.
1567
1568 2002-04-09  Matthias Clasen  <maclas@gmx.de>
1569
1570         * gdk-pixbuf-loader.c (gdk_pixbuf_loader_load_module): Use 
1571         priv->image_module->module_name instead of image_type which may 
1572         be NULL.
1573
1574 2002-04-06  Matthias Clasen  <maclas@gmx.de>
1575
1576         * io-png.c (gdk_pixbuf__png_image_load): Restructured to use
1577         gdk_pixbuf_new instead of manually allocating image storage. This
1578         gives us a good rowstride and overflow checks.  (#77807)
1579
1580 2002-04-05  Matthias Clasen  <maclas@gmx.de>
1581
1582         * io-tiff.c (tiff_image_parse): Avoid allocating an extra copy of
1583         the image by using a TIFFRGBAImage{Begin,Get,End} with suitable
1584         put functions instead of TIFFRGBAImage. And check image dimensions
1585         for overflow. 
1586
1587 2002-04-03  Matthias Clasen  <maclas@gmx.de>
1588
1589         * gdk-pixbuf-loader.c (gdk_pixbuf_loader_get_type): Fix a doc typo.
1590
1591 2002-03-29  Matthias Clasen  <maclas@gmx.de>
1592
1593         * io-png.c (png_simple_error_callback): libpng error handlers must
1594         not return to their callers, thus longjmp out. This prevents
1595         annoying stderr output from the default error handler.
1596
1597 2002-03-27  Matthias Clasen  <maclas@gmx.de>
1598
1599         * io-png.c (gdk_pixbuf__png_image_stop_load): Don't leak info_ptr.
1600
1601         * io-png.c (gdk_pixbuf__png_image_load): Get rid of unused
1602         end_info. Also call png_read_end to check proper ending of the png
1603         file and catch text chunks after the image data.
1604
1605 2002-03-27  Matthias Clasen  <maclas@gmx.de>
1606
1607         * io-png.c (gdk_pixbuf__png_image_load,
1608         gdk_pixbuf__png_image_begin_load): Make libpng use g_malloc
1609         instead of system malloc. 
1610
1611 2002-03-26  Matthias Clasen  <maclas@gmx.de>
1612
1613         * io-tiff.c (tiff_image_parse): Don't leak pixbuf on error.
1614
1615         * io-gif.c (gdk_pixbuf__gif_image_load_increment): Don't leak
1616         context->buf on error.
1617
1618         * gdk-pixbuf-loader.c (gdk_pixbuf_loader_close): Make sure to call
1619         stop_load even for short images to prevent memleaks.
1620
1621 2002-03-25  Matthias Clasen  <maclas@gmx.de>
1622
1623         * io-png.c (setup_png_transformations): Changed signature to
1624         return success and set a GError parameter, adjusted all callers.
1625         Also work around a possible FPE in libpng and always check that
1626         the new info is sane.
1627
1628 2002-03-23  Matthias Clasen  <maclas@gmx.de>
1629
1630         * io-wbmp.c (gdk_pixbuf__wbmp_image_load_increment):
1631         context->updated_func is NULL during a nonincremental load.
1632         (gdk_pixbuf__wbmp_image_load): Stop reading after the first error.
1633
1634 2002-03-18  Matthias Clasen  <maclas@gmx.de>
1635
1636         * io-tga.c: Fix assumptions on rowstride by manually allocating a
1637         contiguous pixel buffer. Catch buffer overruns in RLE-modi. 
1638         Support grayscale + alpha (which can be written, but not read (!)
1639         by the Gimp). 
1640
1641 2002-03-15  Matthias Clasen  <maclas@gmx.de>
1642
1643         * io-gif.c (gif_get_frame_info): Catch invalid frame dimensions.
1644
1645 2002-03-13  Matthias Clasen  <maclas@gmx.de>
1646
1647         * test-images.h: Add valid_ras_test and invalid_bmp_1.
1648
1649         * test-loaders.c (main): Add random tests for ras and pnm and an
1650         invalid bmp which was a crasher until my 2002-03-12 commit.
1651
1652         * io-pnm.c (gdk_pixbuf__pnm_image_load_increment): Don't unref the
1653         pixbuf on errors.
1654
1655         * io-ras.c: Handle some errors.
1656
1657 2002-03-12  Sven Neumann  <sven@gimp.org>
1658
1659         * gdk-pixbuf.c (gdk_pixbuf_fill): use sequential writes instead of
1660         calling memcpy(). Simpler and potentially faster. (#70332)
1661
1662 2002-03-12  Matthias Clasen  <maclas@gmx.de>
1663
1664         * io-bmp.c (DecodeHeader): Replace a g_assert_not_reached ()
1665         which could actually be reached by a proper error status return.
1666
1667 2002-03-05  Matthias Clasen  <maclas@gmx.de>
1668
1669         * test-loaders.c, test-images.h: More random tests. 
1670
1671         * io-bmp.c (DecodeHeader): Fail gracefully on OOM here.
1672
1673 Tue Mar  5 10:39:03 2002  Owen Taylor  <otaylor@redhat.com>
1674
1675         * Makefile.am (loaderdir): Put the modules into the
1676         GTK_BINARY_VERSION directory for consistency with
1677         immodules and theme engines.
1678
1679 Sat Mar  2 22:11:10 2002  Owen Taylor  <otaylor@redhat.com>
1680
1681         * gdk-pixbuf-io.c (_gdk_pixbuf_load_module): If we
1682         can't load the module using the g_module_build_path()
1683         filename, try loading it as a .la file.
1684
1685         * test-loaders.c: Look for modules in current directory
1686         rather than .libs, so we find the right .la files.
1687
1688         * test-loaders.c: Back out some accidental commits.
1689
1690 Sat Mar  2 21:28:03 2002  Owen Taylor  <otaylor@redhat.com>
1691
1692         * gdk-pixbuf.c (gdk_pixbuf_new): Bullet-proof against integer
1693         overflow.
1694
1695 2002-03-03  Tor Lillqvist  <tml@iki.fi>
1696
1697         * gtk-pixbuf.rc.in: Remove.
1698
1699         * gdk_pixbuf.rc.in: Name like this instead (wrong name used by
1700         mistake by Hans).
1701
1702         * makefile.msc: Corresponding changes.
1703
1704         * Makefile.am: Use gdk_pixbuf.rc on Win32. Distribute it.
1705
1706 2002-02-28  Matthias Clasen  <maclas@gmx.de>
1707
1708         * pixops/pixops.c (tile_make_weights): Move the call to
1709         correct_total() to the right spot. (#72732)
1710
1711 Wed Feb 27 18:33:04 2002  Owen Taylor  <otaylor@redhat.com>
1712
1713         * gdk-pixdata.c (gdk_pixdata_to_csource): Use {} not
1714         () to group around string assigned to char[]. (#72767,
1715         Tomas Ã–gren)
1716
1717 2002-02-21  Havoc Pennington  <hp@pobox.com>
1718
1719         * gdk-pixbuf-loader.c (gdk_pixbuf_loader_load_module): remove
1720         C++-commented debug spew, reported by David L. Cooper
1721
1722 2002-02-15  Matthias Clasen  <maclas@gmx.de>
1723
1724         * pixops/pixops.c (correct_total): New function to make sure
1725         that the weights sum up to the correct total without introducing
1726         negative weights.
1727         (tile_make_weights, bilinear_make_fast_weights, 
1728         bilinear_make_weights): Use correct_total.
1729
1730 2002-02-10  Matthias Clasen  <maclas@gmx.de>
1731
1732         * test-images.h (tiff1_test_3), test-loaders.c (main): Add a
1733         (#ifdef 0'ed) test provoking a segfault in TIFFReadDirectory(). 
1734         
1735         * io-ico.c (DecodeHeader): Check that pixbuf could be allocated.
1736
1737         * test-images.h (ico_test_2), test-loaders.c (main): Test the 
1738         previous change.
1739
1740         * io-wbmp.c (gdk_pixbuf__wbmp_image_load_increment): Don't write 
1741         beyond the end of buffer if width % 8 != 0.
1742
1743         * io-tga.c (try_preload): Enforce that ctx->hdr->type is one of
1744         the supported types, otherwise parse_data_for_row () will not make
1745         any progress, leading to an infinite loop.
1746
1747 Mon Feb 11 14:31:53 2002  Owen Taylor  <otaylor@redhat.com>
1748
1749         * pixops/pixops.c (bilinear_make_weights): Fix handing of
1750         overall alpha.
1751
1752 2002-02-10  Matthias Clasen  <maclas@gmx.de>
1753
1754         * test-loaders.c (main): Enable some tests which should work
1755         now.
1756
1757         * io-wbmp.c (gdk_pixbuf__wbmp_image_load_increment): Detect
1758         invalid image dimensions and insufficient memory.
1759
1760         * io-tga.c (try_preload): Detect invalid image dimensions.
1761         (gdk_pixbuf__tga_stop_load): Don't try to unref NULL pointers.
1762
1763         * io-ico.c (DecodeHeader): Detect some invalid headers and
1764         don't segfault.
1765
1766 Fri Feb  8 23:11:15 2002  Owen Taylor  <otaylor@redhat.com>
1767
1768         * pixops/pixops.c: Force all weight arrays to sum exactly
1769         to 65535. (Fixes #70971, reported by Federico Mena Quintero)
1770
1771         * Makefile.am (libgdk_pixbuf_1_3_la_DEPENDENCIES): Add
1772         libpixops.la.
1773
1774 2002-02-08  Federico Mena Quintero  <federico@ximian.com>
1775
1776         * pixops/pixops.h: Fix comment; PixopsInterpType -> GdkInterpType.
1777
1778 2002-02-08  Darin Adler  <darin@bentspoon.com>
1779
1780         * io-xbm.c: (next_int): Wean this from <ctype.h>.
1781
1782 2002-02-01  Matthias Clasen  <matthiasc@poet.de>
1783
1784         * Makefile.am: Build the tga loader as a static library. (#70157)
1785
1786         * io-ico.c: Merge 16- and 32-bit ico support from the stable 
1787         branch.  (#61179)
1788
1789         * io-gif.c: Recomposite all images if the animation size changes
1790         while loading.  (#70055)
1791
1792         * gdk-pixbuf.c (gdk-pixbuf-fill): Make it work for subpixbufs. 
1793         (#70055)
1794
1795 Sat Jan 19 20:49:20 2002  Manish Singh  <yosh@gimp.org>
1796
1797         * io-jpeg.c, io-png.c: Made sure all the error cases involving
1798         jpeg or png load/saves clean themselves up properly. Marked some
1799         variables needed for cleanup volatile so they aren't clobbered by
1800         setjmp.
1801
1802 Fri Jan 11 18:05:07 2002  Owen Taylor  <otaylor@redhat.com>
1803
1804         * pixops/pixops.c: Fix integer overflow for the values
1805         passed to the pixel functions. (#55148, fix from Michael Hore)
1806
1807 Fri Jan 11 17:53:58 2002  Owen Taylor  <otaylor@redhat.com>
1808
1809         * pixops/pixops.c (pixops_scale_nearest): Remove meaningless
1810         FIXME.
1811
1812         * pixops/pixops.c (pixops_process): Comment the computation
1813         of run_end_index and fix some edge cases.
1814
1815         * pixops/{scale_line_22_33_mmx.S, composite_line_22_4a4_mmx.S:
1816         composite_line_color_22_4a4_mmx.S}: Handle the case where
1817         dest <= dest_end properly. (#52001, fix from Michael Hore)
1818
1819 Thu Jan 10 16:48:30 2002  Owen Taylor  <otaylor@redhat.com>
1820
1821         * pixops/pixops.c: Replace some hardcoded values with the 
1822         SUBSAMPLE constant used elsewhere. (#51033)
1823
1824 Wed Jan  9 11:29:44 2002  Owen Taylor  <otaylor@redhat.com>
1825
1826         * Makefile.am (s-enum-types-h): Include glib-object.h,
1827         Add G_BEGIN_DECLS/END_DECLS to gdk-pixbuf-enum-types.h. (#68325,
1828         Mikael Hermansson)
1829
1830         * *.h: G_BEGIN_DECLS cleanups.
1831
1832 Tue Jan  8 10:58:04 2002  Owen Taylor  <otaylor@redhat.com>
1833
1834         * gdk-pixbuf-util.c (gdk_pixbuf_saturate_and_pixelate): 
1835          - Massive cleanup, make actually legible. 
1836          - Fix some clamp-to-range bugs found by Jim Cape (#68231). 
1837          - Add a g_return_if_fail() if src and dest alpha don't match.
1838          - Allow for src_rowstride != dest_rowstride.
1839
1840 2002-01-04  Hans Breuer  <hans@breuer.org>
1841
1842         * gdk_pixbuf.def : don't export functions prefixed
1843         with underscore
1844
1845         * makefile.msc : use -FImsvc_recommende_pragmas.h
1846
1847 Thu Jan  3 19:31:58 2002  Owen Taylor  <otaylor@redhat.com>
1848
1849         * pixops/pixops.c (scale_line_22_33): Fix and uncomment
1850         non-MMX version.
1851
1852         * pixops/pixops.c (pixops_composite_nearest): Remove a
1853         division.
1854
1855         * pixops/pixops.c (pixops_composite): Add some docs
1856         about the parameters.
1857
1858         * pixops/README: Add notes about the correct algorithms
1859         for alpha compositing and how to implement them quickly.
1860
1861 2001-12-29  Tor Lillqvist  <tml@iki.fi>
1862
1863         * Makefile.am (EXTRA_DIST): Add makefile.msc.
1864
1865 Sat Dec 22 15:31:20 2001  Owen Taylor  <otaylor@redhat.com>
1866
1867         * gdk-pixdata.h: Fix trailing "," in enumeration.
1868
1869 2001-12-17  Matthias Clasen  <matthiasc@poet.de> 
1870
1871         * gdk-pixbuf.c, gdk-pixbuf-io.c, gdk-pixbuf-animation.c, 
1872         gdk-pixbuf-data.c, gdk-pixbuf-loader.c, gdk-pixbuf-scale.c, 
1873         gdk-pixbuf-util.c, gdk-pixdata.c: Markup fixes.
1874
1875 2001-12-16  Havoc Pennington  <hp@pobox.com>
1876
1877         * gdk-pixbuf-scale.c: docs enhancements
1878
1879 2001-12-14  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
1880
1881         * io-xpm.c: Use g_ascii_strcasecmp() instead of g_strcasecmp().
1882
1883 2001-12-13  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
1884
1885         * gdk-pixbuf-animation.c, gdk-pixbuf-loader.c, gdk-pixpuf.c,
1886         io-gif-animation.c, io-gif.c, io-tiff.c, test-loaders.c: Remove
1887         assorted G_OBJECT casts where unnecessary.
1888
1889         * gdk-pixbuf-loader.c: Call g_object_ref and g_object_unref
1890         instead of gdk_pixbuf_animation_ref and gdk_pixbuf_animation_unref
1891         resp.
1892
1893         * gdk-pixbuf-csource.c, io-bmp.c, io-gif-animation.c, io-ico.c,
1894         io-jpeg.c, io-png.c, io-pnm.c, io-ras.c, io-tga.c, io-wbmp.c,
1895         io-xbm.c, io-xpm.c, test-gdk-pixbuf.c: Dito for gdk_pixbuf_ref and
1896         gdk_pixbuf_unref.
1897         
1898         * Makefile.am, pixops/Makefile.am: Compile everything with
1899         -DG_DISABLE_DEPRECATED -DGDK_PIXBUF_DISABLE_DEPRECATED
1900
1901         * gdk-pixdata.c: Use g_ascii_strup() instead of g_strup().
1902
1903         * io-xpm.c: Use g_ascii_strcasecmp() instead of g_strcasecmp().
1904
1905 2001-12-12  Matthias Clasen  <matthiasc@poet.de>
1906
1907         * gdk-pixbuf-io.c: Markup fixes.
1908
1909 2001-12-12  Matthias Clasen  <matthiasc@poet.de>
1910
1911         * Makefile.am (INCLUDES): Define G_LOG_DOMAIN. (#66412)
1912
1913         * gdk-pixbuf-loader.c, gdk-pixbuf-util.c: Markup fixes.
1914
1915 2001-12-11  Michael Natterer  <mitch@gimp.org>
1916
1917         * io-png.c: gdk_pixbuf__png_image_save: removed wrong endian
1918         conversion stuff; don't copy RGB pixbufs' lines around before
1919         saving them.
1920
1921 2001-12-05  Matthias Clasen  <matthiasc@poet.de>
1922
1923         * gdk-pixbuf.h (gdk_pixbuf_ref, gdk_pixbuf_unref,
1924         gdk_pixbuf_animation_ref, gdk_pixbuf_animation_unref):
1925         Deprecate. (#66208)
1926
1927 Tue Dec  4 11:45:45 2001  Owen Taylor  <otaylor@redhat.com>
1928
1929         * io-xpm.c (pixbuf_create_from_xpm): Fill in color 
1930         fields to black for transparent colors since we'll
1931         later initialize pixels from them. (Fixes purify
1932         errors, #66093, HideToshi Tajima)
1933
1934 2001-11-30  Tor Lillqvist  <tml@iki.fi>
1935
1936         * gdk_pixbuf.def: Add gdk_pixbuf_get_option.
1937
1938 Fri Nov 30 15:55:34 2001  Owen Taylor  <otaylor@redhat.com>
1939
1940         * gdk-pixdata.c (gdk_pixdata_deserialize): Fix
1941         alignment problem in deserialization, (#65785,
1942         reported by Hidetoshi Tajima)
1943
1944 2001-11-28  Manish Singh  <yosh@gimp.org>
1945
1946         * gdk-pixbuf/io-bmp.c (gdk_pixbuf__bmp_image_load_increment): Fill
1947         in missing error parameters to DecodeHeader and DecodeColormap.
1948
1949 2001-11-21  Federico Mena Quintero  <federico@ximian.com>
1950
1951         Fix Ximian bug #12125; merged from gdk-pixbuf stable.
1952
1953         * gdk-pixbuf/io-bmp.c (gdk_pixbuf__bmp_image_load_increment): Use
1954         a simple state machine instead of a scary if/else chain.
1955         (DecodeHeader): Set the reading state.
1956         (DecodeColormap): Set the reading state.
1957         (decode_bitmasks): New function, decodes the bitmasks for
1958         BI_BITFIELDS coding.
1959         (OneLine32): Handle BI_BITFIELDS coding.
1960         (OneLine16): Likewise.
1961
1962 2001-11-18  Hans Breuer  <hans@breuer.org>
1963
1964         * io-xpm.c : use g_strcasecmp(), some poor platforms
1965         don't have strcasecmp()
1966
1967         * makefile.msc : do INCLUDE_png etc. definition here to avoid
1968         my temporary 'gdk-pixbuf-io-include.h' hack
1969
1970 Sun Nov 18 07:54:22 2001  Owen Taylor  <otaylor@redhat.com>
1971
1972         * gdk-pixbuf-loader.c: Remove include of gobject/signal.h.
1973
1974 2001-11-03  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
1975
1976         * gdk-pixbuf-loader.c, gdk-pixbuf-scale.c: Documentation fixes.
1977
1978 2001-10-29  Tor Lillqvist  <tml@iki.fi>
1979
1980         * Makefile.am: Use -no-undefined on Win32. Make
1981         libgdk_pixbuf_1_3_la_OBJECTS depend on
1982         gdk-pixbuf-marshal.c. Install import libraries.
1983
1984         * gdk_pixbuf.def: Update.
1985
1986         * gdk-pixbuf-io.c: (Win32) Use G_WIN32_DLLMAIN_FOR_DLL_NAME, saves
1987         the actual DLL name of libgdk_pixbuf.
1988         (get_libdir): Use it instead of guessing.
1989
1990         * io-xbm.c (gdk_pixbuf__xbm_image_begin_load): Use
1991         g_file_open_tmp() insread of mkstemp().
1992
1993 2001-10-18  Matthias Clasen  <matthiasc@poet.de>
1994
1995         * io-xbm.c (gdk_pixbuf__xbm_image_load_real): Don't dereference
1996         context when it may be NULL. (#62344)
1997
1998 2001-10-16  Matthias Clasen  <matthiasc@poet.de>
1999
2000         * gdk-pixdata.c, gdk-pixdata.h: Documentation.
2001
2002         * gdk-pixbuf-csource.1: Spelling fixes.
2003
2004 Wed Oct 10 11:52:17 2001  Owen Taylor  <otaylor@redhat.com>
2005
2006         * gdk-pixdata.c gdk-pixbuf.h: Get rid of 
2007         GDK_PIXBUF_ERROR_HEADER/PIXEL_CORRUPT and use CORRUPT_IMAGE.
2008         Get rid fo GD_PIXBUF_ERROR_UNKNOWN_FORMAT and use the
2009         existing UKNOWN_TYPE error. (#58308)
2010
2011         * gdk-pixbuf.h, gdk-pixdata.c: Rename gdk_pixbuf_new_from_stream()
2012         back to gdk_pixbuf_new_from_inline(). Rework docs to try
2013         and be helpful for the common case. (#58308)
2014
2015 2001-10-05  Sven Neumann  <sven@gimp.org>
2016
2017         * gdk-pixbuf/gdk-pixbuf-io.c
2018         * gdk-pixbuf/gdk-pixbuf-private.h
2019         * gdk-pixbuf/gdk-pixbuf.c
2020         * gdk-pixbuf/gdk-pixbuf.h
2021         * gdk-pixbuf/io-jpeg.c
2022         * gdk-pixbuf/io-png.c: changed GDK_PIXBUF_ERROR_BAD_OPTION_VALUE to
2023         GDK_PIXBUF_ERROR_BAD_OPTION to we can use it for bad keys too. Added
2024         new public API gdk_pixbuf_get_option() to retrieve key/value pairs
2025         set by an image loader. Added support for saving and reading PNG tEXt 
2026         chunks in PNG images.
2027
2028 Tue Oct  2 11:29:50 2001  Owen Taylor  <otaylor@redhat.com>
2029
2030         * gdk-pixdata.c (gdk_pixdata_to_csource): Fix indentation
2031         use a macro to make code a bit more readable.
2032
2033 2001-10-02  Sven Neumann  <sven@gimp.org>
2034
2035         * gdk-pixdata.c: g_string_printfa => g_string_append_printf. 
2036
2037 Wed Sep 26 18:08:19 2001  Owen Taylor  <otaylor@redhat.com>
2038
2039         * Makefile.am (s-enum-types-h): Fix a typo in the include
2040         guards. (#61254, Skip Montaro)
2041
2042 2001-09-21  Matthias Clasen  <matthiasc@poet.de>
2043
2044         * io-xpm.c (xpm_extract_color): Rewritten to handle
2045         xpm colormap entries more thoroughly. (#59939)
2046
2047 2001-09-21  Hans Breuer  <hans@breuer.org>
2048
2049         * gdk-pixbuf.def : updated externals
2050
2051         * makefile.msc : generate gdk-pixbuf-enum-types.[hc]
2052
2053 Thu Sep 20 17:22:48 2001  Owen Taylor  <otaylor@redhat.com>
2054
2055         * io-tiff.c (gdk_pixbuf__tiff_image_load): On OSF, apparently fseek()
2056         works in some on-demand way, so the fseek
2057         gdk_pixbuf_new_from_file() doesn't work here since we are using
2058         the raw file descriptor. So, we call lseek() on the fileno(f)
2059         before using it. (#60840). 
2060
2061 2001-09-20  James Henstridge  <james@daa.com.au>
2062
2063         * Makefile.am (gdk-pixbuf-enum-types.c): same change as in pango,
2064         so that flags types are registered as flags rather than enums (not
2065         that there are any flags here at the moment).
2066
2067 Wed Sep 19 00:28:24 2001  Owen Taylor  <otaylor@redhat.com>
2068
2069         * Makefile.am (gdk_pixbuf_headers): Don't include
2070         gkd-pixbuf-features.h here since is in builddir
2071         and confuses autogen rules.
2072
2073         * Makefile.am: Don't += variables before they have values,
2074         automake-1.5 doesn't like it.
2075
2076         * Makefile.am: Fix srcdir != builddir for gdk-pixbuf-enum-types.c.
2077
2078         * Makefile.am: The whitespace strikes back.
2079         
2080 2001-09-17  Matt Wilson  <msw@redhat.com>
2081
2082         * Makefile.am (libpixbufloader_xbm_la_LDFLAGS): removed duplicate
2083         LDFLAGS definition, use the -avoid-version one.
2084         (libpixbufloader_tga_la_LDFLAGS): likewise
2085
2086 Mon Sep 17 11:49:02 2001  Owen Taylor  <otaylor@redhat.com>
2087
2088         * pixops/*: Mirror GdkInterpType to PixopsInterpType
2089         to avoid including gdk-pixbuf headers.
2090
2091 2001-09-16  James Henstridge  <james@daa.com.au>
2092
2093         * .cvsignore: add generated files to ignore list.
2094
2095         * gdk-pixbuf.h: include gdk-pixbuf-enum-types.h
2096
2097         * Makefile.am: add rules to build gdk-pixbuf-enum-types.[ch]
2098
2099 Fri Sep 14 23:22:12 2001  Matthias Clasen  <matthiasc@poet.de>
2100
2101         * io-pnm.c (pnm_read_header): Use GDK_PIXBUF_ERROR_CORRUPT_IMAGE,
2102         not GDK_PIXBUF_ERROR_HEADER_CORRUPT. (#58308)
2103
2104 Fri Sep 14 22:53:45 2001  Matthias Clasen  <matthiasc@poet.de>
2105
2106         * io-jpeg.c (gdk_pixbuf__jpeg_image_begin_load): Handle
2107         out-of-memory situation better.
2108
2109         * io-pnm.c: Robustness fixes for pnm loader
2110
2111         * io-gif.c: Make gif loader survive TEST_RANDOMLY_MODIFY
2112
2113         * io-xpm.c (parse_color): detect very long color strings
2114
2115         All of the above from Matthias Clasen <matthiasc@poet.de>,
2116         the remaining from Soeren Sandmann <sandmann@daimi.au.dk>.
2117
2118         * test-images.h: add tests:
2119                 - four valid ppm's, eight invalid (matthiasc@poet.de)
2120                 - one invalid xpm (matthiasc@poet.de)
2121                 - one valid tga, one invalid (sandmann@daimi.au.dk)
2122                 - one invalid tiff (sandmann@daimi.au.dk
2123
2124         * test-loaders.c: enable tests for ppm, png, gif, tga, tiff, xpm
2125         
2126         * io-tiff.c (gdk_pixbuf__tiff_image_stop_load): TIFFClientOpen can
2127         fail - detect it when it happens
2128
2129         * io-tga.c (gdk_pixbuf__tga_load_increment): Fail if there is too
2130         much data in file
2131         
2132         * gdk-pixbuf-io.c: moved wbmb check after ico check to avoid false
2133         positives
2134         
2135 Fri Sep 14 00:30:48 2001  Tim Janik  <timj@gtk.org>
2136
2137         * Makefile.am: don't used BUILT_SOURCES to build marshal
2138         files, as in conjunction with stamp files, this can
2139         lead to endless rebuilding loops.
2140
2141 Tue Sep  4 00:22:07 2001  Owen Taylor  <otaylor@redhat.com>
2142
2143         * Makefile.am: Fix EXTRA_DIST for gdk-pixbuf-csource.1
2144
2145 Tue Sep  4 03:09:52 2001  Tim Janik  <timj@gtk.org>
2146
2147         * gdk-pixbuf-csource.1: new file, manual page for
2148         the publically installed gdk-pixbuf-csource utility.
2149
2150 Thu Aug 30 08:30:03 2001  Matthias Clasen  <matthiasc@poet.de>
2151
2152         * gdk-pixbuf-loader.c (gdk_pixbuf_loader_close): Propagate
2153         errors from gdk_pixbuf_loader_load_module.
2154
2155 Thu Aug 30 08:27:37 2001  Matthias Clasen  <matthiasc@poet.de>
2156
2157         * io-png.c (png_row_callback): Check that row_num is valid.
2158
2159 Tue Aug 28 21:05:26 2001  Matthias Clasen  <matthiasc@poet.de>
2160
2161         * io-bmp.c (OneLine): Emit area_updated signal with proper
2162         area information. (#52002)
2163
2164 Tue Aug 28 20:03:43 2001  Matthias Clasen  <matthiasc@poet.de>
2165
2166         * test-loaders.c (test_loader): Catch errors at close time. 
2167         * test-loaders.c (main): Remove C++ comments. 
2168
2169 2001-08-21  Matthias Clasen  <matthiasc@poet.de>
2170
2171         * Makefile.am, gdk-pixbuf-io.c, pixbufloader_tga.def, 
2172         io-tga.c: Add tga loader, patch by Nicola Girardi. (#56067)
2173
2174 2001-08-20  Matthias Clasen  <matthiasc@poet.de>
2175
2176         * test-images.h, test-loaders.c: Add ico and wbmp tests.
2177         * io-jpeg.c (gdk_pixbuf__jpeg_image_save): Fail with a suitable
2178         error if buffer allocation fails.
2179         * io-ico.c: Make .ICO loader more robust.
2180         All of these are due to sandmann@daimi.au.dk (#50187)
2181
2182 2001-08-19  Sven Neumann  <sven@gimp.org>
2183
2184         * pixops/pixops.c: applied some simple but effective optimizations 
2185         to pixops_composite_nearest() and pixops_composite_color_nearest().
2186
2187 2001-08-07  Sven Neumann  <sven@gimp.org>
2188
2189         * gdk-pixbuf.c (gdk_pixbuf_fill): a comment asked to optimize this
2190         function, so that's what I did.
2191
2192 2001-08-06  Kjartan Maraas  <kmaraas@gnome.org>
2193
2194         * gdk-pixdata.c: Fix a typo.
2195         
2196 2001-07-30  Hans Breuer  <hans@breuer.org>
2197
2198         * pixops/makefile.msc : new file
2199         * makefile.msc : use it to complete the build
2200
2201 2001-07-20  Hans Breuer  <hans@breuer.org>
2202
2203         * gdk-pixdata.c : don't 'g_tohl (*istream++)', but move
2204         pointer increment out of the macro, because  at least one
2205         compiler (msvc 5.0) gets confused otherwise (applies the
2206         wrong increment).
2207
2208         * gdk_pixbuf.def : updated exports
2209
2210         * makefile.msc : reflect gdk-pixbuf-csource changes
2211  
2212 2001-07-17  Darin Adler  <darin@bentspoon.com>
2213
2214         * gdk-pixbuf-csource.c: Add missing <stdlib.h> include.
2215         * io-png.c: (setup_png_transformations): Add ifdef so we compile
2216         without warnings with G_DISABLE_CHECKS on.
2217         * io-pnm.c: (gdk_pixbuf__pnm_image_load_increment): Add a missing
2218         const.
2219         * io-wbmp.c: (getin), (get_mbi): Add a missing const.
2220         * io-xbm.c: (gdk_pixbuf__xbm_image_load_real): Get rid of some
2221         unused locals and add an initial value to quiet the compiler's
2222         unintialized variable warning.
2223         * pixops/pixops.c: Put an ifdef around some dead code.
2224
2225 Thu Jul  5 10:17:15 2001  Owen Taylor  <otaylor@redhat.com>
2226
2227         * pixops/Makefile.am (noinst_LTLIBRARIES): Switch
2228         over to the new include flags AC_SUBST(). (Problem
2229         pointed out by Mikael Hermansson.)
2230
2231 2001-06-29  Havoc Pennington  <hp@redhat.com>
2232
2233         * gdk-pixbuf-loader.c (gdk_pixbuf_loader_class_init): fix for
2234         G_DISABLE_COMPAT
2235
2236 Thu Jun 28 21:54:19 2001  Owen Taylor  <otaylor@redhat.com>
2237
2238         * make-inline-pixbuf.c test-gdk-pixbuf.c test-loaders.c
2239         gdk-pixbuf-csource.c: Fix args to g_type_init ().
2240
2241 2001-06-28  Havoc Pennington  <hp@pobox.com>
2242
2243         * gdk-pixdata.c: <string.h>
2244
2245         * gdk-pixbuf-io.c (get_libdir): fix typo in dll name (aren't we
2246         also leaking memory here from g_strdup_printf?)
2247
2248 Tue Jun 26 09:48:02 2001  Tim Janik  <timj@gtk.org>
2249
2250         * Makefile.am (noinst_PROGRAMS): get rid of make-inline-pixbuf
2251
2252         * gdk-pixbuf-data.[hc]: provide gdk_pixbuf_new_from_stream()
2253         instead from gdk_pixbuf_new_from_inline().
2254
2255         * gdk-pixdata.[hc]: auxillary GdkPixdata structure, public
2256         installed API for applications that need to serialize/deserialize
2257         on their own (gimp, BEAST).
2258         
2259         * gdk-pixbuf/gdk-pixbuf-csource.c: provide publically installed
2260         program that can dump images in CSource format and Pixbuf
2261         stream format. supports RLE encoding, MACRO formatting etc...
2262         invoke with --help.
2263
2264 Mon Jun 25 00:28:11 2001  Owen Taylor  <otaylor@redhat.com>
2265
2266         * Makefile.am: Actually update timestamps, so rules don't
2267         constantly run.
2268
2269 2001-06-11  Havoc Pennington  <hp@redhat.com>
2270
2271         * Makefile.am (stamp-gdk-pixbuf-marshal.c): glib_genmarshal
2272         already includes top_builddir
2273
2274 2001-06-08  Havoc Pennington  <hp@redhat.com>
2275
2276         * gdk-pixbuf-loader.c (gdk_pixbuf_loader_load_module): remove
2277         bogus g_return_if_fail  
2278
2279         * io-gif.c (gif_get_lzw): if delay time is 0 or smaller than
2280         likely timeout resolution, set it to an arbitrarily-chosen short
2281         delay.
2282         Fixes bug #55953 from warmenhoven@yahoo.com
2283
2284 2001-06-07  Havoc Pennington  <hp@redhat.com>
2285
2286         * Makefile.am: use Owen's new way of doing stampfiles/generated
2287         sources
2288
2289 2001-06-07  Havoc Pennington  <hp@redhat.com>
2290
2291         * Makefile.am (gdk-pixbuf-marshal.c): fix up the glib-genmarshal path
2292
2293 2001-06-05  Havoc Pennington  <hp@redhat.com>
2294
2295         * test-loaders.c (main): use putenv not setenv, reported by 
2296          Armin Theissen
2297
2298 2001-05-08  Havoc Pennington  <hp@redhat.com>
2299
2300         * gdk-pixbuf-util.c (gdk_pixbuf_add_alpha): docs fixup, 
2301         and fix behavior to still subst color if the original image 
2302         had alpha
2303
2304 2001-06-04  Havoc Pennington  <hp@redhat.com>
2305
2306         * io-pnm.c (pnm_skip_whitespace): patch from Szekeres Istvan,
2307         bug #52560
2308
2309 2001-06-01  Havoc Pennington  <hp@redhat.com>
2310
2311         Apply patch from sandmann@daimi.au.dk, with some tweaks.
2312         Makes things a bit more robust, and adds test-loaders.c 
2313         which is good for finding further robustness bugs to fix.
2314         
2315         * io-tiff.c: Try to work around libtiff suckiness a bit; 
2316         put a giant thread lock on the whole loader, 
2317         paranoically check both whether error handlers were called and
2318         also whether functions return false. Handle case where width or
2319         height is 0. Various cleanups.
2320
2321         * io-png.c (gdk_pixbuf__png_image_stop_load): only unref pixbuf
2322         if it existed
2323         (png_error_callback): apparently libpng expects you to longjmp out
2324         of this thing?
2325
2326         * io-gif.c (struct _GifContext): remove unused "pixbuf" field
2327         (lzw_read_byte): change "Mail jrb if this fails" g_warning 
2328         to a g_set_error()
2329         (gif_get_lzw): check for out-of-memory
2330         (gif_prepare_lzw): catch/report an error
2331         (new_context): use try_malloc, since GifContext is nearly 70K
2332         (gdk_pixbuf__gif_image_load_increment): set context->buf to NULL
2333         so we don't crash later.
2334
2335         * Makefile.am: Add test-loaders
2336
2337         * gdk-pixbuf-loader.c (gdk_pixbuf_loader_close): handle context ==
2338         NULL due to errors
2339         
2340 2001-05-29  Darin Adler  <darin@eazel.com>
2341
2342         * gdk-pixbuf.h: Fix prototype to use "(void)" instead of "()".
2343
2344 Mon May 28 14:21:35 2001  Jonathan Blandford  <jrb@redhat.com>
2345
2346         * io-bmp.c: Patch from Helmethead <hoshem@mel.comcen.com.au> to
2347         fix up bmp decoder to: 
2348          - adds 16 bpp bmp support (bug #53884)
2349          - adds OS/2 1.x format bmp support (bug #54964)
2350          - adds 4 bpp RLE compressed bmp support
2351          - adds 1 bpp colormap support
2352          - fixes negative height (top down) bmp support
2353
2354 2001-05-25  Hans Breuer  <hans@breuer.org>
2355
2356         * gdk_pixbuf.def : reflect Havoc's recent api change
2357
2358 Sun May 20 12:53:49 2001  Owen Taylor  <otaylor@redhat.com>
2359
2360         * Makefile.am (libgdk_pixbuf_1_3_la_LDFLAGS): Remove an
2361         excess $(GLIB_LIBS).
2362
2363 Sun May 13 11:59:11 2001  Owen Taylor  <otaylor@redhat.com>
2364
2365         * Makefile.am: Make modules depend on libgdk_pixbuf.la.
2366
2367 2001-05-04  Havoc Pennington  <hp@redhat.com>
2368
2369         * pixops/pixops.c (pixops_process): merge fix from stable: Patch
2370          from hoshem@mel.comcen.com.au to fix nonzero X offsets.  Fixes
2371          bug #50371.
2372         
2373         * gdk-pixbuf/pixops/pixops.c (pixops_composite_nearest): merge
2374         from stable: Patch from OKADA Mitsuru <m-okada@fjb.co.jp> to fix
2375         confusion of using "src" instead of "p".
2376         (pixops_composite_color_nearest): Use a more accurate (and
2377         correct, to begin with) compositing method.  This cures checks
2378         showing through on images with no alpha.
2379
2380         * gdk-pixbuf.c (gdk_pixbuf_fill): fix bug that left some trailing
2381         bytes unfilled.
2382
2383         * gdk-pixbuf-io.h: fix UpdatedNotifyFunc to use signed ints
2384
2385         * gdk-pixbuf-loader.h (struct _GdkPixbufLoaderClass): Change
2386         area_updated signal to use signed ints.  Removed animation-related
2387         signals.
2388
2389         * io-gif.c, io-gif-animation.h, io-gif-animation.c: Massive
2390         rewrite action
2391
2392         * gdk-pixbuf-animation.c: Add GdkPixbufAnimationIter to abstract
2393         all the pesky details. Remove old frame-based API. Make
2394         GdkPixbufAnimation an abstract base class, derived by the loaders.
2395
2396 Sun Apr 22 15:51:32 2001  Owen Taylor  <otaylor@redhat.com>
2397
2398         * Makefile.am (LDADDS): Add $(MATH_LIB).
2399
2400 2001-04-18  Havoc Pennington  <hp@redhat.com>
2401
2402         * gdk-pixbuf.c (gdk_pixbuf_fill): Function to fill pixbuf with a
2403         given color.
2404
2405 Wed Apr  4 01:41:02 2001  Tim Janik  <timj@gtk.org>
2406
2407         * pixops/Makefile.am (noinst_LTLIBRARIES): include $top_srcdir
2408         so we don't try to get <gtk/gtkobject.h> from standard search
2409         paths.
2410
2411         * Makefile.am (gdk-pixbuf-marshal.c): use deps from srcdir.
2412         add gdk-pixbuf-marshal.list to EXTRA_DIST.
2413         take gdk-pixbuf-marshal.h out of _la sources.
2414
2415 2001-03-19  Tor Lillqvist  <tml@iki.fi>
2416
2417         * makefile.mingw.in: Handle gdk-pixbuf-marshal.c.
2418
2419         * gdk_pixbuf.def: Update.
2420
2421         * pixbufloader_*.def: Just export the fill_vtable functions now.
2422
2423 2001-03-18  Mike Kestner  <mkestner@ameritech.net>
2424
2425         * make-inline-pixbuf.c (main): Added logic to remove output when
2426         failures occur.
2427
2428 2001-03-14  Havoc Pennington  <hp@redhat.com>
2429
2430         * Makefile.am (gdk-pixbuf-marshal.c): Use different temporary file
2431         from gdk-pixbuf-marshal.h, fixes parallel makes.
2432
2433 Thu Mar  1 04:01:57 2001  Tim Janik  <timj@gtk.org>
2434
2435         * test-gdk-pixbuf.c: fixed includes.
2436
2437 2001-02-18  Havoc Pennington  <hp@pobox.com>
2438
2439         * gdk-pixbuf-io.c (gdk_pixbuf_load_module): prepend underscore
2440         (gdk_pixbuf_get_named_module): prepend underscore
2441         (gdk_pixbuf_get_module): prepend underscore
2442
2443 2001-02-19  Havoc Pennington  <hp@redhat.com>
2444
2445         * gdk-pixbuf-io.c (gdk_pixbuf_load_module): const fix
2446
2447 2001-02-17  Havoc Pennington  <hp@pobox.com>
2448
2449         * gdk-pixbuf-loader.c (gdk_pixbuf_loader_new_with_type): docs
2450
2451 2001-02-07  Alexander Larsson  <alexl@redhat.com>
2452
2453         * io-xpm.c (free_buffer):
2454         Use g_free, since the buffer is allocated with g_try_alloc().
2455
2456 2001-02-06  Christophe Merlet  <redfox@eikonex.org>
2457
2458         * gdk-pixbuf-data.c: Fixes a minor typo.
2459
2460 Sun Feb  4 07:59:57 2001  Tim Janik  <timj@gtk.org>
2461
2462         * gdk-pixbuf.h: DOH! don't include glib/gobject.h but glib-object.h,
2463         we finally need the gobject->gruntime rename.
2464
2465         * *.c: scratched calls to g_type_init(), there's simply no point in
2466         doing that, use gtk_init().
2467
2468 2001-02-01  Havoc Pennington  <hp@pobox.com>
2469
2470         * gdk-pixbuf-loader.c, gdk-pixbuf-loader.h: rename "private" field
2471         in struct to "priv" for C++
2472
2473 2001-01-31  Havoc Pennington  <hp@pobox.com>
2474
2475         * gdk-pixbuf.c: include glib-object.h instead of gvaluetypes.h
2476
2477 2001-01-26  Havoc Pennington  <hp@redhat.com>
2478
2479         * gdk-pixbuf-io.c (mname): fix included modules case.
2480
2481 2001-01-22  Havoc Pennington  <hp@redhat.com>
2482
2483         * gdk-pixbuf-io.c (gdk_pixbuf_new_from_xpm_data): check errors 
2484         from gdk_pixbuf_load_module
2485
2486 2001-01-22  Havoc Pennington  <hp@redhat.com>
2487
2488         * Makefile.am: Add built marshaller files to support
2489         GdkPixbufLoader signals
2490
2491         * gdk-pixbuf-io.c (gdk_pixbuf_load_module): have
2492         GDK_PIXBUF_MODULEDIR unconditionally replace the compiled-in
2493         module location, rather than acting as a fallback, because we are
2494         using GDK_PIXBUF_MODULEDIR to use gdk-pixbuf before installing it.
2495
2496         * gdk-pixbuf.h: include gdk-pixbuf-loader.h
2497
2498         * gdk-pixbuf-loader.h, gdk-pixbuf-loader.c: Move back over here
2499         from gtk, and add error to close(), because stop_load may do
2500         parsing of the image.
2501         
2502         * pixops/have_mmx.S (_pixops_have_mmx): add newline at end of file
2503
2504         * io-*.c: make individual operations static, and add fill_vtable
2505         functions which are exported. Fix the collection of type warnings
2506         that surfaced, including a number of functions that didn't
2507         properly take a GError and some that weren't
2508         const-correct. Involved adding error handling for a few loaders.
2509
2510         * gdk-pixbuf-io.h: Add error reporting to stop_load function
2511         
2512         * gdk-pixbuf-io.c (gdk_pixbuf_load_module): change to just look up
2513         a function that fills in the GdkPixbufModule vtable, instead of 
2514         looking up all the image functions individually; this means we 
2515         can get type safety within modules for the loader functions.
2516         Also it means you don't have to keep the statically compiled and 
2517         GModule versions in sync. 
2518
2519         * test-gdk-pixbuf.c (main): remove gdk_pixbuf_init()
2520
2521         * make-inline-pixbuf.c (main): remove call to gdk_pixbuf_init()
2522
2523         * gdk-pixbuf.h: nuke gdk_pixbuf_init()
2524         
2525         * gdk-pixbuf-animation.c (gdk_pixbuf_frame_get_type): g_type_init
2526         () here
2527
2528         * gdk-pixbuf.c (gdk_pixbuf_get_type): g_type_init () here
2529
2530         * gdk-pixbuf-animation.c (gdk_pixbuf_animation_get_type):
2531         g_type_init() here
2532
2533 2001-01-20  John Harper  <jsh@eazel.com>
2534
2535         * io-xbm.c: new pixbuf loader, for X bitmap files. Basically a
2536         collision between Xlib's RdBitF.c and io-tiff.c
2537
2538         * gdk-pixbuf-io.c, Makefile.am, pixbufloader_xbm.def: added
2539         io-xbm.c support
2540
2541         [ merged from stable gdk-pixbuf module. Untested, but it
2542         compiles, and works fine in the stable module ]
2543
2544 2001-01-18  Tor Lillqvist  <tml@iki.fi>
2545
2546         * gdk-pixbuf-io.c (get_libdir): (Win32) Use the new
2547         g_win32_get_package_installation_subdirectory() function.  No need
2548         to include windows.h.
2549         (gtk_win32_get_installation_directory): Remove this then.
2550
2551 2001-01-01  Havoc Pennington  <hp@redhat.com>
2552
2553         * Makefile.am (libgdk_pixbuf_1_3_la_LDFLAGS): add
2554         @LIBTOOL_EXPORT_OPTIONS@
2555
2556 2000-12-30  Tor Lillqvist  <tml@iki.fi>
2557
2558         * gdk_pixbuf.def: Update.
2559
2560 2000-12-16  Havoc Pennington  <hp@pobox.com>
2561
2562         * gdk-pixbuf-animation.c (gdk_pixbuf_animation_new_from_file): ref
2563         the pixbuf in the frame, so we can use gdk_pixbuf_frame_free
2564         (gdk_pixbuf_frame_copy): new function
2565         (gdk_pixbuf_frame_free): new function
2566         (gdk_pixbuf_frame_get_type): new function
2567         (GDK_TYPE_PIXBUF_FRAME): macro to get type for GdkPixbufFrame
2568
2569 Tue Nov 14 11:51:26 2000  Owen Taylor  <otaylor@redhat.com>
2570
2571         * Makefile.am: Add -avoid-version for all modules.
2572
2573 2000-11-13  Havoc Pennington  <hp@redhat.com>
2574
2575         * io-png.c (png_simple_error_callback): fix error message to not
2576         say "save" since it's used for loading
2577
2578 2000-11-11  Hans Breuer <Hans@Breuer.Org>
2579
2580         * gdk-pixbuf-io.c : Fix all function prototype macros for self 
2581         contained image handlers (!USE_G_MODULE). Files to save should
2582         be opened in binary mode, fopen(s, "wb").
2583
2584         * io-xpm.c : added HAVE_UNISTD_H condition
2585
2586 2000-11-11  Tor Lillqvist  <tml@iki.fi>
2587
2588         * gdk_pixbuf.def: Add gdk_pixbuf_new_subpixbuf.
2589
2590         * io-tiff.c (gdk_pixbuf__tiff_image_begin_load): Use
2591         g_file_open_tmp() (just added to GLib) instead of mkstemp() (or
2592         mktemp() and open()).
2593         
2594         * io-xpm.c (gdk_pixbuf__xpm_image_begin_load): Ditto.
2595
2596 2000-11-01  Havoc Pennington  <hp@pobox.com>
2597
2598         * gdk-pixbuf.c (gdk_pixbuf_new_subpixbuf): New function to create 
2599         a pixbuf pointing to a subregion of another pixbuf.
2600
2601 2000-10-16  Tor Lillqvist  <tml@iki.fi>
2602
2603         * gdk-pixbuf-io.c: Define also m_save (for the non-gmodule case).
2604
2605 2000-10-16  Havoc Pennington  <hp@redhat.com>
2606
2607         * gdk-pixbuf-io.c (gdk_pixbuf_get_module)
2608         (gdk_pixbuf_get_named_module) (gdk_pixbuf_load_module): 
2609         add error reporting here also
2610
2611         * make-inline-pixbuf.c (main): use GError
2612
2613         * io-xpm.c: include unistd.h
2614
2615         * gdk-pixbuf-util.c: include string.h
2616
2617         * io-*.c: add error reporting
2618         
2619         * gdk-pixbuf-animation.c (gdk_pixbuf_animation_new_from_file): add
2620         error reporting
2621
2622         * gdk-pixbuf-io.c (gdk_pixbuf_new_from_file): Add error reporting
2623
2624         * gdk-pixbuf-io.h: Add GError** to load_increment and load 
2625         methods
2626
2627         * gdk-pixbuf-io.c (gdk_pixbuf_save) (gdk_pixbuf_savev): return 
2628         a G_FILE_ERROR if we fail to write or close the file.
2629
2630         * gdk-pixbuf.h: remove GDK_PIXBUF_ERROR_IO, instead we'll use
2631         G_FILE_ERROR_*. Rename enum to GdkPixbufError, properly following
2632         the GError naming rules. Add GError** to load functions.
2633
2634 2000-10-06  Havoc Pennington  <hp@redhat.com>
2635
2636         * gdk-pixbuf.h: add GdkPixbufAlphaMode
2637
2638 2000-10-06  Havoc Pennington  <hp@redhat.com>
2639
2640         This entry is a summary of the merged-in changes from 1.0. 
2641         Relevant original ChangeLog entries are spliced in after 
2642         this entry; the files they refer to are from the 1.0
2643         gdk-pixbuf sources.
2644         
2645         * pixops/pixops.c (pixops_composite_nearest): sync a small fix
2646         from 1.0
2647
2648         * io-xpm.c (xpm_seek_string): add fscanf error check from 1.0
2649         Add progressive loader from 1.0
2650
2651         * io-tiff.c (gdk_pixbuf__tiff_image_begin_load): mem leak fixes
2652         from 1.0 tree
2653
2654         * io-pnm.c: new version from 1.0 tree
2655
2656         * io-jpeg.c (gdk_pixbuf__jpeg_image_load): sync from 1.0, use 
2657         malloc not g_malloc
2658
2659         * io-gif.c (lzw_read_byte): sync from 1.0, change a g_error to
2660         g_warning
2661         (gif_get_next_step): return 0 here, sync from 1.0
2662
2663         * gdk-pixbuf-util.c: sync email address change for Cody
2664         Russell
2665
2666 2000-09-11  Jeffrey Stedfast  <fejj@helixcode.com>
2667
2668         * gdk-pixbuf/io-pnm.c: Pretty much totally rewrote again because
2669         last nights code was still "broken". Should now properly handle
2670         all error conditions gracefully.
2671
2672 2000-09-10  Jeffrey Stedfast  <fejj@helixcode.com>
2673
2674         * gdk-pixbuf/io-pnm.c: Rewrote.
2675
2676 2000-09-09  Federico Mena Quintero  <federico@helixcode.com>
2677
2678         * gdk-pixbuf/pixops/pixops.c (pixops_composite_nearest): Compute
2679         the correct dest offset.
2680
2681 2000-08-25  Federico Mena Quintero  <federico@helixcode.com>
2682
2683         * gdk-pixbuf/io-xpm.c: #include <unistd.h>
2684
2685 2000-08-05  Larry Ewing  <lewing@helixcode.com>
2686
2687         * gdk-pixbuf/io-tiff.c: stop leaking context->tempname.
2688
2689         * gdk-pixbuf/io-xpm.c: same as above.
2690
2691 2000-07-26  Michael Meeks  <michael@helixcode.com>
2692
2693         * gdk-pixbuf/io-jpeg.c (gdk_pixbuf__jpeg_image_load): make
2694         g_malloc a malloc.
2695
2696 2000-07-21  Larry Ewing  <lewing@helixcode.com>
2697
2698         * gdk-pixbuf/io-xpm.c: add a fake progressive loader so that
2699         xpm at least supports the progressive interface like the one in
2700         io-tiff.c. This should be reimplemented as an actual progressive
2701         loader.
2702
2703 2000-07-19  Jonathan Blandford  <jrb@redhat.com>
2704
2705         * demo/pixbuf-demo.c (update_timeout): changed scaling level to
2706         make it look better.
2707         * gdk-pixbuf/testpixbuf.c (update_timeout): Patch from michael
2708         meeks to handle errors better.
2709         
2710 2000-10-07  Tor Lillqvist  <tml@iki.fi>
2711
2712         * gdk_pixbuf.def
2713         * pixbufloader_jpeg.def
2714         * pixbufloader_png.def: Add new entry points.
2715
2716         * makefile.mingw.in: Use libintl.
2717
2718 2000-10-06  Havoc Pennington  <hp@redhat.com>
2719
2720         * gdk-pixbuf-io.c (gdk_pixbuf_save): s/format/type/g to be
2721         consistent with gdk_pixbuf_loader_new_with_type(). 
2722         Return runtime error if a module is missing.
2723
2724         * gdk-pixbuf.h: add GDK_PIXBUF_ERROR_UNKNOWN_TYPE
2725
2726 2000-10-05  Havoc Pennington  <hp@redhat.com>
2727
2728         Pixbuf saving, patch from David Welton.
2729         
2730         * Makefile.am (GDK_PIXBUF_LIBS): add INTLLIBS
2731         (libgdk_pixbuf_1_3_la_SOURCES): add gdk-pixbuf-i18n.h
2732
2733         * gdk-pixbuf-i18n.h: Add _() to gdk-pixbuf
2734
2735         * io-png.c (gdk_pixbuf__png_image_save): PNG save routine.
2736
2737         * io-jpeg.c (gdk_pixbuf__jpeg_image_save): JPEG save routine.
2738
2739         * gdk-pixbuf-io.c (gdk_pixbuf_save): 
2740         (gdk_pixbuf_savev): Implement pixbuf saving routines
2741
2742         * gdk-pixbuf.c (gdk_pixbuf_error_quark): pixbuf error quark
2743         function
2744
2745         * gdk-pixbuf.h: Add public save routines; add pixbuf error 
2746         types
2747
2748         * gdk-pixbuf-io.h: Add save function to GdkPixbufModule
2749
2750 2000-10-05  Dan Winship  <danw@helixcode.com>
2751
2752         * io-png.c, io-tiff.c, io-xpm.c: Fix comments to not claim that
2753         all three of these files are the JPEG image loader. (From
2754         gdk-pixbuf module.)
2755
2756 2000-10-03  Tor Lillqvist  <tml@iki.fi>
2757
2758         * makefile.mingw.in: Add rule for make-inline-pixbuf. Use
2759         gdk-pixbuf's version number in the rule for makefile.mingw itself.
2760
2761         * gdk_pixbuf.def: Add new entry points.
2762
2763 2000-09-26  Havoc Pennington  <hp@redhat.com>
2764
2765         * gdk-pixbuf-util.c (gdk_pixbuf_saturate_and_pixelate): Add this
2766         function here, instead of putting it in a private GTK+ file.
2767
2768         * gdk-pixbuf-private.h (GdkPixbufInlineFormat): include an 
2769         enum here for the known formats of inlined pixbufs.
2770         Also, #define our file magic here.
2771
2772 2000-06-23  Havoc Pennington  <hp@redhat.com>
2773
2774         * make-inline-pixbuf.c: Small program that creates C variable
2775         declarations of inline pixbuf data. This can be read 
2776         by gdk_pixbuf_new_from_inline.
2777
2778         * gdk-pixbuf.h (gdk_pixbuf_new_from_inline): New function to read
2779         inline pixbuf data and create a pixbuf from it. 
2780
2781         * gdk-pixbuf-data.c (gdk_pixbuf_new_from_inline): implement here
2782
2783 2000-09-07  Tor Lillqvist  <tml@iki.fi>
2784
2785         * makefile.mingw.in: Use own version number for gdk-pixbuf DLLs,
2786         like on Unix.
2787
2788 2000-08-12  Tor Lillqvist  <tml@iki.fi>
2789
2790         * gdk_pixbuf.def: Add missing entry point.
2791
2792 2000-08-10  Havoc Pennington  <hp@redhat.com>
2793
2794         * Makefile.am (EXTRA_DIST): The *.def files had the wrong names
2795         (s/pixbuf_/pixbufloader_)
2796         
2797 2000-08-02  Tor Lillqvist  <tml@iki.fi>
2798
2799         * io-bmp.c
2800         * io-ico.c
2801         * io-ras.c
2802         * io-tiff.c
2803         * io-wbmp.c: Conditionalise inclusion of <unistd.h>.
2804
2805         * makefile.mingw.in: List loaders alphabetically. Add the wbmp
2806         one. Fix names of DLLs to have '-' instead of '_'.
2807
2808 2000-07-31  Elliot Lee  <sopwith@redhat.com>
2809         * io-wbmp.c: Some bug fixes - now tested to work.
2810
2811 2000-07-27  Elliot Lee  <sopwith@redhat.com>
2812
2813         * gdk-pixbuf-io.h, gdk-pixbuf-io.c: Add
2814         gdk_pixbuf_get_named_module() function to facilitate above change
2815         * io-wbmp.c, pixbufloader_wbmp.defs, gdk-pixbuf-io.c, Makefile:
2816         Implement loader for WBMP format.
2817         * io-bmp.c: Don't malloc a temporary buffer - use stack instead.
2818
2819 2000-07-23  Tor Lillqvist  <tml@iki.fi>
2820
2821         Win32 build setup:
2822         
2823         * makefile.mingw.in
2824         * pixops/makefile.mingw.in
2825         * pixbuf_*.def: New files.
2826
2827         * Makefile.am
2828         * pixops/Makefile.am: Add them. Add rule to generate makefile.mingw.
2829
2830         * gdk-pixbuf-io.c (gtk_win32_get_installation_directory):
2831         New function, to get the GTK+ installation directory from
2832         the Windows Registry, where the installation program
2833         for whatever software includes GTK+ has stored it.
2834
2835         Used to avoid having hardcoding the directory where to look for
2836         loaders. This function is needed by gtk, too, so it should
2837         really be just in one place. Maybe a small static library
2838         one level up from here?
2839
2840         * gdk-pixbuf-animation.c (gdk_pixbuf_animation_new_from_file)
2841         * gdk-pixbuf-io.c (gdk_pixbuf_new_from_file): 
2842         Open file in binary mode. This *is* standard C. (No-op on Unix,
2843         of course.)
2844
2845         * io-jpeg.c: If we don't HAVE_SIGSETJMP, use normal setjmp().
2846
2847         * io-tiff.c: Use g_get_tmp_dir(). If we don't HAVE_MKSTEMP, use
2848         mktemp() and open().
2849         (gdk_pixbuf__tiff_image_stop_load): g_free() also the tempname.
2850
2851         * pixops/*.S: The Gas from mingw32 doesn't like the .type
2852         pseudo-op. Conditionalise on __MINGW32__, but probably
2853         should conditionalise on Gas version instead? Or could we
2854         do without .type on all systems?
2855
2856         * pixops/timescale.c: Use g_get_current_time()
2857         instead of gettimeofday().
2858
2859 Sat Jul 22 10:57:22 2000  Owen Taylor  <otaylor@redhat.com>
2860
2861         * Makefile.am (test_gdk_pixbuf_LDADD): Remove -lgmodule
2862
2863 Tue Jul 11 11:26:42 2000  Owen Taylor  <otaylor@redhat.com>
2864
2865         * gdk-pixbuf.c: Add <string.h> include.
2866
2867 Tue Jul 11 06:20:14 2000  Tim Janik  <timj@gtk.org>
2868
2869         * io-gif.c (gdk_pixbuf__gif_image_load_animation): 
2870         * gdk-pixbuf-data.c (gdk_pixbuf_new_from_data): 
2871         * gdk-pixbuf-animation.c (gdk_pixbuf_animation_new_from_file): 
2872         use g_object_new() instead of g_type_create_instance() which
2873         is a private function for fundamental type implementations.
2874         
2875 Thu Jul  6 11:49:47 2000  Owen Taylor  <otaylor@redhat.com>
2876
2877         * Makefile.am (libgdk_pixbuf_la_LDFLAGS): Use GTK+ version
2878         soname scheme for gdk-pixbuf.
2879         
2880 2000-06-21  Havoc Pennington  <hp@pobox.com>
2881
2882         * gdk-pixbuf.c: Convert GdkPixbuf to GObject, leaving it opaque
2883         (i.e. derivation is not allowed, and there are no virtual methods
2884         anyway).
2885         (gdk_pixbuf_preinit): Call g_type_init() here.
2886         (gdk_pixbuf_init): Add a user-friendly init function, for users
2887         of standalone gdk-pixbuf
2888
2889         * gdk-pixbuf-animation.c: Convert to GObject, in the same
2890         way GdkPixbufAnimation was done.
2891         
2892         * gdk-pixbuf.h: Remove gdk_pixbuf_set_unref_handler() and
2893         gdk_pixbuf_finalize() from API, since these are broken and don't
2894         make sense with new GObject stuff.
2895
2896 Wed Jun 21 16:02:48 2000  Owen Taylor  <otaylor@redhat.com>
2897
2898         * gdk-pixbuf-io.c (gdk_pixbuf_load_module): Add feature to
2899         support a GDK_PIXBUF_MODULEDIR env variable as a secondary
2900         load location.
2901
2902 2000-06-10  Federico Mena Quintero  <federico@helixcode.com>
2903
2904         * demo/pixbuf-demo.c: It was cold and rainy this Saturday morning,
2905         so I needed something to warm my thighs.  Running plain infinite
2906         loops on your laptop to make it hot is not very much fun.  A demo
2907         of the gdk-pixbuf scaling functions is way better, and looks
2908         prettier, too.
2909
2910         * configure.in (AC_OUTPUT): Added the demo Makefile.
2911
2912         * Makefile.am (SUBDIRS): Added the demo directory.
2913
2914 2000-06-09  Larry Ewing  <lewing@helixcode.com>
2915
2916         * gdk-pixbuf/io-png.c (gdk_pixbuf__png_image_load_increment):
2917         setjmp for the png error handler.  It seems setting the error
2918         handling functions does not avoid the jump, and so not calling
2919         setjmp was causing the incremental loader to jump into lala land.
2920         (gdk_pixbuf__png_image_begin_load): setjmp for error handling, I'm
2921         not sure this one is actually required but the docs say it must be
2922         set for every call to a png_* function.
2923         Also changed the comment to reflect the fact that setting the
2924         error handlers does _not_ avoid the longjmp.
2925
2926 2000-06-06  Larry Ewing  <lewing@helixcode.com>
2927
2928         * gdk-pixbuf/gdk-pixbuf-loader.c (gdk_pixbuf_loader_frame_done):
2929         take frame offest into account when trying to calculate the
2930         animation bbox.  Also set the width to the width not the height.
2931         (gdk_pixbuf_loader_animation_done): cycle over the frames to
2932         calculate bbox because now we finally have all the offset
2933         information for each frame.
2934
2935 2000-06-05      Mathieu Lacage  <mathieu@gnome.org>
2936
2937         * configure.in: add some gtk parameters to the
2938         GDK_PIXBUF_LIBÃ�²S and GDK_PIXBUG_INCLUDEDIR vars. One more
2939         fight in my crusade for strange prefix compile...
2940
2941 2000-05-30  Not Zed  <NotZed@HelixCode.com>
2942
2943         * gdk-pixbuf/io-jpeg.c (gdk_pixbuf__jpeg_image_begin_load):
2944         Initialise the error handler exit routine to our own.  Note this
2945         means that every function that accesses the jpeg lib on this
2946         object MUST do a setjmp.
2947         (gdk_pixbuf__jpeg_image_stop_load): setjmp before accessing jpeg
2948         lib for handling fatal error.
2949         (gdk_pixbuf__jpeg_image_load_increment): And here too.  So now
2950         your applications dont quit if there's a jpeg error!
2951
2952 2000-05-30  Federico Mena Quintero  <federico@helixcode.com>
2953
2954         * gdk-pixbuf.spec.in: Include all the loader libraries.  Patch
2955         from Frank de Lange <frank@unternet.org>.
2956
2957 2000-05-09  Darin Adler  <darin@eazel.com>
2958
2959         * gdk-pixbuf/test-gdk-pixbuf.c:
2960         Fixed includes to get rid of accidental GNOME dependency.
2961
2962 2000-05-26  Cody Russell  <car0969@gamma2.uta.edu>
2963         * Makefile.am: Added gdk-pixbuf.spec to EXTRA_DIST
2964
2965 2000-05-22  Federico Mena Quintero  <federico@helixcode.com>
2966
2967         * configure.in: Bumped version number to 0.8.0.
2968
2969         * doc/Makefile.am (content_files): The toplevel gdk-pixbuf.sgml
2970         file was not being distributed.
2971
2972         * gdk-pixbuf/pixops/Makefile.am (EXTRA_DIST): Added DETAILS.
2973
2974 2000-05-09  Darin Adler  <darin@eazel.com>
2975
2976         * gdk-pixbuf/gdk-pixbuf-drawable.c: (rgb565lsb), (rgb565msb),
2977         (rgb565alsb), (rgb565amsb), (rgb555lsb), (rgb555msb), (rgb555alsb),
2978         (rgb555amsb), (convert_real_slow): Change all conversion from 16-bit
2979         formats to 32-bit formats to re-use the high bits of the color values
2980         so that white maps to full white.
2981
2982 Fri May  5 12:16:32 2000  Owen Taylor  <otaylor@redhat.com>
2983
2984         * gdk-pixbuf/pixops/DETAILS: Add beginnings of file with 
2985         detailed information about the structure and algorithms
2986         of pixops so people can fix it instead of breaking it.
2987
2988 2000-05-04  Darin Adler  <darin@eazel.com>
2989
2990         * gdk-pixbuf/pixops/pixops.c: (pixops_composite_nearest),
2991         (composite_pixel), (composite_line):
2992         * gdk-pixbuf/test-gdk-pixbuf.c: (simple_composite_test_one_type):
2993         Now that Owen explained the algorithm, I think I implemented it
2994         right for the cases where the destination pixbuf is not opaque.
2995         The test does seem to confirm it.
2996
2997 2000-05-04  Darin Adler  <darin@eazel.com>
2998
2999         * gdk-pixbuf/.cvsignore:
3000         * gdk-pixbuf/Makefile.am:
3001         * gdk-pixbuf/test-gdk-pixbuf.c (store_pixel), (fill_with_pixel),
3002         (load_pixel), (simple_composite_test_one),
3003         (simple_composite_test_one_type), (simple_composite_test), (main):
3004         Added some tests of composite to highlight problems in the old
3005         implementation. These tests run without any user interaction.
3006         Just do "make check".
3007
3008         * gdk-pixbuf/pixops/pixops.c (pixops_composite_nearest),
3009         (composite_pixel), (composite_line): Fix composite to do a textbook
3010         "A over B" composite. This was clearly the intent, and it was easy
3011         to fix the code to do it. (Note to those that read my earlier tries
3012         at a patch; this version fixes typos that were present in all
3013         my patch attempts. I checked the final version by adding more tests.)
3014
3015 2000-04-22 05:27:43 2000  Owen Taylor  <otaylor@redhat.com>
3016
3017         * gdk-pixbuf/pixops/pixops.c (pixops_scale_nearest): Properly
3018         offset y coordinate accordining to render_y0.
3019
3020         * gdk-pixbuf/gdk-pixbuf-scale.c: Properly handle nonzero
3021         dest_x, dest_y.
3022
3023 2000-04-22  James Henstridge  <james@daa.com.au>
3024
3025         * gdk-pixbuf.spec.in (%files): moved %{prefix}/bin/* from the main
3026         package to the devel package.  The only file installed in bin is
3027         gdk-pixbuf-config, which belongs in -devel.  This should allow having
3028         multiple versions of the main gdk-pixbuf package installed.
3029
3030 2000-04-17  Karl Eichwalder  <ke@suse.de>
3031
3032         * gdk-pixbuf/Makefile.am (INCLUDES): Add $(GNOME_CFLAGS).
3033         Reported by Jens Finke.
3034
3035 2000-04-14 Tomasz KÃ�³opczko <kloczek@pld.org.pl>
3036
3037         * gdk-pixbuf/pixops/makefile.am: $(LIBART_CFLAGS) replaced by 
3038         $(GTK_CFLAGS) - now gdk-pixbuf compiles correctly.
3039
3040 2000-04-13  James Henstridge  <james@daa.com.au>
3041
3042         * configure.in: when performing the configure check to see if
3043         gmodule works, set CFLAGS to GLIB_CFLAGS and LIBS to GLIB_LIBS,
3044         rather than the other way round.  Also, call AC_MSG_RESULT in the
3045         even that dynamic modules were not supported.
3046
3047 2000-04-12  Federico Mena Quintero  <federico@helixcode.com>
3048
3049         This comes from an excellent idea by Tim Janik (timj@gtk.org) to
3050         hook to the last unref operation.
3051
3052         * gdk-pixbuf/gdk-pixbuf.c (gdk_pixbuf_set_last_unref_handler): New
3053         function to set the last unref handler for a pixbuf.
3054         (gdk_pixbuf_finalize): New function to actually finalize a pixbuf.
3055         It calls the pixbuf's destroy notification function and frees the
3056         GdkPixbuf structure itself.
3057         (gdk_pixbuf_unref): Use the last unref function of the pixbuf if
3058         available.
3059
3060         * gdk-pixbuf/gdk-pixbuf-private.h (struct _GdkPixbuf): New fields
3061         for the last unref handler and its user data.
3062
3063         * gdk-pixbuf/gdk-pixbuf-data.c (gdk_pixbuf_new_from_data): Use
3064         g_new0() to allocate the pixbuf.
3065
3066         * gdk-pixbuf/gdk-pixbuf-loader.c (gdk_pixbuf_loader_class_init):
3067         Fixed the call to gtk_signal_new() for the "frame_done" signal; it
3068         was not specifying the `frame' argument.
3069
3070         * gdk-pixbuf/gdk-pixbuf-animation.c
3071         (gdk_pixbuf_animation_get_width): Fixed docstring.
3072         (gdk_pixbuf_animation_get_height): Likewise.
3073         (gdk_pixbuf_animation_get_num_frames): Likewise.
3074         (gdk_pixbuf_animation_get_frames): Likewise.
3075
3076         * doc/gdk-pixbuf-sections.txt: Updated with the new functions and
3077         types.
3078
3079         * doc/tmpl/gdk-pixbuf.sgml: Added the description for GdkColorspace.
3080
3081         * doc/tmpl/scaling.sgml: Added the description for GdkInterpType.
3082
3083         * doc/tmpl/refcounting.sgml: Updated with the information about
3084         the last unref handler.
3085
3086         * doc/tmpl/*.sgml: Markup tweaks.
3087
3088         * gdk-pixbuf/Makefile.am (libgnomecanvaspixbuf_la_LDFLAGS): Sigh,
3089         update the libtool version number for libgnomecanvaspixbuf as
3090         well.
3091         (libpixbufloader_*_la_LDFLAGS): The loaders need to be versioned
3092         as well, or the old ones won't work with the new stuff.  Also,
3093         renamed the modules as follows.
3094
3095         * gdk-pixbuf/gdk-pixbuf-io.c (gdk_pixbuf_load_module): Now the
3096         modules are called "libpixbufloader-<format>.so" instead of
3097         "libpixbuf-<format>.so".  They needed renaming so that the new
3098         loaders won't overwrite the old ones; even with the versioning
3099         stuff, the new .so symlink to the .so.1.0.0 would overwrite the
3100         old real .so file.
3101
3102 2000-04-12  Paolo Molaro <lupus@debian.org>
3103
3104         * .cvsignore, src/.cvsignore: shut up cvs.
3105
3106 2000-04-11  Federico Mena Quintero  <federico@helixcode.com>
3107
3108         Most of this patch is based on a patch by Havoc Pennington
3109         (hp@redhat.com) to make GdkPixbuf's structures opaque and to
3110         remove the libart dependency.
3111
3112         * gdk-pixbuf/gdk-pixbuf.h: Removed the public structures.
3113         (GdkColorspace): New enum that for now only contains
3114         GDK_COLORSPACE_RGB.
3115         (GdkPixbufDestroyNotify): New type for the pixbuf's pixels destroy
3116         notification function.
3117         (GdkInterpType): New num with interpolation types.
3118
3119         * *.[ch]: Replace the libart stuff with our own stuff.
3120
3121         * pixops/*.[ch]: Likewise.
3122
3123         * gdk-pixbuf/gdk-pixbuf-private.h: New file with the private
3124         declarations of the GdkPixbuf structures.
3125
3126         * gdk-pixbuf/gdk-pixbuf.c (gdk_pixbuf_new_from_art_pixbuf):
3127         Removed function.
3128         (gdk_pixbuf_get_format): Constify.
3129         (gdk_pixbuf_get_n_channels): Constify.
3130         (gdk_pixbuf_get_has_alpha): Constify.
3131         (gdk_pixbuf_get_bits_per_sample): Constify.
3132         (gdk_pixbuf_get_pixels): Constify.
3133         (gdk_pixbuf_get_width): Constify.
3134         (gdk_pixbuf_get_height): Constify.
3135         (gdk_pixbuf_get_rowstride): Constify.
3136
3137         * gdk-pixbuf/gdk-pixbuf.c (gdk_pixbuf_copy): New function to copy
3138         a pixbuf.
3139
3140         * gdk-pixbuf/gdk-pixbuf-data.c (gdk_pixbuf_new_from_data): Added a
3141         bits_per_sample argument; currently only 8 bits per sample are
3142         supported.
3143
3144         * gdk-pixbuf/gdk-pixbuf-animation.c (gdk_pixbuf_frame_get_pixbuf):
3145         New accessor.
3146         (gdk_pixbuf_frame_get_x_offset): New accessor.
3147         (gdk_pixbuf_frame_get_y_offset): New accessor.
3148         (gdk_pixbuf_frame_get_delay_time): New accessor.
3149         (gdk_pixbuf_frame_get_action): New accessor.
3150
3151         * gdk-pixbuf/gdk-pixbuf-render.c
3152         (gdk_pixbuf_render_pixmap_and_mask): Instead of returning a solid
3153         mask rectangle for pixbufs without an alpha channel, set the
3154         *mask_return to NULL.
3155
3156         * gdk-pixbuf/gdk-pixbuf-util.c (gdk_pixbuf_add_alpha): Constify.
3157
3158         * gdk-pixbuf/gdk-pixbuf-scale.c: Fix includes.
3159
3160         * gdk-pixbuf/gdk-pixbuf-scale.c (gdk_pixbuf_scale): Added some
3161         preconditions.  Maybe we should also check for the colorspace,
3162         bits per pixel, and such.
3163         (gdk_pixbuf_composite): Likewise.
3164         (gdk_pixbuf_composite_color): Likewise.
3165         (gdk_pixbuf_scale_simple): Likewise, and fail gracefully if we
3166         cannot allocate the new pixbuf.
3167         (gdk_pixbuf_composite_color_simple): Likewise.
3168
3169         * gdk-pixbuf/gnome-canvas-pixbuf.c (gnome_canvas_pixbuf_render):
3170         Use art_rgb_rgba_affine() or art_rgb_affine() since we no longer
3171         have an ArtPixBuf.
3172
3173         * gdk-pixbuf/io-bmp.c: Fix includes.
3174
3175         * gdk-pixbuf/pixops/pixops.c (pixops_scale_nearest): Fixed cast in
3176         an lvalue.
3177
3178         * TODO: Populated.
3179
3180         * configure.in: Removed checks for libart.
3181
3182         * gdk-pixbuf/Makefile.am: Removed references to libart.
3183         (noinst_HEADERS): Added gdk-pixbuf-private.h.
3184
3185         * gdk-pixbuf/Makefile.am (libgdk_pixbuf_la_LDFLAGS): Incremented
3186         the version number of the libtool library to indicate that this
3187         definitely is not compatible with the old usage.  I know you love
3188         me.  I know you do.
3189
3190         * configure.in: Bumped version number to 0.7.0.
3191
3192         * README: Updated.
3193
3194         * gdk-pixbuf-config.in (--libs): We no longer require libart.
3195
3196         * DEPENDS.libgdk_pixbuf: We no longer depend on libart.
3197
3198         * gdk-pixbuf.spec.in: Updated, but I don't guarantee anything.
3199
3200 2000-04-06  Jonathan Blandford  <jrb@redhat.com>
3201
3202         * gdk-pixbuf/testanimation.c (main): add more info to the
3203         testanimation frames.
3204
3205 2000-04-04  Ettore Perazzoli  <ettore@helixcode.com>
3206
3207         * gdk-pixbuf/gdk-pixbuf-animation.c
3208         (gdk_pixbuf_animation_get_width): New accessor function.
3209         (gdk_pixbuf_animation_get_height): New accessor function.
3210         (gdk_pixbuf_animation_get_num_frames): New accessor function.
3211         (gdk_pixbuf_animation_get_frames): New accessor function.
3212
3213 2000-04-01  Federico Mena Quintero  <federico@helixcode.com>
3214
3215         * gdk-pixbuf/gdk-pixbuf.c: Reverted Mark's change.  The refcount
3216         is private information, and the art_pixbuf will go away soon.
3217
3218 2000-03-31  Mark Crichton  <crichton@gimp.org>
3219
3220         * gdk-pixbuf/gdk-pixbuf.c: Added gdk_pixbuf_get_refcount
3221         and gdk_pixbuf_get_artpixbuf accessor functions.
3222
3223 2000-03-29  Federico Mena Quintero  <federico@helixcode.com>
3224
3225         * gdk-pixbuf/gdk-pixbuf.c (gdk_pixbuf_get_has_alpha): Return
3226         gboolean instead of int.
3227
3228 2000-03-29  Radek Doulik  <rodo@helixcode.com>
3229
3230         * gdk-pixbuf/gdk-pixbuf-animation.c
3231         (gdk_pixbuf_animation_new_from_file): same as below
3232
3233         * gdk-pixbuf/io-gif.c (gif_get_lzw): added update of width and
3234         height in GdkPixbufAnimation
3235
3236 2000-03-28  Radek Doulik  <rodo@helixcode.com>
3237
3238         * gdk-pixbuf/io-gif.c (gif_get_lzw): test also for
3239         context->frame_done_func and context->anim_done_func to make
3240         progressive animation loading work
3241
3242         * gdk-pixbuf/gdk-pixbuf-loader.c (gdk_pixbuf_loader_frame_done):
3243         added priv->pixbuf = NULL as pixbuf is now in frame (and to make
3244         gdk_pixbuf_loader_prepare happy)
3245         (gdk_pixbuf_loader_frame_done): update animation bbox
3246
3247         * gdk-pixbuf/gdk-pixbuf.h: added bbox size (width, height) to
3248         _GdkPixbufAnimation
3249
3250 2000-03-27  Radek Doulik  <rodo@helixcode.com>
3251
3252         * gdk-pixbuf/io-gif.c (gif_get_lzw): use frame_len and frame_width
3253         instead of width and height
3254
3255 2000-03-27  Owen Taylor  <otaylor@redhat.com>
3256
3257         * gdk-pixbuf/pixops/pixops.c: Fix problem with 
3258         precendence of >> and & which was keeping composite_color
3259         from working with non-gray images.
3260
3261 2000-03-08  Jonathan Blandford  <jrb@redhat.com>
3262
3263         * gdk-pixbuf/io-gif.c (gdk_pixbuf__gif_image_load): free the context.
3264         (gdk_pixbuf__gif_image_load_animation): free the context.
3265
3266 2000-03-06  Arjan van de Ven <arjan@fenrus.demon.nl>
3267
3268         * gdk-pixbuf/io-bmp.c: Fixed to pointer-bugs and a 
3269         mis-interpretation of the Microsoft documentation. Now
3270         it can load .BMP files that are not generated by The Gimp
3271         as well.
3272
3273 2000-03-01  Mark Crichton  <crichton@gimp.org>
3274
3275         * configure.in: Added BUILD_CANVAS_ITEM stuff to (finally)
3276         fix the last auto* build bug (where we have libart, but no
3277         gnome-libs)
3278
3279         * gdk-pixbuf/Makefile.am: Same.
3280
3281 2000-02-28  Matt Wilson  <msw@redhat.com>
3282
3283         * gdk-pixbuf/gdk-pixbuf-drawable.c: s/unsigned long/guint32/g,
3284         s/unsigned short/guint16/g, s/unsigned char/guint8/g
3285
3286 2000-02-26  Federico Mena Quintero  <federico@helixcode.com>
3287
3288         * README: We don't require libgif/ungif nor libXpm.
3289
3290         * NEWS: This was outdated, so updated it.
3291
3292 2000-02-25  Federico Mena Quintero  <federico@helixcode.com>
3293
3294         * gdk-pixbuf.m4: Use the correct name for
3295         gdk-pixbuf/gdk-pixbuf.h.  Thanks to Jacob Berkman for pointing
3296         this out.
3297
3298 2000-02-21  Federico Mena Quintero  <federico@helixcode.com>
3299
3300         * configure.in (GDK_PIXBUF_MINOR): Bumped version number to 0.6.0.
3301
3302         * doc/compiling.sgml: New appendix documenting the gdk-pixbuf
3303         library's particular options to configure.in.
3304
3305         * doc/gdk-pixbuf.sgml: Include compiling.sgml appendix via an
3306         entity.
3307
3308         * doc/Makefile.am (gdk-pixbuf.html): Added compiling.sgml.
3309
3310         * gdk-pixbuf/io-ico.c (gdk_pixbuf__ico_image_load_increment):
3311         Fixed typo in prototype name.
3312
3313         * configure.in: Changed duplicated AC_MSG_CHECKING message to
3314         something more meaningful; now it is "checking whether dynamic
3315         modules work".
3316
3317         * gdk-pixbuf/pixops/Makefile.am (noinst_PROGRAMS): Do not install
3318         the timescale program.
3319
3320         Integrated Miguel de Icaza's <miguel@gnu.org> patch for optionally
3321         creating a single static library with all the image format modules
3322         in it.
3323
3324 2000-02-20  Miguel de Icaza  <miguel@gnu.org>
3325
3326         * gdk-pixbuf/io-xpm.c (gdk_pixbuf__xpm_image_load): Add prefix.
3327         (gdk_pixbuf__xpm_image_load_xpm_data): Add prefix.
3328
3329         * gdk-pixbuf/io-tiff.c (gdk_pixbuf__tiff_image_load_real): Add prefix.
3330         (gdk_pixbuf__tiff_image_stop_load): Add prefix.
3331         (gdk_pixbuf__tiff_image_load_increment): Add prefix.
3332         (gdk_pixbuf__tiff_image_load): Add prefix.
3333         (gdk_pixbuf__tiff_image_stop_load): Update invocation.
3334         (gdk_pixbuf__tiff_image_begin_load): Add prefix.
3335
3336         * gdk-pixbuf/io-ras.c (gdk_pixbuf__ras_image_load): Add prefix.
3337         (gdk_pixbuf__ras_image_load): Updated invocation.
3338         (gdk_pixbuf__ras_image_begin_load): Add prefix.
3339         (gdk_pixbuf__ras_image_stop_load): Add prefix.
3340         (gdk_pixbuf__ras_image_load_increment): Add prefix.
3341
3342         * gdk-pixbuf/io-pnm.c (gdk_pixbuf__pnm_image_begin_load): Add prefix.
3343         (gdk_pixbuf__pnm_image_stop_load): Add prefix.
3344         (gdk_pixbuf__pnm_image_load_increment): Add prefix
3345         (gdk_pixbuf__pnm_image_load): Add prefix.
3346
3347         * gdk-pixbuf/io-jpeg.c (gdk_pixbuf__jpeg_image_load): Add prefix.
3348         (gdk_pixbuf__jpeg_image_load_increment): Add prefix.
3349         (gdk_pixbuf__jpeg_image_begin_load): Add prefix.
3350         (gdk_pixbuf__jpeg_image_stop_load): Add prefix.
3351
3352         * gdk-pixbuf/io-ico.c (gdk_pixbuf__ico_image_load): Add prefix.
3353         (gdk_pixbuf__ico_image_load): update invocation.
3354         (gdk_pixbuf__ico_image_load_increment): Add prefix.
3355         (gdk_pixbuf__ico_image_load): update invocation.
3356         (gdk_pixbuf__ico_image_begin_load): Add prefix.
3357         (gdk_pixbuf__ico_image_load): update invocation.
3358         (gdk_pixbuf__ico_image_stop_load): Add prefix.
3359
3360         * gdk-pixbuf/io-gif.c (gdk_pixbuf__gif_image_load_animation): Add prefix.
3361         (gdk_pixbuf__gif_image_load): Add prefix.
3362         (gdk_pixbuf__gif_image_begin_load): Add prefix.
3363         (gdk_pixbuf__gif_image_load_increment): Add prefix.
3364         (gdk_pixbuf__gif_image_load_animation): Add prefix.
3365         (gdk_pixbuf__gif_image_stop_load): Add prefix.
3366
3367         * gdk-pixbuf/io-bmp.c (gdk_pixbuf__bmp_image_load): Add prefix.
3368         (gdk_pixbuf__bmp_image_load): Rename function called.
3369         (gdk_pixbuf__bmp_image_load_increment): Add prefix
3370
3371         * gdk-pixbuf/io-png.c (gdk_pixbuf__png_image_load): Add prefix.
3372         (gdk_pixbuf__png_image_begin_load): Add prefix.
3373         (gdk_pixbuf__png_image_stop_load): Add prefix.
3374         (gdk_pixbuf__png_image_load_increment): Add prefix.
3375
3376         * gdk-pixbuf/gdk-pixbuf-io.c (file_formats): Make this static.
3377         (gdk_pixbuf_load_module): Load the shared library entry points
3378         using a "gdk_pixbuf__$module_name" prefix.
3379         (pixbuf_module_symbol): Wrapper routine that uses the module
3380         prefix for the modules to load the information.
3381
3382         * configure.in (GDK_PIXBUF_VERSION): New option --disable-modules
3383         lets the user specify that gdk-pixbuf should link all image loader
3384         code into the library instaed of creating shared library modules.
3385         
3386         (dynworks): Renamed the automake conditional DYNAMIC_MODULES_WORK
3387         to BUILD_DYNAMIC_MODULES.
3388
3389 2000-02-19  Jonathan Blandford  <jrb@redhat.com>
3390
3391         * gdk-pixbuf/io-gif.c (new_context): fix case where initial
3392         colormap entry is Transparent.
3393
3394 2000-02-19  Owen Taylor  <otaylor@redhat.com>
3395
3396         * gdk-pixbuf/pixops/pixops.c (scale_pixel): Fix error in
3397         scale factors for non-alpha case.
3398
3399 2000-02-14  Mark Crichton  <crichton@gimp.org>
3400
3401         * gdk-pixbuf/io-xpm.c (xpm_extract_color): Added check for "g"
3402         color type. Imlib/libXpm handle this, but we didn't.
3403
3404 2000-02-14  Darin Adler  <darin@eazel.com>
3405
3406         * gdk-pixbuf/testpixbuf.c: Remove now-unnecessary cast.
3407         * .cvsignore: gdk-pixbuf/.cvsignore: More to ignore.
3408
3409 2000-02-14  Elliot Lee  <sopwith@redhat.com>
3410         * gdk-pixbuf/gdk-pixbuf.h, gdk-pixbuf/gdk-pixbuf-data.c: Make
3411         passed-in argument 'const'.
3412
3413 2000-02-04  Michael Meeks  <mmeeks@gnu.org>
3414
3415         * gdk-pixbuf/io-gif.c (struct _GifContext): add x,y_offset.
3416         (gif_get_frame_info): put the offsets on the context.
3417         (gif_get_lzw): copy them off into the frame.
3418         (new_context): no change required; will 0 offsets by default.
3419
3420 2000-01-28  Michael Meeks  <michael@mejm2.dow.cam.ac.uk>
3421
3422         * gdk-pixbuf/pixops/pixops.c (pixops_process): const + nasty
3423         un-consting cast.
3424
3425         * gdk-pixbuf/pixops/pixops.h: const.
3426
3427         * gdk-pixbuf/gdk-pixbuf-util.c: const.
3428         
3429         * gdk-pixbuf/gdk-pixbuf-scale.c: const.
3430
3431         * gdk-pixbuf/gdk-pixbuf.h: constify lots of things.
3432
3433 2000-02-03  Federico Mena Quintero  <federico@helixcode.com>
3434
3435         * gdk-pixbuf/gdk-pixbuf-render.c
3436         (gdk_pixbuf_render_threshold_alpha): Added sanity check for width
3437         and height being >= 0.  Also, do nothing if either of them is
3438         zero.  Thanks to Ettore for pointing this out.
3439         (gdk_pixbuf_render_to_drawable): Likewise.
3440         (gdk_pixbuf_render_to_drawable_alpha): Likewise.
3441
3442 2000-02-02  Federico Mena Quintero  <federico@helixcode.com>
3443
3444         * gdk-pixbuf/io-gif.c (gif_get_lzw): Removed debugging g_print.
3445         Thanks to John Sullivan <sullivan@eazel.com> for the patch.
3446
3447         * gdk-pixbuf/testpixbuf-drawable.c (configure_cb): Get a new area
3448         of the screen when the window is resized.  Thanks to David
3449         N. Welton <davidw@linuxcare.com> for pointing this out.
3450         Misc. cleanups to the rest of the file.
3451
3452 2000-02-01  Federico Mena Quintero  <federico@helixcode.com>
3453
3454         * doc/tmpl/rendering.sgml: gnome_init() does not call
3455         gdk_rgb_init(), so don't mention that it does in the
3456         documentation.  Thanks to Alexander Kruuse <kruuse@home.se> for
3457         pointing this out.
3458
3459 2000-01-31  Havoc Pennington  <hp@redhat.com>
3460
3461         * gdk-pixbuf/Makefile.am (noinst_PROGRAMS): no testpixbuf-foo target
3462
3463 Mon Jan 31 12:38:50 2000  Owen Taylor  <otaylor@redhat.com>
3464
3465         * gdk-pixbuf/pixops/pixops.c (scale_line): Fix from Peter
3466         Wainwright to fix 4a => 4a scaling.
3467
3468 2000-01-29  Mark Crichton  <crichton@gimp.org>
3469
3470         * gdk-pixbuf-config: Oh dear, we weren't Telsa/Alan proof...
3471         put `libart-config --libs` in instead of -lart_lgpl.
3472
3473 2000-01-22  Federico Mena Quintero  <federico@helixcode.com>
3474
3475         * gdk-pixbuf/io-pnm.c (pnm_read_raw_scanline): Return an error on
3476         invalid pnm type.
3477         (pnm_read_ascii_scanline): Initialize data and mask.
3478
3479         * gdk-pixbuf/io-xpm.c (pixbuf_create_from_xpm): Initialize
3480         fallbackcolor to keep gcc happy.
3481
3482         * configure.in: Bumped version number to 0.5.0.
3483
3484         * gdk-pixbuf/pixops/timescale.c (dump_array): Removed unused variable.
3485         (main): Return 0.
3486
3487         * gdk-pixbuf/pixops/pixops.c (pixops_composite_color_nearest): Put
3488         parentheses around + in a shift to remove a compiler warning.
3489         (pixops_process): Likewise.
3490
3491         Patch from Ross Golder <rossigee@bigfoot.com> to create an RPM
3492         specfile:
3493
3494         * configure.in: Added gdk-pixbuf.spec to AC_OUTPUT.
3495
3496         * Makefile.am (EXTRA_DIST): Added gdk-pixbuf.spec.in
3497
3498 2000-01-22  Federico Mena Quintero  <federico@helixcode.com>
3499
3500         * gdk-pixbuf/gnome-canvas-pixbuf.c (PixbufPrivate): Removed the
3501         x_set and y_set arguments.  Now they are always on and start with
3502         defaults of 0.0 in units.
3503         (gnome_canvas_pixbuf_class_init): Likewise.
3504         (gnome_canvas_pixbuf_set_arg): Likewise.
3505         (gnome_canvas_pixbuf_get_arg): Likewise.
3506         (compute_viewport_affine): Likewise; always use the priv->x and
3507         priv->y fields.
3508
3509         * doc/tmpl/gnome-canvas-pixbuf.sgml: Modified to reflect the
3510         removal of the x_set/y_set arguments.
3511
3512 2000-01-21  Federico Mena Quintero  <federico@helixcode.com>
3513
3514         * gdk-pixbuf/gdk-pixbuf.c (gdk_pixbuf_ref): Return the same pixbuf
3515         as the input parameter.
3516
3517         * gdk-pixbuf/gdk-pixbuf-animation.c (gdk_pixbuf_animation_ref):
3518         Return the same animation as the input parameter.
3519
3520 2000-01-16  Elliot Lee  <sopwith@redhat.com>
3521
3522         * gdk-pixbuf/Makefile.am: Don't link against libgnomecanvaspixbuf.la
3523
3524 2000-01-16  Federico Mena Quintero  <federico@helixcode.com>
3525
3526         * configure.in: Removed the broken --enable-canvas-pixbuf option.
3527         Added the stuff necessary to substitute the variables in
3528         gnomecanvaspixbufConf.sh.in.
3529
3530         * gnomecanvaspixbufConf.sh.in: New gnome-config handler for the
3531         tiny gnomecanvaspixbuf library.
3532
3533         * Makefile.am: Build gnomecanvaspixbufConf.sh.
3534
3535         * gdk-pixbuf/Makefile.am: Create a libgnomecanvaspixbuf and only
3536         build it if gdk-pixbuf is being built outside of gnome-libs.
3537
3538         * doc/gdk-pixbuf-sections.txt: Added gdk_pixbuf_render_pixmap_and_mask().
3539
3540         * gdk-pixbuf/gdk-pixbuf-render.c
3541         (gdk_pixbuf_render_pixmap_and_mask): Renamed from
3542         gdk_pixbuf_render_pixmap().  Do not create the mask if it is not
3543         needed, and do not use a clipping mask when rendering the pixmap.
3544         Tweaked documentation a little.
3545
3546         * HACKING: New file with hacking policies for the gdk-pixbuf
3547         module.
3548
3549         * doc/Makefile.am (tmpl_sources): Added missing backslash.
3550
3551         * doc/Makefile.am: Use gnomecanvaspixbuf in gnome-config when
3552         scanning for docstrings.
3553
3554         * gdk-pixbuf/gdk-pixbuf-util.c (gdk_pixbuf_copy_area): Made sanity
3555         checks more stringent.  Removed "gint" abominations.  Made
3556         documentation consistent with the rest of the functions.
3557
3558         * doc/gdk-pixbuf-sections.txt: Added gdk_pixbuf_copy_area() to the
3559         utilities section.
3560
3561 2000-01-14  Jonathan Blandford  <jrb@redhat.com>
3562
3563         * gdk-pixbuf/gdk-pixbuf-render.c (gdk_pixbuf_render_pixmap): new
3564         function to let you create a gdk_pixmap from a gdk_pixbuf.
3565
3566 2000-01-11  Jacob Berkman  <jacob@helixcode.com>
3567
3568         * gdk-pixbuf/pixops/Makefile.am (INCLUDES): added
3569         $LIBART_CFLAGS to $INCLUDES
3570
3571 2000-01-10  Elliot Lee  <sopwith@redhat.com>
3572
3573         * configure.in, gdk-pixbuf/Makefile.am: Build a libcanvas_pixbuf.
3574
3575         * configure.in: Define version macros. Generate
3576         gdk-pixbuf/gdk-pixbuf-features.h. Always INSIDE_GNOME.
3577
3578         * gdk-pixbuf/Makefile.am: Add gdk-pixbuf-features.h
3579
3580         * gdk-pixbuf/gdk-pixbuf.c: Add definitions of
3581         gdk-pixbuf-features.h declarations, plus some initialization
3582         stubs.
3583
3584 2000-01-05  Owen Taylor  <otaylor@redhat.com>
3585
3586         * gdk-pixbuf/pixops/pixops.c: Fixed src_channels/dest_channels
3587         confusion. (Again caught by Tomas Ogren's Purify)
3588
3589 2000-01-07  Jonathan Blandford  <jrb@redhat.com>
3590
3591         * gdk-pixbuf/gdk-pixbuf-xform.c (gdk_pixbuf_rotate): comment out
3592         debugging printing.
3593
3594         * gdk-pixbuf/gdk-pixbuf-io.c: Added progressive animation loading.
3595         * gdk-pixbuf/gdk-pixbuf-io.h: Added progressive animation loading.
3596         * gdk-pixbuf/gdk-pixbuf-loader.c: Added progressive animation
3597         loading.
3598         * gdk-pixbuf/gdk-pixbuf-loader.h: Added progressive animation
3599         loading.
3600         * gdk-pixbuf/io-gif.c (image_load_increment): I think the
3601         ref-counting mess is finally fixed.  Added progressive animation
3602         loading.
3603         (gif_get_lzw): remove memory_leak
3604
3605         * doc/tmpl/gdk-pixbuf-loader.sgml: much longer long description
3606         added.
3607
3608 2000-01-05  Owen Taylor  <otaylor@redhat.com>
3609
3610         * gdk-pixbuf/pixops/pixops.c (pixops_process): Fix computation of
3611         end of run indices. 
3612
3613         * gdk-pixbuf/pixops/pixops.c: Fix double increments when
3614           dest_channels == 4.  (Pointed out by Tomas Ogren)
3615
3616 2000-01-05  Mark Crichton  <crichton@gimp.org>
3617
3618         * gdk-pixbuf/gdk-pixbuf-loader.c (gdk_pixbuf_loader_eat_header_write):
3619         Return 0 if gdk_pixbuf_load_loader_module returns FALSE.
3620
3621 2000-01-05 Elliot Lee <sopwith@redhat.com>
3622
3623         * gdk-pixbuf/pixops/Makefile.am: Link with -lm (to get 'ceil' function)
3624
3625 2000-01-05  Owen Taylor  <otaylor@redhat.com>
3626
3627         * doc/Makefile.am doc/gdk-pixbuf-sections.txt
3628           doc/gdk-pixbuf.sgml doc/tmpl/scaling.sgml:
3629         Added scaling functions into gtk-doc framework.
3630
3631         * gdk-pixbuf/gdk-pixbuf-scale.c: Documentation fixes.
3632
3633         * gdk-pixbuf/testpixbuf-scale.c (expose_cb): Simplify a bit.
3634
3635         * gdk-pixbuf/pixops/pixops.c (pixops_composite_color): Return
3636         immediately if scale_x or scale_y is 0.
3637
3638 2000-01-05  Owen Taylor  <otaylor@redhat.com>
3639
3640         * gdk-pixbuf/pixops/timescale.c: quick fix for initializing
3641         arrays in benchmark.
3642
3643 2000-01-05  Jonathan Blandford  <jrb@redhat.com>
3644
3645         * gdk-pixbuf/gdk-pixbuf-io.h: Change the order of the update func
3646         to make it more compatible with the rest of GTK.  Added animation
3647         framework for progressive loading.
3648
3649         * gdk-pixbuf/io-bmp.c (image_begin_load): Modified to handle new
3650         system.
3651         * gdk-pixbuf/io-ico.c (image_begin_load): ditto
3652         * gdk-pixbuf/io-png.c (image_begin_load): ditto
3653         * gdk-pixbuf/io-ras.c (image_begin_load): ditto
3654         * gdk-pixbuf/io-jpeg.c (image_begin_load): ditto
3655         * gdk-pixbuf/io-pnm.c (image_begin_load): ditto
3656         * gdk-pixbuf/io-tiff.c (image_begin_load): ditto
3657         * gdk-pixbuf/io-gif.c (image_begin_load): ditto
3658
3659 2000-01-05  Owen Taylor  <otaylor@redhat.com>
3660
3661         * gdk-pixbuf/pixops/README: Added a README with a TODO
3662         and some explainations of the algorithms.
3663
3664         * gdk-pixbuf/testpixbuf-scale.c: Set a background pixmap of None
3665         to reduce flashing when resizing.
3666
3667 2000-01-05  Owen Taylor  <otaylor@redhat.com>
3668
3669         * gdk-pixbuf/pixops/: Directory full of pixel data scaling
3670         code that will eventually migrate into libart.
3671
3672         * configure.in acconfig.h: Add checks for MMX compiler support
3673
3674         * gdk-pixbuf/gdk-pixbuf.h gdk-pixbuf/gdk-pixbuf-scale.c:
3675         Nice wrapper routines for the code in pixops that operate
3676         on pixbufs instead of raw data.
3677
3678         * gdk-pixbuf/testpixbuf-scale: Test program for scaling
3679         routines.
3680
3681 2000-01-05  Jonathan Blandford  <jrb@redhat.com>
3682
3683         * doc/tmpl/animation.sgml: Documentation changes.
3684
3685 2000-01-01  Federico Mena Quintero  <federico@helixcode.com>
3686
3687         * gdk-pixbuf/gdk-pixbuf.h (GdkPixbufAnimation): Added reference
3688         counting to animations.  A web browser may want to share a single
3689         copy of an animated GIF if it appears multiple times in a web
3690         page, for example.
3691
3692         * gdk-pixbuf/gdk-pixbuf-animation.c: New file.  Moved the
3693         animation functions here.
3694         (gdk_pixbuf_animation_new_from_file): Prettified.  Return a NULL
3695         animation if the loader does not support multiframe loading and
3696         the single-frame load returned NULL.  Check that the filename is
3697         not NULL.  Updated inline documentation.
3698         (gdk_pixbuf_animation_ref): New function.
3699         (gdk_pixbuf_animation_unref): New function.
3700         Removed gdk_pixbuf_animation_destroy() in favor of reference
3701         counting.
3702
3703         * gdk-pixbuf/gdk-pixbuf-io.c (gdk_pixbuf_new_from_file):
3704         Prettified.  Made ref_count assertion more paranoid.  Check that
3705         the filename is not NULL.
3706         (gdk_pixbuf_get_module): Use guchar * and guint for buffer and
3707         size, respectively.
3708         (gdk_pixbuf_new_from_xpm_data): Changed the "data" argument to
3709         const char **.
3710
3711         * gdk-pixbuf/io-gif.c (image_load_animation): Create the animation
3712         with a reference count of 1.
3713
3714         * gdk-pixbuf/Makefile.am (libgdk_pixbuf_la_SOURCES): Added
3715         gdk-pixbuf-animation.c.
3716
3717         * doc/tmpl/animation.sgml: Populated.  It is still missing a
3718         description of the overlay modes.
3719
3720         * doc/gdk-pixbuf-sections.txt: Added the animation section.  Moved
3721         the canvas item section to the end, as it will be moved later to
3722         gnome-libs.
3723
3724         * doc/gdk-pixbuf.sgml: Added the animation section.
3725
3726         * doc/Makefile.am (tmpl_sources): Added tmpl/animation.sgml.
3727
3728 1999-12-26  Peter Teichman  <pat@gnu.org>
3729
3730         * gdk-pixbuf/Makefile.am (libpixbuf_tiff_la_LIBADD): add
3731         $(LIBTIFF) to libpixbuf_tiff_la_LIBADD, proxying for mmarker.
3732         This closes bug #4676.
3733
3734 1999-12-23  Havoc Pennington  <hp@pobox.com>
3735
3736         * gdk-pixbuf/io-gif.c (image_load): Stuff that should have been
3737         set to NULL here (specifically context->animation) was not being
3738         set to NULL. use g_new0() to alloc the struct.
3739
3740 1999-12-20  Jonathan Blandford  <jrb@redhat.com>
3741
3742         * gdk-pixbuf/io-gif.c: finished work to make animated gifs load
3743         correctly.  Progressive loading needs some work, but that all
3744         needs doing from the gdk-pixbuf-loader end, not here.
3745
3746 1999-12-17  Jonathan Blandford  <jrb@redhat.com>
3747
3748         * gdk-pixbuf/gdk-pixbuf-io.c (gdk_pixbuf_animation_new_from_file):
3749         moved the file here.  It seems natural to put this function here,
3750         as that's where the gdk_pixbuf_new_from_file function is, but it's
3751         still a little convoluted.  The source files might be played with
3752         in a bit.
3753
3754 1999-12-14  Jonathan Blandford  <jrb@redhat.com>
3755
3756         * gdk-pixbuf/gdk-pixbuf-loader.c
3757         (gdk_pixbuf_loader_get_animation):  Gets the animation from the
3758         loader.
3759
3760 1999-12-16  Federico Mena Quintero  <federico@redhat.com>
3761
3762         * doc/tmpl/rendering.sgml: Added notice about initializing GdkRGB
3763         before using the GdkPixbuf rendering functions.  Thanks to Joe
3764         Shaw <joe@off.net> for pointing this out.
3765
3766 1999-12-13  Federico Mena Quintero  <federico@redhat.com>
3767
3768         * gdk-pixbuf/gnome-canvas-pixbuf.c
3769         (gnome_canvas_pixbuf_class_init): Renamed arguments to
3770         width_in_pixels, height_in_pixels, x_in_pixels, y_in_pixels, for
3771         consistency with the new canvas.
3772         (PixbufPrivate): Do the same renaming in the structure fields, for
3773         consistency.
3774
3775         * doc/tmpl/gnome-canvas-pixbuf.sgml: Updated for new argument names.
3776
3777 1999-12-12  Federico Mena Quintero  <federico@redhat.com>
3778
3779         * gdk-pixbuf/Makefile.am (libgdk_pixbuf_la_LDFLAGS): Use a
3780         conditional to see whether to link $(GNOME_LIBS) or not.
3781
3782 1999-12-10  Jonathan Blandford  <jrb@redhat.com>
3783
3784         * gdk-pixbuf/gdk-pixbuf-io.h: thinking about the new loading API.
3785
3786         * gdk-pixbuf/gdk-pixbuf-drawable.c (gdk_pixbuf_get_from_drawable):
3787         make a warning go away.
3788
3789         * gdk-pixbuf/gdk-pixbuf.h: added new prototypes for animations.
3790
3791         * gdk-pixbuf/gdk-pixbuf-loader.h: added new prototypes for
3792         animations.
3793
3794 1999-12-09  Michael Zucchi  <zucchi@zedzone.mmc.com.au>
3795
3796         * gdk-pixbuf/gdk-pixbuf.h: Enable gdk_pixbuf_get_from_drawable()
3797         api call.
3798
3799         * gdk-pixbuf/gdk-pixbuf-drawable.c (gdk_pixbuf_get_from_drawable):
3800         Filled in body of function.
3801         (rgbconvert): Added GdkColormap parameter, and to all conversion
3802         functions also.
3803         (convert_real_slow): New function - should convert ANY visual/data
3804         format properly, but it aint fast.  Used as a fallback when an
3805         optimised routine wont match.
3806         (rgbconvert): Do very specific tests on the data format to verify
3807         properly if the optimised version will do, otherwise use the
3808         fallback function for all other data formats.
3809
3810         * gdk-pixbuf/Makefile.am: Re-enabled building of
3811         textpixbuf-drawable.
3812
3813         * gdk-pixbuf/testpixbuf-drawable.c (main): Changed to use
3814         gdk_pixbuf_get_from_drawable().
3815
3816 1999-12-08  Arjan van de Ven <arjan@fenrus.demon.nl>
3817
3818         * gdk-pixbuf/gdk-pixbuf-drawable.c : Fixed the red/green/red
3819         bug on two occasions.
3820         * gdk-pixbuf/io-ras.c: Changed from the custom be32_to_cpu
3821         function to the generic glib one.
3822
3823 1999-12-08  Federico Mena Quintero  <federico@redhat.com>
3824
3825         * gdk-pixbuf/gdk-pixbuf-drawable.c: Fix includes.
3826         (gdk_pixbuf_get_from_drawable): Implemented the zillion sanity
3827         checks and API definition.  The body needs filling in and it needs
3828         to do the Right Thing(tm) for pixmaps plus the given colormap and
3829         windows and their own colormaps.
3830
3831         * gdk-pixbuf/gdk-pixbuf.h: Added prototype for
3832         gdk_pixbuf_get_from_drawable().  Killed gdk-pixbuf-drawable.h.
3833
3834         * gdk-pixbuf/Makefile.am: Re-added the gdk-pixbuf-drawable sources.
3835
3836         * doc/tmpl/from-drawables.sgml: Populated.
3837
3838         * doc/gdk-pixbuf.sgml: Added the from-drawables section.
3839
3840         * doc/Makefile.am (tmpl_sources): Added tmpl/from-drawables.sgml.
3841
3842         * doc/gdk-pixbuf-sections.txt: Added a section for getting pixbufs
3843         from drawables.
3844
3845 1999-12-07  Federico Mena Quintero  <federico@redhat.com>
3846
3847         * doc/tmpl/gnome-canvas-pixbuf.sgml: Added clarification about
3848         reference counting for GdkPixbuf structures.
3849
3850 1999-12-07  Martin Baulig  <martin@home-of-linux.org>
3851
3852         * gdk-pixbuf/Makefile.am (testpixbuf_LDADD): Conditionally
3853         include $(GNOME_LIBS) here.
3854
3855 1999-12-05  Arjan van de Ven <arjan@fenrus.demon.nl>
3856
3857         Added missing "include <string.h>" to:
3858         * gdk-pixbuf/io-ras.c
3859         * gdk-pixbuf/io-bmp.c
3860         * gdk-pixbuf/io-ico.c
3861
3862 1999-12-06  Federico Mena Quintero  <federico@redhat.com>
3863
3864         * gdk-pixbuf/gdk-pixbuf-io.c (file_formats): Patch from Arjan to
3865         fix an initializer.
3866
3867 1999-12-05  Federico Mena Quintero  <federico@redhat.com>
3868
3869         * gdk-pixbuf/Makefile.am (testpixbuf_LDADD): Add back
3870         $(GNOME_LIBS).  This must compile outside of gnome-libs.  If you
3871         want, send me a patch to do the conditional stuff properly.
3872         Otherwise, please read the GNOME Programming Guidelines,
3873         especially the "CVS policies" section.
3874
3875 1999-12-05  Jaka Mocnik  <jaka.mocnik@kiss.uni-lj.si>
3876
3877         * gdk-pixbuf/Makefile.am: removed GNOME_LIBS from testpixbuf_LDADD.
3878
3879 1999-12-05  Arjan van de Ven <arjan@fenrus.demon.nl>
3880
3881         * gdk-pixbuf/io-ico.c: Bug in palet-size
3882         calculation fixed
3883
3884 1999-12-04  Arjan van de Ven <arjan@fenrus.demon.nl>
3885
3886         * gdk-pixbuf/io-bmp.c: Major cleanup, added support for
3887         32 bpp and 4 bpp (uncompressed) images, fixed 1bpp.
3888
3889         * gdk-pixbuf/io-ras.c: Minor cleanup, ran through lclint
3890
3891         * gdk-pixbuf/io-ico.c: Minor cleanup, fixed 1bpp icons,
3892         ran through lclint.
3893
3894         * gdk-pixbuf/gdk-pixbuf-io.c: Added detection of .CUR files
3895         (Windows Cursor files). These are identical to .ICO files,
3896         except for the signature and 2 extra fields for the hotspot.
3897
3898 1999-12-03  Federico Mena Quintero  <federico@redhat.com>
3899
3900         * gdk-pixbuf/gnome-canvas-pixbuf.c (gnome_canvas_pixbuf_get_arg):
3901         Removed unused variable `item'.
3902
3903 1999-12-03  Jonathan Blandford  <jrb@redhat.com>
3904
3905         * gdk-pixbuf/io-gif.c (gif_fill_in_lines): added a comment to
3906         explain this function better.
3907
3908 1999-12-02  Federico Mena Quintero  <federico@redhat.com>
3909
3910         Source files moved from src/ to gdk-pixbuf/, to be consistent with
3911         other libraries.
3912
3913         * doc/Makefile.am: Modified for the new source directory.
3914
3915         * configure.in: Likewise.
3916
3917         * Makefile.am: Likewise.
3918
3919         * autogen.sh: Likewise.
3920
3921         * gdk-pixbuf/Makefile.am: Likewise.
3922
3923 1999-12-02  Federico Mena Quintero  <federico@redhat.com>
3924
3925         * src/testpixbuf.c: #include <config.h>, and fix includes.
3926
3927         * src/testpixbuf-drawable.c: #include <config.h>, and fix includes.
3928
3929         * src/io-xpm.c: Fix includes.
3930
3931         * src/io-tiff.c: Fix includes.
3932
3933         * src/io-ras.c: Fix includes, and do not include more stuff than needed.
3934
3935         * src/io-pnm.c: Fix inlcudes, and do not include more stuff than needed.
3936
3937         * src/io-png.c: Fix includes.
3938
3939         * src/io-ico.c: Fix includes, and do not include more stuff than needed.
3940
3941         * src/io-gif.c: Fix includes, and do not include more stuff than needed.
3942
3943         * src/io-bmp.c: Fix includes, and do not include more stuff than needed.
3944
3945         * src/gnome-canvas-pixbuf.c: Fix includes.
3946
3947         * src/gdk-pixbuf.c: Fix includes.
3948
3949         * src/gdk-pixbuf-util.c: Fix includes.
3950
3951         * src/gdk-pixbuf-render.c: Fix includes.
3952
3953         * src/gdk-pixbuf-io.h: Fix includes.
3954
3955         * src/gdk-pixbuf-drawable.c: Fix includes.
3956
3957         * src/gdk-pixbuf-drawable.h: Use angle brackets for the gdk-pixbuf
3958         include files.
3959
3960         * src/gdk-pixbuf-data.c: Fix includes.
3961
3962         * src/gdk-pixbuf-loader.c: #include <config.h>
3963
3964         * src/gdk-pixbuf-loader.h: Use angle brackets for the gdk-pixbuf
3965         include files.
3966
3967         * src/Makefile.am: Commented out the gdk-pixbuf-drawable stuff,
3968         since it is not finished.
3969
3970         * src/gdk-pixbuf.h: Removed unused transformation prototypes.
3971
3972         * src/gdk-pixbuf-util.c: New file with utility and convenience
3973         functions for pixbufs.
3974
3975         * src/Makefile.am (libgdk_pixbuf_la_SOURCES): Added gdk-pixbuf-util.c.
3976
3977         * doc/gdk-pixbuf-sections.txt: Added section for utility functions.
3978
3979         * doc/Makefile.am (tmpl_sources): Added tmpl/util.sgml.
3980
3981         * doc/gdk-pixbuf.sgml: Added the utilities section.
3982
3983         * doc/tmpl/util.sgml: Documentation for the utility functions.
3984
3985 1999-11-29  Owen Taylor  <otaylor@redhat.com>
3986
3987         * src/gdk-pixbuf-render.c (gdk_pixbuf_render_to_drawable_alpha):
3988         Keep the mask around until after we draw ... since
3989         the GC changes aren't flushed to the X server until we
3990         draw, destroying it before that may result in BadPixmap
3991         errors.
3992
3993 1999-11-30  Havoc Pennington  <hp@pobox.com>
3994
3995         * configure.in: Add AM_CONDITIONAL for inside gnome-libs
3996
3997         * src/Makefile.am: conditionalize GnomeCanvasPixbuf
3998
3999 1999-11-29  Federico Mena Quintero  <federico@redhat.com>
4000
4001         * src/Makefile.am: Uncomment the GnomeCanvasPixbuf sources.  This
4002         should be made conditional, not blindly commented out.
4003
4004 1999-11-29  Jonathan Blandford  <jrb@redhat.com>
4005
4006         * src/Makefile.am (ICO_LIB): Added another loader from Arjan to
4007         handle .ico files.  Cool.
4008
4009 1999-11-24  Jonathan Blandford  <jrb@redhat.com>
4010
4011         * src/io-bmp.c (OneLine24): new patch from Arjan to handle
4012         compressed bmps.
4013
4014 1999-11-24  James Henstridge  <james@daa.com.au>
4015
4016         * configure.in (AC_OUTPUT): altered hack to place the symlink in the
4017         top builddir rather than src.  This still builds fine, and does not
4018         get gtk-doc into an infinite loop when trying to find all the source
4019         files.
4020
4021 1999-11-23  Jonathan Blandford  <jrb@redhat.com>
4022
4023         * Removed #PRAGMA } from headers.  Also, make compile if you don't
4024         have it installed, already.
4025
4026 1999-11-22  Federico Mena Quintero  <federico@redhat.com>
4027
4028         * src/gnome-canvas-pixbuf.c (gnome_canvas_pixbuf_draw): Create the
4029         temporary buffer to the size of the interesction of the bounding
4030         box and the expose area, not the whole expose area.  This speeds
4031         up things a lot.
4032
4033         * src/gdk-pixbuf-render.c (gdk_pixbuf_render_threshold_alpha): Do
4034         not paint black on the mask, since we already cleared it in a
4035         single gdk_draw_rectangle() operation.
4036
4037 1999-11-22  Raja R Harinath  <harinath@cs.umn.edu>
4038
4039         * configure.in (GDK_PIXBUF_DIR): Fix for srcdir != builddir.
4040
4041 1999-11-22  Havoc Pennington  <hp@pobox.com>
4042
4043         * src/Makefile.am (GDK_PIXBUF_LIBS): Patch from Paul Fisher
4044         <pnfisher@redhat.com> adds all -lgdk-pixbuf and all other
4045         dependencies to LIBADD variables for loadable modules. Necessary
4046         for a Java dynamic loading thing to be able to figure it out.
4047
4048 1999-11-22  Havoc Pennington  <hp@pobox.com>
4049
4050         * src/io-png.c (image_load_increment): Call the update_area
4051         callback depending on the number of rows loaded in this increment.
4052
4053         * src/testpixbuf.c (main): slow down the progressive load demo
4054
4055 1999-11-16  Havoc Pennington  <hp@pobox.com>
4056
4057         * src/gdk-pixbuf-drawable.h: Get the quotes right on the #include
4058
4059 1999-11-22  Jonathan Blandford  <jrb@redhat.com>
4060
4061         * configure.in (GDK_PIXBUF_DIR): make the symlink.  Does not work
4062         for srcdir != buildir != .  Beats me why; I can't figure it out.
4063         AC_OUTPUT_COMMANDS doesn't seem to let me substitute it correctly.
4064
4065 1999-11-21  Jonathan Blandford  <jrb@redhat.com>
4066
4067         * src/gdk-pixbuf-io.c: added io-bmp from Arjan
4068         <arjan@fenrus.demon.nl>
4069
4070 1999-11-20  Michael Zucchi  <zucchi@zedzone.mmc.com.au>
4071
4072         * src/gdk-pixbuf-drawable.c (gdk_pixbuf_from_drawable_core):
4073         Rework/reorder of the code.  Each case has been separated into
4074         another function; its big but it should be quick.
4075         gdk_pixbuf_rgba_from_drawable() will now return a pixbuf with
4076         opaque alpha information.  Not all depths/formats have been
4077         tested, but 8, 15/16 and 24 (alinged 32) should work ok.
4078
4079 1999-11-17  Larry Ewing  <lewing@gimp.org>
4080
4081         * src/gnome-canvas-pixbuf.c (gnome_canvas_pixbuf_bounds):
4082         implement the bounds method correctly.
4083         (compute_viewport_affine): compute the affine need to fit the
4084         image within the viewport given by the args.
4085         (compute_render_affine): call compute_viewport_affine.
4086
4087 1999-11-16  Havoc Pennington  <hp@pobox.com>
4088
4089         * src/gdk-pixbuf-drawable.h: Use includes from the current
4090         directory, not the system directory.
4091
4092 Mon Nov 15 17:18:28 1999  George Lebl <jirka@5z.com>
4093
4094         * src/testpixbuf-drawable.c: use includes from the current directory
4095           rather then from the system include directory as gdk-pixbuf
4096           includes are not yet installed when this is compiled.
4097
4098 1999-11-13  Cody Russell  <bratsche@dfw.net>
4099         * src/testpixbuf-drawable.c: Added a test program for drawable
4100         code.
4101
4102         * src/Makefile.am: Build testpixbuf-drawable.
4103
4104 1999-11-12  Cody Russell  <bratsche@dfw.net>
4105
4106         * src/gdk-pixbuf-drawable.c: Merged in Michael Zucchi's changes.
4107
4108 1999-11-10  Federico Mena Quintero  <federico@redhat.com>
4109
4110         * doc/tmpl/gdk-pixbuf-loader.sgml: Populated.
4111
4112         * doc/gdk-pixbuf.signals: Put in the real names of signal
4113         arguments.
4114
4115         * src/gdk-pixbuf-loader.c: Improved documentation comments.
4116
4117 1999-11-10  Jonathan Blandford  <jrb@redhat.com>
4118
4119         * src/gdk-pixbuf-loader.c (gdk_pixbuf_loader_close): emit the
4120         closed signal.
4121
4122         * src/io-ras.c (OneLineMapped_file): Now can handle indexing
4123         correctly.  Patch from Arjan to do so.
4124
4125 1999-11-10  Michael Fulbright  <drmike@redhat.com>
4126
4127         * src/io-pnm.c (pnm_ascii_read_scanline): Fixed loading of ASCII PNM
4128         files.
4129
4130         * src/testpixbuf.c: Added final queued draw when done loading image.
4131
4132 1999-11-10  Jonathan Blandford  <jrb@redhat.com>
4133
4134         * src/gdk-pixbuf-io.c (gdk_pixbuf_load_module): removed spurious
4135         print statements.
4136
4137 1999-11-10  Federico Mena Quintero  <federico@redhat.com>
4138
4139         * src/gdk-pixbuf-io.c (gdk_pixbuf_new_from_xpm_data): Added
4140         documentation.
4141
4142 1999-11-09  Federico Mena Quintero  <federico@redhat.com>
4143
4144         * src/io-png.c: Fixed some incompatible pointer initializations.
4145
4146         * src/io-jpeg.c (image_load_increment): Remove unused variable.
4147
4148 1999-11-09  Michael Fulbright  <drmike@redhat.com>
4149
4150         * src/testpixbuf.c: Fixed it to use timeout to read from file
4151         for progressive loading. Set TBF_KBPS=n, where n is the number of
4152         kilobytes/second to simulate in downloading. n has to be an integer.
4153
4154         * src/io-jpeg.c: Slight cosmetic cleanup.
4155
4156         * src/io-pnm.c: Fixed raw PNM loading bug. Also discovered that ASCII
4157         PBM loading has a similar problem and will address tomorrow.
4158
4159 1999-11-09  Havoc Pennington  <hp@pobox.com>
4160
4161         * src/Makefile.am (libgdk_pixbuf_la_SOURCES): build the
4162         gdk-pixbuf-drawable stuff.
4163
4164 1999-11-09  Federico Mena Quintero  <federico@redhat.com>
4165
4166         * configure.in: Bumped version number to 0.4.
4167
4168 1999-11-09  Michael Fulbright  <drmike@redhat.com>
4169
4170         * src/io-pnm.c : Finished progressive PNM loading code. Should handle
4171         all types of PNM files now.
4172
4173         * src/io-jpeg.c (image_load_increment): Figured out problem with
4174         loading Progressive JPEG's progressively (say that 10 times fast).
4175         Currently for Progressive JPEG's the entire image is loaded before
4176         it is displayed. libjpeg supports a fancier mechanism which I may
4177         implement later.
4178
4179         With these changes all JPEG formats appear to load properly for me.
4180
4181 1999-11-08  Jonathan Blandford  <jrb@redhat.com>
4182
4183         * src/io-ras.c (image_load_increment): Final patch from Arjan.
4184         Seems to do progressive loading.
4185
4186 1999-11-08  Michael Fulbright  <drmike@redhat.com>
4187
4188         * src/io-pnm.c image_load (): Fixed so we do not create a separate
4189         pixel buffer when reading in image - we reuse the pixel data in
4190         the GdkPixbuf structure instead.
4191
4192 1999-11-08  Michael Fulbright  <drmike@redhat.com>
4193
4194         * src/io-pnm.c pnm_read_ascii_scanline (): Added support for
4195         ASCII PNM files. Note I haven't tested loaded ASCII PBM files because
4196         I can't seem to find a utility to convert into this format.
4197         Next is to add progressive loading support for the PNM format.
4198
4199 1999-11-07  Federico Mena Quintero  <federico@redhat.com>
4200
4201         * doc/tmpl/gnome-canvas-pixbuf.sgml: Finished detailed explanation
4202         of the width, height, x, and y setting and pixels arguments.
4203
4204 1999-11-05  Jonathan Blandford  <jrb@redhat.com>
4205
4206         * src/io-ras.c (image_load): third patch.  Now it seems to load.
4207
4208         * src/gdk-pixbuf-io.c: second patch Arjan van de Ven
4209         <arjan@fenrus.demon.nl> to autodetect/load the sunras files.
4210
4211         * src/io-ras.c (image_load): new file from Arjan van de Ven
4212         <arjan@fenrus.demon.nl> to begin the ras loader.
4213
4214 1999-11-05  Federico Mena Quintero  <federico@redhat.com>
4215
4216         * doc/gdk-pixbuf-sections.txt: Removed gdk-pixbuf-io, since it is
4217         for internal use only.
4218
4219         * doc/gdk-pixbuf.sgml: Likewise.
4220
4221         * doc/tmpl/gnome-canvas-pixbuf.sgml: Finished docs.
4222
4223 1999-11-05  Michael Fulbright  <drmike@redhat.com>
4224
4225         * src/io-pnm.c: Implemented support for reading raw PBM/PGM/PPM
4226         files from a file. Next step is support for ASCII files, and
4227         then incremental loading.
4228
4229 1999-11-04  Federico Mena Quintero  <federico@redhat.com>
4230
4231         * Makefile.am: Added doc to SUBDIRS.
4232
4233 1999-11-04  Michael Fulbright  <drmike@redhat.com>
4234
4235         * src/io-jpeg.c: Prettied up code slightly.
4236         * src/io-pnm.c:  Start of pnm loader (from file and progressively).
4237                          Doesn't do much yet (will finish tomorrow).
4238         * src/gdk-pixbuf-io.c: Added pnm to structure of known types.
4239
4240 1999-11-04  Federico Mena Quintero  <federico@redhat.com>
4241
4242         * doc/tmpl/rendering.sgml: Populated.
4243
4244         * doc/Makefile.am: Added the template files.
4245
4246 1999-11-04  Havoc Pennington  <hp@pobox.com>
4247
4248         * src/gdk-pixbuf-render.c (gdk_pixbuf_render_to_drawable): In
4249         docs, explain what a dither offset is for.
4250         (gdk_pixbuf_render_to_drawable_alpha): Explain why you would use
4251         this function vs. gdk_pixbuf_render_to_drawable().
4252
4253 1999-11-04  Havoc Pennington  <hp@pobox.com>
4254
4255         * configure.in: Use libart-config correctly; find gnome-config
4256         separately. Fix GNOME_LIBS to be correct in "no gnome installed
4257         yet" case.
4258
4259         * src/Makefile.am: Link to GNOME_LIBS instead of a hardcoded
4260         library list.
4261
4262         Patch untested in the inside-gnome-libs case, I need to commit
4263         then check out to the gnome-libs I'm using.
4264
4265 1999-11-04  Michael Fulbright  <drmike@redhat.com>
4266
4267         * src/io-jpeg.c (image_begin_load): Add update_func callback.
4268         * src/io-jpeg.c (image_load_increment): Call updated callback when
4269         new graphic data decoded.
4270
4271 1999-11-04  Jonathan Blandford  <jrb@redhat.com>
4272
4273         * src/gdk-pixbuf-loader.c (gdk_pixbuf_loader_update): handle the
4274         actual update.
4275         * src/io-png.c (image_begin_load): add a update_func callback.
4276         * src/io-gif.c (image_begin_load): add a update_func callback.
4277         (gif_get_lzw): added the update_func ability
4278
4279         * src/io-tiff.c (image_begin_load): add a update_func callback.
4280
4281 1999-11-04  Federico Mena Quintero  <federico@redhat.com>
4282
4283         * doc/tmpl/gdk-pixbuf.sgml: Populated.
4284
4285         * doc/tmpl/refcounting.sgml: Populated.
4286
4287         * doc/tmpl/file-loading.sgml: Populated.
4288
4289         * src/gdk-pixbuf.c: Added documentation comments.
4290
4291         * src/gdk-pixbuf-io.c (gdk_pixbuf_new_from_file): Added
4292         documentation comments.
4293
4294         * doc/: Finished integrating the documentation framework.
4295
4296 1999-11-03  Federico Mena Quintero  <federico@redhat.com>
4297
4298         * configure.in: Removed libgif stuff now that we do not depend on it.
4299         Added the necessary cruft for gtk-doc.
4300
4301         * src/Makefile.am: Unconditionally build the GIF loader.
4302
4303 1999-11-03  Jonathan Blandford  <jrb@redhat.com>
4304
4305         * src/io-gif.c (gif_read): renamed ReadOK to gif_read.
4306         Added a lot of comments to the file.
4307
4308         * src/Makefile.am (libpixbuf_gif_la_LIBADD): Remove dependency on
4309         lib*gif!!!!
4310
4311 1999-11-03  Michael Fulbright  <drmike@redhat.com>
4312
4313         * src/io-jpeg.c (image_load_increment): Further removal of
4314         bugginess in local buffering code. Handles grayscale jpegs
4315         correctly now.
4316
4317         * src/io-jpeg.c (image_load_stop): Was freeing local context
4318         for jpeg library before calling jpeg_decompres_finish ().
4319
4320 1999-11-03  Jonathan Blandford  <jrb@redhat.com>
4321
4322         * src/io-gif.c (image_load_increment): now handle arbitrary buffer
4323         sizes.
4324         (gif_get_lzw): set the transparency to the right val.
4325
4326 1999-11-03  Federico Mena Quintero  <federico@redhat.com>
4327
4328         * src/gnome-canvas-pixbuf.c (gnome_canvas_pixbuf_init):
4329         Initiailize the x and y fields.
4330         (gnome_canvas_pixbuf_destroy): Queue a redraw upon destruction.
4331         (PixbufPrivate): Renamed need_size_update to need_xform_update.
4332         (recompute_bounding_box): Do not use temporary values.
4333
4334 1999-11-03  Jonathan Blandford  <jrb@redhat.com>
4335
4336         * src/io-gif.c (set_gif_lzw_clear_code): new state.  Fixes
4337         un-compressed gifs.
4338
4339         * src/gnome-canvas-pixbuf.c (recompute_bounding_box): remove
4340         unneeded x,y,h,w vars.
4341
4342 1999-11-03  Larry Ewing  <lewing@gimp.org>
4343
4344         * src/gnome-canvas-pixbuf.c (compute_render_affine): adjust
4345         render_affine calculation for x,y offsets.
4346         (gnome_canvas_pixbuf_set_arg): add x,y args.
4347         (gnome_canvas_pixbuf_get_arg): add x,y args.
4348         (recompute_bounding_box): simply code using ArtDrect and the
4349         render_affine.  Removed compute_xform_vectors as it was no longer
4350         needed.
4351
4352 1999-11-03  Federico Mena Quintero  <federico@redhat.com>
4353
4354         * src/gnome-canvas-pixbuf.c (gnome_canvas_pixbuf_point): I'm a
4355         doofus.  Return a distance, not a boolean, for opaque images.
4356
4357         * src/gnome-canvas-pixbuf.c (recompute_bounding_box): Do proper
4358         rounding of bounding box coordinates.
4359         (gnome_canvas_pixbuf_bounds): Implemented the ::bounds() method.
4360         (gnome_canvas_pixbuf_draw): Use the correct alpha threshold value.
4361
4362 1999-11-03  Jonathan Blandford  <jrb@redhat.com>
4363
4364         * src/io-gif.c (gif_prepare_lzw): s/lwz/lzw/g
4365
4366 1999-11-03  Michael Fulbright  <drmike@redhat.com>
4367
4368         * src/io-jpg.c (image_load_increment): Fixed code which moved
4369         buffer around as new data comes in to work properly. JPEG progressive
4370         loading should be working now except for grayscale JPEG's, which I
4371         will look into next.
4372
4373 1999-11-03    <sopwith@redhat.com>
4374         * src/testpixbuf.c: A GtkFunction needs to return a value for
4375           deterministic behaviour. Also put dot printing back in.
4376
4377 1999-11-03    <jrb@redhat.com>
4378
4379         * src/io-gif.c (gif_get_extension): Read 'til the next empty block
4380         correctly, now.
4381
4382 1999-11-02  Cody Russell  <bratsche@dfw.net>
4383         * src/gdk-pixbuf-drawable.c: Changed the behavior to return NULL
4384         if part of the requested image is offscreen, rather than clipping
4385         the image.
4386
4387 1999-11-02  Jonathan Blandford  <jrb@redhat.com>
4388
4389         * src/io-gif.c (gif_fill_in_lines): Fill in the gif's blank areas
4390         for interlacing and progressive loading.
4391
4392 1999-11-02  Cody Russell  <bratsche@dfw.net>
4393         * src/gdk-pixbuf-drawable.c (gdk_pixbuf_from_drawable_core): Now
4394         calls gdk_pixbuf_new_from_art_pixbuf() instead of gdk_pixbuf_new().
4395
4396 1999-11-02  Jonathan Blandford  <jrb@redhat.com>
4397
4398         * src/io-gif.c (gif_main_loop): Now progressive gif loading works!
4399         It's a little slow though. )-:
4400
4401 1999-11-02 Elliot Lee <sopwith@redhat.com>
4402         * src/gdk-pixbuf-loader.[ch], src/gdk-pixbuf-io.h: Make the
4403         arguments to the write/load_increment operations const-correct.
4404
4405 1999-11-02  Federico Mena Quintero  <federico@redhat.com>
4406
4407         * src/gnome-canvas-pixbuf.c (gnome_canvas_pixbuf_point):
4408         Implemented the ::point() method.  We do a simple containment test
4409         instead of a full distance calculation since the canvas is going
4410         to change to that scheme, anyways.
4411
4412 1999-11-02 Elliot Lee <sopwith@redhat.com>
4413
4414         * src/testpixbuf.c: Allow using $TBF_READLEN to specify the size
4415         of the chunks that are read from the input file.
4416
4417 1999-11-02  Larry Ewing  <lewing@gimp.org>
4418
4419         * src/gnome-canvas-pixbuf.c (gnome_canvas_pixbuf_render): add aa
4420         render function.
4421         (gnome_canvas_pixbuf_class_init): add gnome_canvas_pixbuf_render
4422         to class.
4423
4424 1999-11-02  Federico Mena Quintero  <federico@redhat.com>
4425
4426         * src/gnome-canvas-pixbuf.c (compute_render_affine): Moved the
4427         affine computation code from ::draw() to here, since it is needed
4428         by ::point() as well.
4429
4430 1999-11-02 Elliot Lee <sopwith@redhat.com>
4431
4432         * src/gdk-pixbuf-loader.c: Reorganize gdk_pixbuf_loader_write into
4433         three functions, and eliminate duplication of code from write()
4434         and close(). Also fix bug where the 128-byte header was being
4435         written twice.
4436
4437 1999-11-01  Federico Mena Quintero  <federico@redhat.com>
4438         * src/gnome-canvas-pixbuf.c (recompute_bounding_box): Fixed
4439         bounding box computation.
4440
4441 1999-11-01  Federico Mena Quintero  <federico@redhat.com>
4442
4443         * src/gnome-canvas-pixbuf.c: Start of the pixbuf canvas item.
4444         Drawing affines seem to work.  Bounding box is fubared.  ::point()
4445         is not implemented.  This is a work in progress.
4446
4447         * src/Makefile.am: Added gnome-canvas-pixbuf.[ch] to the list of
4448         sources.
4449
4450         * configure.in: Sigh.  We need to link in libgnomeui for the
4451         canvas stuff.  This mess will disappear when gdk-pixbuf gets
4452         folded into gnome-libs.
4453
4454 1999-10-30  Jonathan Blandford  <jrb@redhat.com>
4455
4456         * src/io-gif.c: Some more work.  Now it generates a gdk_pixbuf of
4457         the right size, at a minimum, even if the image is squished and
4458         the wrong color.
4459         (ReadImage): lets get the offset right.  This will let transparent
4460         gifs work.
4461
4462 1999-10-29  Michael Fulbright  <drmike@redhat.com>
4463
4464         * src/io-jpeg.c: image_load_increment(): Fixed bug when
4465         image width was not a multiple of 4 - always use the
4466         gdk_pixbuf rowstride to increment pointers!
4467
4468 1999-10-29  Michael Fulbright  <drmike@redhat.com>
4469
4470         * src/io-jpeg.c: Added first cut at progressive jpeg loading.
4471         Currently does not handle either progressive jpeg files (jpeg
4472         files with multiple scans at different quality settings), but
4473         I plan on adding this support soon. These are fairly rare in
4474         my experience, so it shouldn't slow people down too much.
4475         Grayscale jpegs also don't work but that should be easy to fix.
4476
4477 1999-10-29  Michael Fulbright  <drmike@redhat.com>
4478
4479         * src/testpixbuf.c: Added title to windows so you can identify
4480         progressive and file windows.
4481
4482 1999-10-29  Michael Fulbright  <drmike@redhat.com>
4483
4484         * src/gdk-pixbuf-loader.c (gdk_pixbuf_loader_write): Actually
4485         load the image handler when we determine the image type.
4486
4487         * src/gdk-pixbuf-io.[ch] (gdk_pixbuf_load_module): Changed the
4488         previously static function load_image_handler () to
4489         a public function gdk_pixbuf_load_module (). It is needed in
4490         gdk-pixbuf-loader.c to load image handler modules.  This function
4491         is different from gdk_pixbuf_get_module (), which only returns
4492         a reference to the required handler, because it actually loads
4493         the handler into memory. Both actions should possibly be combined
4494         in a convenience function since one w/o the other doesn't seem to
4495         make much sense.
4496
4497 1999-10-28  Jonathan Blandford  <jrb@redhat.com>
4498
4499         * src/gdk-pixbuf-loader.c (gdk_pixbuf_loader_write): don't send a
4500         0 length buffer.
4501
4502 1999-10-28  Federico Mena Quintero  <federico@redhat.com>
4503
4504         * src/gdk-pixbuf-render.c (gdk_pixbuf_render_to_drawable): New
4505         function to render a portion of a pixbuf to a drawable.  Ignores
4506         alpha information and takes in a GC.
4507         (gdk_pixbuf_render_to_drawable_alpha): New function to render a
4508         portion of a pixbuf to a drawable.  It automatically creates a GC
4509         and a clipping mask for alpha pixbufs.
4510
4511 1999-10-28  Jonathan Blandford  <jrb@redhat.com>
4512
4513         * src/gdk-pixbuf.h: turned convenience macros into convenience
4514         functions so some error checking could be added.
4515
4516         * src/io-tiff.c (image_load_increment): started work on the tiff
4517         non-incremental loader.
4518         (image_begin_load): Finished the incremental loader.
4519
4520         * src/io-gif.c (image_load_increment): started work on the gif
4521         incremental loader.
4522
4523         * src/gdk-pixbuf-io.h: Changed ModuleType to GdkPixbufModule.
4524
4525 1999-10-27  Federico Mena Quintero  <federico@redhat.com>
4526
4527         * src/gdk-pixbuf-render.c (gdk_pixbuf_render_threshold_alpha): New
4528         function to threshold a pixbuf's alpha channel into a bitmap.
4529
4530         * src/gdk-pixbuf.c (gdk_pixbuf_new): Fixed so that it will
4531         contemplate future extensions to ArtPixBuf's formats.
4532
4533         * src/io-png.c (png_info_callback): Use the new API of gdk_pixbuf_new().
4534
4535         * src/gdk-pixbuf.h (gdk_pixbuf_get_height): Added some convenience
4536         macros to fetch the ArtPixBuf's fields.
4537
4538 1999-10-27  Havoc Pennington  <hp@pobox.com>
4539
4540         * src/testpixbuf.c (main): Display the progressive load
4541
4542         * src/io-png.c (setup_png_transformations): Break transformation
4543         code into separate function
4544         (png_info_callback): Use setup_png_transformations
4545
4546 1999-10-27  Havoc Pennington  <hp@pobox.com>
4547
4548         * src/gdk-pixbuf-io.c (gdk_pixbuf_new_from_xpm_data): Check
4549         properly whether the XPM module has already been loaded
4550         (gdk_pixbuf_new_from_file): Check properly if loader module
4551         was already loaded (was checking if load symbol was present
4552         in order to decide whether to re-load; should check module !=
4553         NULL, then load != NULL)
4554         (image_handler_load): Check in present working directory,
4555         makes it easier to debug for now
4556         (file_formats): This array initializer was seriously on crack,
4557         was assigning a function pointer to a GModule*
4558
4559         * src/testpixbuf.c (main): Change type of pixbuf_loader to
4560         GdkPixbufLoader* 
4561
4562 1999-10-27  Havoc Pennington  <hp@pobox.com>
4563
4564         * src/gdk-pixbuf-loader.c (gdk_pixbuf_loader_finalize):
4565         Fix typo that prevented compilation
4566         (gdk_pixbuf_loader_destroy): ditto
4567
4568 1999-10-27  Federico Mena Quintero  <federico@redhat.com>
4569
4570         * src/gdk-pixbuf-loader.c (gdk_pixbuf_loader_new): Return a
4571         GdkPixbufLoader, not a GtkObject.
4572         (gtk_marshal_NONE__INT_INT_INT_INT): Made static.
4573         (gdk_pixbuf_loader_get_type): Documented.
4574         (gdk_pixbuf_loader_class_init): Initialize the parent class
4575         correctly.
4576         (gdk_pixbuf_loader_destroy): Added sanity checks. Call the parent
4577         class destroy function.
4578         (gdk_pixbuf_loader_new): Documented.
4579         (gdk_pixbuf_loader_finalize): Call the parent class finalize
4580         function.
4581         (gdk_pixbuf_loader_write): Use size_t for count.
4582
4583 1999-10-27  Michael Fulbright  <drmike@redhat.com>
4584
4585         * src/gdk-pixbuf-loader.c (gdk_pixbuf_loader_destroy): Fixed
4586         logic so we only try to close loader if it wasn't previously closed.
4587
4588 1999-10-27  Michael Fulbright  <drmike@redhat.com>
4589
4590         * src/gdk-pixbuf-loader.c: Made sure image_loader struct member of
4591         pixbuf_loader properly initialized.
4592
4593         * src/testpixbuf.c: Made sure we cleanup pixbuf_loader properly
4594         when done.
4595
4596 1999-10-26  Jonathan Blandford  <jrb@redhat.com>
4597
4598         * src/gdk-pixbuf-io.c (image_handler_load): load the vtable fully.
4599
4600         * src/gdk-pixbuf-loader.c: Finished initial cut at the object.
4601
4602 1999-10-26  Havoc Pennington  <hp@pobox.com>
4603
4604         * src/gdk-pixbuf-loader.h: fix signals
4605
4606         * src/gdk-pixbuf-io.h: add new vtable fields
4607
4608
4609 1999-10-26  Jonathan Blandford  <jrb@redhat.com>
4610
4611         * src/gdk-pixbuf-loader.h: New Class.  Beginning of progrssive
4612         loading.
4613
4614 1999-10-25  Federico Mena Quintero  <federico@redhat.com>
4615
4616         * configure.in (CFLAGS): Patch from Uwe Koloska
4617         <koloska@Rcs1.urz.tu-dresden.de> to fix a stupid typo of mine.
4618
4619 1999-10-22  Havoc Pennington  <hp@pobox.com>
4620
4621         * src/io-xpm.c (mem_buffer): Clean up stupid
4622         increment-inside-array-dereference thing
4623
4624         * src/testpixbuf.c: Add XPM data tests.
4625
4626         * src/io-xpm.c: Make the XPM data buffer const, fix const
4627         correctness throughout the code.
4628
4629 1999-10-22  Havoc Pennington  <hp@pobox.com>
4630
4631         * src/gdk-pixbuf.h: Export gdk_pixbuf_new_from_xpm_data()
4632
4633 1999-10-22  Havoc Pennington  <hp@pobox.com>
4634
4635         * src/io-xpm.c (image_load_xpm_data): Export this symbol for
4636         loading an XPM from memory.
4637
4638         * src/gdk-pixbuf-io.c (gdk_pixbuf_new_from_xpm_data): New
4639         function, loads pixbuf from xpm data
4640         (image_handler_load): Add g_return_if_fail() to ensure the same
4641         module isn't loaded twice. Add g_module_symbol() to scan for XPM
4642         loader function.
4643
4644 1999-10-22  Federico Mena Quintero  <federico@redhat.com>
4645
4646         * src/io-png.c (image_load): Patch from Kristian Hogsberg
4647         Kristensen <hogsberg@daimi.au.dk> to avoid allocating extra row
4648         buffers; the rows can be read in directly into the main pixel
4649         buffer.
4650
4651 1999-10-20  Federico Mena Quintero  <federico@redhat.com>
4652
4653         * src/gdk-pixbuf-io.c (image_handler_load): Free path.
4654
4655 1999-10-20  Federico Mena Quintero  <federico@redhat.com>
4656
4657         * configure.in: Bumped version number to 0.3.
4658
4659         * src/Makefile.am (lbgdk_pixbuf_la_LDFLAGS): Added a libtool
4660         version number for the library.
4661
4662 1999-10-20  Federico Mena Quintero  <federico@redhat.com>
4663
4664         * src/gdk-pixbuf.h (GdkPixbuf): Removed the unref_fn field.  Now
4665         all memory management of the buffer is done by libart.
4666
4667         * src/gdk-pixbuf.c (gdk_pixbuf_unref): Do destruction here.
4668         Removed gdk_pixbuf_destroy, gdk_pixbuf_duplicate.
4669
4670         * src/gdk-pixbuf-data.c (gdk_pixbuf_new_from_data): Implemented in
4671         terms of the libart functions.  Removed the old code.
4672
4673         * src/gdk-pixbuf-io.c (image_handler_load): Removed the save
4674         symbols.  Saving will not be implemented in GdkPixbuf.
4675
4676         * src/io-gif.c: Removed the saving stub.
4677         (image_load): Fixed memory management to fail gracefully if we run
4678         out of memory while loading the image.  Close the gif file when we
4679         are done.  This still needs more error handling for the DGif
4680         functions.
4681
4682         * src/io-jpeg.c (image_load): Some robustness fixes.
4683
4684         * src/io-png.c: Removed the saving stuff.
4685         (image_load): Some memory management fixes.
4686
4687         * src/io-tiff.c (image_load): Ditto.
4688
4689         * src/io-xpm.c (pixbuf_create_from_xpm): Ditto.
4690
4691 1999-10-18  Havoc Pennington  <hp@pobox.com>
4692
4693         * subautogen.sh: New name for macros/autogen.sh
4694
4695         * autogen.sh: use subautogen.sh
4696
4697 1999-10-18  Federico Mena Quintero  <federico@redhat.com>
4698
4699         * src/*: Reindented to use the GNOME Indentation.  Renamed
4700         GdkPixBuf to GdkPixbuf, for consistency with the function names
4701         (and it is also easier to type) :-)
4702
4703 1999-10-18  Havoc Pennington  <hp@pobox.com>
4704
4705         * configure.in: Use AM_PATH_GLIB instead of glib-config directly
4706
4707         * src/Makefile.am: Re-enable testpixbuf with GTK_CFLAGS/GTK_LIBS
4708
4709 1999-10-18  Havoc Pennington  <hp@pobox.com>
4710
4711         * Makefile.am (SUBDIRS): Remove "macros"
4712
4713         * configure.in: Don't use GNOME_INIT, handle case where we are
4714         inside gnome-libs. AM_PATH_GTK for the GIF test
4715
4716         * src/Makefile.am: Change flags to work without libgnomeui,
4717         comment out testpixbuf for now
4718
4719 1999-10-18  Federico Mena Quintero  <federico@redhat.com>
4720
4721         * configure.in: Use $GTK_LIBS as the extra libs when checking for
4722         libgif/libungif, as they need the X libraries.  Fixes bug #2472.
4723
4724 1999-10-10  Cody Russell  <bratsche@dfw.net>
4725         * src/gdk-pixbuf-drawable.c: core function now determines whether
4726         the requested geometry is on screen or not, and if some is not
4727         then the request is clamped to geometry that is on the screen.
4728
4729         Changed 'pixbuf' to 'art_pixbuf' in core function.
4730
4731 1999-10-08  Michael Fulbright  <drmike@redhat.com>
4732
4733         * src/gdk-pixbuf-data.c: Added to load rgb data from const data.
4734
4735         * src/testpifbuf: Changed test program to display cdrom from rgb data
4736         if no filename given to test program.
4737
4738 1999-10-07  Cody Russell  <bratsche@dfw.net>
4739         * src/gdk-pixbuf-drawable.[ch]: Added. (Actually, Miguel committed
4740         them, but I wrote them).
4741
4742         * src/gdk-pixbuf-drawable.h: Added a missing ; so things will now
4743         compile.
4744
4745         * src/Makefile.am: Added gdk-pixbuf-drawable.[ch] to
4746         libgdk_pixbuf_la_SOURCES and libgdk_pixbufinclude_HEADERS.
4747
4748         * src/gdk-pixbuf-drawable.c: Added #include "gdk-pixbuf-drawable.h"
4749         to fix compilation.
4750
4751         * src/gdk-pixbuf-drawable.[ch]: Changed functions to return
4752         GdkPixBuf* instead of ArtPixBuf*.
4753
4754 1999-09-22  Michael Meeks  <michael@nuclecu.unam.mx>
4755
4756         * src/gdk-pixbuf.c (gdk_pixbuf_new): created.
4757         (gdk_pixbuf_scale): use gdk_pixbuf_new + return a new scaled image.
4758
4759         * src/gdk-pixbuf.h (struct _GdkPixBuf): Re-organise struct, + add
4760         GdkPixBufUnrefFunc + gdk_pixbuf_new.
4761
4762         * src/io-jpeg.c (image_load): clean to use gdk_pixbuf_new.
4763
4764         * src/io-xpm.c (_pixbuf_create_from_xpm): ditto.
4765
4766         * src/io-tiff.c (image_load): ditto + fix leak
4767
4768         * src/io-png.c (image_load): ditto + add more exit points; monitor.png
4769         crashes this module ( add warning :-)
4770
4771         * src/io-bmp.c (image_load): ditto.
4772
4773         * src/io-gif.c (image_load): ditto.
4774
4775 1999-09-18  Michael Meeks  <michael@nuclecu.unam.mx>
4776
4777         * src/gdk-pixbuf.c (gdk_pixbuf_scale): Hack rgba support in so
4778         it doesn't crash scaling with alpha.
4779
4780 1999-09-17  Federico Mena Quintero  <federico@redhat.com>
4781
4782         * src/io-bmp.c (image_load): Set the initial ref_count to 1.
4783
4784         * src/io-gif.c (image_load): Likewise.
4785
4786         * src/io-jpeg.c (image_load): Likewise.
4787
4788         * src/io-png.c (image_load): Likewise.
4789
4790         * src/io-tiff.c (image_load): Likewise.
4791
4792         * src/io-xpm.c (_pixbuf_create_from_xpm): Likewise.
4793
4794         * src/gdk-pixbuf-io.c (gdk_pixbuf_load_image): Added an assertion
4795         for the ref_count to be != 0.
4796
4797         * src/gdk-pixbuf.c (gdk_pixbuf_ref): Be more paranoid with sanity
4798         checking.
4799         (gdk_pixbuf_unref): Fix incorrect sanity check and comparison.
4800
4801 1999-08-09  Federico Mena Quintero  <federico@nuclecu.unam.mx>
4802
4803         * src/io-png.c (image_save): Fixed compiler warnings.  Fixed write
4804         to unallocated memory (row_ptr), and fixed its type as well.  Take
4805         into account the ArtPixbuf's rowstride when assigning the row
4806         pointers.
4807
4808         * src/gdk-pixbuf.c: Fixup includes.
4809
4810         * src/gdk-pixbuf-io.c: Likewise.
4811
4812 Sat Jul 31 19:19:47 CEST 1999
4813
4814         * src/gdk-pixbuf-io.c:
4815         * src/io-png.c: Fixed two obvious C syntax bugs
4816
4817 1999-07-29  Mark Crichton  <crichton@gimp.org>
4818
4819         * src/io-png.c (image_save): Added PNG saving function
4820
4821         * src/gdk-pixbuf-io.c: Changed image_save function format.  Now it's
4822         image_save(GdkPixBuf *p, FILE *f, ...)
4823
4824
4825 1999-07-26  Michael Zucchi  <mzucchi@denr.sa.gov.au>
4826
4827         * src/Makefile.am (*_LIB): Only build the relevant loaders which
4828         require extra libraries if we actually have those libraries.
4829
4830 1999-07-23  Richard Hestilow  <hestgray@ionet.net>
4831
4832         * src/gdk-pixbuf.h: Include glib.h as it uses g* datatypes
4833         * gdk_pixbufConf.sh.in: Added for gnome-config
4834         * Makefile.am:
4835         * configure.in: Modified to generate gdk_pixbufConf.sh
4836
4837 1999-07-20  Mark Crichton  <crichton@gimp.org>
4838
4839         * src/gdk-pixbuf.c (gdk_pixbuf_rotate): Fixed rotation.  Now a bbox
4840         calculation needs to be done.
4841
4842 1999-07-18  Larry Ewing  <lewing@gimp.org>
4843
4844         * src/io-xpm.c:
4845         * src/io-gif.c:
4846         * src/io-png.c:
4847         * src/io-jpeg.c: Fix a few memory leaks in the, most of them in
4848         error cases but one or two in the common case.  There are probably
4849         a few small ones left.
4850
4851 1999-07-18  Mark Crichton  <crichton@gimp.org>
4852
4853         * configure.in: removed version.h.
4854
4855         * src/gdk-pixbuf-io.c (pixbuf_check_tiff): Minor readability
4856         improvements.
4857
4858 1999-07-17  Mark Crichton  <crichton@gimp.org>
4859
4860         * src/gdk-pixbuf.c: Removed gdk_pixbuf_free, redundant code.
4861         (gdk_pixbuf_rotate): Added pixbuf rotation code.
4862         (gdk_pixbuf_scale): Changed // comments to /* */
4863
4864         * src/gdk-pixbuf.h (gdk_pixbuf_destroy): Added gdk_pixbuf_destroy
4865         function to header.
4866
4867 1999-07-16  Larry Ewing  <lewing@gimp.org>
4868
4869         * src/testpixbuf.c (expose_func): reverted the expose everything
4870         changes, I'm not sure why these went in.
4871         (config_func): bring this up to date with the new pixbuf_scale
4872         semantics.
4873
4874         * src/gdk-pixbuf-io.c: added a couple of warnings to the module
4875         loading code so that poeple can diagnose problems better.
4876
4877         * src/gdk-pixbuf.c (gdk_pixbux_scale): fix the borkedness, also it
4878         no longer allocates a new pixbuf, which make things nicer for the
4879         rest of the code.  Unfortunately there is still a problem with
4880         scaling rgba images.
4881
4882 1999-07-16  Mark Crichton  <crichton@gimp.org>
4883
4884         * src/testpixbuf.c (config_func): ConfigureEvent handler.  This
4885         calls gdk_pixbuf_scale.  However, something is not working.
4886         N.B.: current pixmap is now stored in user_data with a key of
4887         "pixmap"
4888
4889         * src/gdk-pixbuf.c (gdk_pixbuf_scale): Implemented scaling function.
4890         Something is still borked, however.
4891
4892 1999-07-15  Larry Ewing  <lewing@gimp.org>
4893
4894         * src/io-jpeg.c (image_load): add raph@gimp.org's fix to the jpeg
4895         indexing routine
4896
4897         * src/testpixbuf.c (main): fix up the file routines a little so
4898         that you can load multiple files given the file names
4899
4900 1999-07-14  Larry Ewing  <lewing@gimp.org>
4901
4902         * src/testpixbuf.c (expose_func): added an almost proper expose
4903         handler for testpixbuf
4904
4905 1999-07-13  Mark Crichton  <crichton@gimp.org>
4906
4907         * configure.in: Fixed GIF check.  Replaced " with '
4908         * src/gdk-pixbuf.c: More (minor) work on gdk_pixbuf_scale
4909
4910 1999-07-13  Mark Crichton  <crichton@gimp.org>
4911
4912         * configure.in: I am a bonehead.  Added gif-lib check.