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