Commit Graph

180 Commits

Author SHA1 Message Date
Havoc Pennington
a7aa33f14e Havoc Pennington <hp@redhat.com>
* gtk/Makefile.am (LDFLAGS): add @LIBTOOL_EXPORT_OPTIONS@

	* gdk/Makefile.am (LDFLAGS): add @LIBTOOL_EXPORT_OPTIONS@

	* configure.in (LIBTOOL_EXPORT_OPTIONS): define
	LIBTOOL_EXPORT_OPTIONS with options to control symbol export
2001-01-02 16:15:35 +00:00
Owen Taylor
bc41c3ffcf remove unecessary rules for win32-specific config-substituted targets. If
Wed Nov 15 18:39:40 2000  Owen Taylor  <otaylor@redhat.com>

	* **/Makefile.am : remove unecessary rules for win32-specific
	config-substituted targets. If you want these rules, use
	--enable-maintainer-mode (called automatically by autogen.sh).
	Stops a lot of unneccessary make-time warnings.

	* gtk/gtktext{layout,display}.c: Factor in total width as
	well as screen when figuring alignment for word-wrap as well as
	no wrap; this is necessary to handle lines that cannot be wrapped
	at all.
2000-11-16 00:16:46 +00:00
Owen Taylor
703944fd36 Add -avoid-version for all modules.
Tue Nov 14 11:51:26 2000  Owen Taylor  <otaylor@redhat.com>

	* Makefile.am: Add -avoid-version for all modules.
2000-11-15 01:14:37 +00:00
Havoc Pennington
6b9f907270 Pixbuf saving, patch from David Welton.
2000-10-05  Havoc Pennington  <hp@redhat.com>

        Pixbuf saving, patch from David Welton.

	* Makefile.am (GDK_PIXBUF_LIBS): add INTLLIBS
	(libgdk_pixbuf_1_3_la_SOURCES): add gdk-pixbuf-i18n.h

	* gdk-pixbuf-i18n.h: Add _() to gdk-pixbuf

	* io-png.c (gdk_pixbuf__png_image_save): PNG save routine.

	* io-jpeg.c (gdk_pixbuf__jpeg_image_save): JPEG save routine.

	* gdk-pixbuf-io.c (gdk_pixbuf_save):
	(gdk_pixbuf_savev): Implement pixbuf saving routines

	* gdk-pixbuf.c (gdk_pixbuf_error_quark): pixbuf error quark
	function

	* gdk-pixbuf.h: Add public save routines; add pixbuf error
	types

	* gdk-pixbuf-io.h: Add save function to GdkPixbufModule

2000-10-05  Havoc Pennington  <hp@redhat.com>

        * demos/testpixbuf-save.c: add pixbuf save test

	* demos/Makefile.am: add testpixbuf-save.c
2000-10-06 18:19:18 +00:00
Havoc Pennington
e8597130f5 Move more text widget headers into the private header list
2000-09-26  Havoc Pennington  <hp@redhat.com>

	* gtk/Makefile.am (gtk_private_h_sources): Move more text widget
	headers	into the private header list

	* Makefile.am (pkgconfig_DATA): install pkg-config files

	* configure.in: add pkg-config files

	* gdk-2.0.pc.in, gdk-pixbuf.pc.in, gtk+-2.0.pc.in: pkg-config files

	* gtk/gtkwindow.c (gtk_window_read_rcfiles): Invalidate
	outstanding icon caches on theme change.

	* gtk/gtkiconfactory.h, gtk/gtkiconfactory.c: New icon system. Three
	important types:

	(GtkIconSource): Specification for creating a pixbuf
	appropriate for a direction/state/size triplet from
	a source pixbuf or filename

	(GtkIconSet): List of GtkIconSource objects that are used to
	create the "same" icon (e.g. an OK button icon), and cache for
	rendered icons

	(GtkIconFactory): Hash from stock ID to GtkIconSet; used to look
	up the icon set for a given stock ID.  GTK maintains a stack of
	GtkIconFactory to search, and applications or libraries can add
	additional icon factories on top of the stack

        * gtk/gtkrc.h, gtk/gtkrc.c: When loading an RcStyle, parse
	the set of GtkIconSource specified for a given stock ID into
	a GtkIconSet, and put the GtkIconSet into a GtkIconFactory for the
	RcStyle, under the specified stock ID.

	* gtk/gtkstyle.h, gtk/gtkstyle.c: Add a virtual function
	render_icon used to derive a GdkPixbuf from a GtkIconSource.
	This allows people to theme how prelight, insensitive, etc. are
	done.

	(gtk_style_lookup_icon_set): Look up a stock ID in the list of
	icon factories for a style, and return the resulting
	icon set if any.

	(gtk_style_render_icon): Render an icon using the render_icon
	method in the GtkStyleClass.

	* gtk/gtkwidget.h, gtk/gtkwidget.c (gtk_widget_render_icon):
	Use the style for a given widget to look up a stock ID, get the
	icon set, and render an icon using the render_icon method
	of the style

	* gtk/gtkstock.h, gtk/gtkstock.c: Header with the GtkStockItem type
	(contains information about a stock item), the built-in stock item
	IDs, and functions to add/lookup stock items.

	* gtk/stock-icons/*: Stock icons that come with GTK

	* gtk/gtkbutton.h, gtk/gtkbutton.c (gtk_button_new_stock): Returns
	a button based on a GtkStockItem
	(gtk_button_new_accel): Takes a uline string and accel group, and
	installs the accelerator.

	* gtk/gtkimage.h, gtk/gtkimage.c: Make this into a generic
	image-display widget.
2000-09-26 20:22:17 +00:00
Havoc Pennington
fcc951506d Change the format of the snapshot version to match glib
2000-08-10  Havoc Pennington  <hp@redhat.com>

* Makefile.am (snapshot): Change the format of the snapshot
version to match glib

* gdk/win32/Makefile.am (EXTRA_DIST): remove gdkinputprivate.h
from EXTRA_DIST since it doesn't seem to exist

2000-08-10  Havoc Pennington  <hp@redhat.com>

* Makefile.am (EXTRA_DIST): The *.def files had the wrong names
(s/pixbuf_/pixbufloader_)
2000-08-11 02:58:59 +00:00
Elliot Lee
3ddaa73578 Add gdk_pixbuf_loader_new_with_type function, to allow handling image
2000-07-27  Elliot Lee  <sopwith@redhat.com>

	* gtk/gdk-pixbuf-loader.[ch]: Add gdk_pixbuf_loader_new_with_type
	function, to allow handling image formats that cannot be detected
	by looking at content alone.

gdk-pixbuf/
2000-07-27  Elliot Lee  <sopwith@redhat.com>
	* gdk-pixbuf-io.h, gdk-pixbuf-io.c: Add gdk_pixbuf_get_named_module() function to facilitate above change
	* io-bmp.c: Don't malloc a temporary buffer - use stack instead.
	* io-wbmp.c, pixbufloader_wbmp.defs, gdk-pixbuf-io.c, Makefile: Implement loader for WBMP format.

**NOTE: I haven't tested this yet, I need to sync it to another machine, but it if it is broken
I'm already working on fixing it
2000-07-28 00:09:36 +00:00
Tor Lillqvist
773aacf9b6 Win32 build setup:
2000-07-23  Tor Lillqvist  <tml@iki.fi>

	Win32 build setup:

	* makefile.mingw.in
	* pixops/makefile.mingw.in
	* pixbuf_*.def: New files.

	* Makefile.am
	* pixops/Makefile.am: Add them. Add rule to generate makefile.mingw.

	* gdk-pixbuf-io.c (gtk_win32_get_installation_directory):
	New function, to get the GTK+ installation directory from
	the Windows Registry, where the installation program
	for whatever software includes GTK+ has stored it.

	Used to avoid having hardcoding the directory where to look for
	loaders. This function is needed by gtk, too, so it should
	really be just in one place. Maybe a small static library
	one level up from here?

	* gdk-pixbuf-animation.c (gdk_pixbuf_animation_new_from_file)
	* gdk-pixbuf-io.c (gdk_pixbuf_new_from_file):
	Open file in binary mode. This *is* standard C. (No-op on Unix,
	of course.)

	* io-jpeg.c: If we don't HAVE_SIGSETJMP, use normal setjmp().

	* io-tiff.c: Use g_get_tmp_dir(). If we don't HAVE_MKSTEMP, use
	mktemp() and open().
	(gdk_pixbuf__tiff_image_stop_load): g_free() also the tempname.

	* pixops/*.S: The Gas from mingw32 doesn't like the .type
	pseudo-op. Conditionalise on __MINGW32__, but probably
	should conditionalise on Gas version instead? Or could we
	do without .type on all systems?

	* pixops/timescale.c: Use g_get_current_time()
	instead of gettimeofday().
2000-07-22 23:50:19 +00:00
Owen Taylor
6a2c2edf05 Fix bug where redraw wasn't being done properly when height of dirty
Sat Jul 22 11:16:05 2000  Owen Taylor  <otaylor@redhat.com>

	* gtk/gtktextview.c (changed_handler): Fix bug where
	redraw wasn't being done properly when height of
	dirty region changed.

	* demos/Makefile.am: Remove various references to
	-lgmodule

	* Makefile.am (test_gdk_pixbuf_LDADD): Remove -lgmodule
2000-07-22 15:21:31 +00:00
Owen Taylor
bb26890024 Move gtk-config to gtk-config-2.0 move gtk_.m4 to gtk-2.0.m4
Fri Jul 14 12:22:49 2000  Owen Taylor  <otaylor@redhat.com>

	* configure.in Makefile.am gtk-config.m4 gtk.m4: Move
	gtk-config to gtk-config-2.0 move gtk_.m4 to
	gtk-2.0.m4

	* Makefile.am gtk/Makefile.am gdk-pixbuf/Makefile.am
	gdk/Makefile.am demos/Makefile.am: Change
	library names to libgtk-1.3.la, etc, so that we
	can distinguish gtk-1.2 and gtk-2.0 on the linkline.

	* Makefile.am gtk/Makefile.am gdk-pixbuf/Makefile.am
	gdk/Makefile.am gdk/x11/Makfile.am
	Move include files into /usr/include/gtk-2.0,
	/usr/lib/gtk-2.0/include/

	* autogen.sh acconfig.h configure.in gtk/gtkmain.c
	gtk/gtkintl.h: Change package for gettext from
	gtk+ to gtk20. Put hack in autogen.sh to modify
	po/Makefile.in.in after gettextize to make this
	possible.

	* gtk+.spec: Some updates, not tested.

	* gdk-pixbuf/Makefile.am: Move loaders into
	$(libdir)/gtk-2.0/$(GTK_VERSION)/loaders.

	* gtk/Makefile.am gtk/gtkrc.c: Move RC file locations
	$(sysconfdir)/gtk-2.0 ~/.gtkrc-2.0; theme subdir
	to THEMENAME/gtk-2.0/. Move engine directory  to
	$(libdir)/gtk-2.0/$(GTK_VERSION)/engines.
2000-07-14 20:08:10 +00:00
Owen Taylor
166ba89af8 Use GTK+ version soname scheme for gdk-pixbuf.
Thu Jul  6 11:49:47 2000  Owen Taylor  <otaylor@redhat.com>

	* Makefile.am (libgdk_pixbuf_la_LDFLAGS): Use GTK+ version
	soname scheme for gdk-pixbuf.
2000-07-06 15:50:54 +00:00
Owen Taylor
11056f564b Welcome aboard, gdk-pixbuf.
Wed Jun 21 16:38:13 2000  Owen Taylor  <otaylor@redhat.com>

        * gdk-pixbuf/* docs/reference/gdk-pixbuf/*: Welcome aboard,
	gdk-pixbuf.

	* gtk/gdk-pixbuf-loader.c (gdk_pixbuf_loader_class_init):
	fixups for GObject.

	* gdk/Makefile.am gdk/gdkpixbuf-render.[ch] gdk/gdkpixbuf.[ch]: Bits of
	gdk-pixbuf with GDK dependencies moved into GDK.

	* gtk/Makefile.am gtk/gdk-pixbuf-loader.[ch]: Temporarily
	move gdk-pixbuf-loader here until GObject has signals.

	* demos/: New directory of demos. Move demos from
	gdk-pixbuf here.

	* demos/pixbuf-init.c: Small bit of code to check for
	loaders in ../gdk-pixbuf/.libs/gdk-pixbuf, and if found,
	set GDK_PIXBUF_MODULEDIR appropriately.

	* gdk/gdkcompat.h: Remove GDK_DRAWABLE_PIXMAP compat
	define which no longer makes sense.
2000-06-21 20:47:22 +00:00
Darin Adler
24fa8a64bc Added some tests of composite to highlight problems in the old
* gdk-pixbuf/.cvsignore:
	* gdk-pixbuf/Makefile.am:
	* gdk-pixbuf/test-gdk-pixbuf.c (store_pixel), (fill_with_pixel),
	(load_pixel), (simple_composite_test_one),
	(simple_composite_test_one_type), (simple_composite_test), (main):
	Added some tests of composite to highlight problems in the old
	implementation. These tests run without any user interaction.
	Just do "make check".

	* gdk-pixbuf/pixops/pixops.c (pixops_composite_nearest),
	(composite_pixel), (composite_line): Fix composite to do a textbook
	"A over B" composite. This was clearly the intent, and it was easy
	to fix the code to do it. (Note to those that read my earlier tries
	at a patch; this version fixes typos that were present in all
	my patch attempts. I checked the final version by adding more tests.)
2000-05-04 14:53:48 +00:00
Karl Eichwalder
9f4c947028 Add .
* gdk-pixbuf/Makefile.am (INCLUDES): Add .
2000-04-17 11:43:25 +00:00
Federico Mena Quintero
37ac7d593e Your eyes are bloodshot.
Your eyes are bloodshot.

Your mouth starts to foam.

Your hands are shaking.

You know your need your fix.

NEED MORE ABSTRACTION!

2000-04-12  Federico Mena Quintero  <federico@helixcode.com>

	This comes from an excellent idea by Tim Janik (timj@gtk.org) to
	hook to the last unref operation.

	* gdk-pixbuf/gdk-pixbuf.c (gdk_pixbuf_set_last_unref_handler): New
	function to set the last unref handler for a pixbuf.
	(gdk_pixbuf_finalize): New function to actually finalize a pixbuf.
	It calls the pixbuf's destroy notification function and frees the
	GdkPixbuf structure itself.
	(gdk_pixbuf_unref): Use the last unref function of the pixbuf if
	available.

	* gdk-pixbuf/gdk-pixbuf-private.h (struct _GdkPixbuf): New fields
	for the last unref handler and its user data.

	* gdk-pixbuf/gdk-pixbuf-data.c (gdk_pixbuf_new_from_data): Use
	g_new0() to allocate the pixbuf.

	* gdk-pixbuf/gdk-pixbuf-loader.c (gdk_pixbuf_loader_class_init):
	Fixed the call to gtk_signal_new() for the "frame_done" signal; it
	was not specifying the `frame' argument.

	* gdk-pixbuf/gdk-pixbuf-animation.c
	(gdk_pixbuf_animation_get_width): Fixed docstring.
	(gdk_pixbuf_animation_get_height): Likewise.
	(gdk_pixbuf_animation_get_num_frames): Likewise.
	(gdk_pixbuf_animation_get_frames): Likewise.

	* doc/gdk-pixbuf-sections.txt: Updated with the new functions and
	types.

	* doc/tmpl/gdk-pixbuf.sgml: Added the description for GdkColorspace.

	* doc/tmpl/scaling.sgml: Added the description for GdkInterpType.

	* doc/tmpl/refcounting.sgml: Updated with the information about
	the last unref handler.

	* doc/tmpl/*.sgml: Markup tweaks.

	* gdk-pixbuf/Makefile.am (libgnomecanvaspixbuf_la_LDFLAGS): Sigh,
	update the libtool version number for libgnomecanvaspixbuf as
	well.
	(libpixbufloader_*_la_LDFLAGS): The loaders need to be versioned
	as well, or the old ones won't work with the new stuff.  Also,
	renamed the modules as follows.

	* gdk-pixbuf/gdk-pixbuf-io.c (gdk_pixbuf_load_module): Now the
	modules are called "libpixbufloader-<format>.so" instead of
	"libpixbuf-<format>.so".  They needed renaming so that the new
	loaders won't overwrite the old ones; even with the versioning
	stuff, the new .so symlink to the .so.1.0.0 would overwrite the
	old real .so file.
2000-04-13 01:18:41 +00:00
Federico Mena Quintero
829ed02435 Most of this patch is based on a patch by Havoc Pennington (hp@redhat.com)
2000-04-11  Federico Mena Quintero  <federico@helixcode.com>

	Most of this patch is based on a patch by Havoc Pennington
	(hp@redhat.com) to make GdkPixbuf's structures opaque and to
	remove the libart dependency.

	* gdk-pixbuf/gdk-pixbuf.h: Removed the public structures.
	(GdkColorspace): New enum that for now only contains
	GDK_COLORSPACE_RGB.
	(GdkPixbufDestroyNotify): New type for the pixbuf's pixels destroy
	notification function.
	(GdkInterpType): New num with interpolation types.

	* *.[ch]: Replace the libart stuff with our own stuff.

	* pixops/*.[ch]: Likewise.

	* gdk-pixbuf/gdk-pixbuf-private.h: New file with the private
	declarations of the GdkPixbuf structures.

	* gdk-pixbuf/gdk-pixbuf.c (gdk_pixbuf_new_from_art_pixbuf):
	Removed function.
	(gdk_pixbuf_get_format): Constify.
	(gdk_pixbuf_get_n_channels): Constify.
	(gdk_pixbuf_get_has_alpha): Constify.
	(gdk_pixbuf_get_bits_per_sample): Constify.
	(gdk_pixbuf_get_pixels): Constify.
	(gdk_pixbuf_get_width): Constify.
	(gdk_pixbuf_get_height): Constify.
	(gdk_pixbuf_get_rowstride): Constify.

	* gdk-pixbuf/gdk-pixbuf.c (gdk_pixbuf_copy): New function to copy
	a pixbuf.

	* gdk-pixbuf/gdk-pixbuf-data.c (gdk_pixbuf_new_from_data): Added a
	bits_per_sample argument; currently only 8 bits per sample are
	supported.

	* gdk-pixbuf/gdk-pixbuf-animation.c (gdk_pixbuf_frame_get_pixbuf):
	New accessor.
	(gdk_pixbuf_frame_get_x_offset): New accessor.
	(gdk_pixbuf_frame_get_y_offset): New accessor.
	(gdk_pixbuf_frame_get_delay_time): New accessor.
	(gdk_pixbuf_frame_get_action): New accessor.

	* gdk-pixbuf/gdk-pixbuf-render.c
	(gdk_pixbuf_render_pixmap_and_mask): Instead of returning a solid
	mask rectangle for pixbufs without an alpha channel, set the
	*mask_return to NULL.

	* gdk-pixbuf/gdk-pixbuf-util.c (gdk_pixbuf_add_alpha): Constify.

	* gdk-pixbuf/gdk-pixbuf-scale.c: Fix includes.

	* gdk-pixbuf/gdk-pixbuf-scale.c (gdk_pixbuf_scale): Added some
	preconditions.  Maybe we should also check for the colorspace,
	bits per pixel, and such.
	(gdk_pixbuf_composite): Likewise.
	(gdk_pixbuf_composite_color): Likewise.
	(gdk_pixbuf_scale_simple): Likewise, and fail gracefully if we
	cannot allocate the new pixbuf.
	(gdk_pixbuf_composite_color_simple): Likewise.

	* gdk-pixbuf/gnome-canvas-pixbuf.c (gnome_canvas_pixbuf_render):
	Use art_rgb_rgba_affine() or art_rgb_affine() since we no longer
	have an ArtPixBuf.

	* gdk-pixbuf/io-bmp.c: Fix includes.

	* gdk-pixbuf/pixops/pixops.c (pixops_scale_nearest): Fixed cast in
	an lvalue.

	* TODO: Populated.

	* configure.in: Removed checks for libart.

	* gdk-pixbuf/Makefile.am: Removed references to libart.
	(noinst_HEADERS): Added gdk-pixbuf-private.h.

	* gdk-pixbuf/Makefile.am (libgdk_pixbuf_la_LDFLAGS): Incremented
	the version number of the libtool library to indicate that this
	definitely is not compatible with the old usage.  I know you love
	me.  I know you do.

	* configure.in: Bumped version number to 0.7.0.

	* README: Updated.

	* gdk-pixbuf-config.in (--libs): We no longer require libart.

	* DEPENDS.libgdk_pixbuf: We no longer depend on libart.

	* gdk-pixbuf.spec.in: Updated, but I don't guarantee anything.
2000-04-11 07:03:25 +00:00
Mark Crichton
2468916bcc Merged in changes.
Merged in changes.

If this doesn't work, I blame the NWO conspiracy.

I need to go put my tin foil hat back on now, and keep a lookout for the
black helicopters.
2000-03-03 03:57:15 +00:00
Federico Mena Quintero
79d6346057 0.6.0 - Federico 2000-02-22 00:29:00 +00:00
Havoc Pennington
3cfe378ad1 no testpixbuf-foo target
2000-01-31  Havoc Pennington  <hp@redhat.com>

* gdk-pixbuf/Makefile.am (noinst_PROGRAMS): no testpixbuf-foo target
2000-01-30 23:28:41 +00:00
Owen Taylor
e63fd0e692 Fix from Peter Wainwright to fix 4a => 4a scaling.
Mon Jan 31 12:38:50 2000  Owen Taylor  <otaylor@redhat.com>

	* gdk-pixbuf/pixops/pixops.c (scale_line): Fix from Peter
	Wainwright to fix 4a => 4a scaling.
2000-01-30 19:46:23 +00:00
Elliot Lee
2ecc032847 and again, with feeling 2000-01-17 18:35:26 +00:00
Elliot Lee
be1161a97b Don't link libgdk_pixbuf against libgnomecanvaspixbuf
Don't link libgdk_pixbuf against libgnomecanvaspixbuf
2000-01-17 18:29:29 +00:00
Federico Mena Quintero
4f0f733060 Removed the broken --enable-canvas-pixbuf option. Added the stuff
2000-01-16  Federico Mena Quintero  <federico@helixcode.com>

	* configure.in: Removed the broken --enable-canvas-pixbuf option.
	Added the stuff necessary to substitute the variables in
	gnomecanvaspixbufConf.sh.in.

	* gnomecanvaspixbufConf.sh.in: New gnome-config handler for the
	tiny gnomecanvaspixbuf library.

	* Makefile.am: Build gnomecanvaspixbufConf.sh.

	* gdk-pixbuf/Makefile.am: Create a libgnomecanvaspixbuf and only
	build it if gdk-pixbuf is being built outside of gnome-libs.

	* doc/gdk-pixbuf-sections.txt: Added gdk_pixbuf_render_pixmap_and_mask().

	* gdk-pixbuf/gdk-pixbuf-render.c
	(gdk_pixbuf_render_pixmap_and_mask): Renamed from
	gdk_pixbuf_render_pixmap().  Do not create the mask if it is not
	needed, and do not use a clipping mask when rendering the pixmap.
	Tweaked documentation a little.

	* HACKING: New file with hacking policies for the gdk-pixbuf
	module.

	* doc/Makefile.am (tmpl_sources): Added missing backslash.

	* doc/Makefile.am: Use gnomecanvaspixbuf in gnome-config when
	scanning for docstrings.

	* gdk-pixbuf/gdk-pixbuf-util.c (gdk_pixbuf_copy_area): Made sanity
	checks more stringent.  Removed "gint" abominations.  Made
	documentation consistent with the rest of the functions.

	* doc/gdk-pixbuf-sections.txt: Added gdk_pixbuf_copy_area() to the
	utilities section.
2000-01-17 01:48:21 +00:00
Elliot Lee
d961146335 Build a libcanvas_pixbuf.
* configure.in, gdk-pixbuf/Makefile.am: Build a libcanvas_pixbuf.
2000-01-10 21:28:03 +00:00
Elliot Lee
0bce8ff54b No more libart/gdk-pixbuf as part of gnome-libs
* No more libart/gdk-pixbuf as part of gnome-libs

* Everything: Install header files & *Conf.sh in new per-interface-version locations.
Include interface version in library names.
2000-01-10 19:17:42 +00:00
Owen Taylor
33e963e7af Directory full of pixel data scaling code that will eventually migrate
2000-01-05  Owen Taylor  <otaylor@redhat.com>

	* gdk-pixbuf/pixops/: Directory full of pixel data scaling
	code that will eventually migrate into libart.

	* configure.in acconfig.h: Add checks for MMX compiler support

	* gdk-pixbuf/gdk-pixbuf.h gdk-pixbuf/gdk-pixbuf-scale.c:
	Nice wrapper routines for the code in pixops that operate
	on pixbufs instead of raw data.

	* gdk-pixbuf/testpixbuf-scale: Test program for scaling
	routines.
2000-01-05 21:33:58 +00:00
Federico Mena Quintero
6e3522ab2c Added reference counting to animations. A web browser may want to share a
2000-01-01  Federico Mena Quintero  <federico@helixcode.com>

	* gdk-pixbuf/gdk-pixbuf.h (GdkPixbufAnimation): Added reference
	counting to animations.  A web browser may want to share a single
	copy of an animated GIF if it appears multiple times in a web
	page, for example.

	* gdk-pixbuf/gdk-pixbuf-animation.c: New file.  Moved the
	animation functions here.
	(gdk_pixbuf_animation_new_from_file): Prettified.  Return a NULL
	animation if the loader does not support multiframe loading and
	the single-frame load returned NULL.  Check that the filename is
	not NULL.  Updated inline documentation.
	(gdk_pixbuf_animation_ref): New function.
	(gdk_pixbuf_animation_unref): New function.
	Removed gdk_pixbuf_animation_destroy() in favor of reference
	counting.

	* gdk-pixbuf/gdk-pixbuf-io.c (gdk_pixbuf_new_from_file):
	Prettified.  Made ref_count assertion more paranoid.  Check that
	the filename is not NULL.
	(gdk_pixbuf_get_module): Use guchar * and guint for buffer and
	size, respectively.
	(gdk_pixbuf_new_from_xpm_data): Changed the "data" argument to
	const char **.

	* gdk-pixbuf/io-gif.c (image_load_animation): Create the animation
	with a reference count of 1.

	* gdk-pixbuf/Makefile.am (libgdk_pixbuf_la_SOURCES): Added
	gdk-pixbuf-animation.c.

	* doc/tmpl/animation.sgml: Populated.  It is still missing a
	description of the overlay modes.

	* doc/gdk-pixbuf-sections.txt: Added the animation section.  Moved
	the canvas item section to the end, as it will be moved later to
	gnome-libs.

	* doc/gdk-pixbuf.sgml: Added the animation section.

	* doc/Makefile.am (tmpl_sources): Added tmpl/animation.sgml.
2000-01-02 03:59:22 +00:00
Peter Teichman
3cc0db6440 add $(LIBTIFF) to libpixbuf_tiff_la_LIBADD, proxying for mmarker. This
* gdk-pixbuf/Makefile.am (libpixbuf_tiff_la_LIBADD): add
        $(LIBTIFF) to libpixbuf_tiff_la_LIBADD, proxying for
	mmarker. This closes bug #4676.
1999-12-27 05:00:42 +00:00
Jonathan Blandford
d4984ede33 moved the file here. It seems natural to put this function here, as that's
1999-12-17  Jonathan Blandford  <jrb@redhat.com>

	* gdk-pixbuf/gdk-pixbuf-io.c (gdk_pixbuf_animation_new_from_file):
	moved the file here.  It seems natural to put this function here,
	as that's where the gdk_pixbuf_new_from_file function is, but it's
	still a little convoluted.  The source files might be played with
	in a bit.
1999-12-17 21:42:47 +00:00
Elliot Lee
24c7df792f make it build when gdk-pixbuf is not already installed 1999-12-16 16:35:23 +00:00
Federico Mena Quintero
f66ae10389 Use a conditional to see whether to link $(GNOME_LIBS) or not.
1999-12-12  Federico Mena Quintero  <federico@redhat.com>

	* gdk-pixbuf/Makefile.am (libgdk_pixbuf_la_LDFLAGS): Use a
	conditional to see whether to link $(GNOME_LIBS) or not.
1999-12-12 06:38:57 +00:00
Michael Zucchi
6b23587aef Filled in body of function. (rgbconvert): Added GdkColormap parameter, and
1999-12-09  Michael Zucchi  <zucchi@zedzone.mmc.com.au>

	* gdk-pixbuf/gdk-pixbuf-drawable.c (gdk_pixbuf_get_from_drawable):
	Filled in body of function.
	(rgbconvert): Added GdkColormap parameter, and to all conversion
	functions also.

	* gdk-pixbuf/Makefile.am: Re-enabled building of
	textpixbuf-drawable.

	* gdk-pixbuf/testpixbuf-drawable.c (main): Changed to use
	gdk_pixbuf_get_from_drawable().
1999-12-09 00:43:53 +00:00
Federico Mena Quintero
c6f25c2de8 Fix includes. (gdk_pixbuf_get_from_drawable): Implemented the zillion
1999-12-08  Federico Mena Quintero  <federico@redhat.com>

	* gdk-pixbuf/gdk-pixbuf-drawable.c: Fix includes.
	(gdk_pixbuf_get_from_drawable): Implemented the zillion sanity
	checks and API definition.  The body needs filling in and it needs
	to do the Right Thing(tm) for pixmaps plus the given colormap and
	windows and their own colormaps.

	* gdk-pixbuf/gdk-pixbuf.h: Added prototype for
	gdk_pixbuf_get_from_drawable().  Killed gdk-pixbuf-drawable.h.

	* gdk-pixbuf/Makefile.am: Re-added the gdk-pixbuf-drawable sources.

	* doc/tmpl/from-drawables.sgml: Populated.

	* doc/gdk-pixbuf.sgml: Added the from-drawables section.

	* doc/Makefile.am (tmpl_sources): Added tmpl/from-drawables.sgml.

	* doc/gdk-pixbuf-sections.txt: Added a section for getting pixbufs
	from drawables.
1999-12-08 21:17:53 +00:00
Martin Baulig
4460746adc Conditionally include $(GNOME_LIBS) here.
1999-12-07  Martin Baulig  <martin@home-of-linux.org>

	* gdk-pixbuf/Makefile.am (testpixbuf_LDADD): Conditionally
	include $(GNOME_LIBS) here.
1999-12-07 18:56:46 +00:00
Federico Mena Quintero
8a02827e39 Add back $(GNOME_LIBS). This must compile outside of gnome-libs. If you
1999-12-05  Federico Mena Quintero  <federico@redhat.com>

	* gdk-pixbuf/Makefile.am (testpixbuf_LDADD): Add back
	$(GNOME_LIBS).  This must compile outside of gnome-libs.  If you
	want, send me a patch to do the conditional stuff properly.
	Otherwise, please read the GNOME Programming Guidelines,
	especially the "CVS policies" section.
1999-12-06 00:22:29 +00:00
Jaka Mocnik
3f00a28b6c removed GNOME_LIBS from testpixbuf_LDADD.
1999-12-05  Jaka Mocnik  <jaka.mocnik@kiss.uni-lj.si>

	* gdk-pixbuf/Makefile.am: removed GNOME_LIBS from testpixbuf_LDADD.
1999-12-05 21:48:35 +00:00
Federico Mena Quintero
72868800d7 Source files moved from src/ to gdk-pixbuf/, to be consistent with other
1999-12-02  Federico Mena Quintero  <federico@redhat.com>

	Source files moved from src/ to gdk-pixbuf/, to be consistent with
	other libraries.

	* doc/Makefile.am: Modified for the new source directory.

	* configure.in: Likewise.

	* Makefile.am: Likewise.

	* autogen.sh: Likewise.

	* gdk-pixbuf/Makefile.am: Likewise.
1999-12-02 23:02:56 +00:00
Federico Mena Quintero
25a8142429 #include <config.h>, and fix includes.
1999-12-02  Federico Mena Quintero  <federico@redhat.com>

	* src/testpixbuf.c: #include <config.h>, and fix includes.

	* src/testpixbuf-drawable.c: #include <config.h>, and fix includes.

	* src/io-xpm.c: Fix includes.

	* src/io-tiff.c: Fix includes.

	* src/io-ras.c: Fix includes, and do not include more stuff than needed.

	* src/io-pnm.c: Fix inlcudes, and do not include more stuff than needed.

	* src/io-png.c: Fix includes.

	* src/io-ico.c: Fix includes, and do not include more stuff than needed.

	* src/io-gif.c: Fix includes, and do not include more stuff than needed.

	* src/io-bmp.c: Fix includes, and do not include more stuff than needed.

	* src/gnome-canvas-pixbuf.c: Fix includes.

	* src/gdk-pixbuf.c: Fix includes.

	* src/gdk-pixbuf-util.c: Fix includes.

	* src/gdk-pixbuf-render.c: Fix includes.

	* src/gdk-pixbuf-io.h: Fix includes.

	* src/gdk-pixbuf-drawable.c: Fix includes.

	* src/gdk-pixbuf-drawable.h: Use angle brackets for the gdk-pixbuf
	include files.

	* src/gdk-pixbuf-data.c: Fix includes.

	* src/gdk-pixbuf-loader.c: #include <config.h>

	* src/gdk-pixbuf-loader.h: Use angle brackets for the gdk-pixbuf
	include files.

	* src/Makefile.am: Commented out the gdk-pixbuf-drawable stuff,
	since it is not finished.
1999-12-02 20:44:43 +00:00
Federico Mena Quintero
e026570571 New file with utility and convenience functions for pixbufs.
1999-12-02  Federico Mena Quintero  <federico@redhat.com>

	* src/gdk-pixbuf-util.c: New file with utility and convenience
	functions for pixbufs.

	* src/Makefile.am (libgdk_pixbuf_la_SOURCES): Added gdk-pixbuf-util.c.

	* doc/gdk-pixbuf-sections.txt: Added section for utility functions.

	* doc/Makefile.am (tmpl_sources): Added tmpl/util.sgml.

	* doc/gdk-pixbuf.sgml: Added the utilities section.

	* doc/tmpl/util.sgml: Documentation for the utility functions.
1999-12-02 17:45:47 +00:00
Havoc Pennington
1284c3fc42 Add AM_CONDITIONAL for inside gnome-libs
1999-11-30  Havoc Pennington  <hp@pobox.com>

* configure.in: Add AM_CONDITIONAL for inside gnome-libs

* src/Makefile.am: conditionalize GnomeCanvasPixbuf
1999-11-30 17:53:02 +00:00
Federico Mena Quintero
f5b3df2956 Uncomment the GnomeCanvasPixbuf sources. This should be made conditional,
1999-11-29  Federico Mena Quintero  <federico@redhat.com>

	* src/Makefile.am: Uncomment the GnomeCanvasPixbuf sources.  This
	should be made conditional, not blindly commented out.
1999-11-29 20:36:55 +00:00
Jonathan Blandford
4aae90b5b1 Added another loader from Arjan to handle .ico files. Cool.
1999-11-29  Jonathan Blandford  <jrb@redhat.com>

        * src/Makefile.am (ICO_LIB): Added another loader from Arjan to
	handle .ico files.  Cool.
1999-11-29 16:49:39 +00:00
Jonathan Blandford
43bbf78a29 Removed #PRAGMA } from headers. Also, make compile if you don't have it
1999-11-23  Jonathan Blandford  <jrb@redhat.com>

	* Removed #PRAGMA } from headers.  Also, make compile if you don't
	have it installed, already.
1999-11-23 16:04:13 +00:00
Elliot Lee
c8df698460 Try to fix gdk-pixbuf a bit better.
Try to fix gdk-pixbuf a bit better.
1999-11-23 01:25:28 +00:00
Havoc Pennington
1bfdff1dcb Patch from Paul Fisher <pnfisher@redhat.com> adds all -lgdk-pixbuf and all
1999-11-22  Havoc Pennington  <hp@pobox.com>

* src/Makefile.am (GDK_PIXBUF_LIBS): Patch from Paul Fisher
<pnfisher@redhat.com> adds all -lgdk-pixbuf and all other
dependencies to LIBADD variables for loadable modules. Necessary
for a Java dynamic loading thing to be able to figure it out.
1999-11-22 23:11:05 +00:00
Jonathan Blandford
89e63f0595 more changes 1999-11-22 18:46:20 +00:00
Jonathan Blandford
0652653292 added io-bmp from Arjan <arjan@fenrus.demon.nl>
1999-11-21  Jonathan Blandford  <jrb@redhat.com>

        * src/gdk-pixbuf-io.c: added io-bmp from Arjan
        <arjan@fenrus.demon.nl>
1999-11-21 21:28:28 +00:00
Michael Zucchi
7b4d53a529 Rework/reorder of the code. Each case has been separated into another
1999-11-20  Michael Zucchi  <zucchi@zedzone.mmc.com.au>

        * src/gdk-pixbuf-drawable.c (gdk_pixbuf_from_drawable_core):
        Rework/reorder of the code.  Each case has been separated into
        another function; its big but it should be quick.
        gdk_pixbuf_rgba_from_drawable() will now return a pixbuf with
        opaque alpha information.  Not all depths/formats have been
        tested, but 8, 15/16 and 24 (alinged 32) should work ok.
1999-11-20 05:39:54 +00:00
Cody Russell
e4df9fa95b Added testpixbuf-drawable test program 1999-11-13 17:28:11 +00:00
Michael Fulbright
78141c328f Fixed up testpixbuf.c to simulate downloading at certain speed, set
env var TBF_KBPS=n to get n kBytes/sec.

Dr Mike
1999-11-09 23:51:35 +00:00
Havoc Pennington
9495faccfc build the gdk-pixbuf-drawable stuff.
1999-11-09  Havoc Pennington  <hp@pobox.com>

* src/Makefile.am (libgdk_pixbuf_la_SOURCES): build the
gdk-pixbuf-drawable stuff.
1999-11-09 22:23:35 +00:00
Jonathan Blandford
b71e53b222 new file from Arjan van de Ven <arjan@fenrus.demon.nl> to begin the ras
1999-11-05  Jonathan Blandford  <jrb@redhat.com>

	* src/io-ras.c (image_load): new file from Arjan van de Ven
	<arjan@fenrus.demon.nl> to begin the ras loader.
1999-11-05 20:37:08 +00:00
Havoc Pennington
38abc0dee0 Use libart-config correctly; find gnome-config separately. Fix GNOME_LIBS
1999-11-04  Havoc Pennington  <hp@pobox.com>

* configure.in: Use libart-config correctly; find gnome-config
separately. Fix GNOME_LIBS to be correct in "no gnome installed
yet" case.

* src/Makefile.am: Link to GNOME_LIBS instead of a hardcoded
library list.

Patch untested in the inside-gnome-libs case, I need to commit
then check out to the gnome-libs I'm using.
1999-11-04 20:04:02 +00:00
Arturo Espinosa
d5015025ba Integrate gtk-doc, part 1; need to finish it at home - Federico 1999-11-04 01:10:05 +00:00
Jonathan Blandford
5ee4989714 Remove dependency on lib*gif!!!!
1999-11-03  Jonathan Blandford  <jrb@redhat.com>

	* src/Makefile.am (libpixbuf_gif_la_LIBADD): Remove dependency on
	lib*gif!!!!

Also, some code cleanups to io-gif
1999-11-03 22:27:59 +00:00
Jonathan Blandford
53d5c49dbb Now progressive gif loading works! It's a little slow though. )-:
1999-11-02  Jonathan Blandford  <jrb@redhat.com>

	* src/io-gif.c (gif_main_loop): Now progressive gif loading works!
	It's a little slow though. )-:
1999-11-02 23:49:22 +00:00
Federico Mena Quintero
69fb59dd3b Start of the pixbuf canvas item. Drawing affines seem to work. Bounding
1999-11-01  Federico Mena Quintero  <federico@redhat.com>

	* src/gnome-canvas-pixbuf.c: Start of the pixbuf canvas item.
	Drawing affines seem to work.  Bounding box is fubared.  ::point()
	is not implemented.  This is a work in progress.

	* src/Makefile.am: Added gnome-canvas-pixbuf.[ch] to the list of
	sources.

	* configure.in: Sigh.  We need to link in libgnomeui for the
	canvas stuff.  This mess will disappear when gdk-pixbuf gets
	folded into gnome-libs.
1999-11-02 01:50:06 +00:00
Federico Mena Quintero
0eb096334e New function to threshold a pixbuf's alpha channel into a bitmap.
1999-10-27  Federico Mena Quintero  <federico@redhat.com>

	* src/gdk-pixbuf-render.c (gdk_pixbuf_render_threshold_alpha): New
	function to threshold a pixbuf's alpha channel into a bitmap.

	* src/gdk-pixbuf.c (gdk_pixbuf_new): Fixed so that it will
	contemplate future extensions to ArtPixBuf's formats.

	* src/io-png.c (png_info_callback): Use the new API of gdk_pixbuf_new().

	* src/gdk-pixbuf.h (gdk_pixbuf_get_height): Added some convenience
	macros to fetch the ArtPixBuf's fields.
1999-10-27 23:36:44 +00:00
Jonathan Blandford
e5dfd2f5da more work on the incremental loading 1999-10-26 20:43:39 +00:00
Jonathan Blandford
cfc2866019 started work on the loader 1999-10-26 03:42:14 +00:00
Federico Mena Quintero
d8ce1977dd Bumped version number to 0.3.
1999-10-20  Federico Mena Quintero  <federico@redhat.com>

	* configure.in: Bumped version number to 0.3.

	* src/Makefile.am (lbgdk_pixbuf_la_LDFLAGS): Added a libtool
	version number for the library.
1999-10-20 22:15:13 +00:00
Federico Mena Quintero
7ef5dec32d Removed the unref_fn field. Now all memory management of the buffer is
1999-10-20  Federico Mena Quintero  <federico@redhat.com>

	* src/gdk-pixbuf.h (GdkPixbuf): Removed the unref_fn field.  Now
	all memory management of the buffer is done by libart.

	* src/gdk-pixbuf.c (gdk_pixbuf_unref): Do destruction here.
	Removed gdk_pixbuf_destroy, gdk_pixbuf_duplicate.

	* src/gdk-pixbuf-data.c (gdk_pixbuf_new_from_data): Implemented in
	terms of the libart functions.  Removed the old code.

	* src/gdk-pixbuf-io.c (image_handler_load): Removed the save
	symbols.  Saving will not be implemented in GdkPixbuf.

	* src/io-gif.c: Removed the saving stub.
	(image_load): Fixed memory management to fail gracefully if we run
	out of memory while loading the image.  Close the gif file when we
	are done.  This still needs more error handling for the DGif
	functions.

	* src/io-jpeg.c (image_load): Some robustness fixes.

	* src/io-png.c: Removed the saving stuff.
	(image_load): Some memory management fixes.

	* src/io-tiff.c (image_load): Ditto.

	* src/io-xpm.c (pixbuf_create_from_xpm): Ditto.
1999-10-20 21:20:49 +00:00
Havoc Pennington
3b9835b5bb Use AM_PATH_GLIB instead of glib-config directly
1999-10-18  Havoc Pennington  <hp@pobox.com>

* configure.in: Use AM_PATH_GLIB instead of glib-config directly

* src/Makefile.am: Re-enable testpixbuf with GTK_CFLAGS/GTK_LIBS
1999-10-18 19:11:35 +00:00
Havoc Pennington
748c5c5f0c Remove "macros"
1999-10-18  Havoc Pennington  <hp@pobox.com>

* Makefile.am (SUBDIRS): Remove "macros"

* configure.in: Don't use GNOME_INIT, handle case where we are
inside gnome-libs. AM_PATH_GTK for the GIF test

* src/Makefile.am: Change flags to work without libgnomeui,
comment out testpixbuf for now
1999-10-18 18:58:15 +00:00
Federico Mena Quintero
da95365f93 Use $GTK_LIBS as the extra libs when checking for libgif/libungif, as they
1999-10-18  Federico Mena Quintero  <federico@redhat.com>

	* configure.in: Use $GTK_LIBS as the extra libs when checking for
	libgif/libungif, as they need the X libraries.  Fixes bug #2472.
1999-10-18 18:47:17 +00:00
Michael Fulbright
b55008d197 Added support for loading pixbuf from rgb data in memory. Augmented
test program to demonstrate its use.

Need to add support for an alpha channel next.

Dr Mike <drmike@redhat.com>
1999-10-08 23:01:05 +00:00
Cody Russell
2453bc3cca I've temporarily disabled compilation of the gdk-pixbuf-drawable module.
Federico pointed out some problems with it. It'll be re-enabled when those
are fixed.
1999-10-07 18:04:04 +00:00
Cody Russell
bab6969765 Added gdk-pixbuf-drawable to Makefile.am so it is compiled into
libgdk_pixbuf.
1999-10-07 06:16:16 +00:00
Arturo Espinosa
b11177d6b0 DEPENDENCIES is not needed for the test program - Federico 1999-09-23 04:58:55 +00:00
Michael Zucchi
61f0ede138 Only build the relevant loaders which require extra libraries if we
1999-07-26  Michael Zucchi  <mzucchi@denr.sa.gov.au>

        * src/Makefile.am (*_LIB): Only build the relevant loaders which
        require extra libraries if we actually have those libraries.
1999-07-26 06:39:39 +00:00
Mark Crichton
6992607bb0 Ok, we'll try this again.
Ok, we'll try this again.

io-xpm.c: Fixed.  Now actually loads XPMs instead of a big black blob.

configure.in : yes, I know it was broken.  It wasn't finished quite yet (I
always have larger fish to fry)

Oh, and if anyone touches this module again without emailing the people in
AUTHORS, I will go ballistic (after spending precious time figuring out why
this commit never happened the 1st time I tried...)
1999-07-13 01:01:14 +00:00
Manish Singh
06c4493ef6 Fun automake fixins
-Yosh
1999-07-12 20:52:05 +00:00
Mark Crichton
834de2994e Still working on getting the system working. Nearing release, and one
Still working on getting the system working.  Nearing release, and one little
xpm bug to hunt down still.
1999-07-12 20:27:50 +00:00
Mark Crichton
38f428304e Some changes to do a "proper" install.
Some changes to do a "proper" install.

Makefile doesnt work, however.
1999-07-12 05:40:02 +00:00
Mark Crichton
68f895bd68 Massive update...
Massive update...

gdk-pixbuf-io.c: Fixed to compile and run in a very crippled state.

io-bpm.c: Rough start on a WIN/OS2 BMP loader

testpixbuf.c: Really crude test program for gdk-pixbuf

io-gif.c: Fixed some boneheaded uninitalized variables causing the
loader to choke
1999-07-08 16:04:16 +00:00
Mark Crichton
8d072a4f58 Now we have very rudimentary tiff support.
Now we have very rudimentary tiff support.

I should use the loading logic in the GIMP plugin...
1999-07-01 06:59:07 +00:00
Mark Crichton
6cf7477093 Added some io-* loaders to the Makefile.am
Added some io-* loaders to the Makefile.am
1999-07-01 03:45:59 +00:00
Michael Zucci
a0b1a437cc Added loader for jpeg->RGB.
Based really loosely on imlib's io-jpeg.c
1999-06-29 11:13:31 +00:00
Arturo Espinosa
ce87813af6 Stuff I did last night while watching TV 1999-01-05 21:27:07 +00:00
Arturo Espinosa
249f6c5326 Initial revision 1999-01-04 23:53:12 +00:00