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