Commit Graph

516 Commits

Author SHA1 Message Date
8c1cd7caac Makefile: fix VPATH builds for win32. 2014-09-14 18:28:26 +02:00
9a245989c0 fix bogus checks against unsigned variables.
Spotted by Andrey Karpov using static code analysis:
   http://www.viva64.com/en/b/0273/
2014-08-16 00:37:13 +02:00
dae366bb6e configure.ac, *: require GLib 2.40.0
Remove gimp_output_stream_[v]printf() and use the new functions from
GLib instead. Use memmove() instead of the deprecated g_memmove().
2014-08-12 15:30:19 +02:00
cd99314572 libgimpbase: deprecate the gimp_datafiles functions 2014-08-04 03:41:45 +02:00
6209b1f571 libgimpbase, app: move gimp_file_has_extension() to libgimpbase
and use it in GimpModuleDB.
2014-08-03 20:47:37 +02:00
b03d69dd40 libgimpbase, app: add variants of gimp_$foo_directory() which return GFiles
gimp_directory_file(), gimp_data_directory_file() etc. The new
functions take a variable list of path elements to the file,
the list has to be NULL-terminated. Remove the newly added
gimp_personal_rc_gfile(). Start using the new functions in app/.
2014-07-28 02:04:01 +02:00
78f797a3e4 libgimpbase: add gimp_personal_rc_gfile() 2014-07-01 16:06:51 +02:00
776a79792d libgimpbase: add gimp_file_get_utf8_name()
Which works like gimp_filename_to_utf8() and returns a displayable
UTF-8 encoded name of a GFile that does not need to be freed, which
makes a lot of code more readable and compact.
2014-07-01 14:11:30 +02:00
425748dab0 libgimpbase, *: rename GimpFillType values: GIMP_FOO_FILL -> GIMP_FILL_FOO
Change all users accordingly and add compat enum values and compat
constants to script-fu and pygimp.
2014-06-03 01:11:32 +02:00
6c7fae9e11 app, libgimp*, pdb: move more enums from app/core to libgimpbase 2014-05-14 00:06:01 +02:00
9dde82b215 libgimpbase: sort gimpbaseenums.h alphabetically 2014-05-13 23:29:17 +02:00
454d5d954b app, libgimpbase: completely remove enum value GIMP_NO_FILL
It should not have been moved to libgimpbase, it was never
PDB-exported and not selectable in the GUI any longer, so its code
paths were dead.
2014-05-13 16:30:02 +02:00
f636b4ad34 app, libgimpbase: move lots of enums from app/core to libgimpbase
It makes little sense to keep them in one header and parse them with a
pile of perl, just to generate them in another header. Simply keep
them in a place everybody depends on.
2014-05-13 00:27:29 +02:00
8aac599579 libgimpbase: properly deprecate old enum values in gimpbaseenums.g 2014-05-12 23:40:59 +02:00
de08267f06 libgimpbase, *: add enum value GIMP_ICON_TYPE_ICON_NAME
and keep GIMP_ICON_TYPE_STOCK_ID as a deprecated alias. Change all
plug-ins accordingly and increase the pluginrc file version number so
it gets regenerated with "icon-name" instead of "stock-id".
2014-05-11 23:56:30 +02:00
5ec413a5e8 Bug 729326 - Errors found using a static code analysis program cppcheck
Fixed some memory and file leaks. And removed some code and variables
that are not used.
2014-05-05 10:34:08 +02:00
e8d2dcf263 Fix sort order in /libgimpbase/gimpbase.def
Correct sort order regarding gimp_ink_blob_type_get_type
2014-05-01 10:39:23 +02:00
e1c95c3cb8 libgimpbase: fix sorting in gimpbase.def 2014-04-30 00:03:43 +02:00
a4223766f2 all,libgimp*: move GimpConvolveType and GimpInkBlobType to libgimpbase
and make GimpConvolveType's values sane.
2014-04-29 22:44:58 +02:00
22c222291d libgimpbase,*: clean up enum values in gimpbaseenums.h
GIMP_ADD_foo_MASK -> GIMP_ADD_MASK_foo
GIMP_foo_MODE -> GIMP_BLEND_foo
GIMP_foo_CLONE -> GIMP_CLONE_foo
GIMP_foo -> GIMP_DODGE_BURN_TYPE_foo
GIMP_foo -> GIMP_TRANSFER_foo

Add compat values for the old names and compat code to script-fu
and pygimp.
2014-04-29 20:58:30 +02:00
8ce94d23b9 libgimpbase: move GIMP_REPEAT_TRUNCATE to the end of the enum
New values must go to the end to avoid ABI break.
2014-04-24 23:08:33 +02:00
0a9dc8b297 libgimpbase: exclude GIMP_INTERPOLATION_LANCZOS from the PDB again
An unmentioned fix in the previous commit to this file made it visible
to the PDB.
2014-04-24 23:04:52 +02:00
ad4862c60b Adds new blending mode 'Truncate blend'
Bring repeat behavior on par with GEGL and Cairo,
and sane ways of creating square or circular gradient
shapes.
2014-04-24 12:18:26 -03:00
245106f320 libgimpbase: don't allow parasites with zero-length names
Check in gimp_parasite_new() and fail GValue validation for parasites
with empty name. So far we only disallowed NULL names, this change
forbids the empty string "" too.
2014-03-22 00:18:48 +01: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
57da340f78 app, libgimp: pass "use-opencl" to plug-ins
and configure Gegl on the plug-in side accordingly. This bumps
the GIMP protocol version.
2014-02-25 21:25:40 +01:00
6e07c83978 Bug 722939 - asking for an absolute path as gimpdir results in a path...
...relative to the home folder

If an absolute path was given to the --with-gimpdir configure option,
use that path literally.
2014-01-25 19:03:40 +01:00
afc40ffda0 Add automake 1.13+ test outputs to .gitignore 2014-01-10 15:31:34 -08:00
99937ddfce libgimpbase: add gimp_output_stream_[v]printf()
Temporary, to be removed when we depend on glib 2.40, which will
clearly be before gimp 2.10
2013-11-28 00:29:43 +01:00
9ffa9ac6e3 libgimpbase: improve gimp_unit_is_metric()
Don't directly compare doubles, use "ABS (foo - bar) < epsilon".
2013-11-17 21:03:37 +01:00
33a8d68117 Bug 711241 - Broken or unknown metadata tag should not cancel...
...the whole metadata loading

Don't drop non-utf8 values from gexiv2 when serializing to XML,
instead, base64 encode them. This should be robust against whatever
garbage data is in tags.
2013-11-11 00:11:43 +01:00
ce57aef6ee libgimpbase: fix gimp_metadata_set_resolution() to only set rationals
Rationals have integers as nominator and denominator, so we can't set
something like "300.5/1". Instead, multiply the nominator and
denominator of non-integer ppi values until the error is smaller than
0.01, or the denomiator reaches 100 ("300.5/1" becomes "601/2").
2013-11-01 17:36:26 +01:00
e03fd943bf libgimpbase: use gexiv2_metadata_get_exif_tag_rational() to get the resolution
and remove our own rational parser, we can get it back from git if we
need it again.
2013-11-01 17:01:44 +01:00
798c62a544 Bug 711241 - Broken or unknown metadata tag should not cancel...
...the whole metadata loading

Don't serialize a value that does not UTF-8-validate to XML. This is
not a real fix, but no matter what we do here in the future, UTF-8
validation should always be part of the serialization, in order to
avoid passing broken data into the core.
2013-11-01 14:15:15 +01:00
8db3b4312d Global EXIF -> Exif string change (official spelling) 2013-10-29 22:48:46 +01:00
573a8513a5 libgimpbase: add API docs to libgimpbase/gimpmetadata.c 2013-10-27 21:13:51 +01:00
0b8e59c84e libgimpbase: fix typos in gimpmetadata.c 2013-10-27 16:32:26 +01:00
a44e06d059 plug-ins: reverse the logic for setting GimpMetadataSaveFlags
start with flags = ALL (which now includes all possible current and
future flags), and optionally *remove* individual flags instead of
adding them. This way the plug-ins default to TRUE for future flags.
2013-10-27 15:38:42 +01:00
7cbe83d911 libgimp,plug-ins: split metadata loading into prepare() and finish()
So the plug-in has the chance to decide whether it wants to trust the
metadata information (e.g. resolution). Also reorder parameters in
gimp_image_metadata_save_finish(). Change all plug-ins accordingly.
2013-10-27 15:22:35 +01:00
21bed1e2fb Completely rewrite metadata handling using gexiv2
Based on original patches from Hartmut Kuhse and modified
by Michael Natterer. Changes include:

- remove libexif dependency and add a hard dependency on gexiv2
- typedef GExiv2Metadata to GimpMetadata to avoid having to
  include gexiv2 globally
- add basic GimpMetadata handling functions to libgimpbase
- add image and image file specific metadata functions to libgimp,
  including the exif orientation image rotate dialog
- port plug-ins to use the new APIs
- port file-tiff-save's UI to GtkBuilder
- add new plug-in "metadata" to view the image's metadata
- keep metadata around as GimpImage member in the core
- update the image's metadata on image size, resolution and precision
  changes
- obsolete the old metadata parasites
- migrate the old parasites to new GimpMetadata object on XCF load
2013-10-27 01:02:17 +02:00
697572ccc0 app,libgimp*: fix includes to follow our include policy
- don't include <gdk-pixbuf/gdk-pixbuf.h> in headers in app/
- instead, include it in many .c files instead of <glib-object.h>,
  finally acknowledging the fact that app/ depends on gdk-pixbuf almost
  globally
- fix up includes as if libgimpbase depended in GIO, which it soon will
2013-10-15 01:58:39 +02:00
f473653889 libgimpbase: add gimp_unit_is_metric()
which currently returns TRUE if the unit has a factor that matches mm,
cm, dm or m. Incomplete, but at least now extendable in one place,
just need to use the new function everywhere.
2013-10-12 18:54:34 +02:00
b7afb811cb libgimpbase: also update comment next to GIMP_MAX_IMAGE_SIZE 2013-09-19 09:07:18 +02:00
18282a8b7a Bug 677259 - GIMP won't load large (even by one dimension) images
Double GIMP_MAX_IMAGE_SIZE to 524288. That's still completely
arbitrary but closes a bug with a fishy fix :)
2013-09-18 21:59:57 +02:00
767a5a3217 Bug 703113 - Plug-ins are queried on every launch
Port gimp_datafiles_read_directories() to GIO which seems to get
its stat() calls right on all platforms.
2013-07-12 15:18:38 +02:00
8e262c871a Add SSE3, 4, and AVX gimp_cpu_accel checks 2013-06-25 20:40:27 -07: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
02505451b1 libgimpbase: enum GimpForegroundExtractMode: add GIMP_FOREGROUND_EXTRACT_MATTING 2013-05-07 23:00:57 +02:00
236f9f91f9 Fix two warnings about possibly missing printf format attributes 2013-04-07 16:47:26 +02:00
8dcbcfec9e libgimpbase: use g_win32_get_package_installation_directory_of_module()
instead of reimplementing it.
2013-01-27 22:38:35 +01:00