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