gimp/libgimpmath/gimpvector.h
Sven Neumann 757017a8e2 bumped version number to 1.3.1. Require Glib/GTK+-1.3.11 and Pango-0.22.
2001-11-23  Sven Neumann  <sven@gimp.org>

	* configure.in: bumped version number to 1.3.1.
	Require Glib/GTK+-1.3.11 and Pango-0.22. Removed GDK_DISABLE_COMPAT_H
	and GTK_DISABLE_COMPAT_H from our default CFLAGS since they don't
	exist any longer.

	* RELEASE-TO-CVS.patch: removed since the glib/gtk+ API is supposed to
	be frozen now.

	* HACKING: removed reference to RELEASE-TO-CVS.patch

	* app/gui/menus.c
	* app/tools/gimptexttool.c: applied RELEASE-TO-CVS.patch to conform
	to the new GTK+/Pango API.

	* app/core/Makefile.am: generate marshallers with gimp_marshal prefix.

	* app/core/gimpmarshal.list: added all marshallers we use.

	* app/core/gimpmarshal.[ch]: regenerated.

	* app/[lots of .c files]: use gimp_marshal_* for all marshallers.

	* data/images/
	* app/app_procs.c
	* app/gui/splash.c:

	* libgimpbase/Makefile.am
	* libgimpbase/gimpbase.h
	* libgimpbase/gimputils.[ch]: removed since they are no longer needed.

	* app/gimprc.c
	* plug-ins/common/ps.c
	* plug-ins/gdyntext/gdyntext.c
	* plug-ins/gdyntext/gdyntextcompat.c
	* plug-ins/gfig/gfig.c
	* plug-ins/gflare/gflare.c
	* plug-ins/script-fu/script-fu-scripts.c: use glib functions instead
	of gimp_strescape() and gimpstrcompress().

	* cleaned up all header files: use G_BEGIN_DECLS/G_END_DECLS, declared
	all _get_type function as G_GNUC_CONST.

	* tools/pdbgen/enumcode.pl
	* tools/pdbgen/lib.pl: make them generate header files using
	G_BEGIN_DECLS/G_END_DECLS.

	* pixmaps/Makefile.am
	* pixmaps/wilber3.xpm: removed ...
	* data/images/tips_wilber.png: ... and added here as PNG

	* app/gui/tips-dialog.c: load the Wilber on demand using GdkPixbuf.

	* data/images/gimp_splash.ppm: removed ...
	* data/images/gimp_splash.png: ... and added as PNG

	* app/app_procs.c
	* app/gui/splash.[ch]: load the splash image using GdkPixbuf.

	* app/gui/about-dialog.c: sink the GtkPreview.
2001-11-22 23:46:13 +00:00

156 lines
5.5 KiB
C

/* LIBGIMP - The GIMP Library
* Copyright (C) 1995-1997 Peter Mattis and Spencer Kimball
*
* gimpvector.h
*
* The gimp_vector* functions were taken from:
* GCK - The General Convenience Kit
* Copyright (C) 1996 Tom Bech
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the
* Free Software Foundation, Inc., 59 Temple Place - Suite 330,
* Boston, MA 02111-1307, USA.
*/
#ifndef __GIMP_VECTOR_H__
#define __GIMP_VECTOR_H__
G_BEGIN_DECLS
/* For information look into the C source or the html documentation */
/* Two dimensional vector functions */
/* ================================ */
gdouble gimp_vector2_inner_product (GimpVector2 *vector1,
GimpVector2 *vector2);
gdouble gimp_vector2_inner_product_val (GimpVector2 vector1,
GimpVector2 vector2);
GimpVector2 gimp_vector2_cross_product (GimpVector2 *vector1,
GimpVector2 *vector2);
GimpVector2 gimp_vector2_cross_product_val (GimpVector2 vector1,
GimpVector2 vector2);
gdouble gimp_vector2_length (GimpVector2 *vector);
gdouble gimp_vector2_length_val (GimpVector2 vector);
void gimp_vector2_normalize (GimpVector2 *vector);
GimpVector2 gimp_vector2_normalize_val (GimpVector2 vector);
void gimp_vector2_mul (GimpVector2 *vector,
gdouble factor);
GimpVector2 gimp_vector2_mul_val (GimpVector2 vector,
gdouble factor);
void gimp_vector2_sub (GimpVector2 *result,
GimpVector2 *vector1,
GimpVector2 *vector2);
GimpVector2 gimp_vector2_sub_val (GimpVector2 vector1,
GimpVector2 vector2);
void gimp_vector2_set (GimpVector2 *vector,
gdouble x,
gdouble y);
GimpVector2 gimp_vector2_new_val (gdouble x,
gdouble y);
void gimp_vector2_add (GimpVector2 *result,
GimpVector2 *vector1,
GimpVector2 *vector2);
GimpVector2 gimp_vector2_add_val (GimpVector2 vector1,
GimpVector2 vector2);
void gimp_vector2_neg (GimpVector2 *vector);
GimpVector2 gimp_vector2_neg_val (GimpVector2 vector);
void gimp_vector2_rotate (GimpVector2 *vector,
gdouble alpha);
GimpVector2 gimp_vector2_rotate_val (GimpVector2 vector,
gdouble alpha);
/* Three dimensional vector functions */
/* ================================== */
gdouble gimp_vector3_inner_product (GimpVector3 *vector1,
GimpVector3 *vector2);
gdouble gimp_vector3_inner_product_val (GimpVector3 vector1,
GimpVector3 vector2);
GimpVector3 gimp_vector3_cross_product (GimpVector3 *vector1,
GimpVector3 *vector2);
GimpVector3 gimp_vector3_cross_product_val (GimpVector3 vector1,
GimpVector3 vector2);
gdouble gimp_vector3_length (GimpVector3 *vector);
gdouble gimp_vector3_length_val (GimpVector3 vector);
void gimp_vector3_normalize (GimpVector3 *vector);
GimpVector3 gimp_vector3_normalize_val (GimpVector3 vector);
void gimp_vector3_mul (GimpVector3 *vector,
gdouble factor);
GimpVector3 gimp_vector3_mul_val (GimpVector3 vector,
gdouble factor);
void gimp_vector3_sub (GimpVector3 *result,
GimpVector3 *vector1,
GimpVector3 *vector2);
GimpVector3 gimp_vector3_sub_val (GimpVector3 vector1,
GimpVector3 vector2);
void gimp_vector3_set (GimpVector3 *vector,
gdouble x,
gdouble y,
gdouble z);
GimpVector3 gimp_vector3_new (gdouble x,
gdouble y,
gdouble z);
void gimp_vector3_add (GimpVector3 *result,
GimpVector3 *vector1,
GimpVector3 *vector2);
GimpVector3 gimp_vector3_add_val (GimpVector3 vector1,
GimpVector3 vector2);
void gimp_vector3_neg (GimpVector3 *vector);
GimpVector3 gimp_vector3_neg_val (GimpVector3 vector);
void gimp_vector3_rotate (GimpVector3 *vector,
gdouble alpha,
gdouble beta,
gdouble gamma);
GimpVector3 gimp_vector3_rotate_val (GimpVector3 vector,
gdouble alpha,
gdouble beta,
gdouble gamma);
/* 2d <-> 3d Vector projection functions */
/* ===================================== */
void gimp_vector_2d_to_3d (gint sx,
gint sy,
gint w,
gint h,
gint x,
gint y,
GimpVector3 *vp,
GimpVector3 *p);
GimpVector3 gimp_vector_2d_to_3d_val (gint sx,
gint sy,
gint w,
gint h,
gint x,
gint y,
GimpVector3 vp,
GimpVector3 p);
void gimp_vector_3d_to_2d (gint sx,
gint sy,
gint w,
gint h,
gdouble *x,
gdouble *y,
GimpVector3 *vp,
GimpVector3 *p);
G_END_DECLS
#endif /* __GIMP_VECTOR_H__ */