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