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