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