Commit Graph

102 Commits

Author SHA1 Message Date
Ell
54a95ab75b libgimpmath: add gimp_matrix3_equal()
... which compares two matrices.
2020-01-16 00:35:06 +02:00
Ell
628833426a libgimpmath: add version annotations to new matrix functions 2020-01-15 18:25:06 +02:00
Ell
27ad1316dd libgimpmath: add new matrix functions to .def file
... and fix docs for gimp_matrix4_transform_point().

(cherry picked from commit 9d015b7b1a)
2020-01-07 10:04:08 +02:00
Ell
2412b5fc99 libgimpmath: add various GimpMatrix4 functions
Add gimp_matrix4_{identity,mult,transform_point}().
2020-01-06 23:10:04 +02:00
Ell
d546e3b813 libgimpmath: add various GimpMatrix2 functions
Add gimp_matrix2_{determinant,invert,transform_point}().
2020-01-06 23:10:04 +02:00
4e58d00eae libgimpmath: fix typo in various places: s/orthognal/orthogonal/.
(cherry picked from commit 4dc45f9658)
2018-11-07 23:40:53 +01:00
a88c0ffb93 Change the license URL from http://www.gnu.org/licenses/ to https:// 2018-07-11 23:47:19 +02:00
Ell
23f6369658 libgimpmath: remove gimp_matrix3_will_explode()
It's no longer needed since last commit, and since it's new in
2.10, we might as well remove it.

This reverts the rest of 768d06614f.
2018-01-28 16:37:34 -05:00
Ell
e9f45798d0 libgimpmath: add SAFE_CLAMP() macro
The SAFE_CLAMP() macro is similar to CLAMP(), however, its result
is always within the specified range, even if the input is NaN.
2017-11-19 07:12:28 -05:00
Ell
80a526861f Bug 788461 - Selection with a Fixed size is created with an ...
... off-by one size in special cases

The last commit wasn't drastic enough.  We changed SIGNED_ROUND()
to use RINT(), which, in turn, may use rint().  However, rint()
effectively breaks ties to even, so that we get stuff like
'rint (1.5) - rint (0.5) == 2.0 - 0.0 == 2.0'.  This can't be
good--it's entirely possible that we're bitten by this in other
cases without noticing.

Avoid rint() entirely in RINT(), and always use 'floor (x) + 0.5'
instead, which always breaks ties up.  Hopefully, this doesn't
break anything else...
2017-10-05 17:50:07 -04:00
Ell
e8b37a7a25 Bug 788461 - Selection with a Fixed size is created with an ...
... off-by one size in special cases

SIGNED_ROUND(), which is used by GimpToolRectangle, among other
things, used to round negative values which lie exactly between
two integers, i.e., -foo.5, down.  This could lead to the rectangle
being one pixel bigger than expected, in either dimension, when one
of its edges had a negative coordinate, and the opposite edge had a
positive coordinate.

Fix SIGNED_ROUND() to always round such values up, regardless of
sign.
2017-10-05 16:16:09 -04:00
caef6d0deb libgimp*: various doc fixes 2017-06-03 21:22:12 +02:00
768d06614f Bug 316479 - The Perspective Tool creates an empy image...
...instead of transforming it

Add gimp_matrix3_will_explode() which determines if a transform
matrix will blow up something in a rectangle to infinity, and use
the function so set both the GIMP and GEGL code paths to clip the
transform to the input size.
2016-11-08 17:26:21 +01:00
f5ecc53f3e Fix a lot of warnings all over the place
Deprecated stuff, unused variables. Includes parts of a patch from
Shlomi Fish from bug #768855.
2016-10-31 01:36:35 +01:00
dd9b0fc55b Bug 768044 - Fix many typos
This fixes many typos in comments and one in a user-visible string (msgid
"center abscisse" changed to "center abscissa" in affected po files. too).
2016-06-26 00:35:24 +02:00
8005eea835 Remove the "GIMP" from all "Since: GIMP 2.x" API doc comments
because it confuses gtk-doc and breaks some links. Also change the
"Index of new symbols in GIMP 2.x" sections to be what seems to be the
modern standard (looked at the GLib and GTK+ docs), and update some
other stuff.
2015-05-31 21:18:09 +02:00
24da0007a4 libgimp*: some API doc fixes 2015-05-31 14:40:20 +02:00
8c1cd7caac Makefile: fix VPATH builds for win32. 2014-09-14 18:28:26 +02:00
06b2dd35c2 libgimpmath: fix formatting in gimpmatrix.h 2014-07-14 22:55:26 +02:00
b54b59c9e8 Use EXTRA_foo_DEPENDENCIES for adding .def files
The foo_DEPENDENCIES rule replaces the default dependencies, where
EXTRA_foo_DEPENDENCIES just appends to it. This was causing libgimp
and libgimpui to build out of order.
2014-03-15 14:23:38 -07:00
13ee151a1e libgimp*: use LIBADD and DEPENDENCIES consistently in all Makefiles 2014-03-14 22:39:51 +01:00
ec786816bb */Makefile.am: merge INCLUDES into AM_CPPFLAGS
automake-1.13 finally warns about this anachronism.
2013-06-05 20:48:37 +02:00
4a5a6ef914 Bug 684330 - Rectangle tool's "fixed size" option is off-by-one
ROUND() is consistent only on positive values, and bad rounding
creates an offset when negative values are involved. Introduce
SIGNED_ROUND() and use it in gimprectangletool.c. It should probably
be used in much more places.
2013-02-13 00:08:39 +01:00
486e76bdab libgimp*: use GIMP_API_VERSION in Makefile.am instead of hardcoding 2.0 2012-05-04 15:38:45 +02:00
0d481702c7 libgimp*: add GIMP_DEPRECATED macros using G_DEPRECATED
and start using them instead of GIMP_DISABLE_DEPRECATED where possible.
2012-05-03 00:54:21 +02:00
056e09a6cb Remove the makefile.msc build system, it is unmaintained since 2008 2011-12-16 15:53:56 +01:00
844df2b4df libgimp*: add guards that #error out if individual files are included
This only helps to maintain proper includes in app/ and shouldn't
affect plug-ins at all, because these are supposed to only include the
main headers from libgimp/ since the beginning of time.

The gimpfootypes.h files do not have these guards, so we can continue
to maintain app/'s include policy that is very likely to error out if
wrong things are included.
2011-04-28 14:30:41 +02:00
b2aad5ef14 libgimpmath: move the GipmVector and GimpMatrix structs to gimpmathtypes.h
in order to get rid of the need to include gimpvector.h and
gimpmatrix.h in global places just to make the structs generally
known.
2011-04-28 13:25:25 +02:00
1e11a279b2 libgimpmath: add a boxed type and a GParamSpec for GimpMatrix3 2011-03-27 21:13:31 +02:00
e1b8f8efdf libgimpmath: Update gimpmath.def 2010-11-07 15:02:08 +01:00
d2563a69fd app: Cleanup in preparation of merge 2010-11-04 20:27:11 +02:00
aee148a486 Merge branch 'master' into soc-2010-cage-2 2010-08-26 21:50:55 +03:00
7655a45d61 gimpvector: correct normal vector computing, vector wasn't normilized 2010-08-14 21:24:59 +02:00
884bc9b0f5 libgimpmath: add a function that compute the normal vector to an other 2010-08-08 13:21:19 +02:00
9d80d8a7cd libgimpmath: fix all gtk-doc warnings 2010-07-02 14:48:24 +02:00
2ce4075eeb libgimpmath: move docs from template files to inline comments 2010-07-02 14:41:35 +02:00
4d7a6b10d1 Added .gitignore files generated with git svn create-ignore.
svn path=/trunk/; revision=27972
2009-01-31 11:37:44 +00:00
d9b5207aa2 Change licence to GPLv3 (and to LGPLv3 for libgimp).
2009-01-17  Michael Natterer  <mitch@gimp.org>

	* all files with a GPL header and all COPYING files:

	Change licence to GPLv3 (and to LGPLv3 for libgimp).

	Cleaned up some copyright headers and regenerated the parsers in
	the ImageMap plugin.


svn path=/trunk/; revision=27913
2009-01-17 22:28:01 +00:00
d000fc748d moving a cast to the right parameter fixes two warnings.
2008-04-21  Michael Natterer  <mitch@gimp.org>

	* libgimpmath/gimpmd5.c (gimp_md5_get_digest): moving a cast to
	the right parameter fixes two warnings.


svn path=/trunk/; revision=25504
2008-04-21 15:39:32 +00:00
540d533bef removed implementation of the MD5 algorithm and delegate to GChecksum
2008-03-29  Sven Neumann  <sven@gimp.org>

	* libgimpmath/gimpmd5.[ch]: removed implementation of the MD5
	algorithm and delegate to GChecksum instead.
	
	* libgimpmath/Makefile.am
	* libgimpmath/test-md5.c: removed test of the MD5 
implementation.


svn path=/trunk/; revision=25302
2008-03-29 16:56:44 +00:00
fc0885e643 undef GIMP_DISABLE_DEPRECATED.
2008-03-29  Michael Natterer  <mitch@gimp.org>

	* libgimpmath/gimpmd5.c: undef GIMP_DISABLE_DEPRECATED.


svn path=/trunk/; revision=25299
2008-03-29 12:16:29 +00:00
b29a050c13 deprecate gimp_md5_get_digest() in favor of GCheckSum.
2008-03-28  Sven Neumann  <sven@gimp.org>

	* libgimpmath/gimpmd5.[ch]: deprecate gimp_md5_get_digest() in
	favor of GCheckSum.

	* libgimpmath/test-md5.c: undef GIMP_DISABLE_DEPRECATED.

svn path=/trunk/; revision=25288
2008-03-28 16:56:43 +00:00
09578ea070 removed extra check for gthread and fold it into the GLIB and GTK checks.
2007-06-25  Sven Neumann  <sven@gimp.org>

	* configure.in: removed extra check for gthread and fold it into
	the GLIB and GTK checks.

	* */Makefile.am: changed accordingly.

	* app/main.c (main): always call g_thread_init().

svn path=/trunk/; revision=22832
2007-06-25 12:41:59 +00:00
930d6149da removed all .cvsignore files from SVN
svn path=/trunk/; revision=21612
2006-12-30 14:31:03 +00:00
a8593d8141 Oops. Need to specify both pdb-skip and skip.
2006-10-25  Simon Budig  <simon@gimp.org>

	* app/vectors/vectors-enums.h: Oops. Need to specify both
	pdb-skip and skip.

	* libgimp/gimp.def
	* libgimpconfig/gimpconfig.def
	* libgimpmath/gimpmath.def
	* libgimpthumb/gimpthumb.def
	* libgimpwidgets/gimpwidgets.def: .def-file maintenance. Hope my
	changes are correct...

	With the help from
	   nm .libs/libgimpfoo-2.0.so |\
	   sed -ne "s/.* T \([a-zA-Z0-9][a-zA-Z0-9_]*\)/\t\1/p" |\
	   (echo EXPORTS ; LC_ALL=C sort )

	* libgimpwidgets/gimppageselector.c: marked stretch_frame_image()
	as static.

	* libgimp/gimpenums.c.tail
	* libgimp/gimpenums.h
	* tools/pdbgen/enums.pl: regenerated.

	* devel-docs/libgimp/tmpl/gimpfontselectbutton.sgml: this changed
	again. WTF?
2006-10-25 16:55:20 +00:00
f2df31a50e converted tabs to spaces.
2006-04-12  Sven Neumann  <sven@gimp.org>

	* libgimp*/gimp*.[ch]: converted tabs to spaces.
2006-04-12 10:53:28 +00:00
b8752cd251 Fixed my email address in a dozen or so source files:
Fixed my email address in a dozen or so source files:
  modules/cdisplay_highcontrast.c
  libgimpbase/gimpparasite.c
  libgimpbase/gimpparasite.h
  libgimpmath/gimpmatrix.h
  libgimpmath/gimpmatrix.c
  app/core/gimpparasitelist.h
  app/core/gimpparasitelist.c
  app/base/gimphistogram.c
  app/base/gimphistogram.h
  app/base/gimplut.c
  app/base/gimplut.h
  app/base/pixel-processor.c
  app/base/pixel-processor.h
  app/core/gimp-parasites.c
  app/core/gimp-parasites.h
  app/core/gimpdrawable-histogram.c
  app/core/gimpdrawable-histogram.h
  app/core/gimpparasitelist.c
  app/core/gimpparasitelist.h
2006-01-12 00:50:44 +00:00
866c224d68 libgimpmath/gimpvector.c shut up some compiler warnings.
* libgimpmath/gimpvector.c
* libgimpconfig/gimpconfig-deserialize.c: shut up some compiler warnings.
2005-12-30 18:35:49 +00:00
a40f35b7e2 libgimpmath/gimpmd5.c libgimpmath/test-md5.c plug-ins/common/CEL.c
2005-08-03  Sven Neumann  <sven@gimp.org>

	* libgimpmath/gimpmd5.c
	* libgimpmath/test-md5.c
	* plug-ins/common/CEL.c
	* plug-ins/common/cartoon.c
	* plug-ins/common/emboss.c
	* plug-ins/common/exchange.c
	* plug-ins/common/gifload.c
	* plug-ins/common/poppler.c
	* plug-ins/jpeg/jpeg-save.c
	* plug-ins/jpeg/jpeg-save.h
	* plug-ins/metadata/interface.c
	* plug-ins/metadata/metadata.c
	* plug-ins/metadata/xmp-model.c
	* plug-ins/script-fu/siod/sliba.c: fixed signedness warnings.
2005-08-03 01:15:36 +00:00
a974e4ba79 cosmetic changes.
2005-03-20  Sven Neumann  <sven@gimp.org>

	* app/core/gimp-transform-utils.c (gimp_transform_matrix_perspective):
	cosmetic changes.

	* libgimpmath/gimpmatrix.[ch]
	* libgimpmath/gimpmath.def: added gimp_matrix_is_affine().
2005-03-20 00:09:29 +00:00