Commit Graph

526 Commits

Author SHA1 Message Date
b54853f61b libgimpbase: indentation in gimpwire.h 2015-06-10 18:58:32 +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
d91ff74820 libgimpbase: more API doc fixes 2015-05-31 19:44:39 +02:00
24da0007a4 libgimp*: some API doc fixes 2015-05-31 14:40:20 +02:00
90e2d3c993 libgimpbase: remove value assignments from enum GimpTransformResize 2015-04-26 23:25:16 -04:00
c61e89a6ff libgimpbase: Remove function names from user visible strings 2015-02-27 12:16:02 +05:30
d794d8a26b Add Windows implementation for gimp_file_show_in_file_manager() 2015-02-26 20:48:36 -05:00
97a9d1c53f libgimpbase: implement show in file manager for OS X platform 2015-02-19 21:39:05 +01:00
58a557d800 libgimpbase: Avoid an assignment to self.
gimp_param_unit_value_validate() set a value to itself to not
change the value, which was strange though not particularly wrong.
Found by Coverity Scan.
2015-02-17 18:49:02 +01:00
e448cc3173 libgimpbase, app: implement File -> Show in File Manager
Add gimp_file_show_in_file_manager() to libgimpbase and a menu item
in app which shows the image's file (if any) in the file manager.

Implemented calling the org.freedesktop.FileManager1 interface
and dropped snippets found on stackoverflow for somebody to
turn into working code for OSX and Windows.
2015-02-16 18:40:26 +01:00
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