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