]> Pileus Git - ~andy/gtk/blob - gdk-pixbuf/ChangeLog
f00bda8f65d1d7ac5c7d4a83fdbdd9d2391bbd5c
[~andy/gtk] / gdk-pixbuf / ChangeLog
1 2001-05-04  Havoc Pennington  <hp@redhat.com>
2
3         * pixops/pixops.c (pixops_process): merge fix from stable: Patch
4          from hoshem@mel.comcen.com.au to fix nonzero X offsets.  Fixes
5          bug #50371.
6         
7         * gdk-pixbuf/pixops/pixops.c (pixops_composite_nearest): merge
8         from stable: Patch from OKADA Mitsuru <m-okada@fjb.co.jp> to fix
9         confusion of using "src" instead of "p".
10         (pixops_composite_color_nearest): Use a more accurate (and
11         correct, to begin with) compositing method.  This cures checks
12         showing through on images with no alpha.
13
14         * gdk-pixbuf.c (gdk_pixbuf_fill): fix bug that left some trailing
15         bytes unfilled.
16
17         * gdk-pixbuf-io.h: fix UpdatedNotifyFunc to use signed ints
18
19         * gdk-pixbuf-loader.h (struct _GdkPixbufLoaderClass): Change
20         area_updated signal to use signed ints.  Removed animation-related
21         signals.
22
23         * io-gif.c, io-gif-animation.h, io-gif-animation.c: Massive
24         rewrite action
25
26         * gdk-pixbuf-animation.c: Add GdkPixbufAnimationIter to abstract
27         all the pesky details. Remove old frame-based API. Make
28         GdkPixbufAnimation an abstract base class, derived by the loaders.
29
30 Sun Apr 22 15:51:32 2001  Owen Taylor  <otaylor@redhat.com>
31
32         * Makefile.am (LDADDS): Add $(MATH_LIB).
33
34 2001-04-18  Havoc Pennington  <hp@redhat.com>
35
36         * gdk-pixbuf.c (gdk_pixbuf_fill): Function to fill pixbuf with a
37         given color.
38
39 Wed Apr  4 01:41:02 2001  Tim Janik  <timj@gtk.org>
40
41         * pixops/Makefile.am (noinst_LTLIBRARIES): include $top_srcdir
42         so we don't try to get <gtk/gtkobject.h> from standard search
43         paths.
44
45         * Makefile.am (gdk-pixbuf-marshal.c): use deps from srcdir.
46         add gdk-pixbuf-marshal.list to EXTRA_DIST.
47         take gdk-pixbuf-marshal.h out of _la sources.
48
49 2001-03-19  Tor Lillqvist  <tml@iki.fi>
50
51         * makefile.mingw.in: Handle gdk-pixbuf-marshal.c.
52
53         * gdk_pixbuf.def: Update.
54
55         * pixbufloader_*.def: Just export the fill_vtable functions now.
56
57 2001-03-18  Mike Kestner  <mkestner@ameritech.net>
58
59         * make-inline-pixbuf.c (main): Added logic to remove output when
60         failures occur.
61
62 2001-03-14  Havoc Pennington  <hp@redhat.com>
63
64         * Makefile.am (gdk-pixbuf-marshal.c): Use different temporary file
65         from gdk-pixbuf-marshal.h, fixes parallel makes.
66
67 Thu Mar  1 04:01:57 2001  Tim Janik  <timj@gtk.org>
68
69         * test-gdk-pixbuf.c: fixed includes.
70
71 2001-02-18  Havoc Pennington  <hp@pobox.com>
72
73         * gdk-pixbuf-io.c (gdk_pixbuf_load_module): prepend underscore
74         (gdk_pixbuf_get_named_module): prepend underscore
75         (gdk_pixbuf_get_module): prepend underscore
76
77 2001-02-19  Havoc Pennington  <hp@redhat.com>
78
79         * gdk-pixbuf-io.c (gdk_pixbuf_load_module): const fix
80
81 2001-02-17  Havoc Pennington  <hp@pobox.com>
82
83         * gdk-pixbuf-loader.c (gdk_pixbuf_loader_new_with_type): docs
84
85 2001-02-07  Alexander Larsson  <alexl@redhat.com>
86
87         * io-xpm.c (free_buffer):
88         Use g_free, since the buffer is allocated with g_try_alloc().
89
90 2001-02-06  Christophe Merlet  <redfox@eikonex.org>
91
92         * gdk-pixbuf-data.c: Fixes a minor typo.
93
94 Sun Feb  4 07:59:57 2001  Tim Janik  <timj@gtk.org>
95
96         * gdk-pixbuf.h: DOH! don't include glib/gobject.h but glib-object.h,
97         we finally need the gobject->gruntime rename.
98
99         * *.c: scratched calls to g_type_init(), there's simply no point in
100         doing that, use gtk_init().
101
102 2001-02-01  Havoc Pennington  <hp@pobox.com>
103
104         * gdk-pixbuf-loader.c, gdk-pixbuf-loader.h: rename "private" field
105         in struct to "priv" for C++
106
107 2001-01-31  Havoc Pennington  <hp@pobox.com>
108
109         * gdk-pixbuf.c: include glib-object.h instead of gvaluetypes.h
110
111 2001-01-26  Havoc Pennington  <hp@redhat.com>
112
113         * gdk-pixbuf-io.c (mname): fix included modules case.
114
115 2001-01-22  Havoc Pennington  <hp@redhat.com>
116
117         * gdk-pixbuf-io.c (gdk_pixbuf_new_from_xpm_data): check errors 
118         from gdk_pixbuf_load_module
119
120 2001-01-22  Havoc Pennington  <hp@redhat.com>
121
122         * Makefile.am: Add built marshaller files to support
123         GdkPixbufLoader signals
124
125         * gdk-pixbuf-io.c (gdk_pixbuf_load_module): have
126         GDK_PIXBUF_MODULEDIR unconditionally replace the compiled-in
127         module location, rather than acting as a fallback, because we are
128         using GDK_PIXBUF_MODULEDIR to use gdk-pixbuf before installing it.
129
130         * gdk-pixbuf.h: include gdk-pixbuf-loader.h
131
132         * gdk-pixbuf-loader.h, gdk-pixbuf-loader.c: Move back over here
133         from gtk, and add error to close(), because stop_load may do
134         parsing of the image.
135         
136         * pixops/have_mmx.S (_pixops_have_mmx): add newline at end of file
137
138         * io-*.c: make individual operations static, and add fill_vtable
139         functions which are exported. Fix the collection of type warnings
140         that surfaced, including a number of functions that didn't
141         properly take a GError and some that weren't
142         const-correct. Involved adding error handling for a few loaders.
143
144         * gdk-pixbuf-io.h: Add error reporting to stop_load function
145         
146         * gdk-pixbuf-io.c (gdk_pixbuf_load_module): change to just look up
147         a function that fills in the GdkPixbufModule vtable, instead of 
148         looking up all the image functions individually; this means we 
149         can get type safety within modules for the loader functions.
150         Also it means you don't have to keep the statically compiled and 
151         GModule versions in sync. 
152
153         * test-gdk-pixbuf.c (main): remove gdk_pixbuf_init()
154
155         * make-inline-pixbuf.c (main): remove call to gdk_pixbuf_init()
156
157         * gdk-pixbuf.h: nuke gdk_pixbuf_init()
158         
159         * gdk-pixbuf-animation.c (gdk_pixbuf_frame_get_type): g_type_init
160         () here
161
162         * gdk-pixbuf.c (gdk_pixbuf_get_type): g_type_init () here
163
164         * gdk-pixbuf-animation.c (gdk_pixbuf_animation_get_type):
165         g_type_init() here
166
167 2001-01-20  John Harper  <jsh@eazel.com>
168
169         * io-xbm.c: new pixbuf loader, for X bitmap files. Basically a
170         collision between Xlib's RdBitF.c and io-tiff.c
171
172         * gdk-pixbuf-io.c, Makefile.am, pixbufloader_xbm.def: added
173         io-xbm.c support
174
175         [ merged from stable gdk-pixbuf module. Untested, but it
176         compiles, and works fine in the stable module ]
177
178 2001-01-18  Tor Lillqvist  <tml@iki.fi>
179
180         * gdk-pixbuf-io.c (get_libdir): (Win32) Use the new
181         g_win32_get_package_installation_subdirectory() function.  No need
182         to include windows.h.
183         (gtk_win32_get_installation_directory): Remove this then.
184
185 2001-01-01  Havoc Pennington  <hp@redhat.com>
186
187         * Makefile.am (libgdk_pixbuf_1_3_la_LDFLAGS): add
188         @LIBTOOL_EXPORT_OPTIONS@
189
190 2000-12-30  Tor Lillqvist  <tml@iki.fi>
191
192         * gdk_pixbuf.def: Update.
193
194 2000-12-16  Havoc Pennington  <hp@pobox.com>
195
196         * gdk-pixbuf-animation.c (gdk_pixbuf_animation_new_from_file): ref
197         the pixbuf in the frame, so we can use gdk_pixbuf_frame_free
198         (gdk_pixbuf_frame_copy): new function
199         (gdk_pixbuf_frame_free): new function
200         (gdk_pixbuf_frame_get_type): new function
201         (GDK_TYPE_PIXBUF_FRAME): macro to get type for GdkPixbufFrame
202
203 Tue Nov 14 11:51:26 2000  Owen Taylor  <otaylor@redhat.com>
204
205         * Makefile.am: Add -avoid-version for all modules.
206
207 2000-11-13  Havoc Pennington  <hp@redhat.com>
208
209         * io-png.c (png_simple_error_callback): fix error message to not
210         say "save" since it's used for loading
211
212 2000-11-11  Hans Breuer <Hans@Breuer.Org>
213
214         * gdk-pixbuf-io.c : Fix all function prototype macros for self 
215         contained image handlers (!USE_G_MODULE). Files to save should
216         be opened in binary mode, fopen(s, "wb").
217
218         * io-xpm.c : added HAVE_UNISTD_H condition
219
220 2000-11-11  Tor Lillqvist  <tml@iki.fi>
221
222         * gdk_pixbuf.def: Add gdk_pixbuf_new_subpixbuf.
223
224         * io-tiff.c (gdk_pixbuf__tiff_image_begin_load): Use
225         g_file_open_tmp() (just added to GLib) instead of mkstemp() (or
226         mktemp() and open()).
227         
228         * io-xpm.c (gdk_pixbuf__xpm_image_begin_load): Ditto.
229
230 2000-11-01  Havoc Pennington  <hp@pobox.com>
231
232         * gdk-pixbuf.c (gdk_pixbuf_new_subpixbuf): New function to create 
233         a pixbuf pointing to a subregion of another pixbuf.
234
235 2000-10-16  Tor Lillqvist  <tml@iki.fi>
236
237         * gdk-pixbuf-io.c: Define also m_save (for the non-gmodule case).
238
239 2000-10-16  Havoc Pennington  <hp@redhat.com>
240
241         * gdk-pixbuf-io.c (gdk_pixbuf_get_module)
242         (gdk_pixbuf_get_named_module) (gdk_pixbuf_load_module): 
243         add error reporting here also
244
245         * make-inline-pixbuf.c (main): use GError
246
247         * io-xpm.c: include unistd.h
248
249         * gdk-pixbuf-util.c: include string.h
250
251         * io-*.c: add error reporting
252         
253         * gdk-pixbuf-animation.c (gdk_pixbuf_animation_new_from_file): add
254         error reporting
255
256         * gdk-pixbuf-io.c (gdk_pixbuf_new_from_file): Add error reporting
257
258         * gdk-pixbuf-io.h: Add GError** to load_increment and load 
259         methods
260
261         * gdk-pixbuf-io.c (gdk_pixbuf_save) (gdk_pixbuf_savev): return 
262         a G_FILE_ERROR if we fail to write or close the file.
263
264         * gdk-pixbuf.h: remove GDK_PIXBUF_ERROR_IO, instead we'll use
265         G_FILE_ERROR_*. Rename enum to GdkPixbufError, properly following
266         the GError naming rules. Add GError** to load functions.
267
268 2000-10-06  Havoc Pennington  <hp@redhat.com>
269
270         * gdk-pixbuf.h: add GdkPixbufAlphaMode
271
272 2000-10-06  Havoc Pennington  <hp@redhat.com>
273
274         This entry is a summary of the merged-in changes from 1.0. 
275         Relevant original ChangeLog entries are spliced in after 
276         this entry; the files they refer to are from the 1.0
277         gdk-pixbuf sources.
278         
279         * pixops/pixops.c (pixops_composite_nearest): sync a small fix
280         from 1.0
281
282         * io-xpm.c (xpm_seek_string): add fscanf error check from 1.0
283         Add progressive loader from 1.0
284
285         * io-tiff.c (gdk_pixbuf__tiff_image_begin_load): mem leak fixes
286         from 1.0 tree
287
288         * io-pnm.c: new version from 1.0 tree
289
290         * io-jpeg.c (gdk_pixbuf__jpeg_image_load): sync from 1.0, use 
291         malloc not g_malloc
292
293         * io-gif.c (lzw_read_byte): sync from 1.0, change a g_error to
294         g_warning
295         (gif_get_next_step): return 0 here, sync from 1.0
296
297         * gdk-pixbuf-util.c: sync email address change for Cody
298         Russell
299
300 2000-09-11  Jeffrey Stedfast  <fejj@helixcode.com>
301
302         * gdk-pixbuf/io-pnm.c: Pretty much totally rewrote again because
303         last nights code was still "broken". Should now properly handle
304         all error conditions gracefully.
305
306 2000-09-10  Jeffrey Stedfast  <fejj@helixcode.com>
307
308         * gdk-pixbuf/io-pnm.c: Rewrote.
309
310 2000-09-09  Federico Mena Quintero  <federico@helixcode.com>
311
312         * gdk-pixbuf/pixops/pixops.c (pixops_composite_nearest): Compute
313         the correct dest offset.
314
315 2000-08-25  Federico Mena Quintero  <federico@helixcode.com>
316
317         * gdk-pixbuf/io-xpm.c: #include <unistd.h>
318
319 2000-08-05  Larry Ewing  <lewing@helixcode.com>
320
321         * gdk-pixbuf/io-tiff.c: stop leaking context->tempname.
322
323         * gdk-pixbuf/io-xpm.c: same as above.
324
325 2000-07-26  Michael Meeks  <michael@helixcode.com>
326
327         * gdk-pixbuf/io-jpeg.c (gdk_pixbuf__jpeg_image_load): make
328         g_malloc a malloc.
329
330 2000-07-21  Larry Ewing  <lewing@helixcode.com>
331
332         * gdk-pixbuf/io-xpm.c: add a fake progressive loader so that
333         xpm at least supports the progressive interface like the one in
334         io-tiff.c. This should be reimplemented as an actual progressive
335         loader.
336
337 2000-07-19  Jonathan Blandford  <jrb@redhat.com>
338
339         * demo/pixbuf-demo.c (update_timeout): changed scaling level to
340         make it look better.
341         * gdk-pixbuf/testpixbuf.c (update_timeout): Patch from michael
342         meeks to handle errors better.
343         
344 2000-10-07  Tor Lillqvist  <tml@iki.fi>
345
346         * gdk_pixbuf.def
347         * pixbufloader_jpeg.def
348         * pixbufloader_png.def: Add new entry points.
349
350         * makefile.mingw.in: Use libintl.
351
352 2000-10-06  Havoc Pennington  <hp@redhat.com>
353
354         * gdk-pixbuf-io.c (gdk_pixbuf_save): s/format/type/g to be
355         consistent with gdk_pixbuf_loader_new_with_type(). 
356         Return runtime error if a module is missing.
357
358         * gdk-pixbuf.h: add GDK_PIXBUF_ERROR_UNKNOWN_TYPE
359
360 2000-10-05  Havoc Pennington  <hp@redhat.com>
361
362         Pixbuf saving, patch from David Welton.
363         
364         * Makefile.am (GDK_PIXBUF_LIBS): add INTLLIBS
365         (libgdk_pixbuf_1_3_la_SOURCES): add gdk-pixbuf-i18n.h
366
367         * gdk-pixbuf-i18n.h: Add _() to gdk-pixbuf
368
369         * io-png.c (gdk_pixbuf__png_image_save): PNG save routine.
370
371         * io-jpeg.c (gdk_pixbuf__jpeg_image_save): JPEG save routine.
372
373         * gdk-pixbuf-io.c (gdk_pixbuf_save): 
374         (gdk_pixbuf_savev): Implement pixbuf saving routines
375
376         * gdk-pixbuf.c (gdk_pixbuf_error_quark): pixbuf error quark
377         function
378
379         * gdk-pixbuf.h: Add public save routines; add pixbuf error 
380         types
381
382         * gdk-pixbuf-io.h: Add save function to GdkPixbufModule
383
384 2000-10-05  Dan Winship  <danw@helixcode.com>
385
386         * io-png.c, io-tiff.c, io-xpm.c: Fix comments to not claim that
387         all three of these files are the JPEG image loader. (From
388         gdk-pixbuf module.)
389
390 2000-10-03  Tor Lillqvist  <tml@iki.fi>
391
392         * makefile.mingw.in: Add rule for make-inline-pixbuf. Use
393         gdk-pixbuf's version number in the rule for makefile.mingw itself.
394
395         * gdk_pixbuf.def: Add new entry points.
396
397 2000-09-26  Havoc Pennington  <hp@redhat.com>
398
399         * gdk-pixbuf-util.c (gdk_pixbuf_saturate_and_pixelate): Add this
400         function here, instead of putting it in a private GTK+ file.
401
402         * gdk-pixbuf-private.h (GdkPixbufInlineFormat): include an 
403         enum here for the known formats of inlined pixbufs.
404         Also, #define our file magic here.
405
406 2000-06-23  Havoc Pennington  <hp@redhat.com>
407
408         * make-inline-pixbuf.c: Small program that creates C variable
409         declarations of inline pixbuf data. This can be read 
410         by gdk_pixbuf_new_from_inline.
411
412         * gdk-pixbuf.h (gdk_pixbuf_new_from_inline): New function to read
413         inline pixbuf data and create a pixbuf from it. 
414
415         * gdk-pixbuf-data.c (gdk_pixbuf_new_from_inline): implement here
416
417 2000-09-07  Tor Lillqvist  <tml@iki.fi>
418
419         * makefile.mingw.in: Use own version number for gdk-pixbuf DLLs,
420         like on Unix.
421
422 2000-08-12  Tor Lillqvist  <tml@iki.fi>
423
424         * gdk_pixbuf.def: Add missing entry point.
425
426 2000-08-10  Havoc Pennington  <hp@redhat.com>
427
428         * Makefile.am (EXTRA_DIST): The *.def files had the wrong names
429         (s/pixbuf_/pixbufloader_)
430         
431 2000-08-02  Tor Lillqvist  <tml@iki.fi>
432
433         * io-bmp.c
434         * io-ico.c
435         * io-ras.c
436         * io-tiff.c
437         * io-wbmp.c: Conditionalise inclusion of <unistd.h>.
438
439         * makefile.mingw.in: List loaders alphabetically. Add the wbmp
440         one. Fix names of DLLs to have '-' instead of '_'.
441
442 2000-07-31  Elliot Lee  <sopwith@redhat.com>
443         * io-wbmp.c: Some bug fixes - now tested to work.
444
445 2000-07-27  Elliot Lee  <sopwith@redhat.com>
446
447         * gdk-pixbuf-io.h, gdk-pixbuf-io.c: Add
448         gdk_pixbuf_get_named_module() function to facilitate above change
449         * io-wbmp.c, pixbufloader_wbmp.defs, gdk-pixbuf-io.c, Makefile:
450         Implement loader for WBMP format.
451         * io-bmp.c: Don't malloc a temporary buffer - use stack instead.
452
453 2000-07-23  Tor Lillqvist  <tml@iki.fi>
454
455         Win32 build setup:
456         
457         * makefile.mingw.in
458         * pixops/makefile.mingw.in
459         * pixbuf_*.def: New files.
460
461         * Makefile.am
462         * pixops/Makefile.am: Add them. Add rule to generate makefile.mingw.
463
464         * gdk-pixbuf-io.c (gtk_win32_get_installation_directory):
465         New function, to get the GTK+ installation directory from
466         the Windows Registry, where the installation program
467         for whatever software includes GTK+ has stored it.
468
469         Used to avoid having hardcoding the directory where to look for
470         loaders. This function is needed by gtk, too, so it should
471         really be just in one place. Maybe a small static library
472         one level up from here?
473
474         * gdk-pixbuf-animation.c (gdk_pixbuf_animation_new_from_file)
475         * gdk-pixbuf-io.c (gdk_pixbuf_new_from_file): 
476         Open file in binary mode. This *is* standard C. (No-op on Unix,
477         of course.)
478
479         * io-jpeg.c: If we don't HAVE_SIGSETJMP, use normal setjmp().
480
481         * io-tiff.c: Use g_get_tmp_dir(). If we don't HAVE_MKSTEMP, use
482         mktemp() and open().
483         (gdk_pixbuf__tiff_image_stop_load): g_free() also the tempname.
484
485         * pixops/*.S: The Gas from mingw32 doesn't like the .type
486         pseudo-op. Conditionalise on __MINGW32__, but probably
487         should conditionalise on Gas version instead? Or could we
488         do without .type on all systems?
489
490         * pixops/timescale.c: Use g_get_current_time()
491         instead of gettimeofday().
492
493 Sat Jul 22 10:57:22 2000  Owen Taylor  <otaylor@redhat.com>
494
495         * Makefile.am (test_gdk_pixbuf_LDADD): Remove -lgmodule
496
497 Tue Jul 11 11:26:42 2000  Owen Taylor  <otaylor@redhat.com>
498
499         * gdk-pixbuf.c: Add <string.h> include.
500
501 Tue Jul 11 06:20:14 2000  Tim Janik  <timj@gtk.org>
502
503         * io-gif.c (gdk_pixbuf__gif_image_load_animation): 
504         * gdk-pixbuf-data.c (gdk_pixbuf_new_from_data): 
505         * gdk-pixbuf-animation.c (gdk_pixbuf_animation_new_from_file): 
506         use g_object_new() instead of g_type_create_instance() which
507         is a private function for fundamental type implementations.
508         
509 Thu Jul  6 11:49:47 2000  Owen Taylor  <otaylor@redhat.com>
510
511         * Makefile.am (libgdk_pixbuf_la_LDFLAGS): Use GTK+ version
512         soname scheme for gdk-pixbuf.
513         
514 2000-06-21  Havoc Pennington  <hp@pobox.com>
515
516         * gdk-pixbuf.c: Convert GdkPixbuf to GObject, leaving it opaque
517         (i.e. derivation is not allowed, and there are no virtual methods
518         anyway).
519         (gdk_pixbuf_preinit): Call g_type_init() here.
520         (gdk_pixbuf_init): Add a user-friendly init function, for users
521         of standalone gdk-pixbuf
522
523         * gdk-pixbuf-animation.c: Convert to GObject, in the same
524         way GdkPixbufAnimation was done.
525         
526         * gdk-pixbuf.h: Remove gdk_pixbuf_set_unref_handler() and
527         gdk_pixbuf_finalize() from API, since these are broken and don't
528         make sense with new GObject stuff.
529
530 Wed Jun 21 16:02:48 2000  Owen Taylor  <otaylor@redhat.com>
531
532         * gdk-pixbuf-io.c (gdk_pixbuf_load_module): Add feature to
533         support a GDK_PIXBUF_MODULEDIR env variable as a secondary
534         load location.
535
536 2000-06-10  Federico Mena Quintero  <federico@helixcode.com>
537
538         * demo/pixbuf-demo.c: It was cold and rainy this Saturday morning,
539         so I needed something to warm my thighs.  Running plain infinite
540         loops on your laptop to make it hot is not very much fun.  A demo
541         of the gdk-pixbuf scaling functions is way better, and looks
542         prettier, too.
543
544         * configure.in (AC_OUTPUT): Added the demo Makefile.
545
546         * Makefile.am (SUBDIRS): Added the demo directory.
547
548 2000-06-09  Larry Ewing  <lewing@helixcode.com>
549
550         * gdk-pixbuf/io-png.c (gdk_pixbuf__png_image_load_increment):
551         setjmp for the png error handler.  It seems setting the error
552         handling functions does not avoid the jump, and so not calling
553         setjmp was causing the incremental loader to jump into lala land.
554         (gdk_pixbuf__png_image_begin_load): setjmp for error handling, I'm
555         not sure this one is actually required but the docs say it must be
556         set for every call to a png_* function.
557         Also changed the comment to reflect the fact that setting the
558         error handlers does _not_ avoid the longjmp.
559
560 2000-06-06  Larry Ewing  <lewing@helixcode.com>
561
562         * gdk-pixbuf/gdk-pixbuf-loader.c (gdk_pixbuf_loader_frame_done):
563         take frame offest into account when trying to calculate the
564         animation bbox.  Also set the width to the width not the height.
565         (gdk_pixbuf_loader_animation_done): cycle over the frames to
566         calculate bbox because now we finally have all the offset
567         information for each frame.
568
569 2000-06-05      Mathieu Lacage  <mathieu@gnome.org>
570
571         * configure.in: add some gtk parameters to the
572         GDK_PIXBUF_LIB²S and GDK_PIXBUG_INCLUDEDIR vars. One more
573         fight in my crusade for strange prefix compile...
574
575 2000-05-30  Not Zed  <NotZed@HelixCode.com>
576
577         * gdk-pixbuf/io-jpeg.c (gdk_pixbuf__jpeg_image_begin_load):
578         Initialise the error handler exit routine to our own.  Note this
579         means that every function that accesses the jpeg lib on this
580         object MUST do a setjmp.
581         (gdk_pixbuf__jpeg_image_stop_load): setjmp before accessing jpeg
582         lib for handling fatal error.
583         (gdk_pixbuf__jpeg_image_load_increment): And here too.  So now
584         your applications dont quit if there's a jpeg error!
585
586 2000-05-30  Federico Mena Quintero  <federico@helixcode.com>
587
588         * gdk-pixbuf.spec.in: Include all the loader libraries.  Patch
589         from Frank de Lange <frank@unternet.org>.
590
591 2000-05-09  Darin Adler  <darin@eazel.com>
592
593         * gdk-pixbuf/test-gdk-pixbuf.c:
594         Fixed includes to get rid of accidental GNOME dependency.
595
596 2000-05-26  Cody Russell  <car0969@gamma2.uta.edu>
597         * Makefile.am: Added gdk-pixbuf.spec to EXTRA_DIST
598
599 2000-05-22  Federico Mena Quintero  <federico@helixcode.com>
600
601         * configure.in: Bumped version number to 0.8.0.
602
603         * doc/Makefile.am (content_files): The toplevel gdk-pixbuf.sgml
604         file was not being distributed.
605
606         * gdk-pixbuf/pixops/Makefile.am (EXTRA_DIST): Added DETAILS.
607
608 2000-05-09  Darin Adler  <darin@eazel.com>
609
610         * gdk-pixbuf/gdk-pixbuf-drawable.c: (rgb565lsb), (rgb565msb),
611         (rgb565alsb), (rgb565amsb), (rgb555lsb), (rgb555msb), (rgb555alsb),
612         (rgb555amsb), (convert_real_slow): Change all conversion from 16-bit
613         formats to 32-bit formats to re-use the high bits of the color values
614         so that white maps to full white.
615
616 Fri May  5 12:16:32 2000  Owen Taylor  <otaylor@redhat.com>
617
618         * gdk-pixbuf/pixops/DETAILS: Add beginnings of file with 
619         detailed information about the structure and algorithms
620         of pixops so people can fix it instead of breaking it.
621
622 2000-05-04  Darin Adler  <darin@eazel.com>
623
624         * gdk-pixbuf/pixops/pixops.c: (pixops_composite_nearest),
625         (composite_pixel), (composite_line):
626         * gdk-pixbuf/test-gdk-pixbuf.c: (simple_composite_test_one_type):
627         Now that Owen explained the algorithm, I think I implemented it
628         right for the cases where the destination pixbuf is not opaque.
629         The test does seem to confirm it.
630
631 2000-05-04  Darin Adler  <darin@eazel.com>
632
633         * gdk-pixbuf/.cvsignore:
634         * gdk-pixbuf/Makefile.am:
635         * gdk-pixbuf/test-gdk-pixbuf.c (store_pixel), (fill_with_pixel),
636         (load_pixel), (simple_composite_test_one),
637         (simple_composite_test_one_type), (simple_composite_test), (main):
638         Added some tests of composite to highlight problems in the old
639         implementation. These tests run without any user interaction.
640         Just do "make check".
641
642         * gdk-pixbuf/pixops/pixops.c (pixops_composite_nearest),
643         (composite_pixel), (composite_line): Fix composite to do a textbook
644         "A over B" composite. This was clearly the intent, and it was easy
645         to fix the code to do it. (Note to those that read my earlier tries
646         at a patch; this version fixes typos that were present in all
647         my patch attempts. I checked the final version by adding more tests.)
648
649 2000-04-22 05:27:43 2000  Owen Taylor  <otaylor@redhat.com>
650
651         * gdk-pixbuf/pixops/pixops.c (pixops_scale_nearest): Properly
652         offset y coordinate accordining to render_y0.
653
654         * gdk-pixbuf/gdk-pixbuf-scale.c: Properly handle nonzero
655         dest_x, dest_y.
656
657 2000-04-22  James Henstridge  <james@daa.com.au>
658
659         * gdk-pixbuf.spec.in (%files): moved %{prefix}/bin/* from the main
660         package to the devel package.  The only file installed in bin is
661         gdk-pixbuf-config, which belongs in -devel.  This should allow having
662         multiple versions of the main gdk-pixbuf package installed.
663
664 2000-04-17  Karl Eichwalder  <ke@suse.de>
665
666         * gdk-pixbuf/Makefile.am (INCLUDES): Add $(GNOME_CFLAGS).
667         Reported by Jens Finke.
668
669 2000-04-14 Tomasz K³opczko <kloczek@pld.org.pl>
670
671         * gdk-pixbuf/pixops/makefile.am: $(LIBART_CFLAGS) replaced by 
672         $(GTK_CFLAGS) - now gdk-pixbuf compiles correctly.
673
674 2000-04-13  James Henstridge  <james@daa.com.au>
675
676         * configure.in: when performing the configure check to see if
677         gmodule works, set CFLAGS to GLIB_CFLAGS and LIBS to GLIB_LIBS,
678         rather than the other way round.  Also, call AC_MSG_RESULT in the
679         even that dynamic modules were not supported.
680
681 2000-04-12  Federico Mena Quintero  <federico@helixcode.com>
682
683         This comes from an excellent idea by Tim Janik (timj@gtk.org) to
684         hook to the last unref operation.
685
686         * gdk-pixbuf/gdk-pixbuf.c (gdk_pixbuf_set_last_unref_handler): New
687         function to set the last unref handler for a pixbuf.
688         (gdk_pixbuf_finalize): New function to actually finalize a pixbuf.
689         It calls the pixbuf's destroy notification function and frees the
690         GdkPixbuf structure itself.
691         (gdk_pixbuf_unref): Use the last unref function of the pixbuf if
692         available.
693
694         * gdk-pixbuf/gdk-pixbuf-private.h (struct _GdkPixbuf): New fields
695         for the last unref handler and its user data.
696
697         * gdk-pixbuf/gdk-pixbuf-data.c (gdk_pixbuf_new_from_data): Use
698         g_new0() to allocate the pixbuf.
699
700         * gdk-pixbuf/gdk-pixbuf-loader.c (gdk_pixbuf_loader_class_init):
701         Fixed the call to gtk_signal_new() for the "frame_done" signal; it
702         was not specifying the `frame' argument.
703
704         * gdk-pixbuf/gdk-pixbuf-animation.c
705         (gdk_pixbuf_animation_get_width): Fixed docstring.
706         (gdk_pixbuf_animation_get_height): Likewise.
707         (gdk_pixbuf_animation_get_num_frames): Likewise.
708         (gdk_pixbuf_animation_get_frames): Likewise.
709
710         * doc/gdk-pixbuf-sections.txt: Updated with the new functions and
711         types.
712
713         * doc/tmpl/gdk-pixbuf.sgml: Added the description for GdkColorspace.
714
715         * doc/tmpl/scaling.sgml: Added the description for GdkInterpType.
716
717         * doc/tmpl/refcounting.sgml: Updated with the information about
718         the last unref handler.
719
720         * doc/tmpl/*.sgml: Markup tweaks.
721
722         * gdk-pixbuf/Makefile.am (libgnomecanvaspixbuf_la_LDFLAGS): Sigh,
723         update the libtool version number for libgnomecanvaspixbuf as
724         well.
725         (libpixbufloader_*_la_LDFLAGS): The loaders need to be versioned
726         as well, or the old ones won't work with the new stuff.  Also,
727         renamed the modules as follows.
728
729         * gdk-pixbuf/gdk-pixbuf-io.c (gdk_pixbuf_load_module): Now the
730         modules are called "libpixbufloader-<format>.so" instead of
731         "libpixbuf-<format>.so".  They needed renaming so that the new
732         loaders won't overwrite the old ones; even with the versioning
733         stuff, the new .so symlink to the .so.1.0.0 would overwrite the
734         old real .so file.
735
736 2000-04-12  Paolo Molaro <lupus@debian.org>
737
738         * .cvsignore, src/.cvsignore: shut up cvs.
739
740 2000-04-11  Federico Mena Quintero  <federico@helixcode.com>
741
742         Most of this patch is based on a patch by Havoc Pennington
743         (hp@redhat.com) to make GdkPixbuf's structures opaque and to
744         remove the libart dependency.
745
746         * gdk-pixbuf/gdk-pixbuf.h: Removed the public structures.
747         (GdkColorspace): New enum that for now only contains
748         GDK_COLORSPACE_RGB.
749         (GdkPixbufDestroyNotify): New type for the pixbuf's pixels destroy
750         notification function.
751         (GdkInterpType): New num with interpolation types.
752
753         * *.[ch]: Replace the libart stuff with our own stuff.
754
755         * pixops/*.[ch]: Likewise.
756
757         * gdk-pixbuf/gdk-pixbuf-private.h: New file with the private
758         declarations of the GdkPixbuf structures.
759
760         * gdk-pixbuf/gdk-pixbuf.c (gdk_pixbuf_new_from_art_pixbuf):
761         Removed function.
762         (gdk_pixbuf_get_format): Constify.
763         (gdk_pixbuf_get_n_channels): Constify.
764         (gdk_pixbuf_get_has_alpha): Constify.
765         (gdk_pixbuf_get_bits_per_sample): Constify.
766         (gdk_pixbuf_get_pixels): Constify.
767         (gdk_pixbuf_get_width): Constify.
768         (gdk_pixbuf_get_height): Constify.
769         (gdk_pixbuf_get_rowstride): Constify.
770
771         * gdk-pixbuf/gdk-pixbuf.c (gdk_pixbuf_copy): New function to copy
772         a pixbuf.
773
774         * gdk-pixbuf/gdk-pixbuf-data.c (gdk_pixbuf_new_from_data): Added a
775         bits_per_sample argument; currently only 8 bits per sample are
776         supported.
777
778         * gdk-pixbuf/gdk-pixbuf-animation.c (gdk_pixbuf_frame_get_pixbuf):
779         New accessor.
780         (gdk_pixbuf_frame_get_x_offset): New accessor.
781         (gdk_pixbuf_frame_get_y_offset): New accessor.
782         (gdk_pixbuf_frame_get_delay_time): New accessor.
783         (gdk_pixbuf_frame_get_action): New accessor.
784
785         * gdk-pixbuf/gdk-pixbuf-render.c
786         (gdk_pixbuf_render_pixmap_and_mask): Instead of returning a solid
787         mask rectangle for pixbufs without an alpha channel, set the
788         *mask_return to NULL.
789
790         * gdk-pixbuf/gdk-pixbuf-util.c (gdk_pixbuf_add_alpha): Constify.
791
792         * gdk-pixbuf/gdk-pixbuf-scale.c: Fix includes.
793
794         * gdk-pixbuf/gdk-pixbuf-scale.c (gdk_pixbuf_scale): Added some
795         preconditions.  Maybe we should also check for the colorspace,
796         bits per pixel, and such.
797         (gdk_pixbuf_composite): Likewise.
798         (gdk_pixbuf_composite_color): Likewise.
799         (gdk_pixbuf_scale_simple): Likewise, and fail gracefully if we
800         cannot allocate the new pixbuf.
801         (gdk_pixbuf_composite_color_simple): Likewise.
802
803         * gdk-pixbuf/gnome-canvas-pixbuf.c (gnome_canvas_pixbuf_render):
804         Use art_rgb_rgba_affine() or art_rgb_affine() since we no longer
805         have an ArtPixBuf.
806
807         * gdk-pixbuf/io-bmp.c: Fix includes.
808
809         * gdk-pixbuf/pixops/pixops.c (pixops_scale_nearest): Fixed cast in
810         an lvalue.
811
812         * TODO: Populated.
813
814         * configure.in: Removed checks for libart.
815
816         * gdk-pixbuf/Makefile.am: Removed references to libart.
817         (noinst_HEADERS): Added gdk-pixbuf-private.h.
818
819         * gdk-pixbuf/Makefile.am (libgdk_pixbuf_la_LDFLAGS): Incremented
820         the version number of the libtool library to indicate that this
821         definitely is not compatible with the old usage.  I know you love
822         me.  I know you do.
823
824         * configure.in: Bumped version number to 0.7.0.
825
826         * README: Updated.
827
828         * gdk-pixbuf-config.in (--libs): We no longer require libart.
829
830         * DEPENDS.libgdk_pixbuf: We no longer depend on libart.
831
832         * gdk-pixbuf.spec.in: Updated, but I don't guarantee anything.
833
834 2000-04-06  Jonathan Blandford  <jrb@redhat.com>
835
836         * gdk-pixbuf/testanimation.c (main): add more info to the
837         testanimation frames.
838
839 2000-04-04  Ettore Perazzoli  <ettore@helixcode.com>
840
841         * gdk-pixbuf/gdk-pixbuf-animation.c
842         (gdk_pixbuf_animation_get_width): New accessor function.
843         (gdk_pixbuf_animation_get_height): New accessor function.
844         (gdk_pixbuf_animation_get_num_frames): New accessor function.
845         (gdk_pixbuf_animation_get_frames): New accessor function.
846
847 2000-04-01  Federico Mena Quintero  <federico@helixcode.com>
848
849         * gdk-pixbuf/gdk-pixbuf.c: Reverted Mark's change.  The refcount
850         is private information, and the art_pixbuf will go away soon.
851
852 2000-03-31  Mark Crichton  <crichton@gimp.org>
853
854         * gdk-pixbuf/gdk-pixbuf.c: Added gdk_pixbuf_get_refcount
855         and gdk_pixbuf_get_artpixbuf accessor functions.
856
857 2000-03-29  Federico Mena Quintero  <federico@helixcode.com>
858
859         * gdk-pixbuf/gdk-pixbuf.c (gdk_pixbuf_get_has_alpha): Return
860         gboolean instead of int.
861
862 2000-03-29  Radek Doulik  <rodo@helixcode.com>
863
864         * gdk-pixbuf/gdk-pixbuf-animation.c
865         (gdk_pixbuf_animation_new_from_file): same as below
866
867         * gdk-pixbuf/io-gif.c (gif_get_lzw): added update of width and
868         height in GdkPixbufAnimation
869
870 2000-03-28  Radek Doulik  <rodo@helixcode.com>
871
872         * gdk-pixbuf/io-gif.c (gif_get_lzw): test also for
873         context->frame_done_func and context->anim_done_func to make
874         progressive animation loading work
875
876         * gdk-pixbuf/gdk-pixbuf-loader.c (gdk_pixbuf_loader_frame_done):
877         added priv->pixbuf = NULL as pixbuf is now in frame (and to make
878         gdk_pixbuf_loader_prepare happy)
879         (gdk_pixbuf_loader_frame_done): update animation bbox
880
881         * gdk-pixbuf/gdk-pixbuf.h: added bbox size (width, height) to
882         _GdkPixbufAnimation
883
884 2000-03-27  Radek Doulik  <rodo@helixcode.com>
885
886         * gdk-pixbuf/io-gif.c (gif_get_lzw): use frame_len and frame_width
887         instead of width and height
888
889 2000-03-27  Owen Taylor  <otaylor@redhat.com>
890
891         * gdk-pixbuf/pixops/pixops.c: Fix problem with 
892         precendence of >> and & which was keeping composite_color
893         from working with non-gray images.
894
895 2000-03-08  Jonathan Blandford  <jrb@redhat.com>
896
897         * gdk-pixbuf/io-gif.c (gdk_pixbuf__gif_image_load): free the context.
898         (gdk_pixbuf__gif_image_load_animation): free the context.
899
900 2000-03-06  Arjan van de Ven <arjan@fenrus.demon.nl>
901
902         * gdk-pixbuf/io-bmp.c: Fixed to pointer-bugs and a 
903         mis-interpretation of the Microsoft documentation. Now
904         it can load .BMP files that are not generated by The Gimp
905         as well.
906
907 2000-03-01  Mark Crichton  <crichton@gimp.org>
908
909         * configure.in: Added BUILD_CANVAS_ITEM stuff to (finally)
910         fix the last auto* build bug (where we have libart, but no
911         gnome-libs)
912
913         * gdk-pixbuf/Makefile.am: Same.
914
915 2000-02-28  Matt Wilson  <msw@redhat.com>
916
917         * gdk-pixbuf/gdk-pixbuf-drawable.c: s/unsigned long/guint32/g,
918         s/unsigned short/guint16/g, s/unsigned char/guint8/g
919
920 2000-02-26  Federico Mena Quintero  <federico@helixcode.com>
921
922         * README: We don't require libgif/ungif nor libXpm.
923
924         * NEWS: This was outdated, so updated it.
925
926 2000-02-25  Federico Mena Quintero  <federico@helixcode.com>
927
928         * gdk-pixbuf.m4: Use the correct name for
929         gdk-pixbuf/gdk-pixbuf.h.  Thanks to Jacob Berkman for pointing
930         this out.
931
932 2000-02-21  Federico Mena Quintero  <federico@helixcode.com>
933
934         * configure.in (GDK_PIXBUF_MINOR): Bumped version number to 0.6.0.
935
936         * doc/compiling.sgml: New appendix documenting the gdk-pixbuf
937         library's particular options to configure.in.
938
939         * doc/gdk-pixbuf.sgml: Include compiling.sgml appendix via an
940         entity.
941
942         * doc/Makefile.am (gdk-pixbuf.html): Added compiling.sgml.
943
944         * gdk-pixbuf/io-ico.c (gdk_pixbuf__ico_image_load_increment):
945         Fixed typo in prototype name.
946
947         * configure.in: Changed duplicated AC_MSG_CHECKING message to
948         something more meaningful; now it is "checking whether dynamic
949         modules work".
950
951         * gdk-pixbuf/pixops/Makefile.am (noinst_PROGRAMS): Do not install
952         the timescale program.
953
954         Integrated Miguel de Icaza's <miguel@gnu.org> patch for optionally
955         creating a single static library with all the image format modules
956         in it.
957
958 2000-02-20  Miguel de Icaza  <miguel@gnu.org>
959
960         * gdk-pixbuf/io-xpm.c (gdk_pixbuf__xpm_image_load): Add prefix.
961         (gdk_pixbuf__xpm_image_load_xpm_data): Add prefix.
962
963         * gdk-pixbuf/io-tiff.c (gdk_pixbuf__tiff_image_load_real): Add prefix.
964         (gdk_pixbuf__tiff_image_stop_load): Add prefix.
965         (gdk_pixbuf__tiff_image_load_increment): Add prefix.
966         (gdk_pixbuf__tiff_image_load): Add prefix.
967         (gdk_pixbuf__tiff_image_stop_load): Update invocation.
968         (gdk_pixbuf__tiff_image_begin_load): Add prefix.
969
970         * gdk-pixbuf/io-ras.c (gdk_pixbuf__ras_image_load): Add prefix.
971         (gdk_pixbuf__ras_image_load): Updated invocation.
972         (gdk_pixbuf__ras_image_begin_load): Add prefix.
973         (gdk_pixbuf__ras_image_stop_load): Add prefix.
974         (gdk_pixbuf__ras_image_load_increment): Add prefix.
975
976         * gdk-pixbuf/io-pnm.c (gdk_pixbuf__pnm_image_begin_load): Add prefix.
977         (gdk_pixbuf__pnm_image_stop_load): Add prefix.
978         (gdk_pixbuf__pnm_image_load_increment): Add prefix
979         (gdk_pixbuf__pnm_image_load): Add prefix.
980
981         * gdk-pixbuf/io-jpeg.c (gdk_pixbuf__jpeg_image_load): Add prefix.
982         (gdk_pixbuf__jpeg_image_load_increment): Add prefix.
983         (gdk_pixbuf__jpeg_image_begin_load): Add prefix.
984         (gdk_pixbuf__jpeg_image_stop_load): Add prefix.
985
986         * gdk-pixbuf/io-ico.c (gdk_pixbuf__ico_image_load): Add prefix.
987         (gdk_pixbuf__ico_image_load): update invocation.
988         (gdk_pixbuf__ico_image_load_increment): Add prefix.
989         (gdk_pixbuf__ico_image_load): update invocation.
990         (gdk_pixbuf__ico_image_begin_load): Add prefix.
991         (gdk_pixbuf__ico_image_load): update invocation.
992         (gdk_pixbuf__ico_image_stop_load): Add prefix.
993
994         * gdk-pixbuf/io-gif.c (gdk_pixbuf__gif_image_load_animation): Add prefix.
995         (gdk_pixbuf__gif_image_load): Add prefix.
996         (gdk_pixbuf__gif_image_begin_load): Add prefix.
997         (gdk_pixbuf__gif_image_load_increment): Add prefix.
998         (gdk_pixbuf__gif_image_load_animation): Add prefix.
999         (gdk_pixbuf__gif_image_stop_load): Add prefix.
1000
1001         * gdk-pixbuf/io-bmp.c (gdk_pixbuf__bmp_image_load): Add prefix.
1002         (gdk_pixbuf__bmp_image_load): Rename function called.
1003         (gdk_pixbuf__bmp_image_load_increment): Add prefix
1004
1005         * gdk-pixbuf/io-png.c (gdk_pixbuf__png_image_load): Add prefix.
1006         (gdk_pixbuf__png_image_begin_load): Add prefix.
1007         (gdk_pixbuf__png_image_stop_load): Add prefix.
1008         (gdk_pixbuf__png_image_load_increment): Add prefix.
1009
1010         * gdk-pixbuf/gdk-pixbuf-io.c (file_formats): Make this static.
1011         (gdk_pixbuf_load_module): Load the shared library entry points
1012         using a "gdk_pixbuf__$module_name" prefix.
1013         (pixbuf_module_symbol): Wrapper routine that uses the module
1014         prefix for the modules to load the information.
1015
1016         * configure.in (GDK_PIXBUF_VERSION): New option --disable-modules
1017         lets the user specify that gdk-pixbuf should link all image loader
1018         code into the library instaed of creating shared library modules.
1019         
1020         (dynworks): Renamed the automake conditional DYNAMIC_MODULES_WORK
1021         to BUILD_DYNAMIC_MODULES.
1022
1023 2000-02-19  Jonathan Blandford  <jrb@redhat.com>
1024
1025         * gdk-pixbuf/io-gif.c (new_context): fix case where initial
1026         colormap entry is Transparent.
1027
1028 2000-02-19  Owen Taylor  <otaylor@redhat.com>
1029
1030         * gdk-pixbuf/pixops/pixops.c (scale_pixel): Fix error in
1031         scale factors for non-alpha case.
1032
1033 2000-02-14  Mark Crichton  <crichton@gimp.org>
1034
1035         * gdk-pixbuf/io-xpm.c (xpm_extract_color): Added check for "g" color type.
1036         Imlib/libXpm handle this, but we didn't.
1037
1038 2000-02-14  Darin Adler  <darin@eazel.com>
1039
1040         * gdk-pixbuf/testpixbuf.c: Remove now-unnecessary cast.
1041         * .cvsignore: gdk-pixbuf/.cvsignore: More to ignore.
1042
1043 2000-02-14  Elliot Lee  <sopwith@redhat.com>
1044         * gdk-pixbuf/gdk-pixbuf.h, gdk-pixbuf/gdk-pixbuf-data.c: Make passed-in argument 'const'.
1045
1046 2000-02-04  Michael Meeks  <mmeeks@gnu.org>
1047
1048         * gdk-pixbuf/io-gif.c (struct _GifContext): add x,y_offset.
1049         (gif_get_frame_info): put the offsets on the context.
1050         (gif_get_lzw): copy them off into the frame.
1051         (new_context): no change required; will 0 offsets by default.
1052
1053 2000-01-28  Michael Meeks  <michael@mejm2.dow.cam.ac.uk>
1054
1055         * gdk-pixbuf/pixops/pixops.c (pixops_process): const + nasty
1056         un-consting cast.
1057
1058         * gdk-pixbuf/pixops/pixops.h: const.
1059
1060         * gdk-pixbuf/gdk-pixbuf-util.c: const.
1061         
1062         * gdk-pixbuf/gdk-pixbuf-scale.c: const.
1063
1064         * gdk-pixbuf/gdk-pixbuf.h: constify lots of things.
1065
1066 2000-02-03  Federico Mena Quintero  <federico@helixcode.com>
1067
1068         * gdk-pixbuf/gdk-pixbuf-render.c
1069         (gdk_pixbuf_render_threshold_alpha): Added sanity check for width
1070         and height being >= 0.  Also, do nothing if either of them is
1071         zero.  Thanks to Ettore for pointing this out.
1072         (gdk_pixbuf_render_to_drawable): Likewise.
1073         (gdk_pixbuf_render_to_drawable_alpha): Likewise.
1074
1075 2000-02-02  Federico Mena Quintero  <federico@helixcode.com>
1076
1077         * gdk-pixbuf/io-gif.c (gif_get_lzw): Removed debugging g_print.
1078         Thanks to John Sullivan <sullivan@eazel.com> for the patch.
1079
1080         * gdk-pixbuf/testpixbuf-drawable.c (configure_cb): Get a new area
1081         of the screen when the window is resized.  Thanks to David
1082         N. Welton <davidw@linuxcare.com> for pointing this out.
1083         Misc. cleanups to the rest of the file.
1084
1085 2000-02-01  Federico Mena Quintero  <federico@helixcode.com>
1086
1087         * doc/tmpl/rendering.sgml: gnome_init() does not call
1088         gdk_rgb_init(), so don't mention that it does in the
1089         documentation.  Thanks to Alexander Kruuse <kruuse@home.se> for
1090         pointing this out.
1091
1092 2000-01-31  Havoc Pennington  <hp@redhat.com>
1093
1094         * gdk-pixbuf/Makefile.am (noinst_PROGRAMS): no testpixbuf-foo target
1095
1096 Mon Jan 31 12:38:50 2000  Owen Taylor  <otaylor@redhat.com>
1097
1098         * gdk-pixbuf/pixops/pixops.c (scale_line): Fix from Peter
1099         Wainwright to fix 4a => 4a scaling.
1100
1101 2000-01-29  Mark Crichton  <crichton@gimp.org>
1102
1103         * gdk-pixbuf-config: Oh dear, we weren't Telsa/Alan proof...
1104         put `libart-config --libs` in instead of -lart_lgpl.
1105
1106 2000-01-22  Federico Mena Quintero  <federico@helixcode.com>
1107
1108         * gdk-pixbuf/io-pnm.c (pnm_read_raw_scanline): Return an error on
1109         invalid pnm type.
1110         (pnm_read_ascii_scanline): Initialize data and mask.
1111
1112         * gdk-pixbuf/io-xpm.c (pixbuf_create_from_xpm): Initialize
1113         fallbackcolor to keep gcc happy.
1114
1115         * configure.in: Bumped version number to 0.5.0.
1116
1117         * gdk-pixbuf/pixops/timescale.c (dump_array): Removed unused variable.
1118         (main): Return 0.
1119
1120         * gdk-pixbuf/pixops/pixops.c (pixops_composite_color_nearest): Put
1121         parentheses around + in a shift to remove a compiler warning.
1122         (pixops_process): Likewise.
1123
1124         Patch from Ross Golder <rossigee@bigfoot.com> to create an RPM
1125         specfile:
1126
1127         * configure.in: Added gdk-pixbuf.spec to AC_OUTPUT.
1128
1129         * Makefile.am (EXTRA_DIST): Added gdk-pixbuf.spec.in
1130
1131 2000-01-22  Federico Mena Quintero  <federico@helixcode.com>
1132
1133         * gdk-pixbuf/gnome-canvas-pixbuf.c (PixbufPrivate): Removed the
1134         x_set and y_set arguments.  Now they are always on and start with
1135         defaults of 0.0 in units.
1136         (gnome_canvas_pixbuf_class_init): Likewise.
1137         (gnome_canvas_pixbuf_set_arg): Likewise.
1138         (gnome_canvas_pixbuf_get_arg): Likewise.
1139         (compute_viewport_affine): Likewise; always use the priv->x and
1140         priv->y fields.
1141
1142         * doc/tmpl/gnome-canvas-pixbuf.sgml: Modified to reflect the
1143         removal of the x_set/y_set arguments.
1144
1145 2000-01-21  Federico Mena Quintero  <federico@helixcode.com>
1146
1147         * gdk-pixbuf/gdk-pixbuf.c (gdk_pixbuf_ref): Return the same pixbuf
1148         as the input parameter.
1149
1150         * gdk-pixbuf/gdk-pixbuf-animation.c (gdk_pixbuf_animation_ref):
1151         Return the same animation as the input parameter.
1152
1153 2000-01-16  Elliot Lee  <sopwith@redhat.com>
1154
1155         * gdk-pixbuf/Makefile.am: Don't link against libgnomecanvaspixbuf.la
1156
1157 2000-01-16  Federico Mena Quintero  <federico@helixcode.com>
1158
1159         * configure.in: Removed the broken --enable-canvas-pixbuf option.
1160         Added the stuff necessary to substitute the variables in
1161         gnomecanvaspixbufConf.sh.in.
1162
1163         * gnomecanvaspixbufConf.sh.in: New gnome-config handler for the
1164         tiny gnomecanvaspixbuf library.
1165
1166         * Makefile.am: Build gnomecanvaspixbufConf.sh.
1167
1168         * gdk-pixbuf/Makefile.am: Create a libgnomecanvaspixbuf and only
1169         build it if gdk-pixbuf is being built outside of gnome-libs.
1170
1171         * doc/gdk-pixbuf-sections.txt: Added gdk_pixbuf_render_pixmap_and_mask().
1172
1173         * gdk-pixbuf/gdk-pixbuf-render.c
1174         (gdk_pixbuf_render_pixmap_and_mask): Renamed from
1175         gdk_pixbuf_render_pixmap().  Do not create the mask if it is not
1176         needed, and do not use a clipping mask when rendering the pixmap.
1177         Tweaked documentation a little.
1178
1179         * HACKING: New file with hacking policies for the gdk-pixbuf
1180         module.
1181
1182         * doc/Makefile.am (tmpl_sources): Added missing backslash.
1183
1184         * doc/Makefile.am: Use gnomecanvaspixbuf in gnome-config when
1185         scanning for docstrings.
1186
1187         * gdk-pixbuf/gdk-pixbuf-util.c (gdk_pixbuf_copy_area): Made sanity
1188         checks more stringent.  Removed "gint" abominations.  Made
1189         documentation consistent with the rest of the functions.
1190
1191         * doc/gdk-pixbuf-sections.txt: Added gdk_pixbuf_copy_area() to the
1192         utilities section.
1193
1194 2000-01-14  Jonathan Blandford  <jrb@redhat.com>
1195
1196         * gdk-pixbuf/gdk-pixbuf-render.c (gdk_pixbuf_render_pixmap): new
1197         function to let you create a gdk_pixmap from a gdk_pixbuf.
1198
1199 2000-01-11  Jacob Berkman  <jacob@helixcode.com>
1200
1201         * gdk-pixbuf/pixops/Makefile.am (INCLUDES): added
1202         $LIBART_CFLAGS to $INCLUDES
1203
1204 2000-01-10  Elliot Lee  <sopwith@redhat.com>
1205
1206         * configure.in, gdk-pixbuf/Makefile.am: Build a libcanvas_pixbuf.
1207
1208         * configure.in: Define version macros. Generate
1209         gdk-pixbuf/gdk-pixbuf-features.h. Always INSIDE_GNOME.
1210
1211         * gdk-pixbuf/Makefile.am: Add gdk-pixbuf-features.h
1212
1213         * gdk-pixbuf/gdk-pixbuf.c: Add definitions of
1214         gdk-pixbuf-features.h declarations, plus some initialization
1215         stubs.
1216
1217 2000-01-05  Owen Taylor  <otaylor@redhat.com>
1218
1219         * gdk-pixbuf/pixops/pixops.c: Fixed src_channels/dest_channels
1220         confusion. (Again caught by Tomas Ogren's Purify)
1221
1222 2000-01-07  Jonathan Blandford  <jrb@redhat.com>
1223
1224         * gdk-pixbuf/gdk-pixbuf-xform.c (gdk_pixbuf_rotate): comment out
1225         debugging printing.
1226
1227         * gdk-pixbuf/gdk-pixbuf-io.c: Added progressive animation loading.
1228         * gdk-pixbuf/gdk-pixbuf-io.h: Added progressive animation loading.
1229         * gdk-pixbuf/gdk-pixbuf-loader.c: Added progressive animation
1230         loading.
1231         * gdk-pixbuf/gdk-pixbuf-loader.h: Added progressive animation
1232         loading.
1233         * gdk-pixbuf/io-gif.c (image_load_increment): I think the
1234         ref-counting mess is finally fixed.  Added progressive animation
1235         loading.
1236         (gif_get_lzw): remove memory_leak
1237
1238         * doc/tmpl/gdk-pixbuf-loader.sgml: much longer long description
1239         added.
1240
1241 2000-01-05  Owen Taylor  <otaylor@redhat.com>
1242
1243         * gdk-pixbuf/pixops/pixops.c (pixops_process): Fix computation of end of run indices.
1244
1245         * gdk-pixbuf/pixops/pixops.c: Fix double increments when dest_channels == 4.
1246           (Pointed out by Tomas Ogren)
1247
1248 2000-01-05  Mark Crichton  <crichton@gimp.org>
1249
1250         * gdk-pixbuf/gdk-pixbuf-loader.c (gdk_pixbuf_loader_eat_header_write):
1251         Return 0 if gdk_pixbuf_load_loader_module returns FALSE.
1252
1253 2000-01-05 Elliot Lee <sopwith@redhat.com>
1254
1255         * gdk-pixbuf/pixops/Makefile.am: Link with -lm (to get 'ceil' function)
1256
1257 2000-01-05  Owen Taylor  <otaylor@redhat.com>
1258
1259         * doc/Makefile.am doc/gdk-pixbuf-sections.txt
1260           doc/gdk-pixbuf.sgml doc/tmpl/scaling.sgml:
1261         Added scaling functions into gtk-doc framework.
1262
1263         * gdk-pixbuf/gdk-pixbuf-scale.c: Documentation fixes.
1264
1265         * gdk-pixbuf/testpixbuf-scale.c (expose_cb): Simplify a bit.
1266
1267         * gdk-pixbuf/pixops/pixops.c (pixops_composite_color): Return
1268         immediately if scale_x or scale_y is 0.
1269
1270 2000-01-05  Owen Taylor  <otaylor@redhat.com>
1271
1272         * gdk-pixbuf/pixops/timescale.c: quick fix for initializing
1273         arrays in benchmark.
1274
1275 2000-01-05  Jonathan Blandford  <jrb@redhat.com>
1276
1277         * gdk-pixbuf/gdk-pixbuf-io.h: Change the order of the update func
1278         to make it more compatible with the rest of GTK.  Added animation
1279         framework for progressive loading.
1280
1281         * gdk-pixbuf/io-bmp.c (image_begin_load): Modified to handle new
1282         system.
1283         * gdk-pixbuf/io-ico.c (image_begin_load): ditto
1284         * gdk-pixbuf/io-png.c (image_begin_load): ditto
1285         * gdk-pixbuf/io-ras.c (image_begin_load): ditto
1286         * gdk-pixbuf/io-jpeg.c (image_begin_load): ditto
1287         * gdk-pixbuf/io-pnm.c (image_begin_load): ditto
1288         * gdk-pixbuf/io-tiff.c (image_begin_load): ditto
1289         * gdk-pixbuf/io-gif.c (image_begin_load): ditto
1290
1291 2000-01-05  Owen Taylor  <otaylor@redhat.com>
1292
1293         * gdk-pixbuf/pixops/README: Added a README with a TODO
1294         and some explainations of the algorithms.
1295
1296         * gdk-pixbuf/testpixbuf-scale.c: Set a background pixmap of None
1297         to reduce flashing when resizing.
1298
1299 2000-01-05  Owen Taylor  <otaylor@redhat.com>
1300
1301         * gdk-pixbuf/pixops/: Directory full of pixel data scaling
1302         code that will eventually migrate into libart.
1303
1304         * configure.in acconfig.h: Add checks for MMX compiler support
1305
1306         * gdk-pixbuf/gdk-pixbuf.h gdk-pixbuf/gdk-pixbuf-scale.c:
1307         Nice wrapper routines for the code in pixops that operate
1308         on pixbufs instead of raw data.
1309
1310         * gdk-pixbuf/testpixbuf-scale: Test program for scaling
1311         routines.
1312
1313 2000-01-05  Jonathan Blandford  <jrb@redhat.com>
1314
1315         * doc/tmpl/animation.sgml: Documentation changes.
1316
1317 2000-01-01  Federico Mena Quintero  <federico@helixcode.com>
1318
1319         * gdk-pixbuf/gdk-pixbuf.h (GdkPixbufAnimation): Added reference
1320         counting to animations.  A web browser may want to share a single
1321         copy of an animated GIF if it appears multiple times in a web
1322         page, for example.
1323
1324         * gdk-pixbuf/gdk-pixbuf-animation.c: New file.  Moved the
1325         animation functions here.
1326         (gdk_pixbuf_animation_new_from_file): Prettified.  Return a NULL
1327         animation if the loader does not support multiframe loading and
1328         the single-frame load returned NULL.  Check that the filename is
1329         not NULL.  Updated inline documentation.
1330         (gdk_pixbuf_animation_ref): New function.
1331         (gdk_pixbuf_animation_unref): New function.
1332         Removed gdk_pixbuf_animation_destroy() in favor of reference
1333         counting.
1334
1335         * gdk-pixbuf/gdk-pixbuf-io.c (gdk_pixbuf_new_from_file):
1336         Prettified.  Made ref_count assertion more paranoid.  Check that
1337         the filename is not NULL.
1338         (gdk_pixbuf_get_module): Use guchar * and guint for buffer and
1339         size, respectively.
1340         (gdk_pixbuf_new_from_xpm_data): Changed the "data" argument to
1341         const char **.
1342
1343         * gdk-pixbuf/io-gif.c (image_load_animation): Create the animation
1344         with a reference count of 1.
1345
1346         * gdk-pixbuf/Makefile.am (libgdk_pixbuf_la_SOURCES): Added
1347         gdk-pixbuf-animation.c.
1348
1349         * doc/tmpl/animation.sgml: Populated.  It is still missing a
1350         description of the overlay modes.
1351
1352         * doc/gdk-pixbuf-sections.txt: Added the animation section.  Moved
1353         the canvas item section to the end, as it will be moved later to
1354         gnome-libs.
1355
1356         * doc/gdk-pixbuf.sgml: Added the animation section.
1357
1358         * doc/Makefile.am (tmpl_sources): Added tmpl/animation.sgml.
1359
1360 1999-12-26  Peter Teichman  <pat@gnu.org>
1361
1362         * gdk-pixbuf/Makefile.am (libpixbuf_tiff_la_LIBADD): add
1363         $(LIBTIFF) to libpixbuf_tiff_la_LIBADD, proxying for mmarker.
1364         This closes bug #4676.
1365
1366 1999-12-23  Havoc Pennington  <hp@pobox.com>
1367
1368         * gdk-pixbuf/io-gif.c (image_load): Stuff that should have been
1369         set to NULL here (specifically context->animation) was not being
1370         set to NULL. use g_new0() to alloc the struct.
1371
1372 1999-12-20  Jonathan Blandford  <jrb@redhat.com>
1373
1374         * gdk-pixbuf/io-gif.c: finished work to make animated gifs load
1375         correctly.  Progressive loading needs some work, but that all
1376         needs doing from the gdk-pixbuf-loader end, not here.
1377
1378 1999-12-17  Jonathan Blandford  <jrb@redhat.com>
1379
1380         * gdk-pixbuf/gdk-pixbuf-io.c (gdk_pixbuf_animation_new_from_file):
1381         moved the file here.  It seems natural to put this function here,
1382         as that's where the gdk_pixbuf_new_from_file function is, but it's
1383         still a little convoluted.  The source files might be played with
1384         in a bit.
1385
1386 1999-12-14  Jonathan Blandford  <jrb@redhat.com>
1387
1388         * gdk-pixbuf/gdk-pixbuf-loader.c
1389         (gdk_pixbuf_loader_get_animation):  Gets the animation from the
1390         loader.
1391
1392 1999-12-16  Federico Mena Quintero  <federico@redhat.com>
1393
1394         * doc/tmpl/rendering.sgml: Added notice about initializing GdkRGB
1395         before using the GdkPixbuf rendering functions.  Thanks to Joe
1396         Shaw <joe@off.net> for pointing this out.
1397
1398 1999-12-13  Federico Mena Quintero  <federico@redhat.com>
1399
1400         * gdk-pixbuf/gnome-canvas-pixbuf.c
1401         (gnome_canvas_pixbuf_class_init): Renamed arguments to
1402         width_in_pixels, height_in_pixels, x_in_pixels, y_in_pixels, for
1403         consistency with the new canvas.
1404         (PixbufPrivate): Do the same renaming in the structure fields, for
1405         consistency.
1406
1407         * doc/tmpl/gnome-canvas-pixbuf.sgml: Updated for new argument names.
1408
1409 1999-12-12  Federico Mena Quintero  <federico@redhat.com>
1410
1411         * gdk-pixbuf/Makefile.am (libgdk_pixbuf_la_LDFLAGS): Use a
1412         conditional to see whether to link $(GNOME_LIBS) or not.
1413
1414 1999-12-10  Jonathan Blandford  <jrb@redhat.com>
1415
1416         * gdk-pixbuf/gdk-pixbuf-io.h: thinking about the new loading API.
1417
1418         * gdk-pixbuf/gdk-pixbuf-drawable.c (gdk_pixbuf_get_from_drawable):
1419         make a warning go away.
1420
1421         * gdk-pixbuf/gdk-pixbuf.h: added new prototypes for animations.
1422
1423         * gdk-pixbuf/gdk-pixbuf-loader.h: added new prototypes for
1424         animations.
1425
1426 1999-12-09  Michael Zucchi  <zucchi@zedzone.mmc.com.au>
1427
1428         * gdk-pixbuf/gdk-pixbuf.h: Enable gdk_pixbuf_get_from_drawable()
1429         api call.
1430
1431         * gdk-pixbuf/gdk-pixbuf-drawable.c (gdk_pixbuf_get_from_drawable):
1432         Filled in body of function.
1433         (rgbconvert): Added GdkColormap parameter, and to all conversion
1434         functions also.
1435         (convert_real_slow): New function - should convert ANY visual/data
1436         format properly, but it aint fast.  Used as a fallback when an
1437         optimised routine wont match.
1438         (rgbconvert): Do very specific tests on the data format to verify
1439         properly if the optimised version will do, otherwise use the
1440         fallback function for all other data formats.
1441
1442         * gdk-pixbuf/Makefile.am: Re-enabled building of
1443         textpixbuf-drawable.
1444
1445         * gdk-pixbuf/testpixbuf-drawable.c (main): Changed to use
1446         gdk_pixbuf_get_from_drawable().
1447
1448 1999-12-08  Arjan van de Ven <arjan@fenrus.demon.nl>
1449
1450         * gdk-pixbuf/gdk-pixbuf-drawable.c : Fixed the red/green/red
1451         bug on two occasions.
1452         * gdk-pixbuf/io-ras.c: Changed from the custom be32_to_cpu
1453         function to the generic glib one.
1454
1455 1999-12-08  Federico Mena Quintero  <federico@redhat.com>
1456
1457         * gdk-pixbuf/gdk-pixbuf-drawable.c: Fix includes.
1458         (gdk_pixbuf_get_from_drawable): Implemented the zillion sanity
1459         checks and API definition.  The body needs filling in and it needs
1460         to do the Right Thing(tm) for pixmaps plus the given colormap and
1461         windows and their own colormaps.
1462
1463         * gdk-pixbuf/gdk-pixbuf.h: Added prototype for
1464         gdk_pixbuf_get_from_drawable().  Killed gdk-pixbuf-drawable.h.
1465
1466         * gdk-pixbuf/Makefile.am: Re-added the gdk-pixbuf-drawable sources.
1467
1468         * doc/tmpl/from-drawables.sgml: Populated.
1469
1470         * doc/gdk-pixbuf.sgml: Added the from-drawables section.
1471
1472         * doc/Makefile.am (tmpl_sources): Added tmpl/from-drawables.sgml.
1473
1474         * doc/gdk-pixbuf-sections.txt: Added a section for getting pixbufs
1475         from drawables.
1476
1477 1999-12-07  Federico Mena Quintero  <federico@redhat.com>
1478
1479         * doc/tmpl/gnome-canvas-pixbuf.sgml: Added clarification about
1480         reference counting for GdkPixbuf structures.
1481
1482 1999-12-07  Martin Baulig  <martin@home-of-linux.org>
1483
1484         * gdk-pixbuf/Makefile.am (testpixbuf_LDADD): Conditionally
1485         include $(GNOME_LIBS) here.
1486
1487 1999-12-05  Arjan van de Ven <arjan@fenrus.demon.nl>
1488
1489         Added missing "include <string.h>" to:
1490         * gdk-pixbuf/io-ras.c
1491         * gdk-pixbuf/io-bmp.c
1492         * gdk-pixbuf/io-ico.c
1493
1494 1999-12-06  Federico Mena Quintero  <federico@redhat.com>
1495
1496         * gdk-pixbuf/gdk-pixbuf-io.c (file_formats): Patch from Arjan to
1497         fix an initializer.
1498
1499 1999-12-05  Federico Mena Quintero  <federico@redhat.com>
1500
1501         * gdk-pixbuf/Makefile.am (testpixbuf_LDADD): Add back
1502         $(GNOME_LIBS).  This must compile outside of gnome-libs.  If you
1503         want, send me a patch to do the conditional stuff properly.
1504         Otherwise, please read the GNOME Programming Guidelines,
1505         especially the "CVS policies" section.
1506
1507 1999-12-05  Jaka Mocnik  <jaka.mocnik@kiss.uni-lj.si>
1508
1509         * gdk-pixbuf/Makefile.am: removed GNOME_LIBS from testpixbuf_LDADD.
1510
1511 1999-12-05  Arjan van de Ven <arjan@fenrus.demon.nl>
1512
1513         * gdk-pixbuf/io-ico.c: Bug in palet-size
1514         calculation fixed
1515
1516 1999-12-04  Arjan van de Ven <arjan@fenrus.demon.nl>
1517
1518         * gdk-pixbuf/io-bmp.c: Major cleanup, added support for
1519         32 bpp and 4 bpp (uncompressed) images, fixed 1bpp.
1520
1521         * gdk-pixbuf/io-ras.c: Minor cleanup, ran through lclint
1522
1523         * gdk-pixbuf/io-ico.c: Minor cleanup, fixed 1bpp icons,
1524         ran through lclint.
1525
1526         * gdk-pixbuf/gdk-pixbuf-io.c: Added detection of .CUR files
1527         (Windows Cursor files). These are identical to .ICO files,
1528         except for the signature and 2 extra fields for the hotspot.
1529
1530 1999-12-03  Federico Mena Quintero  <federico@redhat.com>
1531
1532         * gdk-pixbuf/gnome-canvas-pixbuf.c (gnome_canvas_pixbuf_get_arg):
1533         Removed unused variable `item'.
1534
1535 1999-12-03  Jonathan Blandford  <jrb@redhat.com>
1536
1537         * gdk-pixbuf/io-gif.c (gif_fill_in_lines): added a comment to
1538         explain this function better.
1539
1540 1999-12-02  Federico Mena Quintero  <federico@redhat.com>
1541
1542         Source files moved from src/ to gdk-pixbuf/, to be consistent with
1543         other libraries.
1544
1545         * doc/Makefile.am: Modified for the new source directory.
1546
1547         * configure.in: Likewise.
1548
1549         * Makefile.am: Likewise.
1550
1551         * autogen.sh: Likewise.
1552
1553         * gdk-pixbuf/Makefile.am: Likewise.
1554
1555 1999-12-02  Federico Mena Quintero  <federico@redhat.com>
1556
1557         * src/testpixbuf.c: #include <config.h>, and fix includes.
1558
1559         * src/testpixbuf-drawable.c: #include <config.h>, and fix includes.
1560
1561         * src/io-xpm.c: Fix includes.
1562
1563         * src/io-tiff.c: Fix includes.
1564
1565         * src/io-ras.c: Fix includes, and do not include more stuff than needed.
1566
1567         * src/io-pnm.c: Fix inlcudes, and do not include more stuff than needed.
1568
1569         * src/io-png.c: Fix includes.
1570
1571         * src/io-ico.c: Fix includes, and do not include more stuff than needed.
1572
1573         * src/io-gif.c: Fix includes, and do not include more stuff than needed.
1574
1575         * src/io-bmp.c: Fix includes, and do not include more stuff than needed.
1576
1577         * src/gnome-canvas-pixbuf.c: Fix includes.
1578
1579         * src/gdk-pixbuf.c: Fix includes.
1580
1581         * src/gdk-pixbuf-util.c: Fix includes.
1582
1583         * src/gdk-pixbuf-render.c: Fix includes.
1584
1585         * src/gdk-pixbuf-io.h: Fix includes.
1586
1587         * src/gdk-pixbuf-drawable.c: Fix includes.
1588
1589         * src/gdk-pixbuf-drawable.h: Use angle brackets for the gdk-pixbuf
1590         include files.
1591
1592         * src/gdk-pixbuf-data.c: Fix includes.
1593
1594         * src/gdk-pixbuf-loader.c: #include <config.h>
1595
1596         * src/gdk-pixbuf-loader.h: Use angle brackets for the gdk-pixbuf
1597         include files.
1598
1599         * src/Makefile.am: Commented out the gdk-pixbuf-drawable stuff,
1600         since it is not finished.
1601
1602         * src/gdk-pixbuf.h: Removed unused transformation prototypes.
1603
1604         * src/gdk-pixbuf-util.c: New file with utility and convenience
1605         functions for pixbufs.
1606
1607         * src/Makefile.am (libgdk_pixbuf_la_SOURCES): Added gdk-pixbuf-util.c.
1608
1609         * doc/gdk-pixbuf-sections.txt: Added section for utility functions.
1610
1611         * doc/Makefile.am (tmpl_sources): Added tmpl/util.sgml.
1612
1613         * doc/gdk-pixbuf.sgml: Added the utilities section.
1614
1615         * doc/tmpl/util.sgml: Documentation for the utility functions.
1616
1617 1999-11-29  Owen Taylor  <otaylor@redhat.com>
1618
1619         * src/gdk-pixbuf-render.c (gdk_pixbuf_render_to_drawable_alpha):
1620         Keep the mask around until after we draw ... since
1621         the GC changes aren't flushed to the X server until we
1622         draw, destroying it before that may result in BadPixmap
1623         errors.
1624
1625 1999-11-30  Havoc Pennington  <hp@pobox.com>
1626
1627         * configure.in: Add AM_CONDITIONAL for inside gnome-libs
1628
1629         * src/Makefile.am: conditionalize GnomeCanvasPixbuf
1630
1631 1999-11-29  Federico Mena Quintero  <federico@redhat.com>
1632
1633         * src/Makefile.am: Uncomment the GnomeCanvasPixbuf sources.  This
1634         should be made conditional, not blindly commented out.
1635
1636 1999-11-29  Jonathan Blandford  <jrb@redhat.com>
1637
1638         * src/Makefile.am (ICO_LIB): Added another loader from Arjan to
1639         handle .ico files.  Cool.
1640
1641 1999-11-24  Jonathan Blandford  <jrb@redhat.com>
1642
1643         * src/io-bmp.c (OneLine24): new patch from Arjan to handle
1644         compressed bmps.
1645
1646 1999-11-24  James Henstridge  <james@daa.com.au>
1647
1648         * configure.in (AC_OUTPUT): altered hack to place the symlink in the
1649         top builddir rather than src.  This still builds fine, and does not
1650         get gtk-doc into an infinite loop when trying to find all the source
1651         files.
1652
1653 1999-11-23  Jonathan Blandford  <jrb@redhat.com>
1654
1655         * Removed #PRAGMA } from headers.  Also, make compile if you don't
1656         have it installed, already.
1657
1658 1999-11-22  Federico Mena Quintero  <federico@redhat.com>
1659
1660         * src/gnome-canvas-pixbuf.c (gnome_canvas_pixbuf_draw): Create the
1661         temporary buffer to the size of the interesction of the bounding
1662         box and the expose area, not the whole expose area.  This speeds
1663         up things a lot.
1664
1665         * src/gdk-pixbuf-render.c (gdk_pixbuf_render_threshold_alpha): Do
1666         not paint black on the mask, since we already cleared it in a
1667         single gdk_draw_rectangle() operation.
1668
1669 1999-11-22  Raja R Harinath  <harinath@cs.umn.edu>
1670
1671         * configure.in (GDK_PIXBUF_DIR): Fix for srcdir != builddir.
1672
1673 1999-11-22  Havoc Pennington  <hp@pobox.com>
1674
1675         * src/Makefile.am (GDK_PIXBUF_LIBS): Patch from Paul Fisher
1676         <pnfisher@redhat.com> adds all -lgdk-pixbuf and all other
1677         dependencies to LIBADD variables for loadable modules. Necessary
1678         for a Java dynamic loading thing to be able to figure it out.
1679
1680 1999-11-22  Havoc Pennington  <hp@pobox.com>
1681
1682         * src/io-png.c (image_load_increment): Call the update_area
1683         callback depending on the number of rows loaded in this increment.
1684
1685         * src/testpixbuf.c (main): slow down the progressive load demo
1686
1687 1999-11-16  Havoc Pennington  <hp@pobox.com>
1688
1689         * src/gdk-pixbuf-drawable.h: Get the quotes right on the #include
1690
1691 1999-11-22  Jonathan Blandford  <jrb@redhat.com>
1692
1693         * configure.in (GDK_PIXBUF_DIR): make the symlink.  Does not work
1694         for srcdir != buildir != .  Beats me why; I can't figure it out.
1695         AC_OUTPUT_COMMANDS doesn't seem to let me substitute it correctly.
1696
1697 1999-11-21  Jonathan Blandford  <jrb@redhat.com>
1698
1699         * src/gdk-pixbuf-io.c: added io-bmp from Arjan
1700         <arjan@fenrus.demon.nl>
1701
1702 1999-11-20  Michael Zucchi  <zucchi@zedzone.mmc.com.au>
1703
1704         * src/gdk-pixbuf-drawable.c (gdk_pixbuf_from_drawable_core):
1705         Rework/reorder of the code.  Each case has been separated into
1706         another function; its big but it should be quick.
1707         gdk_pixbuf_rgba_from_drawable() will now return a pixbuf with
1708         opaque alpha information.  Not all depths/formats have been
1709         tested, but 8, 15/16 and 24 (alinged 32) should work ok.
1710
1711 1999-11-17  Larry Ewing  <lewing@gimp.org>
1712
1713         * src/gnome-canvas-pixbuf.c (gnome_canvas_pixbuf_bounds):
1714         implement the bounds method correctly.
1715         (compute_viewport_affine): compute the affine need to fit the
1716         image within the viewport given by the args.
1717         (compute_render_affine): call compute_viewport_affine.
1718
1719 1999-11-16  Havoc Pennington  <hp@pobox.com>
1720
1721         * src/gdk-pixbuf-drawable.h: Use includes from the current
1722         directory, not the system directory.
1723
1724 Mon Nov 15 17:18:28 1999  George Lebl <jirka@5z.com>
1725
1726         * src/testpixbuf-drawable.c: use includes from the current directory
1727           rather then from the system include directory as gdk-pixbuf
1728           includes are not yet installed when this is compiled.
1729
1730 1999-11-13  Cody Russell  <bratsche@dfw.net>
1731         * src/testpixbuf-drawable.c: Added a test program for drawable
1732         code.
1733
1734         * src/Makefile.am: Build testpixbuf-drawable.
1735
1736 1999-11-12  Cody Russell  <bratsche@dfw.net>
1737
1738         * src/gdk-pixbuf-drawable.c: Merged in Michael Zucchi's changes.
1739
1740 1999-11-10  Federico Mena Quintero  <federico@redhat.com>
1741
1742         * doc/tmpl/gdk-pixbuf-loader.sgml: Populated.
1743
1744         * doc/gdk-pixbuf.signals: Put in the real names of signal
1745         arguments.
1746
1747         * src/gdk-pixbuf-loader.c: Improved documentation comments.
1748
1749 1999-11-10  Jonathan Blandford  <jrb@redhat.com>
1750
1751         * src/gdk-pixbuf-loader.c (gdk_pixbuf_loader_close): emit the
1752         closed signal.
1753
1754         * src/io-ras.c (OneLineMapped_file): Now can handle indexing
1755         correctly.  Patch from Arjan to do so.
1756
1757 1999-11-10  Michael Fulbright  <drmike@redhat.com>
1758
1759         * src/io-pnm.c (pnm_ascii_read_scanline): Fixed loading of ASCII PNM
1760         files.
1761
1762         * src/testpixbuf.c: Added final queued draw when done loading image.
1763
1764 1999-11-10  Jonathan Blandford  <jrb@redhat.com>
1765
1766         * src/gdk-pixbuf-io.c (gdk_pixbuf_load_module): removed spurious
1767         print statements.
1768
1769 1999-11-10  Federico Mena Quintero  <federico@redhat.com>
1770
1771         * src/gdk-pixbuf-io.c (gdk_pixbuf_new_from_xpm_data): Added
1772         documentation.
1773
1774 1999-11-09  Federico Mena Quintero  <federico@redhat.com>
1775
1776         * src/io-png.c: Fixed some incompatible pointer initializations.
1777
1778         * src/io-jpeg.c (image_load_increment): Remove unused variable.
1779
1780 1999-11-09  Michael Fulbright  <drmike@redhat.com>
1781
1782         * src/testpixbuf.c: Fixed it to use timeout to read from file
1783         for progressive loading. Set TBF_KBPS=n, where n is the number of
1784         kilobytes/second to simulate in downloading. n has to be an integer.
1785
1786         * src/io-jpeg.c: Slight cosmetic cleanup.
1787
1788         * src/io-pnm.c: Fixed raw PNM loading bug. Also discovered that ASCII
1789         PBM loading has a similar problem and will address tomorrow.
1790
1791 1999-11-09  Havoc Pennington  <hp@pobox.com>
1792
1793         * src/Makefile.am (libgdk_pixbuf_la_SOURCES): build the
1794         gdk-pixbuf-drawable stuff.
1795
1796 1999-11-09  Federico Mena Quintero  <federico@redhat.com>
1797
1798         * configure.in: Bumped version number to 0.4.
1799
1800 1999-11-09  Michael Fulbright  <drmike@redhat.com>
1801
1802         * src/io-pnm.c : Finished progressive PNM loading code. Should handle
1803         all types of PNM files now.
1804
1805         * src/io-jpeg.c (image_load_increment): Figured out problem with
1806         loading Progressive JPEG's progressively (say that 10 times fast).
1807         Currently for Progressive JPEG's the entire image is loaded before
1808         it is displayed. libjpeg supports a fancier mechanism which I may
1809         implement later.
1810
1811         With these changes all JPEG formats appear to load properly for me.
1812
1813 1999-11-08  Jonathan Blandford  <jrb@redhat.com>
1814
1815         * src/io-ras.c (image_load_increment): Final patch from Arjan.
1816         Seems to do progressive loading.
1817
1818 1999-11-08  Michael Fulbright  <drmike@redhat.com>
1819
1820         * src/io-pnm.c image_load (): Fixed so we do not create a separate
1821         pixel buffer when reading in image - we reuse the pixel data in
1822         the GdkPixbuf structure instead.
1823
1824 1999-11-08  Michael Fulbright  <drmike@redhat.com>
1825
1826         * src/io-pnm.c pnm_read_ascii_scanline (): Added support for
1827         ASCII PNM files. Note I haven't tested loaded ASCII PBM files because
1828         I can't seem to find a utility to convert into this format.
1829         Next is to add progressive loading support for the PNM format.
1830
1831 1999-11-07  Federico Mena Quintero  <federico@redhat.com>
1832
1833         * doc/tmpl/gnome-canvas-pixbuf.sgml: Finished detailed explanation
1834         of the width, height, x, and y setting and pixels arguments.
1835
1836 1999-11-05  Jonathan Blandford  <jrb@redhat.com>
1837
1838         * src/io-ras.c (image_load): third patch.  Now it seems to load.
1839
1840         * src/gdk-pixbuf-io.c: second patch Arjan van de Ven
1841         <arjan@fenrus.demon.nl> to autodetect/load the sunras files.
1842
1843         * src/io-ras.c (image_load): new file from Arjan van de Ven
1844         <arjan@fenrus.demon.nl> to begin the ras loader.
1845
1846 1999-11-05  Federico Mena Quintero  <federico@redhat.com>
1847
1848         * doc/gdk-pixbuf-sections.txt: Removed gdk-pixbuf-io, since it is
1849         for internal use only.
1850
1851         * doc/gdk-pixbuf.sgml: Likewise.
1852
1853         * doc/tmpl/gnome-canvas-pixbuf.sgml: Finished docs.
1854
1855 1999-11-05  Michael Fulbright  <drmike@redhat.com>
1856
1857         * src/io-pnm.c: Implemented support for reading raw PBM/PGM/PPM
1858         files from a file. Next step is support for ASCII files, and
1859         then incremental loading.
1860
1861 1999-11-04  Federico Mena Quintero  <federico@redhat.com>
1862
1863         * Makefile.am: Added doc to SUBDIRS.
1864
1865 1999-11-04  Michael Fulbright  <drmike@redhat.com>
1866
1867         * src/io-jpeg.c: Prettied up code slightly.
1868         * src/io-pnm.c:  Start of pnm loader (from file and progressively).
1869                          Doesn't do much yet (will finish tomorrow).
1870         * src/gdk-pixbuf-io.c: Added pnm to structure of known types.
1871
1872 1999-11-04  Federico Mena Quintero  <federico@redhat.com>
1873
1874         * doc/tmpl/rendering.sgml: Populated.
1875
1876         * doc/Makefile.am: Added the template files.
1877
1878 1999-11-04  Havoc Pennington  <hp@pobox.com>
1879
1880         * src/gdk-pixbuf-render.c (gdk_pixbuf_render_to_drawable): In
1881         docs, explain what a dither offset is for.
1882         (gdk_pixbuf_render_to_drawable_alpha): Explain why you would use
1883         this function vs. gdk_pixbuf_render_to_drawable().
1884
1885 1999-11-04  Havoc Pennington  <hp@pobox.com>
1886
1887         * configure.in: Use libart-config correctly; find gnome-config
1888         separately. Fix GNOME_LIBS to be correct in "no gnome installed
1889         yet" case.
1890
1891         * src/Makefile.am: Link to GNOME_LIBS instead of a hardcoded
1892         library list.
1893
1894         Patch untested in the inside-gnome-libs case, I need to commit
1895         then check out to the gnome-libs I'm using.
1896
1897 1999-11-04  Michael Fulbright  <drmike@redhat.com>
1898
1899         * src/io-jpeg.c (image_begin_load): Add update_func callback.
1900         * src/io-jpeg.c (image_load_increment): Call updated callback when
1901         new graphic data decoded.
1902
1903 1999-11-04  Jonathan Blandford  <jrb@redhat.com>
1904
1905         * src/gdk-pixbuf-loader.c (gdk_pixbuf_loader_update): handle the
1906         actual update.
1907         * src/io-png.c (image_begin_load): add a update_func callback.
1908         * src/io-gif.c (image_begin_load): add a update_func callback.
1909         (gif_get_lzw): added the update_func ability
1910
1911         * src/io-tiff.c (image_begin_load): add a update_func callback.
1912
1913 1999-11-04  Federico Mena Quintero  <federico@redhat.com>
1914
1915         * doc/tmpl/gdk-pixbuf.sgml: Populated.
1916
1917         * doc/tmpl/refcounting.sgml: Populated.
1918
1919         * doc/tmpl/file-loading.sgml: Populated.
1920
1921         * src/gdk-pixbuf.c: Added documentation comments.
1922
1923         * src/gdk-pixbuf-io.c (gdk_pixbuf_new_from_file): Added
1924         documentation comments.
1925
1926         * doc/: Finished integrating the documentation framework.
1927
1928 1999-11-03  Federico Mena Quintero  <federico@redhat.com>
1929
1930         * configure.in: Removed libgif stuff now that we do not depend on it.
1931         Added the necessary cruft for gtk-doc.
1932
1933         * src/Makefile.am: Unconditionally build the GIF loader.
1934
1935 1999-11-03  Jonathan Blandford  <jrb@redhat.com>
1936
1937         * src/io-gif.c (gif_read): renamed ReadOK to gif_read.
1938         Added a lot of comments to the file.
1939
1940         * src/Makefile.am (libpixbuf_gif_la_LIBADD): Remove dependency on
1941         lib*gif!!!!
1942
1943 1999-11-03  Michael Fulbright  <drmike@redhat.com>
1944
1945         * src/io-jpeg.c (image_load_increment): Further removal of
1946         bugginess in local buffering code. Handles grayscale jpegs
1947         correctly now.
1948
1949         * src/io-jpeg.c (image_load_stop): Was freeing local context
1950         for jpeg library before calling jpeg_decompres_finish ().
1951
1952 1999-11-03  Jonathan Blandford  <jrb@redhat.com>
1953
1954         * src/io-gif.c (image_load_increment): now handle arbitrary buffer
1955         sizes.
1956         (gif_get_lzw): set the transparency to the right val.
1957
1958 1999-11-03  Federico Mena Quintero  <federico@redhat.com>
1959
1960         * src/gnome-canvas-pixbuf.c (gnome_canvas_pixbuf_init):
1961         Initiailize the x and y fields.
1962         (gnome_canvas_pixbuf_destroy): Queue a redraw upon destruction.
1963         (PixbufPrivate): Renamed need_size_update to need_xform_update.
1964         (recompute_bounding_box): Do not use temporary values.
1965
1966 1999-11-03  Jonathan Blandford  <jrb@redhat.com>
1967
1968         * src/io-gif.c (set_gif_lzw_clear_code): new state.  Fixes
1969         un-compressed gifs.
1970
1971         * src/gnome-canvas-pixbuf.c (recompute_bounding_box): remove
1972         unneeded x,y,h,w vars.
1973
1974 1999-11-03  Larry Ewing  <lewing@gimp.org>
1975
1976         * src/gnome-canvas-pixbuf.c (compute_render_affine): adjust
1977         render_affine calculation for x,y offsets.
1978         (gnome_canvas_pixbuf_set_arg): add x,y args.
1979         (gnome_canvas_pixbuf_get_arg): add x,y args.
1980         (recompute_bounding_box): simply code using ArtDrect and the
1981         render_affine.  Removed compute_xform_vectors as it was no longer
1982         needed.
1983
1984 1999-11-03  Federico Mena Quintero  <federico@redhat.com>
1985
1986         * src/gnome-canvas-pixbuf.c (gnome_canvas_pixbuf_point): I'm a
1987         doofus.  Return a distance, not a boolean, for opaque images.
1988
1989         * src/gnome-canvas-pixbuf.c (recompute_bounding_box): Do proper
1990         rounding of bounding box coordinates.
1991         (gnome_canvas_pixbuf_bounds): Implemented the ::bounds() method.
1992         (gnome_canvas_pixbuf_draw): Use the correct alpha threshold value.
1993
1994 1999-11-03  Jonathan Blandford  <jrb@redhat.com>
1995
1996         * src/io-gif.c (gif_prepare_lzw): s/lwz/lzw/g
1997
1998 1999-11-03  Michael Fulbright  <drmike@redhat.com>
1999
2000         * src/io-jpg.c (image_load_increment): Fixed code which moved
2001         buffer around as new data comes in to work properly. JPEG progressive
2002         loading should be working now except for grayscale JPEG's, which I
2003         will look into next.
2004
2005 1999-11-03    <sopwith@redhat.com>
2006         * src/testpixbuf.c: A GtkFunction needs to return a value for deterministic behaviour.
2007           Also put dot printing back in.
2008
2009 1999-11-03    <jrb@redhat.com>
2010
2011         * src/io-gif.c (gif_get_extension): Read 'til the next empty block
2012         correctly, now.
2013
2014 1999-11-02  Cody Russell  <bratsche@dfw.net>
2015         * src/gdk-pixbuf-drawable.c: Changed the behavior to return NULL
2016         if part of the requested image is offscreen, rather than clipping
2017         the image.
2018
2019 1999-11-02  Jonathan Blandford  <jrb@redhat.com>
2020
2021         * src/io-gif.c (gif_fill_in_lines): Fill in the gif's blank areas
2022         for interlacing and progressive loading.
2023
2024 1999-11-02  Cody Russell  <bratsche@dfw.net>
2025         * src/gdk-pixbuf-drawable.c (gdk_pixbuf_from_drawable_core): Now
2026         calls gdk_pixbuf_new_from_art_pixbuf() instead of gdk_pixbuf_new().
2027
2028 1999-11-02  Jonathan Blandford  <jrb@redhat.com>
2029
2030         * src/io-gif.c (gif_main_loop): Now progressive gif loading works!
2031         It's a little slow though. )-:
2032
2033 1999-11-02 Elliot Lee <sopwith@redhat.com>
2034         * src/gdk-pixbuf-loader.[ch], src/gdk-pixbuf-io.h: Make the arguments to the
2035         write/load_increment operations const-correct.
2036
2037 1999-11-02  Federico Mena Quintero  <federico@redhat.com>
2038
2039         * src/gnome-canvas-pixbuf.c (gnome_canvas_pixbuf_point):
2040         Implemented the ::point() method.  We do a simple containment test
2041         instead of a full distance calculation since the canvas is going
2042         to change to that scheme, anyways.
2043
2044 1999-11-02 Elliot Lee <sopwith@redhat.com>
2045
2046         * src/testpixbuf.c: Allow using $TBF_READLEN to specify the size of the chunks
2047         that are read from the input file.
2048
2049 1999-11-02  Larry Ewing  <lewing@gimp.org>
2050
2051         * src/gnome-canvas-pixbuf.c (gnome_canvas_pixbuf_render): add aa
2052         render function.
2053         (gnome_canvas_pixbuf_class_init): add gnome_canvas_pixbuf_render
2054         to class.
2055
2056 1999-11-02  Federico Mena Quintero  <federico@redhat.com>
2057
2058         * src/gnome-canvas-pixbuf.c (compute_render_affine): Moved the
2059         affine computation code from ::draw() to here, since it is needed
2060         by ::point() as well.
2061
2062 1999-11-02 Elliot Lee <sopwith@redhat.com>
2063
2064         * src/gdk-pixbuf-loader.c: Reorganize gdk_pixbuf_loader_write into
2065         three functions, and eliminate duplication of code from write()
2066         and close(). Also fix bug where the 128-byte header was being
2067         written twice.
2068
2069 1999-11-01  Federico Mena Quintero  <federico@redhat.com>
2070         * src/gnome-canvas-pixbuf.c (recompute_bounding_box): Fixed
2071         bounding box computation.
2072
2073 1999-11-01  Federico Mena Quintero  <federico@redhat.com>
2074
2075         * src/gnome-canvas-pixbuf.c: Start of the pixbuf canvas item.
2076         Drawing affines seem to work.  Bounding box is fubared.  ::point()
2077         is not implemented.  This is a work in progress.
2078
2079         * src/Makefile.am: Added gnome-canvas-pixbuf.[ch] to the list of
2080         sources.
2081
2082         * configure.in: Sigh.  We need to link in libgnomeui for the
2083         canvas stuff.  This mess will disappear when gdk-pixbuf gets
2084         folded into gnome-libs.
2085
2086 1999-10-30  Jonathan Blandford  <jrb@redhat.com>
2087
2088         * src/io-gif.c: Some more work.  Now it generates a gdk_pixbuf of
2089         the right size, at a minimum, even if the image is squished and
2090         the wrong color.
2091         (ReadImage): lets get the offset right.  This will let transparent
2092         gifs work.
2093
2094 1999-10-29  Michael Fulbright  <drmike@redhat.com>
2095
2096         * src/io-jpeg.c: image_load_increment(): Fixed bug when
2097         image width was not a multiple of 4 - always use the
2098         gdk_pixbuf rowstride to increment pointers!
2099
2100 1999-10-29  Michael Fulbright  <drmike@redhat.com>
2101
2102         * src/io-jpeg.c: Added first cut at progressive jpeg loading.
2103         Currently does not handle either progressive jpeg files (jpeg
2104         files with multiple scans at different quality settings), but
2105         I plan on adding this support soon. These are fairly rare in
2106         my experience, so it shouldn't slow people down too much.
2107         Grayscale jpegs also don't work but that should be easy to fix.
2108
2109 1999-10-29  Michael Fulbright  <drmike@redhat.com>
2110
2111         * src/testpixbuf.c: Added title to windows so you can identify
2112         progressive and file windows.
2113
2114 1999-10-29  Michael Fulbright  <drmike@redhat.com>
2115
2116         * src/gdk-pixbuf-loader.c (gdk_pixbuf_loader_write): Actually
2117         load the image handler when we determine the image type.
2118
2119         * src/gdk-pixbuf-io.[ch] (gdk_pixbuf_load_module): Changed the
2120         previously static function load_image_handler () to
2121         a public function gdk_pixbuf_load_module (). It is needed in
2122         gdk-pixbuf-loader.c to load image handler modules.  This function
2123         is different from gdk_pixbuf_get_module (), which only returns
2124         a reference to the required handler, because it actually loads
2125         the handler into memory. Both actions should possibly be combined
2126         in a convenience function since one w/o the other doesn't seem to
2127         make much sense.
2128
2129 1999-10-28  Jonathan Blandford  <jrb@redhat.com>
2130
2131         * src/gdk-pixbuf-loader.c (gdk_pixbuf_loader_write): don't send a
2132         0 length buffer.
2133
2134 1999-10-28  Federico Mena Quintero  <federico@redhat.com>
2135
2136         * src/gdk-pixbuf-render.c (gdk_pixbuf_render_to_drawable): New
2137         function to render a portion of a pixbuf to a drawable.  Ignores
2138         alpha information and takes in a GC.
2139         (gdk_pixbuf_render_to_drawable_alpha): New function to render a
2140         portion of a pixbuf to a drawable.  It automatically creates a GC
2141         and a clipping mask for alpha pixbufs.
2142
2143 1999-10-28  Jonathan Blandford  <jrb@redhat.com>
2144
2145         * src/gdk-pixbuf.h: turned convenience macros into convenience
2146         functions so some error checking could be added.
2147
2148         * src/io-tiff.c (image_load_increment): started work on the tiff
2149         non-incremental loader.
2150         (image_begin_load): Finished the incremental loader.
2151
2152         * src/io-gif.c (image_load_increment): started work on the gif
2153         incremental loader.
2154
2155         * src/gdk-pixbuf-io.h: Changed ModuleType to GdkPixbufModule.
2156
2157 1999-10-27  Federico Mena Quintero  <federico@redhat.com>
2158
2159         * src/gdk-pixbuf-render.c (gdk_pixbuf_render_threshold_alpha): New
2160         function to threshold a pixbuf's alpha channel into a bitmap.
2161
2162         * src/gdk-pixbuf.c (gdk_pixbuf_new): Fixed so that it will
2163         contemplate future extensions to ArtPixBuf's formats.
2164
2165         * src/io-png.c (png_info_callback): Use the new API of gdk_pixbuf_new().
2166
2167         * src/gdk-pixbuf.h (gdk_pixbuf_get_height): Added some convenience
2168         macros to fetch the ArtPixBuf's fields.
2169
2170 1999-10-27  Havoc Pennington  <hp@pobox.com>
2171
2172         * src/testpixbuf.c (main): Display the progressive load
2173
2174         * src/io-png.c (setup_png_transformations): Break transformation
2175         code into separate function
2176         (png_info_callback): Use setup_png_transformations
2177
2178 1999-10-27  Havoc Pennington  <hp@pobox.com>
2179
2180         * src/gdk-pixbuf-io.c (gdk_pixbuf_new_from_xpm_data): Check
2181         properly whether the XPM module has already been loaded
2182         (gdk_pixbuf_new_from_file): Check properly if loader module
2183         was already loaded (was checking if load symbol was present
2184         in order to decide whether to re-load; should check module !=
2185         NULL, then load != NULL)
2186         (image_handler_load): Check in present working directory,
2187         makes it easier to debug for now
2188         (file_formats): This array initializer was seriously on crack,
2189         was assigning a function pointer to a GModule*
2190
2191         * src/testpixbuf.c (main): Change type of pixbuf_loader to GdkPixbufLoader*
2192
2193 1999-10-27  Havoc Pennington  <hp@pobox.com>
2194
2195         * src/gdk-pixbuf-loader.c (gdk_pixbuf_loader_finalize):
2196         Fix typo that prevented compilation
2197         (gdk_pixbuf_loader_destroy): ditto
2198
2199 1999-10-27  Federico Mena Quintero  <federico@redhat.com>
2200
2201         * src/gdk-pixbuf-loader.c (gdk_pixbuf_loader_new): Return a
2202         GdkPixbufLoader, not a GtkObject.
2203         (gtk_marshal_NONE__INT_INT_INT_INT): Made static.
2204         (gdk_pixbuf_loader_get_type): Documented.
2205         (gdk_pixbuf_loader_class_init): Initialize the parent class
2206         correctly.
2207         (gdk_pixbuf_loader_destroy): Added sanity checks. Call the parent
2208         class destroy function.
2209         (gdk_pixbuf_loader_new): Documented.
2210         (gdk_pixbuf_loader_finalize): Call the parent class finalize
2211         function.
2212         (gdk_pixbuf_loader_write): Use size_t for count.
2213
2214 1999-10-27  Michael Fulbright  <drmike@redhat.com>
2215
2216         * src/gdk-pixbuf-loader.c (gdk_pixbuf_loader_destroy): Fixed
2217         logic so we only try to close loader if it wasn't previously closed.
2218
2219 1999-10-27  Michael Fulbright  <drmike@redhat.com>
2220
2221         * src/gdk-pixbuf-loader.c: Made sure image_loader struct member of
2222         pixbuf_loader properly initialized.
2223
2224         * src/testpixbuf.c: Made sure we cleanup pixbuf_loader properly
2225         when done.
2226
2227 1999-10-26  Jonathan Blandford  <jrb@redhat.com>
2228
2229         * src/gdk-pixbuf-io.c (image_handler_load): load the vtable fully.
2230
2231         * src/gdk-pixbuf-loader.c: Finished initial cut at the object.
2232
2233 1999-10-26  Havoc Pennington  <hp@pobox.com>
2234
2235         * src/gdk-pixbuf-loader.h: fix signals
2236
2237         * src/gdk-pixbuf-io.h: add new vtable fields
2238
2239
2240 1999-10-26  Jonathan Blandford  <jrb@redhat.com>
2241
2242         * src/gdk-pixbuf-loader.h: New Class.  Beginning of progrssive
2243         loading.
2244
2245 1999-10-25  Federico Mena Quintero  <federico@redhat.com>
2246
2247         * configure.in (CFLAGS): Patch from Uwe Koloska
2248         <koloska@Rcs1.urz.tu-dresden.de> to fix a stupid typo of mine.
2249
2250 1999-10-22  Havoc Pennington  <hp@pobox.com>
2251
2252         * src/io-xpm.c (mem_buffer): Clean up stupid
2253         increment-inside-array-dereference thing
2254
2255         * src/testpixbuf.c: Add XPM data tests.
2256
2257         * src/io-xpm.c: Make the XPM data buffer const, fix const
2258         correctness throughout the code.
2259
2260 1999-10-22  Havoc Pennington  <hp@pobox.com>
2261
2262         * src/gdk-pixbuf.h: Export gdk_pixbuf_new_from_xpm_data()
2263
2264 1999-10-22  Havoc Pennington  <hp@pobox.com>
2265
2266         * src/io-xpm.c (image_load_xpm_data): Export this symbol for
2267         loading an XPM from memory.
2268
2269         * src/gdk-pixbuf-io.c (gdk_pixbuf_new_from_xpm_data): New
2270         function, loads pixbuf from xpm data
2271         (image_handler_load): Add g_return_if_fail() to ensure the same
2272         module isn't loaded twice. Add g_module_symbol() to scan for XPM
2273         loader function.
2274
2275 1999-10-22  Federico Mena Quintero  <federico@redhat.com>
2276
2277         * src/io-png.c (image_load): Patch from Kristian Hogsberg
2278         Kristensen <hogsberg@daimi.au.dk> to avoid allocating extra row
2279         buffers; the rows can be read in directly into the main pixel
2280         buffer.
2281
2282 1999-10-20  Federico Mena Quintero  <federico@redhat.com>
2283
2284         * src/gdk-pixbuf-io.c (image_handler_load): Free path.
2285
2286 1999-10-20  Federico Mena Quintero  <federico@redhat.com>
2287
2288         * configure.in: Bumped version number to 0.3.
2289
2290         * src/Makefile.am (lbgdk_pixbuf_la_LDFLAGS): Added a libtool
2291         version number for the library.
2292
2293 1999-10-20  Federico Mena Quintero  <federico@redhat.com>
2294
2295         * src/gdk-pixbuf.h (GdkPixbuf): Removed the unref_fn field.  Now
2296         all memory management of the buffer is done by libart.
2297
2298         * src/gdk-pixbuf.c (gdk_pixbuf_unref): Do destruction here.
2299         Removed gdk_pixbuf_destroy, gdk_pixbuf_duplicate.
2300
2301         * src/gdk-pixbuf-data.c (gdk_pixbuf_new_from_data): Implemented in
2302         terms of the libart functions.  Removed the old code.
2303
2304         * src/gdk-pixbuf-io.c (image_handler_load): Removed the save
2305         symbols.  Saving will not be implemented in GdkPixbuf.
2306
2307         * src/io-gif.c: Removed the saving stub.
2308         (image_load): Fixed memory management to fail gracefully if we run
2309         out of memory while loading the image.  Close the gif file when we
2310         are done.  This still needs more error handling for the DGif
2311         functions.
2312
2313         * src/io-jpeg.c (image_load): Some robustness fixes.
2314
2315         * src/io-png.c: Removed the saving stuff.
2316         (image_load): Some memory management fixes.
2317
2318         * src/io-tiff.c (image_load): Ditto.
2319
2320         * src/io-xpm.c (pixbuf_create_from_xpm): Ditto.
2321
2322 1999-10-18  Havoc Pennington  <hp@pobox.com>
2323
2324         * subautogen.sh: New name for macros/autogen.sh
2325
2326         * autogen.sh: use subautogen.sh
2327
2328 1999-10-18  Federico Mena Quintero  <federico@redhat.com>
2329
2330         * src/*: Reindented to use the GNOME Indentation.  Renamed
2331         GdkPixBuf to GdkPixbuf, for consistency with the function names
2332         (and it is also easier to type) :-)
2333
2334 1999-10-18  Havoc Pennington  <hp@pobox.com>
2335
2336         * configure.in: Use AM_PATH_GLIB instead of glib-config directly
2337
2338         * src/Makefile.am: Re-enable testpixbuf with GTK_CFLAGS/GTK_LIBS
2339
2340 1999-10-18  Havoc Pennington  <hp@pobox.com>
2341
2342         * Makefile.am (SUBDIRS): Remove "macros"
2343
2344         * configure.in: Don't use GNOME_INIT, handle case where we are
2345         inside gnome-libs. AM_PATH_GTK for the GIF test
2346
2347         * src/Makefile.am: Change flags to work without libgnomeui,
2348         comment out testpixbuf for now
2349
2350 1999-10-18  Federico Mena Quintero  <federico@redhat.com>
2351
2352         * configure.in: Use $GTK_LIBS as the extra libs when checking for
2353         libgif/libungif, as they need the X libraries.  Fixes bug #2472.
2354
2355 1999-10-10  Cody Russell  <bratsche@dfw.net>
2356         * src/gdk-pixbuf-drawable.c: core function now determines whether
2357         the requested geometry is on screen or not, and if some is not
2358         then the request is clamped to geometry that is on the screen.
2359
2360         Changed 'pixbuf' to 'art_pixbuf' in core function.
2361
2362 1999-10-08  Michael Fulbright  <drmike@redhat.com>
2363
2364         * src/gdk-pixbuf-data.c: Added to load rgb data from const data.
2365
2366         * src/testpifbuf: Changed test program to display cdrom from rgb data
2367         if no filename given to test program.
2368
2369 1999-10-07  Cody Russell  <bratsche@dfw.net>
2370         * src/gdk-pixbuf-drawable.[ch]: Added. (Actually, Miguel committed
2371         them, but I wrote them).
2372
2373         * src/gdk-pixbuf-drawable.h: Added a missing ; so things will now
2374         compile.
2375
2376         * src/Makefile.am: Added gdk-pixbuf-drawable.[ch] to
2377         libgdk_pixbuf_la_SOURCES and libgdk_pixbufinclude_HEADERS.
2378
2379         * src/gdk-pixbuf-drawable.c: Added #include "gdk-pixbuf-drawable.h"
2380         to fix compilation.
2381
2382         * src/gdk-pixbuf-drawable.[ch]: Changed functions to return
2383         GdkPixBuf* instead of ArtPixBuf*.
2384
2385 1999-09-22  Michael Meeks  <michael@nuclecu.unam.mx>
2386
2387         * src/gdk-pixbuf.c (gdk_pixbuf_new): created.
2388         (gdk_pixbuf_scale): use gdk_pixbuf_new + return a new scaled image.
2389
2390         * src/gdk-pixbuf.h (struct _GdkPixBuf): Re-organise struct, + add
2391         GdkPixBufUnrefFunc + gdk_pixbuf_new.
2392
2393         * src/io-jpeg.c (image_load): clean to use gdk_pixbuf_new.
2394
2395         * src/io-xpm.c (_pixbuf_create_from_xpm): ditto.
2396
2397         * src/io-tiff.c (image_load): ditto + fix leak
2398
2399         * src/io-png.c (image_load): ditto + add more exit points; monitor.png
2400         crashes this module ( add warning :-)
2401
2402         * src/io-bmp.c (image_load): ditto.
2403
2404         * src/io-gif.c (image_load): ditto.
2405
2406 1999-09-18  Michael Meeks  <michael@nuclecu.unam.mx>
2407
2408         * src/gdk-pixbuf.c (gdk_pixbuf_scale): Hack rgba support in so
2409         it doesn't crash scaling with alpha.
2410
2411 1999-09-17  Federico Mena Quintero  <federico@redhat.com>
2412
2413         * src/io-bmp.c (image_load): Set the initial ref_count to 1.
2414
2415         * src/io-gif.c (image_load): Likewise.
2416
2417         * src/io-jpeg.c (image_load): Likewise.
2418
2419         * src/io-png.c (image_load): Likewise.
2420
2421         * src/io-tiff.c (image_load): Likewise.
2422
2423         * src/io-xpm.c (_pixbuf_create_from_xpm): Likewise.
2424
2425         * src/gdk-pixbuf-io.c (gdk_pixbuf_load_image): Added an assertion
2426         for the ref_count to be != 0.
2427
2428         * src/gdk-pixbuf.c (gdk_pixbuf_ref): Be more paranoid with sanity
2429         checking.
2430         (gdk_pixbuf_unref): Fix incorrect sanity check and comparison.
2431
2432 1999-08-09  Federico Mena Quintero  <federico@nuclecu.unam.mx>
2433
2434         * src/io-png.c (image_save): Fixed compiler warnings.  Fixed write
2435         to unallocated memory (row_ptr), and fixed its type as well.  Take
2436         into account the ArtPixbuf's rowstride when assigning the row
2437         pointers.
2438
2439         * src/gdk-pixbuf.c: Fixup includes.
2440
2441         * src/gdk-pixbuf-io.c: Likewise.
2442
2443 Sat Jul 31 19:19:47 CEST 1999
2444
2445         * src/gdk-pixbuf-io.c:
2446         * src/io-png.c: Fixed two obvious C syntax bugs
2447
2448 1999-07-29  Mark Crichton  <crichton@gimp.org>
2449
2450         * src/io-png.c (image_save): Added PNG saving function
2451
2452         * src/gdk-pixbuf-io.c: Changed image_save function format.  Now it's
2453         image_save(GdkPixBuf *p, FILE *f, ...)
2454
2455
2456 1999-07-26  Michael Zucchi  <mzucchi@denr.sa.gov.au>
2457
2458         * src/Makefile.am (*_LIB): Only build the relevant loaders which
2459         require extra libraries if we actually have those libraries.
2460
2461 1999-07-23  Richard Hestilow  <hestgray@ionet.net>
2462
2463         * src/gdk-pixbuf.h: Include glib.h as it uses g* datatypes
2464         * gdk_pixbufConf.sh.in: Added for gnome-config
2465         * Makefile.am:
2466         * configure.in: Modified to generate gdk_pixbufConf.sh
2467
2468 1999-07-20  Mark Crichton  <crichton@gimp.org>
2469
2470         * src/gdk-pixbuf.c (gdk_pixbuf_rotate): Fixed rotation.  Now a bbox
2471         calculation needs to be done.
2472
2473 1999-07-18  Larry Ewing  <lewing@gimp.org>
2474
2475         * src/io-xpm.c:
2476         * src/io-gif.c:
2477         * src/io-png.c:
2478         * src/io-jpeg.c: Fix a few memory leaks in the, most of them in
2479         error cases but one or two in the common case.  There are probably
2480         a few small ones left.
2481
2482 1999-07-18  Mark Crichton  <crichton@gimp.org>
2483
2484         * configure.in: removed version.h.
2485
2486         * src/gdk-pixbuf-io.c (pixbuf_check_tiff): Minor readability
2487         improvements.
2488
2489 1999-07-17  Mark Crichton  <crichton@gimp.org>
2490
2491         * src/gdk-pixbuf.c: Removed gdk_pixbuf_free, redundant code.
2492         (gdk_pixbuf_rotate): Added pixbuf rotation code.
2493         (gdk_pixbuf_scale): Changed // comments to /* */
2494
2495         * src/gdk-pixbuf.h (gdk_pixbuf_destroy): Added gdk_pixbuf_destroy
2496         function to header.
2497
2498 1999-07-16  Larry Ewing  <lewing@gimp.org>
2499
2500         * src/testpixbuf.c (expose_func): reverted the expose everything
2501         changes, I'm not sure why these went in.
2502         (config_func): bring this up to date with the new pixbuf_scale
2503         semantics.
2504
2505         * src/gdk-pixbuf-io.c: added a couple of warnings to the module
2506         loading code so that poeple can diagnose problems better.
2507
2508         * src/gdk-pixbuf.c (gdk_pixbux_scale): fix the borkedness, also it
2509         no longer allocates a new pixbuf, which make things nicer for the
2510         rest of the code.  Unfortunately there is still a problem with
2511         scaling rgba images.
2512
2513 1999-07-16  Mark Crichton  <crichton@gimp.org>
2514
2515         * src/testpixbuf.c (config_func): ConfigureEvent handler.  This
2516         calls gdk_pixbuf_scale.  However, something is not working.
2517         N.B.: current pixmap is now stored in user_data with a key of
2518         "pixmap"
2519
2520         * src/gdk-pixbuf.c (gdk_pixbuf_scale): Implemented scaling function.
2521         Something is still borked, however.
2522
2523 1999-07-15  Larry Ewing  <lewing@gimp.org>
2524
2525         * src/io-jpeg.c (image_load): add raph@gimp.org's fix to the jpeg
2526         indexing routine
2527
2528         * src/testpixbuf.c (main): fix up the file routines a little so
2529         that you can load multiple files given the file names
2530
2531 1999-07-14  Larry Ewing  <lewing@gimp.org>
2532
2533         * src/testpixbuf.c (expose_func): added an almost proper expose
2534         handler for testpixbuf
2535
2536 1999-07-13  Mark Crichton  <crichton@gimp.org>
2537
2538         * configure.in: Fixed GIF check.  Replaced " with '
2539         * src/gdk-pixbuf.c: More (minor) work on gdk_pixbuf_scale
2540
2541 1999-07-13  Mark Crichton  <crichton@gimp.org>
2542
2543         * configure.in: I am a bonehead.  Added gif-lib check.