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