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