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