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