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