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