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