Commit Graph

23 Commits

Author SHA1 Message Date
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
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
Federico Mena Quintero
1839240c72 0.8 - Federico 2000-05-22 19:09:27 +00:00
Owen Taylor
e6abb4709f Add beginnings of file with detailed information about the structure and
Fri May  5 12:16:32 2000  Owen Taylor  <otaylor@redhat.com>

	* gdk-pixbuf/pixops/DETAILS: Add beginnings of file with
	detailed information about the structure and algorithms
	of pixops so people can fix it instead of breaking it.

CvS: Added Files:
2000-05-05 11:44:15 +00:00
Darin Adler
0f038c9e32 Now that Owen explained the algorithm, I think I implemented it right for
* gdk-pixbuf/pixops/pixops.c: (pixops_composite_nearest),
	(composite_pixel), (composite_line):
	* gdk-pixbuf/test-gdk-pixbuf.c: (simple_composite_test_one_type):
	Now that Owen explained the algorithm, I think I implemented it
	right for the cases where the destination pixbuf is not opaque.
	The test does seem to confirm it.
2000-05-05 02:50:24 +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
05:27:43 2000 Owen Taylor
a77a3d135d Properly offset y coordinate accordining to render_y0.
2000-04-22 05:27:43 2000  Owen Taylor  <otaylor@redhat.com>

	* gdk-pixbuf/pixops/pixops.c (pixops_scale_nearest): Properly
	offset y coordinate accordining to render_y0.

	* gdk-pixbuf/gdk-pixbuf-scale.c: Properly handle nonzero
	dest_x, dest_y.
2000-04-24 05:28:02 +00:00
Tomasz K³opczko
c1592ab52b $(LIBART_CFLAGS) replaced by $(GTK_CFLAGS) - now gdk-pixbuf compiles
2000-04-14 Tomasz K³opczko <kloczek@pld.org.pl>

	* gdk-pixbuf/pixops/makefile.am: $(LIBART_CFLAGS) replaced by
	$(GTK_CFLAGS) - now gdk-pixbuf compiles correctly.
2000-04-14 07:04:29 +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
Owen Taylor
06aed52437 Fix problem with precendence of >> and & which was keeping composite_color
2000-03-27  Owen Taylor  <otaylor@redhat.com>

	* gdk-pixbuf/pixops/pixops.c: Fix problem with
	precendence of >> and & which was keeping composite_color
	from working with non-gray images.
2000-03-28 04:49:42 +00:00
Federico Mena Quintero
79d6346057 0.6.0 - Federico 2000-02-22 00:29:00 +00:00
Owen Taylor
bddd4ca943 Fix error in scale factors for non-alpha case.
2000-02-19  Owen Taylor  <otaylor@redhat.com>

	* gdk-pixbuf/pixops/pixops.c (scale_pixel): Fix error in
	scale factors for non-alpha case.
2000-02-19 22:05:48 +00:00
Michael Meeks
45cb0268b9 By order of jrb: const patch for various bits, io-gif.c fixup for
By order of jrb:
	const patch for various bits,
	io-gif.c fixup for animations.
2000-02-03 23:36:14 +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
Federico Mena Quintero
706e553eb7 Bumped version number to 0.5.0.
2000-01-22  Federico Mena Quintero  <federico@helixcode.com>

	* configure.in: Bumped version number to 0.5.0.

	* gdk-pixbuf/pixops/timescale.c (dump_array): Removed unused variable.
	(main): Return 0.

	* gdk-pixbuf/pixops/pixops.c (pixops_composite_color_nearest): Put
	parentheses around + in a shift to remove a compiler warning.
	(pixops_process): Likewise.

	Patch from Ross Golder <rossigee@bigfoot.com> to create an RPM
	specfile:

	* configure.in: Added gdk-pixbuf.spec to AC_OUTPUT.

	* Makefile.am (EXTRA_DIST): Added gdk-pixbuf.spec.in
2000-01-22 23:13:02 +00:00
Jacob Berkman
64f06bf079 added to
000-01-11  Jacob Berkman  <jacob@helixcode.com>

* gdk-pixbuf/pixops/Makefile.am (INCLUDES): added
 to
2000-01-11 17:31:17 +00:00
Owen Taylor
6aba663522 Fixed src_channels/dest_channels confusion. (Again caught by Tomas Ogren's
2000-01-05  Owen Taylor  <otaylor@redhat.com>

	* gdk-pixbuf/pixops/pixops.c: Fixed src_channels/dest_channels
	confusion. (Again caught by Tomas Ogren's Purify)
2000-01-07 19:48:37 +00:00
Owen Taylor
4bd671a87b Fix computation of end of run indices.
2000-01-05  Owen Taylor  <otaylor@redhat.com>

	* gdk-pixbuf/pixops/pixops.c (pixops_process): Fix computation of end of run indices.

	* gdk-pixbuf/pixops/pixops.c: Fix double increments when dest_channels == 4.
	  (Pointed out by Tomas Ogren)
2000-01-07 15:24:00 +00:00
Elliot Lee
a0a1584106 Link with -lm (to get 'ceil' function)
* gdk-pixbuf/pixops/Makefile.am: Link with -lm (to get 'ceil' function)
2000-01-06 02:53:13 +00:00
Owen Taylor
65de04cdb8 Added scaling functions into gtk-doc framework.
2000-01-05  Owen Taylor  <otaylor@redhat.com>

	* doc/Makefile.am doc/gdk-pixbuf-sections.txt
	  doc/gdk-pixbuf.sgml doc/tmpl/scaling.sgml:
	Added scaling functions into gtk-doc framework.

	* gdk-pixbuf/gdk-pixbuf-scale.c: Documentation fixes.

	* gdk-pixbuf/testpixbuf-scale.c (expose_cb): Simplify a bit.

	* gdk-pixbuf/pixops/pixops.c (pixops_composite_color): Return
	immediately if scale_x or scale_y is 0.
2000-01-06 01:08:10 +00:00
Owen Taylor
bba95de158 quick fix for initializing arrays in benchmark.
2000-01-05  Owen Taylor  <otaylor@redhat.com>

	* gdk-pixbuf/pixops/timescale.c: quick fix for initializing
	arrays in benchmark.
2000-01-05 23:57:02 +00:00
Owen Taylor
cc76a598ba Added a README with a TODO and some explainations of the algorithms.
2000-01-05  Owen Taylor  <otaylor@redhat.com>

	* gdk-pixbuf/pixops/README: Added a README with a TODO
	and some explainations of the algorithms.

	* gdk-pixbuf/testpixbuf-scale.c: Set a background pixmap of None
	to reduce flashing when resizing.
2000-01-05 22:49:43 +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