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