Commit Graph

1640 Commits

Author SHA1 Message Date
Michael Natterer c8bd782268 libgimp: bail out early in gimp_image_metadata_save_finish()
if no GimpMetadataSaveFlags are set.
2013-11-11 23:31:58 +01:00
Michael Natterer 8c79a070bb Bug 705457 - Export doesn't handle a single top-level layer group
Add special export code for single top-level layers groups, other
cases should be mostly (not perfectly) handled by the export code
for layered images. Also, show the legacy export dialog when the
envorinment variable GIMP_INTERACTIVE_EXPORT is set, so export
changes can actually be tested and verified again.
2013-11-10 01:54:45 +01:00
Michael Natterer 206df00266 app: add an "interactive" boolean inside gimp_export_image()
instead of using "format_name", which is confusing, and file plug-ins
will soon pass their format name again.
2013-11-10 00:02:11 +01:00
Michael Natterer ec9879ea6e libgimp: also include <gegl.h> when we include "libgimpwidgets/gimpwidgets.h" 2013-11-01 22:29:46 +01:00
Michael Natterer 1522c506a2 libgimp: add gimp_image_metadata_load_thumbnail()
which loads an image file's Exif thumbnail into a correctly rotated
gimp image.
2013-10-30 00:04:36 +01:00
Michael Schumacher 8db3b4312d Global EXIF -> Exif string change (official spelling) 2013-10-29 22:48:46 +01:00
Michael Natterer f9e2614c8c libgimp: use gexiv2_metadata_get_tag_interpreted_string() for the comment
So the charset="foo" is stripped away and we get the string as it is
supposed to be presented to the user.
2013-10-27 22:28:28 +01:00
Michael Natterer 4bc77a3123 libgimp: add API docs to libgimp/gimpmetadata.c 2013-10-27 19:42:48 +01:00
Michael Natterer 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
Michael Natterer 74fb601ec4 libgimp: properly sort gimpui.def 2013-10-27 02:18:57 +02:00
Michael Natterer d4885510e8 libgimp: fix typo in Makefile.am 2013-10-27 02:00:47 +02:00
Hartmut Kuhse 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
Michael Natterer 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
Jehan 008a40b877 pdbgen: fix trailing whitespaces in generated C doc in empty lines. 2013-10-05 19:48:39 +13:00
Jehan 1351226c80 pdb: gimp-image-new's doc updated.
Add the precision that indexed images must be set a colormap after
creation, otherwise colors won't be right.
2013-10-05 01:47:05 +13:00
Jehan cca6772714 Bug 709048 - improvement of gimp-layer-add-mask procedure's doc.
The documentation was missing information about GIMP_ADD_CHANNEL_MASK
mask type, also about possible failure cases, and had an unclosed
bracket typo.
Also make nicer output and list formatting with the new pdb paragraph
feature.
2013-10-01 01:02:49 +13:00
Jehan 9563a614f2 Bug 708033 - Add paragraph support for the long description in pdbgen
Single newlines in procedure descriptions are still considered normal
spaces. But 2 newlines are transformed into 1 newline. 3 newlines into
2 newlines. And so on.
This allows for a start of nicer output in the procedure browser or C
file comments (and consequently in generated html doc).
2013-09-27 18:39:21 +02:00
Jehan 8fe1f65374 pdb: clean out \n from procedure descriptions in previous commit a7f1129.
If we want better output for long description, this will have to be implemented
in the pdbgen.
2013-09-14 02:58:39 +12:00
Jehan a7f11290a4 pdb: update several channel creation function's descriptions.
More informative, detailed description or better wording.
Also adds some newlines for better rendering.
2013-09-14 02:19:46 +12:00
Jehan ee8827d645 pdb: minor glitch in gimp-image-set-active-channel's description.
s/previous active channel or channel/previous active channel or layer/
2013-09-13 22:21:55 +12:00
Michael Natterer 28fe83b865 libgimp: fix broken indentation in gimpexport.c 2013-08-08 22:11:40 +02:00
Michael Natterer 99b3d9cb72 libgimp: add gimp_component_type_get_type() to gimp.def 2013-06-23 17:48:46 +02:00
Michael Natterer caf73f5f35 Add support for both gamma-corrected and linear for all bit depths
- Add new enum GimpComponentType which contains u8, u16, u32 etc.
- Change GimpPrecision to be u8-linear, u8-gamma, u16-linear etc.
- Add all the needed formats to gimp-babl.c
- Bump the XCF version to 5 and make sure version 4 with the old
  GimpPrecision enum values is loaded correctly

This change blows up the precision enums in "New Image" and
Image->Precision so we can test all this stuff. It is undecided what
format will be user-visible options in 2.10.
2013-06-23 16:51:24 +02:00
Alexandre Prokoudine 5290963912 Really fix the incorect blurb in PDB.
It still said "specified specified".
2013-06-22 11:18:47 +04:00
Michael Natterer 571350270b app: return 0.0..1.0 from gimp_histogram_get_mean(), median(), std_dev()
Display the float values in the histogram dockable and add a compat
hack to the gimp_histogram() PDB wrapper.
2013-06-12 02:01:24 +02:00
Michael Natterer ec786816bb */Makefile.am: merge INCLUDES into AM_CPPFLAGS
automake-1.13 finally warns about this anachronism.
2013-06-05 20:48:37 +02:00
Michael Natterer 3b68ae0f3c app, pdb, libgimp: Remove all traces of the supersampling recursion level
from all transform APIs. This is no longer used since we use GEGL to
transform, the value was only passed around and never used.
2013-05-31 01:15:32 +02:00
Michael Natterer 66ff5dd70b Remove all calls to g_type_init(), it's deprecated
The type system is initialized automatically now.
2013-05-25 22:44:20 +02:00
Michael Natterer cf3d234f88 Bug 672487 - Impeove API docs of gimp_image_get_channels()
Point out that the image's components are not "channels".
2013-05-10 22:11:14 +02:00
Michael Natterer 37d4f656d4 Bug 678925 - Debugging plugins with windows
Apply patch from Hartmut Kuhse that enables plug-in debugging on
Windows by stopping the process using Windows API, and providing a
small executable "gimp-plugin-resume.exe" to resume the stopped
plug-in.
2013-02-23 16:25:58 +01:00
Michael Natterer e4f24a539e libgimp: make GIMP_PLUGIN_DEBUG messages always visible again
by adding "LibGimp" to G_MESSAGES_DEBUG so it doesn't get filtered
away by newer GLib.
2013-02-23 16:10:19 +01:00
Michael Natterer c91fbd54ad Bug 693797 - Sample colorize fails when you choose current gradient as target
Fix my last commit and don't delete items in the foreach() callback,
because it's impossible to delete items in foreach(). Instead, collect
them in a list and remove them after foreach().
2013-02-17 01:45:20 +01:00
Michael Natterer 73cb32c36e Bug 693797 - Sample colorize fails when you choose current gradient as target
Based on a patch from Hartmut Kuhse, make sure we don't remove
custom-added items from GimpItemComboBoxes when repopulating it.
2013-02-15 18:52:02 +01:00
Ville Skyttä 6b0d1038cc Bug 692641 - Various spelling fixes 2013-01-27 18:59:02 +01:00
Mukund Sivaraman b1dbfd2567 pdbgen: Regenerate C code 2012-12-05 08:48:54 +05:30
Sven Neumann 9b2e301c87 pdbgen: programmatically add hint about using g_strfreev()
Add the note about the need to free the returned string array
to the generated libgimp code. This way it will show up in the
libgimp documentation but not in the general PDB API.
2012-12-04 21:07:34 +01:00
Sven Neumann c8209ddb4c Revert "pdb: update documentation for all pdb functions whose return can be freed with g_strfreev()."
Such comment should not be included in the general PDB
documentation as it is specific to the C bindings and can
be easily added by the pdbgen infrastructure.

This reverts commit c9888f2222.
2012-12-04 21:07:34 +01:00
Jehan c9888f2222 pdb: update documentation for all pdb functions whose return can be freed with g_strfreev(). 2012-12-04 00:16:08 +09:00
Michael Natterer c77fc779db libgimp, plug-ins: use g_strfreev() to free PDB string arrays 2012-11-27 21:16:26 +01:00
Michael Natterer e61b1f7603 pdb: return NULL terminated stringarrays from libgimp PDB wrappers
so they can be freed with g_strfreev().
2012-11-27 20:50:21 +01:00
Jehan d8456b5d47 pdb - update documentation comments the right way.
PDB functions must be updated from *.pdb files as *_pdb.c files are
generated by make.
2012-11-28 00:57:23 +09:00
Jehan ee71ed65a4 pdb - update documentation comments.
Update various doc comments of pdb functions where returned value has
to be freed with g_free() after usage.
2012-11-27 23:55:09 +09:00
Michael Natterer 07f77e5ec8 pdb: allow file procedures to register themselves for handling URIs
and store the flag in pluginrc. There are no URIs passed to procedures
yet and no procedure registers as such, this is just preparation.
2012-11-17 16:01:52 +01:00
Michael Natterer ab801970ca Bug 677776 - filter popup windows get hidden behind main image window
Simone found a better way than setting plug-in windows to UTILITY: simply
call the proper API, [NSApp arrangeInFront: nil].
2012-11-12 23:42:15 +01:00
Michael Natterer 908f727f0a Chain up unconditionally in GObject::constructed()
It's supported since GLib 2.28.
2012-11-12 21:51:22 +01:00
Michael Natterer 018fc32727 Bug 677776 - filter popup windows get hidden behind main image window
On OSX, set all transient plug-in windows to UTILITY, so they appear
on top of the image window, which is a bad hack. See the comment in
gimp_window_set_transient_for_display().
2012-11-11 21:19:17 +01:00
Michael Natterer 9e5ed1e70a Bug 684003 - When using the main window in secondary monitor...
If gimp_window_set_transient_for() fails (due to platform
restrictions), at least set GTK_WIN_POS_CENTER on the window, so it
gets centered on the monitor where the mouse is. This also removes the
need for OSX specific centering code in GimpDialog (bug 677776).
2012-11-11 21:09:46 +01:00
Michael Natterer fe19ad9706 Bug 683694 - Spelling errors
Reworded all places that used to say "allows to".
2012-11-11 15:50:25 +01:00
Michael Natterer d4933b3052 Bug 674160 - Redesign of "Lock panel"
Apply and heavily modify patch from remyDev which adds "lock position"
to GimpItem, similar to "lock content". Lock position disables all
sorts of translation and transform, from the GUI and the PDB.

Cleaned up some aspects of the lock content code as well because a
second instance of similar code always shows what went wrong the first
time.
2012-11-09 11:17:25 +01:00
Michael Natterer 0b56aa0d13 Bug 677776 - filter popup windows get hidden behind main image window
On OSX, call [NSApp activateIgnoringOtherApps] when a plug-in dialog
is shown, so the plug-in process becomes the active app, and the
dialog gets focussed.

In order to avoid doing this in GimpDialog (which is also used in
the core), do it in gimp_ui_init() which all interactive plug-ins
call, and when gimp_temp_proc_run() is called interactively, to
catch repeated activation of an already running plug-in.

Also, set GimpDialog's initial position to GTK_WIN_POS_CENTER,
or they will pop up in the top left corner.

Inspired by patches from Simone Karin Lehmann and Daniel Sabo.
2012-11-07 23:44:35 +01:00