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