1 Wed Jun 21 16:02:48 2000 Owen Taylor <otaylor@redhat.com>
3 * gdk-pixbuf-io.c (gdk_pixbuf_load_module): Add feature to
4 support a GDK_PIXBUF_MODULEDIR env variable as a secondary
7 2000-06-10 Federico Mena Quintero <federico@helixcode.com>
9 * demo/pixbuf-demo.c: It was cold and rainy this Saturday morning,
10 so I needed something to warm my thighs. Running plain infinite
11 loops on your laptop to make it hot is not very much fun. A demo
12 of the gdk-pixbuf scaling functions is way better, and looks
15 * configure.in (AC_OUTPUT): Added the demo Makefile.
17 * Makefile.am (SUBDIRS): Added the demo directory.
19 2000-06-09 Larry Ewing <lewing@helixcode.com>
21 * gdk-pixbuf/io-png.c (gdk_pixbuf__png_image_load_increment):
22 setjmp for the png error handler. It seems setting the error
23 handling functions does not avoid the jump, and so not calling
24 setjmp was causing the incremental loader to jump into lala land.
25 (gdk_pixbuf__png_image_begin_load): setjmp for error handling, I'm
26 not sure this one is actually required but the docs say it must be
27 set for every call to a png_* function.
28 Also changed the comment to reflect the fact that setting the
29 error handlers does _not_ avoid the longjmp.
31 2000-06-06 Larry Ewing <lewing@helixcode.com>
33 * gdk-pixbuf/gdk-pixbuf-loader.c (gdk_pixbuf_loader_frame_done):
34 take frame offest into account when trying to calculate the
35 animation bbox. Also set the width to the width not the height.
36 (gdk_pixbuf_loader_animation_done): cycle over the frames to
37 calculate bbox because now we finally have all the offset
38 information for each frame.
40 2000-06-05 Mathieu Lacage <mathieu@gnome.org>
42 * configure.in: add some gtk parameters to the
43 GDK_PIXBUF_LIB²S and GDK_PIXBUG_INCLUDEDIR vars. One more
44 fight in my crusade for strange prefix compile...
46 2000-05-30 Not Zed <NotZed@HelixCode.com>
48 * gdk-pixbuf/io-jpeg.c (gdk_pixbuf__jpeg_image_begin_load):
49 Initialise the error handler exit routine to our own. Note this
50 means that every function that accesses the jpeg lib on this
51 object MUST do a setjmp.
52 (gdk_pixbuf__jpeg_image_stop_load): setjmp before accessing jpeg
53 lib for handling fatal error.
54 (gdk_pixbuf__jpeg_image_load_increment): And here too. So now
55 your applications dont quit if there's a jpeg error!
57 2000-05-30 Federico Mena Quintero <federico@helixcode.com>
59 * gdk-pixbuf.spec.in: Include all the loader libraries. Patch
60 from Frank de Lange <frank@unternet.org>.
62 2000-05-09 Darin Adler <darin@eazel.com>
64 * gdk-pixbuf/test-gdk-pixbuf.c:
65 Fixed includes to get rid of accidental GNOME dependency.
67 2000-05-26 Cody Russell <car0969@gamma2.uta.edu>
68 * Makefile.am: Added gdk-pixbuf.spec to EXTRA_DIST
70 2000-05-22 Federico Mena Quintero <federico@helixcode.com>
72 * configure.in: Bumped version number to 0.8.0.
74 * doc/Makefile.am (content_files): The toplevel gdk-pixbuf.sgml
75 file was not being distributed.
77 * gdk-pixbuf/pixops/Makefile.am (EXTRA_DIST): Added DETAILS.
79 2000-05-09 Darin Adler <darin@eazel.com>
81 * gdk-pixbuf/gdk-pixbuf-drawable.c: (rgb565lsb), (rgb565msb),
82 (rgb565alsb), (rgb565amsb), (rgb555lsb), (rgb555msb), (rgb555alsb),
83 (rgb555amsb), (convert_real_slow): Change all conversion from 16-bit
84 formats to 32-bit formats to re-use the high bits of the color values
85 so that white maps to full white.
87 Fri May 5 12:16:32 2000 Owen Taylor <otaylor@redhat.com>
89 * gdk-pixbuf/pixops/DETAILS: Add beginnings of file with
90 detailed information about the structure and algorithms
91 of pixops so people can fix it instead of breaking it.
93 2000-05-04 Darin Adler <darin@eazel.com>
95 * gdk-pixbuf/pixops/pixops.c: (pixops_composite_nearest),
96 (composite_pixel), (composite_line):
97 * gdk-pixbuf/test-gdk-pixbuf.c: (simple_composite_test_one_type):
98 Now that Owen explained the algorithm, I think I implemented it
99 right for the cases where the destination pixbuf is not opaque.
100 The test does seem to confirm it.
102 2000-05-04 Darin Adler <darin@eazel.com>
104 * gdk-pixbuf/.cvsignore:
105 * gdk-pixbuf/Makefile.am:
106 * gdk-pixbuf/test-gdk-pixbuf.c (store_pixel), (fill_with_pixel),
107 (load_pixel), (simple_composite_test_one),
108 (simple_composite_test_one_type), (simple_composite_test), (main):
109 Added some tests of composite to highlight problems in the old
110 implementation. These tests run without any user interaction.
111 Just do "make check".
113 * gdk-pixbuf/pixops/pixops.c (pixops_composite_nearest),
114 (composite_pixel), (composite_line): Fix composite to do a textbook
115 "A over B" composite. This was clearly the intent, and it was easy
116 to fix the code to do it. (Note to those that read my earlier tries
117 at a patch; this version fixes typos that were present in all
118 my patch attempts. I checked the final version by adding more tests.)
120 2000-04-22 05:27:43 2000 Owen Taylor <otaylor@redhat.com>
122 * gdk-pixbuf/pixops/pixops.c (pixops_scale_nearest): Properly
123 offset y coordinate accordining to render_y0.
125 * gdk-pixbuf/gdk-pixbuf-scale.c: Properly handle nonzero
128 2000-04-22 James Henstridge <james@daa.com.au>
130 * gdk-pixbuf.spec.in (%files): moved %{prefix}/bin/* from the main
131 package to the devel package. The only file installed in bin is
132 gdk-pixbuf-config, which belongs in -devel. This should allow having
133 multiple versions of the main gdk-pixbuf package installed.
135 2000-04-17 Karl Eichwalder <ke@suse.de>
137 * gdk-pixbuf/Makefile.am (INCLUDES): Add $(GNOME_CFLAGS).
138 Reported by Jens Finke.
140 2000-04-14 Tomasz K³opczko <kloczek@pld.org.pl>
142 * gdk-pixbuf/pixops/makefile.am: $(LIBART_CFLAGS) replaced by
143 $(GTK_CFLAGS) - now gdk-pixbuf compiles correctly.
145 2000-04-13 James Henstridge <james@daa.com.au>
147 * configure.in: when performing the configure check to see if
148 gmodule works, set CFLAGS to GLIB_CFLAGS and LIBS to GLIB_LIBS,
149 rather than the other way round. Also, call AC_MSG_RESULT in the
150 even that dynamic modules were not supported.
152 2000-04-12 Federico Mena Quintero <federico@helixcode.com>
154 This comes from an excellent idea by Tim Janik (timj@gtk.org) to
155 hook to the last unref operation.
157 * gdk-pixbuf/gdk-pixbuf.c (gdk_pixbuf_set_last_unref_handler): New
158 function to set the last unref handler for a pixbuf.
159 (gdk_pixbuf_finalize): New function to actually finalize a pixbuf.
160 It calls the pixbuf's destroy notification function and frees the
161 GdkPixbuf structure itself.
162 (gdk_pixbuf_unref): Use the last unref function of the pixbuf if
165 * gdk-pixbuf/gdk-pixbuf-private.h (struct _GdkPixbuf): New fields
166 for the last unref handler and its user data.
168 * gdk-pixbuf/gdk-pixbuf-data.c (gdk_pixbuf_new_from_data): Use
169 g_new0() to allocate the pixbuf.
171 * gdk-pixbuf/gdk-pixbuf-loader.c (gdk_pixbuf_loader_class_init):
172 Fixed the call to gtk_signal_new() for the "frame_done" signal; it
173 was not specifying the `frame' argument.
175 * gdk-pixbuf/gdk-pixbuf-animation.c
176 (gdk_pixbuf_animation_get_width): Fixed docstring.
177 (gdk_pixbuf_animation_get_height): Likewise.
178 (gdk_pixbuf_animation_get_num_frames): Likewise.
179 (gdk_pixbuf_animation_get_frames): Likewise.
181 * doc/gdk-pixbuf-sections.txt: Updated with the new functions and
184 * doc/tmpl/gdk-pixbuf.sgml: Added the description for GdkColorspace.
186 * doc/tmpl/scaling.sgml: Added the description for GdkInterpType.
188 * doc/tmpl/refcounting.sgml: Updated with the information about
189 the last unref handler.
191 * doc/tmpl/*.sgml: Markup tweaks.
193 * gdk-pixbuf/Makefile.am (libgnomecanvaspixbuf_la_LDFLAGS): Sigh,
194 update the libtool version number for libgnomecanvaspixbuf as
196 (libpixbufloader_*_la_LDFLAGS): The loaders need to be versioned
197 as well, or the old ones won't work with the new stuff. Also,
198 renamed the modules as follows.
200 * gdk-pixbuf/gdk-pixbuf-io.c (gdk_pixbuf_load_module): Now the
201 modules are called "libpixbufloader-<format>.so" instead of
202 "libpixbuf-<format>.so". They needed renaming so that the new
203 loaders won't overwrite the old ones; even with the versioning
204 stuff, the new .so symlink to the .so.1.0.0 would overwrite the
207 2000-04-12 Paolo Molaro <lupus@debian.org>
209 * .cvsignore, src/.cvsignore: shut up cvs.
211 2000-04-11 Federico Mena Quintero <federico@helixcode.com>
213 Most of this patch is based on a patch by Havoc Pennington
214 (hp@redhat.com) to make GdkPixbuf's structures opaque and to
215 remove the libart dependency.
217 * gdk-pixbuf/gdk-pixbuf.h: Removed the public structures.
218 (GdkColorspace): New enum that for now only contains
220 (GdkPixbufDestroyNotify): New type for the pixbuf's pixels destroy
221 notification function.
222 (GdkInterpType): New num with interpolation types.
224 * *.[ch]: Replace the libart stuff with our own stuff.
226 * pixops/*.[ch]: Likewise.
228 * gdk-pixbuf/gdk-pixbuf-private.h: New file with the private
229 declarations of the GdkPixbuf structures.
231 * gdk-pixbuf/gdk-pixbuf.c (gdk_pixbuf_new_from_art_pixbuf):
233 (gdk_pixbuf_get_format): Constify.
234 (gdk_pixbuf_get_n_channels): Constify.
235 (gdk_pixbuf_get_has_alpha): Constify.
236 (gdk_pixbuf_get_bits_per_sample): Constify.
237 (gdk_pixbuf_get_pixels): Constify.
238 (gdk_pixbuf_get_width): Constify.
239 (gdk_pixbuf_get_height): Constify.
240 (gdk_pixbuf_get_rowstride): Constify.
242 * gdk-pixbuf/gdk-pixbuf.c (gdk_pixbuf_copy): New function to copy
245 * gdk-pixbuf/gdk-pixbuf-data.c (gdk_pixbuf_new_from_data): Added a
246 bits_per_sample argument; currently only 8 bits per sample are
249 * gdk-pixbuf/gdk-pixbuf-animation.c (gdk_pixbuf_frame_get_pixbuf):
251 (gdk_pixbuf_frame_get_x_offset): New accessor.
252 (gdk_pixbuf_frame_get_y_offset): New accessor.
253 (gdk_pixbuf_frame_get_delay_time): New accessor.
254 (gdk_pixbuf_frame_get_action): New accessor.
256 * gdk-pixbuf/gdk-pixbuf-render.c
257 (gdk_pixbuf_render_pixmap_and_mask): Instead of returning a solid
258 mask rectangle for pixbufs without an alpha channel, set the
259 *mask_return to NULL.
261 * gdk-pixbuf/gdk-pixbuf-util.c (gdk_pixbuf_add_alpha): Constify.
263 * gdk-pixbuf/gdk-pixbuf-scale.c: Fix includes.
265 * gdk-pixbuf/gdk-pixbuf-scale.c (gdk_pixbuf_scale): Added some
266 preconditions. Maybe we should also check for the colorspace,
267 bits per pixel, and such.
268 (gdk_pixbuf_composite): Likewise.
269 (gdk_pixbuf_composite_color): Likewise.
270 (gdk_pixbuf_scale_simple): Likewise, and fail gracefully if we
271 cannot allocate the new pixbuf.
272 (gdk_pixbuf_composite_color_simple): Likewise.
274 * gdk-pixbuf/gnome-canvas-pixbuf.c (gnome_canvas_pixbuf_render):
275 Use art_rgb_rgba_affine() or art_rgb_affine() since we no longer
278 * gdk-pixbuf/io-bmp.c: Fix includes.
280 * gdk-pixbuf/pixops/pixops.c (pixops_scale_nearest): Fixed cast in
285 * configure.in: Removed checks for libart.
287 * gdk-pixbuf/Makefile.am: Removed references to libart.
288 (noinst_HEADERS): Added gdk-pixbuf-private.h.
290 * gdk-pixbuf/Makefile.am (libgdk_pixbuf_la_LDFLAGS): Incremented
291 the version number of the libtool library to indicate that this
292 definitely is not compatible with the old usage. I know you love
295 * configure.in: Bumped version number to 0.7.0.
299 * gdk-pixbuf-config.in (--libs): We no longer require libart.
301 * DEPENDS.libgdk_pixbuf: We no longer depend on libart.
303 * gdk-pixbuf.spec.in: Updated, but I don't guarantee anything.
305 2000-04-06 Jonathan Blandford <jrb@redhat.com>
307 * gdk-pixbuf/testanimation.c (main): add more info to the
308 testanimation frames.
310 2000-04-04 Ettore Perazzoli <ettore@helixcode.com>
312 * gdk-pixbuf/gdk-pixbuf-animation.c
313 (gdk_pixbuf_animation_get_width): New accessor function.
314 (gdk_pixbuf_animation_get_height): New accessor function.
315 (gdk_pixbuf_animation_get_num_frames): New accessor function.
316 (gdk_pixbuf_animation_get_frames): New accessor function.
318 2000-04-01 Federico Mena Quintero <federico@helixcode.com>
320 * gdk-pixbuf/gdk-pixbuf.c: Reverted Mark's change. The refcount
321 is private information, and the art_pixbuf will go away soon.
323 2000-03-31 Mark Crichton <crichton@gimp.org>
325 * gdk-pixbuf/gdk-pixbuf.c: Added gdk_pixbuf_get_refcount
326 and gdk_pixbuf_get_artpixbuf accessor functions.
328 2000-03-29 Federico Mena Quintero <federico@helixcode.com>
330 * gdk-pixbuf/gdk-pixbuf.c (gdk_pixbuf_get_has_alpha): Return
331 gboolean instead of int.
333 2000-03-29 Radek Doulik <rodo@helixcode.com>
335 * gdk-pixbuf/gdk-pixbuf-animation.c
336 (gdk_pixbuf_animation_new_from_file): same as below
338 * gdk-pixbuf/io-gif.c (gif_get_lzw): added update of width and
339 height in GdkPixbufAnimation
341 2000-03-28 Radek Doulik <rodo@helixcode.com>
343 * gdk-pixbuf/io-gif.c (gif_get_lzw): test also for
344 context->frame_done_func and context->anim_done_func to make
345 progressive animation loading work
347 * gdk-pixbuf/gdk-pixbuf-loader.c (gdk_pixbuf_loader_frame_done):
348 added priv->pixbuf = NULL as pixbuf is now in frame (and to make
349 gdk_pixbuf_loader_prepare happy)
350 (gdk_pixbuf_loader_frame_done): update animation bbox
352 * gdk-pixbuf/gdk-pixbuf.h: added bbox size (width, height) to
355 2000-03-27 Radek Doulik <rodo@helixcode.com>
357 * gdk-pixbuf/io-gif.c (gif_get_lzw): use frame_len and frame_width
358 instead of width and height
360 2000-03-27 Owen Taylor <otaylor@redhat.com>
362 * gdk-pixbuf/pixops/pixops.c: Fix problem with
363 precendence of >> and & which was keeping composite_color
364 from working with non-gray images.
366 2000-03-08 Jonathan Blandford <jrb@redhat.com>
368 * gdk-pixbuf/io-gif.c (gdk_pixbuf__gif_image_load): free the context.
369 (gdk_pixbuf__gif_image_load_animation): free the context.
371 2000-03-06 Arjan van de Ven <arjan@fenrus.demon.nl>
373 * gdk-pixbuf/io-bmp.c: Fixed to pointer-bugs and a
374 mis-interpretation of the Microsoft documentation. Now
375 it can load .BMP files that are not generated by The Gimp
378 2000-03-01 Mark Crichton <crichton@gimp.org>
380 * configure.in: Added BUILD_CANVAS_ITEM stuff to (finally)
381 fix the last auto* build bug (where we have libart, but no
384 * gdk-pixbuf/Makefile.am: Same.
386 2000-02-28 Matt Wilson <msw@redhat.com>
388 * gdk-pixbuf/gdk-pixbuf-drawable.c: s/unsigned long/guint32/g,
389 s/unsigned short/guint16/g, s/unsigned char/guint8/g
391 2000-02-26 Federico Mena Quintero <federico@helixcode.com>
393 * README: We don't require libgif/ungif nor libXpm.
395 * NEWS: This was outdated, so updated it.
397 2000-02-25 Federico Mena Quintero <federico@helixcode.com>
399 * gdk-pixbuf.m4: Use the correct name for
400 gdk-pixbuf/gdk-pixbuf.h. Thanks to Jacob Berkman for pointing
403 2000-02-21 Federico Mena Quintero <federico@helixcode.com>
405 * configure.in (GDK_PIXBUF_MINOR): Bumped version number to 0.6.0.
407 * doc/compiling.sgml: New appendix documenting the gdk-pixbuf
408 library's particular options to configure.in.
410 * doc/gdk-pixbuf.sgml: Include compiling.sgml appendix via an
413 * doc/Makefile.am (gdk-pixbuf.html): Added compiling.sgml.
415 * gdk-pixbuf/io-ico.c (gdk_pixbuf__ico_image_load_increment):
416 Fixed typo in prototype name.
418 * configure.in: Changed duplicated AC_MSG_CHECKING message to
419 something more meaningful; now it is "checking whether dynamic
422 * gdk-pixbuf/pixops/Makefile.am (noinst_PROGRAMS): Do not install
423 the timescale program.
425 Integrated Miguel de Icaza's <miguel@gnu.org> patch for optionally
426 creating a single static library with all the image format modules
429 2000-02-20 Miguel de Icaza <miguel@gnu.org>
431 * gdk-pixbuf/io-xpm.c (gdk_pixbuf__xpm_image_load): Add prefix.
432 (gdk_pixbuf__xpm_image_load_xpm_data): Add prefix.
434 * gdk-pixbuf/io-tiff.c (gdk_pixbuf__tiff_image_load_real): Add prefix.
435 (gdk_pixbuf__tiff_image_stop_load): Add prefix.
436 (gdk_pixbuf__tiff_image_load_increment): Add prefix.
437 (gdk_pixbuf__tiff_image_load): Add prefix.
438 (gdk_pixbuf__tiff_image_stop_load): Update invocation.
439 (gdk_pixbuf__tiff_image_begin_load): Add prefix.
441 * gdk-pixbuf/io-ras.c (gdk_pixbuf__ras_image_load): Add prefix.
442 (gdk_pixbuf__ras_image_load): Updated invocation.
443 (gdk_pixbuf__ras_image_begin_load): Add prefix.
444 (gdk_pixbuf__ras_image_stop_load): Add prefix.
445 (gdk_pixbuf__ras_image_load_increment): Add prefix.
447 * gdk-pixbuf/io-pnm.c (gdk_pixbuf__pnm_image_begin_load): Add prefix.
448 (gdk_pixbuf__pnm_image_stop_load): Add prefix.
449 (gdk_pixbuf__pnm_image_load_increment): Add prefix
450 (gdk_pixbuf__pnm_image_load): Add prefix.
452 * gdk-pixbuf/io-jpeg.c (gdk_pixbuf__jpeg_image_load): Add prefix.
453 (gdk_pixbuf__jpeg_image_load_increment): Add prefix.
454 (gdk_pixbuf__jpeg_image_begin_load): Add prefix.
455 (gdk_pixbuf__jpeg_image_stop_load): Add prefix.
457 * gdk-pixbuf/io-ico.c (gdk_pixbuf__ico_image_load): Add prefix.
458 (gdk_pixbuf__ico_image_load): update invocation.
459 (gdk_pixbuf__ico_image_load_increment): Add prefix.
460 (gdk_pixbuf__ico_image_load): update invocation.
461 (gdk_pixbuf__ico_image_begin_load): Add prefix.
462 (gdk_pixbuf__ico_image_load): update invocation.
463 (gdk_pixbuf__ico_image_stop_load): Add prefix.
465 * gdk-pixbuf/io-gif.c (gdk_pixbuf__gif_image_load_animation): Add prefix.
466 (gdk_pixbuf__gif_image_load): Add prefix.
467 (gdk_pixbuf__gif_image_begin_load): Add prefix.
468 (gdk_pixbuf__gif_image_load_increment): Add prefix.
469 (gdk_pixbuf__gif_image_load_animation): Add prefix.
470 (gdk_pixbuf__gif_image_stop_load): Add prefix.
472 * gdk-pixbuf/io-bmp.c (gdk_pixbuf__bmp_image_load): Add prefix.
473 (gdk_pixbuf__bmp_image_load): Rename function called.
474 (gdk_pixbuf__bmp_image_load_increment): Add prefix
476 * gdk-pixbuf/io-png.c (gdk_pixbuf__png_image_load): Add prefix.
477 (gdk_pixbuf__png_image_begin_load): Add prefix.
478 (gdk_pixbuf__png_image_stop_load): Add prefix.
479 (gdk_pixbuf__png_image_load_increment): Add prefix.
481 * gdk-pixbuf/gdk-pixbuf-io.c (file_formats): Make this static.
482 (gdk_pixbuf_load_module): Load the shared library entry points
483 using a "gdk_pixbuf__$module_name" prefix.
484 (pixbuf_module_symbol): Wrapper routine that uses the module
485 prefix for the modules to load the information.
487 * configure.in (GDK_PIXBUF_VERSION): New option --disable-modules
488 lets the user specify that gdk-pixbuf should link all image loader
489 code into the library instaed of creating shared library modules.
491 (dynworks): Renamed the automake conditional DYNAMIC_MODULES_WORK
492 to BUILD_DYNAMIC_MODULES.
494 2000-02-19 Jonathan Blandford <jrb@redhat.com>
496 * gdk-pixbuf/io-gif.c (new_context): fix case where initial
497 colormap entry is Transparent.
499 2000-02-19 Owen Taylor <otaylor@redhat.com>
501 * gdk-pixbuf/pixops/pixops.c (scale_pixel): Fix error in
502 scale factors for non-alpha case.
504 2000-02-14 Mark Crichton <crichton@gimp.org>
506 * gdk-pixbuf/io-xpm.c (xpm_extract_color): Added check for "g" color type.
507 Imlib/libXpm handle this, but we didn't.
509 2000-02-14 Darin Adler <darin@eazel.com>
511 * gdk-pixbuf/testpixbuf.c: Remove now-unnecessary cast.
512 * .cvsignore: gdk-pixbuf/.cvsignore: More to ignore.
514 2000-02-14 Elliot Lee <sopwith@redhat.com>
515 * gdk-pixbuf/gdk-pixbuf.h, gdk-pixbuf/gdk-pixbuf-data.c: Make passed-in argument 'const'.
517 2000-02-04 Michael Meeks <mmeeks@gnu.org>
519 * gdk-pixbuf/io-gif.c (struct _GifContext): add x,y_offset.
520 (gif_get_frame_info): put the offsets on the context.
521 (gif_get_lzw): copy them off into the frame.
522 (new_context): no change required; will 0 offsets by default.
524 2000-01-28 Michael Meeks <michael@mejm2.dow.cam.ac.uk>
526 * gdk-pixbuf/pixops/pixops.c (pixops_process): const + nasty
529 * gdk-pixbuf/pixops/pixops.h: const.
531 * gdk-pixbuf/gdk-pixbuf-util.c: const.
533 * gdk-pixbuf/gdk-pixbuf-scale.c: const.
535 * gdk-pixbuf/gdk-pixbuf.h: constify lots of things.
537 2000-02-03 Federico Mena Quintero <federico@helixcode.com>
539 * gdk-pixbuf/gdk-pixbuf-render.c
540 (gdk_pixbuf_render_threshold_alpha): Added sanity check for width
541 and height being >= 0. Also, do nothing if either of them is
542 zero. Thanks to Ettore for pointing this out.
543 (gdk_pixbuf_render_to_drawable): Likewise.
544 (gdk_pixbuf_render_to_drawable_alpha): Likewise.
546 2000-02-02 Federico Mena Quintero <federico@helixcode.com>
548 * gdk-pixbuf/io-gif.c (gif_get_lzw): Removed debugging g_print.
549 Thanks to John Sullivan <sullivan@eazel.com> for the patch.
551 * gdk-pixbuf/testpixbuf-drawable.c (configure_cb): Get a new area
552 of the screen when the window is resized. Thanks to David
553 N. Welton <davidw@linuxcare.com> for pointing this out.
554 Misc. cleanups to the rest of the file.
556 2000-02-01 Federico Mena Quintero <federico@helixcode.com>
558 * doc/tmpl/rendering.sgml: gnome_init() does not call
559 gdk_rgb_init(), so don't mention that it does in the
560 documentation. Thanks to Alexander Kruuse <kruuse@home.se> for
563 2000-01-31 Havoc Pennington <hp@redhat.com>
565 * gdk-pixbuf/Makefile.am (noinst_PROGRAMS): no testpixbuf-foo target
567 Mon Jan 31 12:38:50 2000 Owen Taylor <otaylor@redhat.com>
569 * gdk-pixbuf/pixops/pixops.c (scale_line): Fix from Peter
570 Wainwright to fix 4a => 4a scaling.
572 2000-01-29 Mark Crichton <crichton@gimp.org>
574 * gdk-pixbuf-config: Oh dear, we weren't Telsa/Alan proof...
575 put `libart-config --libs` in instead of -lart_lgpl.
577 2000-01-22 Federico Mena Quintero <federico@helixcode.com>
579 * gdk-pixbuf/io-pnm.c (pnm_read_raw_scanline): Return an error on
581 (pnm_read_ascii_scanline): Initialize data and mask.
583 * gdk-pixbuf/io-xpm.c (pixbuf_create_from_xpm): Initialize
584 fallbackcolor to keep gcc happy.
586 * configure.in: Bumped version number to 0.5.0.
588 * gdk-pixbuf/pixops/timescale.c (dump_array): Removed unused variable.
591 * gdk-pixbuf/pixops/pixops.c (pixops_composite_color_nearest): Put
592 parentheses around + in a shift to remove a compiler warning.
593 (pixops_process): Likewise.
595 Patch from Ross Golder <rossigee@bigfoot.com> to create an RPM
598 * configure.in: Added gdk-pixbuf.spec to AC_OUTPUT.
600 * Makefile.am (EXTRA_DIST): Added gdk-pixbuf.spec.in
602 2000-01-22 Federico Mena Quintero <federico@helixcode.com>
604 * gdk-pixbuf/gnome-canvas-pixbuf.c (PixbufPrivate): Removed the
605 x_set and y_set arguments. Now they are always on and start with
606 defaults of 0.0 in units.
607 (gnome_canvas_pixbuf_class_init): Likewise.
608 (gnome_canvas_pixbuf_set_arg): Likewise.
609 (gnome_canvas_pixbuf_get_arg): Likewise.
610 (compute_viewport_affine): Likewise; always use the priv->x and
613 * doc/tmpl/gnome-canvas-pixbuf.sgml: Modified to reflect the
614 removal of the x_set/y_set arguments.
616 2000-01-21 Federico Mena Quintero <federico@helixcode.com>
618 * gdk-pixbuf/gdk-pixbuf.c (gdk_pixbuf_ref): Return the same pixbuf
619 as the input parameter.
621 * gdk-pixbuf/gdk-pixbuf-animation.c (gdk_pixbuf_animation_ref):
622 Return the same animation as the input parameter.
624 2000-01-16 Elliot Lee <sopwith@redhat.com>
626 * gdk-pixbuf/Makefile.am: Don't link against libgnomecanvaspixbuf.la
628 2000-01-16 Federico Mena Quintero <federico@helixcode.com>
630 * configure.in: Removed the broken --enable-canvas-pixbuf option.
631 Added the stuff necessary to substitute the variables in
632 gnomecanvaspixbufConf.sh.in.
634 * gnomecanvaspixbufConf.sh.in: New gnome-config handler for the
635 tiny gnomecanvaspixbuf library.
637 * Makefile.am: Build gnomecanvaspixbufConf.sh.
639 * gdk-pixbuf/Makefile.am: Create a libgnomecanvaspixbuf and only
640 build it if gdk-pixbuf is being built outside of gnome-libs.
642 * doc/gdk-pixbuf-sections.txt: Added gdk_pixbuf_render_pixmap_and_mask().
644 * gdk-pixbuf/gdk-pixbuf-render.c
645 (gdk_pixbuf_render_pixmap_and_mask): Renamed from
646 gdk_pixbuf_render_pixmap(). Do not create the mask if it is not
647 needed, and do not use a clipping mask when rendering the pixmap.
648 Tweaked documentation a little.
650 * HACKING: New file with hacking policies for the gdk-pixbuf
653 * doc/Makefile.am (tmpl_sources): Added missing backslash.
655 * doc/Makefile.am: Use gnomecanvaspixbuf in gnome-config when
656 scanning for docstrings.
658 * gdk-pixbuf/gdk-pixbuf-util.c (gdk_pixbuf_copy_area): Made sanity
659 checks more stringent. Removed "gint" abominations. Made
660 documentation consistent with the rest of the functions.
662 * doc/gdk-pixbuf-sections.txt: Added gdk_pixbuf_copy_area() to the
665 2000-01-14 Jonathan Blandford <jrb@redhat.com>
667 * gdk-pixbuf/gdk-pixbuf-render.c (gdk_pixbuf_render_pixmap): new
668 function to let you create a gdk_pixmap from a gdk_pixbuf.
670 2000-01-11 Jacob Berkman <jacob@helixcode.com>
672 * gdk-pixbuf/pixops/Makefile.am (INCLUDES): added
673 $LIBART_CFLAGS to $INCLUDES
675 2000-01-10 Elliot Lee <sopwith@redhat.com>
677 * configure.in, gdk-pixbuf/Makefile.am: Build a libcanvas_pixbuf.
679 * configure.in: Define version macros. Generate
680 gdk-pixbuf/gdk-pixbuf-features.h. Always INSIDE_GNOME.
682 * gdk-pixbuf/Makefile.am: Add gdk-pixbuf-features.h
684 * gdk-pixbuf/gdk-pixbuf.c: Add definitions of
685 gdk-pixbuf-features.h declarations, plus some initialization
688 2000-01-05 Owen Taylor <otaylor@redhat.com>
690 * gdk-pixbuf/pixops/pixops.c: Fixed src_channels/dest_channels
691 confusion. (Again caught by Tomas Ogren's Purify)
693 2000-01-07 Jonathan Blandford <jrb@redhat.com>
695 * gdk-pixbuf/gdk-pixbuf-xform.c (gdk_pixbuf_rotate): comment out
698 * gdk-pixbuf/gdk-pixbuf-io.c: Added progressive animation loading.
699 * gdk-pixbuf/gdk-pixbuf-io.h: Added progressive animation loading.
700 * gdk-pixbuf/gdk-pixbuf-loader.c: Added progressive animation
702 * gdk-pixbuf/gdk-pixbuf-loader.h: Added progressive animation
704 * gdk-pixbuf/io-gif.c (image_load_increment): I think the
705 ref-counting mess is finally fixed. Added progressive animation
707 (gif_get_lzw): remove memory_leak
709 * doc/tmpl/gdk-pixbuf-loader.sgml: much longer long description
712 2000-01-05 Owen Taylor <otaylor@redhat.com>
714 * gdk-pixbuf/pixops/pixops.c (pixops_process): Fix computation of end of run indices.
716 * gdk-pixbuf/pixops/pixops.c: Fix double increments when dest_channels == 4.
717 (Pointed out by Tomas Ogren)
719 2000-01-05 Mark Crichton <crichton@gimp.org>
721 * gdk-pixbuf/gdk-pixbuf-loader.c (gdk_pixbuf_loader_eat_header_write):
722 Return 0 if gdk_pixbuf_load_loader_module returns FALSE.
724 2000-01-05 Elliot Lee <sopwith@redhat.com>
726 * gdk-pixbuf/pixops/Makefile.am: Link with -lm (to get 'ceil' function)
728 2000-01-05 Owen Taylor <otaylor@redhat.com>
730 * doc/Makefile.am doc/gdk-pixbuf-sections.txt
731 doc/gdk-pixbuf.sgml doc/tmpl/scaling.sgml:
732 Added scaling functions into gtk-doc framework.
734 * gdk-pixbuf/gdk-pixbuf-scale.c: Documentation fixes.
736 * gdk-pixbuf/testpixbuf-scale.c (expose_cb): Simplify a bit.
738 * gdk-pixbuf/pixops/pixops.c (pixops_composite_color): Return
739 immediately if scale_x or scale_y is 0.
741 2000-01-05 Owen Taylor <otaylor@redhat.com>
743 * gdk-pixbuf/pixops/timescale.c: quick fix for initializing
746 2000-01-05 Jonathan Blandford <jrb@redhat.com>
748 * gdk-pixbuf/gdk-pixbuf-io.h: Change the order of the update func
749 to make it more compatible with the rest of GTK. Added animation
750 framework for progressive loading.
752 * gdk-pixbuf/io-bmp.c (image_begin_load): Modified to handle new
754 * gdk-pixbuf/io-ico.c (image_begin_load): ditto
755 * gdk-pixbuf/io-png.c (image_begin_load): ditto
756 * gdk-pixbuf/io-ras.c (image_begin_load): ditto
757 * gdk-pixbuf/io-jpeg.c (image_begin_load): ditto
758 * gdk-pixbuf/io-pnm.c (image_begin_load): ditto
759 * gdk-pixbuf/io-tiff.c (image_begin_load): ditto
760 * gdk-pixbuf/io-gif.c (image_begin_load): ditto
762 2000-01-05 Owen Taylor <otaylor@redhat.com>
764 * gdk-pixbuf/pixops/README: Added a README with a TODO
765 and some explainations of the algorithms.
767 * gdk-pixbuf/testpixbuf-scale.c: Set a background pixmap of None
768 to reduce flashing when resizing.
770 2000-01-05 Owen Taylor <otaylor@redhat.com>
772 * gdk-pixbuf/pixops/: Directory full of pixel data scaling
773 code that will eventually migrate into libart.
775 * configure.in acconfig.h: Add checks for MMX compiler support
777 * gdk-pixbuf/gdk-pixbuf.h gdk-pixbuf/gdk-pixbuf-scale.c:
778 Nice wrapper routines for the code in pixops that operate
779 on pixbufs instead of raw data.
781 * gdk-pixbuf/testpixbuf-scale: Test program for scaling
784 2000-01-05 Jonathan Blandford <jrb@redhat.com>
786 * doc/tmpl/animation.sgml: Documentation changes.
788 2000-01-01 Federico Mena Quintero <federico@helixcode.com>
790 * gdk-pixbuf/gdk-pixbuf.h (GdkPixbufAnimation): Added reference
791 counting to animations. A web browser may want to share a single
792 copy of an animated GIF if it appears multiple times in a web
795 * gdk-pixbuf/gdk-pixbuf-animation.c: New file. Moved the
796 animation functions here.
797 (gdk_pixbuf_animation_new_from_file): Prettified. Return a NULL
798 animation if the loader does not support multiframe loading and
799 the single-frame load returned NULL. Check that the filename is
800 not NULL. Updated inline documentation.
801 (gdk_pixbuf_animation_ref): New function.
802 (gdk_pixbuf_animation_unref): New function.
803 Removed gdk_pixbuf_animation_destroy() in favor of reference
806 * gdk-pixbuf/gdk-pixbuf-io.c (gdk_pixbuf_new_from_file):
807 Prettified. Made ref_count assertion more paranoid. Check that
808 the filename is not NULL.
809 (gdk_pixbuf_get_module): Use guchar * and guint for buffer and
811 (gdk_pixbuf_new_from_xpm_data): Changed the "data" argument to
814 * gdk-pixbuf/io-gif.c (image_load_animation): Create the animation
815 with a reference count of 1.
817 * gdk-pixbuf/Makefile.am (libgdk_pixbuf_la_SOURCES): Added
818 gdk-pixbuf-animation.c.
820 * doc/tmpl/animation.sgml: Populated. It is still missing a
821 description of the overlay modes.
823 * doc/gdk-pixbuf-sections.txt: Added the animation section. Moved
824 the canvas item section to the end, as it will be moved later to
827 * doc/gdk-pixbuf.sgml: Added the animation section.
829 * doc/Makefile.am (tmpl_sources): Added tmpl/animation.sgml.
831 1999-12-26 Peter Teichman <pat@gnu.org>
833 * gdk-pixbuf/Makefile.am (libpixbuf_tiff_la_LIBADD): add
834 $(LIBTIFF) to libpixbuf_tiff_la_LIBADD, proxying for mmarker.
835 This closes bug #4676.
837 1999-12-23 Havoc Pennington <hp@pobox.com>
839 * gdk-pixbuf/io-gif.c (image_load): Stuff that should have been
840 set to NULL here (specifically context->animation) was not being
841 set to NULL. use g_new0() to alloc the struct.
843 1999-12-20 Jonathan Blandford <jrb@redhat.com>
845 * gdk-pixbuf/io-gif.c: finished work to make animated gifs load
846 correctly. Progressive loading needs some work, but that all
847 needs doing from the gdk-pixbuf-loader end, not here.
849 1999-12-17 Jonathan Blandford <jrb@redhat.com>
851 * gdk-pixbuf/gdk-pixbuf-io.c (gdk_pixbuf_animation_new_from_file):
852 moved the file here. It seems natural to put this function here,
853 as that's where the gdk_pixbuf_new_from_file function is, but it's
854 still a little convoluted. The source files might be played with
857 1999-12-14 Jonathan Blandford <jrb@redhat.com>
859 * gdk-pixbuf/gdk-pixbuf-loader.c
860 (gdk_pixbuf_loader_get_animation): Gets the animation from the
863 1999-12-16 Federico Mena Quintero <federico@redhat.com>
865 * doc/tmpl/rendering.sgml: Added notice about initializing GdkRGB
866 before using the GdkPixbuf rendering functions. Thanks to Joe
867 Shaw <joe@off.net> for pointing this out.
869 1999-12-13 Federico Mena Quintero <federico@redhat.com>
871 * gdk-pixbuf/gnome-canvas-pixbuf.c
872 (gnome_canvas_pixbuf_class_init): Renamed arguments to
873 width_in_pixels, height_in_pixels, x_in_pixels, y_in_pixels, for
874 consistency with the new canvas.
875 (PixbufPrivate): Do the same renaming in the structure fields, for
878 * doc/tmpl/gnome-canvas-pixbuf.sgml: Updated for new argument names.
880 1999-12-12 Federico Mena Quintero <federico@redhat.com>
882 * gdk-pixbuf/Makefile.am (libgdk_pixbuf_la_LDFLAGS): Use a
883 conditional to see whether to link $(GNOME_LIBS) or not.
885 1999-12-10 Jonathan Blandford <jrb@redhat.com>
887 * gdk-pixbuf/gdk-pixbuf-io.h: thinking about the new loading API.
889 * gdk-pixbuf/gdk-pixbuf-drawable.c (gdk_pixbuf_get_from_drawable):
890 make a warning go away.
892 * gdk-pixbuf/gdk-pixbuf.h: added new prototypes for animations.
894 * gdk-pixbuf/gdk-pixbuf-loader.h: added new prototypes for
897 1999-12-09 Michael Zucchi <zucchi@zedzone.mmc.com.au>
899 * gdk-pixbuf/gdk-pixbuf.h: Enable gdk_pixbuf_get_from_drawable()
902 * gdk-pixbuf/gdk-pixbuf-drawable.c (gdk_pixbuf_get_from_drawable):
903 Filled in body of function.
904 (rgbconvert): Added GdkColormap parameter, and to all conversion
906 (convert_real_slow): New function - should convert ANY visual/data
907 format properly, but it aint fast. Used as a fallback when an
908 optimised routine wont match.
909 (rgbconvert): Do very specific tests on the data format to verify
910 properly if the optimised version will do, otherwise use the
911 fallback function for all other data formats.
913 * gdk-pixbuf/Makefile.am: Re-enabled building of
916 * gdk-pixbuf/testpixbuf-drawable.c (main): Changed to use
917 gdk_pixbuf_get_from_drawable().
919 1999-12-08 Arjan van de Ven <arjan@fenrus.demon.nl>
921 * gdk-pixbuf/gdk-pixbuf-drawable.c : Fixed the red/green/red
922 bug on two occasions.
923 * gdk-pixbuf/io-ras.c: Changed from the custom be32_to_cpu
924 function to the generic glib one.
926 1999-12-08 Federico Mena Quintero <federico@redhat.com>
928 * gdk-pixbuf/gdk-pixbuf-drawable.c: Fix includes.
929 (gdk_pixbuf_get_from_drawable): Implemented the zillion sanity
930 checks and API definition. The body needs filling in and it needs
931 to do the Right Thing(tm) for pixmaps plus the given colormap and
932 windows and their own colormaps.
934 * gdk-pixbuf/gdk-pixbuf.h: Added prototype for
935 gdk_pixbuf_get_from_drawable(). Killed gdk-pixbuf-drawable.h.
937 * gdk-pixbuf/Makefile.am: Re-added the gdk-pixbuf-drawable sources.
939 * doc/tmpl/from-drawables.sgml: Populated.
941 * doc/gdk-pixbuf.sgml: Added the from-drawables section.
943 * doc/Makefile.am (tmpl_sources): Added tmpl/from-drawables.sgml.
945 * doc/gdk-pixbuf-sections.txt: Added a section for getting pixbufs
948 1999-12-07 Federico Mena Quintero <federico@redhat.com>
950 * doc/tmpl/gnome-canvas-pixbuf.sgml: Added clarification about
951 reference counting for GdkPixbuf structures.
953 1999-12-07 Martin Baulig <martin@home-of-linux.org>
955 * gdk-pixbuf/Makefile.am (testpixbuf_LDADD): Conditionally
956 include $(GNOME_LIBS) here.
958 1999-12-05 Arjan van de Ven <arjan@fenrus.demon.nl>
960 Added missing "include <string.h>" to:
961 * gdk-pixbuf/io-ras.c
962 * gdk-pixbuf/io-bmp.c
963 * gdk-pixbuf/io-ico.c
965 1999-12-06 Federico Mena Quintero <federico@redhat.com>
967 * gdk-pixbuf/gdk-pixbuf-io.c (file_formats): Patch from Arjan to
970 1999-12-05 Federico Mena Quintero <federico@redhat.com>
972 * gdk-pixbuf/Makefile.am (testpixbuf_LDADD): Add back
973 $(GNOME_LIBS). This must compile outside of gnome-libs. If you
974 want, send me a patch to do the conditional stuff properly.
975 Otherwise, please read the GNOME Programming Guidelines,
976 especially the "CVS policies" section.
978 1999-12-05 Jaka Mocnik <jaka.mocnik@kiss.uni-lj.si>
980 * gdk-pixbuf/Makefile.am: removed GNOME_LIBS from testpixbuf_LDADD.
982 1999-12-05 Arjan van de Ven <arjan@fenrus.demon.nl>
984 * gdk-pixbuf/io-ico.c: Bug in palet-size
987 1999-12-04 Arjan van de Ven <arjan@fenrus.demon.nl>
989 * gdk-pixbuf/io-bmp.c: Major cleanup, added support for
990 32 bpp and 4 bpp (uncompressed) images, fixed 1bpp.
992 * gdk-pixbuf/io-ras.c: Minor cleanup, ran through lclint
994 * gdk-pixbuf/io-ico.c: Minor cleanup, fixed 1bpp icons,
997 * gdk-pixbuf/gdk-pixbuf-io.c: Added detection of .CUR files
998 (Windows Cursor files). These are identical to .ICO files,
999 except for the signature and 2 extra fields for the hotspot.
1001 1999-12-03 Federico Mena Quintero <federico@redhat.com>
1003 * gdk-pixbuf/gnome-canvas-pixbuf.c (gnome_canvas_pixbuf_get_arg):
1004 Removed unused variable `item'.
1006 1999-12-03 Jonathan Blandford <jrb@redhat.com>
1008 * gdk-pixbuf/io-gif.c (gif_fill_in_lines): added a comment to
1009 explain this function better.
1011 1999-12-02 Federico Mena Quintero <federico@redhat.com>
1013 Source files moved from src/ to gdk-pixbuf/, to be consistent with
1016 * doc/Makefile.am: Modified for the new source directory.
1018 * configure.in: Likewise.
1020 * Makefile.am: Likewise.
1022 * autogen.sh: Likewise.
1024 * gdk-pixbuf/Makefile.am: Likewise.
1026 1999-12-02 Federico Mena Quintero <federico@redhat.com>
1028 * src/testpixbuf.c: #include <config.h>, and fix includes.
1030 * src/testpixbuf-drawable.c: #include <config.h>, and fix includes.
1032 * src/io-xpm.c: Fix includes.
1034 * src/io-tiff.c: Fix includes.
1036 * src/io-ras.c: Fix includes, and do not include more stuff than needed.
1038 * src/io-pnm.c: Fix inlcudes, and do not include more stuff than needed.
1040 * src/io-png.c: Fix includes.
1042 * src/io-ico.c: Fix includes, and do not include more stuff than needed.
1044 * src/io-gif.c: Fix includes, and do not include more stuff than needed.
1046 * src/io-bmp.c: Fix includes, and do not include more stuff than needed.
1048 * src/gnome-canvas-pixbuf.c: Fix includes.
1050 * src/gdk-pixbuf.c: Fix includes.
1052 * src/gdk-pixbuf-util.c: Fix includes.
1054 * src/gdk-pixbuf-render.c: Fix includes.
1056 * src/gdk-pixbuf-io.h: Fix includes.
1058 * src/gdk-pixbuf-drawable.c: Fix includes.
1060 * src/gdk-pixbuf-drawable.h: Use angle brackets for the gdk-pixbuf
1063 * src/gdk-pixbuf-data.c: Fix includes.
1065 * src/gdk-pixbuf-loader.c: #include <config.h>
1067 * src/gdk-pixbuf-loader.h: Use angle brackets for the gdk-pixbuf
1070 * src/Makefile.am: Commented out the gdk-pixbuf-drawable stuff,
1071 since it is not finished.
1073 * src/gdk-pixbuf.h: Removed unused transformation prototypes.
1075 * src/gdk-pixbuf-util.c: New file with utility and convenience
1076 functions for pixbufs.
1078 * src/Makefile.am (libgdk_pixbuf_la_SOURCES): Added gdk-pixbuf-util.c.
1080 * doc/gdk-pixbuf-sections.txt: Added section for utility functions.
1082 * doc/Makefile.am (tmpl_sources): Added tmpl/util.sgml.
1084 * doc/gdk-pixbuf.sgml: Added the utilities section.
1086 * doc/tmpl/util.sgml: Documentation for the utility functions.
1088 1999-11-29 Owen Taylor <otaylor@redhat.com>
1090 * src/gdk-pixbuf-render.c (gdk_pixbuf_render_to_drawable_alpha):
1091 Keep the mask around until after we draw ... since
1092 the GC changes aren't flushed to the X server until we
1093 draw, destroying it before that may result in BadPixmap
1096 1999-11-30 Havoc Pennington <hp@pobox.com>
1098 * configure.in: Add AM_CONDITIONAL for inside gnome-libs
1100 * src/Makefile.am: conditionalize GnomeCanvasPixbuf
1102 1999-11-29 Federico Mena Quintero <federico@redhat.com>
1104 * src/Makefile.am: Uncomment the GnomeCanvasPixbuf sources. This
1105 should be made conditional, not blindly commented out.
1107 1999-11-29 Jonathan Blandford <jrb@redhat.com>
1109 * src/Makefile.am (ICO_LIB): Added another loader from Arjan to
1110 handle .ico files. Cool.
1112 1999-11-24 Jonathan Blandford <jrb@redhat.com>
1114 * src/io-bmp.c (OneLine24): new patch from Arjan to handle
1117 1999-11-24 James Henstridge <james@daa.com.au>
1119 * configure.in (AC_OUTPUT): altered hack to place the symlink in the
1120 top builddir rather than src. This still builds fine, and does not
1121 get gtk-doc into an infinite loop when trying to find all the source
1124 1999-11-23 Jonathan Blandford <jrb@redhat.com>
1126 * Removed #PRAGMA } from headers. Also, make compile if you don't
1127 have it installed, already.
1129 1999-11-22 Federico Mena Quintero <federico@redhat.com>
1131 * src/gnome-canvas-pixbuf.c (gnome_canvas_pixbuf_draw): Create the
1132 temporary buffer to the size of the interesction of the bounding
1133 box and the expose area, not the whole expose area. This speeds
1136 * src/gdk-pixbuf-render.c (gdk_pixbuf_render_threshold_alpha): Do
1137 not paint black on the mask, since we already cleared it in a
1138 single gdk_draw_rectangle() operation.
1140 1999-11-22 Raja R Harinath <harinath@cs.umn.edu>
1142 * configure.in (GDK_PIXBUF_DIR): Fix for srcdir != builddir.
1144 1999-11-22 Havoc Pennington <hp@pobox.com>
1146 * src/Makefile.am (GDK_PIXBUF_LIBS): Patch from Paul Fisher
1147 <pnfisher@redhat.com> adds all -lgdk-pixbuf and all other
1148 dependencies to LIBADD variables for loadable modules. Necessary
1149 for a Java dynamic loading thing to be able to figure it out.
1151 1999-11-22 Havoc Pennington <hp@pobox.com>
1153 * src/io-png.c (image_load_increment): Call the update_area
1154 callback depending on the number of rows loaded in this increment.
1156 * src/testpixbuf.c (main): slow down the progressive load demo
1158 1999-11-16 Havoc Pennington <hp@pobox.com>
1160 * src/gdk-pixbuf-drawable.h: Get the quotes right on the #include
1162 1999-11-22 Jonathan Blandford <jrb@redhat.com>
1164 * configure.in (GDK_PIXBUF_DIR): make the symlink. Does not work
1165 for srcdir != buildir != . Beats me why; I can't figure it out.
1166 AC_OUTPUT_COMMANDS doesn't seem to let me substitute it correctly.
1168 1999-11-21 Jonathan Blandford <jrb@redhat.com>
1170 * src/gdk-pixbuf-io.c: added io-bmp from Arjan
1171 <arjan@fenrus.demon.nl>
1173 1999-11-20 Michael Zucchi <zucchi@zedzone.mmc.com.au>
1175 * src/gdk-pixbuf-drawable.c (gdk_pixbuf_from_drawable_core):
1176 Rework/reorder of the code. Each case has been separated into
1177 another function; its big but it should be quick.
1178 gdk_pixbuf_rgba_from_drawable() will now return a pixbuf with
1179 opaque alpha information. Not all depths/formats have been
1180 tested, but 8, 15/16 and 24 (alinged 32) should work ok.
1182 1999-11-17 Larry Ewing <lewing@gimp.org>
1184 * src/gnome-canvas-pixbuf.c (gnome_canvas_pixbuf_bounds):
1185 implement the bounds method correctly.
1186 (compute_viewport_affine): compute the affine need to fit the
1187 image within the viewport given by the args.
1188 (compute_render_affine): call compute_viewport_affine.
1190 1999-11-16 Havoc Pennington <hp@pobox.com>
1192 * src/gdk-pixbuf-drawable.h: Use includes from the current
1193 directory, not the system directory.
1195 Mon Nov 15 17:18:28 1999 George Lebl <jirka@5z.com>
1197 * src/testpixbuf-drawable.c: use includes from the current directory
1198 rather then from the system include directory as gdk-pixbuf
1199 includes are not yet installed when this is compiled.
1201 1999-11-13 Cody Russell <bratsche@dfw.net>
1202 * src/testpixbuf-drawable.c: Added a test program for drawable
1205 * src/Makefile.am: Build testpixbuf-drawable.
1207 1999-11-12 Cody Russell <bratsche@dfw.net>
1209 * src/gdk-pixbuf-drawable.c: Merged in Michael Zucchi's changes.
1211 1999-11-10 Federico Mena Quintero <federico@redhat.com>
1213 * doc/tmpl/gdk-pixbuf-loader.sgml: Populated.
1215 * doc/gdk-pixbuf.signals: Put in the real names of signal
1218 * src/gdk-pixbuf-loader.c: Improved documentation comments.
1220 1999-11-10 Jonathan Blandford <jrb@redhat.com>
1222 * src/gdk-pixbuf-loader.c (gdk_pixbuf_loader_close): emit the
1225 * src/io-ras.c (OneLineMapped_file): Now can handle indexing
1226 correctly. Patch from Arjan to do so.
1228 1999-11-10 Michael Fulbright <drmike@redhat.com>
1230 * src/io-pnm.c (pnm_ascii_read_scanline): Fixed loading of ASCII PNM
1233 * src/testpixbuf.c: Added final queued draw when done loading image.
1235 1999-11-10 Jonathan Blandford <jrb@redhat.com>
1237 * src/gdk-pixbuf-io.c (gdk_pixbuf_load_module): removed spurious
1240 1999-11-10 Federico Mena Quintero <federico@redhat.com>
1242 * src/gdk-pixbuf-io.c (gdk_pixbuf_new_from_xpm_data): Added
1245 1999-11-09 Federico Mena Quintero <federico@redhat.com>
1247 * src/io-png.c: Fixed some incompatible pointer initializations.
1249 * src/io-jpeg.c (image_load_increment): Remove unused variable.
1251 1999-11-09 Michael Fulbright <drmike@redhat.com>
1253 * src/testpixbuf.c: Fixed it to use timeout to read from file
1254 for progressive loading. Set TBF_KBPS=n, where n is the number of
1255 kilobytes/second to simulate in downloading. n has to be an integer.
1257 * src/io-jpeg.c: Slight cosmetic cleanup.
1259 * src/io-pnm.c: Fixed raw PNM loading bug. Also discovered that ASCII
1260 PBM loading has a similar problem and will address tomorrow.
1262 1999-11-09 Havoc Pennington <hp@pobox.com>
1264 * src/Makefile.am (libgdk_pixbuf_la_SOURCES): build the
1265 gdk-pixbuf-drawable stuff.
1267 1999-11-09 Federico Mena Quintero <federico@redhat.com>
1269 * configure.in: Bumped version number to 0.4.
1271 1999-11-09 Michael Fulbright <drmike@redhat.com>
1273 * src/io-pnm.c : Finished progressive PNM loading code. Should handle
1274 all types of PNM files now.
1276 * src/io-jpeg.c (image_load_increment): Figured out problem with
1277 loading Progressive JPEG's progressively (say that 10 times fast).
1278 Currently for Progressive JPEG's the entire image is loaded before
1279 it is displayed. libjpeg supports a fancier mechanism which I may
1282 With these changes all JPEG formats appear to load properly for me.
1284 1999-11-08 Jonathan Blandford <jrb@redhat.com>
1286 * src/io-ras.c (image_load_increment): Final patch from Arjan.
1287 Seems to do progressive loading.
1289 1999-11-08 Michael Fulbright <drmike@redhat.com>
1291 * src/io-pnm.c image_load (): Fixed so we do not create a separate
1292 pixel buffer when reading in image - we reuse the pixel data in
1293 the GdkPixbuf structure instead.
1295 1999-11-08 Michael Fulbright <drmike@redhat.com>
1297 * src/io-pnm.c pnm_read_ascii_scanline (): Added support for
1298 ASCII PNM files. Note I haven't tested loaded ASCII PBM files because
1299 I can't seem to find a utility to convert into this format.
1300 Next is to add progressive loading support for the PNM format.
1302 1999-11-07 Federico Mena Quintero <federico@redhat.com>
1304 * doc/tmpl/gnome-canvas-pixbuf.sgml: Finished detailed explanation
1305 of the width, height, x, and y setting and pixels arguments.
1307 1999-11-05 Jonathan Blandford <jrb@redhat.com>
1309 * src/io-ras.c (image_load): third patch. Now it seems to load.
1311 * src/gdk-pixbuf-io.c: second patch Arjan van de Ven
1312 <arjan@fenrus.demon.nl> to autodetect/load the sunras files.
1314 * src/io-ras.c (image_load): new file from Arjan van de Ven
1315 <arjan@fenrus.demon.nl> to begin the ras loader.
1317 1999-11-05 Federico Mena Quintero <federico@redhat.com>
1319 * doc/gdk-pixbuf-sections.txt: Removed gdk-pixbuf-io, since it is
1320 for internal use only.
1322 * doc/gdk-pixbuf.sgml: Likewise.
1324 * doc/tmpl/gnome-canvas-pixbuf.sgml: Finished docs.
1326 1999-11-05 Michael Fulbright <drmike@redhat.com>
1328 * src/io-pnm.c: Implemented support for reading raw PBM/PGM/PPM
1329 files from a file. Next step is support for ASCII files, and
1330 then incremental loading.
1332 1999-11-04 Federico Mena Quintero <federico@redhat.com>
1334 * Makefile.am: Added doc to SUBDIRS.
1336 1999-11-04 Michael Fulbright <drmike@redhat.com>
1338 * src/io-jpeg.c: Prettied up code slightly.
1339 * src/io-pnm.c: Start of pnm loader (from file and progressively).
1340 Doesn't do much yet (will finish tomorrow).
1341 * src/gdk-pixbuf-io.c: Added pnm to structure of known types.
1343 1999-11-04 Federico Mena Quintero <federico@redhat.com>
1345 * doc/tmpl/rendering.sgml: Populated.
1347 * doc/Makefile.am: Added the template files.
1349 1999-11-04 Havoc Pennington <hp@pobox.com>
1351 * src/gdk-pixbuf-render.c (gdk_pixbuf_render_to_drawable): In
1352 docs, explain what a dither offset is for.
1353 (gdk_pixbuf_render_to_drawable_alpha): Explain why you would use
1354 this function vs. gdk_pixbuf_render_to_drawable().
1356 1999-11-04 Havoc Pennington <hp@pobox.com>
1358 * configure.in: Use libart-config correctly; find gnome-config
1359 separately. Fix GNOME_LIBS to be correct in "no gnome installed
1362 * src/Makefile.am: Link to GNOME_LIBS instead of a hardcoded
1365 Patch untested in the inside-gnome-libs case, I need to commit
1366 then check out to the gnome-libs I'm using.
1368 1999-11-04 Michael Fulbright <drmike@redhat.com>
1370 * src/io-jpeg.c (image_begin_load): Add update_func callback.
1371 * src/io-jpeg.c (image_load_increment): Call updated callback when
1372 new graphic data decoded.
1374 1999-11-04 Jonathan Blandford <jrb@redhat.com>
1376 * src/gdk-pixbuf-loader.c (gdk_pixbuf_loader_update): handle the
1378 * src/io-png.c (image_begin_load): add a update_func callback.
1379 * src/io-gif.c (image_begin_load): add a update_func callback.
1380 (gif_get_lzw): added the update_func ability
1382 * src/io-tiff.c (image_begin_load): add a update_func callback.
1384 1999-11-04 Federico Mena Quintero <federico@redhat.com>
1386 * doc/tmpl/gdk-pixbuf.sgml: Populated.
1388 * doc/tmpl/refcounting.sgml: Populated.
1390 * doc/tmpl/file-loading.sgml: Populated.
1392 * src/gdk-pixbuf.c: Added documentation comments.
1394 * src/gdk-pixbuf-io.c (gdk_pixbuf_new_from_file): Added
1395 documentation comments.
1397 * doc/: Finished integrating the documentation framework.
1399 1999-11-03 Federico Mena Quintero <federico@redhat.com>
1401 * configure.in: Removed libgif stuff now that we do not depend on it.
1402 Added the necessary cruft for gtk-doc.
1404 * src/Makefile.am: Unconditionally build the GIF loader.
1406 1999-11-03 Jonathan Blandford <jrb@redhat.com>
1408 * src/io-gif.c (gif_read): renamed ReadOK to gif_read.
1409 Added a lot of comments to the file.
1411 * src/Makefile.am (libpixbuf_gif_la_LIBADD): Remove dependency on
1414 1999-11-03 Michael Fulbright <drmike@redhat.com>
1416 * src/io-jpeg.c (image_load_increment): Further removal of
1417 bugginess in local buffering code. Handles grayscale jpegs
1420 * src/io-jpeg.c (image_load_stop): Was freeing local context
1421 for jpeg library before calling jpeg_decompres_finish ().
1423 1999-11-03 Jonathan Blandford <jrb@redhat.com>
1425 * src/io-gif.c (image_load_increment): now handle arbitrary buffer
1427 (gif_get_lzw): set the transparency to the right val.
1429 1999-11-03 Federico Mena Quintero <federico@redhat.com>
1431 * src/gnome-canvas-pixbuf.c (gnome_canvas_pixbuf_init):
1432 Initiailize the x and y fields.
1433 (gnome_canvas_pixbuf_destroy): Queue a redraw upon destruction.
1434 (PixbufPrivate): Renamed need_size_update to need_xform_update.
1435 (recompute_bounding_box): Do not use temporary values.
1437 1999-11-03 Jonathan Blandford <jrb@redhat.com>
1439 * src/io-gif.c (set_gif_lzw_clear_code): new state. Fixes
1442 * src/gnome-canvas-pixbuf.c (recompute_bounding_box): remove
1443 unneeded x,y,h,w vars.
1445 1999-11-03 Larry Ewing <lewing@gimp.org>
1447 * src/gnome-canvas-pixbuf.c (compute_render_affine): adjust
1448 render_affine calculation for x,y offsets.
1449 (gnome_canvas_pixbuf_set_arg): add x,y args.
1450 (gnome_canvas_pixbuf_get_arg): add x,y args.
1451 (recompute_bounding_box): simply code using ArtDrect and the
1452 render_affine. Removed compute_xform_vectors as it was no longer
1455 1999-11-03 Federico Mena Quintero <federico@redhat.com>
1457 * src/gnome-canvas-pixbuf.c (gnome_canvas_pixbuf_point): I'm a
1458 doofus. Return a distance, not a boolean, for opaque images.
1460 * src/gnome-canvas-pixbuf.c (recompute_bounding_box): Do proper
1461 rounding of bounding box coordinates.
1462 (gnome_canvas_pixbuf_bounds): Implemented the ::bounds() method.
1463 (gnome_canvas_pixbuf_draw): Use the correct alpha threshold value.
1465 1999-11-03 Jonathan Blandford <jrb@redhat.com>
1467 * src/io-gif.c (gif_prepare_lzw): s/lwz/lzw/g
1469 1999-11-03 Michael Fulbright <drmike@redhat.com>
1471 * src/io-jpg.c (image_load_increment): Fixed code which moved
1472 buffer around as new data comes in to work properly. JPEG progressive
1473 loading should be working now except for grayscale JPEG's, which I
1474 will look into next.
1476 1999-11-03 <sopwith@redhat.com>
1477 * src/testpixbuf.c: A GtkFunction needs to return a value for deterministic behaviour.
1478 Also put dot printing back in.
1480 1999-11-03 <jrb@redhat.com>
1482 * src/io-gif.c (gif_get_extension): Read 'til the next empty block
1485 1999-11-02 Cody Russell <bratsche@dfw.net>
1486 * src/gdk-pixbuf-drawable.c: Changed the behavior to return NULL
1487 if part of the requested image is offscreen, rather than clipping
1490 1999-11-02 Jonathan Blandford <jrb@redhat.com>
1492 * src/io-gif.c (gif_fill_in_lines): Fill in the gif's blank areas
1493 for interlacing and progressive loading.
1495 1999-11-02 Cody Russell <bratsche@dfw.net>
1496 * src/gdk-pixbuf-drawable.c (gdk_pixbuf_from_drawable_core): Now
1497 calls gdk_pixbuf_new_from_art_pixbuf() instead of gdk_pixbuf_new().
1499 1999-11-02 Jonathan Blandford <jrb@redhat.com>
1501 * src/io-gif.c (gif_main_loop): Now progressive gif loading works!
1502 It's a little slow though. )-:
1504 1999-11-02 Elliot Lee <sopwith@redhat.com>
1505 * src/gdk-pixbuf-loader.[ch], src/gdk-pixbuf-io.h: Make the arguments to the
1506 write/load_increment operations const-correct.
1508 1999-11-02 Federico Mena Quintero <federico@redhat.com>
1510 * src/gnome-canvas-pixbuf.c (gnome_canvas_pixbuf_point):
1511 Implemented the ::point() method. We do a simple containment test
1512 instead of a full distance calculation since the canvas is going
1513 to change to that scheme, anyways.
1515 1999-11-02 Elliot Lee <sopwith@redhat.com>
1517 * src/testpixbuf.c: Allow using $TBF_READLEN to specify the size of the chunks
1518 that are read from the input file.
1520 1999-11-02 Larry Ewing <lewing@gimp.org>
1522 * src/gnome-canvas-pixbuf.c (gnome_canvas_pixbuf_render): add aa
1524 (gnome_canvas_pixbuf_class_init): add gnome_canvas_pixbuf_render
1527 1999-11-02 Federico Mena Quintero <federico@redhat.com>
1529 * src/gnome-canvas-pixbuf.c (compute_render_affine): Moved the
1530 affine computation code from ::draw() to here, since it is needed
1531 by ::point() as well.
1533 1999-11-02 Elliot Lee <sopwith@redhat.com>
1535 * src/gdk-pixbuf-loader.c: Reorganize gdk_pixbuf_loader_write into
1536 three functions, and eliminate duplication of code from write()
1537 and close(). Also fix bug where the 128-byte header was being
1540 1999-11-01 Federico Mena Quintero <federico@redhat.com>
1541 * src/gnome-canvas-pixbuf.c (recompute_bounding_box): Fixed
1542 bounding box computation.
1544 1999-11-01 Federico Mena Quintero <federico@redhat.com>
1546 * src/gnome-canvas-pixbuf.c: Start of the pixbuf canvas item.
1547 Drawing affines seem to work. Bounding box is fubared. ::point()
1548 is not implemented. This is a work in progress.
1550 * src/Makefile.am: Added gnome-canvas-pixbuf.[ch] to the list of
1553 * configure.in: Sigh. We need to link in libgnomeui for the
1554 canvas stuff. This mess will disappear when gdk-pixbuf gets
1555 folded into gnome-libs.
1557 1999-10-30 Jonathan Blandford <jrb@redhat.com>
1559 * src/io-gif.c: Some more work. Now it generates a gdk_pixbuf of
1560 the right size, at a minimum, even if the image is squished and
1562 (ReadImage): lets get the offset right. This will let transparent
1565 1999-10-29 Michael Fulbright <drmike@redhat.com>
1567 * src/io-jpeg.c: image_load_increment(): Fixed bug when
1568 image width was not a multiple of 4 - always use the
1569 gdk_pixbuf rowstride to increment pointers!
1571 1999-10-29 Michael Fulbright <drmike@redhat.com>
1573 * src/io-jpeg.c: Added first cut at progressive jpeg loading.
1574 Currently does not handle either progressive jpeg files (jpeg
1575 files with multiple scans at different quality settings), but
1576 I plan on adding this support soon. These are fairly rare in
1577 my experience, so it shouldn't slow people down too much.
1578 Grayscale jpegs also don't work but that should be easy to fix.
1580 1999-10-29 Michael Fulbright <drmike@redhat.com>
1582 * src/testpixbuf.c: Added title to windows so you can identify
1583 progressive and file windows.
1585 1999-10-29 Michael Fulbright <drmike@redhat.com>
1587 * src/gdk-pixbuf-loader.c (gdk_pixbuf_loader_write): Actually
1588 load the image handler when we determine the image type.
1590 * src/gdk-pixbuf-io.[ch] (gdk_pixbuf_load_module): Changed the
1591 previously static function load_image_handler () to
1592 a public function gdk_pixbuf_load_module (). It is needed in
1593 gdk-pixbuf-loader.c to load image handler modules. This function
1594 is different from gdk_pixbuf_get_module (), which only returns
1595 a reference to the required handler, because it actually loads
1596 the handler into memory. Both actions should possibly be combined
1597 in a convenience function since one w/o the other doesn't seem to
1600 1999-10-28 Jonathan Blandford <jrb@redhat.com>
1602 * src/gdk-pixbuf-loader.c (gdk_pixbuf_loader_write): don't send a
1605 1999-10-28 Federico Mena Quintero <federico@redhat.com>
1607 * src/gdk-pixbuf-render.c (gdk_pixbuf_render_to_drawable): New
1608 function to render a portion of a pixbuf to a drawable. Ignores
1609 alpha information and takes in a GC.
1610 (gdk_pixbuf_render_to_drawable_alpha): New function to render a
1611 portion of a pixbuf to a drawable. It automatically creates a GC
1612 and a clipping mask for alpha pixbufs.
1614 1999-10-28 Jonathan Blandford <jrb@redhat.com>
1616 * src/gdk-pixbuf.h: turned convenience macros into convenience
1617 functions so some error checking could be added.
1619 * src/io-tiff.c (image_load_increment): started work on the tiff
1620 non-incremental loader.
1621 (image_begin_load): Finished the incremental loader.
1623 * src/io-gif.c (image_load_increment): started work on the gif
1626 * src/gdk-pixbuf-io.h: Changed ModuleType to GdkPixbufModule.
1628 1999-10-27 Federico Mena Quintero <federico@redhat.com>
1630 * src/gdk-pixbuf-render.c (gdk_pixbuf_render_threshold_alpha): New
1631 function to threshold a pixbuf's alpha channel into a bitmap.
1633 * src/gdk-pixbuf.c (gdk_pixbuf_new): Fixed so that it will
1634 contemplate future extensions to ArtPixBuf's formats.
1636 * src/io-png.c (png_info_callback): Use the new API of gdk_pixbuf_new().
1638 * src/gdk-pixbuf.h (gdk_pixbuf_get_height): Added some convenience
1639 macros to fetch the ArtPixBuf's fields.
1641 1999-10-27 Havoc Pennington <hp@pobox.com>
1643 * src/testpixbuf.c (main): Display the progressive load
1645 * src/io-png.c (setup_png_transformations): Break transformation
1646 code into separate function
1647 (png_info_callback): Use setup_png_transformations
1649 1999-10-27 Havoc Pennington <hp@pobox.com>
1651 * src/gdk-pixbuf-io.c (gdk_pixbuf_new_from_xpm_data): Check
1652 properly whether the XPM module has already been loaded
1653 (gdk_pixbuf_new_from_file): Check properly if loader module
1654 was already loaded (was checking if load symbol was present
1655 in order to decide whether to re-load; should check module !=
1656 NULL, then load != NULL)
1657 (image_handler_load): Check in present working directory,
1658 makes it easier to debug for now
1659 (file_formats): This array initializer was seriously on crack,
1660 was assigning a function pointer to a GModule*
1662 * src/testpixbuf.c (main): Change type of pixbuf_loader to GdkPixbufLoader*
1664 1999-10-27 Havoc Pennington <hp@pobox.com>
1666 * src/gdk-pixbuf-loader.c (gdk_pixbuf_loader_finalize):
1667 Fix typo that prevented compilation
1668 (gdk_pixbuf_loader_destroy): ditto
1670 1999-10-27 Federico Mena Quintero <federico@redhat.com>
1672 * src/gdk-pixbuf-loader.c (gdk_pixbuf_loader_new): Return a
1673 GdkPixbufLoader, not a GtkObject.
1674 (gtk_marshal_NONE__INT_INT_INT_INT): Made static.
1675 (gdk_pixbuf_loader_get_type): Documented.
1676 (gdk_pixbuf_loader_class_init): Initialize the parent class
1678 (gdk_pixbuf_loader_destroy): Added sanity checks. Call the parent
1679 class destroy function.
1680 (gdk_pixbuf_loader_new): Documented.
1681 (gdk_pixbuf_loader_finalize): Call the parent class finalize
1683 (gdk_pixbuf_loader_write): Use size_t for count.
1685 1999-10-27 Michael Fulbright <drmike@redhat.com>
1687 * src/gdk-pixbuf-loader.c (gdk_pixbuf_loader_destroy): Fixed
1688 logic so we only try to close loader if it wasn't previously closed.
1690 1999-10-27 Michael Fulbright <drmike@redhat.com>
1692 * src/gdk-pixbuf-loader.c: Made sure image_loader struct member of
1693 pixbuf_loader properly initialized.
1695 * src/testpixbuf.c: Made sure we cleanup pixbuf_loader properly
1698 1999-10-26 Jonathan Blandford <jrb@redhat.com>
1700 * src/gdk-pixbuf-io.c (image_handler_load): load the vtable fully.
1702 * src/gdk-pixbuf-loader.c: Finished initial cut at the object.
1704 1999-10-26 Havoc Pennington <hp@pobox.com>
1706 * src/gdk-pixbuf-loader.h: fix signals
1708 * src/gdk-pixbuf-io.h: add new vtable fields
1711 1999-10-26 Jonathan Blandford <jrb@redhat.com>
1713 * src/gdk-pixbuf-loader.h: New Class. Beginning of progrssive
1716 1999-10-25 Federico Mena Quintero <federico@redhat.com>
1718 * configure.in (CFLAGS): Patch from Uwe Koloska
1719 <koloska@Rcs1.urz.tu-dresden.de> to fix a stupid typo of mine.
1721 1999-10-22 Havoc Pennington <hp@pobox.com>
1723 * src/io-xpm.c (mem_buffer): Clean up stupid
1724 increment-inside-array-dereference thing
1726 * src/testpixbuf.c: Add XPM data tests.
1728 * src/io-xpm.c: Make the XPM data buffer const, fix const
1729 correctness throughout the code.
1731 1999-10-22 Havoc Pennington <hp@pobox.com>
1733 * src/gdk-pixbuf.h: Export gdk_pixbuf_new_from_xpm_data()
1735 1999-10-22 Havoc Pennington <hp@pobox.com>
1737 * src/io-xpm.c (image_load_xpm_data): Export this symbol for
1738 loading an XPM from memory.
1740 * src/gdk-pixbuf-io.c (gdk_pixbuf_new_from_xpm_data): New
1741 function, loads pixbuf from xpm data
1742 (image_handler_load): Add g_return_if_fail() to ensure the same
1743 module isn't loaded twice. Add g_module_symbol() to scan for XPM
1746 1999-10-22 Federico Mena Quintero <federico@redhat.com>
1748 * src/io-png.c (image_load): Patch from Kristian Hogsberg
1749 Kristensen <hogsberg@daimi.au.dk> to avoid allocating extra row
1750 buffers; the rows can be read in directly into the main pixel
1753 1999-10-20 Federico Mena Quintero <federico@redhat.com>
1755 * src/gdk-pixbuf-io.c (image_handler_load): Free path.
1757 1999-10-20 Federico Mena Quintero <federico@redhat.com>
1759 * configure.in: Bumped version number to 0.3.
1761 * src/Makefile.am (lbgdk_pixbuf_la_LDFLAGS): Added a libtool
1762 version number for the library.
1764 1999-10-20 Federico Mena Quintero <federico@redhat.com>
1766 * src/gdk-pixbuf.h (GdkPixbuf): Removed the unref_fn field. Now
1767 all memory management of the buffer is done by libart.
1769 * src/gdk-pixbuf.c (gdk_pixbuf_unref): Do destruction here.
1770 Removed gdk_pixbuf_destroy, gdk_pixbuf_duplicate.
1772 * src/gdk-pixbuf-data.c (gdk_pixbuf_new_from_data): Implemented in
1773 terms of the libart functions. Removed the old code.
1775 * src/gdk-pixbuf-io.c (image_handler_load): Removed the save
1776 symbols. Saving will not be implemented in GdkPixbuf.
1778 * src/io-gif.c: Removed the saving stub.
1779 (image_load): Fixed memory management to fail gracefully if we run
1780 out of memory while loading the image. Close the gif file when we
1781 are done. This still needs more error handling for the DGif
1784 * src/io-jpeg.c (image_load): Some robustness fixes.
1786 * src/io-png.c: Removed the saving stuff.
1787 (image_load): Some memory management fixes.
1789 * src/io-tiff.c (image_load): Ditto.
1791 * src/io-xpm.c (pixbuf_create_from_xpm): Ditto.
1793 1999-10-18 Havoc Pennington <hp@pobox.com>
1795 * subautogen.sh: New name for macros/autogen.sh
1797 * autogen.sh: use subautogen.sh
1799 1999-10-18 Federico Mena Quintero <federico@redhat.com>
1801 * src/*: Reindented to use the GNOME Indentation. Renamed
1802 GdkPixBuf to GdkPixbuf, for consistency with the function names
1803 (and it is also easier to type) :-)
1805 1999-10-18 Havoc Pennington <hp@pobox.com>
1807 * configure.in: Use AM_PATH_GLIB instead of glib-config directly
1809 * src/Makefile.am: Re-enable testpixbuf with GTK_CFLAGS/GTK_LIBS
1811 1999-10-18 Havoc Pennington <hp@pobox.com>
1813 * Makefile.am (SUBDIRS): Remove "macros"
1815 * configure.in: Don't use GNOME_INIT, handle case where we are
1816 inside gnome-libs. AM_PATH_GTK for the GIF test
1818 * src/Makefile.am: Change flags to work without libgnomeui,
1819 comment out testpixbuf for now
1821 1999-10-18 Federico Mena Quintero <federico@redhat.com>
1823 * configure.in: Use $GTK_LIBS as the extra libs when checking for
1824 libgif/libungif, as they need the X libraries. Fixes bug #2472.
1826 1999-10-10 Cody Russell <bratsche@dfw.net>
1827 * src/gdk-pixbuf-drawable.c: core function now determines whether
1828 the requested geometry is on screen or not, and if some is not
1829 then the request is clamped to geometry that is on the screen.
1831 Changed 'pixbuf' to 'art_pixbuf' in core function.
1833 1999-10-08 Michael Fulbright <drmike@redhat.com>
1835 * src/gdk-pixbuf-data.c: Added to load rgb data from const data.
1837 * src/testpifbuf: Changed test program to display cdrom from rgb data
1838 if no filename given to test program.
1840 1999-10-07 Cody Russell <bratsche@dfw.net>
1841 * src/gdk-pixbuf-drawable.[ch]: Added. (Actually, Miguel committed
1842 them, but I wrote them).
1844 * src/gdk-pixbuf-drawable.h: Added a missing ; so things will now
1847 * src/Makefile.am: Added gdk-pixbuf-drawable.[ch] to
1848 libgdk_pixbuf_la_SOURCES and libgdk_pixbufinclude_HEADERS.
1850 * src/gdk-pixbuf-drawable.c: Added #include "gdk-pixbuf-drawable.h"
1853 * src/gdk-pixbuf-drawable.[ch]: Changed functions to return
1854 GdkPixBuf* instead of ArtPixBuf*.
1856 1999-09-22 Michael Meeks <michael@nuclecu.unam.mx>
1858 * src/gdk-pixbuf.c (gdk_pixbuf_new): created.
1859 (gdk_pixbuf_scale): use gdk_pixbuf_new + return a new scaled image.
1861 * src/gdk-pixbuf.h (struct _GdkPixBuf): Re-organise struct, + add
1862 GdkPixBufUnrefFunc + gdk_pixbuf_new.
1864 * src/io-jpeg.c (image_load): clean to use gdk_pixbuf_new.
1866 * src/io-xpm.c (_pixbuf_create_from_xpm): ditto.
1868 * src/io-tiff.c (image_load): ditto + fix leak
1870 * src/io-png.c (image_load): ditto + add more exit points; monitor.png
1871 crashes this module ( add warning :-)
1873 * src/io-bmp.c (image_load): ditto.
1875 * src/io-gif.c (image_load): ditto.
1877 1999-09-18 Michael Meeks <michael@nuclecu.unam.mx>
1879 * src/gdk-pixbuf.c (gdk_pixbuf_scale): Hack rgba support in so
1880 it doesn't crash scaling with alpha.
1882 1999-09-17 Federico Mena Quintero <federico@redhat.com>
1884 * src/io-bmp.c (image_load): Set the initial ref_count to 1.
1886 * src/io-gif.c (image_load): Likewise.
1888 * src/io-jpeg.c (image_load): Likewise.
1890 * src/io-png.c (image_load): Likewise.
1892 * src/io-tiff.c (image_load): Likewise.
1894 * src/io-xpm.c (_pixbuf_create_from_xpm): Likewise.
1896 * src/gdk-pixbuf-io.c (gdk_pixbuf_load_image): Added an assertion
1897 for the ref_count to be != 0.
1899 * src/gdk-pixbuf.c (gdk_pixbuf_ref): Be more paranoid with sanity
1901 (gdk_pixbuf_unref): Fix incorrect sanity check and comparison.
1903 1999-08-09 Federico Mena Quintero <federico@nuclecu.unam.mx>
1905 * src/io-png.c (image_save): Fixed compiler warnings. Fixed write
1906 to unallocated memory (row_ptr), and fixed its type as well. Take
1907 into account the ArtPixbuf's rowstride when assigning the row
1910 * src/gdk-pixbuf.c: Fixup includes.
1912 * src/gdk-pixbuf-io.c: Likewise.
1914 Sat Jul 31 19:19:47 CEST 1999
1916 * src/gdk-pixbuf-io.c:
1917 * src/io-png.c: Fixed two obvious C syntax bugs
1919 1999-07-29 Mark Crichton <crichton@gimp.org>
1921 * src/io-png.c (image_save): Added PNG saving function
1923 * src/gdk-pixbuf-io.c: Changed image_save function format. Now it's
1924 image_save(GdkPixBuf *p, FILE *f, ...)
1927 1999-07-26 Michael Zucchi <mzucchi@denr.sa.gov.au>
1929 * src/Makefile.am (*_LIB): Only build the relevant loaders which
1930 require extra libraries if we actually have those libraries.
1932 1999-07-23 Richard Hestilow <hestgray@ionet.net>
1934 * src/gdk-pixbuf.h: Include glib.h as it uses g* datatypes
1935 * gdk_pixbufConf.sh.in: Added for gnome-config
1937 * configure.in: Modified to generate gdk_pixbufConf.sh
1939 1999-07-20 Mark Crichton <crichton@gimp.org>
1941 * src/gdk-pixbuf.c (gdk_pixbuf_rotate): Fixed rotation. Now a bbox
1942 calculation needs to be done.
1944 1999-07-18 Larry Ewing <lewing@gimp.org>
1949 * src/io-jpeg.c: Fix a few memory leaks in the, most of them in
1950 error cases but one or two in the common case. There are probably
1951 a few small ones left.
1953 1999-07-18 Mark Crichton <crichton@gimp.org>
1955 * configure.in: removed version.h.
1957 * src/gdk-pixbuf-io.c (pixbuf_check_tiff): Minor readability
1960 1999-07-17 Mark Crichton <crichton@gimp.org>
1962 * src/gdk-pixbuf.c: Removed gdk_pixbuf_free, redundant code.
1963 (gdk_pixbuf_rotate): Added pixbuf rotation code.
1964 (gdk_pixbuf_scale): Changed // comments to /* */
1966 * src/gdk-pixbuf.h (gdk_pixbuf_destroy): Added gdk_pixbuf_destroy
1969 1999-07-16 Larry Ewing <lewing@gimp.org>
1971 * src/testpixbuf.c (expose_func): reverted the expose everything
1972 changes, I'm not sure why these went in.
1973 (config_func): bring this up to date with the new pixbuf_scale
1976 * src/gdk-pixbuf-io.c: added a couple of warnings to the module
1977 loading code so that poeple can diagnose problems better.
1979 * src/gdk-pixbuf.c (gdk_pixbux_scale): fix the borkedness, also it
1980 no longer allocates a new pixbuf, which make things nicer for the
1981 rest of the code. Unfortunately there is still a problem with
1982 scaling rgba images.
1984 1999-07-16 Mark Crichton <crichton@gimp.org>
1986 * src/testpixbuf.c (config_func): ConfigureEvent handler. This
1987 calls gdk_pixbuf_scale. However, something is not working.
1988 N.B.: current pixmap is now stored in user_data with a key of
1991 * src/gdk-pixbuf.c (gdk_pixbuf_scale): Implemented scaling function.
1992 Something is still borked, however.
1994 1999-07-15 Larry Ewing <lewing@gimp.org>
1996 * src/io-jpeg.c (image_load): add raph@gimp.org's fix to the jpeg
1999 * src/testpixbuf.c (main): fix up the file routines a little so
2000 that you can load multiple files given the file names
2002 1999-07-14 Larry Ewing <lewing@gimp.org>
2004 * src/testpixbuf.c (expose_func): added an almost proper expose
2005 handler for testpixbuf
2007 1999-07-13 Mark Crichton <crichton@gimp.org>
2009 * configure.in: Fixed GIF check. Replaced " with '
2010 * src/gdk-pixbuf.c: More (minor) work on gdk_pixbuf_scale
2012 1999-07-13 Mark Crichton <crichton@gimp.org>
2014 * configure.in: I am a bonehead. Added gif-lib check.