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