1 2003-07-23 Matthias Clasen <maclas@gmx.de>
3 * gdk-pixbuf-io.c (gdk_pixbuf_new_from_file_at_size): Close loader before unref'ing
4 it. (#118146, Owen Taylor)
6 2003-03-01 Hans Breuer <hans@breuer.org>
8 * makefile.msc : updated
10 * gdk_pixbuf.def : export a bunch of new functions
12 2003-07-18 Matthias Clasen <maclas@gmx.de>
14 * pixops/pixops.c (correct_total): Split correction into multiple pieces if no single weight is large
15 enough to apply the unsplit correction. (#117431, problem reported by Tomas Ă–gren)
17 2003-07-13 Matthias Clasen <maclas@gmx.de>
20 * gdk-pixbuf-io.c (gdk_pixbuf_new_from_file_at_size): New function to load an image from a file at a
21 specified size. (#105326, Dom Lachowicz)
23 2003-07-11 Matthias Clasen <maclas@gmx.de>
25 * queryloaders.c (query_module): Handle absolute filenames properly. (#117170, Jens Elkner)
27 * gdk-pixbuf-io.c: Mention that NULL-terminated arrays returned by
28 gdk_pixbuf_format_get_mime_types() and gdk_pixbuf_format_get_extensions() must be
29 freed with g_strfreev().
31 2003-07-04 Matthias Clasen <maclas@gmx.de>
33 * gdk-pixbuf-io.c: Document ICO save parameters.
35 * io-ico.c: Support saving of ICOs and CURs. Currently, only single-image ICOs are produced,
36 but the code for multi-image ICOs is already in place. The saver understands the options
37 "depth" (can be "32", "24" or "16") and "x_hot"/"y_hot" for hotspot coordinates of CURs.
39 2003-06-28 Matthias Clasen <maclas@gmx.de>
41 * io-ico.c (DecodeHeader): Stop discriminating against 32bpp ICOs a): Use the byte
42 size of the image as a heuristic when selecting the bitmap to load - this lets us
43 select 32bpp bitmaps which come after a 8bpp bitmap.
44 (OneLineTransp): Stop discriminating against 32bpp ICOs b): Don't overwrite the
45 alpha channel of 32bpp ICOs.
46 (gdk_pixbuf__ico_image_load_increment): Stop decoding the header unnecessarily.
48 Fri Jun 27 03:56:59 2003 Soeren Sandmann <sandmann@daimi.au.dk>
50 * io-gif-animation.c (gdk_pixbuf_gif_anim_frame_composite): Make
51 it compile with C89 compilers.
53 2003-06-23 Matthias Clasen <maclas@gmx.de>
55 * io-gif.c (gif_get_frame_info): Remove the pointless refusal to load images with dubious
56 disposal mode on the first frame. Just ignore it, as everybody else does.
58 2003-06-22 Matthias Clasen <maclas@gmx.de>
60 * gdk-pixbuf-loader.[hc] (gdk_pixbuf_loader_new_with_mime_type): New function to obtain a loader for a specific mime
61 type. (#105324, Dom Lachowicz)
63 * io-gif.c (gif_get_extension): Reset block_count to 0 for all application extensions, otherwise the data blocks
64 of unknown extensions are not propertly skipped.
66 Second half of the fix for #106962, handle frames extending beyond the logical screen:
68 * io-gif.c (clip_frame): New helper function to clip a rectangle to the logical screen size of the gif.
69 (maybe_update): New helper function to call update_func only if the rectangle is not completely off-bounds.
70 (gif_get_lzw): Read frames extending outside the logical screen size, but be careful clip to the logical screen size
71 when operating on the composite pixbuf and when calling update_func.
72 (gif_init): Set the animation size to the logical screen size.
73 (gif_get_frame_info): Don't refuse to load images with frames extending beyond the logical screen size.
75 * io-gif-animation.c (gdk_pixbuf_gif_anim_frame_composite): Be careful to clip all rectangles to the logical screen
76 size, also handle the fact that frames may be completely off-bounds.
78 2003-06-21 Matthias Clasen <maclas@gmx.de>
80 * io-gif.c: Merge from 2.2: Fix update_func() arguments and accept empty
83 2003-06-17 Matthias Clasen <maclas@gmx.de>
85 * Makefile.am (man_MANS): Removed, man pages are now installed
86 from docs/reference/gdk-pixbuf.
88 2003-06-03 Matthias Clasen <maclas@gmx.de>
90 * gdk-pixdata.c (gdk_pixbuf_new_from_inline): Document
91 data_length == -1, add an example. (#97290)
93 2003-06-01 Matthias Clasen <maclas@gmx.de>
95 * gdk-pixdata.h (struct _GdkPixdata): Fix misleading documentation
96 of rowstride. (#113924, Noah Levitt)
98 2003-05-27 Matthias Clasen <maclas@gmx.de>
100 * io-wbmp.c: Remove dubious bitfields of
101 unspecified signedness. (#112919, Morten Welinder)gdk-p
103 * gdk-pixdata.c (gdk_pixdata_to_csource): Replace all occurances
104 of g_string_new ("") by g_string_new (NULL). (#106975, Morten Welinder)
106 2003-05-21 Matthias Clasen <maclas@gmx.de>
108 * pixbufloader_pcx.def:
109 * io-pcx.c: A loader for PCX files. (#113035, Josh Beam)
112 * Makefile.am: Add PCX loader.
114 2003-05-19 Matthias Clasen <maclas@gmx.de>
116 Improve progressive loading from slow sources: (#107368)
118 * io-gif-animation.c (gdk_pixbuf_gif_anim_get_iter): Initialize
120 (gdk_pixbuf_gif_anim_iter_advance): Don't wrap during loading if
121 the datasource falls behind the speed of the display.
123 * io-gif-animation.h: Add a loading flag to GdkPixbufGifAnim and
124 first_loop_slowness to GdkPixbufGifAnimIter.
126 Wed May 14 18:24:50 2003 Owen Taylor <otaylor@redhat.com>
128 * gdk-pixdata.c (gdk_pixdata_deserialize): Add a
129 (gint32 *) => (guint32 *) cast. (#108615, Rick Jones)
131 2003-04-24 Matthias Clasen <maclas@gmx.de>
133 * gdk-pixbuf-loader.c (gdk_pixbuf_loader_write):
134 (gdk_pixbuf_loader_new_with_type):
135 (gdk_pixbuf_loader_close):
136 * gdk-pixbuf-io.c (gdk_pixbuf_new_from_file):
139 * gdk-pixbuf-animation.c (gdk_pixbuf_animation_new_from_file):
140 Add sanity checks for GError handling. (#108345)
142 Tue Apr 1 15:33:51 2003 Owen Taylor <otaylor@redhat.com>
144 * pixops/pixops.c (make_weights): Exploit the fact that all
145 our filters are separable to simplify the calculation of
146 the weight tables. (Based on a patch from Brian Cameron.)
148 * pixops/Makefile.am pixbuf-transform-math.ltx:
149 Add a short article describing how the math in pixops.c
152 2003-03-21 Matthias Clasen <maclas@gmx.de>
154 * gdk-pixbuf-animation.c (gdk_pixbuf_non_anim_get_type): Add
155 missing static. (#108614)
157 * io-jpeg.c (gdk_pixbuf__jpeg_image_begin_load):
158 * io-ico.c (gdk_pixbuf__ico_image_stop_load): Add missing static
159 qualifiers apparently causing problems on some platforms. (#108617)
161 2003-03-11 Matthias Clasen <maclas@gmx.de>
163 * io-ico.c (DecodeHeader): Calculate LineWidth for 16bpp from
164 width, like for the other depths. (noticed by Marijn Ros)
166 2003-03-08 Matthias Clasen <maclas@gmx.de>
168 Bug #107664 continued:
170 * io-xpm.c (find_color): Fix 0/FALSE confusion
171 * gdk-pixbuf.c (gdk_pixbuf_get_has_alpha): Fix -1/gboolean confusion.
173 2003-03-06 Matthias Clasen <maclas@gmx.de>
175 * io-gif.c (gif_read): Fix 0/FALSE confusion (#107664, Morten Welinder)
177 2003-02-20 Matthias Clasen <maclas@gmx.de>
179 * io-gif-animation.c (gdk_pixbuf_gif_anim_frame_composite):
180 Always clear the initial frame and "disposed" areas with
181 transparent pixels, no matter whether the frame has transparency
184 2003-02-18 Matthias Clasen <maclas@gmx.de>
186 * io-tga.c (pixbuf_flip_row):
187 (pixbuf_flip_vertically): Auxiliary functions used to implement
188 support for arbitrary origins.
189 (parse_data_for_row_pseudocolor):
190 (parse_data_for_row_truecolor):
191 (parse_data_for_row_grayscale):
192 (parse_data_for_row):
193 (fill_in_context): Remove the check for upper-left origin.
194 (parse_rle_data): Support arbitrary origins. (#105912)
196 * io-tga.c (fread_check):
198 (get_header_from_file):
199 (get_colormap_from_file):
200 (get_image_pseudocolor):
201 (swap_channels_pixbuf):
202 (get_image_truecolor):
203 (get_image_grayscale):
204 (gdk_pixbuf__tga_load): Remove the non-incremental load
205 implementation, since we have generic_image_load () now.
207 (gdk_pixbuf__tga_stop_load): Fix a potential crash discovered by
210 2003-02-14 Matthias Clasen <maclas@gmx.de>
212 * io-tga.c (try_preload):
213 (gdk_pixbuf__tga_load): Actually reject images with origin
214 not in the upper-left corner. (#105912)
216 2003-02-06 Matthias Clasen <maclas@gmx.de>
218 * queryloaders.c (query_module): Better error message if
219 module_open() fails. (#105349, Tim Mooney)
221 Mon Jan 27 17:10:30 2003 Owen Taylor <otaylor@redhat.com>
223 * Makefile.am (gdk-pixbuf.loaders): Rewrite to run
224 on the .la files rather than looking for .so files.
225 (#102142, Martin Gansser)
227 * Makefile.am: Don't build gdk-pixbuf.loaders when
230 2003-01-05 Tor Lillqvist <tml@iki.fi>
232 * Makefile.am (gdk-pixbuf.loaders): Use @SOEXT@ in the find command.
234 * gdk_pixbuf.def: Add gdk_pixbuf_loader_set_size.
236 2003-01-03 Matthias Clasen <maclas@gmx.de>
238 * gdk-pixbuf-io.c (gdk_pixbuf_new_from_xpm_data): Don't crash if
239 gdk-pixbuf.loaders file is missing. (#102222)
241 2002-12-08 Matthias Clasen <maclas@gmx.de>
243 * gdk-pixbuf-animation.h:
244 * gdk-pixbuf-io.h: Add /*< public|private >*/ markers.
246 Sat Dec 7 10:14:05 2002 Owen Taylor <otaylor@redhat.com>
248 * Makefile.am (gdk-pixbuf.loaders): Make gdk-pixbuf.loaders
249 also depend gdk-pixbuf-query-loaders. (#97096, Daniel Elstner)
251 2002-12-05 Matthias Clasen <maclas@gmx.de>
253 * io-ico.c: Remove leftover debug output. (#100357, Owen Taylor)
255 2002-12-04 Bastien Nocera <hadess@hadess.net>
257 * io-tiff.c: (tiff_image_parse): use G_BIG_ENDIAN instead of
258 WORDS_BIGENDIAN which isn't set by configure.in
260 2002-11-29 Matthias Clasen <maclas@gmx.de>
262 * gdk-pixbuf-animation.c:
263 * gdk-pixbuf.c: Add deprecation docs.
265 2002-11-28 Matthias Clasen <maclas@gmx.de>
267 * gdk-pixbuf/gdk-pixbuf-io.c:
268 * gdk-pixbuf/gdk-pixbuf-loader.c:
269 * gdk-pixbuf/gdk-pixbuf.c: Document 2.2 API additions. I'm not
270 going to list all individual functions here; if you want to see
271 the list, grep for "Since: 2.2".
273 Fri Nov 8 19:06:07 2002 Owen Taylor <otaylor@redhat.com>
275 * Makefile.am (gdk-pixbuf.loaders): Make gdk-pixbuf.loaders
276 file depend on the loaders (#97096, Jeff Waugh)
278 Wed Nov 6 15:19:53 2002 Owen Taylor <otaylor@redhat.com>
280 * io-gif.c (CHECK_LZW_SP): Fix trailing semicolon on macro,
283 2002-11-05 Matthias Clasen <maclas@gmx.de>
285 * gdk-pixbuf-loader.c: Reindent to follow the gdk-pixbuf indentation.
287 Tue Nov 5 14:16:17 2002 Owen Taylor <otaylor@redhat.com>
289 * gdk-pixbuf-loader.c (gdk_pixbuf_loader_close): Fix
290 leaked pixbuf reference (#96823, Morten Welinder)
292 2002-10-23 Matthias Clasen <maclas@gmx.de>
294 * io-gif.c (lzw_read_byte): Check for stack overflow throughout.
297 2002-10-21 Matthias Clasen <maclas@gmx.de>
299 Support the Netscape application extension for gif animations
302 * io-gif-animation.h:
303 * io-gif-animation.c (gdk_pixbuf_gif_anim_iter_advance):
304 Add loop count to GdkPixbufGifAnim and use it in the advance
305 method of GdkPixbufGifAnimIter.
307 * io-gif.c (gif_get_extension): Parse Netscape application
308 extension block and set the animation loop count.
310 2002-10-11 Matthias Clasen <maclas@gmx.de>
312 * gdk-pixbuf-loader.c (gdk_pixbuf_loader_get_format): Remove
315 * gdk-pixbuf-io.h: Remove unused typedef
316 GdkPixbufModuleGetSignatureFunc.
318 2002-10-04 jacob berkman <jacob@ximian.com>
320 * queryloaders.c (query_module): make legal C
322 2002-10-04 Matthias Clasen <maclas@gmx.de>
324 * Makefile.am gdk-pixbuf-animation.c gdk-pixbuf-data.c
325 gdk-pixbuf-io.c gdk-pixbuf-io.h gdk-pixbuf-loader.c
326 gdk-pixbuf-loader.h gdk-pixbuf-private.h gdk-pixbuf.h
327 gdk-pixdata.c io-ani-animation.h io-ani.c io-bmp.c
328 io-gif-animation.c io-gif-animation.h io-gif.c io-ico.c
329 io-jpeg.c io-png.c io-pnm.c io-ras.c io-tga.c io-tiff.c
330 io-wbmp.c io-xbm.c io-xpm.c pixbufloader_ani.def
331 pixbufloader_bmp.def pixbufloader_gif.def pixbufloader_ico.def
332 pixbufloader_jpeg.def pixbufloader_png.def
333 pixbufloader_pnm.def pixbufloader_ras.def pixbufloader_tga.def
334 pixbufloader_tiff.def pixbufloader_wbmp.def
335 pixbufloader_xbm.def pixbufloader_xpm.def test-gdk-pixbuf.c
336 gdk-pixbuf-animation.h queryloaders.c: Support for separately
337 installed loaders. (#77486)
339 Thu Oct 3 18:25:57 2002 Owen Taylor <otaylor@redhat.com>
341 * io-jpeg.c (gdk_pixbuf__jpeg_image_save):
342 Fix memory leak. (#94399)
344 Tue Oct 1 17:35:43 2002 Owen Taylor <otaylor@redhat.com>
346 * gdkpixdata.c: Patch from Andy Wingo to always
347 escape ? to avoid accidentally generating trigraphs
348 in the output (#94631)
350 2002-09-28 Tor Lillqvist <tml@iki.fi>
352 * pixops/*.S: Don't use .type on Cygwin, either (#91597, Masahiro
355 2002-09-27 Federico Mena Quintero <federico@ximian.com>
357 * io-ico.c (gdk_pixbuf__ico_image_begin_load): Free the context if
358 we cannot allocate the HeaderBuf.
360 2002-09-27 Federico Mena Quintero <federico@ximian.com>
362 * io-bmp.c (OneLine): Fix the update region notification to handle
363 top-to-bottom and bottom-to-top BMPs correctly.
365 2002-09-19 Matthias Clasen <maclas@gmx.de>
367 * Revert the previous change; the symbols need to be exported
368 to be usable from dlopened modules.
370 2002-09-18 Matthias Clasen <maclas@gmx.de>
372 * io-xpm.c, io-xbm.c, io-ico.c, io-ani.c, io-png.c,
373 gdk-pixbuf.c, gdk-pixbuf-animation.c, gdk-pixbuf-loader.c,
374 gdk-pixbuf-private.h: _-prefix gdk_pixbuf_non_anim_new and
375 gdk_pixbuf_set_option. Adjust all callers.
377 2002-09-14 Hans Breuer <hans@breuer.org>
379 * pixops/Makefile.am : added makefile.msc to EXTRA_DIST
381 2002-09-12 Matthias Clasen <maclas@gmx.de>
383 * io-gif-animation.h:
384 * gdk-pixbuf.h: Move GdkPixbufFrame from the public header to
385 the gif-animation-specific private header. (#91929)
387 2002-09-12 Federico Mena Quintero <federico@ximian.com>
389 * io-jpeg.c (gdk_pixbuf__jpeg_image_load): Unref the pixbuf if we
390 hit an unsupported colorspace.
392 2002-09-06 Matthias Clasen <maclas@gmx.de>
394 * io-ani.c, io-ani-animation.h, io-ani-animation.c,
395 pixbufloader_ani.def, Makefile.am, gdk-pixbuf-io.c: New loader,
398 * io-xpm.c (pixbuf_create_from_xpm):
399 * io-xbm.c (gdk_pixbuf__xbm_image_load_real):
400 * io-ico.c (DecodeHeader): Attach hotspot coordinates to the
401 pixbuf as options "x_hot" and "y_hot".
403 2002-09-04 Matthias Clasen <maclas@gmx.de>
405 * io-tga.c (io_buffer_append):
406 * io-ico.c (DecodeHeader):
407 * io-bmp.c (grow_buffer): Don't leak memory if g_try_realloc fails.
409 * gdk-pixbuf-io.c (pixbuf_check_ico): Fix loading of .CUR files.
412 2002-08-25 Tor Lillqvist <tml@iki.fi>
414 * Makefile.am (libgdk_pixbuf_2_0_la_DEPENDENCIES): Add
415 gdk_pixbuf_win32res_lo. (#87101, J. Ali Harlow)
417 2002-08-22 Matthias Clasen <maclas@gmx.de>
420 gdk-pixbuf-io.c (_gdk_pixbuf_generic_image_load): No longer
421 static, thus _gdk_pixbuf-prefixed.
423 * gdk-pixbuf-animation.c (gdk_pixbuf_animation_new_from_file):
424 Keep this logic in sync with gdk_pixbuf_new_from_file(). (Based
425 on a patch by Anders Carlsson)
427 * io-png.c (gdk_pixbuf__png_image_save): Plug a memory
428 leak. (#91422, Sven Neumann)
430 2002-07-31 Sven Neumann <sven@gimp.org>
432 * gdk-pixdata.c (gdk_pixdata_to_csource): free the result of
433 gdk_pixdata_serialize() (bug #89411).
435 Mon Jul 29 23:06:10 2002 Owen Taylor <otaylor@redhat.com>
437 * gdk-pixbuf-scale.c: Fix some warnings by adding
438 casts to PixopsInterpType. (#85839, David L. Cooper, II.)
440 2002-07-16 Matthias Clasen <maclas@gmx.de>
442 * io-ras.c (DoCompressed): Avoid unnecessary casting.
444 2002-07-07 Matthias Clasen <maclas@gmx.de>
446 * gdk-pixbuf-io.c (generic_image_load): New function for loading
447 an image from a file either via module->load or incrementally.
448 (prepared_notify): ModulePreparedNotifyFunc for generic_image_load.
449 (gdk_pixbuf_new_from_file): Use generic_image_load.
450 * io-bmp.c, io-ico.c, io-ras.c, io-wbmp.c: Remove trivial
451 implementations of module->load. (#71266)
453 * io-ico.c (DecodeHeader): Correct computation of image height.
454 (OneLine): Correct update notification.
456 Load-at-size functionality (#53726):
458 * gdk-pixbuf-io.h (ModuleSizeFunc): New.
459 (_GdkPixbufModule): Prepend a ModuleSizeFunc to the
460 begin_load arguments. Adjust all modules.
461 * gdk-pixbuf-loader.c (struct GdkPixbufLoaderPrivate): Add
462 fields width, height, size_fixed, need_scale.
463 (gdk_pixbuf_loader_class_init): Add size_prepared signal.
464 (gdk_pixbuf_loader_set_size): New function.
465 (gdk_pixbuf_loader_size_func): ModuleSizeFunc which gets
466 passed to the module, emits size_prepared.
467 (gdk_pixbuf_loader_prepare): Call gdk_pixbuf_loader_size_func
468 if necessary, only emit area_prepared if no separate scaling
470 (gdk_pixbuf_loader_update): Only emit area_updated if no
471 separate scaling is required.
472 (gdk_pixbuf_loader_load_module): Add size_func as first argument.
473 (gdk_pixbuf_loader_close): If necessary scale the image
474 to the desired size and emit area_prepared and area_updated.
475 * gdk-pixbuf-loader.h (struct _GdkPixbufLoaderClass): Add
476 size_prepared signal.
477 (gdk_pixbuf_loader_set_size) New API.
478 * gdk-pixbuf-marshal.list: Add VOID:INT,INT.
479 * io-jpeg.c: User cinfo->output_width/height instead of
480 cinfo->image_width/height throughout when adressing the pixbuf.
481 (gdk_pixbuf__jpeg_image_load_increment): Call size_func, and
482 find the nearest possible output size which libjpeg can produce
483 that is still larger than the desired size.
485 2002-07-06 Matthias Clasen <maclas@gmx.de>
487 * io-tiff.c (tiff_set_error): Handle global_error == NULL
489 (tiff_image_parse): Don't trust TIFFRGBAImageBegin to set
490 the "put" routine. (Fixes #87384)
491 (gdk_pixbuf__tiff_image_stop_load): Don't call TIFFClose too
494 2002-07-02 Matthias Clasen <maclas@gmx.de>
496 Miscellaneous bmp loader fixes (#85448, #86286, #86287):
498 * io-bmp.c (grow_buffer): New function to avoid crashes
499 on unchecked reallocs.
500 (DecodeHeader, DecodeColormap, decode_bitmasks,
501 DoCompressed): Use grow_buffer instead of g_realloc
502 throughout. Change signatures where necessary to pass the
504 (OneLine16): Fix loading of 16bpp BI_RGB bmps.
505 (DoCompressed): Rewritten to properly support BI_RLE4 and
508 Support for compressed ras images (#84994):
510 * io-ras.c (RAS2State): Error on unsupported ras variations.
511 (OneLine8): Fix colormap indexing.
512 (OneLine): Call updated_func with proper region.
513 (DoCompressed): New function, handles compressed ras data.
514 (gdk_pixbuf__ras_image_load_increment): Handle compressed ras
517 Better colorspace support for the jpeg loader (#61211):
519 * io-jpeg.c (convert_cmyk_to_rgb): New function.
520 (gdk_pixbuf__jpeg_image_load,
521 gdk_pixbuf__jpeg_image_load_increment): Allocate a pixbuf with
522 alpha for 4-channel jpegs and call convert_cmyk_to_rgb for these.
524 All of this needs to be merged to GNOME 1.4 gdk-pixbuf.
526 2002-06-28 Sven Neumann <sven@gimp.org>
528 * gdk-pixbuf-csource.c (print_blurb): converted a Tab to spaces.
530 Thu Jun 13 18:11:11 2002 Owen Taylor <otaylor@redhat.com>
532 * pixops/pixops.c: Fix problem where when no alpha was
533 involved, we scaled rather than composited, but then
534 went ahead and composited anyways. (#76958, Patch
535 from Matthias Clasen). Needs to be merged to GNOME
538 2002-06-13 Matthias Clasen <maclas@gmx.de>
540 * io-jpeg.c: Use libjpeg in buffered-image mode in order to
541 incrementally display incrementally loaded progressive jpegs.
543 2002-06-07 Federico Mena Quintero <federico@ximian.com>
546 (lsb_16): New functions to fetch 32 or 16-bit little-endian values
547 starting at a specific memory location. We do this instead of
548 GINT32_FROM_LE() as the latter is simply dereferences a cast,
549 which doesn't work on platforms with alignment requirements.
552 2002-06-01 Matthias Clasen <maclas@gmx.de>
554 * gdk-pixbuf-io.c (pixbuf_check_xbm): Accept xbms starting
555 with a C comment - those seem to be not uncommon, e.g. the Gimp
556 produces them. (#82706)
558 * io-xbm.c (read_bitmap_file_data): Don't leak memory on certain
560 (gdk_pixbuf__xbm_image_load_real): Don't leak memory on valid inputs.
562 2002-05-22 Tor Lillqvist <tml@iki.fi>
564 * gdk-pixbuf-io.c (get_libdir): Use GTK_BINARY_VERSION (and not
565 GTK_VERSION) in the path to the loaders on Win32, too.
567 * Makefile.am: Pass GTK_BINARY_VERSION.
569 2002-05-22 Federico Mena Quintero <federico@ximian.com>
571 * io-xpm.c (pixbuf_create_from_xpm): Ahem, take the rowstride into
572 account!!! Fixes #82515.
574 [This bug is not present in the GNOME 1.4 branch as its XPM loader
575 does not use gdk_pixbuf_new(); rather it malloc()s a buffer with
576 no row padding and then uses gdk_pixbuf_new_from_data() on it.]
578 [IMPORTANT: The comment above is to make my life easier when
579 merging stuff across branches. If you make changes to gdk-pixbuf
580 in either branch, please include a comment in the ChangeLog that
581 indicates whether this should be merged into the other branch.
584 2002-05-18 Matthias Clasen <maclas@gmx.de>
586 * io-tiff.c (tiff_image_parse): fix packing order on bigendian
589 Thu May 16 15:17:30 2002 Owen Taylor <otaylor@redhat.com>
591 * pixops/pixops.c: Patch from Matthias Clasen to fix some typos
594 Thu May 16 15:02:46 2002 Owen Taylor <otaylor@redhat.com>
596 * gdk-pixdata.c (gdk_pixdata_to_csource): Fix 64-bit warning.
599 2002-05-07 Michael Natterer <mitch@gimp.org>
601 * gdk-pixbuf/Makefile.am: build the static pixbuf loaders
602 conditionally like the dynamic ones so --without-lib<foo> is
603 honored when building with --disable-modules. (#66867)
605 Sun May 5 02:27:01 2002 Soeren Sandmann <sandmann@daimi.au.dk>
607 * Makefile.am (noinst_PROGRAMS): remove test-loaders (moved to
609 * test-loaders.c, test-images.h: remove
611 2002-04-24 Matthias Clasen <maclas@gmx.de>
613 * gdk-pixbuf-io.c (gdk_pixbuf_save): Remove the ISO8859-1
614 restriction from the description of png tEXt parameters.
616 * io-png.c (png_text_to_pixbuf_option):
617 (gdk_pixbuf__png_image_save): If libpng supports it,
618 store and retrieve non-ISO8859-1 text as UTF-8. (#76172)
620 2002-04-11 Matthias Clasen <maclas@gmx.de>
622 More fixes for #77807:
624 * io-tga.c (get_contiguous_pixbuf): Helper function to create
625 a pixbuf with a contiguous pixel array while being careful about
628 * io-tga.c (fill_in_context, get_image_pseudocolor,
629 get_image_truecolor, get_image_grayscale): Use
630 get_contiguous_pixbuf instead of manually allocating image
633 * io-xpm.c (pixbuf_create_from_xpm):
634 * io-pnm.c (gdk_pixbuf__pnm_image_load):
635 * io-jpeg.c (gdk_pixbuf__jpeg_image_load): Use gdk_pixbuf_new
636 instead of manually allocating image storage.
638 2002-04-09 Matthias Clasen <maclas@gmx.de>
640 * gdk-pixbuf-loader.c (gdk_pixbuf_loader_load_module): Use
641 priv->image_module->module_name instead of image_type which may
644 2002-04-06 Matthias Clasen <maclas@gmx.de>
646 * io-png.c (gdk_pixbuf__png_image_load): Restructured to use
647 gdk_pixbuf_new instead of manually allocating image storage. This
648 gives us a good rowstride and overflow checks. (#77807)
650 2002-04-05 Matthias Clasen <maclas@gmx.de>
652 * io-tiff.c (tiff_image_parse): Avoid allocating an extra copy of
653 the image by using a TIFFRGBAImage{Begin,Get,End} with suitable
654 put functions instead of TIFFRGBAImage. And check image dimensions
657 2002-04-03 Matthias Clasen <maclas@gmx.de>
659 * gdk-pixbuf-loader.c (gdk_pixbuf_loader_get_type): Fix a doc typo.
661 2002-03-29 Matthias Clasen <maclas@gmx.de>
663 * io-png.c (png_simple_error_callback): libpng error handlers must
664 not return to their callers, thus longjmp out. This prevents
665 annoying stderr output from the default error handler.
667 2002-03-27 Matthias Clasen <maclas@gmx.de>
669 * io-png.c (gdk_pixbuf__png_image_stop_load): Don't leak info_ptr.
671 * io-png.c (gdk_pixbuf__png_image_load): Get rid of unused
672 end_info. Also call png_read_end to check proper ending of the png
673 file and catch text chunks after the image data.
675 2002-03-27 Matthias Clasen <maclas@gmx.de>
677 * io-png.c (gdk_pixbuf__png_image_load,
678 gdk_pixbuf__png_image_begin_load): Make libpng use g_malloc
679 instead of system malloc.
681 2002-03-26 Matthias Clasen <maclas@gmx.de>
683 * io-tiff.c (tiff_image_parse): Don't leak pixbuf on error.
685 * io-gif.c (gdk_pixbuf__gif_image_load_increment): Don't leak
686 context->buf on error.
688 * gdk-pixbuf-loader.c (gdk_pixbuf_loader_close): Make sure to call
689 stop_load even for short images to prevent memleaks.
691 2002-03-25 Matthias Clasen <maclas@gmx.de>
693 * io-png.c (setup_png_transformations): Changed signature to
694 return success and set a GError parameter, adjusted all callers.
695 Also work around a possible FPE in libpng and always check that
696 the new info is sane.
698 2002-03-23 Matthias Clasen <maclas@gmx.de>
700 * io-wbmp.c (gdk_pixbuf__wbmp_image_load_increment):
701 context->updated_func is NULL during a nonincremental load.
702 (gdk_pixbuf__wbmp_image_load): Stop reading after the first error.
704 2002-03-18 Matthias Clasen <maclas@gmx.de>
706 * io-tga.c: Fix assumptions on rowstride by manually allocating a
707 contiguous pixel buffer. Catch buffer overruns in RLE-modi.
708 Support grayscale + alpha (which can be written, but not read (!)
711 2002-03-15 Matthias Clasen <maclas@gmx.de>
713 * io-gif.c (gif_get_frame_info): Catch invalid frame dimensions.
715 2002-03-13 Matthias Clasen <maclas@gmx.de>
717 * test-images.h: Add valid_ras_test and invalid_bmp_1.
719 * test-loaders.c (main): Add random tests for ras and pnm and an
720 invalid bmp which was a crasher until my 2002-03-12 commit.
722 * io-pnm.c (gdk_pixbuf__pnm_image_load_increment): Don't unref the
725 * io-ras.c: Handle some errors.
727 2002-03-12 Sven Neumann <sven@gimp.org>
729 * gdk-pixbuf.c (gdk_pixbuf_fill): use sequential writes instead of
730 calling memcpy(). Simpler and potentially faster. (#70332)
732 2002-03-12 Matthias Clasen <maclas@gmx.de>
734 * io-bmp.c (DecodeHeader): Replace a g_assert_not_reached ()
735 which could actually be reached by a proper error status return.
737 2002-03-05 Matthias Clasen <maclas@gmx.de>
739 * test-loaders.c, test-images.h: More random tests.
741 * io-bmp.c (DecodeHeader): Fail gracefully on OOM here.
743 Tue Mar 5 10:39:03 2002 Owen Taylor <otaylor@redhat.com>
745 * Makefile.am (loaderdir): Put the modules into the
746 GTK_BINARY_VERSION directory for consistency with
747 immodules and theme engines.
749 Sat Mar 2 22:11:10 2002 Owen Taylor <otaylor@redhat.com>
751 * gdk-pixbuf-io.c (_gdk_pixbuf_load_module): If we
752 can't load the module using the g_module_build_path()
753 filename, try loading it as a .la file.
755 * test-loaders.c: Look for modules in current directory
756 rather than .libs, so we find the right .la files.
758 * test-loaders.c: Back out some accidental commits.
760 Sat Mar 2 21:28:03 2002 Owen Taylor <otaylor@redhat.com>
762 * gdk-pixbuf.c (gdk_pixbuf_new): Bullet-proof against integer
765 2002-03-03 Tor Lillqvist <tml@iki.fi>
767 * gtk-pixbuf.rc.in: Remove.
769 * gdk_pixbuf.rc.in: Name like this instead (wrong name used by
772 * makefile.msc: Corresponding changes.
774 * Makefile.am: Use gdk_pixbuf.rc on Win32. Distribute it.
776 2002-02-28 Matthias Clasen <maclas@gmx.de>
778 * pixops/pixops.c (tile_make_weights): Move the call to
779 correct_total() to the right spot. (#72732)
781 Wed Feb 27 18:33:04 2002 Owen Taylor <otaylor@redhat.com>
783 * gdk-pixdata.c (gdk_pixdata_to_csource): Use {} not
784 () to group around string assigned to char[]. (#72767,
787 2002-02-21 Havoc Pennington <hp@pobox.com>
789 * gdk-pixbuf-loader.c (gdk_pixbuf_loader_load_module): remove
790 C++-commented debug spew, reported by David L. Cooper
792 2002-02-15 Matthias Clasen <maclas@gmx.de>
794 * pixops/pixops.c (correct_total): New function to make sure
795 that the weights sum up to the correct total without introducing
797 (tile_make_weights, bilinear_make_fast_weights,
798 bilinear_make_weights): Use correct_total.
800 2002-02-10 Matthias Clasen <maclas@gmx.de>
802 * test-images.h (tiff1_test_3), test-loaders.c (main): Add a
803 (#ifdef 0'ed) test provoking a segfault in TIFFReadDirectory().
805 * io-ico.c (DecodeHeader): Check that pixbuf could be allocated.
807 * test-images.h (ico_test_2), test-loaders.c (main): Test the
810 * io-wbmp.c (gdk_pixbuf__wbmp_image_load_increment): Don't write
811 beyond the end of buffer if width % 8 != 0.
813 * io-tga.c (try_preload): Enforce that ctx->hdr->type is one of
814 the supported types, otherwise parse_data_for_row () will not make
815 any progress, leading to an infinite loop.
817 Mon Feb 11 14:31:53 2002 Owen Taylor <otaylor@redhat.com>
819 * pixops/pixops.c (bilinear_make_weights): Fix handing of
822 2002-02-10 Matthias Clasen <maclas@gmx.de>
824 * test-loaders.c (main): Enable some tests which should work
827 * io-wbmp.c (gdk_pixbuf__wbmp_image_load_increment): Detect
828 invalid image dimensions and insufficient memory.
830 * io-tga.c (try_preload): Detect invalid image dimensions.
831 (gdk_pixbuf__tga_stop_load): Don't try to unref NULL pointers.
833 * io-ico.c (DecodeHeader): Detect some invalid headers and
836 Fri Feb 8 23:11:15 2002 Owen Taylor <otaylor@redhat.com>
838 * pixops/pixops.c: Force all weight arrays to sum exactly
839 to 65535. (Fixes #70971, reported by Federico Mena Quintero)
841 * Makefile.am (libgdk_pixbuf_1_3_la_DEPENDENCIES): Add
844 2002-02-08 Federico Mena Quintero <federico@ximian.com>
846 * pixops/pixops.h: Fix comment; PixopsInterpType -> GdkInterpType.
848 2002-02-08 Darin Adler <darin@bentspoon.com>
850 * io-xbm.c: (next_int): Wean this from <ctype.h>.
852 2002-02-01 Matthias Clasen <matthiasc@poet.de>
854 * Makefile.am: Build the tga loader as a static library. (#70157)
856 * io-ico.c: Merge 16- and 32-bit ico support from the stable
859 * io-gif.c: Recomposite all images if the animation size changes
860 while loading. (#70055)
862 * gdk-pixbuf.c (gdk-pixbuf-fill): Make it work for subpixbufs.
865 Sat Jan 19 20:49:20 2002 Manish Singh <yosh@gimp.org>
867 * io-jpeg.c, io-png.c: Made sure all the error cases involving
868 jpeg or png load/saves clean themselves up properly. Marked some
869 variables needed for cleanup volatile so they aren't clobbered by
872 Fri Jan 11 18:05:07 2002 Owen Taylor <otaylor@redhat.com>
874 * pixops/pixops.c: Fix integer overflow for the values
875 passed to the pixel functions. (#55148, fix from Michael Hore)
877 Fri Jan 11 17:53:58 2002 Owen Taylor <otaylor@redhat.com>
879 * pixops/pixops.c (pixops_scale_nearest): Remove meaningless
882 * pixops/pixops.c (pixops_process): Comment the computation
883 of run_end_index and fix some edge cases.
885 * pixops/{scale_line_22_33_mmx.S, composite_line_22_4a4_mmx.S:
886 composite_line_color_22_4a4_mmx.S}: Handle the case where
887 dest <= dest_end properly. (#52001, fix from Michael Hore)
889 Thu Jan 10 16:48:30 2002 Owen Taylor <otaylor@redhat.com>
891 * pixops/pixops.c: Replace some hardcoded values with the
892 SUBSAMPLE constant used elsewhere. (#51033)
894 Wed Jan 9 11:29:44 2002 Owen Taylor <otaylor@redhat.com>
896 * Makefile.am (s-enum-types-h): Include glib-object.h,
897 Add G_BEGIN_DECLS/END_DECLS to gdk-pixbuf-enum-types.h. (#68325,
900 * *.h: G_BEGIN_DECLS cleanups.
902 Tue Jan 8 10:58:04 2002 Owen Taylor <otaylor@redhat.com>
904 * gdk-pixbuf-util.c (gdk_pixbuf_saturate_and_pixelate):
905 - Massive cleanup, make actually legible.
906 - Fix some clamp-to-range bugs found by Jim Cape (#68231).
907 - Add a g_return_if_fail() if src and dest alpha don't match.
908 - Allow for src_rowstride != dest_rowstride.
910 2002-01-04 Hans Breuer <hans@breuer.org>
912 * gdk_pixbuf.def : don't export functions prefixed
915 * makefile.msc : use -FImsvc_recommende_pragmas.h
917 Thu Jan 3 19:31:58 2002 Owen Taylor <otaylor@redhat.com>
919 * pixops/pixops.c (scale_line_22_33): Fix and uncomment
922 * pixops/pixops.c (pixops_composite_nearest): Remove a
925 * pixops/pixops.c (pixops_composite): Add some docs
926 about the parameters.
928 * pixops/README: Add notes about the correct algorithms
929 for alpha compositing and how to implement them quickly.
931 2001-12-29 Tor Lillqvist <tml@iki.fi>
933 * Makefile.am (EXTRA_DIST): Add makefile.msc.
935 Sat Dec 22 15:31:20 2001 Owen Taylor <otaylor@redhat.com>
937 * gdk-pixdata.h: Fix trailing "," in enumeration.
939 2001-12-17 Matthias Clasen <matthiasc@poet.de>
941 * gdk-pixbuf.c, gdk-pixbuf-io.c, gdk-pixbuf-animation.c,
942 gdk-pixbuf-data.c, gdk-pixbuf-loader.c, gdk-pixbuf-scale.c,
943 gdk-pixbuf-util.c, gdk-pixdata.c: Markup fixes.
945 2001-12-16 Havoc Pennington <hp@pobox.com>
947 * gdk-pixbuf-scale.c: docs enhancements
949 2001-12-14 Sebastian Wilhelmi <wilhelmi@ira.uka.de>
951 * io-xpm.c: Use g_ascii_strcasecmp() instead of g_strcasecmp().
953 2001-12-13 Sebastian Wilhelmi <wilhelmi@ira.uka.de>
955 * gdk-pixbuf-animation.c, gdk-pixbuf-loader.c, gdk-pixpuf.c,
956 io-gif-animation.c, io-gif.c, io-tiff.c, test-loaders.c: Remove
957 assorted G_OBJECT casts where unnecessary.
959 * gdk-pixbuf-loader.c: Call g_object_ref and g_object_unref
960 instead of gdk_pixbuf_animation_ref and gdk_pixbuf_animation_unref
963 * gdk-pixbuf-csource.c, io-bmp.c, io-gif-animation.c, io-ico.c,
964 io-jpeg.c, io-png.c, io-pnm.c, io-ras.c, io-tga.c, io-wbmp.c,
965 io-xbm.c, io-xpm.c, test-gdk-pixbuf.c: Dito for gdk_pixbuf_ref and
968 * Makefile.am, pixops/Makefile.am: Compile everything with
969 -DG_DISABLE_DEPRECATED -DGDK_PIXBUF_DISABLE_DEPRECATED
971 * gdk-pixdata.c: Use g_ascii_strup() instead of g_strup().
973 * io-xpm.c: Use g_ascii_strcasecmp() instead of g_strcasecmp().
975 2001-12-12 Matthias Clasen <matthiasc@poet.de>
977 * gdk-pixbuf-io.c: Markup fixes.
979 2001-12-12 Matthias Clasen <matthiasc@poet.de>
981 * Makefile.am (INCLUDES): Define G_LOG_DOMAIN. (#66412)
983 * gdk-pixbuf-loader.c, gdk-pixbuf-util.c: Markup fixes.
985 2001-12-11 Michael Natterer <mitch@gimp.org>
987 * io-png.c: gdk_pixbuf__png_image_save: removed wrong endian
988 conversion stuff; don't copy RGB pixbufs' lines around before
991 2001-12-05 Matthias Clasen <matthiasc@poet.de>
993 * gdk-pixbuf.h (gdk_pixbuf_ref, gdk_pixbuf_unref,
994 gdk_pixbuf_animation_ref, gdk_pixbuf_animation_unref):
997 Tue Dec 4 11:45:45 2001 Owen Taylor <otaylor@redhat.com>
999 * io-xpm.c (pixbuf_create_from_xpm): Fill in color
1000 fields to black for transparent colors since we'll
1001 later initialize pixels from them. (Fixes purify
1002 errors, #66093, HideToshi Tajima)
1004 2001-11-30 Tor Lillqvist <tml@iki.fi>
1006 * gdk_pixbuf.def: Add gdk_pixbuf_get_option.
1008 Fri Nov 30 15:55:34 2001 Owen Taylor <otaylor@redhat.com>
1010 * gdk-pixdata.c (gdk_pixdata_deserialize): Fix
1011 alignment problem in deserialization, (#65785,
1012 reported by Hidetoshi Tajima)
1014 2001-11-28 Manish Singh <yosh@gimp.org>
1016 * gdk-pixbuf/io-bmp.c (gdk_pixbuf__bmp_image_load_increment): Fill
1017 in missing error parameters to DecodeHeader and DecodeColormap.
1019 2001-11-21 Federico Mena Quintero <federico@ximian.com>
1021 Fix Ximian bug #12125; merged from gdk-pixbuf stable.
1023 * gdk-pixbuf/io-bmp.c (gdk_pixbuf__bmp_image_load_increment): Use
1024 a simple state machine instead of a scary if/else chain.
1025 (DecodeHeader): Set the reading state.
1026 (DecodeColormap): Set the reading state.
1027 (decode_bitmasks): New function, decodes the bitmasks for
1028 BI_BITFIELDS coding.
1029 (OneLine32): Handle BI_BITFIELDS coding.
1030 (OneLine16): Likewise.
1032 2001-11-18 Hans Breuer <hans@breuer.org>
1034 * io-xpm.c : use g_strcasecmp(), some poor platforms
1035 don't have strcasecmp()
1037 * makefile.msc : do INCLUDE_png etc. definition here to avoid
1038 my temporary 'gdk-pixbuf-io-include.h' hack
1040 Sun Nov 18 07:54:22 2001 Owen Taylor <otaylor@redhat.com>
1042 * gdk-pixbuf-loader.c: Remove include of gobject/signal.h.
1044 2001-11-03 Sebastian Wilhelmi <wilhelmi@ira.uka.de>
1046 * gdk-pixbuf-loader.c, gdk-pixbuf-scale.c: Documentation fixes.
1048 2001-10-29 Tor Lillqvist <tml@iki.fi>
1050 * Makefile.am: Use -no-undefined on Win32. Make
1051 libgdk_pixbuf_1_3_la_OBJECTS depend on
1052 gdk-pixbuf-marshal.c. Install import libraries.
1054 * gdk_pixbuf.def: Update.
1056 * gdk-pixbuf-io.c: (Win32) Use G_WIN32_DLLMAIN_FOR_DLL_NAME, saves
1057 the actual DLL name of libgdk_pixbuf.
1058 (get_libdir): Use it instead of guessing.
1060 * io-xbm.c (gdk_pixbuf__xbm_image_begin_load): Use
1061 g_file_open_tmp() insread of mkstemp().
1063 2001-10-18 Matthias Clasen <matthiasc@poet.de>
1065 * io-xbm.c (gdk_pixbuf__xbm_image_load_real): Don't dereference
1066 context when it may be NULL. (#62344)
1068 2001-10-16 Matthias Clasen <matthiasc@poet.de>
1070 * gdk-pixdata.c, gdk-pixdata.h: Documentation.
1072 * gdk-pixbuf-csource.1: Spelling fixes.
1074 Wed Oct 10 11:52:17 2001 Owen Taylor <otaylor@redhat.com>
1076 * gdk-pixdata.c gdk-pixbuf.h: Get rid of
1077 GDK_PIXBUF_ERROR_HEADER/PIXEL_CORRUPT and use CORRUPT_IMAGE.
1078 Get rid fo GD_PIXBUF_ERROR_UNKNOWN_FORMAT and use the
1079 existing UKNOWN_TYPE error. (#58308)
1081 * gdk-pixbuf.h, gdk-pixdata.c: Rename gdk_pixbuf_new_from_stream()
1082 back to gdk_pixbuf_new_from_inline(). Rework docs to try
1083 and be helpful for the common case. (#58308)
1085 2001-10-05 Sven Neumann <sven@gimp.org>
1087 * gdk-pixbuf/gdk-pixbuf-io.c
1088 * gdk-pixbuf/gdk-pixbuf-private.h
1089 * gdk-pixbuf/gdk-pixbuf.c
1090 * gdk-pixbuf/gdk-pixbuf.h
1091 * gdk-pixbuf/io-jpeg.c
1092 * gdk-pixbuf/io-png.c: changed GDK_PIXBUF_ERROR_BAD_OPTION_VALUE to
1093 GDK_PIXBUF_ERROR_BAD_OPTION to we can use it for bad keys too. Added
1094 new public API gdk_pixbuf_get_option() to retrieve key/value pairs
1095 set by an image loader. Added support for saving and reading PNG tEXt
1096 chunks in PNG images.
1098 Tue Oct 2 11:29:50 2001 Owen Taylor <otaylor@redhat.com>
1100 * gdk-pixdata.c (gdk_pixdata_to_csource): Fix indentation
1101 use a macro to make code a bit more readable.
1103 2001-10-02 Sven Neumann <sven@gimp.org>
1105 * gdk-pixdata.c: g_string_printfa => g_string_append_printf.
1107 Wed Sep 26 18:08:19 2001 Owen Taylor <otaylor@redhat.com>
1109 * Makefile.am (s-enum-types-h): Fix a typo in the include
1110 guards. (#61254, Skip Montaro)
1112 2001-09-21 Matthias Clasen <matthiasc@poet.de>
1114 * io-xpm.c (xpm_extract_color): Rewritten to handle
1115 xpm colormap entries more thoroughly. (#59939)
1117 2001-09-21 Hans Breuer <hans@breuer.org>
1119 * gdk-pixbuf.def : updated externals
1121 * makefile.msc : generate gdk-pixbuf-enum-types.[hc]
1123 Thu Sep 20 17:22:48 2001 Owen Taylor <otaylor@redhat.com>
1125 * io-tiff.c (gdk_pixbuf__tiff_image_load): On OSF, apparently fseek()
1126 works in some on-demand way, so the fseek gdk_pixbuf_new_from_file() doesn't
1127 work here since we are using the raw file descriptor. So, we call lseek()
1128 on the fileno(f) before using it. (#60840).
1130 2001-09-20 James Henstridge <james@daa.com.au>
1132 * Makefile.am (gdk-pixbuf-enum-types.c): same change as in pango,
1133 so that flags types are registered as flags rather than enums (not
1134 that there are any flags here at the moment).
1136 Wed Sep 19 00:28:24 2001 Owen Taylor <otaylor@redhat.com>
1138 * Makefile.am (gdk_pixbuf_headers): Don't include
1139 gkd-pixbuf-features.h here since is in builddir
1140 and confuses autogen rules.
1142 * Makefile.am: Don't += variables before they have values,
1143 automake-1.5 doesn't like it.
1145 * Makefile.am: Fix srcdir != builddir for gdk-pixbuf-enum-types.c.
1147 * Makefile.am: The whitespace strikes back.
1149 2001-09-17 Matt Wilson <msw@redhat.com>
1151 * Makefile.am (libpixbufloader_xbm_la_LDFLAGS): removed duplicate
1152 LDFLAGS definition, use the -avoid-version one.
1153 (libpixbufloader_tga_la_LDFLAGS): likewise
1155 Mon Sep 17 11:49:02 2001 Owen Taylor <otaylor@redhat.com>
1157 * pixops/*: Mirror GdkInterpType to PixopsInterpType
1158 to avoid including gdk-pixbuf headers.
1160 2001-09-16 James Henstridge <james@daa.com.au>
1162 * .cvsignore: add generated files to ignore list.
1164 * gdk-pixbuf.h: include gdk-pixbuf-enum-types.h
1166 * Makefile.am: add rules to build gdk-pixbuf-enum-types.[ch]
1168 Fri Sep 14 23:22:12 2001 Matthias Clasen <matthiasc@poet.de>
1170 * io-pnm.c (pnm_read_header): Use GDK_PIXBUF_ERROR_CORRUPT_IMAGE,
1171 not GDK_PIXBUF_ERROR_HEADER_CORRUPT. (#58308)
1173 Fri Sep 14 22:53:45 2001 Matthias Clasen <matthiasc@poet.de>
1175 * io-jpeg.c (gdk_pixbuf__jpeg_image_begin_load): Handle
1176 out-of-memory situation better.
1178 * io-pnm.c: Robustness fixes for pnm loader
1180 * io-gif.c: Make gif loader survive TEST_RANDOMLY_MODIFY
1182 * io-xpm.c (parse_color): detect very long color strings
1184 All of the above from Matthias Clasen <matthiasc@poet.de>,
1185 the remaining from Soeren Sandmann <sandmann@daimi.au.dk>.
1187 * test-images.h: add tests:
1188 - four valid ppm's, eight invalid (matthiasc@poet.de)
1189 - one invalid xpm (matthiasc@poet.de)
1190 - one valid tga, one invalid (sandmann@daimi.au.dk)
1191 - one invalid tiff (sandmann@daimi.au.dk
1193 * test-loaders.c: enable tests for ppm, png, gif, tga, tiff, xpm
1195 * io-tiff.c (gdk_pixbuf__tiff_image_stop_load): TIFFClientOpen can
1196 fail - detect it when it happens
1198 * io-tga.c (gdk_pixbuf__tga_load_increment): Fail if there is too
1201 * gdk-pixbuf-io.c: moved wbmb check after ico check to avoid false
1204 Fri Sep 14 00:30:48 2001 Tim Janik <timj@gtk.org>
1206 * Makefile.am: don't used BUILT_SOURCES to build marshal
1207 files, as in conjunction with stamp files, this can
1208 lead to endless rebuilding loops.
1210 Tue Sep 4 00:22:07 2001 Owen Taylor <otaylor@redhat.com>
1212 * Makefile.am: Fix EXTRA_DIST for gdk-pixbuf-csource.1
1214 Tue Sep 4 03:09:52 2001 Tim Janik <timj@gtk.org>
1216 * gdk-pixbuf-csource.1: new file, manual page for
1217 the publically installed gdk-pixbuf-csource utility.
1219 Thu Aug 30 08:30:03 2001 Matthias Clasen <matthiasc@poet.de>
1221 * gdk-pixbuf-loader.c (gdk_pixbuf_loader_close): Propagate
1222 errors from gdk_pixbuf_loader_load_module.
1224 Thu Aug 30 08:27:37 2001 Matthias Clasen <matthiasc@poet.de>
1226 * io-png.c (png_row_callback): Check that row_num is valid.
1228 Tue Aug 28 21:05:26 2001 Matthias Clasen <matthiasc@poet.de>
1230 * io-bmp.c (OneLine): Emit area_updated signal with proper
1231 area information. (#52002)
1233 Tue Aug 28 20:03:43 2001 Matthias Clasen <matthiasc@poet.de>
1235 * test-loaders.c (test_loader): Catch errors at close time.
1236 * test-loaders.c (main): Remove C++ comments.
1238 2001-08-21 Matthias Clasen <matthiasc@poet.de>
1240 * Makefile.am, gdk-pixbuf-io.c, pixbufloader_tga.def,
1241 io-tga.c: Add tga loader, patch by Nicola Girardi. (#56067)
1243 2001-08-20 Matthias Clasen <matthiasc@poet.de>
1245 * test-images.h, test-loaders.c: Add ico and wbmp tests.
1246 * io-jpeg.c (gdk_pixbuf__jpeg_image_save): Fail with a suitable
1247 error if buffer allocation fails.
1248 * io-ico.c: Make .ICO loader more robust.
1249 All of these are due to sandmann@daimi.au.dk (#50187)
1251 2001-08-19 Sven Neumann <sven@gimp.org>
1253 * pixops/pixops.c: applied some simple but effective optimizations
1254 to pixops_composite_nearest() and pixops_composite_color_nearest().
1256 2001-08-07 Sven Neumann <sven@gimp.org>
1258 * gdk-pixbuf.c (gdk_pixbuf_fill): a comment asked to optimize this
1259 function, so that's what I did.
1261 2001-08-06 Kjartan Maraas <kmaraas@gnome.org>
1263 * gdk-pixdata.c: Fix a typo.
1265 2001-07-30 Hans Breuer <hans@breuer.org>
1267 * pixops/makefile.msc : new file
1268 * makefile.msc : use it to complete the build
1270 2001-07-20 Hans Breuer <hans@breuer.org>
1272 * gdk-pixdata.c : don't 'g_tohl (*istream++)', but move
1273 pointer increment out of the macro, because at least one
1274 compiler (msvc 5.0) gets confused otherwise (applies the
1277 * gdk_pixbuf.def : updated exports
1279 * makefile.msc : reflect gdk-pixbuf-csource changes
1281 2001-07-17 Darin Adler <darin@bentspoon.com>
1283 * gdk-pixbuf-csource.c: Add missing <stdlib.h> include.
1284 * io-png.c: (setup_png_transformations): Add ifdef so we compile
1285 without warnings with G_DISABLE_CHECKS on.
1286 * io-pnm.c: (gdk_pixbuf__pnm_image_load_increment): Add a missing
1288 * io-wbmp.c: (getin), (get_mbi): Add a missing const.
1289 * io-xbm.c: (gdk_pixbuf__xbm_image_load_real): Get rid of some
1290 unused locals and add an initial value to quiet the compiler's
1291 unintialized variable warning.
1292 * pixops/pixops.c: Put an ifdef around some dead code.
1294 Thu Jul 5 10:17:15 2001 Owen Taylor <otaylor@redhat.com>
1296 * pixops/Makefile.am (noinst_LTLIBRARIES): Switch
1297 over to the new include flags AC_SUBST(). (Problem
1298 pointed out by Mikael Hermansson.)
1300 2001-06-29 Havoc Pennington <hp@redhat.com>
1302 * gdk-pixbuf-loader.c (gdk_pixbuf_loader_class_init): fix for
1305 Thu Jun 28 21:54:19 2001 Owen Taylor <otaylor@redhat.com>
1307 * make-inline-pixbuf.c test-gdk-pixbuf.c test-loaders.c
1308 gdk-pixbuf-csource.c: Fix args to g_type_init ().
1310 2001-06-28 Havoc Pennington <hp@pobox.com>
1312 * gdk-pixdata.c: <string.h>
1314 * gdk-pixbuf-io.c (get_libdir): fix typo in dll name (aren't we
1315 also leaking memory here from g_strdup_printf?)
1317 Tue Jun 26 09:48:02 2001 Tim Janik <timj@gtk.org>
1319 * Makefile.am (noinst_PROGRAMS): get rid of make-inline-pixbuf
1321 * gdk-pixbuf-data.[hc]: provide gdk_pixbuf_new_from_stream()
1322 instead from gdk_pixbuf_new_from_inline().
1324 * gdk-pixdata.[hc]: auxillary GdkPixdata structure, public
1325 installed API for applications that need to serialize/deserialize
1326 on their own (gimp, BEAST).
1328 * gdk-pixbuf/gdk-pixbuf-csource.c: provide publically installed
1329 program that can dump images in CSource format and Pixbuf
1330 stream format. supports RLE encoding, MACRO formatting etc...
1333 Mon Jun 25 00:28:11 2001 Owen Taylor <otaylor@redhat.com>
1335 * Makefile.am: Actually update timestamps, so rules don't
1338 2001-06-11 Havoc Pennington <hp@redhat.com>
1340 * Makefile.am (stamp-gdk-pixbuf-marshal.c): glib_genmarshal
1341 already includes top_builddir
1343 2001-06-08 Havoc Pennington <hp@redhat.com>
1345 * gdk-pixbuf-loader.c (gdk_pixbuf_loader_load_module): remove
1346 bogus g_return_if_fail
1348 * io-gif.c (gif_get_lzw): if delay time is 0 or smaller than
1349 likely timeout resolution, set it to an arbitrarily-chosen short
1351 Fixes bug #55953 from warmenhoven@yahoo.com
1353 2001-06-07 Havoc Pennington <hp@redhat.com>
1355 * Makefile.am: use Owen's new way of doing stampfiles/generated
1358 2001-06-07 Havoc Pennington <hp@redhat.com>
1360 * Makefile.am (gdk-pixbuf-marshal.c): fix up the glib-genmarshal path
1362 2001-06-05 Havoc Pennington <hp@redhat.com>
1364 * test-loaders.c (main): use putenv not setenv, reported by
1367 2001-05-08 Havoc Pennington <hp@redhat.com>
1369 * gdk-pixbuf-util.c (gdk_pixbuf_add_alpha): docs fixup,
1370 and fix behavior to still subst color if the original image
1373 2001-06-04 Havoc Pennington <hp@redhat.com>
1375 * io-pnm.c (pnm_skip_whitespace): patch from Szekeres Istvan,
1378 2001-06-01 Havoc Pennington <hp@redhat.com>
1380 Apply patch from sandmann@daimi.au.dk, with some tweaks.
1381 Makes things a bit more robust, and adds test-loaders.c
1382 which is good for finding further robustness bugs to fix.
1384 * io-tiff.c: Try to work around libtiff suckiness a bit;
1385 put a giant thread lock on the whole loader,
1386 paranoically check both whether error handlers were called and
1387 also whether functions return false. Handle case where width or
1388 height is 0. Various cleanups.
1390 * io-png.c (gdk_pixbuf__png_image_stop_load): only unref pixbuf
1392 (png_error_callback): apparently libpng expects you to longjmp out
1395 * io-gif.c (struct _GifContext): remove unused "pixbuf" field
1396 (lzw_read_byte): change "Mail jrb if this fails" g_warning
1398 (gif_get_lzw): check for out-of-memory
1399 (gif_prepare_lzw): catch/report an error
1400 (new_context): use try_malloc, since GifContext is nearly 70K
1401 (gdk_pixbuf__gif_image_load_increment): set context->buf to NULL
1402 so we don't crash later.
1404 * Makefile.am: Add test-loaders
1406 * gdk-pixbuf-loader.c (gdk_pixbuf_loader_close): handle context ==
1409 2001-05-29 Darin Adler <darin@eazel.com>
1411 * gdk-pixbuf.h: Fix prototype to use "(void)" instead of "()".
1413 Mon May 28 14:21:35 2001 Jonathan Blandford <jrb@redhat.com>
1415 * io-bmp.c: Patch from Helmethead <hoshem@mel.comcen.com.au> to
1416 fix up bmp decoder to:
1417 - adds 16 bpp bmp support (bug #53884)
1418 - adds OS/2 1.x format bmp support (bug #54964)
1419 - adds 4 bpp RLE compressed bmp support
1420 - adds 1 bpp colormap support
1421 - fixes negative height (top down) bmp support
1423 2001-05-25 Hans Breuer <hans@breuer.org>
1425 * gdk_pixbuf.def : reflect Havoc's recent api change
1427 Sun May 20 12:53:49 2001 Owen Taylor <otaylor@redhat.com>
1429 * Makefile.am (libgdk_pixbuf_1_3_la_LDFLAGS): Remove an
1430 excess $(GLIB_LIBS).
1432 Sun May 13 11:59:11 2001 Owen Taylor <otaylor@redhat.com>
1434 * Makefile.am: Make modules depend on libgdk_pixbuf.la.
1436 2001-05-04 Havoc Pennington <hp@redhat.com>
1438 * pixops/pixops.c (pixops_process): merge fix from stable: Patch
1439 from hoshem@mel.comcen.com.au to fix nonzero X offsets. Fixes
1442 * gdk-pixbuf/pixops/pixops.c (pixops_composite_nearest): merge
1443 from stable: Patch from OKADA Mitsuru <m-okada@fjb.co.jp> to fix
1444 confusion of using "src" instead of "p".
1445 (pixops_composite_color_nearest): Use a more accurate (and
1446 correct, to begin with) compositing method. This cures checks
1447 showing through on images with no alpha.
1449 * gdk-pixbuf.c (gdk_pixbuf_fill): fix bug that left some trailing
1452 * gdk-pixbuf-io.h: fix UpdatedNotifyFunc to use signed ints
1454 * gdk-pixbuf-loader.h (struct _GdkPixbufLoaderClass): Change
1455 area_updated signal to use signed ints. Removed animation-related
1458 * io-gif.c, io-gif-animation.h, io-gif-animation.c: Massive
1461 * gdk-pixbuf-animation.c: Add GdkPixbufAnimationIter to abstract
1462 all the pesky details. Remove old frame-based API. Make
1463 GdkPixbufAnimation an abstract base class, derived by the loaders.
1465 Sun Apr 22 15:51:32 2001 Owen Taylor <otaylor@redhat.com>
1467 * Makefile.am (LDADDS): Add $(MATH_LIB).
1469 2001-04-18 Havoc Pennington <hp@redhat.com>
1471 * gdk-pixbuf.c (gdk_pixbuf_fill): Function to fill pixbuf with a
1474 Wed Apr 4 01:41:02 2001 Tim Janik <timj@gtk.org>
1476 * pixops/Makefile.am (noinst_LTLIBRARIES): include $top_srcdir
1477 so we don't try to get <gtk/gtkobject.h> from standard search
1480 * Makefile.am (gdk-pixbuf-marshal.c): use deps from srcdir.
1481 add gdk-pixbuf-marshal.list to EXTRA_DIST.
1482 take gdk-pixbuf-marshal.h out of _la sources.
1484 2001-03-19 Tor Lillqvist <tml@iki.fi>
1486 * makefile.mingw.in: Handle gdk-pixbuf-marshal.c.
1488 * gdk_pixbuf.def: Update.
1490 * pixbufloader_*.def: Just export the fill_vtable functions now.
1492 2001-03-18 Mike Kestner <mkestner@ameritech.net>
1494 * make-inline-pixbuf.c (main): Added logic to remove output when
1497 2001-03-14 Havoc Pennington <hp@redhat.com>
1499 * Makefile.am (gdk-pixbuf-marshal.c): Use different temporary file
1500 from gdk-pixbuf-marshal.h, fixes parallel makes.
1502 Thu Mar 1 04:01:57 2001 Tim Janik <timj@gtk.org>
1504 * test-gdk-pixbuf.c: fixed includes.
1506 2001-02-18 Havoc Pennington <hp@pobox.com>
1508 * gdk-pixbuf-io.c (gdk_pixbuf_load_module): prepend underscore
1509 (gdk_pixbuf_get_named_module): prepend underscore
1510 (gdk_pixbuf_get_module): prepend underscore
1512 2001-02-19 Havoc Pennington <hp@redhat.com>
1514 * gdk-pixbuf-io.c (gdk_pixbuf_load_module): const fix
1516 2001-02-17 Havoc Pennington <hp@pobox.com>
1518 * gdk-pixbuf-loader.c (gdk_pixbuf_loader_new_with_type): docs
1520 2001-02-07 Alexander Larsson <alexl@redhat.com>
1522 * io-xpm.c (free_buffer):
1523 Use g_free, since the buffer is allocated with g_try_alloc().
1525 2001-02-06 Christophe Merlet <redfox@eikonex.org>
1527 * gdk-pixbuf-data.c: Fixes a minor typo.
1529 Sun Feb 4 07:59:57 2001 Tim Janik <timj@gtk.org>
1531 * gdk-pixbuf.h: DOH! don't include glib/gobject.h but glib-object.h,
1532 we finally need the gobject->gruntime rename.
1534 * *.c: scratched calls to g_type_init(), there's simply no point in
1535 doing that, use gtk_init().
1537 2001-02-01 Havoc Pennington <hp@pobox.com>
1539 * gdk-pixbuf-loader.c, gdk-pixbuf-loader.h: rename "private" field
1540 in struct to "priv" for C++
1542 2001-01-31 Havoc Pennington <hp@pobox.com>
1544 * gdk-pixbuf.c: include glib-object.h instead of gvaluetypes.h
1546 2001-01-26 Havoc Pennington <hp@redhat.com>
1548 * gdk-pixbuf-io.c (mname): fix included modules case.
1550 2001-01-22 Havoc Pennington <hp@redhat.com>
1552 * gdk-pixbuf-io.c (gdk_pixbuf_new_from_xpm_data): check errors
1553 from gdk_pixbuf_load_module
1555 2001-01-22 Havoc Pennington <hp@redhat.com>
1557 * Makefile.am: Add built marshaller files to support
1558 GdkPixbufLoader signals
1560 * gdk-pixbuf-io.c (gdk_pixbuf_load_module): have
1561 GDK_PIXBUF_MODULEDIR unconditionally replace the compiled-in
1562 module location, rather than acting as a fallback, because we are
1563 using GDK_PIXBUF_MODULEDIR to use gdk-pixbuf before installing it.
1565 * gdk-pixbuf.h: include gdk-pixbuf-loader.h
1567 * gdk-pixbuf-loader.h, gdk-pixbuf-loader.c: Move back over here
1568 from gtk, and add error to close(), because stop_load may do
1569 parsing of the image.
1571 * pixops/have_mmx.S (_pixops_have_mmx): add newline at end of file
1573 * io-*.c: make individual operations static, and add fill_vtable
1574 functions which are exported. Fix the collection of type warnings
1575 that surfaced, including a number of functions that didn't
1576 properly take a GError and some that weren't
1577 const-correct. Involved adding error handling for a few loaders.
1579 * gdk-pixbuf-io.h: Add error reporting to stop_load function
1581 * gdk-pixbuf-io.c (gdk_pixbuf_load_module): change to just look up
1582 a function that fills in the GdkPixbufModule vtable, instead of
1583 looking up all the image functions individually; this means we
1584 can get type safety within modules for the loader functions.
1585 Also it means you don't have to keep the statically compiled and
1586 GModule versions in sync.
1588 * test-gdk-pixbuf.c (main): remove gdk_pixbuf_init()
1590 * make-inline-pixbuf.c (main): remove call to gdk_pixbuf_init()
1592 * gdk-pixbuf.h: nuke gdk_pixbuf_init()
1594 * gdk-pixbuf-animation.c (gdk_pixbuf_frame_get_type): g_type_init
1597 * gdk-pixbuf.c (gdk_pixbuf_get_type): g_type_init () here
1599 * gdk-pixbuf-animation.c (gdk_pixbuf_animation_get_type):
1602 2001-01-20 John Harper <jsh@eazel.com>
1604 * io-xbm.c: new pixbuf loader, for X bitmap files. Basically a
1605 collision between Xlib's RdBitF.c and io-tiff.c
1607 * gdk-pixbuf-io.c, Makefile.am, pixbufloader_xbm.def: added
1610 [ merged from stable gdk-pixbuf module. Untested, but it
1611 compiles, and works fine in the stable module ]
1613 2001-01-18 Tor Lillqvist <tml@iki.fi>
1615 * gdk-pixbuf-io.c (get_libdir): (Win32) Use the new
1616 g_win32_get_package_installation_subdirectory() function. No need
1617 to include windows.h.
1618 (gtk_win32_get_installation_directory): Remove this then.
1620 2001-01-01 Havoc Pennington <hp@redhat.com>
1622 * Makefile.am (libgdk_pixbuf_1_3_la_LDFLAGS): add
1623 @LIBTOOL_EXPORT_OPTIONS@
1625 2000-12-30 Tor Lillqvist <tml@iki.fi>
1627 * gdk_pixbuf.def: Update.
1629 2000-12-16 Havoc Pennington <hp@pobox.com>
1631 * gdk-pixbuf-animation.c (gdk_pixbuf_animation_new_from_file): ref
1632 the pixbuf in the frame, so we can use gdk_pixbuf_frame_free
1633 (gdk_pixbuf_frame_copy): new function
1634 (gdk_pixbuf_frame_free): new function
1635 (gdk_pixbuf_frame_get_type): new function
1636 (GDK_TYPE_PIXBUF_FRAME): macro to get type for GdkPixbufFrame
1638 Tue Nov 14 11:51:26 2000 Owen Taylor <otaylor@redhat.com>
1640 * Makefile.am: Add -avoid-version for all modules.
1642 2000-11-13 Havoc Pennington <hp@redhat.com>
1644 * io-png.c (png_simple_error_callback): fix error message to not
1645 say "save" since it's used for loading
1647 2000-11-11 Hans Breuer <Hans@Breuer.Org>
1649 * gdk-pixbuf-io.c : Fix all function prototype macros for self
1650 contained image handlers (!USE_G_MODULE). Files to save should
1651 be opened in binary mode, fopen(s, "wb").
1653 * io-xpm.c : added HAVE_UNISTD_H condition
1655 2000-11-11 Tor Lillqvist <tml@iki.fi>
1657 * gdk_pixbuf.def: Add gdk_pixbuf_new_subpixbuf.
1659 * io-tiff.c (gdk_pixbuf__tiff_image_begin_load): Use
1660 g_file_open_tmp() (just added to GLib) instead of mkstemp() (or
1661 mktemp() and open()).
1663 * io-xpm.c (gdk_pixbuf__xpm_image_begin_load): Ditto.
1665 2000-11-01 Havoc Pennington <hp@pobox.com>
1667 * gdk-pixbuf.c (gdk_pixbuf_new_subpixbuf): New function to create
1668 a pixbuf pointing to a subregion of another pixbuf.
1670 2000-10-16 Tor Lillqvist <tml@iki.fi>
1672 * gdk-pixbuf-io.c: Define also m_save (for the non-gmodule case).
1674 2000-10-16 Havoc Pennington <hp@redhat.com>
1676 * gdk-pixbuf-io.c (gdk_pixbuf_get_module)
1677 (gdk_pixbuf_get_named_module) (gdk_pixbuf_load_module):
1678 add error reporting here also
1680 * make-inline-pixbuf.c (main): use GError
1682 * io-xpm.c: include unistd.h
1684 * gdk-pixbuf-util.c: include string.h
1686 * io-*.c: add error reporting
1688 * gdk-pixbuf-animation.c (gdk_pixbuf_animation_new_from_file): add
1691 * gdk-pixbuf-io.c (gdk_pixbuf_new_from_file): Add error reporting
1693 * gdk-pixbuf-io.h: Add GError** to load_increment and load
1696 * gdk-pixbuf-io.c (gdk_pixbuf_save) (gdk_pixbuf_savev): return
1697 a G_FILE_ERROR if we fail to write or close the file.
1699 * gdk-pixbuf.h: remove GDK_PIXBUF_ERROR_IO, instead we'll use
1700 G_FILE_ERROR_*. Rename enum to GdkPixbufError, properly following
1701 the GError naming rules. Add GError** to load functions.
1703 2000-10-06 Havoc Pennington <hp@redhat.com>
1705 * gdk-pixbuf.h: add GdkPixbufAlphaMode
1707 2000-10-06 Havoc Pennington <hp@redhat.com>
1709 This entry is a summary of the merged-in changes from 1.0.
1710 Relevant original ChangeLog entries are spliced in after
1711 this entry; the files they refer to are from the 1.0
1714 * pixops/pixops.c (pixops_composite_nearest): sync a small fix
1717 * io-xpm.c (xpm_seek_string): add fscanf error check from 1.0
1718 Add progressive loader from 1.0
1720 * io-tiff.c (gdk_pixbuf__tiff_image_begin_load): mem leak fixes
1723 * io-pnm.c: new version from 1.0 tree
1725 * io-jpeg.c (gdk_pixbuf__jpeg_image_load): sync from 1.0, use
1728 * io-gif.c (lzw_read_byte): sync from 1.0, change a g_error to
1730 (gif_get_next_step): return 0 here, sync from 1.0
1732 * gdk-pixbuf-util.c: sync email address change for Cody
1735 2000-09-11 Jeffrey Stedfast <fejj@helixcode.com>
1737 * gdk-pixbuf/io-pnm.c: Pretty much totally rewrote again because
1738 last nights code was still "broken". Should now properly handle
1739 all error conditions gracefully.
1741 2000-09-10 Jeffrey Stedfast <fejj@helixcode.com>
1743 * gdk-pixbuf/io-pnm.c: Rewrote.
1745 2000-09-09 Federico Mena Quintero <federico@helixcode.com>
1747 * gdk-pixbuf/pixops/pixops.c (pixops_composite_nearest): Compute
1748 the correct dest offset.
1750 2000-08-25 Federico Mena Quintero <federico@helixcode.com>
1752 * gdk-pixbuf/io-xpm.c: #include <unistd.h>
1754 2000-08-05 Larry Ewing <lewing@helixcode.com>
1756 * gdk-pixbuf/io-tiff.c: stop leaking context->tempname.
1758 * gdk-pixbuf/io-xpm.c: same as above.
1760 2000-07-26 Michael Meeks <michael@helixcode.com>
1762 * gdk-pixbuf/io-jpeg.c (gdk_pixbuf__jpeg_image_load): make
1765 2000-07-21 Larry Ewing <lewing@helixcode.com>
1767 * gdk-pixbuf/io-xpm.c: add a fake progressive loader so that
1768 xpm at least supports the progressive interface like the one in
1769 io-tiff.c. This should be reimplemented as an actual progressive
1772 2000-07-19 Jonathan Blandford <jrb@redhat.com>
1774 * demo/pixbuf-demo.c (update_timeout): changed scaling level to
1775 make it look better.
1776 * gdk-pixbuf/testpixbuf.c (update_timeout): Patch from michael
1777 meeks to handle errors better.
1779 2000-10-07 Tor Lillqvist <tml@iki.fi>
1782 * pixbufloader_jpeg.def
1783 * pixbufloader_png.def: Add new entry points.
1785 * makefile.mingw.in: Use libintl.
1787 2000-10-06 Havoc Pennington <hp@redhat.com>
1789 * gdk-pixbuf-io.c (gdk_pixbuf_save): s/format/type/g to be
1790 consistent with gdk_pixbuf_loader_new_with_type().
1791 Return runtime error if a module is missing.
1793 * gdk-pixbuf.h: add GDK_PIXBUF_ERROR_UNKNOWN_TYPE
1795 2000-10-05 Havoc Pennington <hp@redhat.com>
1797 Pixbuf saving, patch from David Welton.
1799 * Makefile.am (GDK_PIXBUF_LIBS): add INTLLIBS
1800 (libgdk_pixbuf_1_3_la_SOURCES): add gdk-pixbuf-i18n.h
1802 * gdk-pixbuf-i18n.h: Add _() to gdk-pixbuf
1804 * io-png.c (gdk_pixbuf__png_image_save): PNG save routine.
1806 * io-jpeg.c (gdk_pixbuf__jpeg_image_save): JPEG save routine.
1808 * gdk-pixbuf-io.c (gdk_pixbuf_save):
1809 (gdk_pixbuf_savev): Implement pixbuf saving routines
1811 * gdk-pixbuf.c (gdk_pixbuf_error_quark): pixbuf error quark
1814 * gdk-pixbuf.h: Add public save routines; add pixbuf error
1817 * gdk-pixbuf-io.h: Add save function to GdkPixbufModule
1819 2000-10-05 Dan Winship <danw@helixcode.com>
1821 * io-png.c, io-tiff.c, io-xpm.c: Fix comments to not claim that
1822 all three of these files are the JPEG image loader. (From
1825 2000-10-03 Tor Lillqvist <tml@iki.fi>
1827 * makefile.mingw.in: Add rule for make-inline-pixbuf. Use
1828 gdk-pixbuf's version number in the rule for makefile.mingw itself.
1830 * gdk_pixbuf.def: Add new entry points.
1832 2000-09-26 Havoc Pennington <hp@redhat.com>
1834 * gdk-pixbuf-util.c (gdk_pixbuf_saturate_and_pixelate): Add this
1835 function here, instead of putting it in a private GTK+ file.
1837 * gdk-pixbuf-private.h (GdkPixbufInlineFormat): include an
1838 enum here for the known formats of inlined pixbufs.
1839 Also, #define our file magic here.
1841 2000-06-23 Havoc Pennington <hp@redhat.com>
1843 * make-inline-pixbuf.c: Small program that creates C variable
1844 declarations of inline pixbuf data. This can be read
1845 by gdk_pixbuf_new_from_inline.
1847 * gdk-pixbuf.h (gdk_pixbuf_new_from_inline): New function to read
1848 inline pixbuf data and create a pixbuf from it.
1850 * gdk-pixbuf-data.c (gdk_pixbuf_new_from_inline): implement here
1852 2000-09-07 Tor Lillqvist <tml@iki.fi>
1854 * makefile.mingw.in: Use own version number for gdk-pixbuf DLLs,
1857 2000-08-12 Tor Lillqvist <tml@iki.fi>
1859 * gdk_pixbuf.def: Add missing entry point.
1861 2000-08-10 Havoc Pennington <hp@redhat.com>
1863 * Makefile.am (EXTRA_DIST): The *.def files had the wrong names
1864 (s/pixbuf_/pixbufloader_)
1866 2000-08-02 Tor Lillqvist <tml@iki.fi>
1872 * io-wbmp.c: Conditionalise inclusion of <unistd.h>.
1874 * makefile.mingw.in: List loaders alphabetically. Add the wbmp
1875 one. Fix names of DLLs to have '-' instead of '_'.
1877 2000-07-31 Elliot Lee <sopwith@redhat.com>
1878 * io-wbmp.c: Some bug fixes - now tested to work.
1880 2000-07-27 Elliot Lee <sopwith@redhat.com>
1882 * gdk-pixbuf-io.h, gdk-pixbuf-io.c: Add
1883 gdk_pixbuf_get_named_module() function to facilitate above change
1884 * io-wbmp.c, pixbufloader_wbmp.defs, gdk-pixbuf-io.c, Makefile:
1885 Implement loader for WBMP format.
1886 * io-bmp.c: Don't malloc a temporary buffer - use stack instead.
1888 2000-07-23 Tor Lillqvist <tml@iki.fi>
1893 * pixops/makefile.mingw.in
1894 * pixbuf_*.def: New files.
1897 * pixops/Makefile.am: Add them. Add rule to generate makefile.mingw.
1899 * gdk-pixbuf-io.c (gtk_win32_get_installation_directory):
1900 New function, to get the GTK+ installation directory from
1901 the Windows Registry, where the installation program
1902 for whatever software includes GTK+ has stored it.
1904 Used to avoid having hardcoding the directory where to look for
1905 loaders. This function is needed by gtk, too, so it should
1906 really be just in one place. Maybe a small static library
1907 one level up from here?
1909 * gdk-pixbuf-animation.c (gdk_pixbuf_animation_new_from_file)
1910 * gdk-pixbuf-io.c (gdk_pixbuf_new_from_file):
1911 Open file in binary mode. This *is* standard C. (No-op on Unix,
1914 * io-jpeg.c: If we don't HAVE_SIGSETJMP, use normal setjmp().
1916 * io-tiff.c: Use g_get_tmp_dir(). If we don't HAVE_MKSTEMP, use
1917 mktemp() and open().
1918 (gdk_pixbuf__tiff_image_stop_load): g_free() also the tempname.
1920 * pixops/*.S: The Gas from mingw32 doesn't like the .type
1921 pseudo-op. Conditionalise on __MINGW32__, but probably
1922 should conditionalise on Gas version instead? Or could we
1923 do without .type on all systems?
1925 * pixops/timescale.c: Use g_get_current_time()
1926 instead of gettimeofday().
1928 Sat Jul 22 10:57:22 2000 Owen Taylor <otaylor@redhat.com>
1930 * Makefile.am (test_gdk_pixbuf_LDADD): Remove -lgmodule
1932 Tue Jul 11 11:26:42 2000 Owen Taylor <otaylor@redhat.com>
1934 * gdk-pixbuf.c: Add <string.h> include.
1936 Tue Jul 11 06:20:14 2000 Tim Janik <timj@gtk.org>
1938 * io-gif.c (gdk_pixbuf__gif_image_load_animation):
1939 * gdk-pixbuf-data.c (gdk_pixbuf_new_from_data):
1940 * gdk-pixbuf-animation.c (gdk_pixbuf_animation_new_from_file):
1941 use g_object_new() instead of g_type_create_instance() which
1942 is a private function for fundamental type implementations.
1944 Thu Jul 6 11:49:47 2000 Owen Taylor <otaylor@redhat.com>
1946 * Makefile.am (libgdk_pixbuf_la_LDFLAGS): Use GTK+ version
1947 soname scheme for gdk-pixbuf.
1949 2000-06-21 Havoc Pennington <hp@pobox.com>
1951 * gdk-pixbuf.c: Convert GdkPixbuf to GObject, leaving it opaque
1952 (i.e. derivation is not allowed, and there are no virtual methods
1954 (gdk_pixbuf_preinit): Call g_type_init() here.
1955 (gdk_pixbuf_init): Add a user-friendly init function, for users
1956 of standalone gdk-pixbuf
1958 * gdk-pixbuf-animation.c: Convert to GObject, in the same
1959 way GdkPixbufAnimation was done.
1961 * gdk-pixbuf.h: Remove gdk_pixbuf_set_unref_handler() and
1962 gdk_pixbuf_finalize() from API, since these are broken and don't
1963 make sense with new GObject stuff.
1965 Wed Jun 21 16:02:48 2000 Owen Taylor <otaylor@redhat.com>
1967 * gdk-pixbuf-io.c (gdk_pixbuf_load_module): Add feature to
1968 support a GDK_PIXBUF_MODULEDIR env variable as a secondary
1971 2000-06-10 Federico Mena Quintero <federico@helixcode.com>
1973 * demo/pixbuf-demo.c: It was cold and rainy this Saturday morning,
1974 so I needed something to warm my thighs. Running plain infinite
1975 loops on your laptop to make it hot is not very much fun. A demo
1976 of the gdk-pixbuf scaling functions is way better, and looks
1979 * configure.in (AC_OUTPUT): Added the demo Makefile.
1981 * Makefile.am (SUBDIRS): Added the demo directory.
1983 2000-06-09 Larry Ewing <lewing@helixcode.com>
1985 * gdk-pixbuf/io-png.c (gdk_pixbuf__png_image_load_increment):
1986 setjmp for the png error handler. It seems setting the error
1987 handling functions does not avoid the jump, and so not calling
1988 setjmp was causing the incremental loader to jump into lala land.
1989 (gdk_pixbuf__png_image_begin_load): setjmp for error handling, I'm
1990 not sure this one is actually required but the docs say it must be
1991 set for every call to a png_* function.
1992 Also changed the comment to reflect the fact that setting the
1993 error handlers does _not_ avoid the longjmp.
1995 2000-06-06 Larry Ewing <lewing@helixcode.com>
1997 * gdk-pixbuf/gdk-pixbuf-loader.c (gdk_pixbuf_loader_frame_done):
1998 take frame offest into account when trying to calculate the
1999 animation bbox. Also set the width to the width not the height.
2000 (gdk_pixbuf_loader_animation_done): cycle over the frames to
2001 calculate bbox because now we finally have all the offset
2002 information for each frame.
2004 2000-06-05 Mathieu Lacage <mathieu@gnome.org>
2006 * configure.in: add some gtk parameters to the
2007 GDK_PIXBUF_LIBĂƒĂ¯Â¿Â½Â²S and GDK_PIXBUG_INCLUDEDIR vars. One more
2008 fight in my crusade for strange prefix compile...
2010 2000-05-30 Not Zed <NotZed@HelixCode.com>
2012 * gdk-pixbuf/io-jpeg.c (gdk_pixbuf__jpeg_image_begin_load):
2013 Initialise the error handler exit routine to our own. Note this
2014 means that every function that accesses the jpeg lib on this
2015 object MUST do a setjmp.
2016 (gdk_pixbuf__jpeg_image_stop_load): setjmp before accessing jpeg
2017 lib for handling fatal error.
2018 (gdk_pixbuf__jpeg_image_load_increment): And here too. So now
2019 your applications dont quit if there's a jpeg error!
2021 2000-05-30 Federico Mena Quintero <federico@helixcode.com>
2023 * gdk-pixbuf.spec.in: Include all the loader libraries. Patch
2024 from Frank de Lange <frank@unternet.org>.
2026 2000-05-09 Darin Adler <darin@eazel.com>
2028 * gdk-pixbuf/test-gdk-pixbuf.c:
2029 Fixed includes to get rid of accidental GNOME dependency.
2031 2000-05-26 Cody Russell <car0969@gamma2.uta.edu>
2032 * Makefile.am: Added gdk-pixbuf.spec to EXTRA_DIST
2034 2000-05-22 Federico Mena Quintero <federico@helixcode.com>
2036 * configure.in: Bumped version number to 0.8.0.
2038 * doc/Makefile.am (content_files): The toplevel gdk-pixbuf.sgml
2039 file was not being distributed.
2041 * gdk-pixbuf/pixops/Makefile.am (EXTRA_DIST): Added DETAILS.
2043 2000-05-09 Darin Adler <darin@eazel.com>
2045 * gdk-pixbuf/gdk-pixbuf-drawable.c: (rgb565lsb), (rgb565msb),
2046 (rgb565alsb), (rgb565amsb), (rgb555lsb), (rgb555msb), (rgb555alsb),
2047 (rgb555amsb), (convert_real_slow): Change all conversion from 16-bit
2048 formats to 32-bit formats to re-use the high bits of the color values
2049 so that white maps to full white.
2051 Fri May 5 12:16:32 2000 Owen Taylor <otaylor@redhat.com>
2053 * gdk-pixbuf/pixops/DETAILS: Add beginnings of file with
2054 detailed information about the structure and algorithms
2055 of pixops so people can fix it instead of breaking it.
2057 2000-05-04 Darin Adler <darin@eazel.com>
2059 * gdk-pixbuf/pixops/pixops.c: (pixops_composite_nearest),
2060 (composite_pixel), (composite_line):
2061 * gdk-pixbuf/test-gdk-pixbuf.c: (simple_composite_test_one_type):
2062 Now that Owen explained the algorithm, I think I implemented it
2063 right for the cases where the destination pixbuf is not opaque.
2064 The test does seem to confirm it.
2066 2000-05-04 Darin Adler <darin@eazel.com>
2068 * gdk-pixbuf/.cvsignore:
2069 * gdk-pixbuf/Makefile.am:
2070 * gdk-pixbuf/test-gdk-pixbuf.c (store_pixel), (fill_with_pixel),
2071 (load_pixel), (simple_composite_test_one),
2072 (simple_composite_test_one_type), (simple_composite_test), (main):
2073 Added some tests of composite to highlight problems in the old
2074 implementation. These tests run without any user interaction.
2075 Just do "make check".
2077 * gdk-pixbuf/pixops/pixops.c (pixops_composite_nearest),
2078 (composite_pixel), (composite_line): Fix composite to do a textbook
2079 "A over B" composite. This was clearly the intent, and it was easy
2080 to fix the code to do it. (Note to those that read my earlier tries
2081 at a patch; this version fixes typos that were present in all
2082 my patch attempts. I checked the final version by adding more tests.)
2084 2000-04-22 05:27:43 2000 Owen Taylor <otaylor@redhat.com>
2086 * gdk-pixbuf/pixops/pixops.c (pixops_scale_nearest): Properly
2087 offset y coordinate accordining to render_y0.
2089 * gdk-pixbuf/gdk-pixbuf-scale.c: Properly handle nonzero
2092 2000-04-22 James Henstridge <james@daa.com.au>
2094 * gdk-pixbuf.spec.in (%files): moved %{prefix}/bin/* from the main
2095 package to the devel package. The only file installed in bin is
2096 gdk-pixbuf-config, which belongs in -devel. This should allow having
2097 multiple versions of the main gdk-pixbuf package installed.
2099 2000-04-17 Karl Eichwalder <ke@suse.de>
2101 * gdk-pixbuf/Makefile.am (INCLUDES): Add $(GNOME_CFLAGS).
2102 Reported by Jens Finke.
2104 2000-04-14 Tomasz KĂƒĂ¯Â¿Â½Â³opczko <kloczek@pld.org.pl>
2106 * gdk-pixbuf/pixops/makefile.am: $(LIBART_CFLAGS) replaced by
2107 $(GTK_CFLAGS) - now gdk-pixbuf compiles correctly.
2109 2000-04-13 James Henstridge <james@daa.com.au>
2111 * configure.in: when performing the configure check to see if
2112 gmodule works, set CFLAGS to GLIB_CFLAGS and LIBS to GLIB_LIBS,
2113 rather than the other way round. Also, call AC_MSG_RESULT in the
2114 even that dynamic modules were not supported.
2116 2000-04-12 Federico Mena Quintero <federico@helixcode.com>
2118 This comes from an excellent idea by Tim Janik (timj@gtk.org) to
2119 hook to the last unref operation.
2121 * gdk-pixbuf/gdk-pixbuf.c (gdk_pixbuf_set_last_unref_handler): New
2122 function to set the last unref handler for a pixbuf.
2123 (gdk_pixbuf_finalize): New function to actually finalize a pixbuf.
2124 It calls the pixbuf's destroy notification function and frees the
2125 GdkPixbuf structure itself.
2126 (gdk_pixbuf_unref): Use the last unref function of the pixbuf if
2129 * gdk-pixbuf/gdk-pixbuf-private.h (struct _GdkPixbuf): New fields
2130 for the last unref handler and its user data.
2132 * gdk-pixbuf/gdk-pixbuf-data.c (gdk_pixbuf_new_from_data): Use
2133 g_new0() to allocate the pixbuf.
2135 * gdk-pixbuf/gdk-pixbuf-loader.c (gdk_pixbuf_loader_class_init):
2136 Fixed the call to gtk_signal_new() for the "frame_done" signal; it
2137 was not specifying the `frame' argument.
2139 * gdk-pixbuf/gdk-pixbuf-animation.c
2140 (gdk_pixbuf_animation_get_width): Fixed docstring.
2141 (gdk_pixbuf_animation_get_height): Likewise.
2142 (gdk_pixbuf_animation_get_num_frames): Likewise.
2143 (gdk_pixbuf_animation_get_frames): Likewise.
2145 * doc/gdk-pixbuf-sections.txt: Updated with the new functions and
2148 * doc/tmpl/gdk-pixbuf.sgml: Added the description for GdkColorspace.
2150 * doc/tmpl/scaling.sgml: Added the description for GdkInterpType.
2152 * doc/tmpl/refcounting.sgml: Updated with the information about
2153 the last unref handler.
2155 * doc/tmpl/*.sgml: Markup tweaks.
2157 * gdk-pixbuf/Makefile.am (libgnomecanvaspixbuf_la_LDFLAGS): Sigh,
2158 update the libtool version number for libgnomecanvaspixbuf as
2160 (libpixbufloader_*_la_LDFLAGS): The loaders need to be versioned
2161 as well, or the old ones won't work with the new stuff. Also,
2162 renamed the modules as follows.
2164 * gdk-pixbuf/gdk-pixbuf-io.c (gdk_pixbuf_load_module): Now the
2165 modules are called "libpixbufloader-<format>.so" instead of
2166 "libpixbuf-<format>.so". They needed renaming so that the new
2167 loaders won't overwrite the old ones; even with the versioning
2168 stuff, the new .so symlink to the .so.1.0.0 would overwrite the
2171 2000-04-12 Paolo Molaro <lupus@debian.org>
2173 * .cvsignore, src/.cvsignore: shut up cvs.
2175 2000-04-11 Federico Mena Quintero <federico@helixcode.com>
2177 Most of this patch is based on a patch by Havoc Pennington
2178 (hp@redhat.com) to make GdkPixbuf's structures opaque and to
2179 remove the libart dependency.
2181 * gdk-pixbuf/gdk-pixbuf.h: Removed the public structures.
2182 (GdkColorspace): New enum that for now only contains
2184 (GdkPixbufDestroyNotify): New type for the pixbuf's pixels destroy
2185 notification function.
2186 (GdkInterpType): New num with interpolation types.
2188 * *.[ch]: Replace the libart stuff with our own stuff.
2190 * pixops/*.[ch]: Likewise.
2192 * gdk-pixbuf/gdk-pixbuf-private.h: New file with the private
2193 declarations of the GdkPixbuf structures.
2195 * gdk-pixbuf/gdk-pixbuf.c (gdk_pixbuf_new_from_art_pixbuf):
2197 (gdk_pixbuf_get_format): Constify.
2198 (gdk_pixbuf_get_n_channels): Constify.
2199 (gdk_pixbuf_get_has_alpha): Constify.
2200 (gdk_pixbuf_get_bits_per_sample): Constify.
2201 (gdk_pixbuf_get_pixels): Constify.
2202 (gdk_pixbuf_get_width): Constify.
2203 (gdk_pixbuf_get_height): Constify.
2204 (gdk_pixbuf_get_rowstride): Constify.
2206 * gdk-pixbuf/gdk-pixbuf.c (gdk_pixbuf_copy): New function to copy
2209 * gdk-pixbuf/gdk-pixbuf-data.c (gdk_pixbuf_new_from_data): Added a
2210 bits_per_sample argument; currently only 8 bits per sample are
2213 * gdk-pixbuf/gdk-pixbuf-animation.c (gdk_pixbuf_frame_get_pixbuf):
2215 (gdk_pixbuf_frame_get_x_offset): New accessor.
2216 (gdk_pixbuf_frame_get_y_offset): New accessor.
2217 (gdk_pixbuf_frame_get_delay_time): New accessor.
2218 (gdk_pixbuf_frame_get_action): New accessor.
2220 * gdk-pixbuf/gdk-pixbuf-render.c
2221 (gdk_pixbuf_render_pixmap_and_mask): Instead of returning a solid
2222 mask rectangle for pixbufs without an alpha channel, set the
2223 *mask_return to NULL.
2225 * gdk-pixbuf/gdk-pixbuf-util.c (gdk_pixbuf_add_alpha): Constify.
2227 * gdk-pixbuf/gdk-pixbuf-scale.c: Fix includes.
2229 * gdk-pixbuf/gdk-pixbuf-scale.c (gdk_pixbuf_scale): Added some
2230 preconditions. Maybe we should also check for the colorspace,
2231 bits per pixel, and such.
2232 (gdk_pixbuf_composite): Likewise.
2233 (gdk_pixbuf_composite_color): Likewise.
2234 (gdk_pixbuf_scale_simple): Likewise, and fail gracefully if we
2235 cannot allocate the new pixbuf.
2236 (gdk_pixbuf_composite_color_simple): Likewise.
2238 * gdk-pixbuf/gnome-canvas-pixbuf.c (gnome_canvas_pixbuf_render):
2239 Use art_rgb_rgba_affine() or art_rgb_affine() since we no longer
2242 * gdk-pixbuf/io-bmp.c: Fix includes.
2244 * gdk-pixbuf/pixops/pixops.c (pixops_scale_nearest): Fixed cast in
2249 * configure.in: Removed checks for libart.
2251 * gdk-pixbuf/Makefile.am: Removed references to libart.
2252 (noinst_HEADERS): Added gdk-pixbuf-private.h.
2254 * gdk-pixbuf/Makefile.am (libgdk_pixbuf_la_LDFLAGS): Incremented
2255 the version number of the libtool library to indicate that this
2256 definitely is not compatible with the old usage. I know you love
2259 * configure.in: Bumped version number to 0.7.0.
2263 * gdk-pixbuf-config.in (--libs): We no longer require libart.
2265 * DEPENDS.libgdk_pixbuf: We no longer depend on libart.
2267 * gdk-pixbuf.spec.in: Updated, but I don't guarantee anything.
2269 2000-04-06 Jonathan Blandford <jrb@redhat.com>
2271 * gdk-pixbuf/testanimation.c (main): add more info to the
2272 testanimation frames.
2274 2000-04-04 Ettore Perazzoli <ettore@helixcode.com>
2276 * gdk-pixbuf/gdk-pixbuf-animation.c
2277 (gdk_pixbuf_animation_get_width): New accessor function.
2278 (gdk_pixbuf_animation_get_height): New accessor function.
2279 (gdk_pixbuf_animation_get_num_frames): New accessor function.
2280 (gdk_pixbuf_animation_get_frames): New accessor function.
2282 2000-04-01 Federico Mena Quintero <federico@helixcode.com>
2284 * gdk-pixbuf/gdk-pixbuf.c: Reverted Mark's change. The refcount
2285 is private information, and the art_pixbuf will go away soon.
2287 2000-03-31 Mark Crichton <crichton@gimp.org>
2289 * gdk-pixbuf/gdk-pixbuf.c: Added gdk_pixbuf_get_refcount
2290 and gdk_pixbuf_get_artpixbuf accessor functions.
2292 2000-03-29 Federico Mena Quintero <federico@helixcode.com>
2294 * gdk-pixbuf/gdk-pixbuf.c (gdk_pixbuf_get_has_alpha): Return
2295 gboolean instead of int.
2297 2000-03-29 Radek Doulik <rodo@helixcode.com>
2299 * gdk-pixbuf/gdk-pixbuf-animation.c
2300 (gdk_pixbuf_animation_new_from_file): same as below
2302 * gdk-pixbuf/io-gif.c (gif_get_lzw): added update of width and
2303 height in GdkPixbufAnimation
2305 2000-03-28 Radek Doulik <rodo@helixcode.com>
2307 * gdk-pixbuf/io-gif.c (gif_get_lzw): test also for
2308 context->frame_done_func and context->anim_done_func to make
2309 progressive animation loading work
2311 * gdk-pixbuf/gdk-pixbuf-loader.c (gdk_pixbuf_loader_frame_done):
2312 added priv->pixbuf = NULL as pixbuf is now in frame (and to make
2313 gdk_pixbuf_loader_prepare happy)
2314 (gdk_pixbuf_loader_frame_done): update animation bbox
2316 * gdk-pixbuf/gdk-pixbuf.h: added bbox size (width, height) to
2319 2000-03-27 Radek Doulik <rodo@helixcode.com>
2321 * gdk-pixbuf/io-gif.c (gif_get_lzw): use frame_len and frame_width
2322 instead of width and height
2324 2000-03-27 Owen Taylor <otaylor@redhat.com>
2326 * gdk-pixbuf/pixops/pixops.c: Fix problem with
2327 precendence of >> and & which was keeping composite_color
2328 from working with non-gray images.
2330 2000-03-08 Jonathan Blandford <jrb@redhat.com>
2332 * gdk-pixbuf/io-gif.c (gdk_pixbuf__gif_image_load): free the context.
2333 (gdk_pixbuf__gif_image_load_animation): free the context.
2335 2000-03-06 Arjan van de Ven <arjan@fenrus.demon.nl>
2337 * gdk-pixbuf/io-bmp.c: Fixed to pointer-bugs and a
2338 mis-interpretation of the Microsoft documentation. Now
2339 it can load .BMP files that are not generated by The Gimp
2342 2000-03-01 Mark Crichton <crichton@gimp.org>
2344 * configure.in: Added BUILD_CANVAS_ITEM stuff to (finally)
2345 fix the last auto* build bug (where we have libart, but no
2348 * gdk-pixbuf/Makefile.am: Same.
2350 2000-02-28 Matt Wilson <msw@redhat.com>
2352 * gdk-pixbuf/gdk-pixbuf-drawable.c: s/unsigned long/guint32/g,
2353 s/unsigned short/guint16/g, s/unsigned char/guint8/g
2355 2000-02-26 Federico Mena Quintero <federico@helixcode.com>
2357 * README: We don't require libgif/ungif nor libXpm.
2359 * NEWS: This was outdated, so updated it.
2361 2000-02-25 Federico Mena Quintero <federico@helixcode.com>
2363 * gdk-pixbuf.m4: Use the correct name for
2364 gdk-pixbuf/gdk-pixbuf.h. Thanks to Jacob Berkman for pointing
2367 2000-02-21 Federico Mena Quintero <federico@helixcode.com>
2369 * configure.in (GDK_PIXBUF_MINOR): Bumped version number to 0.6.0.
2371 * doc/compiling.sgml: New appendix documenting the gdk-pixbuf
2372 library's particular options to configure.in.
2374 * doc/gdk-pixbuf.sgml: Include compiling.sgml appendix via an
2377 * doc/Makefile.am (gdk-pixbuf.html): Added compiling.sgml.
2379 * gdk-pixbuf/io-ico.c (gdk_pixbuf__ico_image_load_increment):
2380 Fixed typo in prototype name.
2382 * configure.in: Changed duplicated AC_MSG_CHECKING message to
2383 something more meaningful; now it is "checking whether dynamic
2386 * gdk-pixbuf/pixops/Makefile.am (noinst_PROGRAMS): Do not install
2387 the timescale program.
2389 Integrated Miguel de Icaza's <miguel@gnu.org> patch for optionally
2390 creating a single static library with all the image format modules
2393 2000-02-20 Miguel de Icaza <miguel@gnu.org>
2395 * gdk-pixbuf/io-xpm.c (gdk_pixbuf__xpm_image_load): Add prefix.
2396 (gdk_pixbuf__xpm_image_load_xpm_data): Add prefix.
2398 * gdk-pixbuf/io-tiff.c (gdk_pixbuf__tiff_image_load_real): Add prefix.
2399 (gdk_pixbuf__tiff_image_stop_load): Add prefix.
2400 (gdk_pixbuf__tiff_image_load_increment): Add prefix.
2401 (gdk_pixbuf__tiff_image_load): Add prefix.
2402 (gdk_pixbuf__tiff_image_stop_load): Update invocation.
2403 (gdk_pixbuf__tiff_image_begin_load): Add prefix.
2405 * gdk-pixbuf/io-ras.c (gdk_pixbuf__ras_image_load): Add prefix.
2406 (gdk_pixbuf__ras_image_load): Updated invocation.
2407 (gdk_pixbuf__ras_image_begin_load): Add prefix.
2408 (gdk_pixbuf__ras_image_stop_load): Add prefix.
2409 (gdk_pixbuf__ras_image_load_increment): Add prefix.
2411 * gdk-pixbuf/io-pnm.c (gdk_pixbuf__pnm_image_begin_load): Add prefix.
2412 (gdk_pixbuf__pnm_image_stop_load): Add prefix.
2413 (gdk_pixbuf__pnm_image_load_increment): Add prefix
2414 (gdk_pixbuf__pnm_image_load): Add prefix.
2416 * gdk-pixbuf/io-jpeg.c (gdk_pixbuf__jpeg_image_load): Add prefix.
2417 (gdk_pixbuf__jpeg_image_load_increment): Add prefix.
2418 (gdk_pixbuf__jpeg_image_begin_load): Add prefix.
2419 (gdk_pixbuf__jpeg_image_stop_load): Add prefix.
2421 * gdk-pixbuf/io-ico.c (gdk_pixbuf__ico_image_load): Add prefix.
2422 (gdk_pixbuf__ico_image_load): update invocation.
2423 (gdk_pixbuf__ico_image_load_increment): Add prefix.
2424 (gdk_pixbuf__ico_image_load): update invocation.
2425 (gdk_pixbuf__ico_image_begin_load): Add prefix.
2426 (gdk_pixbuf__ico_image_load): update invocation.
2427 (gdk_pixbuf__ico_image_stop_load): Add prefix.
2429 * gdk-pixbuf/io-gif.c (gdk_pixbuf__gif_image_load_animation): Add prefix.
2430 (gdk_pixbuf__gif_image_load): Add prefix.
2431 (gdk_pixbuf__gif_image_begin_load): Add prefix.
2432 (gdk_pixbuf__gif_image_load_increment): Add prefix.
2433 (gdk_pixbuf__gif_image_load_animation): Add prefix.
2434 (gdk_pixbuf__gif_image_stop_load): Add prefix.
2436 * gdk-pixbuf/io-bmp.c (gdk_pixbuf__bmp_image_load): Add prefix.
2437 (gdk_pixbuf__bmp_image_load): Rename function called.
2438 (gdk_pixbuf__bmp_image_load_increment): Add prefix
2440 * gdk-pixbuf/io-png.c (gdk_pixbuf__png_image_load): Add prefix.
2441 (gdk_pixbuf__png_image_begin_load): Add prefix.
2442 (gdk_pixbuf__png_image_stop_load): Add prefix.
2443 (gdk_pixbuf__png_image_load_increment): Add prefix.
2445 * gdk-pixbuf/gdk-pixbuf-io.c (file_formats): Make this static.
2446 (gdk_pixbuf_load_module): Load the shared library entry points
2447 using a "gdk_pixbuf__$module_name" prefix.
2448 (pixbuf_module_symbol): Wrapper routine that uses the module
2449 prefix for the modules to load the information.
2451 * configure.in (GDK_PIXBUF_VERSION): New option --disable-modules
2452 lets the user specify that gdk-pixbuf should link all image loader
2453 code into the library instaed of creating shared library modules.
2455 (dynworks): Renamed the automake conditional DYNAMIC_MODULES_WORK
2456 to BUILD_DYNAMIC_MODULES.
2458 2000-02-19 Jonathan Blandford <jrb@redhat.com>
2460 * gdk-pixbuf/io-gif.c (new_context): fix case where initial
2461 colormap entry is Transparent.
2463 2000-02-19 Owen Taylor <otaylor@redhat.com>
2465 * gdk-pixbuf/pixops/pixops.c (scale_pixel): Fix error in
2466 scale factors for non-alpha case.
2468 2000-02-14 Mark Crichton <crichton@gimp.org>
2470 * gdk-pixbuf/io-xpm.c (xpm_extract_color): Added check for "g" color type.
2471 Imlib/libXpm handle this, but we didn't.
2473 2000-02-14 Darin Adler <darin@eazel.com>
2475 * gdk-pixbuf/testpixbuf.c: Remove now-unnecessary cast.
2476 * .cvsignore: gdk-pixbuf/.cvsignore: More to ignore.
2478 2000-02-14 Elliot Lee <sopwith@redhat.com>
2479 * gdk-pixbuf/gdk-pixbuf.h, gdk-pixbuf/gdk-pixbuf-data.c: Make passed-in argument 'const'.
2481 2000-02-04 Michael Meeks <mmeeks@gnu.org>
2483 * gdk-pixbuf/io-gif.c (struct _GifContext): add x,y_offset.
2484 (gif_get_frame_info): put the offsets on the context.
2485 (gif_get_lzw): copy them off into the frame.
2486 (new_context): no change required; will 0 offsets by default.
2488 2000-01-28 Michael Meeks <michael@mejm2.dow.cam.ac.uk>
2490 * gdk-pixbuf/pixops/pixops.c (pixops_process): const + nasty
2493 * gdk-pixbuf/pixops/pixops.h: const.
2495 * gdk-pixbuf/gdk-pixbuf-util.c: const.
2497 * gdk-pixbuf/gdk-pixbuf-scale.c: const.
2499 * gdk-pixbuf/gdk-pixbuf.h: constify lots of things.
2501 2000-02-03 Federico Mena Quintero <federico@helixcode.com>
2503 * gdk-pixbuf/gdk-pixbuf-render.c
2504 (gdk_pixbuf_render_threshold_alpha): Added sanity check for width
2505 and height being >= 0. Also, do nothing if either of them is
2506 zero. Thanks to Ettore for pointing this out.
2507 (gdk_pixbuf_render_to_drawable): Likewise.
2508 (gdk_pixbuf_render_to_drawable_alpha): Likewise.
2510 2000-02-02 Federico Mena Quintero <federico@helixcode.com>
2512 * gdk-pixbuf/io-gif.c (gif_get_lzw): Removed debugging g_print.
2513 Thanks to John Sullivan <sullivan@eazel.com> for the patch.
2515 * gdk-pixbuf/testpixbuf-drawable.c (configure_cb): Get a new area
2516 of the screen when the window is resized. Thanks to David
2517 N. Welton <davidw@linuxcare.com> for pointing this out.
2518 Misc. cleanups to the rest of the file.
2520 2000-02-01 Federico Mena Quintero <federico@helixcode.com>
2522 * doc/tmpl/rendering.sgml: gnome_init() does not call
2523 gdk_rgb_init(), so don't mention that it does in the
2524 documentation. Thanks to Alexander Kruuse <kruuse@home.se> for
2527 2000-01-31 Havoc Pennington <hp@redhat.com>
2529 * gdk-pixbuf/Makefile.am (noinst_PROGRAMS): no testpixbuf-foo target
2531 Mon Jan 31 12:38:50 2000 Owen Taylor <otaylor@redhat.com>
2533 * gdk-pixbuf/pixops/pixops.c (scale_line): Fix from Peter
2534 Wainwright to fix 4a => 4a scaling.
2536 2000-01-29 Mark Crichton <crichton@gimp.org>
2538 * gdk-pixbuf-config: Oh dear, we weren't Telsa/Alan proof...
2539 put `libart-config --libs` in instead of -lart_lgpl.
2541 2000-01-22 Federico Mena Quintero <federico@helixcode.com>
2543 * gdk-pixbuf/io-pnm.c (pnm_read_raw_scanline): Return an error on
2545 (pnm_read_ascii_scanline): Initialize data and mask.
2547 * gdk-pixbuf/io-xpm.c (pixbuf_create_from_xpm): Initialize
2548 fallbackcolor to keep gcc happy.
2550 * configure.in: Bumped version number to 0.5.0.
2552 * gdk-pixbuf/pixops/timescale.c (dump_array): Removed unused variable.
2555 * gdk-pixbuf/pixops/pixops.c (pixops_composite_color_nearest): Put
2556 parentheses around + in a shift to remove a compiler warning.
2557 (pixops_process): Likewise.
2559 Patch from Ross Golder <rossigee@bigfoot.com> to create an RPM
2562 * configure.in: Added gdk-pixbuf.spec to AC_OUTPUT.
2564 * Makefile.am (EXTRA_DIST): Added gdk-pixbuf.spec.in
2566 2000-01-22 Federico Mena Quintero <federico@helixcode.com>
2568 * gdk-pixbuf/gnome-canvas-pixbuf.c (PixbufPrivate): Removed the
2569 x_set and y_set arguments. Now they are always on and start with
2570 defaults of 0.0 in units.
2571 (gnome_canvas_pixbuf_class_init): Likewise.
2572 (gnome_canvas_pixbuf_set_arg): Likewise.
2573 (gnome_canvas_pixbuf_get_arg): Likewise.
2574 (compute_viewport_affine): Likewise; always use the priv->x and
2577 * doc/tmpl/gnome-canvas-pixbuf.sgml: Modified to reflect the
2578 removal of the x_set/y_set arguments.
2580 2000-01-21 Federico Mena Quintero <federico@helixcode.com>
2582 * gdk-pixbuf/gdk-pixbuf.c (gdk_pixbuf_ref): Return the same pixbuf
2583 as the input parameter.
2585 * gdk-pixbuf/gdk-pixbuf-animation.c (gdk_pixbuf_animation_ref):
2586 Return the same animation as the input parameter.
2588 2000-01-16 Elliot Lee <sopwith@redhat.com>
2590 * gdk-pixbuf/Makefile.am: Don't link against libgnomecanvaspixbuf.la
2592 2000-01-16 Federico Mena Quintero <federico@helixcode.com>
2594 * configure.in: Removed the broken --enable-canvas-pixbuf option.
2595 Added the stuff necessary to substitute the variables in
2596 gnomecanvaspixbufConf.sh.in.
2598 * gnomecanvaspixbufConf.sh.in: New gnome-config handler for the
2599 tiny gnomecanvaspixbuf library.
2601 * Makefile.am: Build gnomecanvaspixbufConf.sh.
2603 * gdk-pixbuf/Makefile.am: Create a libgnomecanvaspixbuf and only
2604 build it if gdk-pixbuf is being built outside of gnome-libs.
2606 * doc/gdk-pixbuf-sections.txt: Added gdk_pixbuf_render_pixmap_and_mask().
2608 * gdk-pixbuf/gdk-pixbuf-render.c
2609 (gdk_pixbuf_render_pixmap_and_mask): Renamed from
2610 gdk_pixbuf_render_pixmap(). Do not create the mask if it is not
2611 needed, and do not use a clipping mask when rendering the pixmap.
2612 Tweaked documentation a little.
2614 * HACKING: New file with hacking policies for the gdk-pixbuf
2617 * doc/Makefile.am (tmpl_sources): Added missing backslash.
2619 * doc/Makefile.am: Use gnomecanvaspixbuf in gnome-config when
2620 scanning for docstrings.
2622 * gdk-pixbuf/gdk-pixbuf-util.c (gdk_pixbuf_copy_area): Made sanity
2623 checks more stringent. Removed "gint" abominations. Made
2624 documentation consistent with the rest of the functions.
2626 * doc/gdk-pixbuf-sections.txt: Added gdk_pixbuf_copy_area() to the
2629 2000-01-14 Jonathan Blandford <jrb@redhat.com>
2631 * gdk-pixbuf/gdk-pixbuf-render.c (gdk_pixbuf_render_pixmap): new
2632 function to let you create a gdk_pixmap from a gdk_pixbuf.
2634 2000-01-11 Jacob Berkman <jacob@helixcode.com>
2636 * gdk-pixbuf/pixops/Makefile.am (INCLUDES): added
2637 $LIBART_CFLAGS to $INCLUDES
2639 2000-01-10 Elliot Lee <sopwith@redhat.com>
2641 * configure.in, gdk-pixbuf/Makefile.am: Build a libcanvas_pixbuf.
2643 * configure.in: Define version macros. Generate
2644 gdk-pixbuf/gdk-pixbuf-features.h. Always INSIDE_GNOME.
2646 * gdk-pixbuf/Makefile.am: Add gdk-pixbuf-features.h
2648 * gdk-pixbuf/gdk-pixbuf.c: Add definitions of
2649 gdk-pixbuf-features.h declarations, plus some initialization
2652 2000-01-05 Owen Taylor <otaylor@redhat.com>
2654 * gdk-pixbuf/pixops/pixops.c: Fixed src_channels/dest_channels
2655 confusion. (Again caught by Tomas Ogren's Purify)
2657 2000-01-07 Jonathan Blandford <jrb@redhat.com>
2659 * gdk-pixbuf/gdk-pixbuf-xform.c (gdk_pixbuf_rotate): comment out
2662 * gdk-pixbuf/gdk-pixbuf-io.c: Added progressive animation loading.
2663 * gdk-pixbuf/gdk-pixbuf-io.h: Added progressive animation loading.
2664 * gdk-pixbuf/gdk-pixbuf-loader.c: Added progressive animation
2666 * gdk-pixbuf/gdk-pixbuf-loader.h: Added progressive animation
2668 * gdk-pixbuf/io-gif.c (image_load_increment): I think the
2669 ref-counting mess is finally fixed. Added progressive animation
2671 (gif_get_lzw): remove memory_leak
2673 * doc/tmpl/gdk-pixbuf-loader.sgml: much longer long description
2676 2000-01-05 Owen Taylor <otaylor@redhat.com>
2678 * gdk-pixbuf/pixops/pixops.c (pixops_process): Fix computation of end of run indices.
2680 * gdk-pixbuf/pixops/pixops.c: Fix double increments when dest_channels == 4.
2681 (Pointed out by Tomas Ogren)
2683 2000-01-05 Mark Crichton <crichton@gimp.org>
2685 * gdk-pixbuf/gdk-pixbuf-loader.c (gdk_pixbuf_loader_eat_header_write):
2686 Return 0 if gdk_pixbuf_load_loader_module returns FALSE.
2688 2000-01-05 Elliot Lee <sopwith@redhat.com>
2690 * gdk-pixbuf/pixops/Makefile.am: Link with -lm (to get 'ceil' function)
2692 2000-01-05 Owen Taylor <otaylor@redhat.com>
2694 * doc/Makefile.am doc/gdk-pixbuf-sections.txt
2695 doc/gdk-pixbuf.sgml doc/tmpl/scaling.sgml:
2696 Added scaling functions into gtk-doc framework.
2698 * gdk-pixbuf/gdk-pixbuf-scale.c: Documentation fixes.
2700 * gdk-pixbuf/testpixbuf-scale.c (expose_cb): Simplify a bit.
2702 * gdk-pixbuf/pixops/pixops.c (pixops_composite_color): Return
2703 immediately if scale_x or scale_y is 0.
2705 2000-01-05 Owen Taylor <otaylor@redhat.com>
2707 * gdk-pixbuf/pixops/timescale.c: quick fix for initializing
2708 arrays in benchmark.
2710 2000-01-05 Jonathan Blandford <jrb@redhat.com>
2712 * gdk-pixbuf/gdk-pixbuf-io.h: Change the order of the update func
2713 to make it more compatible with the rest of GTK. Added animation
2714 framework for progressive loading.
2716 * gdk-pixbuf/io-bmp.c (image_begin_load): Modified to handle new
2718 * gdk-pixbuf/io-ico.c (image_begin_load): ditto
2719 * gdk-pixbuf/io-png.c (image_begin_load): ditto
2720 * gdk-pixbuf/io-ras.c (image_begin_load): ditto
2721 * gdk-pixbuf/io-jpeg.c (image_begin_load): ditto
2722 * gdk-pixbuf/io-pnm.c (image_begin_load): ditto
2723 * gdk-pixbuf/io-tiff.c (image_begin_load): ditto
2724 * gdk-pixbuf/io-gif.c (image_begin_load): ditto
2726 2000-01-05 Owen Taylor <otaylor@redhat.com>
2728 * gdk-pixbuf/pixops/README: Added a README with a TODO
2729 and some explainations of the algorithms.
2731 * gdk-pixbuf/testpixbuf-scale.c: Set a background pixmap of None
2732 to reduce flashing when resizing.
2734 2000-01-05 Owen Taylor <otaylor@redhat.com>
2736 * gdk-pixbuf/pixops/: Directory full of pixel data scaling
2737 code that will eventually migrate into libart.
2739 * configure.in acconfig.h: Add checks for MMX compiler support
2741 * gdk-pixbuf/gdk-pixbuf.h gdk-pixbuf/gdk-pixbuf-scale.c:
2742 Nice wrapper routines for the code in pixops that operate
2743 on pixbufs instead of raw data.
2745 * gdk-pixbuf/testpixbuf-scale: Test program for scaling
2748 2000-01-05 Jonathan Blandford <jrb@redhat.com>
2750 * doc/tmpl/animation.sgml: Documentation changes.
2752 2000-01-01 Federico Mena Quintero <federico@helixcode.com>
2754 * gdk-pixbuf/gdk-pixbuf.h (GdkPixbufAnimation): Added reference
2755 counting to animations. A web browser may want to share a single
2756 copy of an animated GIF if it appears multiple times in a web
2759 * gdk-pixbuf/gdk-pixbuf-animation.c: New file. Moved the
2760 animation functions here.
2761 (gdk_pixbuf_animation_new_from_file): Prettified. Return a NULL
2762 animation if the loader does not support multiframe loading and
2763 the single-frame load returned NULL. Check that the filename is
2764 not NULL. Updated inline documentation.
2765 (gdk_pixbuf_animation_ref): New function.
2766 (gdk_pixbuf_animation_unref): New function.
2767 Removed gdk_pixbuf_animation_destroy() in favor of reference
2770 * gdk-pixbuf/gdk-pixbuf-io.c (gdk_pixbuf_new_from_file):
2771 Prettified. Made ref_count assertion more paranoid. Check that
2772 the filename is not NULL.
2773 (gdk_pixbuf_get_module): Use guchar * and guint for buffer and
2775 (gdk_pixbuf_new_from_xpm_data): Changed the "data" argument to
2778 * gdk-pixbuf/io-gif.c (image_load_animation): Create the animation
2779 with a reference count of 1.
2781 * gdk-pixbuf/Makefile.am (libgdk_pixbuf_la_SOURCES): Added
2782 gdk-pixbuf-animation.c.
2784 * doc/tmpl/animation.sgml: Populated. It is still missing a
2785 description of the overlay modes.
2787 * doc/gdk-pixbuf-sections.txt: Added the animation section. Moved
2788 the canvas item section to the end, as it will be moved later to
2791 * doc/gdk-pixbuf.sgml: Added the animation section.
2793 * doc/Makefile.am (tmpl_sources): Added tmpl/animation.sgml.
2795 1999-12-26 Peter Teichman <pat@gnu.org>
2797 * gdk-pixbuf/Makefile.am (libpixbuf_tiff_la_LIBADD): add
2798 $(LIBTIFF) to libpixbuf_tiff_la_LIBADD, proxying for mmarker.
2799 This closes bug #4676.
2801 1999-12-23 Havoc Pennington <hp@pobox.com>
2803 * gdk-pixbuf/io-gif.c (image_load): Stuff that should have been
2804 set to NULL here (specifically context->animation) was not being
2805 set to NULL. use g_new0() to alloc the struct.
2807 1999-12-20 Jonathan Blandford <jrb@redhat.com>
2809 * gdk-pixbuf/io-gif.c: finished work to make animated gifs load
2810 correctly. Progressive loading needs some work, but that all
2811 needs doing from the gdk-pixbuf-loader end, not here.
2813 1999-12-17 Jonathan Blandford <jrb@redhat.com>
2815 * gdk-pixbuf/gdk-pixbuf-io.c (gdk_pixbuf_animation_new_from_file):
2816 moved the file here. It seems natural to put this function here,
2817 as that's where the gdk_pixbuf_new_from_file function is, but it's
2818 still a little convoluted. The source files might be played with
2821 1999-12-14 Jonathan Blandford <jrb@redhat.com>
2823 * gdk-pixbuf/gdk-pixbuf-loader.c
2824 (gdk_pixbuf_loader_get_animation): Gets the animation from the
2827 1999-12-16 Federico Mena Quintero <federico@redhat.com>
2829 * doc/tmpl/rendering.sgml: Added notice about initializing GdkRGB
2830 before using the GdkPixbuf rendering functions. Thanks to Joe
2831 Shaw <joe@off.net> for pointing this out.
2833 1999-12-13 Federico Mena Quintero <federico@redhat.com>
2835 * gdk-pixbuf/gnome-canvas-pixbuf.c
2836 (gnome_canvas_pixbuf_class_init): Renamed arguments to
2837 width_in_pixels, height_in_pixels, x_in_pixels, y_in_pixels, for
2838 consistency with the new canvas.
2839 (PixbufPrivate): Do the same renaming in the structure fields, for
2842 * doc/tmpl/gnome-canvas-pixbuf.sgml: Updated for new argument names.
2844 1999-12-12 Federico Mena Quintero <federico@redhat.com>
2846 * gdk-pixbuf/Makefile.am (libgdk_pixbuf_la_LDFLAGS): Use a
2847 conditional to see whether to link $(GNOME_LIBS) or not.
2849 1999-12-10 Jonathan Blandford <jrb@redhat.com>
2851 * gdk-pixbuf/gdk-pixbuf-io.h: thinking about the new loading API.
2853 * gdk-pixbuf/gdk-pixbuf-drawable.c (gdk_pixbuf_get_from_drawable):
2854 make a warning go away.
2856 * gdk-pixbuf/gdk-pixbuf.h: added new prototypes for animations.
2858 * gdk-pixbuf/gdk-pixbuf-loader.h: added new prototypes for
2861 1999-12-09 Michael Zucchi <zucchi@zedzone.mmc.com.au>
2863 * gdk-pixbuf/gdk-pixbuf.h: Enable gdk_pixbuf_get_from_drawable()
2866 * gdk-pixbuf/gdk-pixbuf-drawable.c (gdk_pixbuf_get_from_drawable):
2867 Filled in body of function.
2868 (rgbconvert): Added GdkColormap parameter, and to all conversion
2870 (convert_real_slow): New function - should convert ANY visual/data
2871 format properly, but it aint fast. Used as a fallback when an
2872 optimised routine wont match.
2873 (rgbconvert): Do very specific tests on the data format to verify
2874 properly if the optimised version will do, otherwise use the
2875 fallback function for all other data formats.
2877 * gdk-pixbuf/Makefile.am: Re-enabled building of
2878 textpixbuf-drawable.
2880 * gdk-pixbuf/testpixbuf-drawable.c (main): Changed to use
2881 gdk_pixbuf_get_from_drawable().
2883 1999-12-08 Arjan van de Ven <arjan@fenrus.demon.nl>
2885 * gdk-pixbuf/gdk-pixbuf-drawable.c : Fixed the red/green/red
2886 bug on two occasions.
2887 * gdk-pixbuf/io-ras.c: Changed from the custom be32_to_cpu
2888 function to the generic glib one.
2890 1999-12-08 Federico Mena Quintero <federico@redhat.com>
2892 * gdk-pixbuf/gdk-pixbuf-drawable.c: Fix includes.
2893 (gdk_pixbuf_get_from_drawable): Implemented the zillion sanity
2894 checks and API definition. The body needs filling in and it needs
2895 to do the Right Thing(tm) for pixmaps plus the given colormap and
2896 windows and their own colormaps.
2898 * gdk-pixbuf/gdk-pixbuf.h: Added prototype for
2899 gdk_pixbuf_get_from_drawable(). Killed gdk-pixbuf-drawable.h.
2901 * gdk-pixbuf/Makefile.am: Re-added the gdk-pixbuf-drawable sources.
2903 * doc/tmpl/from-drawables.sgml: Populated.
2905 * doc/gdk-pixbuf.sgml: Added the from-drawables section.
2907 * doc/Makefile.am (tmpl_sources): Added tmpl/from-drawables.sgml.
2909 * doc/gdk-pixbuf-sections.txt: Added a section for getting pixbufs
2912 1999-12-07 Federico Mena Quintero <federico@redhat.com>
2914 * doc/tmpl/gnome-canvas-pixbuf.sgml: Added clarification about
2915 reference counting for GdkPixbuf structures.
2917 1999-12-07 Martin Baulig <martin@home-of-linux.org>
2919 * gdk-pixbuf/Makefile.am (testpixbuf_LDADD): Conditionally
2920 include $(GNOME_LIBS) here.
2922 1999-12-05 Arjan van de Ven <arjan@fenrus.demon.nl>
2924 Added missing "include <string.h>" to:
2925 * gdk-pixbuf/io-ras.c
2926 * gdk-pixbuf/io-bmp.c
2927 * gdk-pixbuf/io-ico.c
2929 1999-12-06 Federico Mena Quintero <federico@redhat.com>
2931 * gdk-pixbuf/gdk-pixbuf-io.c (file_formats): Patch from Arjan to
2934 1999-12-05 Federico Mena Quintero <federico@redhat.com>
2936 * gdk-pixbuf/Makefile.am (testpixbuf_LDADD): Add back
2937 $(GNOME_LIBS). This must compile outside of gnome-libs. If you
2938 want, send me a patch to do the conditional stuff properly.
2939 Otherwise, please read the GNOME Programming Guidelines,
2940 especially the "CVS policies" section.
2942 1999-12-05 Jaka Mocnik <jaka.mocnik@kiss.uni-lj.si>
2944 * gdk-pixbuf/Makefile.am: removed GNOME_LIBS from testpixbuf_LDADD.
2946 1999-12-05 Arjan van de Ven <arjan@fenrus.demon.nl>
2948 * gdk-pixbuf/io-ico.c: Bug in palet-size
2951 1999-12-04 Arjan van de Ven <arjan@fenrus.demon.nl>
2953 * gdk-pixbuf/io-bmp.c: Major cleanup, added support for
2954 32 bpp and 4 bpp (uncompressed) images, fixed 1bpp.
2956 * gdk-pixbuf/io-ras.c: Minor cleanup, ran through lclint
2958 * gdk-pixbuf/io-ico.c: Minor cleanup, fixed 1bpp icons,
2961 * gdk-pixbuf/gdk-pixbuf-io.c: Added detection of .CUR files
2962 (Windows Cursor files). These are identical to .ICO files,
2963 except for the signature and 2 extra fields for the hotspot.
2965 1999-12-03 Federico Mena Quintero <federico@redhat.com>
2967 * gdk-pixbuf/gnome-canvas-pixbuf.c (gnome_canvas_pixbuf_get_arg):
2968 Removed unused variable `item'.
2970 1999-12-03 Jonathan Blandford <jrb@redhat.com>
2972 * gdk-pixbuf/io-gif.c (gif_fill_in_lines): added a comment to
2973 explain this function better.
2975 1999-12-02 Federico Mena Quintero <federico@redhat.com>
2977 Source files moved from src/ to gdk-pixbuf/, to be consistent with
2980 * doc/Makefile.am: Modified for the new source directory.
2982 * configure.in: Likewise.
2984 * Makefile.am: Likewise.
2986 * autogen.sh: Likewise.
2988 * gdk-pixbuf/Makefile.am: Likewise.
2990 1999-12-02 Federico Mena Quintero <federico@redhat.com>
2992 * src/testpixbuf.c: #include <config.h>, and fix includes.
2994 * src/testpixbuf-drawable.c: #include <config.h>, and fix includes.
2996 * src/io-xpm.c: Fix includes.
2998 * src/io-tiff.c: Fix includes.
3000 * src/io-ras.c: Fix includes, and do not include more stuff than needed.
3002 * src/io-pnm.c: Fix inlcudes, and do not include more stuff than needed.
3004 * src/io-png.c: Fix includes.
3006 * src/io-ico.c: Fix includes, and do not include more stuff than needed.
3008 * src/io-gif.c: Fix includes, and do not include more stuff than needed.
3010 * src/io-bmp.c: Fix includes, and do not include more stuff than needed.
3012 * src/gnome-canvas-pixbuf.c: Fix includes.
3014 * src/gdk-pixbuf.c: Fix includes.
3016 * src/gdk-pixbuf-util.c: Fix includes.
3018 * src/gdk-pixbuf-render.c: Fix includes.
3020 * src/gdk-pixbuf-io.h: Fix includes.
3022 * src/gdk-pixbuf-drawable.c: Fix includes.
3024 * src/gdk-pixbuf-drawable.h: Use angle brackets for the gdk-pixbuf
3027 * src/gdk-pixbuf-data.c: Fix includes.
3029 * src/gdk-pixbuf-loader.c: #include <config.h>
3031 * src/gdk-pixbuf-loader.h: Use angle brackets for the gdk-pixbuf
3034 * src/Makefile.am: Commented out the gdk-pixbuf-drawable stuff,
3035 since it is not finished.
3037 * src/gdk-pixbuf.h: Removed unused transformation prototypes.
3039 * src/gdk-pixbuf-util.c: New file with utility and convenience
3040 functions for pixbufs.
3042 * src/Makefile.am (libgdk_pixbuf_la_SOURCES): Added gdk-pixbuf-util.c.
3044 * doc/gdk-pixbuf-sections.txt: Added section for utility functions.
3046 * doc/Makefile.am (tmpl_sources): Added tmpl/util.sgml.
3048 * doc/gdk-pixbuf.sgml: Added the utilities section.
3050 * doc/tmpl/util.sgml: Documentation for the utility functions.
3052 1999-11-29 Owen Taylor <otaylor@redhat.com>
3054 * src/gdk-pixbuf-render.c (gdk_pixbuf_render_to_drawable_alpha):
3055 Keep the mask around until after we draw ... since
3056 the GC changes aren't flushed to the X server until we
3057 draw, destroying it before that may result in BadPixmap
3060 1999-11-30 Havoc Pennington <hp@pobox.com>
3062 * configure.in: Add AM_CONDITIONAL for inside gnome-libs
3064 * src/Makefile.am: conditionalize GnomeCanvasPixbuf
3066 1999-11-29 Federico Mena Quintero <federico@redhat.com>
3068 * src/Makefile.am: Uncomment the GnomeCanvasPixbuf sources. This
3069 should be made conditional, not blindly commented out.
3071 1999-11-29 Jonathan Blandford <jrb@redhat.com>
3073 * src/Makefile.am (ICO_LIB): Added another loader from Arjan to
3074 handle .ico files. Cool.
3076 1999-11-24 Jonathan Blandford <jrb@redhat.com>
3078 * src/io-bmp.c (OneLine24): new patch from Arjan to handle
3081 1999-11-24 James Henstridge <james@daa.com.au>
3083 * configure.in (AC_OUTPUT): altered hack to place the symlink in the
3084 top builddir rather than src. This still builds fine, and does not
3085 get gtk-doc into an infinite loop when trying to find all the source
3088 1999-11-23 Jonathan Blandford <jrb@redhat.com>
3090 * Removed #PRAGMA } from headers. Also, make compile if you don't
3091 have it installed, already.
3093 1999-11-22 Federico Mena Quintero <federico@redhat.com>
3095 * src/gnome-canvas-pixbuf.c (gnome_canvas_pixbuf_draw): Create the
3096 temporary buffer to the size of the interesction of the bounding
3097 box and the expose area, not the whole expose area. This speeds
3100 * src/gdk-pixbuf-render.c (gdk_pixbuf_render_threshold_alpha): Do
3101 not paint black on the mask, since we already cleared it in a
3102 single gdk_draw_rectangle() operation.
3104 1999-11-22 Raja R Harinath <harinath@cs.umn.edu>
3106 * configure.in (GDK_PIXBUF_DIR): Fix for srcdir != builddir.
3108 1999-11-22 Havoc Pennington <hp@pobox.com>
3110 * src/Makefile.am (GDK_PIXBUF_LIBS): Patch from Paul Fisher
3111 <pnfisher@redhat.com> adds all -lgdk-pixbuf and all other
3112 dependencies to LIBADD variables for loadable modules. Necessary
3113 for a Java dynamic loading thing to be able to figure it out.
3115 1999-11-22 Havoc Pennington <hp@pobox.com>
3117 * src/io-png.c (image_load_increment): Call the update_area
3118 callback depending on the number of rows loaded in this increment.
3120 * src/testpixbuf.c (main): slow down the progressive load demo
3122 1999-11-16 Havoc Pennington <hp@pobox.com>
3124 * src/gdk-pixbuf-drawable.h: Get the quotes right on the #include
3126 1999-11-22 Jonathan Blandford <jrb@redhat.com>
3128 * configure.in (GDK_PIXBUF_DIR): make the symlink. Does not work
3129 for srcdir != buildir != . Beats me why; I can't figure it out.
3130 AC_OUTPUT_COMMANDS doesn't seem to let me substitute it correctly.
3132 1999-11-21 Jonathan Blandford <jrb@redhat.com>
3134 * src/gdk-pixbuf-io.c: added io-bmp from Arjan
3135 <arjan@fenrus.demon.nl>
3137 1999-11-20 Michael Zucchi <zucchi@zedzone.mmc.com.au>
3139 * src/gdk-pixbuf-drawable.c (gdk_pixbuf_from_drawable_core):
3140 Rework/reorder of the code. Each case has been separated into
3141 another function; its big but it should be quick.
3142 gdk_pixbuf_rgba_from_drawable() will now return a pixbuf with
3143 opaque alpha information. Not all depths/formats have been
3144 tested, but 8, 15/16 and 24 (alinged 32) should work ok.
3146 1999-11-17 Larry Ewing <lewing@gimp.org>
3148 * src/gnome-canvas-pixbuf.c (gnome_canvas_pixbuf_bounds):
3149 implement the bounds method correctly.
3150 (compute_viewport_affine): compute the affine need to fit the
3151 image within the viewport given by the args.
3152 (compute_render_affine): call compute_viewport_affine.
3154 1999-11-16 Havoc Pennington <hp@pobox.com>
3156 * src/gdk-pixbuf-drawable.h: Use includes from the current
3157 directory, not the system directory.
3159 Mon Nov 15 17:18:28 1999 George Lebl <jirka@5z.com>
3161 * src/testpixbuf-drawable.c: use includes from the current directory
3162 rather then from the system include directory as gdk-pixbuf
3163 includes are not yet installed when this is compiled.
3165 1999-11-13 Cody Russell <bratsche@dfw.net>
3166 * src/testpixbuf-drawable.c: Added a test program for drawable
3169 * src/Makefile.am: Build testpixbuf-drawable.
3171 1999-11-12 Cody Russell <bratsche@dfw.net>
3173 * src/gdk-pixbuf-drawable.c: Merged in Michael Zucchi's changes.
3175 1999-11-10 Federico Mena Quintero <federico@redhat.com>
3177 * doc/tmpl/gdk-pixbuf-loader.sgml: Populated.
3179 * doc/gdk-pixbuf.signals: Put in the real names of signal
3182 * src/gdk-pixbuf-loader.c: Improved documentation comments.
3184 1999-11-10 Jonathan Blandford <jrb@redhat.com>
3186 * src/gdk-pixbuf-loader.c (gdk_pixbuf_loader_close): emit the
3189 * src/io-ras.c (OneLineMapped_file): Now can handle indexing
3190 correctly. Patch from Arjan to do so.
3192 1999-11-10 Michael Fulbright <drmike@redhat.com>
3194 * src/io-pnm.c (pnm_ascii_read_scanline): Fixed loading of ASCII PNM
3197 * src/testpixbuf.c: Added final queued draw when done loading image.
3199 1999-11-10 Jonathan Blandford <jrb@redhat.com>
3201 * src/gdk-pixbuf-io.c (gdk_pixbuf_load_module): removed spurious
3204 1999-11-10 Federico Mena Quintero <federico@redhat.com>
3206 * src/gdk-pixbuf-io.c (gdk_pixbuf_new_from_xpm_data): Added
3209 1999-11-09 Federico Mena Quintero <federico@redhat.com>
3211 * src/io-png.c: Fixed some incompatible pointer initializations.
3213 * src/io-jpeg.c (image_load_increment): Remove unused variable.
3215 1999-11-09 Michael Fulbright <drmike@redhat.com>
3217 * src/testpixbuf.c: Fixed it to use timeout to read from file
3218 for progressive loading. Set TBF_KBPS=n, where n is the number of
3219 kilobytes/second to simulate in downloading. n has to be an integer.
3221 * src/io-jpeg.c: Slight cosmetic cleanup.
3223 * src/io-pnm.c: Fixed raw PNM loading bug. Also discovered that ASCII
3224 PBM loading has a similar problem and will address tomorrow.
3226 1999-11-09 Havoc Pennington <hp@pobox.com>
3228 * src/Makefile.am (libgdk_pixbuf_la_SOURCES): build the
3229 gdk-pixbuf-drawable stuff.
3231 1999-11-09 Federico Mena Quintero <federico@redhat.com>
3233 * configure.in: Bumped version number to 0.4.
3235 1999-11-09 Michael Fulbright <drmike@redhat.com>
3237 * src/io-pnm.c : Finished progressive PNM loading code. Should handle
3238 all types of PNM files now.
3240 * src/io-jpeg.c (image_load_increment): Figured out problem with
3241 loading Progressive JPEG's progressively (say that 10 times fast).
3242 Currently for Progressive JPEG's the entire image is loaded before
3243 it is displayed. libjpeg supports a fancier mechanism which I may
3246 With these changes all JPEG formats appear to load properly for me.
3248 1999-11-08 Jonathan Blandford <jrb@redhat.com>
3250 * src/io-ras.c (image_load_increment): Final patch from Arjan.
3251 Seems to do progressive loading.
3253 1999-11-08 Michael Fulbright <drmike@redhat.com>
3255 * src/io-pnm.c image_load (): Fixed so we do not create a separate
3256 pixel buffer when reading in image - we reuse the pixel data in
3257 the GdkPixbuf structure instead.
3259 1999-11-08 Michael Fulbright <drmike@redhat.com>
3261 * src/io-pnm.c pnm_read_ascii_scanline (): Added support for
3262 ASCII PNM files. Note I haven't tested loaded ASCII PBM files because
3263 I can't seem to find a utility to convert into this format.
3264 Next is to add progressive loading support for the PNM format.
3266 1999-11-07 Federico Mena Quintero <federico@redhat.com>
3268 * doc/tmpl/gnome-canvas-pixbuf.sgml: Finished detailed explanation
3269 of the width, height, x, and y setting and pixels arguments.
3271 1999-11-05 Jonathan Blandford <jrb@redhat.com>
3273 * src/io-ras.c (image_load): third patch. Now it seems to load.
3275 * src/gdk-pixbuf-io.c: second patch Arjan van de Ven
3276 <arjan@fenrus.demon.nl> to autodetect/load the sunras files.
3278 * src/io-ras.c (image_load): new file from Arjan van de Ven
3279 <arjan@fenrus.demon.nl> to begin the ras loader.
3281 1999-11-05 Federico Mena Quintero <federico@redhat.com>
3283 * doc/gdk-pixbuf-sections.txt: Removed gdk-pixbuf-io, since it is
3284 for internal use only.
3286 * doc/gdk-pixbuf.sgml: Likewise.
3288 * doc/tmpl/gnome-canvas-pixbuf.sgml: Finished docs.
3290 1999-11-05 Michael Fulbright <drmike@redhat.com>
3292 * src/io-pnm.c: Implemented support for reading raw PBM/PGM/PPM
3293 files from a file. Next step is support for ASCII files, and
3294 then incremental loading.
3296 1999-11-04 Federico Mena Quintero <federico@redhat.com>
3298 * Makefile.am: Added doc to SUBDIRS.
3300 1999-11-04 Michael Fulbright <drmike@redhat.com>
3302 * src/io-jpeg.c: Prettied up code slightly.
3303 * src/io-pnm.c: Start of pnm loader (from file and progressively).
3304 Doesn't do much yet (will finish tomorrow).
3305 * src/gdk-pixbuf-io.c: Added pnm to structure of known types.
3307 1999-11-04 Federico Mena Quintero <federico@redhat.com>
3309 * doc/tmpl/rendering.sgml: Populated.
3311 * doc/Makefile.am: Added the template files.
3313 1999-11-04 Havoc Pennington <hp@pobox.com>
3315 * src/gdk-pixbuf-render.c (gdk_pixbuf_render_to_drawable): In
3316 docs, explain what a dither offset is for.
3317 (gdk_pixbuf_render_to_drawable_alpha): Explain why you would use
3318 this function vs. gdk_pixbuf_render_to_drawable().
3320 1999-11-04 Havoc Pennington <hp@pobox.com>
3322 * configure.in: Use libart-config correctly; find gnome-config
3323 separately. Fix GNOME_LIBS to be correct in "no gnome installed
3326 * src/Makefile.am: Link to GNOME_LIBS instead of a hardcoded
3329 Patch untested in the inside-gnome-libs case, I need to commit
3330 then check out to the gnome-libs I'm using.
3332 1999-11-04 Michael Fulbright <drmike@redhat.com>
3334 * src/io-jpeg.c (image_begin_load): Add update_func callback.
3335 * src/io-jpeg.c (image_load_increment): Call updated callback when
3336 new graphic data decoded.
3338 1999-11-04 Jonathan Blandford <jrb@redhat.com>
3340 * src/gdk-pixbuf-loader.c (gdk_pixbuf_loader_update): handle the
3342 * src/io-png.c (image_begin_load): add a update_func callback.
3343 * src/io-gif.c (image_begin_load): add a update_func callback.
3344 (gif_get_lzw): added the update_func ability
3346 * src/io-tiff.c (image_begin_load): add a update_func callback.
3348 1999-11-04 Federico Mena Quintero <federico@redhat.com>
3350 * doc/tmpl/gdk-pixbuf.sgml: Populated.
3352 * doc/tmpl/refcounting.sgml: Populated.
3354 * doc/tmpl/file-loading.sgml: Populated.
3356 * src/gdk-pixbuf.c: Added documentation comments.
3358 * src/gdk-pixbuf-io.c (gdk_pixbuf_new_from_file): Added
3359 documentation comments.
3361 * doc/: Finished integrating the documentation framework.
3363 1999-11-03 Federico Mena Quintero <federico@redhat.com>
3365 * configure.in: Removed libgif stuff now that we do not depend on it.
3366 Added the necessary cruft for gtk-doc.
3368 * src/Makefile.am: Unconditionally build the GIF loader.
3370 1999-11-03 Jonathan Blandford <jrb@redhat.com>
3372 * src/io-gif.c (gif_read): renamed ReadOK to gif_read.
3373 Added a lot of comments to the file.
3375 * src/Makefile.am (libpixbuf_gif_la_LIBADD): Remove dependency on
3378 1999-11-03 Michael Fulbright <drmike@redhat.com>
3380 * src/io-jpeg.c (image_load_increment): Further removal of
3381 bugginess in local buffering code. Handles grayscale jpegs
3384 * src/io-jpeg.c (image_load_stop): Was freeing local context
3385 for jpeg library before calling jpeg_decompres_finish ().
3387 1999-11-03 Jonathan Blandford <jrb@redhat.com>
3389 * src/io-gif.c (image_load_increment): now handle arbitrary buffer
3391 (gif_get_lzw): set the transparency to the right val.
3393 1999-11-03 Federico Mena Quintero <federico@redhat.com>
3395 * src/gnome-canvas-pixbuf.c (gnome_canvas_pixbuf_init):
3396 Initiailize the x and y fields.
3397 (gnome_canvas_pixbuf_destroy): Queue a redraw upon destruction.
3398 (PixbufPrivate): Renamed need_size_update to need_xform_update.
3399 (recompute_bounding_box): Do not use temporary values.
3401 1999-11-03 Jonathan Blandford <jrb@redhat.com>
3403 * src/io-gif.c (set_gif_lzw_clear_code): new state. Fixes
3406 * src/gnome-canvas-pixbuf.c (recompute_bounding_box): remove
3407 unneeded x,y,h,w vars.
3409 1999-11-03 Larry Ewing <lewing@gimp.org>
3411 * src/gnome-canvas-pixbuf.c (compute_render_affine): adjust
3412 render_affine calculation for x,y offsets.
3413 (gnome_canvas_pixbuf_set_arg): add x,y args.
3414 (gnome_canvas_pixbuf_get_arg): add x,y args.
3415 (recompute_bounding_box): simply code using ArtDrect and the
3416 render_affine. Removed compute_xform_vectors as it was no longer
3419 1999-11-03 Federico Mena Quintero <federico@redhat.com>
3421 * src/gnome-canvas-pixbuf.c (gnome_canvas_pixbuf_point): I'm a
3422 doofus. Return a distance, not a boolean, for opaque images.
3424 * src/gnome-canvas-pixbuf.c (recompute_bounding_box): Do proper
3425 rounding of bounding box coordinates.
3426 (gnome_canvas_pixbuf_bounds): Implemented the ::bounds() method.
3427 (gnome_canvas_pixbuf_draw): Use the correct alpha threshold value.
3429 1999-11-03 Jonathan Blandford <jrb@redhat.com>
3431 * src/io-gif.c (gif_prepare_lzw): s/lwz/lzw/g
3433 1999-11-03 Michael Fulbright <drmike@redhat.com>
3435 * src/io-jpg.c (image_load_increment): Fixed code which moved
3436 buffer around as new data comes in to work properly. JPEG progressive
3437 loading should be working now except for grayscale JPEG's, which I
3438 will look into next.
3440 1999-11-03 <sopwith@redhat.com>
3441 * src/testpixbuf.c: A GtkFunction needs to return a value for deterministic behaviour.
3442 Also put dot printing back in.
3444 1999-11-03 <jrb@redhat.com>
3446 * src/io-gif.c (gif_get_extension): Read 'til the next empty block
3449 1999-11-02 Cody Russell <bratsche@dfw.net>
3450 * src/gdk-pixbuf-drawable.c: Changed the behavior to return NULL
3451 if part of the requested image is offscreen, rather than clipping
3454 1999-11-02 Jonathan Blandford <jrb@redhat.com>
3456 * src/io-gif.c (gif_fill_in_lines): Fill in the gif's blank areas
3457 for interlacing and progressive loading.
3459 1999-11-02 Cody Russell <bratsche@dfw.net>
3460 * src/gdk-pixbuf-drawable.c (gdk_pixbuf_from_drawable_core): Now
3461 calls gdk_pixbuf_new_from_art_pixbuf() instead of gdk_pixbuf_new().
3463 1999-11-02 Jonathan Blandford <jrb@redhat.com>
3465 * src/io-gif.c (gif_main_loop): Now progressive gif loading works!
3466 It's a little slow though. )-:
3468 1999-11-02 Elliot Lee <sopwith@redhat.com>
3469 * src/gdk-pixbuf-loader.[ch], src/gdk-pixbuf-io.h: Make the arguments to the
3470 write/load_increment operations const-correct.
3472 1999-11-02 Federico Mena Quintero <federico@redhat.com>
3474 * src/gnome-canvas-pixbuf.c (gnome_canvas_pixbuf_point):
3475 Implemented the ::point() method. We do a simple containment test
3476 instead of a full distance calculation since the canvas is going
3477 to change to that scheme, anyways.
3479 1999-11-02 Elliot Lee <sopwith@redhat.com>
3481 * src/testpixbuf.c: Allow using $TBF_READLEN to specify the size of the chunks
3482 that are read from the input file.
3484 1999-11-02 Larry Ewing <lewing@gimp.org>
3486 * src/gnome-canvas-pixbuf.c (gnome_canvas_pixbuf_render): add aa
3488 (gnome_canvas_pixbuf_class_init): add gnome_canvas_pixbuf_render
3491 1999-11-02 Federico Mena Quintero <federico@redhat.com>
3493 * src/gnome-canvas-pixbuf.c (compute_render_affine): Moved the
3494 affine computation code from ::draw() to here, since it is needed
3495 by ::point() as well.
3497 1999-11-02 Elliot Lee <sopwith@redhat.com>
3499 * src/gdk-pixbuf-loader.c: Reorganize gdk_pixbuf_loader_write into
3500 three functions, and eliminate duplication of code from write()
3501 and close(). Also fix bug where the 128-byte header was being
3504 1999-11-01 Federico Mena Quintero <federico@redhat.com>
3505 * src/gnome-canvas-pixbuf.c (recompute_bounding_box): Fixed
3506 bounding box computation.
3508 1999-11-01 Federico Mena Quintero <federico@redhat.com>
3510 * src/gnome-canvas-pixbuf.c: Start of the pixbuf canvas item.
3511 Drawing affines seem to work. Bounding box is fubared. ::point()
3512 is not implemented. This is a work in progress.
3514 * src/Makefile.am: Added gnome-canvas-pixbuf.[ch] to the list of
3517 * configure.in: Sigh. We need to link in libgnomeui for the
3518 canvas stuff. This mess will disappear when gdk-pixbuf gets
3519 folded into gnome-libs.
3521 1999-10-30 Jonathan Blandford <jrb@redhat.com>
3523 * src/io-gif.c: Some more work. Now it generates a gdk_pixbuf of
3524 the right size, at a minimum, even if the image is squished and
3526 (ReadImage): lets get the offset right. This will let transparent
3529 1999-10-29 Michael Fulbright <drmike@redhat.com>
3531 * src/io-jpeg.c: image_load_increment(): Fixed bug when
3532 image width was not a multiple of 4 - always use the
3533 gdk_pixbuf rowstride to increment pointers!
3535 1999-10-29 Michael Fulbright <drmike@redhat.com>
3537 * src/io-jpeg.c: Added first cut at progressive jpeg loading.
3538 Currently does not handle either progressive jpeg files (jpeg
3539 files with multiple scans at different quality settings), but
3540 I plan on adding this support soon. These are fairly rare in
3541 my experience, so it shouldn't slow people down too much.
3542 Grayscale jpegs also don't work but that should be easy to fix.
3544 1999-10-29 Michael Fulbright <drmike@redhat.com>
3546 * src/testpixbuf.c: Added title to windows so you can identify
3547 progressive and file windows.
3549 1999-10-29 Michael Fulbright <drmike@redhat.com>
3551 * src/gdk-pixbuf-loader.c (gdk_pixbuf_loader_write): Actually
3552 load the image handler when we determine the image type.
3554 * src/gdk-pixbuf-io.[ch] (gdk_pixbuf_load_module): Changed the
3555 previously static function load_image_handler () to
3556 a public function gdk_pixbuf_load_module (). It is needed in
3557 gdk-pixbuf-loader.c to load image handler modules. This function
3558 is different from gdk_pixbuf_get_module (), which only returns
3559 a reference to the required handler, because it actually loads
3560 the handler into memory. Both actions should possibly be combined
3561 in a convenience function since one w/o the other doesn't seem to
3564 1999-10-28 Jonathan Blandford <jrb@redhat.com>
3566 * src/gdk-pixbuf-loader.c (gdk_pixbuf_loader_write): don't send a
3569 1999-10-28 Federico Mena Quintero <federico@redhat.com>
3571 * src/gdk-pixbuf-render.c (gdk_pixbuf_render_to_drawable): New
3572 function to render a portion of a pixbuf to a drawable. Ignores
3573 alpha information and takes in a GC.
3574 (gdk_pixbuf_render_to_drawable_alpha): New function to render a
3575 portion of a pixbuf to a drawable. It automatically creates a GC
3576 and a clipping mask for alpha pixbufs.
3578 1999-10-28 Jonathan Blandford <jrb@redhat.com>
3580 * src/gdk-pixbuf.h: turned convenience macros into convenience
3581 functions so some error checking could be added.
3583 * src/io-tiff.c (image_load_increment): started work on the tiff
3584 non-incremental loader.
3585 (image_begin_load): Finished the incremental loader.
3587 * src/io-gif.c (image_load_increment): started work on the gif
3590 * src/gdk-pixbuf-io.h: Changed ModuleType to GdkPixbufModule.
3592 1999-10-27 Federico Mena Quintero <federico@redhat.com>
3594 * src/gdk-pixbuf-render.c (gdk_pixbuf_render_threshold_alpha): New
3595 function to threshold a pixbuf's alpha channel into a bitmap.
3597 * src/gdk-pixbuf.c (gdk_pixbuf_new): Fixed so that it will
3598 contemplate future extensions to ArtPixBuf's formats.
3600 * src/io-png.c (png_info_callback): Use the new API of gdk_pixbuf_new().
3602 * src/gdk-pixbuf.h (gdk_pixbuf_get_height): Added some convenience
3603 macros to fetch the ArtPixBuf's fields.
3605 1999-10-27 Havoc Pennington <hp@pobox.com>
3607 * src/testpixbuf.c (main): Display the progressive load
3609 * src/io-png.c (setup_png_transformations): Break transformation
3610 code into separate function
3611 (png_info_callback): Use setup_png_transformations
3613 1999-10-27 Havoc Pennington <hp@pobox.com>
3615 * src/gdk-pixbuf-io.c (gdk_pixbuf_new_from_xpm_data): Check
3616 properly whether the XPM module has already been loaded
3617 (gdk_pixbuf_new_from_file): Check properly if loader module
3618 was already loaded (was checking if load symbol was present
3619 in order to decide whether to re-load; should check module !=
3620 NULL, then load != NULL)
3621 (image_handler_load): Check in present working directory,
3622 makes it easier to debug for now
3623 (file_formats): This array initializer was seriously on crack,
3624 was assigning a function pointer to a GModule*
3626 * src/testpixbuf.c (main): Change type of pixbuf_loader to GdkPixbufLoader*
3628 1999-10-27 Havoc Pennington <hp@pobox.com>
3630 * src/gdk-pixbuf-loader.c (gdk_pixbuf_loader_finalize):
3631 Fix typo that prevented compilation
3632 (gdk_pixbuf_loader_destroy): ditto
3634 1999-10-27 Federico Mena Quintero <federico@redhat.com>
3636 * src/gdk-pixbuf-loader.c (gdk_pixbuf_loader_new): Return a
3637 GdkPixbufLoader, not a GtkObject.
3638 (gtk_marshal_NONE__INT_INT_INT_INT): Made static.
3639 (gdk_pixbuf_loader_get_type): Documented.
3640 (gdk_pixbuf_loader_class_init): Initialize the parent class
3642 (gdk_pixbuf_loader_destroy): Added sanity checks. Call the parent
3643 class destroy function.
3644 (gdk_pixbuf_loader_new): Documented.
3645 (gdk_pixbuf_loader_finalize): Call the parent class finalize
3647 (gdk_pixbuf_loader_write): Use size_t for count.
3649 1999-10-27 Michael Fulbright <drmike@redhat.com>
3651 * src/gdk-pixbuf-loader.c (gdk_pixbuf_loader_destroy): Fixed
3652 logic so we only try to close loader if it wasn't previously closed.
3654 1999-10-27 Michael Fulbright <drmike@redhat.com>
3656 * src/gdk-pixbuf-loader.c: Made sure image_loader struct member of
3657 pixbuf_loader properly initialized.
3659 * src/testpixbuf.c: Made sure we cleanup pixbuf_loader properly
3662 1999-10-26 Jonathan Blandford <jrb@redhat.com>
3664 * src/gdk-pixbuf-io.c (image_handler_load): load the vtable fully.
3666 * src/gdk-pixbuf-loader.c: Finished initial cut at the object.
3668 1999-10-26 Havoc Pennington <hp@pobox.com>
3670 * src/gdk-pixbuf-loader.h: fix signals
3672 * src/gdk-pixbuf-io.h: add new vtable fields
3675 1999-10-26 Jonathan Blandford <jrb@redhat.com>
3677 * src/gdk-pixbuf-loader.h: New Class. Beginning of progrssive
3680 1999-10-25 Federico Mena Quintero <federico@redhat.com>
3682 * configure.in (CFLAGS): Patch from Uwe Koloska
3683 <koloska@Rcs1.urz.tu-dresden.de> to fix a stupid typo of mine.
3685 1999-10-22 Havoc Pennington <hp@pobox.com>
3687 * src/io-xpm.c (mem_buffer): Clean up stupid
3688 increment-inside-array-dereference thing
3690 * src/testpixbuf.c: Add XPM data tests.
3692 * src/io-xpm.c: Make the XPM data buffer const, fix const
3693 correctness throughout the code.
3695 1999-10-22 Havoc Pennington <hp@pobox.com>
3697 * src/gdk-pixbuf.h: Export gdk_pixbuf_new_from_xpm_data()
3699 1999-10-22 Havoc Pennington <hp@pobox.com>
3701 * src/io-xpm.c (image_load_xpm_data): Export this symbol for
3702 loading an XPM from memory.
3704 * src/gdk-pixbuf-io.c (gdk_pixbuf_new_from_xpm_data): New
3705 function, loads pixbuf from xpm data
3706 (image_handler_load): Add g_return_if_fail() to ensure the same
3707 module isn't loaded twice. Add g_module_symbol() to scan for XPM
3710 1999-10-22 Federico Mena Quintero <federico@redhat.com>
3712 * src/io-png.c (image_load): Patch from Kristian Hogsberg
3713 Kristensen <hogsberg@daimi.au.dk> to avoid allocating extra row
3714 buffers; the rows can be read in directly into the main pixel
3717 1999-10-20 Federico Mena Quintero <federico@redhat.com>
3719 * src/gdk-pixbuf-io.c (image_handler_load): Free path.
3721 1999-10-20 Federico Mena Quintero <federico@redhat.com>
3723 * configure.in: Bumped version number to 0.3.
3725 * src/Makefile.am (lbgdk_pixbuf_la_LDFLAGS): Added a libtool
3726 version number for the library.
3728 1999-10-20 Federico Mena Quintero <federico@redhat.com>
3730 * src/gdk-pixbuf.h (GdkPixbuf): Removed the unref_fn field. Now
3731 all memory management of the buffer is done by libart.
3733 * src/gdk-pixbuf.c (gdk_pixbuf_unref): Do destruction here.
3734 Removed gdk_pixbuf_destroy, gdk_pixbuf_duplicate.
3736 * src/gdk-pixbuf-data.c (gdk_pixbuf_new_from_data): Implemented in
3737 terms of the libart functions. Removed the old code.
3739 * src/gdk-pixbuf-io.c (image_handler_load): Removed the save
3740 symbols. Saving will not be implemented in GdkPixbuf.
3742 * src/io-gif.c: Removed the saving stub.
3743 (image_load): Fixed memory management to fail gracefully if we run
3744 out of memory while loading the image. Close the gif file when we
3745 are done. This still needs more error handling for the DGif
3748 * src/io-jpeg.c (image_load): Some robustness fixes.
3750 * src/io-png.c: Removed the saving stuff.
3751 (image_load): Some memory management fixes.
3753 * src/io-tiff.c (image_load): Ditto.
3755 * src/io-xpm.c (pixbuf_create_from_xpm): Ditto.
3757 1999-10-18 Havoc Pennington <hp@pobox.com>
3759 * subautogen.sh: New name for macros/autogen.sh
3761 * autogen.sh: use subautogen.sh
3763 1999-10-18 Federico Mena Quintero <federico@redhat.com>
3765 * src/*: Reindented to use the GNOME Indentation. Renamed
3766 GdkPixBuf to GdkPixbuf, for consistency with the function names
3767 (and it is also easier to type) :-)
3769 1999-10-18 Havoc Pennington <hp@pobox.com>
3771 * configure.in: Use AM_PATH_GLIB instead of glib-config directly
3773 * src/Makefile.am: Re-enable testpixbuf with GTK_CFLAGS/GTK_LIBS
3775 1999-10-18 Havoc Pennington <hp@pobox.com>
3777 * Makefile.am (SUBDIRS): Remove "macros"
3779 * configure.in: Don't use GNOME_INIT, handle case where we are
3780 inside gnome-libs. AM_PATH_GTK for the GIF test
3782 * src/Makefile.am: Change flags to work without libgnomeui,
3783 comment out testpixbuf for now
3785 1999-10-18 Federico Mena Quintero <federico@redhat.com>
3787 * configure.in: Use $GTK_LIBS as the extra libs when checking for
3788 libgif/libungif, as they need the X libraries. Fixes bug #2472.
3790 1999-10-10 Cody Russell <bratsche@dfw.net>
3791 * src/gdk-pixbuf-drawable.c: core function now determines whether
3792 the requested geometry is on screen or not, and if some is not
3793 then the request is clamped to geometry that is on the screen.
3795 Changed 'pixbuf' to 'art_pixbuf' in core function.
3797 1999-10-08 Michael Fulbright <drmike@redhat.com>
3799 * src/gdk-pixbuf-data.c: Added to load rgb data from const data.
3801 * src/testpifbuf: Changed test program to display cdrom from rgb data
3802 if no filename given to test program.
3804 1999-10-07 Cody Russell <bratsche@dfw.net>
3805 * src/gdk-pixbuf-drawable.[ch]: Added. (Actually, Miguel committed
3806 them, but I wrote them).
3808 * src/gdk-pixbuf-drawable.h: Added a missing ; so things will now
3811 * src/Makefile.am: Added gdk-pixbuf-drawable.[ch] to
3812 libgdk_pixbuf_la_SOURCES and libgdk_pixbufinclude_HEADERS.
3814 * src/gdk-pixbuf-drawable.c: Added #include "gdk-pixbuf-drawable.h"
3817 * src/gdk-pixbuf-drawable.[ch]: Changed functions to return
3818 GdkPixBuf* instead of ArtPixBuf*.
3820 1999-09-22 Michael Meeks <michael@nuclecu.unam.mx>
3822 * src/gdk-pixbuf.c (gdk_pixbuf_new): created.
3823 (gdk_pixbuf_scale): use gdk_pixbuf_new + return a new scaled image.
3825 * src/gdk-pixbuf.h (struct _GdkPixBuf): Re-organise struct, + add
3826 GdkPixBufUnrefFunc + gdk_pixbuf_new.
3828 * src/io-jpeg.c (image_load): clean to use gdk_pixbuf_new.
3830 * src/io-xpm.c (_pixbuf_create_from_xpm): ditto.
3832 * src/io-tiff.c (image_load): ditto + fix leak
3834 * src/io-png.c (image_load): ditto + add more exit points; monitor.png
3835 crashes this module ( add warning :-)
3837 * src/io-bmp.c (image_load): ditto.
3839 * src/io-gif.c (image_load): ditto.
3841 1999-09-18 Michael Meeks <michael@nuclecu.unam.mx>
3843 * src/gdk-pixbuf.c (gdk_pixbuf_scale): Hack rgba support in so
3844 it doesn't crash scaling with alpha.
3846 1999-09-17 Federico Mena Quintero <federico@redhat.com>
3848 * src/io-bmp.c (image_load): Set the initial ref_count to 1.
3850 * src/io-gif.c (image_load): Likewise.
3852 * src/io-jpeg.c (image_load): Likewise.
3854 * src/io-png.c (image_load): Likewise.
3856 * src/io-tiff.c (image_load): Likewise.
3858 * src/io-xpm.c (_pixbuf_create_from_xpm): Likewise.
3860 * src/gdk-pixbuf-io.c (gdk_pixbuf_load_image): Added an assertion
3861 for the ref_count to be != 0.
3863 * src/gdk-pixbuf.c (gdk_pixbuf_ref): Be more paranoid with sanity
3865 (gdk_pixbuf_unref): Fix incorrect sanity check and comparison.
3867 1999-08-09 Federico Mena Quintero <federico@nuclecu.unam.mx>
3869 * src/io-png.c (image_save): Fixed compiler warnings. Fixed write
3870 to unallocated memory (row_ptr), and fixed its type as well. Take
3871 into account the ArtPixbuf's rowstride when assigning the row
3874 * src/gdk-pixbuf.c: Fixup includes.
3876 * src/gdk-pixbuf-io.c: Likewise.
3878 Sat Jul 31 19:19:47 CEST 1999
3880 * src/gdk-pixbuf-io.c:
3881 * src/io-png.c: Fixed two obvious C syntax bugs
3883 1999-07-29 Mark Crichton <crichton@gimp.org>
3885 * src/io-png.c (image_save): Added PNG saving function
3887 * src/gdk-pixbuf-io.c: Changed image_save function format. Now it's
3888 image_save(GdkPixBuf *p, FILE *f, ...)
3891 1999-07-26 Michael Zucchi <mzucchi@denr.sa.gov.au>
3893 * src/Makefile.am (*_LIB): Only build the relevant loaders which
3894 require extra libraries if we actually have those libraries.
3896 1999-07-23 Richard Hestilow <hestgray@ionet.net>
3898 * src/gdk-pixbuf.h: Include glib.h as it uses g* datatypes
3899 * gdk_pixbufConf.sh.in: Added for gnome-config
3901 * configure.in: Modified to generate gdk_pixbufConf.sh
3903 1999-07-20 Mark Crichton <crichton@gimp.org>
3905 * src/gdk-pixbuf.c (gdk_pixbuf_rotate): Fixed rotation. Now a bbox
3906 calculation needs to be done.
3908 1999-07-18 Larry Ewing <lewing@gimp.org>
3913 * src/io-jpeg.c: Fix a few memory leaks in the, most of them in
3914 error cases but one or two in the common case. There are probably
3915 a few small ones left.
3917 1999-07-18 Mark Crichton <crichton@gimp.org>
3919 * configure.in: removed version.h.
3921 * src/gdk-pixbuf-io.c (pixbuf_check_tiff): Minor readability
3924 1999-07-17 Mark Crichton <crichton@gimp.org>
3926 * src/gdk-pixbuf.c: Removed gdk_pixbuf_free, redundant code.
3927 (gdk_pixbuf_rotate): Added pixbuf rotation code.
3928 (gdk_pixbuf_scale): Changed // comments to /* */
3930 * src/gdk-pixbuf.h (gdk_pixbuf_destroy): Added gdk_pixbuf_destroy
3933 1999-07-16 Larry Ewing <lewing@gimp.org>
3935 * src/testpixbuf.c (expose_func): reverted the expose everything
3936 changes, I'm not sure why these went in.
3937 (config_func): bring this up to date with the new pixbuf_scale
3940 * src/gdk-pixbuf-io.c: added a couple of warnings to the module
3941 loading code so that poeple can diagnose problems better.
3943 * src/gdk-pixbuf.c (gdk_pixbux_scale): fix the borkedness, also it
3944 no longer allocates a new pixbuf, which make things nicer for the
3945 rest of the code. Unfortunately there is still a problem with
3946 scaling rgba images.
3948 1999-07-16 Mark Crichton <crichton@gimp.org>
3950 * src/testpixbuf.c (config_func): ConfigureEvent handler. This
3951 calls gdk_pixbuf_scale. However, something is not working.
3952 N.B.: current pixmap is now stored in user_data with a key of
3955 * src/gdk-pixbuf.c (gdk_pixbuf_scale): Implemented scaling function.
3956 Something is still borked, however.
3958 1999-07-15 Larry Ewing <lewing@gimp.org>
3960 * src/io-jpeg.c (image_load): add raph@gimp.org's fix to the jpeg
3963 * src/testpixbuf.c (main): fix up the file routines a little so
3964 that you can load multiple files given the file names
3966 1999-07-14 Larry Ewing <lewing@gimp.org>
3968 * src/testpixbuf.c (expose_func): added an almost proper expose
3969 handler for testpixbuf
3971 1999-07-13 Mark Crichton <crichton@gimp.org>
3973 * configure.in: Fixed GIF check. Replaced " with '
3974 * src/gdk-pixbuf.c: More (minor) work on gdk_pixbuf_scale
3976 1999-07-13 Mark Crichton <crichton@gimp.org>
3978 * configure.in: I am a bonehead. Added gif-lib check.