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