Commit graph

1833 commits

Author SHA1 Message Date
Michael Natterer
22fc50c279 app: rename all values of enum GimpContextPropMask
from GIMP_CONTEXT_FOO_MASK to GIMP_CONTEXT_PROP_MASK_FOO.
Also rename the FIRST and LAST values of enum GimpContextPropType.
2015-09-08 21:18:49 +02:00
Michael Natterer
a4a0ec9598 plug-ins, pdb: remove the maze plug-in and add a PDB compat proc 2015-09-04 00:34:38 +02:00
Michael Natterer
b45d31072b app, libgimpcolor: refactor GimpColorManaged::get_color_profile()
to not return a reference that has to be dropped. Also allow NULL to
be returned if the managed cannot have a profile. If it can have one,
get_color_profile() still always returns a profile (either the
assigned one, or a generated built-in one).
2015-09-03 01:36:02 +02:00
Michael Natterer
e83d5e7090 plug-ins, pdb: remove the lcms plug-in and add PDB compat procedures 2015-08-27 22:06:25 +02:00
Michael Natterer
8c80ee14ff Bug 748749 - picked colors don't match image colors...
...when a color profile is active

This commit doesn't fix anything, but it prepares the code to do the
right thing:

It passes the actual raw image pixels through the entire color picking
mechanism to the widgets which display colors, particularly
GimpColorFrame.

This is needed for GimpColorFrame's "Pixel" mode (as opposed to its
RGB, HSV etc. modes) which is supposed to show the raw pixel values
from the image.

Before this commit, it was recreating the raw pixel values from the
GimpRGB value it knows, which will become impossible when we correctly
pick color managed GimpRGB values soon.
2015-08-25 00:05:59 +02:00
Michael Natterer
1715e1e60b app: keep GimpImage's profile around as GimpColorProfile
not only as parasite. This way we avoid having to create the profile
in each call to gimp_image_get_color_profile(). Also keep the built-in
profiles around in gimp_image_get_builtin_color_profile(). Add/remove
refs and unrefs as needed in all users of these functions.
2015-08-16 19:38:11 +02:00
Michael Natterer
e8a5f285a7 app: change GimpBuffer to keep around an actual GimpColorProfile
not an icc_data blob. This simplifies the code using GimpBuffers
together with color profiles.
2015-08-16 13:14:56 +02:00
Michael Natterer
fa5d28aad3 plug-ins, pdb: remove "set" and "set-rgb" from the lcms plug-in
and add PDB compat procedures.
2015-08-05 01:03:33 +02:00
Michael Natterer
1ca3812396 app: rename gimpimage-profile.[ch] to gimpimage-color-profile.[ch] 2015-08-02 22:18:43 +02:00
Michael Natterer
96749a440e pdb, libgimp: add gimp_image_convert_color_profile_from_file() 2015-07-28 23:11:54 +02:00
Michael Natterer
b0735c9448 pdb, libgimp: add gimp_image_set_color_profile_from_file()
which sets the profile from a file containing an ICC profile.
2015-07-28 23:01:18 +02:00
Michael Natterer
ccd2264a4c pdb: reorder procedures in image_color_profile.pdb 2015-07-27 23:45:25 +02:00
Michael Natterer
597a438f07 app: remove gimp_image_set_filename()
- gimp-image-set-filename PDB wrapper: implement the same there in
  a few lines
- xcf-load.c: use gimp_image_set_file() instead, and get rid of the
  last use of filename in xcf/ in favor of GFile
2015-07-13 22:43:22 +02:00
Michael Natterer
0693298d63 libgimpcolor, *: change all GimpColorConfig getters to return const gchar*
instead of a gchar* which has to be freed. Cache all the strings in
the GimpColorConfig instance.
2015-07-12 14:10:18 +02:00
Michael Natterer
c102dde92b libgimpcolor, *: change GimpColorProfile to be a GObject
it used to be a typedef to gpointer and actually was a cmsHPROFILE.

Change its API to be more "standard", remove the public close()
function. The object caches both the cmsHPROFILE and the data/length
ICC blob, so conversions between the two become obsolete (simply call
get_lcms_profile() or get_icc_profile()).

Adapt everything to the new API, but port it in a naive way for now,
the code doesn't take advantage of the new possibilities yet (like
refcounting).
2015-07-10 22:53:59 +02:00
Michael Natterer
d6c578c567 app: change gimp_image_crop() to use x, y, width, height 2015-07-03 19:38:08 +02:00
Michael Natterer
e90e90265b app: port everything from gimp_channel_bounds() to gimp_item_bounds()
except gimpchannel.c itself.
2015-07-03 19:38:08 +02:00
Michael Natterer
4552319336 pdb: fix plug-in-autocrop compat wrapper to work like in 2.8
even if it's weird, compat is compat...
2015-07-03 17:59:08 +02:00
Thomas Manni
82223783a3 plug-ins, pdb: remove the bump-map plug-in and add 2 PDB compat procs 2015-06-30 12:02:48 +02:00
Thomas Manni
3436ae4674 plug-ins, pdb: remove the displace plug-in and add 2 PDB compat procs 2015-06-30 10:02:28 +02:00
Michael Natterer
3c706d00c6 Bug 735906 - Transform tools give unexpected results when transforming...
...certain sets of linked layers

Fix for translating layers from the PDB, and with the cursor keys
for gimpeditselectiontool. Moving layers with the mouse is still broken.

The approach is exactly the same as in 25a696c7.
2015-06-26 12:00:45 +02:00
Michael Natterer
09cd5f6720 app: add ICC data/length parameters to gimp_layer_new_from_gegl_buffer()
and pass them where we know the buffer could be from another image.
Pass "NULL, 0" if we know it's the same image.

Add gimp_layer_new_convert_profile() which takes the newly created
layer and the ICC data/length; call it from both
gimp_layer_new_from_gegl_buffer() and gimp_layer_new_from_pixbuf().

gimp_layer_new_convert_profile() is empty, this is just
infrastructure.
2015-06-20 00:39:44 +02:00
Michael Natterer
6446c007cf app: rename gimp_layer_new_from_buffer() to gimp_layer_new_from_gegl_buffer()
and add new function gimp_layer_new_from_buffer() which takes a
GimpBuffer. This will make sense soon :)
2015-06-20 00:02:11 +02:00
Michael Natterer
db09d0f3d3 app: move functions to create layers to new files gimplayer-new.[ch] 2015-06-17 13:21:01 +02:00
Michael Natterer
bf10da29fa app: remove GError** argument from gimp_image_get_color_profile()
we validate everything when setting it, so this function always
returns either a valid profile, or NULL.
2015-06-17 00:45:43 +02:00
Thomas Manni
769bc933d4 plug-ins, pdb: remove the wind plug-in and add a PDB compat proc 2015-06-11 11:31:36 +02:00
Michael Natterer
c632ffad18 pdb, app, libgimp: add gimp_image_convert_color_profile() PDB wrapper
This commit is more complex than a usual PDB procedure because it
needs to make the enums from libgimpconfig/gimpcolorconfig-enums.h
known to the PDB.
2015-06-10 01:38:20 +02:00
Michael Natterer
d1102d2be9 pdb, plug-ins: remove two procedures from lcms.c and add PDB compat procs
The lcms plug-in is on its way out: add compat procedures implementing
plug-in-icc-profile-info and plug-in-icc-profile-file-info and remove
that code from lcms.c.
2015-06-07 12:52:37 +02:00
Michael Natterer
16749cd395 pdb, app, libgimp: add gimp_image_get_effective_color_profile()
which returns the profile that is actually used for the image. And
some cleanup and fixes in image_color_profile.pdb.
2015-06-07 01:38:50 +02:00
Michael Natterer
80093a85df pdb, app, libgimp: add new PDB group image_color_profile
Which will have proper API to deal with an image's color profile (no
parasites, no ICC blobs). So far contains gimp_image_get_color_profile()
and gimp_image_set_color_profile().
2015-06-05 12:51:46 +02:00
Michael Henning
9a969fb463 Bug 750377 - Fix a typo in the .pdb file
Not in the generated file, as e708f41970 did.
2015-06-04 18:48:54 -04:00
Thomas Manni
a7b84ded8e Bug 325564 - Use CIE LCH instead of HSL for layer mode Color
Add Hue, Chroma, Color and Lightness layer modes in LCH color space.
2015-06-02 01:37:26 +02:00
Michael Natterer
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
Michael Natterer
4ef3c918a0 pdb, app, libgimp: move the image transform procedures to their own PDB group
because image.pdb is way too large.
2015-05-30 23:55:58 +02:00
Michael Natterer
b9773efa5e pdb, app, libgimp: rename the "guides" PDB group to "imageguides"
This only renames files, no code changes.
2015-05-30 15:27:16 +02:00
Michael Natterer
3b70fb8d3a pdb, app, libgimp: rename the "grid" PDB group to "imagegrid"
This only renames files, no code changes.
2015-05-30 15:19:11 +02:00
Michael Natterer
b34ed029ac pdb, app, libgimp: rename the "convert" PDB group to "imageconvert"
This only renames files, no code changes.
2015-05-30 15:09:57 +02:00
Michael Natterer
f269651cc6 pdb, app, libgimp: rename the "undo" PDB group to "imageundo"
This only renames files, no code changes.
2015-05-30 15:01:50 +02:00
Ville Pätsi
8b5308b97a tools/generate-news Add a script to generate a NEWS file template 2015-05-02 14:29:39 -04:00
Michael Natterer
e6703aa6b8 plug-ins, pdb: remove the papertile plug-in and add a PDB compat proc 2015-04-30 17:18:01 -04:00
Michael Natterer
bc4cf9918f Bug 673501 - Issue with Overlay
GIMP's OVERLAY mode was identical to SOFTLIGHT. This commit fixes the
issue and introduces a NEW_OVERLAY mode and enum value.

- change gimp:overlay-mode to be a real (svg-ish) overlay mode
- when compositing, map OVERLAY to gimp:softlight-mode
- when compisiting, map NEW_OVERLAY to gimp:overlay-mode
- bump the XCF version when NEW_OVERLAY is used
- map OVERLAY to SOFTLIGHT when loading and saving XCF
- map OVERLAY to softlight in all PDB setters
- map OVERLAY to softlight when deserializing a GimpContext
- change all paint mode menus to show an entry for NEW_OVERLAY
  instead of OVERLAY
- change PSP, PSD and OpenRaster to use NEW_OVERLAY

These changes should (redundantly) make sure that no OVERLAY enum
value is used in the core any longer because it gets mapped to
SOFTLIGHT at all entry points, with the downside of introducing a
setter/getter asymmetry when OVERLAY was set in a PDB api.
2015-04-29 13:32:58 -04:00
Michael Natterer
573f0f69bb plug-ins, pdb: remove the edge plug-in and add a PDB compat procedure 2015-03-03 23:18:53 +01:00
Michael Natterer
b856a8ba76 plug-ins, pdb: remove the value-propagate plug-in and add PDB compat procedures 2015-02-08 23:09:06 +01:00
Michael Natterer
9be37aaa91 plug-ins, pdb: remove the diffraction plug-in and add a PDB compat procedure 2015-01-21 22:51:49 +01:00
Michael Natterer
b87d97ae68 plug-ins, pdb: remove the lens-flare plug-in and add a PDB compat procedure 2015-01-08 23:39:03 +01:00
Michael Natterer
4d5e42ac1a plug-ins, pdb: remove the engrave plug-in and add a PDB compat procedure 2014-12-15 23:54:35 +01:00
Alexia Death
6f582ba527 pdb: make channel-mixer compat function use mono-mixer for monochrome mode
This is preparation of removing monochrome mode from the channel
mixer op, as there is already mono mixer doing the exact same thing
2014-12-11 00:30:23 +02:00
Michael Natterer
7313cb559e plug-ins, pdb: remove the illusion plug-in and add a PDB compat procedure 2014-12-04 20:42:15 +01:00
Michael Natterer
fabbc9ac48 pdb: fix the doc_title of plug_in_compat.pdb 2014-11-22 23:11:23 +01:00
Michael Natterer
212b44cf2f plug-ins, pdb: remove the Solid Noise plug-in and add a PDB compat procedure 2014-11-22 21:04:31 +01:00
Michael Natterer
b49e8098d4 plug-ins, pdb: remove the sinus plug-in and add a PDB compat procedure 2014-11-21 22:11:15 +01:00
Michael Natterer
b94ba871ac plug-ins, pdb: remove the nova plug-in and add a PDB compat procedure 2014-11-18 21:05:32 +01:00
Michael Natterer
a101ed2aef app, pdb: change range of brush-spacing to 0.01..5.0
And only use percent in the GUI.
2014-11-17 23:56:16 +01:00
Michael Natterer
b4f721cdfb pdb: set value ranges on PDB brush parameters/return values
Also fix a few glitches and spelling.
2014-11-17 23:18:22 +01:00
Alexia Death
bac099e71b pdb: remove copy-paste error 2014-11-17 21:48:03 +02:00
Alexia Death
60cf10f581 pdb: add pdb calls for hardness and force 2014-11-17 15:29:45 +02:00
Michael Natterer
e78540e581 plug-ins, pdb: remove the video plug-in and add a PDB compat procedure 2014-11-16 22:08:51 +01:00
Michael Natterer
78120dcb87 pdb: new procedures get the next stable version, so 2.10 not 2.9 2014-11-15 22:15:27 +01:00
Alexia Death
6f4fb84645 pdb: pdb definitions for spacing in tool options 2014-11-13 14:49:12 +02:00
Michael Natterer
effeefb84a plug-ins, pdb: remove the color-exchange plug-in
and add a PDB compat procedure.
2014-11-10 22:40:58 +01:00
Michael Natterer
e47ded9420 pdb: fix gimp-file-open and gimp-file-save for GIO-ported file procedures
Pass URIs instead of filenames to the procedures if they are ported to GIO.
2014-10-18 01:14:58 +02:00
Michael Natterer
5d8824f42e app: move all GimpBrush members to a private struct
Add and use accessors for width, height, x_axis and y_axis.
2014-10-12 01:16:32 +02:00
Michael Natterer
e4171c5bff plug-ins, PDB: remove edge-sobel and add a PDB compat procedure 2014-10-11 19:41:49 +02:00
Jehan
56c2e19733 Removes various easy compilation warnings. 2014-09-28 18:18:00 +02:00
Michael Natterer
bda1cd049d Bug 735516 - Crop to content fails
Return a new enum GimpAutoShrink { SHRINK, EMPTY, UNSHRINKABLE } from
gimp_pickable_auto_shrink() because a simply boolean FALSE doesn't
distinguish between "not further shrinkable" and "no content". Change
the callers accordingly add a special "already cropped" message where
we only had a "no content" message before.
2014-08-31 17:41:54 +02:00
Michael Natterer
1326cc5562 pdb: fix uninitialized variable warning in the convmatrix compat wrapper 2014-08-29 21:37:17 +02:00
Mikael Magnusson
8b9696a7fa plug-ins, pdb: Add missing break statements to switch in correct file 2014-08-18 01:34:00 +02:00
Michael Natterer
14c39816d8 app: keep the theme directories around a GFiles
and change gimp_get_theme_dir() to return a GFile.
2014-07-20 17:09:25 +02:00
Michael Natterer
a6601d563b app: some GimpProgress cleanup
- change start() and set_text() to use "format" and "..." instead of
  "message", allowing to format progress messages in place
- s/cancelable/cancellable/
- move "cancellable" to be the second argument of start()
2014-07-12 23:45:20 +02:00
Michael Natterer
a4b807905c app: change gimp_get_temp_filename() to gimp_get_temp_file() 2014-07-10 22:32:09 +02:00
Michael Natterer
c1f7ec52a8 app: add gimp_pdb_image_get_guide() and use it in the guide PDB wrappers
It returns a proper error message if a guide ID doesn't exist.
2014-07-10 20:24:10 +02:00
Michael Natterer
ad9fd33915 app: guide cleanup
- Move all GimpGuide members to a private struct
- Remove cruft checks for position < 0, we don't keep removed guides
  around in the image's guide list since a long time ago
- Add #define GIMP_GUIDE_POSITION_UNDEFINED G_MININT and use that
  instead of -1 (this is also a prerequisite for having guides
  outside of the image)
2014-07-10 00:20:57 +02:00
Michael Natterer
c3573c3c45 app: keep the plug-in executable path around as GFile 2014-07-08 21:09:35 +02:00
Michael Natterer
c884c4f630 app: change file_utils_filename_to_uri() to file_utils_filename_to_file() 2014-07-08 10:25:25 +02:00
Michael Natterer
d0a6d95dad app: remove a bunch of file-utils.h includes 2014-07-08 00:23:34 +02:00
Michael Natterer
ff6ea69569 app: change the image's various URIs to GFiles
which gets rid of a lot of temporarily added GFile code again because
we don't need to convert between URI and GFile any longer.
2014-07-07 23:58:11 +02:00
Michael Natterer
0f8d84d5e9 app: port all file_open() and file_save() functions to GFile 2014-07-07 23:58:11 +02:00
Michael Natterer
249041d927 Bug 732698 - Select > Shrink/Grow/Border not working in GIMP master
Always pass level = 0 to gegl_buffer_set(). This actually makes a
difference since GEGL's level processing got some fixes.
2014-07-03 20:47:02 +02:00
Michael Natterer
70e6d86bdf app: port gimp_pdb_dump() to GIO 2014-07-03 14:52:27 +02:00
Michael Natterer
3687e1b32b app: change filename in gimp_vectors_import_file() to GFile 2014-07-02 14:54:56 +02:00
Michael Natterer
632b64fedf app: change filename in gimp_vectors_export_file() to GFile 2014-07-02 14:47:11 +02:00
Michael Natterer
98f97a9580 libgimp, pdb: port gimp_drawable_curves_explicit,spline() to double
and deprecate gimp_curves_explicit,spline().
2014-06-17 22:37:46 +02:00
Michael Natterer
f5e4f01c52 app: make gimp_curves_config_new_spline,explicit() handle variable #points
Also, append _cruft to the function name because they take guint8*
arrays, will add proper ones next.
2014-06-17 21:10:33 +02:00
Michael Natterer
a5fe6c244f app: same fix for gimp_drawable_curves_explicit()
whch is about to change anyway, but better start refactoring from
a correct state.
2014-06-17 20:31:25 +02:00
Michael Natterer
fabcf2ccfe pdb: actually create a free curve in the gimp_curves_explicit() wrapper
It was creating a spline curve that was entirely broken.
2014-06-17 20:23:02 +02:00
Michael Natterer
e2628b9bd0 app: revive gimpdrawable-foreground-extract
Move the extraction graph from the foreground select tool there.
Enable the PDB wrapper again, using default values for now.
Some sytle cleanup in the foreground select tool.
2014-06-03 23:05:23 +02:00
Michael Natterer
ee3846cc8b app: make the gimp_drawable_fill*() API symmetric to gimp_edit_fill*() 2014-06-03 14:11:59 +02:00
Michael Natterer
38c86da8e9 app: factor out utility function gimp_get_fill_params()
which returns an error if there is no pattern for GIMP_FILL_PATTERN.
Use it instead of having the same code in 3 variants, and make error
handling consistent with bucket fill.
2014-06-03 14:00:01 +02:00
Michael Natterer
1416743b5c app: use GimpFillType in gimp_drawable_bucket_fill()
GimpBucketFillMode is now tool- and pdb-only.
2014-06-03 01:34:51 +02:00
Michael Natterer
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
Michael Natterer
f15b48b3c8 plug-ins, pdb: remove convolution-matrix and add a PDB compat procedure 2014-05-29 16:27:35 +02:00
Michael Natterer
4fbaff92a1 pdb: replace \1 \2 \3 by $1 $2 $2 as suggested by perl warning 2014-05-29 16:26:16 +02:00
Ed J
345bf01c01 Doc that gimp-display-new gives execution error if no GIMP GUI. 2014-05-27 00:56:05 +01:00
Michael Natterer
3e6a7f4012 pdb, plug-ins: remove the rotate plug-in and add a PDB compat procedure 2014-05-24 22:46:11 +02:00
Michael Natterer
41fc19e7b3 pdb: fix workarea of some plug-in compat procecures
If the removed plug operated on the selection bounds, translate and
crop the GEGL op accordingly to get the same result. Also adapt to
new relative coordinates in some GEGL ops.
2014-05-24 00:47:23 +02:00
Michael Natterer
40030e084b plug-ins, pdb: remove the deinterlace plug-in and add a PDB compat proc 2014-05-20 21:30:42 +02:00
Michael Natterer
c452f12519 pdb: normalize the compat motion blurs' angles to -180..180 2014-05-18 22:33:11 +02:00
Michael Natterer
2ce79d3b13 plug-ins, pdb: remove the tile-glass plug-in and add a PDB compat procedure 2014-05-16 22:11:28 +02:00
Michael Natterer
6c7fae9e11 app, libgimp*, pdb: move more enums from app/core to libgimpbase 2014-05-14 00:06:01 +02:00
Michael Natterer
9dde82b215 libgimpbase: sort gimpbaseenums.h alphabetically 2014-05-13 23:29:17 +02:00