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