Commit graph

1713 commits

Author SHA1 Message Date
Ed J
e7501448fa Document other layer_group-relevant procedures in gimp_layer_group_new. 2014-05-03 00:44:29 +01:00
Ed J
9dfc4eb6a2 Document that gimp_run_procedure* on error return a string. 2014-05-03 00:16:29 +01:00
Massimo Valentini
c8c105b4df libgimp: oversight computing thumbnail size
exporting an image with metadata and thumbnail and with
an aspect ratio of w:h = 1:5, file-jpeg used to print:

(file-jpeg:): LibGimp-CRITICAL **: gimp_image_get_thumbnail: assertion 'width > 0 && width <= 1024' failed
(file-jpeg:): GdkPixbuf-CRITICAL **: gdk_pixbuf_get_rowstride: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
(file-jpeg:): GdkPixbuf-CRITICAL **: gdk_pixbuf_get_n_channels: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
(file-jpeg:): GdkPixbuf-CRITICAL **: gdk_pixbuf_get_width: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
(file-jpeg:): GdkPixbuf-CRITICAL **: gdk_pixbuf_get_height: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
(file-jpeg:): GdkPixbuf-CRITICAL **: gdk_pixbuf_get_pixels: assertion 'GDK_IS_PIXBUF (pixbuf)' failed
(file-jpeg:): GLib-GObject-CRITICAL **: g_object_unref: assertion 'G_IS_OBJECT (object)' failed
2014-05-02 18:44:45 +02:00
Kevin Cozens
258806ea38 GIMP_METADATA_SAVE_* are bit fields so use | to test for bits in 'flags'. 2014-04-30 13:46:13 -04:00
Michael Natterer
a4223766f2 all,libgimp*: move GimpConvolveType and GimpInkBlobType to libgimpbase
and make GimpConvolveType's values sane.
2014-04-29 22:44:58 +02:00
Hartmut Kuhse
86a2f3851f libgimp: fixing 2ff414d799
For windows, exported functions must be listed in the
according .def file. If the function itself is deleted,
the corresponding function must also be deleted from the
.def file
2014-04-29 18:02:36 +02:00
Michael Natterer
2ff414d799 app,libgimp,pdb: remove enum GimpConvolutionType from the public API
It was exported accidentially and never used for anything.
2014-04-27 23:05:12 +02:00
Michael Natterer
48b01cf297 Bug 727343 - gimp_plug_in_handle_tile_get fails for 64-bit depth images
libgimp/gimp.c: forgot to double the shared memory size for 64 bit
images.
2014-04-10 14:09:52 +02:00
Daniel Sabo
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
Michael Natterer
fea22c345c Bug 706361 - Printer queue dosn't show the filename of the printing image
Change the gimp-image-get-name procedure to return the same string
as shown in the image title, and mention in its API docs that this
string is meant for annotating UI elements only.
2014-03-15 17:53:10 +01:00
Michael Natterer
13ee151a1e libgimp*: use LIBADD and DEPENDENCIES consistently in all Makefiles 2014-03-14 22:39:51 +01:00
Michael Natterer
e7ff0589cb app: shuffle precision enum values around to make room for U64
and add code to handle the old values from XCF files < version 7.
2014-03-09 01:46:08 +01:00
Michael Natterer
3c918353fb app: add double precision support, for completeness
and because it makes us look utterly cool.
2014-03-09 00:43:55 +01:00
saul
cbce05f92c Bug 725325 - Drag and drop fails for patterns and brushes
The "drag-data-received" signal was connected wrongly
2014-02-27 18:46:26 +01:00
Michael Natterer
c42cc495bb libgimp: set GeglConfig's application-license to GPL3 here too 2014-02-26 00:12:23 +01:00
Michael Natterer
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
Massimo Valentini
9498cc615d Bug 722676: Pasting image from clipboard sometimes does not work.
Change gimp_pixbuf_create_buffer() to copy the pixels if a linear
buffer cannot be created. Add functions that convert between
GimpTempBuf and GdkPixbuf. Fix users of gimp_pixbuf_create_buffer()
to make the least possible copies. Patch modified by Mitch.
2014-02-23 00:49:56 +01:00
Michael Natterer
28db68e56c libgimp: fix typo in gimp.def 2014-01-12 23:25:21 +01:00
Michael Natterer
b4462e9e19 app,libgimp,pdb: add a "drawable_color" PDB group
Which contains all the API from the "color" group, but with a
gimp_drawable namespace and with support for high bit depths. The
group is actually a copy of "color" with cruft removed and some API
ported to using float instead of integer API.

Deprecated all "color" functions that already have a ported version in
"drawable_color".

This is unfinished WIP, some functions in "drawable_color" still have
the old API.
2014-01-12 23:12:21 +01:00
João S. O. Bueno
8c14f3822a Adds generated files after hue-saturation-overlap call. Addresses #634008 2014-01-08 20:20:05 -02:00
João S. O. Bueno
858c39dc23 libgimp: add gimp_hue_saturation_overlap(...) to gimp.def 2014-01-06 13:27:35 -02:00
João S. O. Bueno
ba45413742 Revert "gimp.def change due to<tab> SNAFU
This reverts commit 2ad6f86ec1.
2014-01-06 13:25:18 -02:00
João S. O. Bueno
2ad6f86ec1 libgimp: add gimp_hue_saturation_overlap(...) to gimp.def 2014-01-06 13:12:39 -02:00
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
Michael Natterer
0a5059da51 Bug 685445 - color-to-alpha plugin crashes (use-after-free)
gimp_tile_put(): make sure we don't free libgimp's tile data twice in
the non-SHM case. I could never reproduce the bug, but I'm pretty sure
this fixes it. The change in gimpprotocol.c is just cleanup.
2012-10-22 19:03:00 +02:00
Michael Natterer
d6cf29e8c4 Bug 685797 - all python plug-ins are broken after 3b55877a
Remove the privately added GimpItemComboBox class instead, it confuses
the hell out of python. Instead, use g_object_set,get_data() to manage
the newly needed members, and code duplication.
2012-10-10 23:10:56 +02:00
Michael Natterer
4aaaa1a7fa Bug 378334 - Plugins with image drop-list crash when image is closed
Let image and item combo boxes connect to their own "changed" signal
first, and if the chosen image/item doesn't exist any longer,
reinitialize the combo box and select the first item instead.

Also fixes the type macros in gimpitemcombobox.h which were lacking a
')' and introduces an internal GimpItemComboBox class to hold the
common functionality.
2012-10-08 22:01:30 +02:00
Michael Natterer
52c00faad5 Bug 685590 - 16-bit Tiff loader crashes on Windows and Mac both 64-bit
The tile transfer SHM segment is now width*height*16 bytes large,
not only width*height*4. I have no clue how this could work on
32 bit systems.
2012-10-06 14:35:30 +02:00
Michael Natterer
c91702917e libgimp: gimp_drawable_get_buffer(): return NULL for an invalid drawable
instead of repeating the crappy behavior of gimp_drawable_get() which
would return something even for bogus drawable IDs.
2012-09-22 20:33:03 +02:00
Kevin Cozens
a2e037fb00 Corrected spelling errors spotted by Ari Pollak (Mostly fixes bug #683694)
Still need to address the "allows to" grammatical error.
2012-09-10 12:22:12 -04:00
Michael Natterer
b955205676 Bug 678452 - Libgimp drawable combo boxes are not aware of layer groups
Add all a tree's items to the combo boxes. Try to visualize the tree
structure by prepending '-'s, but that could probably need some
suggestions for improvement.
2012-09-03 02:21:28 +02:00
Michael Natterer
e620eb8cef Bug 678732 - gimp-image-insert-layer inserts into a wrong place...
Fix the docs, the function does what it's supposed to do.  Passing
"0, -1" actually means "insert where the ui would insert" and is
supposed to be used when e.g. scripts create layers.
2012-08-04 02:18:15 +02:00
Michael Natterer
01dffdc276 Bug 680531 - Function gimp-context-get-brush-size takes size argument...
The context getters need PDB @outargs, not @inargs. This "API change"
is OK in stable because the API was totally unusable before this fix.
2012-07-26 16:26:14 +02:00
Michael Henning
1c1e7813f4 libgimp: Use a relative path to libgimp-2.0.la so parallel builds work. 2012-05-13 15:42:21 +02:00
Martin Nordholts
d7db79c2f2 app: Make tests build
In particular: link.
2012-05-10 22:12:58 +02:00
Michael Natterer
486e76bdab libgimp*: use GIMP_API_VERSION in Makefile.am instead of hardcoding 2.0 2012-05-04 15:38:45 +02:00
Michael Natterer
ffa1546853 libgimp: add GEGL branch to gimp_layer_new_from_surface() 2012-05-03 04:13:39 +02:00
Michael Natterer
48a264ce4b libgimp: add GEGL branch to gimp_layer_new_from_pixbuf()
can't get rid of the legacy impl yet bacause plug-ins need to be able
to run in compat mode.
2012-05-03 03:48:49 +02:00
Michael Natterer
3ad73b3658 libgimpcolor: add GdkPixbuf <-> GeglBuffer utility functions
and update tons of includes in libgimp and app.
2012-05-03 03:37:20 +02:00
Michael Natterer
7e17a1e42e libgimp: deprecate the entire legacy pixel fiddling api
which generates a gazillion warnings in plug-ins, a perfect guide
where to do porting.
2012-05-03 01:51:39 +02:00
Michael Natterer
86f53a3ceb libgimp: make pdbgen generate GIMP_DEPRECATED stuff
instead of GIMP_DISABLE_DEPRECATED.
2012-05-03 01:12:25 +02:00
Michael Natterer
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
Michael Natterer
9f85f35c07 libgimp: don't recurse infinitely in gimp_parasite_detach()
(cherry picked from commit 5b59af7c2e)
2012-05-03 00:35:55 +02:00
Michael Natterer
3d5758d209 libgimp: fix docs of deprecated functions
(cherry picked from commit 569c122137)
2012-05-03 00:26:26 +02:00
Michael Natterer
b5842539f5 libgimp: don't recurse infinitely in deprecated gimpvectors functions
(cherry picked from commit f32706a0d1)
2012-05-03 00:26:09 +02:00
Simon Budig
43cce00fd9 libgimp: fix NULL colormap for gimp_drawable_get_format() 2012-05-02 17:51:22 +02:00
Simon Budig
641848ea0b Fix the palette handling in gimp_drawable_get_format() 2012-05-02 17:51:21 +02:00
Simon Budig
2cb15f8669 libgimp: fix swapped alpha handling in indexed case 2012-05-02 17:51:20 +02:00
Michael Natterer
1badcb7ce9 app: add GIMP_PRECISION_U32 and all its formats 2012-05-02 17:51:19 +02:00
Michael Natterer
2e7944cad0 app: add GIMP_PRECISION_HALF for 16 bit floating point
and use babl_format_get_palette() to simplify some code.
2012-05-02 17:51:18 +02:00
Michael Natterer
92b4c66777 pdb: export gimp-image-get-precision 2012-05-02 17:51:17 +02:00