Commit Graph

1852 Commits

Author SHA1 Message Date
Michael Natterer 31fcd79dd9 Bug 769738 - Add color tags/labels for layers/channels/paths
Add property "color-tag" of type enum GimpColorTag to GimpItem so all
layers, channels and paths can be tagged with a color.

For interoperability, use the color list from Krita which is a
superset of Photoshop's colors.

Features a "Color Tag" submenu in the layers, channels and paths
menus, a row of color radio buttons in the properties dialogs,
undo and PDB API.

As a side effect, some common code is now factores out into
items-actions.[ch] and items-commands.[ch] which adds visible, linked
and lock actions for layers and channels.
2016-10-29 17:02:16 +02:00
Michael Natterer 997ae1e28b Bug 764024 - Allow to choose fill color when resizing layers and images
Add a GimpFillType argument to GimpItem::resize() and fill type
widgets to the canvas and layer resize dialogs. Fill the new parts of
the drawable according to fill type in gimp_drawable_resize(). Make
sure places that need the old behavior get GIMP_FILL_TRANSPARENT
passed by hardcoding it in the GimpItem::resize() implemetations of
channel, mask, selection etc.
2016-10-10 00:02:16 +02:00
Michael Natterer 41754669e6 pdb: fix PDB compat wrappers which i just broke
and simplify them using gimp_color_config_get_rgb_color_profile().
2016-10-01 00:43:17 +02:00
Michael Natterer 0524b60228 app: consistently treat GimpColorConfig profile paths as config paths
and use gimp_file_new_for_config_path() and _get_config_path() when
dealing with them. We used a weird mix of config paths and plain
(filesystem encoded) paths, waiting to to break on umlauts or
whatever. The code in gimpcolorconfig.c was particularly bad.
2016-10-01 00:29:44 +02:00
Michael Natterer 009417e450 app: reorder and rename indexed conversion parameters to make more sense 2016-09-27 23:51:33 +02:00
Michael Natterer ea98f9967e app: change gimp_pickable_auto_shrink()'s parameters
from x1, y1, x2, y2 to x, y, width, height.
2016-09-25 22:40:28 +02:00
Michael Natterer 21ec859c4a app: rename gimp_layer_flatten() to gimp_layer_remove_alpha() 2016-09-21 11:56:25 +02:00
Michael Natterer 109e01dbdd pdb, app, libgimp: rename *-paste-as-new to *-paste-as-new-image
Keep the old function names around as deprecated compat wrappers.
2016-09-20 20:20:25 +02:00
Michael Natterer be91db8107 pdb: fix typo in edit-paste's help 2016-09-20 18:54:34 +02:00
Michael Natterer 67863dabf9 Bug 637313 - Should be possible to copy/paste whole layers in a single step
Use the newly added clipboard for entire images to copy/paste layers
(we only create single-layer clipboard images, and use only the first
layer of any recieved image, the layers can be arbitrarily complex
though):

- change gimp_edit_copy,cut,paste() to return/take a GimpObject
  that can be a GimpImage or GimpBuffer
- cut/copy the whole layer if there is no selection
- always paste layers as new layers, not floating selections
- always paste news layers on top of the active layer, where
  we would attach a floating selection
- add enum GimpPasteType { FLOATING, FLOATING_INTO, NEW_LAYER }
- add GimpPasteType parameter to gimp_edit_paste() and handle all
  three cases there because there is now a lot of common code
  involved
- change all callers accordingly, use only legacy buffer pasting
  from the PDB for now
2016-09-20 00:20:07 +02:00
Michael Natterer d85157c376 app: rename gimp->global_buffer to gimp->clipboard_buffer
Also rename the "buffer-changed" signal and the setter, and add a
getter.
2016-09-17 17:39:54 +02:00
Michael Natterer 9188f549e8 app, pdb: remove useless include of "core/gimpunit.h" 2016-09-12 23:46:21 +02:00
Jehan 0652cd016b tools: invert-svg needs glib and GIO dependencies. 2016-08-15 15:06:35 +02:00
Massimo Valentini 52b6eaa11a tools: 2 typos
one prevented a successfull make distcheck
on my platform
2016-08-13 11:30:13 +02:00
Michael Natterer 84439a8748 tools: build the SVG tools unconditionally, and clean up the Makefile a bit 2016-07-21 12:20:59 +02:00
Richard Kreckel dd9b0fc55b Bug 768044 - Fix many typos
This fixes many typos in comments and one in a user-visible string (msgid
"center abscisse" changed to "center abscissa" in affected po files. too).
2016-06-26 00:35:24 +02:00
Jehan 8159aa04a9 tools: compute-svg-viewbox is not to be built for the time being.
librsvg has too many bugs and is not reliable for vectorial icon
extraction. I keep the code around for when it changes, but right now,
it is dead code.
2016-06-12 14:10:15 +02:00
Jehan 18b0468cc9 tools: invert-svg is a build-only tool.
It must be built with a native compiler and native libs only.
2016-06-12 04:25:53 +02:00
Michael Natterer 4b18b1ac39 libgimpconfig: rename gimpcolorconfig-enums.[ch] to gimpconfigenums.[ch]
It makes no sense to do this differently than in all other of our
libraries.
2016-06-06 21:05:16 +02:00
Michael Natterer c73104e3ea Bug 766327 - gimptool-2.0 not quoting filenames/directories
Quote installation paths with g_shell_quote().
2016-05-22 22:38:12 +02:00
Michael Natterer 2ef8719cbe app: rename more stuff from "floating sel" to "floating selection" 2016-05-20 16:46:26 +02:00
Ell 2f96950eaa pdb: Modify gimp-selection-border to use BORDER_STYLE_SMOOTH
instead of BORDER_STYLE_FEATHERD.

Changes the behavior of the function, but probably for the better.

This, and the previous 5 commits, fix bug 764614.
2016-05-08 19:23:48 +00:00
Ell 15d4908076 app, pdb: Modify gimp_channel_border() to take a style parameter
isntead of the feather parameter, and pass it to
gimp_gegl_apply_border().

Make the necessary changes to the rest of the code to maintain the
current behavior.

Mass parameter alignment changes to gimpchannel.h. Sigh #2...
2016-05-08 19:22:24 +00:00
Michael Natterer 39909b6008 app: replace GimpList's internal GList with a GQueue
so we can easily iterate in reverse order, and access the last element
in O(1). Nothing makes use of this yet.
2016-05-01 15:22:44 +02:00
Michael Natterer 12f9aa9bd2 Bug 765176 - ICC profile conversions between grayscale and RGB images
Add a dest_profile parameter to gimp_image_convert_type() so a profile
can be chosen when converting between RGB and GRAY. Has no GUI yet.
2016-04-30 18:35:52 +02:00
Michael Natterer ef8b802032 app: move indexed conversion to gimpimage-convert-indexed.[ch]
It's so much code and takes so many additional parameters over RGB and
GRAY conversion, it got its own place and function now.
2016-04-30 18:35:52 +02:00
Thomas Manni f4cb2dd881 Bug 109161 - Improve Histogram with Luminance Channel
Add a luminance channel to GimpHistogram
2016-04-18 19:35:06 +01:00
Michael Natterer 29f55a95ef app, pdb: minor cleanup in the new font loading code 2016-04-17 21:06:00 +01:00
Sven Claussner c5aef38613 Make PDBGEN documentation clearer.
Tell the developer not to run pdbgen.pl manually, but make.
Describe the destdir environment variable.
Update the /lib directory to the current /libgimp directory.
README_NEW_PDB_PROC: correct spelling.
2016-04-16 07:29:26 +00:00
Sven Claussner 0fa6c7f121 flood: improve PDB description completely
Improve PDB description in generator template and all generated files.
2016-04-16 06:19:36 +00:00
Elle Stone 96d8397114 Bug 763996 - Where appropriate, change "gamma correction" to "gamma adjustment"
Gamma correction refers to correcting how an image is displayed on
various devices. Gamma adjustment is a more general phrase that also
applies to adjusting gamma as a step in image enhancement in a
color-managed workflow.
2016-03-28 14:57:24 +02:00
Michael Natterer c09a724bda app: change parameters of gimp_fill_options_new()
to be the same as of gimp_stroke_options_new() because it's about to
be needed for the same purposes.
2016-03-15 20:10:16 +01:00
Michael Natterer 3b6ab62c1e app: remove boolean return value from gimp_edit_clear() and gimp_edit_fill() 2016-03-11 22:41:25 +01:00
Michael Natterer d71f53dfe9 app: change gimp_drawable_bucket_fill() to use GimpFillOptions
and get rid of gimp_drawable_bucket_fill_internal().
2016-03-11 22:05:33 +01:00
Michael Natterer e1e77f88fa app: change gimp_edit_fill() to take a GimpFillOptions
instead of a long list of parameters. Get rid of gimp_edit_fill_full().
2016-03-11 19:55:50 +01:00
Michael Natterer 05b619cb8c pdb: also fix gimp-edit-bucket-fill-full, see below 2016-03-08 02:26:20 +01:00
Michael Natterer ad2c01f8d8 app: move gimp_drawable_fill() to gimpdrawable-fill.[ch]
and get rid of gimp_drawable_fill_full().
2016-03-08 01:44:35 +01:00
Michael Natterer 8d3c6a4f38 pdb: fix gimp-edit-bucket-fill when there is a selection
use the passed opacity and paint mode instead of hardcoding OPAQUE and
NORMAL.
2016-03-08 01:17:35 +01:00
Jehan b0af146ea3 tools: scripts to extract a single SVG icon from a source file.
SVG sources contains many icons and each icon is extracted by its id.
2016-02-15 01:53:19 +01:00
Jehan 1427b2c795 tools: "invert-svg", new tool to invert grey colors in vectorial icons. 2016-02-15 01:53:01 +01:00
Jehan b8fadf3ad7 app: add a "custom" guide concept.
With gimp_guide_custom_new(), you can create a custom guide with a different
style on canvas (other pattern/color/width). A custom guide won't be saved
and could be used, for instance, for specific GEGL op guiding.
2016-02-02 21:15:13 +01:00
Ell b52da8a17e pdb: Add gimp-selection-flood 2016-01-25 23:01:53 +01:00
Michael Natterer cd47aac435 app: remove GimpThresholdConfig
The new more general GimpImageMapTool code handles this case
completely automatically now.
2016-01-22 22:37:23 +01:00
Michael Natterer 37dd1778ad pdb: clean up the channel mixel PDB compat proc
Fix indentation, remove unneeded casts.
2016-01-18 02:14:49 +01:00
Ell 7b89fe6536 pdb: Use the diagonal-neighbors setting from GimpPDBContext...
...in gimp-image-select-contiguous-color()

This and the last 5 commits fix bug 760481.
2016-01-17 00:46:54 +01:00
Ell 7b3e5ba1e9 pdb: Add "diagonal-neighbors" as GimpPDBContext property
and add PDB API to get/set it.
2016-01-17 00:46:54 +01:00
Ell e0b1aa1c26 app: Add diagonal_neighbors parameter to gimp_channel_select_fuzzy()
and propagate it to gimp_pickable_contiguous_region_by_seed(), in
preperation for adding a diagonal-neighbors setting to PDB.
2016-01-17 00:46:54 +01:00
Ell 350c7ca338 app: Add "Diagonal neighbors" option to the bucket fill tool
When checked, diagonally neighboring pixels are considered connected
when calculating the affected area.

This commit also adds a corresponding diagonal_neighbors parameter to
gimp_drawable_bucket_fill(), and modifies the callers, other than the
bucket fill tool, to pass FALSE for this parameter, to retain the
current behavior.
2016-01-17 00:46:54 +01:00
Michael Natterer 149d3f441f app: turn the desaturate tool into a normal GEGL filter 2016-01-16 22:38:12 +01:00
Michael Natterer 7b009c6900 app: turn the posterize tool into an ordinary GEGL filter
which means replacing the whole thing by a few lines.
2016-01-16 21:41:00 +01:00