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