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