summaryrefslogtreecommitdiffstats
path: root/devel-docs/libgimpmath
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-19 03:13:10 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-19 03:13:10 +0000
commit3c57dd931145d43f2b0aef96c4d178135956bf91 (patch)
tree3de698981e9f0cc2c4f9569b19a5f3595e741f6b /devel-docs/libgimpmath
parentInitial commit. (diff)
downloadgimp-3c57dd931145d43f2b0aef96c4d178135956bf91.tar.xz
gimp-3c57dd931145d43f2b0aef96c4d178135956bf91.zip
Adding upstream version 2.10.36.upstream/2.10.36
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to '')
-rw-r--r--devel-docs/libgimpmath/Makefile.am49
-rw-r--r--devel-docs/libgimpmath/Makefile.in1097
-rw-r--r--devel-docs/libgimpmath/html/api-index-full.html438
-rw-r--r--devel-docs/libgimpmath/html/home.pngbin0 -> 256 bytes
-rw-r--r--devel-docs/libgimpmath/html/index.html47
-rw-r--r--devel-docs/libgimpmath/html/left-insensitive.pngbin0 -> 395 bytes
-rw-r--r--devel-docs/libgimpmath/html/left.pngbin0 -> 262 bytes
-rw-r--r--devel-docs/libgimpmath/html/libgimpmath-GimpMD5.html102
-rw-r--r--devel-docs/libgimpmath/html/libgimpmath-GimpMath.html340
-rw-r--r--devel-docs/libgimpmath/html/libgimpmath-GimpMatrix.html1373
-rw-r--r--devel-docs/libgimpmath/html/libgimpmath-GimpVector.html2219
-rw-r--r--devel-docs/libgimpmath/html/libgimpmath.devhelp2127
-rw-r--r--devel-docs/libgimpmath/html/pt01.html47
-rw-r--r--devel-docs/libgimpmath/html/right-insensitive.pngbin0 -> 373 bytes
-rw-r--r--devel-docs/libgimpmath/html/right.pngbin0 -> 261 bytes
-rw-r--r--devel-docs/libgimpmath/html/style.css530
-rw-r--r--devel-docs/libgimpmath/html/up-insensitive.pngbin0 -> 374 bytes
-rw-r--r--devel-docs/libgimpmath/html/up.pngbin0 -> 260 bytes
-rw-r--r--devel-docs/libgimpmath/libgimpmath-docs.sgml47
-rw-r--r--devel-docs/libgimpmath/libgimpmath-overrides.txt0
-rw-r--r--devel-docs/libgimpmath/libgimpmath-sections.txt120
-rw-r--r--devel-docs/libgimpmath/libgimpmath.types0
-rw-r--r--devel-docs/libgimpmath/version.in1
23 files changed, 6537 insertions, 0 deletions
diff --git a/devel-docs/libgimpmath/Makefile.am b/devel-docs/libgimpmath/Makefile.am
new file mode 100644
index 0000000..b9352b4
--- /dev/null
+++ b/devel-docs/libgimpmath/Makefile.am
@@ -0,0 +1,49 @@
+## Process this file with automake to produce Makefile.in
+
+# The name of the module.
+DOC_MODULE = libgimpmath
+
+# The top-level SGML file.
+DOC_MAIN_SGML_FILE = $(DOC_MODULE)-docs.sgml
+
+# The directory containing the source code.
+DOC_SOURCE_DIR = $(top_srcdir)/$(DOC_MODULE)
+
+# Extra options to pass to gtkdoc-scangobj
+SCANGOBJ_OPTIONS =
+
+# Extra options to supply to gtkdoc-scan
+SCAN_OPTIONS =
+
+# Extra options to supply to gtkdoc-mkdb
+MKDB_OPTIONS = --sgml-mode --output-format=xml --name-space=gimp
+
+# Extra options to supply to gtkdoc-fixref
+FIXXREF_OPTIONS =
+
+# Used for dependencies
+HFILE_GLOB = $(DOC_SOURCE_DIR)/*.h
+CFILE_GLOB = $(DOC_SOURCE_DIR)/*.c
+
+# Header files to ignore when scanning
+IGNORE_HFILES =
+
+# Images to copy into HTML directory
+HTML_IMAGES=
+
+# Extra SGML files that are included by $(DOC_MAIN_SGML_FILE)
+content_files =
+
+# Other files to distribute
+extra_files =
+
+# CFLAGS and LDFLAGS for compiling scan program. Only needed
+# if $(DOC_MODULE).types is non-empty.
+GTKDOC_CFLAGS =
+GTKDOC_LIBS =
+
+
+include $(top_srcdir)/gtk-doc.make
+
+# Other files to distribute
+EXTRA_DIST += version.in
diff --git a/devel-docs/libgimpmath/Makefile.in b/devel-docs/libgimpmath/Makefile.in
new file mode 100644
index 0000000..d410801
--- /dev/null
+++ b/devel-docs/libgimpmath/Makefile.in
@@ -0,0 +1,1097 @@
+# Makefile.in generated by automake 1.16.3 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994-2020 Free Software Foundation, Inc.
+
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+@SET_MAKE@
+
+# -*- mode: makefile -*-
+#
+# gtk-doc.make - make rules for gtk-doc
+# Copyright (C) 2003 James Henstridge
+# 2004-2007 Damon Chaplin
+# 2007-2017 Stefan Sauer
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program 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 General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+####################################
+# Everything below here is generic #
+####################################
+VPATH = @srcdir@
+am__is_gnu_make = { \
+ if test -z '$(MAKELEVEL)'; then \
+ false; \
+ elif test -n '$(MAKE_HOST)'; then \
+ true; \
+ elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+ true; \
+ else \
+ false; \
+ fi; \
+}
+am__make_running_with_option = \
+ case $${target_option-} in \
+ ?) ;; \
+ *) echo "am__make_running_with_option: internal error: invalid" \
+ "target option '$${target_option-}' specified" >&2; \
+ exit 1;; \
+ esac; \
+ has_opt=no; \
+ sane_makeflags=$$MAKEFLAGS; \
+ if $(am__is_gnu_make); then \
+ sane_makeflags=$$MFLAGS; \
+ else \
+ case $$MAKEFLAGS in \
+ *\\[\ \ ]*) \
+ bs=\\; \
+ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
+ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \
+ esac; \
+ fi; \
+ skip_next=no; \
+ strip_trailopt () \
+ { \
+ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
+ }; \
+ for flg in $$sane_makeflags; do \
+ test $$skip_next = yes && { skip_next=no; continue; }; \
+ case $$flg in \
+ *=*|--*) continue;; \
+ -*I) strip_trailopt 'I'; skip_next=yes;; \
+ -*I?*) strip_trailopt 'I';; \
+ -*O) strip_trailopt 'O'; skip_next=yes;; \
+ -*O?*) strip_trailopt 'O';; \
+ -*l) strip_trailopt 'l'; skip_next=yes;; \
+ -*l?*) strip_trailopt 'l';; \
+ -[dEDm]) skip_next=yes;; \
+ -[JT]) skip_next=yes;; \
+ esac; \
+ case $$flg in \
+ *$$target_option*) has_opt=yes; break;; \
+ esac; \
+ done; \
+ test $$has_opt = yes
+am__make_dryrun = (target_option=n; $(am__make_running_with_option))
+am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
+pkgdatadir = $(datadir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@PACKAGE@
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
+INSTALL_HEADER = $(INSTALL_DATA)
+transform = $(program_transform_name)
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+build_triplet = @build@
+host_triplet = @host@
+subdir = devel-docs/libgimpmath
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \
+ $(top_srcdir)/m4macros/alsa.m4 \
+ $(top_srcdir)/m4macros/ax_compare_version.m4 \
+ $(top_srcdir)/m4macros/ax_cxx_compile_stdcxx.m4 \
+ $(top_srcdir)/m4macros/ax_gcc_func_attribute.m4 \
+ $(top_srcdir)/m4macros/ax_prog_cc_for_build.m4 \
+ $(top_srcdir)/m4macros/ax_prog_perl_version.m4 \
+ $(top_srcdir)/m4macros/detectcflags.m4 \
+ $(top_srcdir)/m4macros/pythondev.m4 $(top_srcdir)/configure.ac
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+ $(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
+mkinstalldirs = $(install_sh) -d
+CONFIG_HEADER = $(top_builddir)/config.h
+CONFIG_CLEAN_FILES = version
+CONFIG_CLEAN_VPATH_FILES =
+AM_V_P = $(am__v_P_@AM_V@)
+am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
+am__v_P_0 = false
+am__v_P_1 = :
+AM_V_GEN = $(am__v_GEN_@AM_V@)
+am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
+am__v_GEN_0 = @echo " GEN " $@;
+am__v_GEN_1 =
+AM_V_at = $(am__v_at_@AM_V@)
+am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
+am__v_at_0 = @
+am__v_at_1 =
+SOURCES =
+DIST_SOURCES =
+am__can_run_installinfo = \
+ case $$AM_UPDATE_INFO_DIR in \
+ n|no|NO) false;; \
+ *) (install-info --version) >/dev/null 2>&1;; \
+ esac
+am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
+am__DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/version.in \
+ $(top_srcdir)/gtk-doc.make
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+AA_LIBS = @AA_LIBS@
+ACLOCAL = @ACLOCAL@
+ALLOCA = @ALLOCA@
+ALL_LINGUAS = @ALL_LINGUAS@
+ALSA_CFLAGS = @ALSA_CFLAGS@
+ALSA_LIBS = @ALSA_LIBS@
+ALTIVEC_EXTRA_CFLAGS = @ALTIVEC_EXTRA_CFLAGS@
+AMTAR = @AMTAR@
+AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
+APPSTREAM_UTIL = @APPSTREAM_UTIL@
+AR = @AR@
+AS = @AS@
+ATK_CFLAGS = @ATK_CFLAGS@
+ATK_LIBS = @ATK_LIBS@
+ATK_REQUIRED_VERSION = @ATK_REQUIRED_VERSION@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+BABL_CFLAGS = @BABL_CFLAGS@
+BABL_LIBS = @BABL_LIBS@
+BABL_REQUIRED_VERSION = @BABL_REQUIRED_VERSION@
+BUG_REPORT_URL = @BUG_REPORT_URL@
+BUILD_EXEEXT = @BUILD_EXEEXT@
+BUILD_OBJEXT = @BUILD_OBJEXT@
+BZIP2_LIBS = @BZIP2_LIBS@
+CAIRO_CFLAGS = @CAIRO_CFLAGS@
+CAIRO_LIBS = @CAIRO_LIBS@
+CAIRO_PDF_CFLAGS = @CAIRO_PDF_CFLAGS@
+CAIRO_PDF_LIBS = @CAIRO_PDF_LIBS@
+CAIRO_PDF_REQUIRED_VERSION = @CAIRO_PDF_REQUIRED_VERSION@
+CAIRO_REQUIRED_VERSION = @CAIRO_REQUIRED_VERSION@
+CATALOGS = @CATALOGS@
+CATOBJEXT = @CATOBJEXT@
+CC = @CC@
+CCAS = @CCAS@
+CCASDEPMODE = @CCASDEPMODE@
+CCASFLAGS = @CCASFLAGS@
+CCDEPMODE = @CCDEPMODE@
+CC_FOR_BUILD = @CC_FOR_BUILD@
+CC_VERSION = @CC_VERSION@
+CFLAGS = @CFLAGS@
+CFLAGS_FOR_BUILD = @CFLAGS_FOR_BUILD@
+CPP = @CPP@
+CPPFLAGS = @CPPFLAGS@
+CPPFLAGS_FOR_BUILD = @CPPFLAGS_FOR_BUILD@
+CPP_FOR_BUILD = @CPP_FOR_BUILD@
+CXX = @CXX@
+CXXCPP = @CXXCPP@
+CXXDEPMODE = @CXXDEPMODE@
+CXXFLAGS = @CXXFLAGS@
+CYGPATH_W = @CYGPATH_W@
+DATADIRNAME = @DATADIRNAME@
+DEFS = @DEFS@
+DEPDIR = @DEPDIR@
+DESKTOP_DATADIR = @DESKTOP_DATADIR@
+DESKTOP_FILE_VALIDATE = @DESKTOP_FILE_VALIDATE@
+DLLTOOL = @DLLTOOL@
+DOC_SHOOTER = @DOC_SHOOTER@
+DSYMUTIL = @DSYMUTIL@
+DUMPBIN = @DUMPBIN@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+EGREP = @EGREP@
+EXEEXT = @EXEEXT@
+FGREP = @FGREP@
+FILE_AA = @FILE_AA@
+FILE_EXR = @FILE_EXR@
+FILE_HEIF = @FILE_HEIF@
+FILE_JP2_LOAD = @FILE_JP2_LOAD@
+FILE_JPEGXL = @FILE_JPEGXL@
+FILE_MNG = @FILE_MNG@
+FILE_PDF_SAVE = @FILE_PDF_SAVE@
+FILE_PS = @FILE_PS@
+FILE_WMF = @FILE_WMF@
+FILE_XMC = @FILE_XMC@
+FILE_XPM = @FILE_XPM@
+FONTCONFIG_CFLAGS = @FONTCONFIG_CFLAGS@
+FONTCONFIG_LIBS = @FONTCONFIG_LIBS@
+FONTCONFIG_REQUIRED_VERSION = @FONTCONFIG_REQUIRED_VERSION@
+FREETYPE2_REQUIRED_VERSION = @FREETYPE2_REQUIRED_VERSION@
+FREETYPE_CFLAGS = @FREETYPE_CFLAGS@
+FREETYPE_LIBS = @FREETYPE_LIBS@
+GDBUS_CODEGEN = @GDBUS_CODEGEN@
+GDK_PIXBUF_CFLAGS = @GDK_PIXBUF_CFLAGS@
+GDK_PIXBUF_CSOURCE = @GDK_PIXBUF_CSOURCE@
+GDK_PIXBUF_LIBS = @GDK_PIXBUF_LIBS@
+GDK_PIXBUF_REQUIRED_VERSION = @GDK_PIXBUF_REQUIRED_VERSION@
+GEGL = @GEGL@
+GEGL_CFLAGS = @GEGL_CFLAGS@
+GEGL_LIBS = @GEGL_LIBS@
+GEGL_MAJOR_MINOR_VERSION = @GEGL_MAJOR_MINOR_VERSION@
+GEGL_REQUIRED_VERSION = @GEGL_REQUIRED_VERSION@
+GETTEXT_PACKAGE = @GETTEXT_PACKAGE@
+GEXIV2_CFLAGS = @GEXIV2_CFLAGS@
+GEXIV2_LIBS = @GEXIV2_LIBS@
+GEXIV2_REQUIRED_VERSION = @GEXIV2_REQUIRED_VERSION@
+GIMP_API_VERSION = @GIMP_API_VERSION@
+GIMP_APP_VERSION = @GIMP_APP_VERSION@
+GIMP_BINARY_AGE = @GIMP_BINARY_AGE@
+GIMP_COMMAND = @GIMP_COMMAND@
+GIMP_DATA_VERSION = @GIMP_DATA_VERSION@
+GIMP_FULL_NAME = @GIMP_FULL_NAME@
+GIMP_INTERFACE_AGE = @GIMP_INTERFACE_AGE@
+GIMP_MAJOR_VERSION = @GIMP_MAJOR_VERSION@
+GIMP_MICRO_VERSION = @GIMP_MICRO_VERSION@
+GIMP_MINOR_VERSION = @GIMP_MINOR_VERSION@
+GIMP_MKENUMS = @GIMP_MKENUMS@
+GIMP_MODULES = @GIMP_MODULES@
+GIMP_PACKAGE_REVISION = @GIMP_PACKAGE_REVISION@
+GIMP_PKGCONFIG_VERSION = @GIMP_PKGCONFIG_VERSION@
+GIMP_PLUGINS = @GIMP_PLUGINS@
+GIMP_PLUGIN_VERSION = @GIMP_PLUGIN_VERSION@
+GIMP_REAL_VERSION = @GIMP_REAL_VERSION@
+GIMP_RELEASE = @GIMP_RELEASE@
+GIMP_SYSCONF_VERSION = @GIMP_SYSCONF_VERSION@
+GIMP_TOOL_VERSION = @GIMP_TOOL_VERSION@
+GIMP_UNSTABLE = @GIMP_UNSTABLE@
+GIMP_USER_VERSION = @GIMP_USER_VERSION@
+GIMP_VERSION = @GIMP_VERSION@
+GIO_CFLAGS = @GIO_CFLAGS@
+GIO_LIBS = @GIO_LIBS@
+GIO_UNIX_CFLAGS = @GIO_UNIX_CFLAGS@
+GIO_UNIX_LIBS = @GIO_UNIX_LIBS@
+GIO_WINDOWS_CFLAGS = @GIO_WINDOWS_CFLAGS@
+GIO_WINDOWS_LIBS = @GIO_WINDOWS_LIBS@
+GLIB_CFLAGS = @GLIB_CFLAGS@
+GLIB_COMPILE_RESOURCES = @GLIB_COMPILE_RESOURCES@
+GLIB_GENMARSHAL = @GLIB_GENMARSHAL@
+GLIB_LIBS = @GLIB_LIBS@
+GLIB_MKENUMS = @GLIB_MKENUMS@
+GLIB_REQUIRED_VERSION = @GLIB_REQUIRED_VERSION@
+GMODULE_NO_EXPORT_CFLAGS = @GMODULE_NO_EXPORT_CFLAGS@
+GMODULE_NO_EXPORT_LIBS = @GMODULE_NO_EXPORT_LIBS@
+GMOFILES = @GMOFILES@
+GMSGFMT = @GMSGFMT@
+GOBJECT_QUERY = @GOBJECT_QUERY@
+GREP = @GREP@
+GS_LIBS = @GS_LIBS@
+GTKDOC_CHECK = @GTKDOC_CHECK@
+GTKDOC_CHECK_PATH = @GTKDOC_CHECK_PATH@
+GTKDOC_DEPS_CFLAGS = @GTKDOC_DEPS_CFLAGS@
+GTKDOC_DEPS_LIBS = @GTKDOC_DEPS_LIBS@
+GTKDOC_MKPDF = @GTKDOC_MKPDF@
+GTKDOC_REBASE = @GTKDOC_REBASE@
+GTK_CFLAGS = @GTK_CFLAGS@
+GTK_LIBS = @GTK_LIBS@
+GTK_MAC_INTEGRATION_CFLAGS = @GTK_MAC_INTEGRATION_CFLAGS@
+GTK_MAC_INTEGRATION_LIBS = @GTK_MAC_INTEGRATION_LIBS@
+GTK_REQUIRED_VERSION = @GTK_REQUIRED_VERSION@
+GTK_UPDATE_ICON_CACHE = @GTK_UPDATE_ICON_CACHE@
+GUDEV_CFLAGS = @GUDEV_CFLAGS@
+GUDEV_LIBS = @GUDEV_LIBS@
+HARFBUZZ_CFLAGS = @HARFBUZZ_CFLAGS@
+HARFBUZZ_LIBS = @HARFBUZZ_LIBS@
+HARFBUZZ_REQUIRED_VERSION = @HARFBUZZ_REQUIRED_VERSION@
+HAVE_CXX14 = @HAVE_CXX14@
+HAVE_FINITE = @HAVE_FINITE@
+HAVE_ISFINITE = @HAVE_ISFINITE@
+HAVE_VFORK = @HAVE_VFORK@
+HOST_GLIB_COMPILE_RESOURCES = @HOST_GLIB_COMPILE_RESOURCES@
+HTML_DIR = @HTML_DIR@
+INSTALL = @INSTALL@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+INSTOBJEXT = @INSTOBJEXT@
+INTLLIBS = @INTLLIBS@
+INTLTOOL_EXTRACT = @INTLTOOL_EXTRACT@
+INTLTOOL_MERGE = @INTLTOOL_MERGE@
+INTLTOOL_PERL = @INTLTOOL_PERL@
+INTLTOOL_REQUIRED_VERSION = @INTLTOOL_REQUIRED_VERSION@
+INTLTOOL_UPDATE = @INTLTOOL_UPDATE@
+INTLTOOL_V_MERGE = @INTLTOOL_V_MERGE@
+INTLTOOL_V_MERGE_OPTIONS = @INTLTOOL_V_MERGE_OPTIONS@
+INTLTOOL__v_MERGE_ = @INTLTOOL__v_MERGE_@
+INTLTOOL__v_MERGE_0 = @INTLTOOL__v_MERGE_0@
+INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@
+ISO_CODES_LOCALEDIR = @ISO_CODES_LOCALEDIR@
+ISO_CODES_LOCATION = @ISO_CODES_LOCATION@
+JPEG_LIBS = @JPEG_LIBS@
+JSON_GLIB_CFLAGS = @JSON_GLIB_CFLAGS@
+JSON_GLIB_LIBS = @JSON_GLIB_LIBS@
+JXL_CFLAGS = @JXL_CFLAGS@
+JXL_LIBS = @JXL_LIBS@
+JXL_THREADS_CFLAGS = @JXL_THREADS_CFLAGS@
+JXL_THREADS_LIBS = @JXL_THREADS_LIBS@
+LCMS_CFLAGS = @LCMS_CFLAGS@
+LCMS_LIBS = @LCMS_LIBS@
+LCMS_REQUIRED_VERSION = @LCMS_REQUIRED_VERSION@
+LD = @LD@
+LDFLAGS = @LDFLAGS@
+LDFLAGS_FOR_BUILD = @LDFLAGS_FOR_BUILD@
+LIBBACKTRACE_LIBS = @LIBBACKTRACE_LIBS@
+LIBHEIF_CFLAGS = @LIBHEIF_CFLAGS@
+LIBHEIF_LIBS = @LIBHEIF_LIBS@
+LIBHEIF_REQUIRED_VERSION = @LIBHEIF_REQUIRED_VERSION@
+LIBJXL_REQUIRED_VERSION = @LIBJXL_REQUIRED_VERSION@
+LIBLZMA_REQUIRED_VERSION = @LIBLZMA_REQUIRED_VERSION@
+LIBMYPAINT_CFLAGS = @LIBMYPAINT_CFLAGS@
+LIBMYPAINT_LIBS = @LIBMYPAINT_LIBS@
+LIBMYPAINT_REQUIRED_VERSION = @LIBMYPAINT_REQUIRED_VERSION@
+LIBOBJS = @LIBOBJS@
+LIBPNG_REQUIRED_VERSION = @LIBPNG_REQUIRED_VERSION@
+LIBS = @LIBS@
+LIBTOOL = @LIBTOOL@
+LIBUNWIND_CFLAGS = @LIBUNWIND_CFLAGS@
+LIBUNWIND_LIBS = @LIBUNWIND_LIBS@
+LIBUNWIND_REQUIRED_VERSION = @LIBUNWIND_REQUIRED_VERSION@
+LIPO = @LIPO@
+LN_S = @LN_S@
+LTLIBOBJS = @LTLIBOBJS@
+LT_CURRENT_MINUS_AGE = @LT_CURRENT_MINUS_AGE@
+LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
+LT_VERSION_INFO = @LT_VERSION_INFO@
+LZMA_CFLAGS = @LZMA_CFLAGS@
+LZMA_LIBS = @LZMA_LIBS@
+MAIL = @MAIL@
+MAINT = @MAINT@
+MAKEINFO = @MAKEINFO@
+MANIFEST_TOOL = @MANIFEST_TOOL@
+MIME_INFO_CFLAGS = @MIME_INFO_CFLAGS@
+MIME_INFO_LIBS = @MIME_INFO_LIBS@
+MIME_TYPES = @MIME_TYPES@
+MKDIR_P = @MKDIR_P@
+MKINSTALLDIRS = @MKINSTALLDIRS@
+MMX_EXTRA_CFLAGS = @MMX_EXTRA_CFLAGS@
+MNG_CFLAGS = @MNG_CFLAGS@
+MNG_LIBS = @MNG_LIBS@
+MSGFMT = @MSGFMT@
+MSGFMT_OPTS = @MSGFMT_OPTS@
+MSGMERGE = @MSGMERGE@
+MYPAINT_BRUSHES_CFLAGS = @MYPAINT_BRUSHES_CFLAGS@
+MYPAINT_BRUSHES_LIBS = @MYPAINT_BRUSHES_LIBS@
+NATIVE_GLIB_CFLAGS = @NATIVE_GLIB_CFLAGS@
+NATIVE_GLIB_LIBS = @NATIVE_GLIB_LIBS@
+NM = @NM@
+NMEDIT = @NMEDIT@
+OBJDUMP = @OBJDUMP@
+OBJEXT = @OBJEXT@
+OPENEXR_CFLAGS = @OPENEXR_CFLAGS@
+OPENEXR_LIBS = @OPENEXR_LIBS@
+OPENEXR_REQUIRED_VERSION = @OPENEXR_REQUIRED_VERSION@
+OPENJPEG_CFLAGS = @OPENJPEG_CFLAGS@
+OPENJPEG_LIBS = @OPENJPEG_LIBS@
+OPENJPEG_REQUIRED_VERSION = @OPENJPEG_REQUIRED_VERSION@
+OTOOL = @OTOOL@
+OTOOL64 = @OTOOL64@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_URL = @PACKAGE_URL@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PANGOCAIRO_CFLAGS = @PANGOCAIRO_CFLAGS@
+PANGOCAIRO_LIBS = @PANGOCAIRO_LIBS@
+PANGOCAIRO_REQUIRED_VERSION = @PANGOCAIRO_REQUIRED_VERSION@
+PATHSEP = @PATHSEP@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+PERL = @PERL@
+PERL_REQUIRED_VERSION = @PERL_REQUIRED_VERSION@
+PERL_VERSION = @PERL_VERSION@
+PKG_CONFIG = @PKG_CONFIG@
+PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
+PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
+PNG_CFLAGS = @PNG_CFLAGS@
+PNG_LIBS = @PNG_LIBS@
+POFILES = @POFILES@
+POPPLER_CFLAGS = @POPPLER_CFLAGS@
+POPPLER_DATA_CFLAGS = @POPPLER_DATA_CFLAGS@
+POPPLER_DATA_LIBS = @POPPLER_DATA_LIBS@
+POPPLER_DATA_REQUIRED_VERSION = @POPPLER_DATA_REQUIRED_VERSION@
+POPPLER_LIBS = @POPPLER_LIBS@
+POPPLER_REQUIRED_VERSION = @POPPLER_REQUIRED_VERSION@
+POSUB = @POSUB@
+PO_IN_DATADIR_FALSE = @PO_IN_DATADIR_FALSE@
+PO_IN_DATADIR_TRUE = @PO_IN_DATADIR_TRUE@
+PYBIN_PATH = @PYBIN_PATH@
+PYCAIRO_CFLAGS = @PYCAIRO_CFLAGS@
+PYCAIRO_LIBS = @PYCAIRO_LIBS@
+PYGIMP_EXTRA_CFLAGS = @PYGIMP_EXTRA_CFLAGS@
+PYGTK_CFLAGS = @PYGTK_CFLAGS@
+PYGTK_CODEGEN = @PYGTK_CODEGEN@
+PYGTK_DEFSDIR = @PYGTK_DEFSDIR@
+PYGTK_LIBS = @PYGTK_LIBS@
+PYLINK_LIBS = @PYLINK_LIBS@
+PYTHON = @PYTHON@
+PYTHON2_REQUIRED_VERSION = @PYTHON2_REQUIRED_VERSION@
+PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@
+PYTHON_INCLUDES = @PYTHON_INCLUDES@
+PYTHON_PLATFORM = @PYTHON_PLATFORM@
+PYTHON_PREFIX = @PYTHON_PREFIX@
+PYTHON_VERSION = @PYTHON_VERSION@
+RANLIB = @RANLIB@
+RSVG_REQUIRED_VERSION = @RSVG_REQUIRED_VERSION@
+RT_LIBS = @RT_LIBS@
+SCREENSHOT_LIBS = @SCREENSHOT_LIBS@
+SED = @SED@
+SENDMAIL = @SENDMAIL@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+SOCKET_LIBS = @SOCKET_LIBS@
+SSE2_EXTRA_CFLAGS = @SSE2_EXTRA_CFLAGS@
+SSE4_1_EXTRA_CFLAGS = @SSE4_1_EXTRA_CFLAGS@
+SSE_EXTRA_CFLAGS = @SSE_EXTRA_CFLAGS@
+STRIP = @STRIP@
+SVG_CFLAGS = @SVG_CFLAGS@
+SVG_LIBS = @SVG_LIBS@
+SYMPREFIX = @SYMPREFIX@
+TIFF_LIBS = @TIFF_LIBS@
+USE_NLS = @USE_NLS@
+VERSION = @VERSION@
+WEBKIT_CFLAGS = @WEBKIT_CFLAGS@
+WEBKIT_LIBS = @WEBKIT_LIBS@
+WEBKIT_REQUIRED_VERSION = @WEBKIT_REQUIRED_VERSION@
+WEBPDEMUX_CFLAGS = @WEBPDEMUX_CFLAGS@
+WEBPDEMUX_LIBS = @WEBPDEMUX_LIBS@
+WEBPMUX_CFLAGS = @WEBPMUX_CFLAGS@
+WEBPMUX_LIBS = @WEBPMUX_LIBS@
+WEBP_CFLAGS = @WEBP_CFLAGS@
+WEBP_LIBS = @WEBP_LIBS@
+WEBP_REQUIRED_VERSION = @WEBP_REQUIRED_VERSION@
+WEB_PAGE = @WEB_PAGE@
+WIN32_LARGE_ADDRESS_AWARE = @WIN32_LARGE_ADDRESS_AWARE@
+WINDRES = @WINDRES@
+WMF_CFLAGS = @WMF_CFLAGS@
+WMF_CONFIG = @WMF_CONFIG@
+WMF_LIBS = @WMF_LIBS@
+WMF_REQUIRED_VERSION = @WMF_REQUIRED_VERSION@
+XDG_EMAIL = @XDG_EMAIL@
+XFIXES_CFLAGS = @XFIXES_CFLAGS@
+XFIXES_LIBS = @XFIXES_LIBS@
+XGETTEXT = @XGETTEXT@
+XGETTEXT_REQUIRED_VERSION = @XGETTEXT_REQUIRED_VERSION@
+XMC_CFLAGS = @XMC_CFLAGS@
+XMC_LIBS = @XMC_LIBS@
+XMKMF = @XMKMF@
+XMLLINT = @XMLLINT@
+XMU_LIBS = @XMU_LIBS@
+XPM_LIBS = @XPM_LIBS@
+XSLTPROC = @XSLTPROC@
+XVFB_RUN = @XVFB_RUN@
+X_CFLAGS = @X_CFLAGS@
+X_EXTRA_LIBS = @X_EXTRA_LIBS@
+X_LIBS = @X_LIBS@
+X_PRE_LIBS = @X_PRE_LIBS@
+Z_LIBS = @Z_LIBS@
+abs_builddir = @abs_builddir@
+abs_srcdir = @abs_srcdir@
+abs_top_builddir = @abs_top_builddir@
+abs_top_srcdir = @abs_top_srcdir@
+ac_ct_AR = @ac_ct_AR@
+ac_ct_CC = @ac_ct_CC@
+ac_ct_CC_FOR_BUILD = @ac_ct_CC_FOR_BUILD@
+ac_ct_CXX = @ac_ct_CXX@
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
+am__include = @am__include@
+am__leading_dot = @am__leading_dot@
+am__quote = @am__quote@
+am__tar = @am__tar@
+am__untar = @am__untar@
+bindir = @bindir@
+build = @build@
+build_alias = @build_alias@
+build_cpu = @build_cpu@
+build_os = @build_os@
+build_vendor = @build_vendor@
+builddir = @builddir@
+datadir = @datadir@
+datarootdir = @datarootdir@
+docdir = @docdir@
+dvidir = @dvidir@
+exec_prefix = @exec_prefix@
+gimpdatadir = @gimpdatadir@
+gimpdir = @gimpdir@
+gimplocaledir = @gimplocaledir@
+gimpplugindir = @gimpplugindir@
+gimpsysconfdir = @gimpsysconfdir@
+host = @host@
+host_alias = @host_alias@
+host_cpu = @host_cpu@
+host_os = @host_os@
+host_vendor = @host_vendor@
+htmldir = @htmldir@
+includedir = @includedir@
+infodir = @infodir@
+install_sh = @install_sh@
+intltool__v_merge_options_ = @intltool__v_merge_options_@
+intltool__v_merge_options_0 = @intltool__v_merge_options_0@
+libdir = @libdir@
+libexecdir = @libexecdir@
+localedir = @localedir@
+localstatedir = @localstatedir@
+mandir = @mandir@
+manpage_gimpdir = @manpage_gimpdir@
+mkdir_p = @mkdir_p@
+ms_librarian = @ms_librarian@
+mypaint_brushes_dir = @mypaint_brushes_dir@
+oldincludedir = @oldincludedir@
+pdfdir = @pdfdir@
+pkgpyexecdir = @pkgpyexecdir@
+pkgpythondir = @pkgpythondir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+psdir = @psdir@
+pyexecdir = @pyexecdir@
+pythondir = @pythondir@
+runstatedir = @runstatedir@
+sbindir = @sbindir@
+sharedstatedir = @sharedstatedir@
+srcdir = @srcdir@
+sysconfdir = @sysconfdir@
+target_alias = @target_alias@
+top_build_prefix = @top_build_prefix@
+top_builddir = @top_builddir@
+top_srcdir = @top_srcdir@
+
+# The name of the module.
+DOC_MODULE = libgimpmath
+
+# The top-level SGML file.
+DOC_MAIN_SGML_FILE = $(DOC_MODULE)-docs.sgml
+
+# The directory containing the source code.
+DOC_SOURCE_DIR = $(top_srcdir)/$(DOC_MODULE)
+
+# Extra options to pass to gtkdoc-scangobj
+SCANGOBJ_OPTIONS =
+
+# Extra options to supply to gtkdoc-scan
+SCAN_OPTIONS =
+
+# Extra options to supply to gtkdoc-mkdb
+MKDB_OPTIONS = --sgml-mode --output-format=xml --name-space=gimp
+
+# Extra options to supply to gtkdoc-fixref
+FIXXREF_OPTIONS =
+
+# Used for dependencies
+HFILE_GLOB = $(DOC_SOURCE_DIR)/*.h
+CFILE_GLOB = $(DOC_SOURCE_DIR)/*.c
+
+# Header files to ignore when scanning
+IGNORE_HFILES =
+
+# Images to copy into HTML directory
+HTML_IMAGES =
+
+# Extra SGML files that are included by $(DOC_MAIN_SGML_FILE)
+content_files =
+
+# Other files to distribute
+extra_files =
+
+# CFLAGS and LDFLAGS for compiling scan program. Only needed
+# if $(DOC_MODULE).types is non-empty.
+GTKDOC_CFLAGS =
+GTKDOC_LIBS =
+@GTK_DOC_USE_LIBTOOL_FALSE@GTKDOC_CC = $(CC) $(INCLUDES) $(GTKDOC_DEPS_CFLAGS) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+@GTK_DOC_USE_LIBTOOL_TRUE@GTKDOC_CC = $(LIBTOOL) --tag=CC --mode=compile $(CC) $(INCLUDES) $(GTKDOC_DEPS_CFLAGS) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+@GTK_DOC_USE_LIBTOOL_FALSE@GTKDOC_LD = $(CC) $(GTKDOC_DEPS_LIBS) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS)
+@GTK_DOC_USE_LIBTOOL_TRUE@GTKDOC_LD = $(LIBTOOL) --tag=CC --mode=link $(CC) $(GTKDOC_DEPS_LIBS) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS)
+@GTK_DOC_USE_LIBTOOL_FALSE@GTKDOC_RUN =
+@GTK_DOC_USE_LIBTOOL_TRUE@GTKDOC_RUN = $(LIBTOOL) --mode=execute
+
+# We set GPATH here; this gives us semantics for GNU make
+# which are more like other make's VPATH, when it comes to
+# whether a source that is a target of one rule is then
+# searched for in VPATH/GPATH.
+#
+GPATH = $(srcdir)
+TARGET_DIR = $(HTML_DIR)/$(DOC_MODULE)
+SETUP_FILES = \
+ $(content_files) \
+ $(expand_content_files) \
+ $(DOC_MAIN_SGML_FILE) \
+ $(DOC_MODULE)-sections.txt \
+ $(DOC_MODULE)-overrides.txt
+
+
+# Other files to distribute
+EXTRA_DIST = $(HTML_IMAGES) $(SETUP_FILES) version.in
+DOC_STAMPS = setup-build.stamp scan-build.stamp sgml-build.stamp \
+ html-build.stamp pdf-build.stamp \
+ sgml.stamp html.stamp pdf.stamp
+
+SCANOBJ_FILES = \
+ $(DOC_MODULE).actions \
+ $(DOC_MODULE).args \
+ $(DOC_MODULE).hierarchy \
+ $(DOC_MODULE).interfaces \
+ $(DOC_MODULE).prerequisites \
+ $(DOC_MODULE).signals
+
+REPORT_FILES = \
+ $(DOC_MODULE)-undocumented.txt \
+ $(DOC_MODULE)-undeclared.txt \
+ $(DOC_MODULE)-unused.txt
+
+CLEANFILES = $(SCANOBJ_FILES) $(REPORT_FILES) $(DOC_STAMPS) gtkdoc-check.test
+@GTK_DOC_BUILD_HTML_FALSE@HTML_BUILD_STAMP =
+@GTK_DOC_BUILD_HTML_TRUE@HTML_BUILD_STAMP = html-build.stamp
+@GTK_DOC_BUILD_PDF_FALSE@PDF_BUILD_STAMP =
+@GTK_DOC_BUILD_PDF_TRUE@PDF_BUILD_STAMP = pdf-build.stamp
+
+#### setup ####
+GTK_DOC_V_SETUP = $(GTK_DOC_V_SETUP_@AM_V@)
+GTK_DOC_V_SETUP_ = $(GTK_DOC_V_SETUP_@AM_DEFAULT_V@)
+GTK_DOC_V_SETUP_0 = @echo " DOC Preparing build";
+
+#### scan ####
+GTK_DOC_V_SCAN = $(GTK_DOC_V_SCAN_@AM_V@)
+GTK_DOC_V_SCAN_ = $(GTK_DOC_V_SCAN_@AM_DEFAULT_V@)
+GTK_DOC_V_SCAN_0 = @echo " DOC Scanning header files";
+GTK_DOC_V_INTROSPECT = $(GTK_DOC_V_INTROSPECT_@AM_V@)
+GTK_DOC_V_INTROSPECT_ = $(GTK_DOC_V_INTROSPECT_@AM_DEFAULT_V@)
+GTK_DOC_V_INTROSPECT_0 = @echo " DOC Introspecting gobjects";
+
+#### xml ####
+GTK_DOC_V_XML = $(GTK_DOC_V_XML_@AM_V@)
+GTK_DOC_V_XML_ = $(GTK_DOC_V_XML_@AM_DEFAULT_V@)
+GTK_DOC_V_XML_0 = @echo " DOC Building XML";
+
+#### html ####
+GTK_DOC_V_HTML = $(GTK_DOC_V_HTML_@AM_V@)
+GTK_DOC_V_HTML_ = $(GTK_DOC_V_HTML_@AM_DEFAULT_V@)
+GTK_DOC_V_HTML_0 = @echo " DOC Building HTML";
+GTK_DOC_V_XREF = $(GTK_DOC_V_XREF_@AM_V@)
+GTK_DOC_V_XREF_ = $(GTK_DOC_V_XREF_@AM_DEFAULT_V@)
+GTK_DOC_V_XREF_0 = @echo " DOC Fixing cross-references";
+
+#### pdf ####
+GTK_DOC_V_PDF = $(GTK_DOC_V_PDF_@AM_V@)
+GTK_DOC_V_PDF_ = $(GTK_DOC_V_PDF_@AM_DEFAULT_V@)
+GTK_DOC_V_PDF_0 = @echo " DOC Building PDF";
+all: all-am
+
+.SUFFIXES:
+$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir)/gtk-doc.make $(am__configure_deps)
+ @for dep in $?; do \
+ case '$(am__configure_deps)' in \
+ *$$dep*) \
+ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
+ && { if test -f $@; then exit 0; else break; fi; }; \
+ exit 1;; \
+ esac; \
+ done; \
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu devel-docs/libgimpmath/Makefile'; \
+ $(am__cd) $(top_srcdir) && \
+ $(AUTOMAKE) --gnu devel-docs/libgimpmath/Makefile
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+ @case '$?' in \
+ *config.status*) \
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
+ *) \
+ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \
+ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \
+ esac;
+$(top_srcdir)/gtk-doc.make $(am__empty):
+
+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(am__aclocal_m4_deps):
+version: $(top_builddir)/config.status $(srcdir)/version.in
+ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@
+
+mostlyclean-libtool:
+ -rm -f *.lo
+
+clean-libtool:
+ -rm -rf .libs _libs
+tags TAGS:
+
+ctags CTAGS:
+
+cscope cscopelist:
+
+
+distdir: $(BUILT_SOURCES)
+ $(MAKE) $(AM_MAKEFLAGS) distdir-am
+
+distdir-am: $(DISTFILES)
+ @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ list='$(DISTFILES)'; \
+ dist_files=`for file in $$list; do echo $$file; done | \
+ sed -e "s|^$$srcdirstrip/||;t" \
+ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
+ case $$dist_files in \
+ */*) $(MKDIR_P) `echo "$$dist_files" | \
+ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
+ sort -u` ;; \
+ esac; \
+ for file in $$dist_files; do \
+ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+ if test -d $$d/$$file; then \
+ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+ if test -d "$(distdir)/$$file"; then \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
+ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
+ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
+ else \
+ test -f "$(distdir)/$$file" \
+ || cp -p $$d/$$file "$(distdir)/$$file" \
+ || exit 1; \
+ fi; \
+ done
+ $(MAKE) $(AM_MAKEFLAGS) \
+ top_distdir="$(top_distdir)" distdir="$(distdir)" \
+ dist-hook
+check-am: all-am
+check: check-am
+@ENABLE_GTK_DOC_FALSE@all-local:
+all-am: Makefile all-local
+installdirs:
+install: install-am
+install-exec: install-exec-am
+install-data: install-data-am
+uninstall: uninstall-am
+
+install-am: all-am
+ @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+
+installcheck: installcheck-am
+install-strip:
+ if test -z '$(STRIP)'; then \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ install; \
+ else \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+ fi
+mostlyclean-generic:
+
+clean-generic:
+ -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES)
+
+distclean-generic:
+ -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+ -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
+
+maintainer-clean-generic:
+ @echo "This command is intended for maintainers to use"
+ @echo "it deletes files that may require special tools to rebuild."
+clean: clean-am
+
+clean-am: clean-generic clean-libtool clean-local mostlyclean-am
+
+distclean: distclean-am
+ -rm -f Makefile
+distclean-am: clean-am distclean-generic distclean-local
+
+dvi: dvi-am
+
+dvi-am:
+
+html: html-am
+
+html-am:
+
+info: info-am
+
+info-am:
+
+install-data-am: install-data-local
+
+install-dvi: install-dvi-am
+
+install-dvi-am:
+
+install-exec-am:
+
+install-html: install-html-am
+
+install-html-am:
+
+install-info: install-info-am
+
+install-info-am:
+
+install-man:
+
+install-pdf: install-pdf-am
+
+install-pdf-am:
+
+install-ps: install-ps-am
+
+install-ps-am:
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-am
+ -rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic \
+ maintainer-clean-local
+
+mostlyclean: mostlyclean-am
+
+mostlyclean-am: mostlyclean-generic mostlyclean-libtool
+
+pdf: pdf-am
+
+pdf-am:
+
+ps: ps-am
+
+ps-am:
+
+uninstall-am: uninstall-local
+
+.MAKE: install-am install-strip
+
+.PHONY: all all-am all-local check check-am clean clean-generic \
+ clean-libtool clean-local cscopelist-am ctags-am dist-hook \
+ distclean distclean-generic distclean-libtool distclean-local \
+ distdir dvi dvi-am html html-am info info-am install \
+ install-am install-data install-data-am install-data-local \
+ install-dvi install-dvi-am install-exec install-exec-am \
+ install-html install-html-am install-info install-info-am \
+ install-man install-pdf install-pdf-am install-ps \
+ install-ps-am install-strip installcheck installcheck-am \
+ installdirs maintainer-clean maintainer-clean-generic \
+ maintainer-clean-local mostlyclean mostlyclean-generic \
+ mostlyclean-libtool pdf pdf-am ps ps-am tags-am uninstall \
+ uninstall-am uninstall-local
+
+.PRECIOUS: Makefile
+
+
+gtkdoc-check.test: Makefile
+ $(AM_V_GEN)echo "#!/bin/sh -e" > $@; \
+ echo "$(GTKDOC_CHECK_PATH) || exit 1" >> $@; \
+ chmod +x $@
+
+all-gtk-doc: $(HTML_BUILD_STAMP) $(PDF_BUILD_STAMP)
+.PHONY: all-gtk-doc
+
+@ENABLE_GTK_DOC_TRUE@all-local: all-gtk-doc
+
+docs: $(HTML_BUILD_STAMP) $(PDF_BUILD_STAMP)
+
+$(REPORT_FILES): sgml-build.stamp
+
+setup-build.stamp:
+ -$(GTK_DOC_V_SETUP)if test "$(abs_srcdir)" != "$(abs_builddir)" ; then \
+ files=`echo $(SETUP_FILES) $(DOC_MODULE).types`; \
+ if test "x$$files" != "x" ; then \
+ for file in $$files ; do \
+ destdir=`dirname $(abs_builddir)/$$file`; \
+ test -d "$$destdir" || mkdir -p "$$destdir"; \
+ test -f $(abs_srcdir)/$$file && \
+ cp -pf $(abs_srcdir)/$$file $(abs_builddir)/$$file || true; \
+ done; \
+ fi; \
+ fi
+ $(AM_V_at)touch setup-build.stamp
+
+scan-build.stamp: setup-build.stamp $(HFILE_GLOB) $(CFILE_GLOB)
+ $(GTK_DOC_V_SCAN)_source_dir='' ; \
+ for i in $(DOC_SOURCE_DIR) ; do \
+ _source_dir="$${_source_dir} --source-dir=$$i" ; \
+ done ; \
+ gtkdoc-scan --module=$(DOC_MODULE) --ignore-headers="$(IGNORE_HFILES)" $${_source_dir} $(SCAN_OPTIONS) $(EXTRA_HFILES)
+ $(GTK_DOC_V_INTROSPECT)if grep -l '^..*$$' $(DOC_MODULE).types > /dev/null 2>&1 ; then \
+ scanobj_options=""; \
+ gtkdoc-scangobj 2>&1 --help | grep >/dev/null "\-\-verbose"; \
+ if test "$$?" = "0"; then \
+ if test "x$(V)" = "x1"; then \
+ scanobj_options="--verbose"; \
+ fi; \
+ fi; \
+ CC="$(GTKDOC_CC)" LD="$(GTKDOC_LD)" RUN="$(GTKDOC_RUN)" CFLAGS="$(GTKDOC_CFLAGS) $(CFLAGS)" LDFLAGS="$(GTKDOC_LIBS) $(LDFLAGS)" \
+ gtkdoc-scangobj $(SCANGOBJ_OPTIONS) $$scanobj_options --module=$(DOC_MODULE); \
+ else \
+ for i in $(SCANOBJ_FILES) ; do \
+ test -f $$i || touch $$i ; \
+ done \
+ fi
+ $(AM_V_at)touch scan-build.stamp
+
+$(DOC_MODULE)-decl.txt $(SCANOBJ_FILES) $(DOC_MODULE)-sections.txt $(DOC_MODULE)-overrides.txt: scan-build.stamp
+ @true
+
+sgml-build.stamp: setup-build.stamp $(DOC_MODULE)-decl.txt $(SCANOBJ_FILES) $(HFILE_GLOB) $(CFILE_GLOB) $(DOC_MODULE)-sections.txt $(DOC_MODULE)-overrides.txt $(expand_content_files) xml/gtkdocentities.ent
+ $(GTK_DOC_V_XML)_source_dir='' ; \
+ for i in $(DOC_SOURCE_DIR) ; do \
+ _source_dir="$${_source_dir} --source-dir=$$i" ; \
+ done ; \
+ gtkdoc-mkdb --module=$(DOC_MODULE) --output-format=xml --expand-content-files="$(expand_content_files)" --main-sgml-file=$(DOC_MAIN_SGML_FILE) $${_source_dir} $(MKDB_OPTIONS)
+ $(AM_V_at)touch sgml-build.stamp
+
+sgml.stamp: sgml-build.stamp
+ @true
+
+$(DOC_MAIN_SGML_FILE): sgml-build.stamp
+ @true
+
+xml/gtkdocentities.ent: Makefile
+ $(GTK_DOC_V_XML)$(MKDIR_P) $(@D) && ( \
+ echo "<!ENTITY package \"$(PACKAGE)\">"; \
+ echo "<!ENTITY package_bugreport \"$(PACKAGE_BUGREPORT)\">"; \
+ echo "<!ENTITY package_name \"$(PACKAGE_NAME)\">"; \
+ echo "<!ENTITY package_string \"$(PACKAGE_STRING)\">"; \
+ echo "<!ENTITY package_tarname \"$(PACKAGE_TARNAME)\">"; \
+ echo "<!ENTITY package_url \"$(PACKAGE_URL)\">"; \
+ echo "<!ENTITY package_version \"$(PACKAGE_VERSION)\">"; \
+ ) > $@
+
+html-build.stamp: sgml.stamp $(DOC_MAIN_SGML_FILE) $(content_files) $(expand_content_files)
+ $(GTK_DOC_V_HTML)rm -rf html && mkdir html && \
+ mkhtml_options=""; \
+ gtkdoc-mkhtml 2>&1 --help | grep >/dev/null "\-\-verbose"; \
+ if test "$$?" = "0"; then \
+ if test "x$(V)" = "x1"; then \
+ mkhtml_options="$$mkhtml_options --verbose"; \
+ fi; \
+ fi; \
+ gtkdoc-mkhtml 2>&1 --help | grep >/dev/null "\-\-path"; \
+ if test "$$?" = "0"; then \
+ mkhtml_options="$$mkhtml_options --path=\"$(abs_srcdir)\""; \
+ fi; \
+ cd html && gtkdoc-mkhtml $$mkhtml_options $(MKHTML_OPTIONS) $(DOC_MODULE) ../$(DOC_MAIN_SGML_FILE)
+ -@test "x$(HTML_IMAGES)" = "x" || \
+ for file in $(HTML_IMAGES) ; do \
+ test -f $(abs_srcdir)/$$file && cp $(abs_srcdir)/$$file $(abs_builddir)/html; \
+ test -f $(abs_builddir)/$$file && cp $(abs_builddir)/$$file $(abs_builddir)/html; \
+ test -f $$file && cp $$file $(abs_builddir)/html; \
+ done;
+ $(GTK_DOC_V_XREF)gtkdoc-fixxref --module=$(DOC_MODULE) --module-dir=html --html-dir=$(HTML_DIR) $(FIXXREF_OPTIONS)
+ $(AM_V_at)touch html-build.stamp
+
+pdf-build.stamp: sgml.stamp $(DOC_MAIN_SGML_FILE) $(content_files) $(expand_content_files)
+ $(GTK_DOC_V_PDF)rm -f $(DOC_MODULE).pdf && \
+ mkpdf_options=""; \
+ gtkdoc-mkpdf 2>&1 --help | grep >/dev/null "\-\-verbose"; \
+ if test "$$?" = "0"; then \
+ if test "x$(V)" = "x1"; then \
+ mkpdf_options="$$mkpdf_options --verbose"; \
+ fi; \
+ fi; \
+ if test "x$(HTML_IMAGES)" != "x"; then \
+ for img in $(HTML_IMAGES); do \
+ part=`dirname $$img`; \
+ echo $$mkpdf_options | grep >/dev/null "\-\-imgdir=$$part "; \
+ if test $$? != 0; then \
+ mkpdf_options="$$mkpdf_options --imgdir=$$part"; \
+ fi; \
+ done; \
+ fi; \
+ gtkdoc-mkpdf --path="$(abs_srcdir)" $$mkpdf_options $(DOC_MODULE) $(DOC_MAIN_SGML_FILE) $(MKPDF_OPTIONS)
+ $(AM_V_at)touch pdf-build.stamp
+
+##############
+
+clean-local:
+ @rm -f *~ *.bak
+ @rm -rf .libs
+ @if echo $(SCAN_OPTIONS) | grep -q "\-\-rebuild-types" ; then \
+ rm -f $(DOC_MODULE).types; \
+ fi
+ @if echo $(SCAN_OPTIONS) | grep -q "\-\-rebuild-sections" ; then \
+ rm -f $(DOC_MODULE)-sections.txt; \
+ fi
+
+distclean-local:
+ @rm -rf xml html $(REPORT_FILES) $(DOC_MODULE).pdf \
+ $(DOC_MODULE)-decl-list.txt $(DOC_MODULE)-decl.txt
+ @if test "$(abs_srcdir)" != "$(abs_builddir)" ; then \
+ rm -f $(SETUP_FILES) $(DOC_MODULE).types; \
+ fi
+
+maintainer-clean-local:
+ @rm -rf xml html
+
+install-data-local:
+ @installfiles=`echo $(builddir)/html/*`; \
+ if test "$$installfiles" = '$(builddir)/html/*'; \
+ then echo 1>&2 'Nothing to install' ; \
+ else \
+ if test -n "$(DOC_MODULE_VERSION)"; then \
+ installdir="$(DESTDIR)$(TARGET_DIR)-$(DOC_MODULE_VERSION)"; \
+ else \
+ installdir="$(DESTDIR)$(TARGET_DIR)"; \
+ fi; \
+ $(mkinstalldirs) $${installdir} ; \
+ for i in $$installfiles; do \
+ echo ' $(INSTALL_DATA) '$$i ; \
+ $(INSTALL_DATA) $$i $${installdir}; \
+ done; \
+ if test -n "$(DOC_MODULE_VERSION)"; then \
+ mv -f $${installdir}/$(DOC_MODULE).devhelp2 \
+ $${installdir}/$(DOC_MODULE)-$(DOC_MODULE_VERSION).devhelp2; \
+ fi; \
+ $(GTKDOC_REBASE) --relative --dest-dir=$(DESTDIR) --html-dir=$${installdir}; \
+ fi
+
+uninstall-local:
+ @if test -n "$(DOC_MODULE_VERSION)"; then \
+ installdir="$(DESTDIR)$(TARGET_DIR)-$(DOC_MODULE_VERSION)"; \
+ else \
+ installdir="$(DESTDIR)$(TARGET_DIR)"; \
+ fi; \
+ rm -rf $${installdir}
+
+#
+# Require gtk-doc when making dist
+#
+@HAVE_GTK_DOC_TRUE@dist-check-gtkdoc: docs
+@HAVE_GTK_DOC_FALSE@dist-check-gtkdoc:
+@HAVE_GTK_DOC_FALSE@ @echo "*** gtk-doc is needed to run 'make dist'. ***"
+@HAVE_GTK_DOC_FALSE@ @echo "*** gtk-doc was not found when 'configure' ran. ***"
+@HAVE_GTK_DOC_FALSE@ @echo "*** please install gtk-doc and rerun 'configure'. ***"
+@HAVE_GTK_DOC_FALSE@ @false
+
+dist-hook: dist-check-gtkdoc all-gtk-doc dist-hook-local
+ @mkdir $(distdir)/html
+ @cp ./html/* $(distdir)/html
+ @-cp ./$(DOC_MODULE).pdf $(distdir)/
+ @-cp ./$(DOC_MODULE).types $(distdir)/
+ @-cp ./$(DOC_MODULE)-sections.txt $(distdir)/
+ @cd $(distdir) && rm -f $(DISTCLEANFILES)
+ @$(GTKDOC_REBASE) --online --relative --html-dir=$(distdir)/html
+
+.PHONY : dist-hook-local docs
+
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/devel-docs/libgimpmath/html/api-index-full.html b/devel-docs/libgimpmath/html/api-index-full.html
new file mode 100644
index 0000000..6c1298d
--- /dev/null
+++ b/devel-docs/libgimpmath/html/api-index-full.html
@@ -0,0 +1,438 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Index: GIMP Math Library Reference Manual</title>
+<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot">
+<link rel="home" href="index.html" title="GIMP Math Library Reference Manual">
+<link rel="up" href="index.html" title="GIMP Math Library Reference Manual">
+<link rel="prev" href="libgimpmath-GimpMD5.html" title="GimpMD5">
+<link rel="next" href="api-index-2-4.html" title="Index of new symbols in GIMP 2.4">
+<meta name="generator" content="GTK-Doc V1.33.1 (XML mode)">
+<link rel="stylesheet" href="style.css" type="text/css">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
+<td width="100%" align="left" class="shortcuts"><span id="nav_index"><a class="shortcut" href="#idxC">C</a>
+  <span class="dim">|</span> 
+ <a class="shortcut" href="#idxD">D</a>
+  <span class="dim">|</span> 
+ <a class="shortcut" href="#idxI">I</a>
+  <span class="dim">|</span> 
+ <a class="shortcut" href="#idxM">M</a>
+  <span class="dim">|</span> 
+ <a class="shortcut" href="#idxP">P</a>
+  <span class="dim">|</span> 
+ <a class="shortcut" href="#idxR">R</a>
+  <span class="dim">|</span> 
+ <a class="shortcut" href="#idxS">S</a>
+  <span class="dim">|</span> 
+ <a class="shortcut" href="#idxT">T</a>
+  <span class="dim">|</span> 
+ <a class="shortcut" href="#idxV">V</a></span></td>
+<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
+<td><img src="up-insensitive.png" width="16" height="16" border="0"></td>
+<td><a accesskey="p" href="libgimpmath-GimpMD5.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
+<td><a accesskey="n" href="api-index-2-4.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
+</tr></table>
+<div class="index">
+<div class="titlepage"><div><div><h1 class="title">
+<a name="api-index-full"></a>Index</h1></div></div></div>
+<a name="idx"></a><a name="idxC"></a><h3 class="title">C</h3>
+<dt>
+<a class="link" href="libgimpmath-GimpMath.html#CLAMP0255:CAPS" title="CLAMP0255()">CLAMP0255</a>, macro in <a class="link" href="libgimpmath-GimpMath.html" title="GimpMath">GimpMath</a>
+</dt>
+<dd></dd>
+<a name="idxD"></a><h3 class="title">D</h3>
+<dt>
+<a class="link" href="libgimpmath-GimpMath.html#gimp-deg-to-rad" title="gimp_deg_to_rad()">gimp_deg_to_rad</a>, macro in <a class="link" href="libgimpmath-GimpMath.html" title="GimpMath">GimpMath</a>
+</dt>
+<dd></dd>
+<a name="idxI"></a><h3 class="title">I</h3>
+<dt>
+<a class="link" href="libgimpmath-GimpMatrix.html#GIMP-IS-PARAM-SPEC-MATRIX2:CAPS" title="GIMP_IS_PARAM_SPEC_MATRIX2()">GIMP_IS_PARAM_SPEC_MATRIX2</a>, macro in <a class="link" href="libgimpmath-GimpMatrix.html" title="GimpMatrix">GimpMatrix</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="libgimpmath-GimpMatrix.html#GIMP-IS-PARAM-SPEC-MATRIX3:CAPS" title="GIMP_IS_PARAM_SPEC_MATRIX3()">GIMP_IS_PARAM_SPEC_MATRIX3</a>, macro in <a class="link" href="libgimpmath-GimpMatrix.html" title="GimpMatrix">GimpMatrix</a>
+</dt>
+<dd></dd>
+<a name="idxM"></a><h3 class="title">M</h3>
+<dt>
+<a class="link" href="libgimpmath-GimpMatrix.html#GimpMatrix2" title="struct GimpMatrix2">GimpMatrix2</a>, struct in <a class="link" href="libgimpmath-GimpMatrix.html" title="GimpMatrix">GimpMatrix</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="libgimpmath-GimpMatrix.html#gimp-matrix2-determinant" title="gimp_matrix2_determinant ()">gimp_matrix2_determinant</a>, function in <a class="link" href="libgimpmath-GimpMatrix.html" title="GimpMatrix">GimpMatrix</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="libgimpmath-GimpMatrix.html#gimp-matrix2-identity" title="gimp_matrix2_identity ()">gimp_matrix2_identity</a>, function in <a class="link" href="libgimpmath-GimpMatrix.html" title="GimpMatrix">GimpMatrix</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="libgimpmath-GimpMatrix.html#gimp-matrix2-invert" title="gimp_matrix2_invert ()">gimp_matrix2_invert</a>, function in <a class="link" href="libgimpmath-GimpMatrix.html" title="GimpMatrix">GimpMatrix</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="libgimpmath-GimpMatrix.html#gimp-matrix2-mult" title="gimp_matrix2_mult ()">gimp_matrix2_mult</a>, function in <a class="link" href="libgimpmath-GimpMatrix.html" title="GimpMatrix">GimpMatrix</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="libgimpmath-GimpMatrix.html#gimp-matrix2-transform-point" title="gimp_matrix2_transform_point ()">gimp_matrix2_transform_point</a>, function in <a class="link" href="libgimpmath-GimpMatrix.html" title="GimpMatrix">GimpMatrix</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="libgimpmath-GimpMatrix.html#GimpMatrix3" title="struct GimpMatrix3">GimpMatrix3</a>, struct in <a class="link" href="libgimpmath-GimpMatrix.html" title="GimpMatrix">GimpMatrix</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="libgimpmath-GimpMatrix.html#gimp-matrix3-affine" title="gimp_matrix3_affine ()">gimp_matrix3_affine</a>, function in <a class="link" href="libgimpmath-GimpMatrix.html" title="GimpMatrix">GimpMatrix</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="libgimpmath-GimpMatrix.html#gimp-matrix3-determinant" title="gimp_matrix3_determinant ()">gimp_matrix3_determinant</a>, function in <a class="link" href="libgimpmath-GimpMatrix.html" title="GimpMatrix">GimpMatrix</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="libgimpmath-GimpMatrix.html#gimp-matrix3-equal" title="gimp_matrix3_equal ()">gimp_matrix3_equal</a>, function in <a class="link" href="libgimpmath-GimpMatrix.html" title="GimpMatrix">GimpMatrix</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="libgimpmath-GimpMatrix.html#gimp-matrix3-identity" title="gimp_matrix3_identity ()">gimp_matrix3_identity</a>, function in <a class="link" href="libgimpmath-GimpMatrix.html" title="GimpMatrix">GimpMatrix</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="libgimpmath-GimpMatrix.html#gimp-matrix3-invert" title="gimp_matrix3_invert ()">gimp_matrix3_invert</a>, function in <a class="link" href="libgimpmath-GimpMatrix.html" title="GimpMatrix">GimpMatrix</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="libgimpmath-GimpMatrix.html#gimp-matrix3-is-affine" title="gimp_matrix3_is_affine ()">gimp_matrix3_is_affine</a>, function in <a class="link" href="libgimpmath-GimpMatrix.html" title="GimpMatrix">GimpMatrix</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="libgimpmath-GimpMatrix.html#gimp-matrix3-is-diagonal" title="gimp_matrix3_is_diagonal ()">gimp_matrix3_is_diagonal</a>, function in <a class="link" href="libgimpmath-GimpMatrix.html" title="GimpMatrix">GimpMatrix</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="libgimpmath-GimpMatrix.html#gimp-matrix3-is-identity" title="gimp_matrix3_is_identity ()">gimp_matrix3_is_identity</a>, function in <a class="link" href="libgimpmath-GimpMatrix.html" title="GimpMatrix">GimpMatrix</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="libgimpmath-GimpMatrix.html#gimp-matrix3-is-simple" title="gimp_matrix3_is_simple ()">gimp_matrix3_is_simple</a>, function in <a class="link" href="libgimpmath-GimpMatrix.html" title="GimpMatrix">GimpMatrix</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="libgimpmath-GimpMatrix.html#gimp-matrix3-mult" title="gimp_matrix3_mult ()">gimp_matrix3_mult</a>, function in <a class="link" href="libgimpmath-GimpMatrix.html" title="GimpMatrix">GimpMatrix</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="libgimpmath-GimpMatrix.html#gimp-matrix3-rotate" title="gimp_matrix3_rotate ()">gimp_matrix3_rotate</a>, function in <a class="link" href="libgimpmath-GimpMatrix.html" title="GimpMatrix">GimpMatrix</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="libgimpmath-GimpMatrix.html#gimp-matrix3-scale" title="gimp_matrix3_scale ()">gimp_matrix3_scale</a>, function in <a class="link" href="libgimpmath-GimpMatrix.html" title="GimpMatrix">GimpMatrix</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="libgimpmath-GimpMatrix.html#gimp-matrix3-transform-point" title="gimp_matrix3_transform_point ()">gimp_matrix3_transform_point</a>, function in <a class="link" href="libgimpmath-GimpMatrix.html" title="GimpMatrix">GimpMatrix</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="libgimpmath-GimpMatrix.html#gimp-matrix3-translate" title="gimp_matrix3_translate ()">gimp_matrix3_translate</a>, function in <a class="link" href="libgimpmath-GimpMatrix.html" title="GimpMatrix">GimpMatrix</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="libgimpmath-GimpMatrix.html#gimp-matrix3-xshear" title="gimp_matrix3_xshear ()">gimp_matrix3_xshear</a>, function in <a class="link" href="libgimpmath-GimpMatrix.html" title="GimpMatrix">GimpMatrix</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="libgimpmath-GimpMatrix.html#gimp-matrix3-yshear" title="gimp_matrix3_yshear ()">gimp_matrix3_yshear</a>, function in <a class="link" href="libgimpmath-GimpMatrix.html" title="GimpMatrix">GimpMatrix</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="libgimpmath-GimpMatrix.html#GimpMatrix4" title="struct GimpMatrix4">GimpMatrix4</a>, struct in <a class="link" href="libgimpmath-GimpMatrix.html" title="GimpMatrix">GimpMatrix</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="libgimpmath-GimpMatrix.html#gimp-matrix4-identity" title="gimp_matrix4_identity ()">gimp_matrix4_identity</a>, function in <a class="link" href="libgimpmath-GimpMatrix.html" title="GimpMatrix">GimpMatrix</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="libgimpmath-GimpMatrix.html#gimp-matrix4-mult" title="gimp_matrix4_mult ()">gimp_matrix4_mult</a>, function in <a class="link" href="libgimpmath-GimpMatrix.html" title="GimpMatrix">GimpMatrix</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="libgimpmath-GimpMatrix.html#gimp-matrix4-to-deg" title="gimp_matrix4_to_deg ()">gimp_matrix4_to_deg</a>, function in <a class="link" href="libgimpmath-GimpMatrix.html" title="GimpMatrix">GimpMatrix</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="libgimpmath-GimpMatrix.html#gimp-matrix4-transform-point" title="gimp_matrix4_transform_point ()">gimp_matrix4_transform_point</a>, function in <a class="link" href="libgimpmath-GimpMatrix.html" title="GimpMatrix">GimpMatrix</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="libgimpmath-GimpMath.html#MAX255:CAPS" title="MAX255()">MAX255</a>, macro in <a class="link" href="libgimpmath-GimpMath.html" title="GimpMath">GimpMath</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="libgimpmath-GimpMD5.html#gimp-md5-get-digest" title="gimp_md5_get_digest ()">gimp_md5_get_digest</a>, function in <a class="link" href="libgimpmath-GimpMD5.html" title="GimpMD5">GimpMD5</a>
+</dt>
+<dd></dd>
+<a name="idxP"></a><h3 class="title">P</h3>
+<dt>
+<a class="link" href="libgimpmath-GimpMatrix.html#gimp-param-spec-matrix2" title="gimp_param_spec_matrix2 ()">gimp_param_spec_matrix2</a>, function in <a class="link" href="libgimpmath-GimpMatrix.html" title="GimpMatrix">GimpMatrix</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="libgimpmath-GimpMatrix.html#gimp-param-spec-matrix3" title="gimp_param_spec_matrix3 ()">gimp_param_spec_matrix3</a>, function in <a class="link" href="libgimpmath-GimpMatrix.html" title="GimpMatrix">GimpMatrix</a>
+</dt>
+<dd></dd>
+<a name="idxR"></a><h3 class="title">R</h3>
+<dt>
+<a class="link" href="libgimpmath-GimpMath.html#gimp-rad-to-deg" title="gimp_rad_to_deg()">gimp_rad_to_deg</a>, macro in <a class="link" href="libgimpmath-GimpMath.html" title="GimpMath">GimpMath</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="libgimpmath-GimpMath.html#RINT:CAPS" title="RINT()">RINT</a>, macro in <a class="link" href="libgimpmath-GimpMath.html" title="GimpMath">GimpMath</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="libgimpmath-GimpMath.html#ROUND:CAPS" title="ROUND()">ROUND</a>, macro in <a class="link" href="libgimpmath-GimpMath.html" title="GimpMath">GimpMath</a>
+</dt>
+<dd></dd>
+<a name="idxS"></a><h3 class="title">S</h3>
+<dt>
+<a class="link" href="libgimpmath-GimpMath.html#SAFE-CLAMP:CAPS" title="SAFE_CLAMP()">SAFE_CLAMP</a>, macro in <a class="link" href="libgimpmath-GimpMath.html" title="GimpMath">GimpMath</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="libgimpmath-GimpMath.html#SIGNED-ROUND:CAPS" title="SIGNED_ROUND()">SIGNED_ROUND</a>, macro in <a class="link" href="libgimpmath-GimpMath.html" title="GimpMath">GimpMath</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="libgimpmath-GimpMath.html#SQR:CAPS" title="SQR()">SQR</a>, macro in <a class="link" href="libgimpmath-GimpMath.html" title="GimpMath">GimpMath</a>
+</dt>
+<dd></dd>
+<a name="idxT"></a><h3 class="title">T</h3>
+<dt>
+<a class="link" href="libgimpmath-GimpMatrix.html#GIMP-TYPE-MATRIX2:CAPS" title="GIMP_TYPE_MATRIX2">GIMP_TYPE_MATRIX2</a>, macro in <a class="link" href="libgimpmath-GimpMatrix.html" title="GimpMatrix">GimpMatrix</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="libgimpmath-GimpMatrix.html#GIMP-TYPE-MATRIX3:CAPS" title="GIMP_TYPE_MATRIX3">GIMP_TYPE_MATRIX3</a>, macro in <a class="link" href="libgimpmath-GimpMatrix.html" title="GimpMatrix">GimpMatrix</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="libgimpmath-GimpMatrix.html#GIMP-TYPE-PARAM-MATRIX2:CAPS" title="GIMP_TYPE_PARAM_MATRIX2">GIMP_TYPE_PARAM_MATRIX2</a>, macro in <a class="link" href="libgimpmath-GimpMatrix.html" title="GimpMatrix">GimpMatrix</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="libgimpmath-GimpMatrix.html#GIMP-TYPE-PARAM-MATRIX3:CAPS" title="GIMP_TYPE_PARAM_MATRIX3">GIMP_TYPE_PARAM_MATRIX3</a>, macro in <a class="link" href="libgimpmath-GimpMatrix.html" title="GimpMatrix">GimpMatrix</a>
+</dt>
+<dd></dd>
+<a name="idxV"></a><h3 class="title">V</h3>
+<dt>
+<a class="link" href="libgimpmath-GimpMatrix.html#GIMP-VALUE-HOLDS-MATRIX2:CAPS" title="GIMP_VALUE_HOLDS_MATRIX2()">GIMP_VALUE_HOLDS_MATRIX2</a>, macro in <a class="link" href="libgimpmath-GimpMatrix.html" title="GimpMatrix">GimpMatrix</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="libgimpmath-GimpMatrix.html#GIMP-VALUE-HOLDS-MATRIX3:CAPS" title="GIMP_VALUE_HOLDS_MATRIX3()">GIMP_VALUE_HOLDS_MATRIX3</a>, macro in <a class="link" href="libgimpmath-GimpMatrix.html" title="GimpMatrix">GimpMatrix</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="libgimpmath-GimpVector.html#GimpVector2" title="struct GimpVector2">GimpVector2</a>, struct in <a class="link" href="libgimpmath-GimpVector.html" title="GimpVector">GimpVector</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="libgimpmath-GimpVector.html#gimp-vector2-add" title="gimp_vector2_add ()">gimp_vector2_add</a>, function in <a class="link" href="libgimpmath-GimpVector.html" title="GimpVector">GimpVector</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="libgimpmath-GimpVector.html#gimp-vector2-add-val" title="gimp_vector2_add_val ()">gimp_vector2_add_val</a>, function in <a class="link" href="libgimpmath-GimpVector.html" title="GimpVector">GimpVector</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="libgimpmath-GimpVector.html#gimp-vector2-cross-product" title="gimp_vector2_cross_product ()">gimp_vector2_cross_product</a>, function in <a class="link" href="libgimpmath-GimpVector.html" title="GimpVector">GimpVector</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="libgimpmath-GimpVector.html#gimp-vector2-cross-product-val" title="gimp_vector2_cross_product_val ()">gimp_vector2_cross_product_val</a>, function in <a class="link" href="libgimpmath-GimpVector.html" title="GimpVector">GimpVector</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="libgimpmath-GimpVector.html#gimp-vector2-inner-product" title="gimp_vector2_inner_product ()">gimp_vector2_inner_product</a>, function in <a class="link" href="libgimpmath-GimpVector.html" title="GimpVector">GimpVector</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="libgimpmath-GimpVector.html#gimp-vector2-inner-product-val" title="gimp_vector2_inner_product_val ()">gimp_vector2_inner_product_val</a>, function in <a class="link" href="libgimpmath-GimpVector.html" title="GimpVector">GimpVector</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="libgimpmath-GimpVector.html#gimp-vector2-length" title="gimp_vector2_length ()">gimp_vector2_length</a>, function in <a class="link" href="libgimpmath-GimpVector.html" title="GimpVector">GimpVector</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="libgimpmath-GimpVector.html#gimp-vector2-length-val" title="gimp_vector2_length_val ()">gimp_vector2_length_val</a>, function in <a class="link" href="libgimpmath-GimpVector.html" title="GimpVector">GimpVector</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="libgimpmath-GimpVector.html#gimp-vector2-mul" title="gimp_vector2_mul ()">gimp_vector2_mul</a>, function in <a class="link" href="libgimpmath-GimpVector.html" title="GimpVector">GimpVector</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="libgimpmath-GimpVector.html#gimp-vector2-mul-val" title="gimp_vector2_mul_val ()">gimp_vector2_mul_val</a>, function in <a class="link" href="libgimpmath-GimpVector.html" title="GimpVector">GimpVector</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="libgimpmath-GimpVector.html#gimp-vector2-neg" title="gimp_vector2_neg ()">gimp_vector2_neg</a>, function in <a class="link" href="libgimpmath-GimpVector.html" title="GimpVector">GimpVector</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="libgimpmath-GimpVector.html#gimp-vector2-neg-val" title="gimp_vector2_neg_val ()">gimp_vector2_neg_val</a>, function in <a class="link" href="libgimpmath-GimpVector.html" title="GimpVector">GimpVector</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="libgimpmath-GimpVector.html#gimp-vector2-new" title="gimp_vector2_new ()">gimp_vector2_new</a>, function in <a class="link" href="libgimpmath-GimpVector.html" title="GimpVector">GimpVector</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="libgimpmath-GimpVector.html#gimp-vector2-normal" title="gimp_vector2_normal ()">gimp_vector2_normal</a>, function in <a class="link" href="libgimpmath-GimpVector.html" title="GimpVector">GimpVector</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="libgimpmath-GimpVector.html#gimp-vector2-normalize" title="gimp_vector2_normalize ()">gimp_vector2_normalize</a>, function in <a class="link" href="libgimpmath-GimpVector.html" title="GimpVector">GimpVector</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="libgimpmath-GimpVector.html#gimp-vector2-normalize-val" title="gimp_vector2_normalize_val ()">gimp_vector2_normalize_val</a>, function in <a class="link" href="libgimpmath-GimpVector.html" title="GimpVector">GimpVector</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="libgimpmath-GimpVector.html#gimp-vector2-normal-val" title="gimp_vector2_normal_val ()">gimp_vector2_normal_val</a>, function in <a class="link" href="libgimpmath-GimpVector.html" title="GimpVector">GimpVector</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="libgimpmath-GimpVector.html#gimp-vector2-rotate" title="gimp_vector2_rotate ()">gimp_vector2_rotate</a>, function in <a class="link" href="libgimpmath-GimpVector.html" title="GimpVector">GimpVector</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="libgimpmath-GimpVector.html#gimp-vector2-rotate-val" title="gimp_vector2_rotate_val ()">gimp_vector2_rotate_val</a>, function in <a class="link" href="libgimpmath-GimpVector.html" title="GimpVector">GimpVector</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="libgimpmath-GimpVector.html#gimp-vector2-set" title="gimp_vector2_set ()">gimp_vector2_set</a>, function in <a class="link" href="libgimpmath-GimpVector.html" title="GimpVector">GimpVector</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="libgimpmath-GimpVector.html#gimp-vector2-sub" title="gimp_vector2_sub ()">gimp_vector2_sub</a>, function in <a class="link" href="libgimpmath-GimpVector.html" title="GimpVector">GimpVector</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="libgimpmath-GimpVector.html#gimp-vector2-sub-val" title="gimp_vector2_sub_val ()">gimp_vector2_sub_val</a>, function in <a class="link" href="libgimpmath-GimpVector.html" title="GimpVector">GimpVector</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="libgimpmath-GimpVector.html#GimpVector3" title="struct GimpVector3">GimpVector3</a>, struct in <a class="link" href="libgimpmath-GimpVector.html" title="GimpVector">GimpVector</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="libgimpmath-GimpVector.html#gimp-vector3-add" title="gimp_vector3_add ()">gimp_vector3_add</a>, function in <a class="link" href="libgimpmath-GimpVector.html" title="GimpVector">GimpVector</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="libgimpmath-GimpVector.html#gimp-vector3-add-val" title="gimp_vector3_add_val ()">gimp_vector3_add_val</a>, function in <a class="link" href="libgimpmath-GimpVector.html" title="GimpVector">GimpVector</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="libgimpmath-GimpVector.html#gimp-vector3-cross-product" title="gimp_vector3_cross_product ()">gimp_vector3_cross_product</a>, function in <a class="link" href="libgimpmath-GimpVector.html" title="GimpVector">GimpVector</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="libgimpmath-GimpVector.html#gimp-vector3-cross-product-val" title="gimp_vector3_cross_product_val ()">gimp_vector3_cross_product_val</a>, function in <a class="link" href="libgimpmath-GimpVector.html" title="GimpVector">GimpVector</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="libgimpmath-GimpVector.html#gimp-vector3-inner-product" title="gimp_vector3_inner_product ()">gimp_vector3_inner_product</a>, function in <a class="link" href="libgimpmath-GimpVector.html" title="GimpVector">GimpVector</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="libgimpmath-GimpVector.html#gimp-vector3-inner-product-val" title="gimp_vector3_inner_product_val ()">gimp_vector3_inner_product_val</a>, function in <a class="link" href="libgimpmath-GimpVector.html" title="GimpVector">GimpVector</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="libgimpmath-GimpVector.html#gimp-vector3-length" title="gimp_vector3_length ()">gimp_vector3_length</a>, function in <a class="link" href="libgimpmath-GimpVector.html" title="GimpVector">GimpVector</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="libgimpmath-GimpVector.html#gimp-vector3-length-val" title="gimp_vector3_length_val ()">gimp_vector3_length_val</a>, function in <a class="link" href="libgimpmath-GimpVector.html" title="GimpVector">GimpVector</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="libgimpmath-GimpVector.html#gimp-vector3-mul" title="gimp_vector3_mul ()">gimp_vector3_mul</a>, function in <a class="link" href="libgimpmath-GimpVector.html" title="GimpVector">GimpVector</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="libgimpmath-GimpVector.html#gimp-vector3-mul-val" title="gimp_vector3_mul_val ()">gimp_vector3_mul_val</a>, function in <a class="link" href="libgimpmath-GimpVector.html" title="GimpVector">GimpVector</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="libgimpmath-GimpVector.html#gimp-vector3-neg" title="gimp_vector3_neg ()">gimp_vector3_neg</a>, function in <a class="link" href="libgimpmath-GimpVector.html" title="GimpVector">GimpVector</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="libgimpmath-GimpVector.html#gimp-vector3-neg-val" title="gimp_vector3_neg_val ()">gimp_vector3_neg_val</a>, function in <a class="link" href="libgimpmath-GimpVector.html" title="GimpVector">GimpVector</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="libgimpmath-GimpVector.html#gimp-vector3-new" title="gimp_vector3_new ()">gimp_vector3_new</a>, function in <a class="link" href="libgimpmath-GimpVector.html" title="GimpVector">GimpVector</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="libgimpmath-GimpVector.html#gimp-vector3-normalize" title="gimp_vector3_normalize ()">gimp_vector3_normalize</a>, function in <a class="link" href="libgimpmath-GimpVector.html" title="GimpVector">GimpVector</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="libgimpmath-GimpVector.html#gimp-vector3-normalize-val" title="gimp_vector3_normalize_val ()">gimp_vector3_normalize_val</a>, function in <a class="link" href="libgimpmath-GimpVector.html" title="GimpVector">GimpVector</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="libgimpmath-GimpVector.html#gimp-vector3-rotate" title="gimp_vector3_rotate ()">gimp_vector3_rotate</a>, function in <a class="link" href="libgimpmath-GimpVector.html" title="GimpVector">GimpVector</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="libgimpmath-GimpVector.html#gimp-vector3-rotate-val" title="gimp_vector3_rotate_val ()">gimp_vector3_rotate_val</a>, function in <a class="link" href="libgimpmath-GimpVector.html" title="GimpVector">GimpVector</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="libgimpmath-GimpVector.html#gimp-vector3-set" title="gimp_vector3_set ()">gimp_vector3_set</a>, function in <a class="link" href="libgimpmath-GimpVector.html" title="GimpVector">GimpVector</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="libgimpmath-GimpVector.html#gimp-vector3-sub" title="gimp_vector3_sub ()">gimp_vector3_sub</a>, function in <a class="link" href="libgimpmath-GimpVector.html" title="GimpVector">GimpVector</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="libgimpmath-GimpVector.html#gimp-vector3-sub-val" title="gimp_vector3_sub_val ()">gimp_vector3_sub_val</a>, function in <a class="link" href="libgimpmath-GimpVector.html" title="GimpVector">GimpVector</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="libgimpmath-GimpVector.html#GimpVector4" title="struct GimpVector4">GimpVector4</a>, struct in <a class="link" href="libgimpmath-GimpVector.html" title="GimpVector">GimpVector</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="libgimpmath-GimpVector.html#gimp-vector-2d-to-3d" title="gimp_vector_2d_to_3d ()">gimp_vector_2d_to_3d</a>, function in <a class="link" href="libgimpmath-GimpVector.html" title="GimpVector">GimpVector</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="libgimpmath-GimpVector.html#gimp-vector-2d-to-3d-val" title="gimp_vector_2d_to_3d_val ()">gimp_vector_2d_to_3d_val</a>, function in <a class="link" href="libgimpmath-GimpVector.html" title="GimpVector">GimpVector</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="libgimpmath-GimpVector.html#gimp-vector-3d-to-2d" title="gimp_vector_3d_to_2d ()">gimp_vector_3d_to_2d</a>, function in <a class="link" href="libgimpmath-GimpVector.html" title="GimpVector">GimpVector</a>
+</dt>
+<dd></dd>
+</div>
+<div class="footer">
+<hr>Generated by GTK-Doc V1.33.1</div>
+</body>
+</html> \ No newline at end of file
diff --git a/devel-docs/libgimpmath/html/home.png b/devel-docs/libgimpmath/html/home.png
new file mode 100644
index 0000000..3966a91
--- /dev/null
+++ b/devel-docs/libgimpmath/html/home.png
Binary files differ
diff --git a/devel-docs/libgimpmath/html/index.html b/devel-docs/libgimpmath/html/index.html
new file mode 100644
index 0000000..7ac8074
--- /dev/null
+++ b/devel-docs/libgimpmath/html/index.html
@@ -0,0 +1,47 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>GIMP Math Library Reference Manual: GIMP Math Library Reference Manual</title>
+<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot">
+<link rel="home" href="index.html" title="GIMP Math Library Reference Manual">
+<link rel="next" href="pt01.html" title="Part I. GIMP Math Library">
+<meta name="generator" content="GTK-Doc V1.33.1 (XML mode)">
+<link rel="stylesheet" href="style.css" type="text/css">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<div lang="en" class="book">
+<div class="titlepage">
+<div>
+<div><table class="navigation" id="top" width="100%" cellpadding="2" cellspacing="0"><tr><th valign="middle"><p class="title">GIMP Math Library Reference Manual</p></th></tr></table></div>
+<div><p class="releaseinfo">
+ for GIMP 2.10.36
+
+ </p></div>
+</div>
+<hr>
+</div>
+<div class="toc"><dl class="toc">
+<dt><span class="part"><a href="pt01.html">I. GIMP Math Library</a></span></dt>
+<dd><dl>
+<dt>
+<span class="refentrytitle"><a href="libgimpmath-GimpMath.html">GimpMath</a></span><span class="refpurpose"> — Mathematical definitions and macros.</span>
+</dt>
+<dt>
+<span class="refentrytitle"><a href="libgimpmath-GimpMatrix.html">GimpMatrix</a></span><span class="refpurpose"> — Utilities to set up and manipulate 3x3
+transformation matrices.</span>
+</dt>
+<dt>
+<span class="refentrytitle"><a href="libgimpmath-GimpVector.html">GimpVector</a></span><span class="refpurpose"> — Utilities to set up and manipulate vectors.</span>
+</dt>
+<dt>
+<span class="refentrytitle"><a href="libgimpmath-GimpMD5.html">GimpMD5</a></span><span class="refpurpose"> — The MD5 message-digest algorithm</span>
+</dt>
+</dl></dd>
+<dt><span class="index"><a href="api-index-full.html">Index</a></span></dt>
+</dl></div>
+</div>
+<div class="footer">
+<hr>Generated by GTK-Doc V1.33.1</div>
+</body>
+</html> \ No newline at end of file
diff --git a/devel-docs/libgimpmath/html/left-insensitive.png b/devel-docs/libgimpmath/html/left-insensitive.png
new file mode 100644
index 0000000..2cd8c16
--- /dev/null
+++ b/devel-docs/libgimpmath/html/left-insensitive.png
Binary files differ
diff --git a/devel-docs/libgimpmath/html/left.png b/devel-docs/libgimpmath/html/left.png
new file mode 100644
index 0000000..1ca1664
--- /dev/null
+++ b/devel-docs/libgimpmath/html/left.png
Binary files differ
diff --git a/devel-docs/libgimpmath/html/libgimpmath-GimpMD5.html b/devel-docs/libgimpmath/html/libgimpmath-GimpMD5.html
new file mode 100644
index 0000000..7465cd4
--- /dev/null
+++ b/devel-docs/libgimpmath/html/libgimpmath-GimpMD5.html
@@ -0,0 +1,102 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>GimpMD5: GIMP Math Library Reference Manual</title>
+<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot">
+<link rel="home" href="index.html" title="GIMP Math Library Reference Manual">
+<link rel="up" href="pt01.html" title="Part I. GIMP Math Library">
+<link rel="prev" href="libgimpmath-GimpVector.html" title="GimpVector">
+<link rel="next" href="api-index-full.html" title="Index">
+<meta name="generator" content="GTK-Doc V1.33.1 (XML mode)">
+<link rel="stylesheet" href="style.css" type="text/css">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
+<td width="100%" align="left" class="shortcuts">
+<a href="#" class="shortcut">Top</a><span id="nav_description">  <span class="dim">|</span> 
+ <a href="#libgimpmath-GimpMD5.description" class="shortcut">Description</a></span>
+</td>
+<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
+<td><a accesskey="u" href="pt01.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<td><a accesskey="p" href="libgimpmath-GimpVector.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
+<td><a accesskey="n" href="api-index-full.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
+</tr></table>
+<div class="refentry">
+<a name="libgimpmath-GimpMD5"></a><div class="titlepage"></div>
+<div class="refnamediv"><table width="100%"><tr>
+<td valign="top">
+<h2><span class="refentrytitle"><a name="libgimpmath-GimpMD5.top_of_page"></a>GimpMD5</span></h2>
+<p>GimpMD5 — The MD5 message-digest algorithm</p>
+</td>
+<td class="gallery_image" valign="top" align="right"></td>
+</tr></table></div>
+<div class="refsect1">
+<a name="libgimpmath-GimpMD5.functions"></a><h2>Functions</h2>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="functions_proto_type">
+<col class="functions_proto_name">
+</colgroup>
+<tbody><tr>
+<td class="function_type">
+<span class="returnvalue">void</span>
+</td>
+<td class="function_name">
+<a class="link" href="libgimpmath-GimpMD5.html#gimp-md5-get-digest" title="gimp_md5_get_digest ()">gimp_md5_get_digest</a> <span class="c_punctuation">()</span>
+</td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect1">
+<a name="libgimpmath-GimpMD5.description"></a><h2>Description</h2>
+<p>The MD5 message-digest algorithm</p>
+</div>
+<div class="refsect1">
+<a name="libgimpmath-GimpMD5.functions_details"></a><h2>Functions</h2>
+<div class="refsect2">
+<a name="gimp-md5-get-digest"></a><h3>gimp_md5_get_digest ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+gimp_md5_get_digest (<em class="parameter"><code>const <span class="type">gchar</span> *buffer</code></em>,
+ <em class="parameter"><code><span class="type">gint</span> buffer_size</code></em>,
+ <em class="parameter"><code><span class="type">guchar</span> digest[16]</code></em>);</pre>
+<div class="warning"><p><code class="literal">gimp_md5_get_digest</code> is deprecated and should not be used in newly-written code.</p></div>
+<p>This function is deprecated! Use <code class="literal">GChecksum</code> from GLib instead.</p>
+<p>Get the md5 hash of a buffer. The result is put in the 16 bytes
+buffer <em class="parameter"><code>digest</code></em>
+. For more information see RFC 1321.</p>
+<div class="refsect3">
+<a name="gimp-md5-get-digest.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>buffer</p></td>
+<td class="parameter_description"><p>byte buffer</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>buffer_size</p></td>
+<td class="parameter_description"><p>buffer size (in bytes) or -1 if <em class="parameter"><code>buffer</code></em>
+is nul-terminated.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>digest</p></td>
+<td class="parameter_description"><p>16 bytes buffer receiving the hash code.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+</div>
+</div>
+<div class="footer">
+<hr>Generated by GTK-Doc V1.33.1</div>
+</body>
+</html> \ No newline at end of file
diff --git a/devel-docs/libgimpmath/html/libgimpmath-GimpMath.html b/devel-docs/libgimpmath/html/libgimpmath-GimpMath.html
new file mode 100644
index 0000000..399351b
--- /dev/null
+++ b/devel-docs/libgimpmath/html/libgimpmath-GimpMath.html
@@ -0,0 +1,340 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>GimpMath: GIMP Math Library Reference Manual</title>
+<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot">
+<link rel="home" href="index.html" title="GIMP Math Library Reference Manual">
+<link rel="up" href="pt01.html" title="Part I. GIMP Math Library">
+<link rel="prev" href="pt01.html" title="Part I. GIMP Math Library">
+<link rel="next" href="libgimpmath-GimpMatrix.html" title="GimpMatrix">
+<meta name="generator" content="GTK-Doc V1.33.1 (XML mode)">
+<link rel="stylesheet" href="style.css" type="text/css">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
+<td width="100%" align="left" class="shortcuts">
+<a href="#" class="shortcut">Top</a><span id="nav_description">  <span class="dim">|</span> 
+ <a href="#libgimpmath-GimpMath.description" class="shortcut">Description</a></span>
+</td>
+<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
+<td><a accesskey="u" href="pt01.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<td><a accesskey="p" href="pt01.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
+<td><a accesskey="n" href="libgimpmath-GimpMatrix.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
+</tr></table>
+<div class="refentry">
+<a name="libgimpmath-GimpMath"></a><div class="titlepage"></div>
+<div class="refnamediv"><table width="100%"><tr>
+<td valign="top">
+<h2><span class="refentrytitle"><a name="libgimpmath-GimpMath.top_of_page"></a>GimpMath</span></h2>
+<p>GimpMath — Mathematical definitions and macros.</p>
+</td>
+<td class="gallery_image" valign="top" align="right"></td>
+</tr></table></div>
+<div class="refsect1">
+<a name="libgimpmath-GimpMath.functions"></a><h2>Functions</h2>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="functions_proto_type">
+<col class="functions_proto_name">
+</colgroup>
+<tbody>
+<tr>
+<td class="define_keyword">#define</td>
+<td class="function_name">
+<a class="link" href="libgimpmath-GimpMath.html#RINT:CAPS" title="RINT()">RINT</a><span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="define_keyword">#define</td>
+<td class="function_name">
+<a class="link" href="libgimpmath-GimpMath.html#ROUND:CAPS" title="ROUND()">ROUND</a><span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="define_keyword">#define</td>
+<td class="function_name">
+<a class="link" href="libgimpmath-GimpMath.html#SIGNED-ROUND:CAPS" title="SIGNED_ROUND()">SIGNED_ROUND</a><span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="define_keyword">#define</td>
+<td class="function_name">
+<a class="link" href="libgimpmath-GimpMath.html#SQR:CAPS" title="SQR()">SQR</a><span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="define_keyword">#define</td>
+<td class="function_name">
+<a class="link" href="libgimpmath-GimpMath.html#MAX255:CAPS" title="MAX255()">MAX255</a><span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="define_keyword">#define</td>
+<td class="function_name">
+<a class="link" href="libgimpmath-GimpMath.html#CLAMP0255:CAPS" title="CLAMP0255()">CLAMP0255</a><span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="define_keyword">#define</td>
+<td class="function_name">
+<a class="link" href="libgimpmath-GimpMath.html#SAFE-CLAMP:CAPS" title="SAFE_CLAMP()">SAFE_CLAMP</a><span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="define_keyword">#define</td>
+<td class="function_name">
+<a class="link" href="libgimpmath-GimpMath.html#gimp-deg-to-rad" title="gimp_deg_to_rad()">gimp_deg_to_rad</a><span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="define_keyword">#define</td>
+<td class="function_name">
+<a class="link" href="libgimpmath-GimpMath.html#gimp-rad-to-deg" title="gimp_rad_to_deg()">gimp_rad_to_deg</a><span class="c_punctuation">()</span>
+</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect1">
+<a name="libgimpmath-GimpMath.description"></a><h2>Description</h2>
+<p>Mathematical definitions and macros for use both by the GIMP
+application and plug-ins. These macros should be used rather than
+the ones from &lt;math.h&gt; for enhanced portability.</p>
+</div>
+<div class="refsect1">
+<a name="libgimpmath-GimpMath.functions_details"></a><h2>Functions</h2>
+<div class="refsect2">
+<a name="RINT:CAPS"></a><h3>RINT()</h3>
+<pre class="programlisting">#define RINT(x) rint(x)
+</pre>
+<p>This macro rounds its argument <em class="parameter"><code>x</code></em>
+ to an integer value in floating
+point format. Use <a class="link" href="libgimpmath-GimpMath.html#RINT:CAPS" title="RINT()"><code class="function">RINT()</code></a> instead of <code class="function">rint()</code>.</p>
+<div class="refsect3">
+<a name="RINT.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>x</p></td>
+<td class="parameter_description"><p>the value to be rounded</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="ROUND:CAPS"></a><h3>ROUND()</h3>
+<pre class="programlisting">#define ROUND(x) ((int) ((x) + 0.5))
+</pre>
+<p>This macro rounds its positive argument <em class="parameter"><code>x</code></em>
+ to the nearest integer.</p>
+<div class="refsect3">
+<a name="ROUND.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>x</p></td>
+<td class="parameter_description"><p>the value to be rounded.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="SIGNED-ROUND:CAPS"></a><h3>SIGNED_ROUND()</h3>
+<pre class="programlisting">#define SIGNED_ROUND(x) ((int) RINT (x))
+</pre>
+<p>This macro rounds its argument <em class="parameter"><code>x</code></em>
+ to the nearest integer.</p>
+<div class="refsect3">
+<a name="SIGNED-ROUND.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>x</p></td>
+<td class="parameter_description"><p>the value to be rounded.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="SQR:CAPS"></a><h3>SQR()</h3>
+<pre class="programlisting">#define SQR(x) ((x) * (x))
+</pre>
+<p>This macro squares its argument <em class="parameter"><code>x</code></em>
+.</p>
+<div class="refsect3">
+<a name="SQR.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>x</p></td>
+<td class="parameter_description"><p>the value to be squared.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="MAX255:CAPS"></a><h3>MAX255()</h3>
+<pre class="programlisting">#define MAX255(a) ((a) | (((a) &amp; 256) - (((a) &amp; 256) &gt;&gt; 8)))
+</pre>
+<p>This macro limits it argument <em class="parameter"><code>a</code></em>
+, an (0-511) int, to 255.</p>
+<div class="refsect3">
+<a name="MAX255.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>a</p></td>
+<td class="parameter_description"><p>the value to be limited.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="CLAMP0255:CAPS"></a><h3>CLAMP0255()</h3>
+<pre class="programlisting">#define CLAMP0255(a) CLAMP(a,0,255)
+</pre>
+<p>This macro clamps its argument <em class="parameter"><code>a</code></em>
+, an int32-range int, between 0
+and 255 inclusive.</p>
+<div class="refsect3">
+<a name="CLAMP0255.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>a</p></td>
+<td class="parameter_description"><p>the value to be clamped.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="SAFE-CLAMP:CAPS"></a><h3>SAFE_CLAMP()</h3>
+<pre class="programlisting">#define SAFE_CLAMP(x, low, high) ((x) &gt; (low) ? (x) &lt; (high) ? (x) : (high) : (low))
+</pre>
+<p>Ensures that <em class="parameter"><code>x</code></em>
+ is between the limits set by <em class="parameter"><code>low</code></em>
+ and <em class="parameter"><code>high</code></em>
+,
+even if <em class="parameter"><code>x</code></em>
+ is NaN. If <em class="parameter"><code>low</code></em>
+ is greater than <em class="parameter"><code>high</code></em>
+, or if either
+of them is NaN, the result is undefined.</p>
+<div class="refsect3">
+<a name="SAFE-CLAMP.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>x</p></td>
+<td class="parameter_description"><p>the value to be limited.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>low</p></td>
+<td class="parameter_description"><p>the lower limit.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>high</p></td>
+<td class="parameter_description"><p>the upper limit.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<p class="since">Since: <a class="link" href="api-index-2-10.html#api-index-2.10">2.10</a></p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gimp-deg-to-rad"></a><h3>gimp_deg_to_rad()</h3>
+<pre class="programlisting">#define gimp_deg_to_rad(angle) ((angle) * (2.0 * G_PI) / 360.0)
+</pre>
+<p>This macro converts its argument <em class="parameter"><code>angle</code></em>
+ from degree to radian.</p>
+<div class="refsect3">
+<a name="gimp-deg-to-rad.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>angle</p></td>
+<td class="parameter_description"><p>the angle to be converted.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gimp-rad-to-deg"></a><h3>gimp_rad_to_deg()</h3>
+<pre class="programlisting">#define gimp_rad_to_deg(angle) ((angle) * 360.0 / (2.0 * G_PI))
+</pre>
+<p>This macro converts its argument <em class="parameter"><code>angle</code></em>
+ from radian to degree.</p>
+<div class="refsect3">
+<a name="gimp-rad-to-deg.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>angle</p></td>
+<td class="parameter_description"><p>the angle to be converted.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+</div>
+</div>
+</div>
+<div class="footer">
+<hr>Generated by GTK-Doc V1.33.1</div>
+</body>
+</html> \ No newline at end of file
diff --git a/devel-docs/libgimpmath/html/libgimpmath-GimpMatrix.html b/devel-docs/libgimpmath/html/libgimpmath-GimpMatrix.html
new file mode 100644
index 0000000..e9a56b8
--- /dev/null
+++ b/devel-docs/libgimpmath/html/libgimpmath-GimpMatrix.html
@@ -0,0 +1,1373 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>GimpMatrix: GIMP Math Library Reference Manual</title>
+<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot">
+<link rel="home" href="index.html" title="GIMP Math Library Reference Manual">
+<link rel="up" href="pt01.html" title="Part I. GIMP Math Library">
+<link rel="prev" href="libgimpmath-GimpMath.html" title="GimpMath">
+<link rel="next" href="libgimpmath-GimpVector.html" title="GimpVector">
+<meta name="generator" content="GTK-Doc V1.33.1 (XML mode)">
+<link rel="stylesheet" href="style.css" type="text/css">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
+<td width="100%" align="left" class="shortcuts">
+<a href="#" class="shortcut">Top</a><span id="nav_description">  <span class="dim">|</span> 
+ <a href="#libgimpmath-GimpMatrix.description" class="shortcut">Description</a></span>
+</td>
+<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
+<td><a accesskey="u" href="pt01.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<td><a accesskey="p" href="libgimpmath-GimpMath.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
+<td><a accesskey="n" href="libgimpmath-GimpVector.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
+</tr></table>
+<div class="refentry">
+<a name="libgimpmath-GimpMatrix"></a><div class="titlepage"></div>
+<div class="refnamediv"><table width="100%"><tr>
+<td valign="top">
+<h2><span class="refentrytitle"><a name="libgimpmath-GimpMatrix.top_of_page"></a>GimpMatrix</span></h2>
+<p>GimpMatrix — Utilities to set up and manipulate 3x3
+transformation matrices.</p>
+</td>
+<td class="gallery_image" valign="top" align="right"></td>
+</tr></table></div>
+<div class="refsect1">
+<a name="libgimpmath-GimpMatrix.functions"></a><h2>Functions</h2>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="functions_proto_type">
+<col class="functions_proto_name">
+</colgroup>
+<tbody>
+<tr>
+<td class="function_type">
+<span class="returnvalue">void</span>
+</td>
+<td class="function_name">
+<a class="link" href="libgimpmath-GimpMatrix.html#gimp-matrix2-identity" title="gimp_matrix2_identity ()">gimp_matrix2_identity</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">void</span>
+</td>
+<td class="function_name">
+<a class="link" href="libgimpmath-GimpMatrix.html#gimp-matrix2-mult" title="gimp_matrix2_mult ()">gimp_matrix2_mult</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">gdouble</span>
+</td>
+<td class="function_name">
+<a class="link" href="libgimpmath-GimpMatrix.html#gimp-matrix2-determinant" title="gimp_matrix2_determinant ()">gimp_matrix2_determinant</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">void</span>
+</td>
+<td class="function_name">
+<a class="link" href="libgimpmath-GimpMatrix.html#gimp-matrix2-invert" title="gimp_matrix2_invert ()">gimp_matrix2_invert</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">void</span>
+</td>
+<td class="function_name">
+<a class="link" href="libgimpmath-GimpMatrix.html#gimp-matrix2-transform-point" title="gimp_matrix2_transform_point ()">gimp_matrix2_transform_point</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">void</span>
+</td>
+<td class="function_name">
+<a class="link" href="libgimpmath-GimpMatrix.html#gimp-matrix3-identity" title="gimp_matrix3_identity ()">gimp_matrix3_identity</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">void</span>
+</td>
+<td class="function_name">
+<a class="link" href="libgimpmath-GimpMatrix.html#gimp-matrix3-mult" title="gimp_matrix3_mult ()">gimp_matrix3_mult</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">void</span>
+</td>
+<td class="function_name">
+<a class="link" href="libgimpmath-GimpMatrix.html#gimp-matrix3-translate" title="gimp_matrix3_translate ()">gimp_matrix3_translate</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">void</span>
+</td>
+<td class="function_name">
+<a class="link" href="libgimpmath-GimpMatrix.html#gimp-matrix3-scale" title="gimp_matrix3_scale ()">gimp_matrix3_scale</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">void</span>
+</td>
+<td class="function_name">
+<a class="link" href="libgimpmath-GimpMatrix.html#gimp-matrix3-rotate" title="gimp_matrix3_rotate ()">gimp_matrix3_rotate</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">void</span>
+</td>
+<td class="function_name">
+<a class="link" href="libgimpmath-GimpMatrix.html#gimp-matrix3-xshear" title="gimp_matrix3_xshear ()">gimp_matrix3_xshear</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">void</span>
+</td>
+<td class="function_name">
+<a class="link" href="libgimpmath-GimpMatrix.html#gimp-matrix3-yshear" title="gimp_matrix3_yshear ()">gimp_matrix3_yshear</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">void</span>
+</td>
+<td class="function_name">
+<a class="link" href="libgimpmath-GimpMatrix.html#gimp-matrix3-affine" title="gimp_matrix3_affine ()">gimp_matrix3_affine</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">void</span>
+</td>
+<td class="function_name">
+<a class="link" href="libgimpmath-GimpMatrix.html#gimp-matrix3-transform-point" title="gimp_matrix3_transform_point ()">gimp_matrix3_transform_point</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">gdouble</span>
+</td>
+<td class="function_name">
+<a class="link" href="libgimpmath-GimpMatrix.html#gimp-matrix3-determinant" title="gimp_matrix3_determinant ()">gimp_matrix3_determinant</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">void</span>
+</td>
+<td class="function_name">
+<a class="link" href="libgimpmath-GimpMatrix.html#gimp-matrix3-invert" title="gimp_matrix3_invert ()">gimp_matrix3_invert</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">gboolean</span>
+</td>
+<td class="function_name">
+<a class="link" href="libgimpmath-GimpMatrix.html#gimp-matrix3-is-identity" title="gimp_matrix3_is_identity ()">gimp_matrix3_is_identity</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">gboolean</span>
+</td>
+<td class="function_name">
+<a class="link" href="libgimpmath-GimpMatrix.html#gimp-matrix3-is-diagonal" title="gimp_matrix3_is_diagonal ()">gimp_matrix3_is_diagonal</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">gboolean</span>
+</td>
+<td class="function_name">
+<a class="link" href="libgimpmath-GimpMatrix.html#gimp-matrix3-is-affine" title="gimp_matrix3_is_affine ()">gimp_matrix3_is_affine</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">gboolean</span>
+</td>
+<td class="function_name">
+<a class="link" href="libgimpmath-GimpMatrix.html#gimp-matrix3-is-simple" title="gimp_matrix3_is_simple ()">gimp_matrix3_is_simple</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">gboolean</span>
+</td>
+<td class="function_name">
+<a class="link" href="libgimpmath-GimpMatrix.html#gimp-matrix3-equal" title="gimp_matrix3_equal ()">gimp_matrix3_equal</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">void</span>
+</td>
+<td class="function_name">
+<a class="link" href="libgimpmath-GimpMatrix.html#gimp-matrix4-identity" title="gimp_matrix4_identity ()">gimp_matrix4_identity</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">void</span>
+</td>
+<td class="function_name">
+<a class="link" href="libgimpmath-GimpMatrix.html#gimp-matrix4-mult" title="gimp_matrix4_mult ()">gimp_matrix4_mult</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">void</span>
+</td>
+<td class="function_name">
+<a class="link" href="libgimpmath-GimpMatrix.html#gimp-matrix4-to-deg" title="gimp_matrix4_to_deg ()">gimp_matrix4_to_deg</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">gdouble</span>
+</td>
+<td class="function_name">
+<a class="link" href="libgimpmath-GimpMatrix.html#gimp-matrix4-transform-point" title="gimp_matrix4_transform_point ()">gimp_matrix4_transform_point</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="define_keyword">#define</td>
+<td class="function_name">
+<a class="link" href="libgimpmath-GimpMatrix.html#GIMP-IS-PARAM-SPEC-MATRIX2:CAPS" title="GIMP_IS_PARAM_SPEC_MATRIX2()">GIMP_IS_PARAM_SPEC_MATRIX2</a><span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">GParamSpec</span> *
+</td>
+<td class="function_name">
+<a class="link" href="libgimpmath-GimpMatrix.html#gimp-param-spec-matrix2" title="gimp_param_spec_matrix2 ()">gimp_param_spec_matrix2</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="define_keyword">#define</td>
+<td class="function_name">
+<a class="link" href="libgimpmath-GimpMatrix.html#GIMP-VALUE-HOLDS-MATRIX2:CAPS" title="GIMP_VALUE_HOLDS_MATRIX2()">GIMP_VALUE_HOLDS_MATRIX2</a><span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="define_keyword">#define</td>
+<td class="function_name">
+<a class="link" href="libgimpmath-GimpMatrix.html#GIMP-IS-PARAM-SPEC-MATRIX3:CAPS" title="GIMP_IS_PARAM_SPEC_MATRIX3()">GIMP_IS_PARAM_SPEC_MATRIX3</a><span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">GParamSpec</span> *
+</td>
+<td class="function_name">
+<a class="link" href="libgimpmath-GimpMatrix.html#gimp-param-spec-matrix3" title="gimp_param_spec_matrix3 ()">gimp_param_spec_matrix3</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="define_keyword">#define</td>
+<td class="function_name">
+<a class="link" href="libgimpmath-GimpMatrix.html#GIMP-VALUE-HOLDS-MATRIX3:CAPS" title="GIMP_VALUE_HOLDS_MATRIX3()">GIMP_VALUE_HOLDS_MATRIX3</a><span class="c_punctuation">()</span>
+</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect1">
+<a name="libgimpmath-GimpMatrix.other"></a><h2>Types and Values</h2>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="other_proto_type">
+<col class="other_proto_name">
+</colgroup>
+<tbody>
+<tr>
+<td class="datatype_keyword">struct</td>
+<td class="function_name"><a class="link" href="libgimpmath-GimpMatrix.html#GimpMatrix2" title="struct GimpMatrix2">GimpMatrix2</a></td>
+</tr>
+<tr>
+<td class="datatype_keyword">struct</td>
+<td class="function_name"><a class="link" href="libgimpmath-GimpMatrix.html#GimpMatrix3" title="struct GimpMatrix3">GimpMatrix3</a></td>
+</tr>
+<tr>
+<td class="datatype_keyword">struct</td>
+<td class="function_name"><a class="link" href="libgimpmath-GimpMatrix.html#GimpMatrix4" title="struct GimpMatrix4">GimpMatrix4</a></td>
+</tr>
+<tr>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="libgimpmath-GimpMatrix.html#GIMP-TYPE-MATRIX2:CAPS" title="GIMP_TYPE_MATRIX2">GIMP_TYPE_MATRIX2</a></td>
+</tr>
+<tr>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="libgimpmath-GimpMatrix.html#GIMP-TYPE-PARAM-MATRIX2:CAPS" title="GIMP_TYPE_PARAM_MATRIX2">GIMP_TYPE_PARAM_MATRIX2</a></td>
+</tr>
+<tr>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="libgimpmath-GimpMatrix.html#GIMP-TYPE-MATRIX3:CAPS" title="GIMP_TYPE_MATRIX3">GIMP_TYPE_MATRIX3</a></td>
+</tr>
+<tr>
+<td class="define_keyword">#define</td>
+<td class="function_name"><a class="link" href="libgimpmath-GimpMatrix.html#GIMP-TYPE-PARAM-MATRIX3:CAPS" title="GIMP_TYPE_PARAM_MATRIX3">GIMP_TYPE_PARAM_MATRIX3</a></td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect1">
+<a name="libgimpmath-GimpMatrix.description"></a><h2>Description</h2>
+<p>When doing image manipulation you will often need 3x3
+transformation matrices that define translation, rotation, scaling,
+shearing and arbitrary perspective transformations using a 3x3
+matrix. Here you'll find a set of utility functions to set up those
+matrices and to perform basic matrix manipulations and tests.</p>
+<p>Each matrix class has a 2 dimensional gdouble coeff member. The
+element for row r and column c of the matrix is coeffr.</p>
+</div>
+<div class="refsect1">
+<a name="libgimpmath-GimpMatrix.functions_details"></a><h2>Functions</h2>
+<div class="refsect2">
+<a name="gimp-matrix2-identity"></a><h3>gimp_matrix2_identity ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+gimp_matrix2_identity (<em class="parameter"><code><a class="link" href="libgimpmath-GimpMatrix.html#GimpMatrix2" title="struct GimpMatrix2"><span class="type">GimpMatrix2</span></a> *matrix</code></em>);</pre>
+<p>Sets the matrix to the identity matrix.</p>
+<div class="refsect3">
+<a name="gimp-matrix2-identity.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>matrix</p></td>
+<td class="parameter_description"><p>A matrix.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gimp-matrix2-mult"></a><h3>gimp_matrix2_mult ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+gimp_matrix2_mult (<em class="parameter"><code>const <a class="link" href="libgimpmath-GimpMatrix.html#GimpMatrix2" title="struct GimpMatrix2"><span class="type">GimpMatrix2</span></a> *matrix1</code></em>,
+ <em class="parameter"><code><a class="link" href="libgimpmath-GimpMatrix.html#GimpMatrix2" title="struct GimpMatrix2"><span class="type">GimpMatrix2</span></a> *matrix2</code></em>);</pre>
+<p>Multiplies two matrices and puts the result into the second one.</p>
+<div class="refsect3">
+<a name="gimp-matrix2-mult.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>matrix1</p></td>
+<td class="parameter_description"><p>The first input matrix.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>matrix2</p></td>
+<td class="parameter_description"><p>The second input matrix which will be overwritten by the result.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gimp-matrix2-determinant"></a><h3>gimp_matrix2_determinant ()</h3>
+<pre class="programlisting"><span class="returnvalue">gdouble</span>
+gimp_matrix2_determinant (<em class="parameter"><code>const <a class="link" href="libgimpmath-GimpMatrix.html#GimpMatrix2" title="struct GimpMatrix2"><span class="type">GimpMatrix2</span></a> *matrix</code></em>);</pre>
+<p>Calculates the determinant of the given matrix.</p>
+<div class="refsect3">
+<a name="gimp-matrix2-determinant.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>matrix</p></td>
+<td class="parameter_description"><p>The input matrix.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="gimp-matrix2-determinant.returns"></a><h4>Returns</h4>
+<p> The determinant.</p>
+</div>
+<p class="since">Since: 2.10.16</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gimp-matrix2-invert"></a><h3>gimp_matrix2_invert ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+gimp_matrix2_invert (<em class="parameter"><code><a class="link" href="libgimpmath-GimpMatrix.html#GimpMatrix2" title="struct GimpMatrix2"><span class="type">GimpMatrix2</span></a> *matrix</code></em>);</pre>
+<p>Inverts the given matrix.</p>
+<div class="refsect3">
+<a name="gimp-matrix2-invert.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>matrix</p></td>
+<td class="parameter_description"><p>The matrix that is to be inverted.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<p class="since">Since: 2.10.16</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gimp-matrix2-transform-point"></a><h3>gimp_matrix2_transform_point ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+gimp_matrix2_transform_point (<em class="parameter"><code>const <a class="link" href="libgimpmath-GimpMatrix.html#GimpMatrix2" title="struct GimpMatrix2"><span class="type">GimpMatrix2</span></a> *matrix</code></em>,
+ <em class="parameter"><code><span class="type">gdouble</span> x</code></em>,
+ <em class="parameter"><code><span class="type">gdouble</span> y</code></em>,
+ <em class="parameter"><code><span class="type">gdouble</span> *newx</code></em>,
+ <em class="parameter"><code><span class="type">gdouble</span> *newy</code></em>);</pre>
+<p>Transforms a point in 2D as specified by the transformation matrix.</p>
+<div class="refsect3">
+<a name="gimp-matrix2-transform-point.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>matrix</p></td>
+<td class="parameter_description"><p>The transformation matrix.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>x</p></td>
+<td class="parameter_description"><p>The source X coordinate.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>y</p></td>
+<td class="parameter_description"><p>The source Y coordinate.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>newx</p></td>
+<td class="parameter_description"><p>The transformed X coordinate.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>newy</p></td>
+<td class="parameter_description"><p>The transformed Y coordinate.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<p class="since">Since: 2.10.16</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gimp-matrix3-identity"></a><h3>gimp_matrix3_identity ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+gimp_matrix3_identity (<em class="parameter"><code><a class="link" href="libgimpmath-GimpMatrix.html#GimpMatrix3" title="struct GimpMatrix3"><span class="type">GimpMatrix3</span></a> *matrix</code></em>);</pre>
+<p>Sets the matrix to the identity matrix.</p>
+<div class="refsect3">
+<a name="gimp-matrix3-identity.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>matrix</p></td>
+<td class="parameter_description"><p>A matrix.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gimp-matrix3-mult"></a><h3>gimp_matrix3_mult ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+gimp_matrix3_mult (<em class="parameter"><code>const <a class="link" href="libgimpmath-GimpMatrix.html#GimpMatrix3" title="struct GimpMatrix3"><span class="type">GimpMatrix3</span></a> *matrix1</code></em>,
+ <em class="parameter"><code><a class="link" href="libgimpmath-GimpMatrix.html#GimpMatrix3" title="struct GimpMatrix3"><span class="type">GimpMatrix3</span></a> *matrix2</code></em>);</pre>
+<p>Multiplies two matrices and puts the result into the second one.</p>
+<div class="refsect3">
+<a name="gimp-matrix3-mult.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>matrix1</p></td>
+<td class="parameter_description"><p>The first input matrix.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>matrix2</p></td>
+<td class="parameter_description"><p>The second input matrix which will be overwritten by the result.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gimp-matrix3-translate"></a><h3>gimp_matrix3_translate ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+gimp_matrix3_translate (<em class="parameter"><code><a class="link" href="libgimpmath-GimpMatrix.html#GimpMatrix3" title="struct GimpMatrix3"><span class="type">GimpMatrix3</span></a> *matrix</code></em>,
+ <em class="parameter"><code><span class="type">gdouble</span> x</code></em>,
+ <em class="parameter"><code><span class="type">gdouble</span> y</code></em>);</pre>
+<p>Translates the matrix by x and y.</p>
+<div class="refsect3">
+<a name="gimp-matrix3-translate.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>matrix</p></td>
+<td class="parameter_description"><p>The matrix that is to be translated.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>x</p></td>
+<td class="parameter_description"><p>Translation in X direction.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>y</p></td>
+<td class="parameter_description"><p>Translation in Y direction.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gimp-matrix3-scale"></a><h3>gimp_matrix3_scale ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+gimp_matrix3_scale (<em class="parameter"><code><a class="link" href="libgimpmath-GimpMatrix.html#GimpMatrix3" title="struct GimpMatrix3"><span class="type">GimpMatrix3</span></a> *matrix</code></em>,
+ <em class="parameter"><code><span class="type">gdouble</span> x</code></em>,
+ <em class="parameter"><code><span class="type">gdouble</span> y</code></em>);</pre>
+<p>Scales the matrix by x and y</p>
+<div class="refsect3">
+<a name="gimp-matrix3-scale.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>matrix</p></td>
+<td class="parameter_description"><p>The matrix that is to be scaled.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>x</p></td>
+<td class="parameter_description"><p>X scale factor.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>y</p></td>
+<td class="parameter_description"><p>Y scale factor.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gimp-matrix3-rotate"></a><h3>gimp_matrix3_rotate ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+gimp_matrix3_rotate (<em class="parameter"><code><a class="link" href="libgimpmath-GimpMatrix.html#GimpMatrix3" title="struct GimpMatrix3"><span class="type">GimpMatrix3</span></a> *matrix</code></em>,
+ <em class="parameter"><code><span class="type">gdouble</span> theta</code></em>);</pre>
+<p>Rotates the matrix by theta degrees.</p>
+<div class="refsect3">
+<a name="gimp-matrix3-rotate.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>matrix</p></td>
+<td class="parameter_description"><p>The matrix that is to be rotated.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>theta</p></td>
+<td class="parameter_description"><p>The angle of rotation (in radians).</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gimp-matrix3-xshear"></a><h3>gimp_matrix3_xshear ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+gimp_matrix3_xshear (<em class="parameter"><code><a class="link" href="libgimpmath-GimpMatrix.html#GimpMatrix3" title="struct GimpMatrix3"><span class="type">GimpMatrix3</span></a> *matrix</code></em>,
+ <em class="parameter"><code><span class="type">gdouble</span> amount</code></em>);</pre>
+<p>Shears the matrix in the X direction.</p>
+<div class="refsect3">
+<a name="gimp-matrix3-xshear.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>matrix</p></td>
+<td class="parameter_description"><p>The matrix that is to be sheared.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>amount</p></td>
+<td class="parameter_description"><p>X shear amount.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gimp-matrix3-yshear"></a><h3>gimp_matrix3_yshear ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+gimp_matrix3_yshear (<em class="parameter"><code><a class="link" href="libgimpmath-GimpMatrix.html#GimpMatrix3" title="struct GimpMatrix3"><span class="type">GimpMatrix3</span></a> *matrix</code></em>,
+ <em class="parameter"><code><span class="type">gdouble</span> amount</code></em>);</pre>
+<p>Shears the matrix in the Y direction.</p>
+<div class="refsect3">
+<a name="gimp-matrix3-yshear.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>matrix</p></td>
+<td class="parameter_description"><p>The matrix that is to be sheared.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>amount</p></td>
+<td class="parameter_description"><p>Y shear amount.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gimp-matrix3-affine"></a><h3>gimp_matrix3_affine ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+gimp_matrix3_affine (<em class="parameter"><code><a class="link" href="libgimpmath-GimpMatrix.html#GimpMatrix3" title="struct GimpMatrix3"><span class="type">GimpMatrix3</span></a> *matrix</code></em>,
+ <em class="parameter"><code><span class="type">gdouble</span> a</code></em>,
+ <em class="parameter"><code><span class="type">gdouble</span> b</code></em>,
+ <em class="parameter"><code><span class="type">gdouble</span> c</code></em>,
+ <em class="parameter"><code><span class="type">gdouble</span> d</code></em>,
+ <em class="parameter"><code><span class="type">gdouble</span> e</code></em>,
+ <em class="parameter"><code><span class="type">gdouble</span> f</code></em>);</pre>
+<p>Applies the affine transformation given by six values to <em class="parameter"><code>matrix</code></em>
+.
+The six values form define an affine transformation matrix as
+illustrated below:</p>
+<p> ( a c e )
+ ( b d f )
+ ( 0 0 1 )</p>
+<div class="refsect3">
+<a name="gimp-matrix3-affine.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>matrix</p></td>
+<td class="parameter_description"><p>The input matrix.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>a</p></td>
+<td class="parameter_description"><p>the 'a' coefficient</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>b</p></td>
+<td class="parameter_description"><p>the 'b' coefficient</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>c</p></td>
+<td class="parameter_description"><p>the 'c' coefficient</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>d</p></td>
+<td class="parameter_description"><p>the 'd' coefficient</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>e</p></td>
+<td class="parameter_description"><p>the 'e' coefficient</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>f</p></td>
+<td class="parameter_description"><p>the 'f' coefficient</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gimp-matrix3-transform-point"></a><h3>gimp_matrix3_transform_point ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+gimp_matrix3_transform_point (<em class="parameter"><code>const <a class="link" href="libgimpmath-GimpMatrix.html#GimpMatrix3" title="struct GimpMatrix3"><span class="type">GimpMatrix3</span></a> *matrix</code></em>,
+ <em class="parameter"><code><span class="type">gdouble</span> x</code></em>,
+ <em class="parameter"><code><span class="type">gdouble</span> y</code></em>,
+ <em class="parameter"><code><span class="type">gdouble</span> *newx</code></em>,
+ <em class="parameter"><code><span class="type">gdouble</span> *newy</code></em>);</pre>
+<p>Transforms a point in 2D as specified by the transformation matrix.</p>
+<div class="refsect3">
+<a name="gimp-matrix3-transform-point.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>matrix</p></td>
+<td class="parameter_description"><p>The transformation matrix.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>x</p></td>
+<td class="parameter_description"><p>The source X coordinate.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>y</p></td>
+<td class="parameter_description"><p>The source Y coordinate.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>newx</p></td>
+<td class="parameter_description"><p>The transformed X coordinate.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>newy</p></td>
+<td class="parameter_description"><p>The transformed Y coordinate.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gimp-matrix3-determinant"></a><h3>gimp_matrix3_determinant ()</h3>
+<pre class="programlisting"><span class="returnvalue">gdouble</span>
+gimp_matrix3_determinant (<em class="parameter"><code>const <a class="link" href="libgimpmath-GimpMatrix.html#GimpMatrix3" title="struct GimpMatrix3"><span class="type">GimpMatrix3</span></a> *matrix</code></em>);</pre>
+<p>Calculates the determinant of the given matrix.</p>
+<div class="refsect3">
+<a name="gimp-matrix3-determinant.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>matrix</p></td>
+<td class="parameter_description"><p>The input matrix.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="gimp-matrix3-determinant.returns"></a><h4>Returns</h4>
+<p> The determinant.</p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gimp-matrix3-invert"></a><h3>gimp_matrix3_invert ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+gimp_matrix3_invert (<em class="parameter"><code><a class="link" href="libgimpmath-GimpMatrix.html#GimpMatrix3" title="struct GimpMatrix3"><span class="type">GimpMatrix3</span></a> *matrix</code></em>);</pre>
+<p>Inverts the given matrix.</p>
+<div class="refsect3">
+<a name="gimp-matrix3-invert.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>matrix</p></td>
+<td class="parameter_description"><p>The matrix that is to be inverted.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gimp-matrix3-is-identity"></a><h3>gimp_matrix3_is_identity ()</h3>
+<pre class="programlisting"><span class="returnvalue">gboolean</span>
+gimp_matrix3_is_identity (<em class="parameter"><code>const <a class="link" href="libgimpmath-GimpMatrix.html#GimpMatrix3" title="struct GimpMatrix3"><span class="type">GimpMatrix3</span></a> *matrix</code></em>);</pre>
+<p>Checks if the given matrix is the identity matrix.</p>
+<div class="refsect3">
+<a name="gimp-matrix3-is-identity.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>matrix</p></td>
+<td class="parameter_description"><p>The matrix that is to be tested.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="gimp-matrix3-is-identity.returns"></a><h4>Returns</h4>
+<p> <code class="literal">TRUE</code> if the matrix is the identity matrix, <code class="literal">FALSE</code> otherwise</p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gimp-matrix3-is-diagonal"></a><h3>gimp_matrix3_is_diagonal ()</h3>
+<pre class="programlisting"><span class="returnvalue">gboolean</span>
+gimp_matrix3_is_diagonal (<em class="parameter"><code>const <a class="link" href="libgimpmath-GimpMatrix.html#GimpMatrix3" title="struct GimpMatrix3"><span class="type">GimpMatrix3</span></a> *matrix</code></em>);</pre>
+<p>Checks if the given matrix is diagonal.</p>
+<div class="refsect3">
+<a name="gimp-matrix3-is-diagonal.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>matrix</p></td>
+<td class="parameter_description"><p>The matrix that is to be tested.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="gimp-matrix3-is-diagonal.returns"></a><h4>Returns</h4>
+<p> <code class="literal">TRUE</code> if the matrix is diagonal, <code class="literal">FALSE</code> otherwise</p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gimp-matrix3-is-affine"></a><h3>gimp_matrix3_is_affine ()</h3>
+<pre class="programlisting"><span class="returnvalue">gboolean</span>
+gimp_matrix3_is_affine (<em class="parameter"><code>const <a class="link" href="libgimpmath-GimpMatrix.html#GimpMatrix3" title="struct GimpMatrix3"><span class="type">GimpMatrix3</span></a> *matrix</code></em>);</pre>
+<p>Checks if the given matrix defines an affine transformation.</p>
+<div class="refsect3">
+<a name="gimp-matrix3-is-affine.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>matrix</p></td>
+<td class="parameter_description"><p>The matrix that is to be tested.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="gimp-matrix3-is-affine.returns"></a><h4>Returns</h4>
+<p> <code class="literal">TRUE</code> if the matrix defines an affine transformation,
+<code class="literal">FALSE</code> otherwise</p>
+</div>
+<p class="since">Since: <a class="link" href="api-index-2-4.html#api-index-2.4">2.4</a></p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gimp-matrix3-is-simple"></a><h3>gimp_matrix3_is_simple ()</h3>
+<pre class="programlisting"><span class="returnvalue">gboolean</span>
+gimp_matrix3_is_simple (<em class="parameter"><code>const <a class="link" href="libgimpmath-GimpMatrix.html#GimpMatrix3" title="struct GimpMatrix3"><span class="type">GimpMatrix3</span></a> *matrix</code></em>);</pre>
+<p>Checks if we'll need to interpolate when applying this matrix as
+a transformation.</p>
+<div class="refsect3">
+<a name="gimp-matrix3-is-simple.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>matrix</p></td>
+<td class="parameter_description"><p>The matrix that is to be tested.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="gimp-matrix3-is-simple.returns"></a><h4>Returns</h4>
+<p> <code class="literal">TRUE</code> if all entries of the upper left 2x2 matrix are
+either 0 or 1, <code class="literal">FALSE</code> otherwise</p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gimp-matrix3-equal"></a><h3>gimp_matrix3_equal ()</h3>
+<pre class="programlisting"><span class="returnvalue">gboolean</span>
+gimp_matrix3_equal (<em class="parameter"><code>const <a class="link" href="libgimpmath-GimpMatrix.html#GimpMatrix3" title="struct GimpMatrix3"><span class="type">GimpMatrix3</span></a> *matrix1</code></em>,
+ <em class="parameter"><code>const <a class="link" href="libgimpmath-GimpMatrix.html#GimpMatrix3" title="struct GimpMatrix3"><span class="type">GimpMatrix3</span></a> *matrix2</code></em>);</pre>
+<p>Checks if two matrices are equal.</p>
+<div class="refsect3">
+<a name="gimp-matrix3-equal.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>matrix1</p></td>
+<td class="parameter_description"><p>The first matrix</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>matrix2</p></td>
+<td class="parameter_description"><p>The second matrix</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="gimp-matrix3-equal.returns"></a><h4>Returns</h4>
+<p> <code class="literal">TRUE</code> the matrices are equal, <code class="literal">FALSE</code> otherwise</p>
+</div>
+<p class="since">Since: 2.10.16</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gimp-matrix4-identity"></a><h3>gimp_matrix4_identity ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+gimp_matrix4_identity (<em class="parameter"><code><a class="link" href="libgimpmath-GimpMatrix.html#GimpMatrix4" title="struct GimpMatrix4"><span class="type">GimpMatrix4</span></a> *matrix</code></em>);</pre>
+<p>Sets the matrix to the identity matrix.</p>
+<div class="refsect3">
+<a name="gimp-matrix4-identity.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>matrix</p></td>
+<td class="parameter_description"><p>A matrix.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<p class="since">Since: 2.10.16</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gimp-matrix4-mult"></a><h3>gimp_matrix4_mult ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+gimp_matrix4_mult (<em class="parameter"><code>const <a class="link" href="libgimpmath-GimpMatrix.html#GimpMatrix4" title="struct GimpMatrix4"><span class="type">GimpMatrix4</span></a> *matrix1</code></em>,
+ <em class="parameter"><code><a class="link" href="libgimpmath-GimpMatrix.html#GimpMatrix4" title="struct GimpMatrix4"><span class="type">GimpMatrix4</span></a> *matrix2</code></em>);</pre>
+<p>Multiplies two matrices and puts the result into the second one.</p>
+<div class="refsect3">
+<a name="gimp-matrix4-mult.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>matrix1</p></td>
+<td class="parameter_description"><p>The first input matrix.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>matrix2</p></td>
+<td class="parameter_description"><p>The second input matrix which will be overwritten by the result.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<p class="since">Since: 2.10.16</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gimp-matrix4-to-deg"></a><h3>gimp_matrix4_to_deg ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+gimp_matrix4_to_deg (<em class="parameter"><code>const <a class="link" href="libgimpmath-GimpMatrix.html#GimpMatrix4" title="struct GimpMatrix4"><span class="type">GimpMatrix4</span></a> *matrix</code></em>,
+ <em class="parameter"><code><span class="type">gdouble</span> *a</code></em>,
+ <em class="parameter"><code><span class="type">gdouble</span> *b</code></em>,
+ <em class="parameter"><code><span class="type">gdouble</span> *c</code></em>);</pre>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gimp-matrix4-transform-point"></a><h3>gimp_matrix4_transform_point ()</h3>
+<pre class="programlisting"><span class="returnvalue">gdouble</span>
+gimp_matrix4_transform_point (<em class="parameter"><code>const <a class="link" href="libgimpmath-GimpMatrix.html#GimpMatrix4" title="struct GimpMatrix4"><span class="type">GimpMatrix4</span></a> *matrix</code></em>,
+ <em class="parameter"><code><span class="type">gdouble</span> x</code></em>,
+ <em class="parameter"><code><span class="type">gdouble</span> y</code></em>,
+ <em class="parameter"><code><span class="type">gdouble</span> z</code></em>,
+ <em class="parameter"><code><span class="type">gdouble</span> *newx</code></em>,
+ <em class="parameter"><code><span class="type">gdouble</span> *newy</code></em>,
+ <em class="parameter"><code><span class="type">gdouble</span> *newz</code></em>);</pre>
+<p>Transforms a point in 3D as specified by the transformation matrix.</p>
+<div class="refsect3">
+<a name="gimp-matrix4-transform-point.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>matrix</p></td>
+<td class="parameter_description"><p>The transformation matrix.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>x</p></td>
+<td class="parameter_description"><p>The source X coordinate.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>y</p></td>
+<td class="parameter_description"><p>The source Y coordinate.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>z</p></td>
+<td class="parameter_description"><p>The source Z coordinate.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>newx</p></td>
+<td class="parameter_description"><p>The transformed X coordinate.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>newy</p></td>
+<td class="parameter_description"><p>The transformed Y coordinate.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>newz</p></td>
+<td class="parameter_description"><p>The transformed Z coordinate.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="gimp-matrix4-transform-point.returns"></a><h4>Returns</h4>
+<p> The transformed W coordinate.</p>
+</div>
+<p class="since">Since: 2.10.16</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="GIMP-IS-PARAM-SPEC-MATRIX2:CAPS"></a><h3>GIMP_IS_PARAM_SPEC_MATRIX2()</h3>
+<pre class="programlisting">#define GIMP_IS_PARAM_SPEC_MATRIX2(pspec) (G_TYPE_CHECK_INSTANCE_TYPE ((pspec), GIMP_TYPE_PARAM_MATRIX2))
+</pre>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gimp-param-spec-matrix2"></a><h3>gimp_param_spec_matrix2 ()</h3>
+<pre class="programlisting"><span class="returnvalue">GParamSpec</span> *
+gimp_param_spec_matrix2 (<em class="parameter"><code>const <span class="type">gchar</span> *name</code></em>,
+ <em class="parameter"><code>const <span class="type">gchar</span> *nick</code></em>,
+ <em class="parameter"><code>const <span class="type">gchar</span> *blurb</code></em>,
+ <em class="parameter"><code>const <a class="link" href="libgimpmath-GimpMatrix.html#GimpMatrix2" title="struct GimpMatrix2"><span class="type">GimpMatrix2</span></a> *default_value</code></em>,
+ <em class="parameter"><code><span class="type">GParamFlags</span> flags</code></em>);</pre>
+<p>Creates a param spec to hold a <a class="link" href="libgimpmath-GimpMatrix.html#GimpMatrix2" title="struct GimpMatrix2"><span class="type">GimpMatrix2</span></a> value.
+See <code class="function">g_param_spec_internal()</code> for more information.</p>
+<div class="refsect3">
+<a name="gimp-param-spec-matrix2.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>name</p></td>
+<td class="parameter_description"><p>Canonical name of the param</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>nick</p></td>
+<td class="parameter_description"><p>Nickname of the param</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>blurb</p></td>
+<td class="parameter_description"><p>Brief description of param.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>default_value</p></td>
+<td class="parameter_description"><p>Value to use if none is assigned.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>flags</p></td>
+<td class="parameter_description"><p>a combination of <span class="type">GParamFlags</span></p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="gimp-param-spec-matrix2.returns"></a><h4>Returns</h4>
+<p> a newly allocated <span class="type">GParamSpec</span> instance</p>
+</div>
+<p class="since">Since: <a class="link" href="api-index-2-4.html#api-index-2.4">2.4</a></p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="GIMP-VALUE-HOLDS-MATRIX2:CAPS"></a><h3>GIMP_VALUE_HOLDS_MATRIX2()</h3>
+<pre class="programlisting">#define GIMP_VALUE_HOLDS_MATRIX2(value) (G_TYPE_CHECK_VALUE_TYPE ((value), GIMP_TYPE_MATRIX2))
+</pre>
+</div>
+<hr>
+<div class="refsect2">
+<a name="GIMP-IS-PARAM-SPEC-MATRIX3:CAPS"></a><h3>GIMP_IS_PARAM_SPEC_MATRIX3()</h3>
+<pre class="programlisting">#define GIMP_IS_PARAM_SPEC_MATRIX3(pspec) (G_TYPE_CHECK_INSTANCE_TYPE ((pspec), GIMP_TYPE_PARAM_MATRIX3))
+</pre>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gimp-param-spec-matrix3"></a><h3>gimp_param_spec_matrix3 ()</h3>
+<pre class="programlisting"><span class="returnvalue">GParamSpec</span> *
+gimp_param_spec_matrix3 (<em class="parameter"><code>const <span class="type">gchar</span> *name</code></em>,
+ <em class="parameter"><code>const <span class="type">gchar</span> *nick</code></em>,
+ <em class="parameter"><code>const <span class="type">gchar</span> *blurb</code></em>,
+ <em class="parameter"><code>const <a class="link" href="libgimpmath-GimpMatrix.html#GimpMatrix3" title="struct GimpMatrix3"><span class="type">GimpMatrix3</span></a> *default_value</code></em>,
+ <em class="parameter"><code><span class="type">GParamFlags</span> flags</code></em>);</pre>
+<p>Creates a param spec to hold a <a class="link" href="libgimpmath-GimpMatrix.html#GimpMatrix3" title="struct GimpMatrix3"><span class="type">GimpMatrix3</span></a> value.
+See <code class="function">g_param_spec_internal()</code> for more information.</p>
+<div class="refsect3">
+<a name="gimp-param-spec-matrix3.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>name</p></td>
+<td class="parameter_description"><p>Canonical name of the param</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>nick</p></td>
+<td class="parameter_description"><p>Nickname of the param</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>blurb</p></td>
+<td class="parameter_description"><p>Brief description of param.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>default_value</p></td>
+<td class="parameter_description"><p>Value to use if none is assigned.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>flags</p></td>
+<td class="parameter_description"><p>a combination of <span class="type">GParamFlags</span></p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="gimp-param-spec-matrix3.returns"></a><h4>Returns</h4>
+<p> a newly allocated <span class="type">GParamSpec</span> instance</p>
+</div>
+<p class="since">Since: <a class="link" href="api-index-2-8.html#api-index-2.8">2.8</a></p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="GIMP-VALUE-HOLDS-MATRIX3:CAPS"></a><h3>GIMP_VALUE_HOLDS_MATRIX3()</h3>
+<pre class="programlisting">#define GIMP_VALUE_HOLDS_MATRIX3(value) (G_TYPE_CHECK_VALUE_TYPE ((value), GIMP_TYPE_MATRIX3))
+</pre>
+</div>
+</div>
+<div class="refsect1">
+<a name="libgimpmath-GimpMatrix.other_details"></a><h2>Types and Values</h2>
+<div class="refsect2">
+<a name="GimpMatrix2"></a><h3>struct GimpMatrix2</h3>
+<pre class="programlisting">struct GimpMatrix2 {
+ gdouble coeff[2][2];
+};
+</pre>
+<p>A two by two matrix.</p>
+<div class="refsect3">
+<a name="GimpMatrix2.members"></a><h4>Members</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="300px" class="struct_members_name">
+<col class="struct_members_description">
+<col width="200px" class="struct_members_annotations">
+</colgroup>
+<tbody><tr>
+<td class="struct_member_name"><p><span class="type">gdouble</span> <em class="structfield"><code><a name="GimpMatrix2.coeff"></a>coeff</code></em>[2][2];</p></td>
+<td class="struct_member_description"><p>the coefficients</p></td>
+<td class="struct_member_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="GimpMatrix3"></a><h3>struct GimpMatrix3</h3>
+<pre class="programlisting">struct GimpMatrix3 {
+ gdouble coeff[3][3];
+};
+</pre>
+<p>A three by three matrix.</p>
+<div class="refsect3">
+<a name="GimpMatrix3.members"></a><h4>Members</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="300px" class="struct_members_name">
+<col class="struct_members_description">
+<col width="200px" class="struct_members_annotations">
+</colgroup>
+<tbody><tr>
+<td class="struct_member_name"><p><span class="type">gdouble</span> <em class="structfield"><code><a name="GimpMatrix3.coeff"></a>coeff</code></em>[3][3];</p></td>
+<td class="struct_member_description"><p>the coefficients</p></td>
+<td class="struct_member_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="GimpMatrix4"></a><h3>struct GimpMatrix4</h3>
+<pre class="programlisting">struct GimpMatrix4 {
+ gdouble coeff[4][4];
+};
+</pre>
+<p>A four by four matrix.</p>
+<div class="refsect3">
+<a name="GimpMatrix4.members"></a><h4>Members</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="300px" class="struct_members_name">
+<col class="struct_members_description">
+<col width="200px" class="struct_members_annotations">
+</colgroup>
+<tbody><tr>
+<td class="struct_member_name"><p><span class="type">gdouble</span> <em class="structfield"><code><a name="GimpMatrix4.coeff"></a>coeff</code></em>[4][4];</p></td>
+<td class="struct_member_description"><p>the coefficients</p></td>
+<td class="struct_member_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="GIMP-TYPE-MATRIX2:CAPS"></a><h3>GIMP_TYPE_MATRIX2</h3>
+<pre class="programlisting">#define GIMP_TYPE_MATRIX2 (gimp_matrix2_get_type ())
+</pre>
+</div>
+<hr>
+<div class="refsect2">
+<a name="GIMP-TYPE-PARAM-MATRIX2:CAPS"></a><h3>GIMP_TYPE_PARAM_MATRIX2</h3>
+<pre class="programlisting">#define GIMP_TYPE_PARAM_MATRIX2 (gimp_param_matrix2_get_type ())
+</pre>
+</div>
+<hr>
+<div class="refsect2">
+<a name="GIMP-TYPE-MATRIX3:CAPS"></a><h3>GIMP_TYPE_MATRIX3</h3>
+<pre class="programlisting">#define GIMP_TYPE_MATRIX3 (gimp_matrix3_get_type ())
+</pre>
+</div>
+<hr>
+<div class="refsect2">
+<a name="GIMP-TYPE-PARAM-MATRIX3:CAPS"></a><h3>GIMP_TYPE_PARAM_MATRIX3</h3>
+<pre class="programlisting">#define GIMP_TYPE_PARAM_MATRIX3 (gimp_param_matrix3_get_type ())
+</pre>
+</div>
+</div>
+<div class="refsect1">
+<a name="libgimpmath-GimpMatrix.see-also"></a><h2>See Also</h2>
+<p><a class="link" href="libgimpmath-GimpVector.html#GimpVector2" title="struct GimpVector2"><span class="type">GimpVector2</span></a>, <a class="link" href="libgimpmath-GimpVector.html#GimpVector3" title="struct GimpVector3"><span class="type">GimpVector3</span></a>, <a class="link" href="libgimpmath-GimpVector.html#GimpVector4" title="struct GimpVector4"><span class="type">GimpVector4</span></a></p>
+</div>
+</div>
+<div class="footer">
+<hr>Generated by GTK-Doc V1.33.1</div>
+</body>
+</html> \ No newline at end of file
diff --git a/devel-docs/libgimpmath/html/libgimpmath-GimpVector.html b/devel-docs/libgimpmath/html/libgimpmath-GimpVector.html
new file mode 100644
index 0000000..7011481
--- /dev/null
+++ b/devel-docs/libgimpmath/html/libgimpmath-GimpVector.html
@@ -0,0 +1,2219 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>GimpVector: GIMP Math Library Reference Manual</title>
+<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot">
+<link rel="home" href="index.html" title="GIMP Math Library Reference Manual">
+<link rel="up" href="pt01.html" title="Part I. GIMP Math Library">
+<link rel="prev" href="libgimpmath-GimpMatrix.html" title="GimpMatrix">
+<link rel="next" href="libgimpmath-GimpMD5.html" title="GimpMD5">
+<meta name="generator" content="GTK-Doc V1.33.1 (XML mode)">
+<link rel="stylesheet" href="style.css" type="text/css">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
+<td width="100%" align="left" class="shortcuts">
+<a href="#" class="shortcut">Top</a><span id="nav_description">  <span class="dim">|</span> 
+ <a href="#libgimpmath-GimpVector.description" class="shortcut">Description</a></span>
+</td>
+<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
+<td><a accesskey="u" href="pt01.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<td><a accesskey="p" href="libgimpmath-GimpMatrix.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
+<td><a accesskey="n" href="libgimpmath-GimpMD5.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
+</tr></table>
+<div class="refentry">
+<a name="libgimpmath-GimpVector"></a><div class="titlepage"></div>
+<div class="refnamediv"><table width="100%"><tr>
+<td valign="top">
+<h2><span class="refentrytitle"><a name="libgimpmath-GimpVector.top_of_page"></a>GimpVector</span></h2>
+<p>GimpVector — Utilities to set up and manipulate vectors.</p>
+</td>
+<td class="gallery_image" valign="top" align="right"></td>
+</tr></table></div>
+<div class="refsect1">
+<a name="libgimpmath-GimpVector.functions"></a><h2>Functions</h2>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="functions_proto_type">
+<col class="functions_proto_name">
+</colgroup>
+<tbody>
+<tr>
+<td class="function_type">
+<a class="link" href="libgimpmath-GimpVector.html#GimpVector2" title="struct GimpVector2"><span class="returnvalue">GimpVector2</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="libgimpmath-GimpVector.html#gimp-vector2-new" title="gimp_vector2_new ()">gimp_vector2_new</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">void</span>
+</td>
+<td class="function_name">
+<a class="link" href="libgimpmath-GimpVector.html#gimp-vector2-set" title="gimp_vector2_set ()">gimp_vector2_set</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">gdouble</span>
+</td>
+<td class="function_name">
+<a class="link" href="libgimpmath-GimpVector.html#gimp-vector2-length" title="gimp_vector2_length ()">gimp_vector2_length</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">gdouble</span>
+</td>
+<td class="function_name">
+<a class="link" href="libgimpmath-GimpVector.html#gimp-vector2-length-val" title="gimp_vector2_length_val ()">gimp_vector2_length_val</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">void</span>
+</td>
+<td class="function_name">
+<a class="link" href="libgimpmath-GimpVector.html#gimp-vector2-mul" title="gimp_vector2_mul ()">gimp_vector2_mul</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a class="link" href="libgimpmath-GimpVector.html#GimpVector2" title="struct GimpVector2"><span class="returnvalue">GimpVector2</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="libgimpmath-GimpVector.html#gimp-vector2-mul-val" title="gimp_vector2_mul_val ()">gimp_vector2_mul_val</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a class="link" href="libgimpmath-GimpVector.html#GimpVector2" title="struct GimpVector2"><span class="returnvalue">GimpVector2</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="libgimpmath-GimpVector.html#gimp-vector2-normal" title="gimp_vector2_normal ()">gimp_vector2_normal</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a class="link" href="libgimpmath-GimpVector.html#GimpVector2" title="struct GimpVector2"><span class="returnvalue">GimpVector2</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="libgimpmath-GimpVector.html#gimp-vector2-normal-val" title="gimp_vector2_normal_val ()">gimp_vector2_normal_val</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">void</span>
+</td>
+<td class="function_name">
+<a class="link" href="libgimpmath-GimpVector.html#gimp-vector2-normalize" title="gimp_vector2_normalize ()">gimp_vector2_normalize</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a class="link" href="libgimpmath-GimpVector.html#GimpVector2" title="struct GimpVector2"><span class="returnvalue">GimpVector2</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="libgimpmath-GimpVector.html#gimp-vector2-normalize-val" title="gimp_vector2_normalize_val ()">gimp_vector2_normalize_val</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">void</span>
+</td>
+<td class="function_name">
+<a class="link" href="libgimpmath-GimpVector.html#gimp-vector2-neg" title="gimp_vector2_neg ()">gimp_vector2_neg</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a class="link" href="libgimpmath-GimpVector.html#GimpVector2" title="struct GimpVector2"><span class="returnvalue">GimpVector2</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="libgimpmath-GimpVector.html#gimp-vector2-neg-val" title="gimp_vector2_neg_val ()">gimp_vector2_neg_val</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">void</span>
+</td>
+<td class="function_name">
+<a class="link" href="libgimpmath-GimpVector.html#gimp-vector2-add" title="gimp_vector2_add ()">gimp_vector2_add</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a class="link" href="libgimpmath-GimpVector.html#GimpVector2" title="struct GimpVector2"><span class="returnvalue">GimpVector2</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="libgimpmath-GimpVector.html#gimp-vector2-add-val" title="gimp_vector2_add_val ()">gimp_vector2_add_val</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">void</span>
+</td>
+<td class="function_name">
+<a class="link" href="libgimpmath-GimpVector.html#gimp-vector2-sub" title="gimp_vector2_sub ()">gimp_vector2_sub</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a class="link" href="libgimpmath-GimpVector.html#GimpVector2" title="struct GimpVector2"><span class="returnvalue">GimpVector2</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="libgimpmath-GimpVector.html#gimp-vector2-sub-val" title="gimp_vector2_sub_val ()">gimp_vector2_sub_val</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">gdouble</span>
+</td>
+<td class="function_name">
+<a class="link" href="libgimpmath-GimpVector.html#gimp-vector2-inner-product" title="gimp_vector2_inner_product ()">gimp_vector2_inner_product</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">gdouble</span>
+</td>
+<td class="function_name">
+<a class="link" href="libgimpmath-GimpVector.html#gimp-vector2-inner-product-val" title="gimp_vector2_inner_product_val ()">gimp_vector2_inner_product_val</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a class="link" href="libgimpmath-GimpVector.html#GimpVector2" title="struct GimpVector2"><span class="returnvalue">GimpVector2</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="libgimpmath-GimpVector.html#gimp-vector2-cross-product" title="gimp_vector2_cross_product ()">gimp_vector2_cross_product</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a class="link" href="libgimpmath-GimpVector.html#GimpVector2" title="struct GimpVector2"><span class="returnvalue">GimpVector2</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="libgimpmath-GimpVector.html#gimp-vector2-cross-product-val" title="gimp_vector2_cross_product_val ()">gimp_vector2_cross_product_val</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">void</span>
+</td>
+<td class="function_name">
+<a class="link" href="libgimpmath-GimpVector.html#gimp-vector2-rotate" title="gimp_vector2_rotate ()">gimp_vector2_rotate</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a class="link" href="libgimpmath-GimpVector.html#GimpVector2" title="struct GimpVector2"><span class="returnvalue">GimpVector2</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="libgimpmath-GimpVector.html#gimp-vector2-rotate-val" title="gimp_vector2_rotate_val ()">gimp_vector2_rotate_val</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a class="link" href="libgimpmath-GimpVector.html#GimpVector3" title="struct GimpVector3"><span class="returnvalue">GimpVector3</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="libgimpmath-GimpVector.html#gimp-vector3-new" title="gimp_vector3_new ()">gimp_vector3_new</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">void</span>
+</td>
+<td class="function_name">
+<a class="link" href="libgimpmath-GimpVector.html#gimp-vector3-set" title="gimp_vector3_set ()">gimp_vector3_set</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">gdouble</span>
+</td>
+<td class="function_name">
+<a class="link" href="libgimpmath-GimpVector.html#gimp-vector3-length" title="gimp_vector3_length ()">gimp_vector3_length</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">gdouble</span>
+</td>
+<td class="function_name">
+<a class="link" href="libgimpmath-GimpVector.html#gimp-vector3-length-val" title="gimp_vector3_length_val ()">gimp_vector3_length_val</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">void</span>
+</td>
+<td class="function_name">
+<a class="link" href="libgimpmath-GimpVector.html#gimp-vector3-mul" title="gimp_vector3_mul ()">gimp_vector3_mul</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a class="link" href="libgimpmath-GimpVector.html#GimpVector3" title="struct GimpVector3"><span class="returnvalue">GimpVector3</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="libgimpmath-GimpVector.html#gimp-vector3-mul-val" title="gimp_vector3_mul_val ()">gimp_vector3_mul_val</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">void</span>
+</td>
+<td class="function_name">
+<a class="link" href="libgimpmath-GimpVector.html#gimp-vector3-normalize" title="gimp_vector3_normalize ()">gimp_vector3_normalize</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a class="link" href="libgimpmath-GimpVector.html#GimpVector3" title="struct GimpVector3"><span class="returnvalue">GimpVector3</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="libgimpmath-GimpVector.html#gimp-vector3-normalize-val" title="gimp_vector3_normalize_val ()">gimp_vector3_normalize_val</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">void</span>
+</td>
+<td class="function_name">
+<a class="link" href="libgimpmath-GimpVector.html#gimp-vector3-neg" title="gimp_vector3_neg ()">gimp_vector3_neg</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a class="link" href="libgimpmath-GimpVector.html#GimpVector3" title="struct GimpVector3"><span class="returnvalue">GimpVector3</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="libgimpmath-GimpVector.html#gimp-vector3-neg-val" title="gimp_vector3_neg_val ()">gimp_vector3_neg_val</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">void</span>
+</td>
+<td class="function_name">
+<a class="link" href="libgimpmath-GimpVector.html#gimp-vector3-add" title="gimp_vector3_add ()">gimp_vector3_add</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a class="link" href="libgimpmath-GimpVector.html#GimpVector3" title="struct GimpVector3"><span class="returnvalue">GimpVector3</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="libgimpmath-GimpVector.html#gimp-vector3-add-val" title="gimp_vector3_add_val ()">gimp_vector3_add_val</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">void</span>
+</td>
+<td class="function_name">
+<a class="link" href="libgimpmath-GimpVector.html#gimp-vector3-sub" title="gimp_vector3_sub ()">gimp_vector3_sub</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a class="link" href="libgimpmath-GimpVector.html#GimpVector3" title="struct GimpVector3"><span class="returnvalue">GimpVector3</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="libgimpmath-GimpVector.html#gimp-vector3-sub-val" title="gimp_vector3_sub_val ()">gimp_vector3_sub_val</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">gdouble</span>
+</td>
+<td class="function_name">
+<a class="link" href="libgimpmath-GimpVector.html#gimp-vector3-inner-product" title="gimp_vector3_inner_product ()">gimp_vector3_inner_product</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">gdouble</span>
+</td>
+<td class="function_name">
+<a class="link" href="libgimpmath-GimpVector.html#gimp-vector3-inner-product-val" title="gimp_vector3_inner_product_val ()">gimp_vector3_inner_product_val</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a class="link" href="libgimpmath-GimpVector.html#GimpVector3" title="struct GimpVector3"><span class="returnvalue">GimpVector3</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="libgimpmath-GimpVector.html#gimp-vector3-cross-product" title="gimp_vector3_cross_product ()">gimp_vector3_cross_product</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a class="link" href="libgimpmath-GimpVector.html#GimpVector3" title="struct GimpVector3"><span class="returnvalue">GimpVector3</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="libgimpmath-GimpVector.html#gimp-vector3-cross-product-val" title="gimp_vector3_cross_product_val ()">gimp_vector3_cross_product_val</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">void</span>
+</td>
+<td class="function_name">
+<a class="link" href="libgimpmath-GimpVector.html#gimp-vector3-rotate" title="gimp_vector3_rotate ()">gimp_vector3_rotate</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a class="link" href="libgimpmath-GimpVector.html#GimpVector3" title="struct GimpVector3"><span class="returnvalue">GimpVector3</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="libgimpmath-GimpVector.html#gimp-vector3-rotate-val" title="gimp_vector3_rotate_val ()">gimp_vector3_rotate_val</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">void</span>
+</td>
+<td class="function_name">
+<a class="link" href="libgimpmath-GimpVector.html#gimp-vector-2d-to-3d" title="gimp_vector_2d_to_3d ()">gimp_vector_2d_to_3d</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a class="link" href="libgimpmath-GimpVector.html#GimpVector3" title="struct GimpVector3"><span class="returnvalue">GimpVector3</span></a>
+</td>
+<td class="function_name">
+<a class="link" href="libgimpmath-GimpVector.html#gimp-vector-2d-to-3d-val" title="gimp_vector_2d_to_3d_val ()">gimp_vector_2d_to_3d_val</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<span class="returnvalue">void</span>
+</td>
+<td class="function_name">
+<a class="link" href="libgimpmath-GimpVector.html#gimp-vector-3d-to-2d" title="gimp_vector_3d_to_2d ()">gimp_vector_3d_to_2d</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect1">
+<a name="libgimpmath-GimpVector.other"></a><h2>Types and Values</h2>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="other_proto_type">
+<col class="other_proto_name">
+</colgroup>
+<tbody>
+<tr>
+<td class="datatype_keyword">struct</td>
+<td class="function_name"><a class="link" href="libgimpmath-GimpVector.html#GimpVector2" title="struct GimpVector2">GimpVector2</a></td>
+</tr>
+<tr>
+<td class="datatype_keyword">struct</td>
+<td class="function_name"><a class="link" href="libgimpmath-GimpVector.html#GimpVector3" title="struct GimpVector3">GimpVector3</a></td>
+</tr>
+<tr>
+<td class="datatype_keyword">struct</td>
+<td class="function_name"><a class="link" href="libgimpmath-GimpVector.html#GimpVector4" title="struct GimpVector4">GimpVector4</a></td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect1">
+<a name="libgimpmath-GimpVector.description"></a><h2>Description</h2>
+<p>Utilities to set up and manipulate vectors.</p>
+</div>
+<div class="refsect1">
+<a name="libgimpmath-GimpVector.functions_details"></a><h2>Functions</h2>
+<div class="refsect2">
+<a name="gimp-vector2-new"></a><h3>gimp_vector2_new ()</h3>
+<pre class="programlisting"><a class="link" href="libgimpmath-GimpVector.html#GimpVector2" title="struct GimpVector2"><span class="returnvalue">GimpVector2</span></a>
+gimp_vector2_new (<em class="parameter"><code><span class="type">gdouble</span> x</code></em>,
+ <em class="parameter"><code><span class="type">gdouble</span> y</code></em>);</pre>
+<p>Creates a <a class="link" href="libgimpmath-GimpVector.html#GimpVector2" title="struct GimpVector2"><span class="type">GimpVector2</span></a> of coordinates <em class="parameter"><code>x</code></em>
+ and <em class="parameter"><code>y</code></em>
+.</p>
+<div class="refsect3">
+<a name="gimp-vector2-new.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>x</p></td>
+<td class="parameter_description"><p>the X coordinate.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>y</p></td>
+<td class="parameter_description"><p>the Y coordinate.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="gimp-vector2-new.returns"></a><h4>Returns</h4>
+<p> the resulting <a class="link" href="libgimpmath-GimpVector.html#GimpVector2" title="struct GimpVector2"><span class="type">GimpVector2</span></a>.</p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gimp-vector2-set"></a><h3>gimp_vector2_set ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+gimp_vector2_set (<em class="parameter"><code><a class="link" href="libgimpmath-GimpVector.html#GimpVector2" title="struct GimpVector2"><span class="type">GimpVector2</span></a> *vector</code></em>,
+ <em class="parameter"><code><span class="type">gdouble</span> x</code></em>,
+ <em class="parameter"><code><span class="type">gdouble</span> y</code></em>);</pre>
+<p>Sets the X and Y coordinates of <em class="parameter"><code>vector</code></em>
+ to <em class="parameter"><code>x</code></em>
+ and <em class="parameter"><code>y</code></em>
+.</p>
+<div class="refsect3">
+<a name="gimp-vector2-set.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>vector</p></td>
+<td class="parameter_description"><p>a pointer to a <a class="link" href="libgimpmath-GimpVector.html#GimpVector2" title="struct GimpVector2"><span class="type">GimpVector2</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>x</p></td>
+<td class="parameter_description"><p>the X coordinate.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>y</p></td>
+<td class="parameter_description"><p>the Y coordinate.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gimp-vector2-length"></a><h3>gimp_vector2_length ()</h3>
+<pre class="programlisting"><span class="returnvalue">gdouble</span>
+gimp_vector2_length (<em class="parameter"><code>const <a class="link" href="libgimpmath-GimpVector.html#GimpVector2" title="struct GimpVector2"><span class="type">GimpVector2</span></a> *vector</code></em>);</pre>
+<p>Computes the length of a 2D vector.</p>
+<div class="refsect3">
+<a name="gimp-vector2-length.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>vector</p></td>
+<td class="parameter_description"><p>a pointer to a <a class="link" href="libgimpmath-GimpVector.html#GimpVector2" title="struct GimpVector2"><span class="type">GimpVector2</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="gimp-vector2-length.returns"></a><h4>Returns</h4>
+<p> the length of <em class="parameter"><code>vector</code></em>
+(a positive gdouble).</p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gimp-vector2-length-val"></a><h3>gimp_vector2_length_val ()</h3>
+<pre class="programlisting"><span class="returnvalue">gdouble</span>
+gimp_vector2_length_val (<em class="parameter"><code><a class="link" href="libgimpmath-GimpVector.html#GimpVector2" title="struct GimpVector2"><span class="type">GimpVector2</span></a> vector</code></em>);</pre>
+<p>This function is identical to <a class="link" href="libgimpmath-GimpVector.html#gimp-vector2-length" title="gimp_vector2_length ()"><code class="function">gimp_vector2_length()</code></a> but the
+vector is passed by value rather than by reference.</p>
+<div class="refsect3">
+<a name="gimp-vector2-length-val.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>vector</p></td>
+<td class="parameter_description"><p>a <a class="link" href="libgimpmath-GimpVector.html#GimpVector2" title="struct GimpVector2"><span class="type">GimpVector2</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="gimp-vector2-length-val.returns"></a><h4>Returns</h4>
+<p> the length of <em class="parameter"><code>vector</code></em>
+(a positive gdouble).</p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gimp-vector2-mul"></a><h3>gimp_vector2_mul ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+gimp_vector2_mul (<em class="parameter"><code><a class="link" href="libgimpmath-GimpVector.html#GimpVector2" title="struct GimpVector2"><span class="type">GimpVector2</span></a> *vector</code></em>,
+ <em class="parameter"><code><span class="type">gdouble</span> factor</code></em>);</pre>
+<p>Multiplies each component of the <em class="parameter"><code>vector</code></em>
+ by <em class="parameter"><code>factor</code></em>
+. Note that this
+is equivalent to multiplying the vectors length by <em class="parameter"><code>factor</code></em>
+.</p>
+<div class="refsect3">
+<a name="gimp-vector2-mul.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>vector</p></td>
+<td class="parameter_description"><p>a pointer to a <a class="link" href="libgimpmath-GimpVector.html#GimpVector2" title="struct GimpVector2"><span class="type">GimpVector2</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>factor</p></td>
+<td class="parameter_description"><p>a scalar.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gimp-vector2-mul-val"></a><h3>gimp_vector2_mul_val ()</h3>
+<pre class="programlisting"><a class="link" href="libgimpmath-GimpVector.html#GimpVector2" title="struct GimpVector2"><span class="returnvalue">GimpVector2</span></a>
+gimp_vector2_mul_val (<em class="parameter"><code><a class="link" href="libgimpmath-GimpVector.html#GimpVector2" title="struct GimpVector2"><span class="type">GimpVector2</span></a> vector</code></em>,
+ <em class="parameter"><code><span class="type">gdouble</span> factor</code></em>);</pre>
+<p>This function is identical to <a class="link" href="libgimpmath-GimpVector.html#gimp-vector2-mul" title="gimp_vector2_mul ()"><code class="function">gimp_vector2_mul()</code></a> but the vector is
+passed by value rather than by reference.</p>
+<div class="refsect3">
+<a name="gimp-vector2-mul-val.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>vector</p></td>
+<td class="parameter_description"><p>a <a class="link" href="libgimpmath-GimpVector.html#GimpVector2" title="struct GimpVector2"><span class="type">GimpVector2</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>factor</p></td>
+<td class="parameter_description"><p>a scalar.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="gimp-vector2-mul-val.returns"></a><h4>Returns</h4>
+<p> the resulting <a class="link" href="libgimpmath-GimpVector.html#GimpVector2" title="struct GimpVector2"><span class="type">GimpVector2</span></a>.</p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gimp-vector2-normal"></a><h3>gimp_vector2_normal ()</h3>
+<pre class="programlisting"><a class="link" href="libgimpmath-GimpVector.html#GimpVector2" title="struct GimpVector2"><span class="returnvalue">GimpVector2</span></a>
+gimp_vector2_normal (<em class="parameter"><code><a class="link" href="libgimpmath-GimpVector.html#GimpVector2" title="struct GimpVector2"><span class="type">GimpVector2</span></a> *vector</code></em>);</pre>
+<p>Compute a normalized perpendicular vector to <em class="parameter"><code>vector</code></em>
+</p>
+<div class="refsect3">
+<a name="gimp-vector2-normal.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>vector</p></td>
+<td class="parameter_description"><p>a pointer to a <a class="link" href="libgimpmath-GimpVector.html#GimpVector2" title="struct GimpVector2"><span class="type">GimpVector2</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="gimp-vector2-normal.returns"></a><h4>Returns</h4>
+<p> a <a class="link" href="libgimpmath-GimpVector.html#GimpVector2" title="struct GimpVector2"><span class="type">GimpVector2</span></a> perpendicular to <em class="parameter"><code>vector</code></em>
+, with a length of 1.0.</p>
+</div>
+<p class="since">Since: <a class="link" href="api-index-2-8.html#api-index-2.8">2.8</a></p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gimp-vector2-normal-val"></a><h3>gimp_vector2_normal_val ()</h3>
+<pre class="programlisting"><a class="link" href="libgimpmath-GimpVector.html#GimpVector2" title="struct GimpVector2"><span class="returnvalue">GimpVector2</span></a>
+gimp_vector2_normal_val (<em class="parameter"><code><a class="link" href="libgimpmath-GimpVector.html#GimpVector2" title="struct GimpVector2"><span class="type">GimpVector2</span></a> vector</code></em>);</pre>
+<p>This function is identical to <a class="link" href="libgimpmath-GimpVector.html#gimp-vector2-normal" title="gimp_vector2_normal ()"><code class="function">gimp_vector2_normal()</code></a> but the vector
+is passed by value rather than by reference.</p>
+<div class="refsect3">
+<a name="gimp-vector2-normal-val.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>vector</p></td>
+<td class="parameter_description"><p>a <a class="link" href="libgimpmath-GimpVector.html#GimpVector2" title="struct GimpVector2"><span class="type">GimpVector2</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="gimp-vector2-normal-val.returns"></a><h4>Returns</h4>
+<p> a <a class="link" href="libgimpmath-GimpVector.html#GimpVector2" title="struct GimpVector2"><span class="type">GimpVector2</span></a> perpendicular to <em class="parameter"><code>vector</code></em>
+, with a length of 1.0.</p>
+</div>
+<p class="since">Since: <a class="link" href="api-index-2-8.html#api-index-2.8">2.8</a></p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gimp-vector2-normalize"></a><h3>gimp_vector2_normalize ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+gimp_vector2_normalize (<em class="parameter"><code><a class="link" href="libgimpmath-GimpVector.html#GimpVector2" title="struct GimpVector2"><span class="type">GimpVector2</span></a> *vector</code></em>);</pre>
+<p>Normalizes the <em class="parameter"><code>vector</code></em>
+ so the length of the <em class="parameter"><code>vector</code></em>
+ is 1.0. The nul
+vector will not be changed.</p>
+<div class="refsect3">
+<a name="gimp-vector2-normalize.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>vector</p></td>
+<td class="parameter_description"><p>a pointer to a <a class="link" href="libgimpmath-GimpVector.html#GimpVector2" title="struct GimpVector2"><span class="type">GimpVector2</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gimp-vector2-normalize-val"></a><h3>gimp_vector2_normalize_val ()</h3>
+<pre class="programlisting"><a class="link" href="libgimpmath-GimpVector.html#GimpVector2" title="struct GimpVector2"><span class="returnvalue">GimpVector2</span></a>
+gimp_vector2_normalize_val (<em class="parameter"><code><a class="link" href="libgimpmath-GimpVector.html#GimpVector2" title="struct GimpVector2"><span class="type">GimpVector2</span></a> vector</code></em>);</pre>
+<p>This function is identical to <a class="link" href="libgimpmath-GimpVector.html#gimp-vector2-normalize" title="gimp_vector2_normalize ()"><code class="function">gimp_vector2_normalize()</code></a> but the
+vector is passed by value rather than by reference.</p>
+<div class="refsect3">
+<a name="gimp-vector2-normalize-val.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>vector</p></td>
+<td class="parameter_description"><p>a <a class="link" href="libgimpmath-GimpVector.html#GimpVector2" title="struct GimpVector2"><span class="type">GimpVector2</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="gimp-vector2-normalize-val.returns"></a><h4>Returns</h4>
+<p> a <a class="link" href="libgimpmath-GimpVector.html#GimpVector2" title="struct GimpVector2"><span class="type">GimpVector2</span></a> parallel to <em class="parameter"><code>vector</code></em>
+, pointing in the same
+direction but with a length of 1.0.</p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gimp-vector2-neg"></a><h3>gimp_vector2_neg ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+gimp_vector2_neg (<em class="parameter"><code><a class="link" href="libgimpmath-GimpVector.html#GimpVector2" title="struct GimpVector2"><span class="type">GimpVector2</span></a> *vector</code></em>);</pre>
+<p>Negates the <em class="parameter"><code>vector</code></em>
+ (i.e. negate all its coordinates).</p>
+<div class="refsect3">
+<a name="gimp-vector2-neg.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>vector</p></td>
+<td class="parameter_description"><p>a pointer to a <a class="link" href="libgimpmath-GimpVector.html#GimpVector2" title="struct GimpVector2"><span class="type">GimpVector2</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gimp-vector2-neg-val"></a><h3>gimp_vector2_neg_val ()</h3>
+<pre class="programlisting"><a class="link" href="libgimpmath-GimpVector.html#GimpVector2" title="struct GimpVector2"><span class="returnvalue">GimpVector2</span></a>
+gimp_vector2_neg_val (<em class="parameter"><code><a class="link" href="libgimpmath-GimpVector.html#GimpVector2" title="struct GimpVector2"><span class="type">GimpVector2</span></a> vector</code></em>);</pre>
+<p>This function is identical to <a class="link" href="libgimpmath-GimpVector.html#gimp-vector2-neg" title="gimp_vector2_neg ()"><code class="function">gimp_vector2_neg()</code></a> but the vector
+is passed by value rather than by reference.</p>
+<div class="refsect3">
+<a name="gimp-vector2-neg-val.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>vector</p></td>
+<td class="parameter_description"><p>a <a class="link" href="libgimpmath-GimpVector.html#GimpVector2" title="struct GimpVector2"><span class="type">GimpVector2</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="gimp-vector2-neg-val.returns"></a><h4>Returns</h4>
+<p> the negated <a class="link" href="libgimpmath-GimpVector.html#GimpVector2" title="struct GimpVector2"><span class="type">GimpVector2</span></a>.</p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gimp-vector2-add"></a><h3>gimp_vector2_add ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+gimp_vector2_add (<em class="parameter"><code><a class="link" href="libgimpmath-GimpVector.html#GimpVector2" title="struct GimpVector2"><span class="type">GimpVector2</span></a> *result</code></em>,
+ <em class="parameter"><code>const <a class="link" href="libgimpmath-GimpVector.html#GimpVector2" title="struct GimpVector2"><span class="type">GimpVector2</span></a> *vector1</code></em>,
+ <em class="parameter"><code>const <a class="link" href="libgimpmath-GimpVector.html#GimpVector2" title="struct GimpVector2"><span class="type">GimpVector2</span></a> *vector2</code></em>);</pre>
+<p>Computes the sum of two 2D vectors. The resulting <a class="link" href="libgimpmath-GimpVector.html#GimpVector2" title="struct GimpVector2"><span class="type">GimpVector2</span></a> is
+stored in <em class="parameter"><code>result</code></em>
+.</p>
+<div class="refsect3">
+<a name="gimp-vector2-add.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>result</p></td>
+<td class="parameter_description"><p>destination for the resulting <a class="link" href="libgimpmath-GimpVector.html#GimpVector2" title="struct GimpVector2"><span class="type">GimpVector2</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>vector1</p></td>
+<td class="parameter_description"><p>a pointer to the first <a class="link" href="libgimpmath-GimpVector.html#GimpVector2" title="struct GimpVector2"><span class="type">GimpVector2</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>vector2</p></td>
+<td class="parameter_description"><p>a pointer to the second <a class="link" href="libgimpmath-GimpVector.html#GimpVector2" title="struct GimpVector2"><span class="type">GimpVector2</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gimp-vector2-add-val"></a><h3>gimp_vector2_add_val ()</h3>
+<pre class="programlisting"><a class="link" href="libgimpmath-GimpVector.html#GimpVector2" title="struct GimpVector2"><span class="returnvalue">GimpVector2</span></a>
+gimp_vector2_add_val (<em class="parameter"><code><a class="link" href="libgimpmath-GimpVector.html#GimpVector2" title="struct GimpVector2"><span class="type">GimpVector2</span></a> vector1</code></em>,
+ <em class="parameter"><code><a class="link" href="libgimpmath-GimpVector.html#GimpVector2" title="struct GimpVector2"><span class="type">GimpVector2</span></a> vector2</code></em>);</pre>
+<p>This function is identical to <a class="link" href="libgimpmath-GimpVector.html#gimp-vector2-add" title="gimp_vector2_add ()"><code class="function">gimp_vector2_add()</code></a> but the vectors
+are passed by value rather than by reference.</p>
+<div class="refsect3">
+<a name="gimp-vector2-add-val.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>vector1</p></td>
+<td class="parameter_description"><p>the first <a class="link" href="libgimpmath-GimpVector.html#GimpVector2" title="struct GimpVector2"><span class="type">GimpVector2</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>vector2</p></td>
+<td class="parameter_description"><p>the second <a class="link" href="libgimpmath-GimpVector.html#GimpVector2" title="struct GimpVector2"><span class="type">GimpVector2</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="gimp-vector2-add-val.returns"></a><h4>Returns</h4>
+<p> the resulting <a class="link" href="libgimpmath-GimpVector.html#GimpVector2" title="struct GimpVector2"><span class="type">GimpVector2</span></a>.</p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gimp-vector2-sub"></a><h3>gimp_vector2_sub ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+gimp_vector2_sub (<em class="parameter"><code><a class="link" href="libgimpmath-GimpVector.html#GimpVector2" title="struct GimpVector2"><span class="type">GimpVector2</span></a> *result</code></em>,
+ <em class="parameter"><code>const <a class="link" href="libgimpmath-GimpVector.html#GimpVector2" title="struct GimpVector2"><span class="type">GimpVector2</span></a> *vector1</code></em>,
+ <em class="parameter"><code>const <a class="link" href="libgimpmath-GimpVector.html#GimpVector2" title="struct GimpVector2"><span class="type">GimpVector2</span></a> *vector2</code></em>);</pre>
+<p>Computes the difference of two 2D vectors (<em class="parameter"><code>vector1</code></em>
+ minus <em class="parameter"><code>vector2</code></em>
+).
+The resulting <a class="link" href="libgimpmath-GimpVector.html#GimpVector2" title="struct GimpVector2"><span class="type">GimpVector2</span></a> is stored in <em class="parameter"><code>result</code></em>
+.</p>
+<div class="refsect3">
+<a name="gimp-vector2-sub.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>result</p></td>
+<td class="parameter_description"><p>the destination for the resulting <a class="link" href="libgimpmath-GimpVector.html#GimpVector2" title="struct GimpVector2"><span class="type">GimpVector2</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>vector1</p></td>
+<td class="parameter_description"><p>a pointer to the first <a class="link" href="libgimpmath-GimpVector.html#GimpVector2" title="struct GimpVector2"><span class="type">GimpVector2</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>vector2</p></td>
+<td class="parameter_description"><p>a pointer to the second <a class="link" href="libgimpmath-GimpVector.html#GimpVector2" title="struct GimpVector2"><span class="type">GimpVector2</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gimp-vector2-sub-val"></a><h3>gimp_vector2_sub_val ()</h3>
+<pre class="programlisting"><a class="link" href="libgimpmath-GimpVector.html#GimpVector2" title="struct GimpVector2"><span class="returnvalue">GimpVector2</span></a>
+gimp_vector2_sub_val (<em class="parameter"><code><a class="link" href="libgimpmath-GimpVector.html#GimpVector2" title="struct GimpVector2"><span class="type">GimpVector2</span></a> vector1</code></em>,
+ <em class="parameter"><code><a class="link" href="libgimpmath-GimpVector.html#GimpVector2" title="struct GimpVector2"><span class="type">GimpVector2</span></a> vector2</code></em>);</pre>
+<p>This function is identical to <a class="link" href="libgimpmath-GimpVector.html#gimp-vector2-sub" title="gimp_vector2_sub ()"><code class="function">gimp_vector2_sub()</code></a> but the vectors
+are passed by value rather than by reference.</p>
+<div class="refsect3">
+<a name="gimp-vector2-sub-val.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>vector1</p></td>
+<td class="parameter_description"><p>the first <a class="link" href="libgimpmath-GimpVector.html#GimpVector2" title="struct GimpVector2"><span class="type">GimpVector2</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>vector2</p></td>
+<td class="parameter_description"><p>the second <a class="link" href="libgimpmath-GimpVector.html#GimpVector2" title="struct GimpVector2"><span class="type">GimpVector2</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="gimp-vector2-sub-val.returns"></a><h4>Returns</h4>
+<p> the resulting <a class="link" href="libgimpmath-GimpVector.html#GimpVector2" title="struct GimpVector2"><span class="type">GimpVector2</span></a>.</p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gimp-vector2-inner-product"></a><h3>gimp_vector2_inner_product ()</h3>
+<pre class="programlisting"><span class="returnvalue">gdouble</span>
+gimp_vector2_inner_product (<em class="parameter"><code>const <a class="link" href="libgimpmath-GimpVector.html#GimpVector2" title="struct GimpVector2"><span class="type">GimpVector2</span></a> *vector1</code></em>,
+ <em class="parameter"><code>const <a class="link" href="libgimpmath-GimpVector.html#GimpVector2" title="struct GimpVector2"><span class="type">GimpVector2</span></a> *vector2</code></em>);</pre>
+<p>Computes the inner (dot) product of two 2D vectors.
+This product is zero if and only if the two vectors are orthogonal.</p>
+<div class="refsect3">
+<a name="gimp-vector2-inner-product.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>vector1</p></td>
+<td class="parameter_description"><p>a pointer to the first <a class="link" href="libgimpmath-GimpVector.html#GimpVector2" title="struct GimpVector2"><span class="type">GimpVector2</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>vector2</p></td>
+<td class="parameter_description"><p>a pointer to the second <a class="link" href="libgimpmath-GimpVector.html#GimpVector2" title="struct GimpVector2"><span class="type">GimpVector2</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="gimp-vector2-inner-product.returns"></a><h4>Returns</h4>
+<p> The inner product.</p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gimp-vector2-inner-product-val"></a><h3>gimp_vector2_inner_product_val ()</h3>
+<pre class="programlisting"><span class="returnvalue">gdouble</span>
+gimp_vector2_inner_product_val (<em class="parameter"><code><a class="link" href="libgimpmath-GimpVector.html#GimpVector2" title="struct GimpVector2"><span class="type">GimpVector2</span></a> vector1</code></em>,
+ <em class="parameter"><code><a class="link" href="libgimpmath-GimpVector.html#GimpVector2" title="struct GimpVector2"><span class="type">GimpVector2</span></a> vector2</code></em>);</pre>
+<p>This function is identical to <a class="link" href="libgimpmath-GimpVector.html#gimp-vector2-inner-product" title="gimp_vector2_inner_product ()"><code class="function">gimp_vector2_inner_product()</code></a> but the
+vectors are passed by value rather than by reference.</p>
+<div class="refsect3">
+<a name="gimp-vector2-inner-product-val.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>vector1</p></td>
+<td class="parameter_description"><p>the first <a class="link" href="libgimpmath-GimpVector.html#GimpVector2" title="struct GimpVector2"><span class="type">GimpVector2</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>vector2</p></td>
+<td class="parameter_description"><p>the second <a class="link" href="libgimpmath-GimpVector.html#GimpVector2" title="struct GimpVector2"><span class="type">GimpVector2</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="gimp-vector2-inner-product-val.returns"></a><h4>Returns</h4>
+<p> The inner product.</p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gimp-vector2-cross-product"></a><h3>gimp_vector2_cross_product ()</h3>
+<pre class="programlisting"><a class="link" href="libgimpmath-GimpVector.html#GimpVector2" title="struct GimpVector2"><span class="returnvalue">GimpVector2</span></a>
+gimp_vector2_cross_product (<em class="parameter"><code>const <a class="link" href="libgimpmath-GimpVector.html#GimpVector2" title="struct GimpVector2"><span class="type">GimpVector2</span></a> *vector1</code></em>,
+ <em class="parameter"><code>const <a class="link" href="libgimpmath-GimpVector.html#GimpVector2" title="struct GimpVector2"><span class="type">GimpVector2</span></a> *vector2</code></em>);</pre>
+<p>Compute the cross product of two vectors. The result is a
+<a class="link" href="libgimpmath-GimpVector.html#GimpVector2" title="struct GimpVector2"><span class="type">GimpVector2</span></a> which is orthogonal to both <em class="parameter"><code>vector1</code></em>
+ and <em class="parameter"><code>vector2</code></em>
+. If
+<em class="parameter"><code>vector1</code></em>
+ and <em class="parameter"><code>vector2</code></em>
+ are parallel, the result will be the nul
+vector.</p>
+<p>Note that in 2D, this function is useful to test if two vectors are
+parallel or not, or to compute the area spawned by two vectors.</p>
+<div class="refsect3">
+<a name="gimp-vector2-cross-product.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>vector1</p></td>
+<td class="parameter_description"><p>a pointer to the first <a class="link" href="libgimpmath-GimpVector.html#GimpVector2" title="struct GimpVector2"><span class="type">GimpVector2</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>vector2</p></td>
+<td class="parameter_description"><p>a pointer to the second <a class="link" href="libgimpmath-GimpVector.html#GimpVector2" title="struct GimpVector2"><span class="type">GimpVector2</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="gimp-vector2-cross-product.returns"></a><h4>Returns</h4>
+<p> The cross product.</p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gimp-vector2-cross-product-val"></a><h3>gimp_vector2_cross_product_val ()</h3>
+<pre class="programlisting"><a class="link" href="libgimpmath-GimpVector.html#GimpVector2" title="struct GimpVector2"><span class="returnvalue">GimpVector2</span></a>
+gimp_vector2_cross_product_val (<em class="parameter"><code><a class="link" href="libgimpmath-GimpVector.html#GimpVector2" title="struct GimpVector2"><span class="type">GimpVector2</span></a> vector1</code></em>,
+ <em class="parameter"><code><a class="link" href="libgimpmath-GimpVector.html#GimpVector2" title="struct GimpVector2"><span class="type">GimpVector2</span></a> vector2</code></em>);</pre>
+<p>This function is identical to <a class="link" href="libgimpmath-GimpVector.html#gimp-vector2-cross-product" title="gimp_vector2_cross_product ()"><code class="function">gimp_vector2_cross_product()</code></a> but the
+vectors are passed by value rather than by reference.</p>
+<div class="refsect3">
+<a name="gimp-vector2-cross-product-val.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>vector1</p></td>
+<td class="parameter_description"><p>the first <a class="link" href="libgimpmath-GimpVector.html#GimpVector2" title="struct GimpVector2"><span class="type">GimpVector2</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>vector2</p></td>
+<td class="parameter_description"><p>the second <a class="link" href="libgimpmath-GimpVector.html#GimpVector2" title="struct GimpVector2"><span class="type">GimpVector2</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="gimp-vector2-cross-product-val.returns"></a><h4>Returns</h4>
+<p> The cross product.</p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gimp-vector2-rotate"></a><h3>gimp_vector2_rotate ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+gimp_vector2_rotate (<em class="parameter"><code><a class="link" href="libgimpmath-GimpVector.html#GimpVector2" title="struct GimpVector2"><span class="type">GimpVector2</span></a> *vector</code></em>,
+ <em class="parameter"><code><span class="type">gdouble</span> alpha</code></em>);</pre>
+<p>Rotates the <em class="parameter"><code>vector</code></em>
+ counterclockwise by <em class="parameter"><code>alpha</code></em>
+ radians.</p>
+<div class="refsect3">
+<a name="gimp-vector2-rotate.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>vector</p></td>
+<td class="parameter_description"><p>a pointer to a <a class="link" href="libgimpmath-GimpVector.html#GimpVector2" title="struct GimpVector2"><span class="type">GimpVector2</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>alpha</p></td>
+<td class="parameter_description"><p>an angle (in radians).</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gimp-vector2-rotate-val"></a><h3>gimp_vector2_rotate_val ()</h3>
+<pre class="programlisting"><a class="link" href="libgimpmath-GimpVector.html#GimpVector2" title="struct GimpVector2"><span class="returnvalue">GimpVector2</span></a>
+gimp_vector2_rotate_val (<em class="parameter"><code><a class="link" href="libgimpmath-GimpVector.html#GimpVector2" title="struct GimpVector2"><span class="type">GimpVector2</span></a> vector</code></em>,
+ <em class="parameter"><code><span class="type">gdouble</span> alpha</code></em>);</pre>
+<p>This function is identical to <a class="link" href="libgimpmath-GimpVector.html#gimp-vector2-rotate" title="gimp_vector2_rotate ()"><code class="function">gimp_vector2_rotate()</code></a> but the vector
+is passed by value rather than by reference.</p>
+<div class="refsect3">
+<a name="gimp-vector2-rotate-val.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>vector</p></td>
+<td class="parameter_description"><p>a <a class="link" href="libgimpmath-GimpVector.html#GimpVector2" title="struct GimpVector2"><span class="type">GimpVector2</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>alpha</p></td>
+<td class="parameter_description"><p>an angle (in radians).</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="gimp-vector2-rotate-val.returns"></a><h4>Returns</h4>
+<p> a <a class="link" href="libgimpmath-GimpVector.html#GimpVector2" title="struct GimpVector2"><span class="type">GimpVector2</span></a> representing <em class="parameter"><code>vector</code></em>
+rotated by <em class="parameter"><code>alpha</code></em>
+radians.</p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gimp-vector3-new"></a><h3>gimp_vector3_new ()</h3>
+<pre class="programlisting"><a class="link" href="libgimpmath-GimpVector.html#GimpVector3" title="struct GimpVector3"><span class="returnvalue">GimpVector3</span></a>
+gimp_vector3_new (<em class="parameter"><code><span class="type">gdouble</span> x</code></em>,
+ <em class="parameter"><code><span class="type">gdouble</span> y</code></em>,
+ <em class="parameter"><code><span class="type">gdouble</span> z</code></em>);</pre>
+<p>Creates a <a class="link" href="libgimpmath-GimpVector.html#GimpVector3" title="struct GimpVector3"><span class="type">GimpVector3</span></a> of coordinate <em class="parameter"><code>x</code></em>
+, <em class="parameter"><code>y</code></em>
+ and <em class="parameter"><code>z</code></em>
+.</p>
+<div class="refsect3">
+<a name="gimp-vector3-new.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>x</p></td>
+<td class="parameter_description"><p>the X coordinate.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>y</p></td>
+<td class="parameter_description"><p>the Y coordinate.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>z</p></td>
+<td class="parameter_description"><p>the Z coordinate.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="gimp-vector3-new.returns"></a><h4>Returns</h4>
+<p> the resulting <a class="link" href="libgimpmath-GimpVector.html#GimpVector3" title="struct GimpVector3"><span class="type">GimpVector3</span></a>.</p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gimp-vector3-set"></a><h3>gimp_vector3_set ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+gimp_vector3_set (<em class="parameter"><code><a class="link" href="libgimpmath-GimpVector.html#GimpVector3" title="struct GimpVector3"><span class="type">GimpVector3</span></a> *vector</code></em>,
+ <em class="parameter"><code><span class="type">gdouble</span> x</code></em>,
+ <em class="parameter"><code><span class="type">gdouble</span> y</code></em>,
+ <em class="parameter"><code><span class="type">gdouble</span> z</code></em>);</pre>
+<p>Sets the X, Y and Z coordinates of <em class="parameter"><code>vector</code></em>
+ to <em class="parameter"><code>x</code></em>
+, <em class="parameter"><code>y</code></em>
+ and <em class="parameter"><code>z</code></em>
+.</p>
+<div class="refsect3">
+<a name="gimp-vector3-set.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>vector</p></td>
+<td class="parameter_description"><p>a pointer to a <a class="link" href="libgimpmath-GimpVector.html#GimpVector3" title="struct GimpVector3"><span class="type">GimpVector3</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>x</p></td>
+<td class="parameter_description"><p>the X coordinate.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>y</p></td>
+<td class="parameter_description"><p>the Y coordinate.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>z</p></td>
+<td class="parameter_description"><p>the Z coordinate.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gimp-vector3-length"></a><h3>gimp_vector3_length ()</h3>
+<pre class="programlisting"><span class="returnvalue">gdouble</span>
+gimp_vector3_length (<em class="parameter"><code>const <a class="link" href="libgimpmath-GimpVector.html#GimpVector3" title="struct GimpVector3"><span class="type">GimpVector3</span></a> *vector</code></em>);</pre>
+<p>Computes the length of a 3D vector.</p>
+<div class="refsect3">
+<a name="gimp-vector3-length.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>vector</p></td>
+<td class="parameter_description"><p>a pointer to a <a class="link" href="libgimpmath-GimpVector.html#GimpVector3" title="struct GimpVector3"><span class="type">GimpVector3</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="gimp-vector3-length.returns"></a><h4>Returns</h4>
+<p> the length of <em class="parameter"><code>vector</code></em>
+(a positive gdouble).</p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gimp-vector3-length-val"></a><h3>gimp_vector3_length_val ()</h3>
+<pre class="programlisting"><span class="returnvalue">gdouble</span>
+gimp_vector3_length_val (<em class="parameter"><code><a class="link" href="libgimpmath-GimpVector.html#GimpVector3" title="struct GimpVector3"><span class="type">GimpVector3</span></a> vector</code></em>);</pre>
+<p>This function is identical to <a class="link" href="libgimpmath-GimpVector.html#gimp-vector3-length" title="gimp_vector3_length ()"><code class="function">gimp_vector3_length()</code></a> but the vector
+is passed by value rather than by reference.</p>
+<div class="refsect3">
+<a name="gimp-vector3-length-val.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>vector</p></td>
+<td class="parameter_description"><p>a <a class="link" href="libgimpmath-GimpVector.html#GimpVector3" title="struct GimpVector3"><span class="type">GimpVector3</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="gimp-vector3-length-val.returns"></a><h4>Returns</h4>
+<p> the length of <em class="parameter"><code>vector</code></em>
+(a positive gdouble).</p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gimp-vector3-mul"></a><h3>gimp_vector3_mul ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+gimp_vector3_mul (<em class="parameter"><code><a class="link" href="libgimpmath-GimpVector.html#GimpVector3" title="struct GimpVector3"><span class="type">GimpVector3</span></a> *vector</code></em>,
+ <em class="parameter"><code><span class="type">gdouble</span> factor</code></em>);</pre>
+<p>Multiplies each component of the <em class="parameter"><code>vector</code></em>
+ by <em class="parameter"><code>factor</code></em>
+. Note that
+this is equivalent to multiplying the vectors length by <em class="parameter"><code>factor</code></em>
+.</p>
+<div class="refsect3">
+<a name="gimp-vector3-mul.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>vector</p></td>
+<td class="parameter_description"><p>a pointer to a <a class="link" href="libgimpmath-GimpVector.html#GimpVector3" title="struct GimpVector3"><span class="type">GimpVector3</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>factor</p></td>
+<td class="parameter_description"><p>a scalar.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gimp-vector3-mul-val"></a><h3>gimp_vector3_mul_val ()</h3>
+<pre class="programlisting"><a class="link" href="libgimpmath-GimpVector.html#GimpVector3" title="struct GimpVector3"><span class="returnvalue">GimpVector3</span></a>
+gimp_vector3_mul_val (<em class="parameter"><code><a class="link" href="libgimpmath-GimpVector.html#GimpVector3" title="struct GimpVector3"><span class="type">GimpVector3</span></a> vector</code></em>,
+ <em class="parameter"><code><span class="type">gdouble</span> factor</code></em>);</pre>
+<p>This function is identical to <a class="link" href="libgimpmath-GimpVector.html#gimp-vector3-mul" title="gimp_vector3_mul ()"><code class="function">gimp_vector3_mul()</code></a> but the vector is
+passed by value rather than by reference.</p>
+<div class="refsect3">
+<a name="gimp-vector3-mul-val.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>vector</p></td>
+<td class="parameter_description"><p>a <a class="link" href="libgimpmath-GimpVector.html#GimpVector3" title="struct GimpVector3"><span class="type">GimpVector3</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>factor</p></td>
+<td class="parameter_description"><p>a scalar.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="gimp-vector3-mul-val.returns"></a><h4>Returns</h4>
+<p> the resulting <a class="link" href="libgimpmath-GimpVector.html#GimpVector3" title="struct GimpVector3"><span class="type">GimpVector3</span></a>.</p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gimp-vector3-normalize"></a><h3>gimp_vector3_normalize ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+gimp_vector3_normalize (<em class="parameter"><code><a class="link" href="libgimpmath-GimpVector.html#GimpVector3" title="struct GimpVector3"><span class="type">GimpVector3</span></a> *vector</code></em>);</pre>
+<p>Normalizes the <em class="parameter"><code>vector</code></em>
+ so the length of the <em class="parameter"><code>vector</code></em>
+ is 1.0. The nul
+vector will not be changed.</p>
+<div class="refsect3">
+<a name="gimp-vector3-normalize.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>vector</p></td>
+<td class="parameter_description"><p>a pointer to a <a class="link" href="libgimpmath-GimpVector.html#GimpVector3" title="struct GimpVector3"><span class="type">GimpVector3</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gimp-vector3-normalize-val"></a><h3>gimp_vector3_normalize_val ()</h3>
+<pre class="programlisting"><a class="link" href="libgimpmath-GimpVector.html#GimpVector3" title="struct GimpVector3"><span class="returnvalue">GimpVector3</span></a>
+gimp_vector3_normalize_val (<em class="parameter"><code><a class="link" href="libgimpmath-GimpVector.html#GimpVector3" title="struct GimpVector3"><span class="type">GimpVector3</span></a> vector</code></em>);</pre>
+<p>This function is identical to <a class="link" href="libgimpmath-GimpVector.html#gimp-vector3-normalize" title="gimp_vector3_normalize ()"><code class="function">gimp_vector3_normalize()</code></a> but the
+vector is passed by value rather than by reference.</p>
+<div class="refsect3">
+<a name="gimp-vector3-normalize-val.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>vector</p></td>
+<td class="parameter_description"><p>a <a class="link" href="libgimpmath-GimpVector.html#GimpVector3" title="struct GimpVector3"><span class="type">GimpVector3</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="gimp-vector3-normalize-val.returns"></a><h4>Returns</h4>
+<p> a <a class="link" href="libgimpmath-GimpVector.html#GimpVector3" title="struct GimpVector3"><span class="type">GimpVector3</span></a> parallel to <em class="parameter"><code>vector</code></em>
+, pointing in the same
+direction but with a length of 1.0.</p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gimp-vector3-neg"></a><h3>gimp_vector3_neg ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+gimp_vector3_neg (<em class="parameter"><code><a class="link" href="libgimpmath-GimpVector.html#GimpVector3" title="struct GimpVector3"><span class="type">GimpVector3</span></a> *vector</code></em>);</pre>
+<p>Negates the <em class="parameter"><code>vector</code></em>
+ (i.e. negate all its coordinates).</p>
+<div class="refsect3">
+<a name="gimp-vector3-neg.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>vector</p></td>
+<td class="parameter_description"><p>a pointer to a <a class="link" href="libgimpmath-GimpVector.html#GimpVector3" title="struct GimpVector3"><span class="type">GimpVector3</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gimp-vector3-neg-val"></a><h3>gimp_vector3_neg_val ()</h3>
+<pre class="programlisting"><a class="link" href="libgimpmath-GimpVector.html#GimpVector3" title="struct GimpVector3"><span class="returnvalue">GimpVector3</span></a>
+gimp_vector3_neg_val (<em class="parameter"><code><a class="link" href="libgimpmath-GimpVector.html#GimpVector3" title="struct GimpVector3"><span class="type">GimpVector3</span></a> vector</code></em>);</pre>
+<p>This function is identical to <a class="link" href="libgimpmath-GimpVector.html#gimp-vector3-neg" title="gimp_vector3_neg ()"><code class="function">gimp_vector3_neg()</code></a> but the vector
+is passed by value rather than by reference.</p>
+<div class="refsect3">
+<a name="gimp-vector3-neg-val.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>vector</p></td>
+<td class="parameter_description"><p>a <a class="link" href="libgimpmath-GimpVector.html#GimpVector3" title="struct GimpVector3"><span class="type">GimpVector3</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="gimp-vector3-neg-val.returns"></a><h4>Returns</h4>
+<p> the negated <a class="link" href="libgimpmath-GimpVector.html#GimpVector3" title="struct GimpVector3"><span class="type">GimpVector3</span></a>.</p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gimp-vector3-add"></a><h3>gimp_vector3_add ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+gimp_vector3_add (<em class="parameter"><code><a class="link" href="libgimpmath-GimpVector.html#GimpVector3" title="struct GimpVector3"><span class="type">GimpVector3</span></a> *result</code></em>,
+ <em class="parameter"><code>const <a class="link" href="libgimpmath-GimpVector.html#GimpVector3" title="struct GimpVector3"><span class="type">GimpVector3</span></a> *vector1</code></em>,
+ <em class="parameter"><code>const <a class="link" href="libgimpmath-GimpVector.html#GimpVector3" title="struct GimpVector3"><span class="type">GimpVector3</span></a> *vector2</code></em>);</pre>
+<p>Computes the sum of two 3D vectors. The resulting <a class="link" href="libgimpmath-GimpVector.html#GimpVector3" title="struct GimpVector3"><span class="type">GimpVector3</span></a> is
+stored in <em class="parameter"><code>result</code></em>
+.</p>
+<div class="refsect3">
+<a name="gimp-vector3-add.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>result</p></td>
+<td class="parameter_description"><p>destination for the resulting <a class="link" href="libgimpmath-GimpVector.html#GimpVector3" title="struct GimpVector3"><span class="type">GimpVector3</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>vector1</p></td>
+<td class="parameter_description"><p>a pointer to the first <a class="link" href="libgimpmath-GimpVector.html#GimpVector3" title="struct GimpVector3"><span class="type">GimpVector3</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>vector2</p></td>
+<td class="parameter_description"><p>a pointer to the second <a class="link" href="libgimpmath-GimpVector.html#GimpVector3" title="struct GimpVector3"><span class="type">GimpVector3</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gimp-vector3-add-val"></a><h3>gimp_vector3_add_val ()</h3>
+<pre class="programlisting"><a class="link" href="libgimpmath-GimpVector.html#GimpVector3" title="struct GimpVector3"><span class="returnvalue">GimpVector3</span></a>
+gimp_vector3_add_val (<em class="parameter"><code><a class="link" href="libgimpmath-GimpVector.html#GimpVector3" title="struct GimpVector3"><span class="type">GimpVector3</span></a> vector1</code></em>,
+ <em class="parameter"><code><a class="link" href="libgimpmath-GimpVector.html#GimpVector3" title="struct GimpVector3"><span class="type">GimpVector3</span></a> vector2</code></em>);</pre>
+<p>This function is identical to <a class="link" href="libgimpmath-GimpVector.html#gimp-vector3-add" title="gimp_vector3_add ()"><code class="function">gimp_vector3_add()</code></a> but the vectors
+are passed by value rather than by reference.</p>
+<div class="refsect3">
+<a name="gimp-vector3-add-val.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>vector1</p></td>
+<td class="parameter_description"><p>a <a class="link" href="libgimpmath-GimpVector.html#GimpVector3" title="struct GimpVector3"><span class="type">GimpVector3</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>vector2</p></td>
+<td class="parameter_description"><p>a <a class="link" href="libgimpmath-GimpVector.html#GimpVector3" title="struct GimpVector3"><span class="type">GimpVector3</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="gimp-vector3-add-val.returns"></a><h4>Returns</h4>
+<p> the resulting <a class="link" href="libgimpmath-GimpVector.html#GimpVector3" title="struct GimpVector3"><span class="type">GimpVector3</span></a>.</p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gimp-vector3-sub"></a><h3>gimp_vector3_sub ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+gimp_vector3_sub (<em class="parameter"><code><a class="link" href="libgimpmath-GimpVector.html#GimpVector3" title="struct GimpVector3"><span class="type">GimpVector3</span></a> *result</code></em>,
+ <em class="parameter"><code>const <a class="link" href="libgimpmath-GimpVector.html#GimpVector3" title="struct GimpVector3"><span class="type">GimpVector3</span></a> *vector1</code></em>,
+ <em class="parameter"><code>const <a class="link" href="libgimpmath-GimpVector.html#GimpVector3" title="struct GimpVector3"><span class="type">GimpVector3</span></a> *vector2</code></em>);</pre>
+<p>Computes the difference of two 3D vectors (<em class="parameter"><code>vector1</code></em>
+ minus <em class="parameter"><code>vector2</code></em>
+).
+The resulting <a class="link" href="libgimpmath-GimpVector.html#GimpVector3" title="struct GimpVector3"><span class="type">GimpVector3</span></a> is stored in <em class="parameter"><code>result</code></em>
+.</p>
+<div class="refsect3">
+<a name="gimp-vector3-sub.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>result</p></td>
+<td class="parameter_description"><p>the destination for the resulting <a class="link" href="libgimpmath-GimpVector.html#GimpVector3" title="struct GimpVector3"><span class="type">GimpVector3</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>vector1</p></td>
+<td class="parameter_description"><p>a pointer to the first <a class="link" href="libgimpmath-GimpVector.html#GimpVector3" title="struct GimpVector3"><span class="type">GimpVector3</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>vector2</p></td>
+<td class="parameter_description"><p>a pointer to the second <a class="link" href="libgimpmath-GimpVector.html#GimpVector3" title="struct GimpVector3"><span class="type">GimpVector3</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gimp-vector3-sub-val"></a><h3>gimp_vector3_sub_val ()</h3>
+<pre class="programlisting"><a class="link" href="libgimpmath-GimpVector.html#GimpVector3" title="struct GimpVector3"><span class="returnvalue">GimpVector3</span></a>
+gimp_vector3_sub_val (<em class="parameter"><code><a class="link" href="libgimpmath-GimpVector.html#GimpVector3" title="struct GimpVector3"><span class="type">GimpVector3</span></a> vector1</code></em>,
+ <em class="parameter"><code><a class="link" href="libgimpmath-GimpVector.html#GimpVector3" title="struct GimpVector3"><span class="type">GimpVector3</span></a> vector2</code></em>);</pre>
+<p>This function is identical to <a class="link" href="libgimpmath-GimpVector.html#gimp-vector3-sub" title="gimp_vector3_sub ()"><code class="function">gimp_vector3_sub()</code></a> but the vectors
+are passed by value rather than by reference.</p>
+<div class="refsect3">
+<a name="gimp-vector3-sub-val.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>vector1</p></td>
+<td class="parameter_description"><p>a <a class="link" href="libgimpmath-GimpVector.html#GimpVector3" title="struct GimpVector3"><span class="type">GimpVector3</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>vector2</p></td>
+<td class="parameter_description"><p>a <a class="link" href="libgimpmath-GimpVector.html#GimpVector3" title="struct GimpVector3"><span class="type">GimpVector3</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="gimp-vector3-sub-val.returns"></a><h4>Returns</h4>
+<p> the resulting <a class="link" href="libgimpmath-GimpVector.html#GimpVector3" title="struct GimpVector3"><span class="type">GimpVector3</span></a>.</p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gimp-vector3-inner-product"></a><h3>gimp_vector3_inner_product ()</h3>
+<pre class="programlisting"><span class="returnvalue">gdouble</span>
+gimp_vector3_inner_product (<em class="parameter"><code>const <a class="link" href="libgimpmath-GimpVector.html#GimpVector3" title="struct GimpVector3"><span class="type">GimpVector3</span></a> *vector1</code></em>,
+ <em class="parameter"><code>const <a class="link" href="libgimpmath-GimpVector.html#GimpVector3" title="struct GimpVector3"><span class="type">GimpVector3</span></a> *vector2</code></em>);</pre>
+<p>Computes the inner (dot) product of two 3D vectors. This product
+is zero if and only if the two vectors are orthogonal.</p>
+<div class="refsect3">
+<a name="gimp-vector3-inner-product.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>vector1</p></td>
+<td class="parameter_description"><p>a pointer to the first <a class="link" href="libgimpmath-GimpVector.html#GimpVector3" title="struct GimpVector3"><span class="type">GimpVector3</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>vector2</p></td>
+<td class="parameter_description"><p>a pointer to the second <a class="link" href="libgimpmath-GimpVector.html#GimpVector3" title="struct GimpVector3"><span class="type">GimpVector3</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="gimp-vector3-inner-product.returns"></a><h4>Returns</h4>
+<p> The inner product.</p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gimp-vector3-inner-product-val"></a><h3>gimp_vector3_inner_product_val ()</h3>
+<pre class="programlisting"><span class="returnvalue">gdouble</span>
+gimp_vector3_inner_product_val (<em class="parameter"><code><a class="link" href="libgimpmath-GimpVector.html#GimpVector3" title="struct GimpVector3"><span class="type">GimpVector3</span></a> vector1</code></em>,
+ <em class="parameter"><code><a class="link" href="libgimpmath-GimpVector.html#GimpVector3" title="struct GimpVector3"><span class="type">GimpVector3</span></a> vector2</code></em>);</pre>
+<p>This function is identical to <a class="link" href="libgimpmath-GimpVector.html#gimp-vector3-inner-product" title="gimp_vector3_inner_product ()"><code class="function">gimp_vector3_inner_product()</code></a> but the
+vectors are passed by value rather than by reference.</p>
+<div class="refsect3">
+<a name="gimp-vector3-inner-product-val.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>vector1</p></td>
+<td class="parameter_description"><p>the first <a class="link" href="libgimpmath-GimpVector.html#GimpVector3" title="struct GimpVector3"><span class="type">GimpVector3</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>vector2</p></td>
+<td class="parameter_description"><p>the second <a class="link" href="libgimpmath-GimpVector.html#GimpVector3" title="struct GimpVector3"><span class="type">GimpVector3</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="gimp-vector3-inner-product-val.returns"></a><h4>Returns</h4>
+<p> The inner product.</p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gimp-vector3-cross-product"></a><h3>gimp_vector3_cross_product ()</h3>
+<pre class="programlisting"><a class="link" href="libgimpmath-GimpVector.html#GimpVector3" title="struct GimpVector3"><span class="returnvalue">GimpVector3</span></a>
+gimp_vector3_cross_product (<em class="parameter"><code>const <a class="link" href="libgimpmath-GimpVector.html#GimpVector3" title="struct GimpVector3"><span class="type">GimpVector3</span></a> *vector1</code></em>,
+ <em class="parameter"><code>const <a class="link" href="libgimpmath-GimpVector.html#GimpVector3" title="struct GimpVector3"><span class="type">GimpVector3</span></a> *vector2</code></em>);</pre>
+<p>Compute the cross product of two vectors. The result is a
+<a class="link" href="libgimpmath-GimpVector.html#GimpVector3" title="struct GimpVector3"><span class="type">GimpVector3</span></a> which is orthogonal to both <em class="parameter"><code>vector1</code></em>
+ and <em class="parameter"><code>vector2</code></em>
+. If
+<em class="parameter"><code>vector1</code></em>
+ and <em class="parameter"><code>vector2</code></em>
+ and parallel, the result will be the nul
+vector.</p>
+<p>This function can be used to compute the normal of the plane
+defined by <em class="parameter"><code>vector1</code></em>
+ and <em class="parameter"><code>vector2</code></em>
+.</p>
+<div class="refsect3">
+<a name="gimp-vector3-cross-product.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>vector1</p></td>
+<td class="parameter_description"><p>a pointer to the first <a class="link" href="libgimpmath-GimpVector.html#GimpVector3" title="struct GimpVector3"><span class="type">GimpVector3</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>vector2</p></td>
+<td class="parameter_description"><p>a pointer to the second <a class="link" href="libgimpmath-GimpVector.html#GimpVector3" title="struct GimpVector3"><span class="type">GimpVector3</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="gimp-vector3-cross-product.returns"></a><h4>Returns</h4>
+<p> The cross product.</p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gimp-vector3-cross-product-val"></a><h3>gimp_vector3_cross_product_val ()</h3>
+<pre class="programlisting"><a class="link" href="libgimpmath-GimpVector.html#GimpVector3" title="struct GimpVector3"><span class="returnvalue">GimpVector3</span></a>
+gimp_vector3_cross_product_val (<em class="parameter"><code><a class="link" href="libgimpmath-GimpVector.html#GimpVector3" title="struct GimpVector3"><span class="type">GimpVector3</span></a> vector1</code></em>,
+ <em class="parameter"><code><a class="link" href="libgimpmath-GimpVector.html#GimpVector3" title="struct GimpVector3"><span class="type">GimpVector3</span></a> vector2</code></em>);</pre>
+<p>This function is identical to <a class="link" href="libgimpmath-GimpVector.html#gimp-vector3-cross-product" title="gimp_vector3_cross_product ()"><code class="function">gimp_vector3_cross_product()</code></a> but the
+vectors are passed by value rather than by reference.</p>
+<div class="refsect3">
+<a name="gimp-vector3-cross-product-val.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>vector1</p></td>
+<td class="parameter_description"><p>the first <a class="link" href="libgimpmath-GimpVector.html#GimpVector3" title="struct GimpVector3"><span class="type">GimpVector3</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>vector2</p></td>
+<td class="parameter_description"><p>the second <a class="link" href="libgimpmath-GimpVector.html#GimpVector3" title="struct GimpVector3"><span class="type">GimpVector3</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="gimp-vector3-cross-product-val.returns"></a><h4>Returns</h4>
+<p> The cross product.</p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gimp-vector3-rotate"></a><h3>gimp_vector3_rotate ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+gimp_vector3_rotate (<em class="parameter"><code><a class="link" href="libgimpmath-GimpVector.html#GimpVector3" title="struct GimpVector3"><span class="type">GimpVector3</span></a> *vector</code></em>,
+ <em class="parameter"><code><span class="type">gdouble</span> alpha</code></em>,
+ <em class="parameter"><code><span class="type">gdouble</span> beta</code></em>,
+ <em class="parameter"><code><span class="type">gdouble</span> gamma</code></em>);</pre>
+<p>Rotates the <em class="parameter"><code>vector</code></em>
+ around the three axis (Z, Y, and X) by <em class="parameter"><code>alpha</code></em>
+,
+<em class="parameter"><code>beta</code></em>
+ and <em class="parameter"><code>gamma</code></em>
+, respectively.</p>
+<p>Note that the order of the rotation is very important. If you
+expect a vector to be rotated around X, and then around Y, you will
+have to call this function twice. Also, it is often wise to call
+this function with only one of <em class="parameter"><code>alpha</code></em>
+, <em class="parameter"><code>beta</code></em>
+ and <em class="parameter"><code>gamma</code></em>
+ non-zero.</p>
+<div class="refsect3">
+<a name="gimp-vector3-rotate.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>vector</p></td>
+<td class="parameter_description"><p>a pointer to a <a class="link" href="libgimpmath-GimpVector.html#GimpVector3" title="struct GimpVector3"><span class="type">GimpVector3</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>alpha</p></td>
+<td class="parameter_description"><p>the angle (in radian) of rotation around the Z axis.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>beta</p></td>
+<td class="parameter_description"><p>the angle (in radian) of rotation around the Y axis.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>gamma</p></td>
+<td class="parameter_description"><p>the angle (in radian) of rotation around the X axis.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gimp-vector3-rotate-val"></a><h3>gimp_vector3_rotate_val ()</h3>
+<pre class="programlisting"><a class="link" href="libgimpmath-GimpVector.html#GimpVector3" title="struct GimpVector3"><span class="returnvalue">GimpVector3</span></a>
+gimp_vector3_rotate_val (<em class="parameter"><code><a class="link" href="libgimpmath-GimpVector.html#GimpVector3" title="struct GimpVector3"><span class="type">GimpVector3</span></a> vector</code></em>,
+ <em class="parameter"><code><span class="type">gdouble</span> alpha</code></em>,
+ <em class="parameter"><code><span class="type">gdouble</span> beta</code></em>,
+ <em class="parameter"><code><span class="type">gdouble</span> gamma</code></em>);</pre>
+<p>This function is identical to <a class="link" href="libgimpmath-GimpVector.html#gimp-vector3-rotate" title="gimp_vector3_rotate ()"><code class="function">gimp_vector3_rotate()</code></a> but the vectors
+are passed by value rather than by reference.</p>
+<div class="refsect3">
+<a name="gimp-vector3-rotate-val.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>vector</p></td>
+<td class="parameter_description"><p>a <a class="link" href="libgimpmath-GimpVector.html#GimpVector3" title="struct GimpVector3"><span class="type">GimpVector3</span></a>.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>alpha</p></td>
+<td class="parameter_description"><p>the angle (in radian) of rotation around the Z axis.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>beta</p></td>
+<td class="parameter_description"><p>the angle (in radian) of rotation around the Y axis.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>gamma</p></td>
+<td class="parameter_description"><p>the angle (in radian) of rotation around the X axis.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="gimp-vector3-rotate-val.returns"></a><h4>Returns</h4>
+<p> the rotated vector.</p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gimp-vector-2d-to-3d"></a><h3>gimp_vector_2d_to_3d ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+gimp_vector_2d_to_3d (<em class="parameter"><code><span class="type">gint</span> sx</code></em>,
+ <em class="parameter"><code><span class="type">gint</span> sy</code></em>,
+ <em class="parameter"><code><span class="type">gint</span> w</code></em>,
+ <em class="parameter"><code><span class="type">gint</span> h</code></em>,
+ <em class="parameter"><code><span class="type">gint</span> x</code></em>,
+ <em class="parameter"><code><span class="type">gint</span> y</code></em>,
+ <em class="parameter"><code>const <a class="link" href="libgimpmath-GimpVector.html#GimpVector3" title="struct GimpVector3"><span class="type">GimpVector3</span></a> *vp</code></em>,
+ <em class="parameter"><code><a class="link" href="libgimpmath-GimpVector.html#GimpVector3" title="struct GimpVector3"><span class="type">GimpVector3</span></a> *p</code></em>);</pre>
+<p>\"Compute screen (sx, sy) - (sx + w, sy + h) to 3D unit square
+mapping. The plane to map to is given in the z field of p. The
+observer is located at position vp (vp-&gt;z != 0.0).\"</p>
+<p>In other words, this computes the projection of the point (<em class="parameter"><code>x</code></em>
+, <em class="parameter"><code>y</code></em>
+)
+to the plane z = <em class="parameter"><code>p-&gt;z</code></em>
+ (parallel to XY), from the <em class="parameter"><code>vp</code></em>
+ point of view
+through the screen (<em class="parameter"><code>sx</code></em>
+, <em class="parameter"><code>sy</code></em>
+)-&gt;(<em class="parameter"><code>sx</code></em>
+ + <em class="parameter"><code>w</code></em>
+, <em class="parameter"><code>sy</code></em>
+ + <em class="parameter"><code>h</code></em>
+)</p>
+<div class="refsect3">
+<a name="gimp-vector-2d-to-3d.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>sx</p></td>
+<td class="parameter_description"><p>the abscissa of the upper-left screen rectangle.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>sy</p></td>
+<td class="parameter_description"><p>the ordinate of the upper-left screen rectangle.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>w</p></td>
+<td class="parameter_description"><p>the width of the screen rectangle.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>h</p></td>
+<td class="parameter_description"><p>the height of the screen rectangle.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>x</p></td>
+<td class="parameter_description"><p>the abscissa of the point in the screen rectangle to map.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>y</p></td>
+<td class="parameter_description"><p>the ordinate of the point in the screen rectangle to map.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>vp</p></td>
+<td class="parameter_description"><p>the position of the observer.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>p</p></td>
+<td class="parameter_description"><p>the resulting point.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gimp-vector-2d-to-3d-val"></a><h3>gimp_vector_2d_to_3d_val ()</h3>
+<pre class="programlisting"><a class="link" href="libgimpmath-GimpVector.html#GimpVector3" title="struct GimpVector3"><span class="returnvalue">GimpVector3</span></a>
+gimp_vector_2d_to_3d_val (<em class="parameter"><code><span class="type">gint</span> sx</code></em>,
+ <em class="parameter"><code><span class="type">gint</span> sy</code></em>,
+ <em class="parameter"><code><span class="type">gint</span> w</code></em>,
+ <em class="parameter"><code><span class="type">gint</span> h</code></em>,
+ <em class="parameter"><code><span class="type">gint</span> x</code></em>,
+ <em class="parameter"><code><span class="type">gint</span> y</code></em>,
+ <em class="parameter"><code><a class="link" href="libgimpmath-GimpVector.html#GimpVector3" title="struct GimpVector3"><span class="type">GimpVector3</span></a> vp</code></em>,
+ <em class="parameter"><code><a class="link" href="libgimpmath-GimpVector.html#GimpVector3" title="struct GimpVector3"><span class="type">GimpVector3</span></a> p</code></em>);</pre>
+<p>This function is identical to <a class="link" href="libgimpmath-GimpVector.html#gimp-vector-2d-to-3d" title="gimp_vector_2d_to_3d ()"><code class="function">gimp_vector_2d_to_3d()</code></a> but the
+position of the <em class="parameter"><code>observer</code></em>
+ and the resulting point <em class="parameter"><code>p</code></em>
+ are passed by
+value rather than by reference.</p>
+<div class="refsect3">
+<a name="gimp-vector-2d-to-3d-val.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>sx</p></td>
+<td class="parameter_description"><p>the abscissa of the upper-left screen rectangle.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>sy</p></td>
+<td class="parameter_description"><p>the ordinate of the upper-left screen rectangle.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>w</p></td>
+<td class="parameter_description"><p>the width of the screen rectangle.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>h</p></td>
+<td class="parameter_description"><p>the height of the screen rectangle.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>x</p></td>
+<td class="parameter_description"><p>the abscissa of the point in the screen rectangle to map.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>y</p></td>
+<td class="parameter_description"><p>the ordinate of the point in the screen rectangle to map.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>vp</p></td>
+<td class="parameter_description"><p>position of the observer.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>p</p></td>
+<td class="parameter_description"><p>the resulting point.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="gimp-vector-2d-to-3d-val.returns"></a><h4>Returns</h4>
+<p> the computed <a class="link" href="libgimpmath-GimpVector.html#GimpVector3" title="struct GimpVector3"><span class="type">GimpVector3</span></a> point.</p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gimp-vector-3d-to-2d"></a><h3>gimp_vector_3d_to_2d ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+gimp_vector_3d_to_2d (<em class="parameter"><code><span class="type">gint</span> sx</code></em>,
+ <em class="parameter"><code><span class="type">gint</span> sy</code></em>,
+ <em class="parameter"><code><span class="type">gint</span> w</code></em>,
+ <em class="parameter"><code><span class="type">gint</span> h</code></em>,
+ <em class="parameter"><code><span class="type">gdouble</span> *x</code></em>,
+ <em class="parameter"><code><span class="type">gdouble</span> *y</code></em>,
+ <em class="parameter"><code>const <a class="link" href="libgimpmath-GimpVector.html#GimpVector3" title="struct GimpVector3"><span class="type">GimpVector3</span></a> *vp</code></em>,
+ <em class="parameter"><code>const <a class="link" href="libgimpmath-GimpVector.html#GimpVector3" title="struct GimpVector3"><span class="type">GimpVector3</span></a> *p</code></em>);</pre>
+<p>Convert the given 3D point to 2D (project it onto the viewing
+plane, (sx, sy, 0) - (sx + w, sy + h, 0). The input is assumed to
+be in the unit square (0, 0, z) - (1, 1, z). The viewpoint of the
+observer is passed in vp.</p>
+<p>This is basically the opposite of <a class="link" href="libgimpmath-GimpVector.html#gimp-vector-2d-to-3d" title="gimp_vector_2d_to_3d ()"><code class="function">gimp_vector_2d_to_3d()</code></a>.</p>
+<div class="refsect3">
+<a name="gimp-vector-3d-to-2d.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>sx</p></td>
+<td class="parameter_description"><p>the abscissa of the upper-left screen rectangle.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>sy</p></td>
+<td class="parameter_description"><p>the ordinate of the upper-left screen rectangle.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>w</p></td>
+<td class="parameter_description"><p>the width of the screen rectangle.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>h</p></td>
+<td class="parameter_description"><p>the height of the screen rectangle.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>x</p></td>
+<td class="parameter_description"><p>the abscissa of the point in the screen rectangle to map (return value).</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>y</p></td>
+<td class="parameter_description"><p>the ordinate of the point in the screen rectangle to map (return value).</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>vp</p></td>
+<td class="parameter_description"><p>position of the observer.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>p</p></td>
+<td class="parameter_description"><p>the 3D point to project to the plane.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+</div>
+<div class="refsect1">
+<a name="libgimpmath-GimpVector.other_details"></a><h2>Types and Values</h2>
+<div class="refsect2">
+<a name="GimpVector2"></a><h3>struct GimpVector2</h3>
+<pre class="programlisting">struct GimpVector2 {
+ gdouble x, y;
+};
+</pre>
+<p>A two dimensional vector.</p>
+<div class="refsect3">
+<a name="GimpVector2.members"></a><h4>Members</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="300px" class="struct_members_name">
+<col class="struct_members_description">
+<col width="200px" class="struct_members_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="struct_member_name"><p><span class="type">gdouble</span> <em class="structfield"><code><a name="GimpVector2.x"></a>x</code></em>;</p></td>
+<td class="struct_member_description"><p>the x axis</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><span class="type">gdouble</span> <em class="structfield"><code><a name="GimpVector2.y"></a>y</code></em>;</p></td>
+<td class="struct_member_description"><p>the y axis</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="GimpVector3"></a><h3>struct GimpVector3</h3>
+<pre class="programlisting">struct GimpVector3 {
+ gdouble x, y, z;
+};
+</pre>
+<p>A three dimensional vector.</p>
+<div class="refsect3">
+<a name="GimpVector3.members"></a><h4>Members</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="300px" class="struct_members_name">
+<col class="struct_members_description">
+<col width="200px" class="struct_members_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="struct_member_name"><p><span class="type">gdouble</span> <em class="structfield"><code><a name="GimpVector3.x"></a>x</code></em>;</p></td>
+<td class="struct_member_description"><p>the x axis</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><span class="type">gdouble</span> <em class="structfield"><code><a name="GimpVector3.y"></a>y</code></em>;</p></td>
+<td class="struct_member_description"><p>the y axis</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><span class="type">gdouble</span> <em class="structfield"><code><a name="GimpVector3.z"></a>z</code></em>;</p></td>
+<td class="struct_member_description"><p>the z axis</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="GimpVector4"></a><h3>struct GimpVector4</h3>
+<pre class="programlisting">struct GimpVector4 {
+ gdouble x, y, z, w;
+};
+</pre>
+<p>A four dimensional vector.</p>
+<div class="refsect3">
+<a name="GimpVector4.members"></a><h4>Members</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="300px" class="struct_members_name">
+<col class="struct_members_description">
+<col width="200px" class="struct_members_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="struct_member_name"><p><span class="type">gdouble</span> <em class="structfield"><code><a name="GimpVector4.x"></a>x</code></em>;</p></td>
+<td class="struct_member_description"><p>the x axis</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><span class="type">gdouble</span> <em class="structfield"><code><a name="GimpVector4.y"></a>y</code></em>;</p></td>
+<td class="struct_member_description"><p>the y axis</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><span class="type">gdouble</span> <em class="structfield"><code><a name="GimpVector4.z"></a>z</code></em>;</p></td>
+<td class="struct_member_description"><p>the z axis</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><span class="type">gdouble</span> <em class="structfield"><code><a name="GimpVector4.w"></a>w</code></em>;</p></td>
+<td class="struct_member_description"><p>the w axis</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+</div>
+<div class="refsect1">
+<a name="libgimpmath-GimpVector.see-also"></a><h2>See Also</h2>
+<p><a class="link" href="libgimpmath-GimpMatrix.html#GimpMatrix2" title="struct GimpMatrix2"><span class="type">GimpMatrix2</span></a>, <a class="link" href="libgimpmath-GimpMatrix.html#GimpMatrix3" title="struct GimpMatrix3"><span class="type">GimpMatrix3</span></a>, <a class="link" href="libgimpmath-GimpMatrix.html#GimpMatrix4" title="struct GimpMatrix4"><span class="type">GimpMatrix4</span></a></p>
+</div>
+</div>
+<div class="footer">
+<hr>Generated by GTK-Doc V1.33.1</div>
+</body>
+</html> \ No newline at end of file
diff --git a/devel-docs/libgimpmath/html/libgimpmath.devhelp2 b/devel-docs/libgimpmath/html/libgimpmath.devhelp2
new file mode 100644
index 0000000..29c58f6
--- /dev/null
+++ b/devel-docs/libgimpmath/html/libgimpmath.devhelp2
@@ -0,0 +1,127 @@
+<?xml version="1.0" encoding="utf-8" standalone="no"?>
+<book xmlns="http://www.devhelp.net/book" title="GIMP Math Library Reference Manual" link="index.html" author="" name="libgimpmath" version="2" language="c">
+ <chapters>
+ <sub name="GIMP Math Library" link="pt01.html">
+ <sub name="GimpMath" link="libgimpmath-GimpMath.html"/>
+ <sub name="GimpMatrix" link="libgimpmath-GimpMatrix.html"/>
+ <sub name="GimpVector" link="libgimpmath-GimpVector.html"/>
+ <sub name="GimpMD5" link="libgimpmath-GimpMD5.html"/>
+ </sub>
+ <sub name="Index" link="api-index-full.html"/>
+ <sub name="Index of new symbols in GIMP 2.4" link="api-index-2-4.html"/>
+ <sub name="Index of new symbols in GIMP 2.8" link="api-index-2-8.html"/>
+ <sub name="Index of new symbols in GIMP 2.10" link="api-index-2-10.html"/>
+ <sub name="Index of new symbols in GIMP 2.10.16" link="api-index-2-10-16.html"/>
+ <sub name="Index of deprecated symbols" link="api-index-deprecated.html"/>
+ </chapters>
+ <functions>
+ <keyword type="macro" name="RINT()" link="libgimpmath-GimpMath.html#RINT:CAPS"/>
+ <keyword type="macro" name="ROUND()" link="libgimpmath-GimpMath.html#ROUND:CAPS"/>
+ <keyword type="macro" name="SIGNED_ROUND()" link="libgimpmath-GimpMath.html#SIGNED-ROUND:CAPS"/>
+ <keyword type="macro" name="SQR()" link="libgimpmath-GimpMath.html#SQR:CAPS"/>
+ <keyword type="macro" name="MAX255()" link="libgimpmath-GimpMath.html#MAX255:CAPS"/>
+ <keyword type="macro" name="CLAMP0255()" link="libgimpmath-GimpMath.html#CLAMP0255:CAPS"/>
+ <keyword type="macro" name="SAFE_CLAMP()" link="libgimpmath-GimpMath.html#SAFE-CLAMP:CAPS" since="2.10"/>
+ <keyword type="macro" name="gimp_deg_to_rad()" link="libgimpmath-GimpMath.html#gimp-deg-to-rad"/>
+ <keyword type="macro" name="gimp_rad_to_deg()" link="libgimpmath-GimpMath.html#gimp-rad-to-deg"/>
+ <keyword type="function" name="gimp_matrix2_identity ()" link="libgimpmath-GimpMatrix.html#gimp-matrix2-identity"/>
+ <keyword type="function" name="gimp_matrix2_mult ()" link="libgimpmath-GimpMatrix.html#gimp-matrix2-mult"/>
+ <keyword type="function" name="gimp_matrix2_determinant ()" link="libgimpmath-GimpMatrix.html#gimp-matrix2-determinant" since="2.10.16"/>
+ <keyword type="function" name="gimp_matrix2_invert ()" link="libgimpmath-GimpMatrix.html#gimp-matrix2-invert" since="2.10.16"/>
+ <keyword type="function" name="gimp_matrix2_transform_point ()" link="libgimpmath-GimpMatrix.html#gimp-matrix2-transform-point" since="2.10.16"/>
+ <keyword type="function" name="gimp_matrix3_identity ()" link="libgimpmath-GimpMatrix.html#gimp-matrix3-identity"/>
+ <keyword type="function" name="gimp_matrix3_mult ()" link="libgimpmath-GimpMatrix.html#gimp-matrix3-mult"/>
+ <keyword type="function" name="gimp_matrix3_translate ()" link="libgimpmath-GimpMatrix.html#gimp-matrix3-translate"/>
+ <keyword type="function" name="gimp_matrix3_scale ()" link="libgimpmath-GimpMatrix.html#gimp-matrix3-scale"/>
+ <keyword type="function" name="gimp_matrix3_rotate ()" link="libgimpmath-GimpMatrix.html#gimp-matrix3-rotate"/>
+ <keyword type="function" name="gimp_matrix3_xshear ()" link="libgimpmath-GimpMatrix.html#gimp-matrix3-xshear"/>
+ <keyword type="function" name="gimp_matrix3_yshear ()" link="libgimpmath-GimpMatrix.html#gimp-matrix3-yshear"/>
+ <keyword type="function" name="gimp_matrix3_affine ()" link="libgimpmath-GimpMatrix.html#gimp-matrix3-affine"/>
+ <keyword type="function" name="gimp_matrix3_transform_point ()" link="libgimpmath-GimpMatrix.html#gimp-matrix3-transform-point"/>
+ <keyword type="function" name="gimp_matrix3_determinant ()" link="libgimpmath-GimpMatrix.html#gimp-matrix3-determinant"/>
+ <keyword type="function" name="gimp_matrix3_invert ()" link="libgimpmath-GimpMatrix.html#gimp-matrix3-invert"/>
+ <keyword type="function" name="gimp_matrix3_is_identity ()" link="libgimpmath-GimpMatrix.html#gimp-matrix3-is-identity"/>
+ <keyword type="function" name="gimp_matrix3_is_diagonal ()" link="libgimpmath-GimpMatrix.html#gimp-matrix3-is-diagonal"/>
+ <keyword type="function" name="gimp_matrix3_is_affine ()" link="libgimpmath-GimpMatrix.html#gimp-matrix3-is-affine" since="2.4"/>
+ <keyword type="function" name="gimp_matrix3_is_simple ()" link="libgimpmath-GimpMatrix.html#gimp-matrix3-is-simple"/>
+ <keyword type="function" name="gimp_matrix3_equal ()" link="libgimpmath-GimpMatrix.html#gimp-matrix3-equal" since="2.10.16"/>
+ <keyword type="function" name="gimp_matrix4_identity ()" link="libgimpmath-GimpMatrix.html#gimp-matrix4-identity" since="2.10.16"/>
+ <keyword type="function" name="gimp_matrix4_mult ()" link="libgimpmath-GimpMatrix.html#gimp-matrix4-mult" since="2.10.16"/>
+ <keyword type="function" name="gimp_matrix4_to_deg ()" link="libgimpmath-GimpMatrix.html#gimp-matrix4-to-deg"/>
+ <keyword type="function" name="gimp_matrix4_transform_point ()" link="libgimpmath-GimpMatrix.html#gimp-matrix4-transform-point" since="2.10.16"/>
+ <keyword type="macro" name="GIMP_IS_PARAM_SPEC_MATRIX2()" link="libgimpmath-GimpMatrix.html#GIMP-IS-PARAM-SPEC-MATRIX2:CAPS"/>
+ <keyword type="function" name="gimp_param_spec_matrix2 ()" link="libgimpmath-GimpMatrix.html#gimp-param-spec-matrix2" since="2.4"/>
+ <keyword type="macro" name="GIMP_VALUE_HOLDS_MATRIX2()" link="libgimpmath-GimpMatrix.html#GIMP-VALUE-HOLDS-MATRIX2:CAPS"/>
+ <keyword type="macro" name="GIMP_IS_PARAM_SPEC_MATRIX3()" link="libgimpmath-GimpMatrix.html#GIMP-IS-PARAM-SPEC-MATRIX3:CAPS"/>
+ <keyword type="function" name="gimp_param_spec_matrix3 ()" link="libgimpmath-GimpMatrix.html#gimp-param-spec-matrix3" since="2.8"/>
+ <keyword type="macro" name="GIMP_VALUE_HOLDS_MATRIX3()" link="libgimpmath-GimpMatrix.html#GIMP-VALUE-HOLDS-MATRIX3:CAPS"/>
+ <keyword type="struct" name="struct GimpMatrix2" link="libgimpmath-GimpMatrix.html#GimpMatrix2"/>
+ <keyword type="struct" name="struct GimpMatrix3" link="libgimpmath-GimpMatrix.html#GimpMatrix3"/>
+ <keyword type="struct" name="struct GimpMatrix4" link="libgimpmath-GimpMatrix.html#GimpMatrix4"/>
+ <keyword type="macro" name="GIMP_TYPE_MATRIX2" link="libgimpmath-GimpMatrix.html#GIMP-TYPE-MATRIX2:CAPS"/>
+ <keyword type="macro" name="GIMP_TYPE_PARAM_MATRIX2" link="libgimpmath-GimpMatrix.html#GIMP-TYPE-PARAM-MATRIX2:CAPS"/>
+ <keyword type="macro" name="GIMP_TYPE_MATRIX3" link="libgimpmath-GimpMatrix.html#GIMP-TYPE-MATRIX3:CAPS"/>
+ <keyword type="macro" name="GIMP_TYPE_PARAM_MATRIX3" link="libgimpmath-GimpMatrix.html#GIMP-TYPE-PARAM-MATRIX3:CAPS"/>
+ <keyword type="function" name="gimp_vector2_new ()" link="libgimpmath-GimpVector.html#gimp-vector2-new"/>
+ <keyword type="function" name="gimp_vector2_set ()" link="libgimpmath-GimpVector.html#gimp-vector2-set"/>
+ <keyword type="function" name="gimp_vector2_length ()" link="libgimpmath-GimpVector.html#gimp-vector2-length"/>
+ <keyword type="function" name="gimp_vector2_length_val ()" link="libgimpmath-GimpVector.html#gimp-vector2-length-val"/>
+ <keyword type="function" name="gimp_vector2_mul ()" link="libgimpmath-GimpVector.html#gimp-vector2-mul"/>
+ <keyword type="function" name="gimp_vector2_mul_val ()" link="libgimpmath-GimpVector.html#gimp-vector2-mul-val"/>
+ <keyword type="function" name="gimp_vector2_normal ()" link="libgimpmath-GimpVector.html#gimp-vector2-normal" since="2.8"/>
+ <keyword type="function" name="gimp_vector2_normal_val ()" link="libgimpmath-GimpVector.html#gimp-vector2-normal-val" since="2.8"/>
+ <keyword type="function" name="gimp_vector2_normalize ()" link="libgimpmath-GimpVector.html#gimp-vector2-normalize"/>
+ <keyword type="function" name="gimp_vector2_normalize_val ()" link="libgimpmath-GimpVector.html#gimp-vector2-normalize-val"/>
+ <keyword type="function" name="gimp_vector2_neg ()" link="libgimpmath-GimpVector.html#gimp-vector2-neg"/>
+ <keyword type="function" name="gimp_vector2_neg_val ()" link="libgimpmath-GimpVector.html#gimp-vector2-neg-val"/>
+ <keyword type="function" name="gimp_vector2_add ()" link="libgimpmath-GimpVector.html#gimp-vector2-add"/>
+ <keyword type="function" name="gimp_vector2_add_val ()" link="libgimpmath-GimpVector.html#gimp-vector2-add-val"/>
+ <keyword type="function" name="gimp_vector2_sub ()" link="libgimpmath-GimpVector.html#gimp-vector2-sub"/>
+ <keyword type="function" name="gimp_vector2_sub_val ()" link="libgimpmath-GimpVector.html#gimp-vector2-sub-val"/>
+ <keyword type="function" name="gimp_vector2_inner_product ()" link="libgimpmath-GimpVector.html#gimp-vector2-inner-product"/>
+ <keyword type="function" name="gimp_vector2_inner_product_val ()" link="libgimpmath-GimpVector.html#gimp-vector2-inner-product-val"/>
+ <keyword type="function" name="gimp_vector2_cross_product ()" link="libgimpmath-GimpVector.html#gimp-vector2-cross-product"/>
+ <keyword type="function" name="gimp_vector2_cross_product_val ()" link="libgimpmath-GimpVector.html#gimp-vector2-cross-product-val"/>
+ <keyword type="function" name="gimp_vector2_rotate ()" link="libgimpmath-GimpVector.html#gimp-vector2-rotate"/>
+ <keyword type="function" name="gimp_vector2_rotate_val ()" link="libgimpmath-GimpVector.html#gimp-vector2-rotate-val"/>
+ <keyword type="function" name="gimp_vector3_new ()" link="libgimpmath-GimpVector.html#gimp-vector3-new"/>
+ <keyword type="function" name="gimp_vector3_set ()" link="libgimpmath-GimpVector.html#gimp-vector3-set"/>
+ <keyword type="function" name="gimp_vector3_length ()" link="libgimpmath-GimpVector.html#gimp-vector3-length"/>
+ <keyword type="function" name="gimp_vector3_length_val ()" link="libgimpmath-GimpVector.html#gimp-vector3-length-val"/>
+ <keyword type="function" name="gimp_vector3_mul ()" link="libgimpmath-GimpVector.html#gimp-vector3-mul"/>
+ <keyword type="function" name="gimp_vector3_mul_val ()" link="libgimpmath-GimpVector.html#gimp-vector3-mul-val"/>
+ <keyword type="function" name="gimp_vector3_normalize ()" link="libgimpmath-GimpVector.html#gimp-vector3-normalize"/>
+ <keyword type="function" name="gimp_vector3_normalize_val ()" link="libgimpmath-GimpVector.html#gimp-vector3-normalize-val"/>
+ <keyword type="function" name="gimp_vector3_neg ()" link="libgimpmath-GimpVector.html#gimp-vector3-neg"/>
+ <keyword type="function" name="gimp_vector3_neg_val ()" link="libgimpmath-GimpVector.html#gimp-vector3-neg-val"/>
+ <keyword type="function" name="gimp_vector3_add ()" link="libgimpmath-GimpVector.html#gimp-vector3-add"/>
+ <keyword type="function" name="gimp_vector3_add_val ()" link="libgimpmath-GimpVector.html#gimp-vector3-add-val"/>
+ <keyword type="function" name="gimp_vector3_sub ()" link="libgimpmath-GimpVector.html#gimp-vector3-sub"/>
+ <keyword type="function" name="gimp_vector3_sub_val ()" link="libgimpmath-GimpVector.html#gimp-vector3-sub-val"/>
+ <keyword type="function" name="gimp_vector3_inner_product ()" link="libgimpmath-GimpVector.html#gimp-vector3-inner-product"/>
+ <keyword type="function" name="gimp_vector3_inner_product_val ()" link="libgimpmath-GimpVector.html#gimp-vector3-inner-product-val"/>
+ <keyword type="function" name="gimp_vector3_cross_product ()" link="libgimpmath-GimpVector.html#gimp-vector3-cross-product"/>
+ <keyword type="function" name="gimp_vector3_cross_product_val ()" link="libgimpmath-GimpVector.html#gimp-vector3-cross-product-val"/>
+ <keyword type="function" name="gimp_vector3_rotate ()" link="libgimpmath-GimpVector.html#gimp-vector3-rotate"/>
+ <keyword type="function" name="gimp_vector3_rotate_val ()" link="libgimpmath-GimpVector.html#gimp-vector3-rotate-val"/>
+ <keyword type="function" name="gimp_vector_2d_to_3d ()" link="libgimpmath-GimpVector.html#gimp-vector-2d-to-3d"/>
+ <keyword type="function" name="gimp_vector_2d_to_3d_val ()" link="libgimpmath-GimpVector.html#gimp-vector-2d-to-3d-val"/>
+ <keyword type="function" name="gimp_vector_3d_to_2d ()" link="libgimpmath-GimpVector.html#gimp-vector-3d-to-2d"/>
+ <keyword type="struct" name="struct GimpVector2" link="libgimpmath-GimpVector.html#GimpVector2"/>
+ <keyword type="struct" name="struct GimpVector3" link="libgimpmath-GimpVector.html#GimpVector3"/>
+ <keyword type="struct" name="struct GimpVector4" link="libgimpmath-GimpVector.html#GimpVector4"/>
+ <keyword type="function" name="gimp_md5_get_digest ()" link="libgimpmath-GimpMD5.html#gimp-md5-get-digest" deprecated=""/>
+ <keyword type="member" name="GimpMatrix2.coeff" link="libgimpmath-GimpMatrix.html#GimpMatrix2.coeff"/>
+ <keyword type="member" name="GimpMatrix3.coeff" link="libgimpmath-GimpMatrix.html#GimpMatrix3.coeff"/>
+ <keyword type="member" name="GimpMatrix4.coeff" link="libgimpmath-GimpMatrix.html#GimpMatrix4.coeff"/>
+ <keyword type="member" name="GimpVector2.x" link="libgimpmath-GimpVector.html#GimpVector2.x"/>
+ <keyword type="member" name="GimpVector2.y" link="libgimpmath-GimpVector.html#GimpVector2.y"/>
+ <keyword type="member" name="GimpVector3.x" link="libgimpmath-GimpVector.html#GimpVector3.x"/>
+ <keyword type="member" name="GimpVector3.y" link="libgimpmath-GimpVector.html#GimpVector3.y"/>
+ <keyword type="member" name="GimpVector3.z" link="libgimpmath-GimpVector.html#GimpVector3.z"/>
+ <keyword type="member" name="GimpVector4.x" link="libgimpmath-GimpVector.html#GimpVector4.x"/>
+ <keyword type="member" name="GimpVector4.y" link="libgimpmath-GimpVector.html#GimpVector4.y"/>
+ <keyword type="member" name="GimpVector4.z" link="libgimpmath-GimpVector.html#GimpVector4.z"/>
+ <keyword type="member" name="GimpVector4.w" link="libgimpmath-GimpVector.html#GimpVector4.w"/>
+ </functions>
+</book>
diff --git a/devel-docs/libgimpmath/html/pt01.html b/devel-docs/libgimpmath/html/pt01.html
new file mode 100644
index 0000000..97937c4
--- /dev/null
+++ b/devel-docs/libgimpmath/html/pt01.html
@@ -0,0 +1,47 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Part I. GIMP Math Library: GIMP Math Library Reference Manual</title>
+<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot">
+<link rel="home" href="index.html" title="GIMP Math Library Reference Manual">
+<link rel="up" href="index.html" title="GIMP Math Library Reference Manual">
+<link rel="prev" href="index.html" title="GIMP Math Library Reference Manual">
+<link rel="next" href="libgimpmath-GimpMath.html" title="GimpMath">
+<meta name="generator" content="GTK-Doc V1.33.1 (XML mode)">
+<link rel="stylesheet" href="style.css" type="text/css">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
+<td width="100%" align="left" class="shortcuts"></td>
+<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
+<td><img src="up-insensitive.png" width="16" height="16" border="0"></td>
+<td><a accesskey="p" href="index.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
+<td><a accesskey="n" href="libgimpmath-GimpMath.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
+</tr></table>
+<div class="part">
+<div class="titlepage"><div><div><h1 class="title">
+<a name="id-1.2"></a>Part I. GIMP Math Library</h1></div></div></div>
+<div class="toc">
+<p><b>Table of Contents</b></p>
+<dl class="toc">
+<dt>
+<span class="refentrytitle"><a href="libgimpmath-GimpMath.html">GimpMath</a></span><span class="refpurpose"> — Mathematical definitions and macros.</span>
+</dt>
+<dt>
+<span class="refentrytitle"><a href="libgimpmath-GimpMatrix.html">GimpMatrix</a></span><span class="refpurpose"> — Utilities to set up and manipulate 3x3
+transformation matrices.</span>
+</dt>
+<dt>
+<span class="refentrytitle"><a href="libgimpmath-GimpVector.html">GimpVector</a></span><span class="refpurpose"> — Utilities to set up and manipulate vectors.</span>
+</dt>
+<dt>
+<span class="refentrytitle"><a href="libgimpmath-GimpMD5.html">GimpMD5</a></span><span class="refpurpose"> — The MD5 message-digest algorithm</span>
+</dt>
+</dl>
+</div>
+</div>
+<div class="footer">
+<hr>Generated by GTK-Doc V1.33.1</div>
+</body>
+</html> \ No newline at end of file
diff --git a/devel-docs/libgimpmath/html/right-insensitive.png b/devel-docs/libgimpmath/html/right-insensitive.png
new file mode 100644
index 0000000..763208d
--- /dev/null
+++ b/devel-docs/libgimpmath/html/right-insensitive.png
Binary files differ
diff --git a/devel-docs/libgimpmath/html/right.png b/devel-docs/libgimpmath/html/right.png
new file mode 100644
index 0000000..eb90dd4
--- /dev/null
+++ b/devel-docs/libgimpmath/html/right.png
Binary files differ
diff --git a/devel-docs/libgimpmath/html/style.css b/devel-docs/libgimpmath/html/style.css
new file mode 100644
index 0000000..41781ba
--- /dev/null
+++ b/devel-docs/libgimpmath/html/style.css
@@ -0,0 +1,530 @@
+body
+{
+ font-family: cantarell, sans-serif;
+}
+.synopsis, .classsynopsis
+{
+ /* tango:aluminium 1/2 */
+ background: #eeeeec;
+ background: rgba(238, 238, 236, 0.5);
+ border: solid 1px rgb(238, 238, 236);
+ padding: 0.5em;
+}
+.programlisting
+{
+ /* tango:sky blue 0/1 */
+ /* fallback for no rgba support */
+ background: #e6f3ff;
+ border: solid 1px #729fcf;
+ background: rgba(114, 159, 207, 0.1);
+ border: solid 1px rgba(114, 159, 207, 0.2);
+ padding: 0.5em;
+}
+.variablelist
+{
+ padding: 4px;
+ margin-left: 3em;
+}
+.variablelist td:first-child
+{
+ vertical-align: top;
+}
+
+span.nowrap {
+ white-space: nowrap;
+}
+
+div.gallery-float
+{
+ float: left;
+ padding: 10px;
+}
+div.gallery-float img
+{
+ border-style: none;
+}
+div.gallery-spacer
+{
+ clear: both;
+}
+
+a, a:visited
+{
+ text-decoration: none;
+ /* tango:sky blue 2 */
+ color: #3465a4;
+}
+a:hover
+{
+ text-decoration: underline;
+ /* tango:sky blue 1 */
+ color: #729fcf;
+}
+
+.function_type,
+.variable_type,
+.property_type,
+.signal_type,
+.parameter_name,
+.struct_member_name,
+.union_member_name,
+.define_keyword,
+.datatype_keyword,
+.typedef_keyword
+{
+ text-align: right;
+}
+
+/* dim non-primary columns */
+.c_punctuation,
+.function_type,
+.variable_type,
+.property_type,
+.signal_type,
+.define_keyword,
+.datatype_keyword,
+.typedef_keyword,
+.property_flags,
+.signal_flags,
+.parameter_annotations,
+.enum_member_annotations,
+.struct_member_annotations,
+.union_member_annotations
+{
+ color: #888a85;
+}
+
+.function_type a,
+.function_type a:visited,
+.function_type a:hover,
+.property_type a,
+.property_type a:visited,
+.property_type a:hover,
+.signal_type a,
+.signal_type a:visited,
+.signal_type a:hover,
+.signal_flags a,
+.signal_flags a:visited,
+.signal_flags a:hover
+{
+ color: #729fcf;
+}
+
+td p
+{
+ margin: 0.25em;
+}
+
+div.informaltable table[border="1"],
+div.table table
+{
+ border-collapse: collapse;
+ border-spacing: 0px;
+ /* tango:aluminium 3 */
+ border: solid 1px #babdb6;
+}
+
+div.informaltable table[border="1"] td,
+div.informaltable table th,
+div.table table td, div.table table th
+{
+ /* tango:aluminium 3 */
+ border: solid 1px #babdb6;
+ padding: 3px;
+ vertical-align: top;
+}
+
+div.informaltable table[border="1"] th,
+div.table table th
+{
+ /* tango:aluminium 2 */
+ background-color: #d3d7cf;
+}
+
+h4
+{
+ color: #555753;
+ margin-top: 1em;
+ margin-bottom: 1em;
+}
+
+hr
+{
+ /* tango:aluminium 1 */
+ color: #d3d7cf;
+ background: #d3d7cf;
+ border: none 0px;
+ height: 1px;
+ clear: both;
+ margin: 2.0em 0em 2.0em 0em;
+}
+
+dl.toc dt
+{
+ padding-bottom: 0.25em;
+}
+
+dl.toc > dt
+{
+ padding-top: 0.25em;
+ padding-bottom: 0.25em;
+ font-weight: bold;
+}
+
+dl.toc > dl
+{
+ padding-bottom: 0.5em;
+}
+
+.parameter
+{
+ font-style: normal;
+}
+
+.footer
+{
+ padding-top: 3.5em;
+ /* tango:aluminium 3 */
+ color: #babdb6;
+ text-align: center;
+ font-size: 80%;
+}
+
+.informalfigure,
+.figure
+{
+ margin: 1em;
+}
+
+.informalexample,
+.example
+{
+ margin-top: 1em;
+ margin-bottom: 1em;
+}
+
+.warning
+{
+ /* tango:orange 0/1 */
+ background: #ffeed9;
+ background: rgba(252, 175, 62, 0.1);
+ border-color: #ffb04f;
+ border-color: rgba(252, 175, 62, 0.2);
+}
+.note
+{
+ /* tango:chameleon 0/0.5 */
+ background: #d8ffb2;
+ background: rgba(138, 226, 52, 0.1);
+ border-color: #abf562;
+ border-color: rgba(138, 226, 52, 0.2);
+}
+div.blockquote
+{
+ border-color: #eeeeec;
+}
+.note, .warning, div.blockquote
+{
+ padding: 0.5em;
+ border-width: 1px;
+ border-style: solid;
+ margin: 2em;
+}
+.note p, .warning p
+{
+ margin: 0;
+}
+
+div.warning h3.title,
+div.note h3.title
+{
+ display: none;
+}
+
+p + div.section
+{
+ margin-top: 1em;
+}
+
+div.refnamediv,
+div.refsynopsisdiv,
+div.refsect1,
+div.refsect2,
+div.toc,
+div.section
+{
+ margin-bottom: 1em;
+}
+
+/* blob links */
+h2 .extralinks, h3 .extralinks
+{
+ float: right;
+ /* tango:aluminium 3 */
+ color: #babdb6;
+ font-size: 80%;
+ font-weight: normal;
+}
+
+.lineart
+{
+ color: #d3d7cf;
+ font-weight: normal;
+}
+
+.annotation
+{
+ /* tango:aluminium 5 */
+ color: #555753;
+ font-weight: normal;
+}
+
+.structfield
+{
+ font-style: normal;
+ font-weight: normal;
+}
+
+acronym,abbr
+{
+ border-bottom: 1px dotted gray;
+}
+
+.listing_frame {
+ /* tango:sky blue 1 */
+ border: solid 1px #729fcf;
+ border: solid 1px rgba(114, 159, 207, 0.2);
+ padding: 0px;
+}
+
+.listing_lines, .listing_code {
+ margin-top: 0px;
+ margin-bottom: 0px;
+ padding: 0.5em;
+}
+.listing_lines {
+ /* tango:sky blue 0.5 */
+ background: #a6c5e3;
+ background: rgba(114, 159, 207, 0.2);
+ /* tango:aluminium 6 */
+ color: #2e3436;
+}
+.listing_code {
+ /* tango:sky blue 0 */
+ background: #e6f3ff;
+ background: rgba(114, 159, 207, 0.1);
+}
+.listing_code .programlisting {
+ /* override from previous */
+ border: none 0px;
+ padding: 0px;
+ background: none;
+}
+.listing_lines pre, .listing_code pre {
+ margin: 0px;
+}
+
+@media screen {
+ /* these have a <sup> as a first child, but since there are no parent selectors
+ * we can't use that. */
+ a.footnote
+ {
+ position: relative;
+ top: 0em ! important;
+ }
+ /* this is needed so that the local anchors are displayed below the naviagtion */
+ div.footnote a[name], div.refnamediv a[name], div.refsect1 a[name], div.refsect2 a[name], div.index a[name], div.glossary a[name], div.sect1 a[name]
+ {
+ display: inline-block;
+ position: relative;
+ top:-5em;
+ }
+ /* this seems to be a bug in the xsl style sheets when generating indexes */
+ div.index div.index
+ {
+ top: 0em;
+ }
+ /* make space for the fixed navigation bar and add space at the bottom so that
+ * link targets appear somewhat close to top
+ */
+ body
+ {
+ padding-top: 2.5em;
+ padding-bottom: 500px;
+ max-width: 60em;
+ }
+ p
+ {
+ max-width: 60em;
+ }
+ /* style and size the navigation bar */
+ table.navigation#top
+ {
+ position: fixed;
+ background: #e2e2e2;
+ border-bottom: solid 1px #babdb6;
+ border-spacing: 5px;
+ margin-top: 0;
+ margin-bottom: 0;
+ top: 0;
+ left: 0;
+ z-index: 10;
+ }
+ table.navigation#top td
+ {
+ padding-left: 6px;
+ padding-right: 6px;
+ }
+ .navigation a, .navigation a:visited
+ {
+ /* tango:sky blue 3 */
+ color: #204a87;
+ }
+ .navigation a:hover
+ {
+ /* tango:sky blue 2 */
+ color: #3465a4;
+ }
+ td.shortcuts
+ {
+ /* tango:sky blue 2 */
+ color: #3465a4;
+ font-size: 80%;
+ white-space: nowrap;
+ }
+ td.shortcuts .dim
+ {
+ color: #babdb6;
+ }
+ .navigation .title
+ {
+ font-size: 80%;
+ max-width: none;
+ margin: 0px;
+ font-weight: normal;
+ }
+}
+@media screen and (min-width: 60em) {
+ /* screen larger than 60em */
+ body { margin: auto; }
+}
+@media screen and (max-width: 60em) {
+ /* screen less than 60em */
+ #nav_hierarchy { display: none; }
+ #nav_interfaces { display: none; }
+ #nav_prerequisites { display: none; }
+ #nav_derived_interfaces { display: none; }
+ #nav_implementations { display: none; }
+ #nav_child_properties { display: none; }
+ #nav_style_properties { display: none; }
+ #nav_index { display: none; }
+ #nav_glossary { display: none; }
+ .gallery_image { display: none; }
+ .property_flags { display: none; }
+ .signal_flags { display: none; }
+ .parameter_annotations { display: none; }
+ .enum_member_annotations { display: none; }
+ .struct_member_annotations { display: none; }
+ .union_member_annotations { display: none; }
+ /* now that a column is hidden, optimize space */
+ col.parameters_name { width: auto; }
+ col.parameters_description { width: auto; }
+ col.struct_members_name { width: auto; }
+ col.struct_members_description { width: auto; }
+ col.enum_members_name { width: auto; }
+ col.enum_members_description { width: auto; }
+ col.union_members_name { width: auto; }
+ col.union_members_description { width: auto; }
+ .listing_lines { display: none; }
+}
+@media print {
+ table.navigation {
+ visibility: collapse;
+ display: none;
+ }
+ div.titlepage table.navigation {
+ visibility: visible;
+ display: table;
+ background: #e2e2e2;
+ border: solid 1px #babdb6;
+ margin-top: 0;
+ margin-bottom: 0;
+ top: 0;
+ left: 0;
+ height: 3em;
+ }
+}
+
+pre { line-height: 125%; margin: 0; }
+td.linenos pre { color: #000000; background-color: #f0f0f0; padding: 0 5px 0 5px; }
+span.linenos { color: #000000; background-color: #f0f0f0; padding: 0 5px 0 5px; }
+td.linenos pre.special { color: #000000; background-color: #ffffc0; padding: 0 5px 0 5px; }
+span.linenos.special { color: #000000; background-color: #ffffc0; padding: 0 5px 0 5px; }
+.hll { background-color: #ffffcc }
+.c { color: #408080; font-style: italic } /* Comment */
+.err { border: 1px solid #FF0000 } /* Error */
+.k { color: #008000; font-weight: bold } /* Keyword */
+.o { color: #666666 } /* Operator */
+.ch { color: #408080; font-style: italic } /* Comment.Hashbang */
+.cm { color: #408080; font-style: italic } /* Comment.Multiline */
+.cp { color: #BC7A00 } /* Comment.Preproc */
+.cpf { color: #408080; font-style: italic } /* Comment.PreprocFile */
+.c1 { color: #408080; font-style: italic } /* Comment.Single */
+.cs { color: #408080; font-style: italic } /* Comment.Special */
+.gd { color: #A00000 } /* Generic.Deleted */
+.ge { font-style: italic } /* Generic.Emph */
+.gr { color: #FF0000 } /* Generic.Error */
+.gh { color: #000080; font-weight: bold } /* Generic.Heading */
+.gi { color: #00A000 } /* Generic.Inserted */
+.go { color: #888888 } /* Generic.Output */
+.gp { color: #000080; font-weight: bold } /* Generic.Prompt */
+.gs { font-weight: bold } /* Generic.Strong */
+.gu { color: #800080; font-weight: bold } /* Generic.Subheading */
+.gt { color: #0044DD } /* Generic.Traceback */
+.kc { color: #008000; font-weight: bold } /* Keyword.Constant */
+.kd { color: #008000; font-weight: bold } /* Keyword.Declaration */
+.kn { color: #008000; font-weight: bold } /* Keyword.Namespace */
+.kp { color: #008000 } /* Keyword.Pseudo */
+.kr { color: #008000; font-weight: bold } /* Keyword.Reserved */
+.kt { color: #B00040 } /* Keyword.Type */
+.m { color: #666666 } /* Literal.Number */
+.s { color: #BA2121 } /* Literal.String */
+.na { color: #7D9029 } /* Name.Attribute */
+.nb { color: #008000 } /* Name.Builtin */
+.nc { color: #0000FF; font-weight: bold } /* Name.Class */
+.no { color: #880000 } /* Name.Constant */
+.nd { color: #AA22FF } /* Name.Decorator */
+.ni { color: #999999; font-weight: bold } /* Name.Entity */
+.ne { color: #D2413A; font-weight: bold } /* Name.Exception */
+.nf { color: #0000FF } /* Name.Function */
+.nl { color: #A0A000 } /* Name.Label */
+.nn { color: #0000FF; font-weight: bold } /* Name.Namespace */
+.nt { color: #008000; font-weight: bold } /* Name.Tag */
+.nv { color: #19177C } /* Name.Variable */
+.ow { color: #AA22FF; font-weight: bold } /* Operator.Word */
+.w { color: #bbbbbb } /* Text.Whitespace */
+.mb { color: #666666 } /* Literal.Number.Bin */
+.mf { color: #666666 } /* Literal.Number.Float */
+.mh { color: #666666 } /* Literal.Number.Hex */
+.mi { color: #666666 } /* Literal.Number.Integer */
+.mo { color: #666666 } /* Literal.Number.Oct */
+.sa { color: #BA2121 } /* Literal.String.Affix */
+.sb { color: #BA2121 } /* Literal.String.Backtick */
+.sc { color: #BA2121 } /* Literal.String.Char */
+.dl { color: #BA2121 } /* Literal.String.Delimiter */
+.sd { color: #BA2121; font-style: italic } /* Literal.String.Doc */
+.s2 { color: #BA2121 } /* Literal.String.Double */
+.se { color: #BB6622; font-weight: bold } /* Literal.String.Escape */
+.sh { color: #BA2121 } /* Literal.String.Heredoc */
+.si { color: #BB6688; font-weight: bold } /* Literal.String.Interpol */
+.sx { color: #008000 } /* Literal.String.Other */
+.sr { color: #BB6688 } /* Literal.String.Regex */
+.s1 { color: #BA2121 } /* Literal.String.Single */
+.ss { color: #19177C } /* Literal.String.Symbol */
+.bp { color: #008000 } /* Name.Builtin.Pseudo */
+.fm { color: #0000FF } /* Name.Function.Magic */
+.vc { color: #19177C } /* Name.Variable.Class */
+.vg { color: #19177C } /* Name.Variable.Global */
+.vi { color: #19177C } /* Name.Variable.Instance */
+.vm { color: #19177C } /* Name.Variable.Magic */
+.il { color: #666666 } /* Literal.Number.Integer.Long */ \ No newline at end of file
diff --git a/devel-docs/libgimpmath/html/up-insensitive.png b/devel-docs/libgimpmath/html/up-insensitive.png
new file mode 100644
index 0000000..478700c
--- /dev/null
+++ b/devel-docs/libgimpmath/html/up-insensitive.png
Binary files differ
diff --git a/devel-docs/libgimpmath/html/up.png b/devel-docs/libgimpmath/html/up.png
new file mode 100644
index 0000000..636d50d
--- /dev/null
+++ b/devel-docs/libgimpmath/html/up.png
Binary files differ
diff --git a/devel-docs/libgimpmath/libgimpmath-docs.sgml b/devel-docs/libgimpmath/libgimpmath-docs.sgml
new file mode 100644
index 0000000..eab92bb
--- /dev/null
+++ b/devel-docs/libgimpmath/libgimpmath-docs.sgml
@@ -0,0 +1,47 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE book PUBLIC '-//OASIS//DTD DocBook XML V4.5//EN'
+ 'http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd'>
+
+<book lang="en" id="libgimpmath" xmlns:xi="http://www.w3.org/2003/XInclude">
+
+ <bookinfo>
+ <title>GIMP Math Library Reference Manual</title>
+ <releaseinfo>
+ for GIMP <xi:include href="version" parse="text"/>
+ </releaseinfo>
+ </bookinfo>
+
+ <part>
+ <title>GIMP Math Library</title>
+ <xi:include href="xml/gimpmath.xml" />
+ <xi:include href="xml/gimpmatrix.xml" />
+ <xi:include href="xml/gimpvector.xml" />
+ <xi:include href="xml/gimpmd5.xml" />
+ </part>
+
+ <index id="api-index-full">
+ <title>Index</title>
+ <xi:include href="xml/api-index-full.xml"><xi:fallback /></xi:include>
+ </index>
+ <index role="2.4" id="api-index-2-4">
+ <title>Index of new symbols in GIMP 2.4</title>
+ <xi:include href="xml/api-index-2.4.xml"><xi:fallback /></xi:include>
+ </index>
+ <index role="2.8" id="api-index-2-8">
+ <title>Index of new symbols in GIMP 2.8</title>
+ <xi:include href="xml/api-index-2.8.xml"><xi:fallback /></xi:include>
+ </index>
+ <index role="2.10" id="api-index-2-10">
+ <title>Index of new symbols in GIMP 2.10</title>
+ <xi:include href="xml/api-index-2.10.xml"><xi:fallback /></xi:include>
+ </index>
+ <index role="2.10.16" id="api-index-2-10-16">
+ <title>Index of new symbols in GIMP 2.10.16</title>
+ <xi:include href="xml/api-index-2.10.xml"><xi:fallback /></xi:include>
+ </index>
+ <index role="deprecated" id="api-index-deprecated">
+ <title>Index of deprecated symbols</title>
+ <xi:include href="xml/api-index-deprecated.xml"><xi:fallback /></xi:include>
+ </index>
+
+</book>
diff --git a/devel-docs/libgimpmath/libgimpmath-overrides.txt b/devel-docs/libgimpmath/libgimpmath-overrides.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/devel-docs/libgimpmath/libgimpmath-overrides.txt
diff --git a/devel-docs/libgimpmath/libgimpmath-sections.txt b/devel-docs/libgimpmath/libgimpmath-sections.txt
new file mode 100644
index 0000000..b3e25be
--- /dev/null
+++ b/devel-docs/libgimpmath/libgimpmath-sections.txt
@@ -0,0 +1,120 @@
+<SECTION>
+<FILE>gimpmath</FILE>
+<TITLE>GimpMath</TITLE>
+RINT
+ROUND
+SIGNED_ROUND
+SQR
+MAX255
+CLAMP0255
+SAFE_CLAMP
+gimp_deg_to_rad
+gimp_rad_to_deg
+</SECTION>
+
+<SECTION>
+<FILE>gimpmd5</FILE>
+<TITLE>GimpMD5</TITLE>
+gimp_md5_get_digest
+</SECTION>
+
+<SECTION>
+<FILE>gimpmatrix</FILE>
+<TITLE>GimpMatrix</TITLE>
+GimpMatrix2
+GimpMatrix3
+GimpMatrix4
+gimp_matrix2_identity
+gimp_matrix2_mult
+gimp_matrix2_determinant
+gimp_matrix2_invert
+gimp_matrix2_transform_point
+gimp_matrix3_identity
+gimp_matrix3_mult
+gimp_matrix3_translate
+gimp_matrix3_scale
+gimp_matrix3_rotate
+gimp_matrix3_xshear
+gimp_matrix3_yshear
+gimp_matrix3_affine
+gimp_matrix3_transform_point
+gimp_matrix3_determinant
+gimp_matrix3_invert
+gimp_matrix3_is_identity
+gimp_matrix3_is_diagonal
+gimp_matrix3_is_affine
+gimp_matrix3_is_simple
+gimp_matrix3_equal
+gimp_matrix4_identity
+gimp_matrix4_mult
+gimp_matrix4_to_deg
+gimp_matrix4_transform_point
+GIMP_TYPE_MATRIX2
+GIMP_TYPE_PARAM_MATRIX2
+GIMP_IS_PARAM_SPEC_MATRIX2
+gimp_param_spec_matrix2
+GIMP_VALUE_HOLDS_MATRIX2
+GIMP_TYPE_MATRIX3
+GIMP_TYPE_PARAM_MATRIX3
+GIMP_IS_PARAM_SPEC_MATRIX3
+gimp_param_spec_matrix3
+GIMP_VALUE_HOLDS_MATRIX3
+<SUBSECTION Standard>
+gimp_matrix2_get_type
+gimp_param_matrix2_get_type
+gimp_matrix3_get_type
+gimp_param_matrix3_get_type
+</SECTION>
+
+<SECTION>
+<FILE>gimpvector</FILE>
+<TITLE>GimpVector</TITLE>
+GimpVector2
+GimpVector3
+GimpVector4
+gimp_vector2_new
+gimp_vector2_set
+gimp_vector2_length
+gimp_vector2_length_val
+gimp_vector2_mul
+gimp_vector2_mul_val
+gimp_vector2_normal
+gimp_vector2_normal_val
+gimp_vector2_normalize
+gimp_vector2_normalize_val
+gimp_vector2_neg
+gimp_vector2_neg_val
+gimp_vector2_add
+gimp_vector2_add_val
+gimp_vector2_sub
+gimp_vector2_sub_val
+gimp_vector2_inner_product
+gimp_vector2_inner_product_val
+gimp_vector2_cross_product
+gimp_vector2_cross_product_val
+gimp_vector2_rotate
+gimp_vector2_rotate_val
+gimp_vector3_new
+gimp_vector3_set
+gimp_vector3_length
+gimp_vector3_length_val
+gimp_vector3_mul
+gimp_vector3_mul_val
+gimp_vector3_normalize
+gimp_vector3_normalize_val
+gimp_vector3_neg
+gimp_vector3_neg_val
+gimp_vector3_add
+gimp_vector3_add_val
+gimp_vector3_sub
+gimp_vector3_sub_val
+gimp_vector3_inner_product
+gimp_vector3_inner_product_val
+gimp_vector3_cross_product
+gimp_vector3_cross_product_val
+gimp_vector3_rotate
+gimp_vector3_rotate_val
+gimp_vector_2d_to_3d
+gimp_vector_2d_to_3d_val
+gimp_vector_3d_to_2d
+</SECTION>
diff --git a/devel-docs/libgimpmath/libgimpmath.types b/devel-docs/libgimpmath/libgimpmath.types
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/devel-docs/libgimpmath/libgimpmath.types
diff --git a/devel-docs/libgimpmath/version.in b/devel-docs/libgimpmath/version.in
new file mode 100644
index 0000000..9e02d6e
--- /dev/null
+++ b/devel-docs/libgimpmath/version.in
@@ -0,0 +1 @@
+@GIMP_VERSION@