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