Commit Graph

3978 Commits

Author SHA1 Message Date
Michael Natterer 0fc78cd811 app: don't add the aux input as a child to GimpOperationTool's operation
It turns the operation into a graph, which breaks things.
2013-06-30 19:10:49 +02:00
Michael Natterer 0e98904f78 app: start supporting composer ops in GimpOperationTool
If the operation has an aux input, add a combo that allows feeding
it one of the image's channels. This is all work in progress and
and should allow to use any drawable of any image.
2013-06-29 01:18:19 +02:00
Michael Natterer 7947f24bd8 app: make gimp_operation_tool_set_operation() more readable 2013-06-27 23:42:08 +02:00
Michael Natterer f56f6d1255 app: follow the GEGL invert -> invert-linear vs. invert-gamma change
and invert masks using invert-linear and other drawables using
invert-gamma. drawable_invert_cmd_callback() still always uses
invert-gamma even though it can be used on layer masks.
2013-06-24 00:45:04 +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
Clayton Walker df21310b0f app: properly initialize variables 2013-06-23 01:41:50 +02:00
Michael Natterer 31e9cc2ad9 Bug 702369 - foreground selection doesnt work with image precision >8 bit
This removes the obsolete check which makes the tool fail from
gimp_display_shell_set_mask(). Also change the foreground select tool
and the display mask from using GimpChannel to GeglBuffer, because
that's what it needs, simply buffers. Most changed files simply newly
include <gegl.h> because a GeglBuffer appeared in two headers.
2013-06-22 22:26:46 +02:00
Michael Natterer 2e8ef97c13 Bug 701803 - Cage Transform raises segmentation fault...
...if layer bounds are changed.

Call gimp_tool_control_set_preserve (tool->control, FALSE) so it is
stopped when the drawable changes.
2013-06-18 19:05:54 +02:00
Michael Natterer 6280e4933a app: add gimp_handle_bar_connect_events()
to replace 3 completely ugly signal connections, repeated in 4 places.
2013-06-17 22:13:48 +02:00
Michael Natterer 640189d01e app: merge levels_linear_gamma_update() into its only caller
also reorder some functions to be in vtable order.
2013-06-17 22:07:31 +02:00
Michael Natterer 234a05845f app: use prop widgets in GimpLevelsTool, and generally clean up a bit 2013-06-17 02:07:10 +02:00
Michael Natterer a009b18a6e app: use gimp_prop_widget_set_factor() not gimp_spin_scale_set_factor() 2013-06-15 20:52:57 +02:00
Michael Natterer 731360a8f7 app: add gimp_prop_widget_set_factor()
which allows adjustment-based prop widgets to display the property
value multiplied by factor. Remove gimp_prop_opacity_spin_scale_new()
because that's simply a factor of 100.0.
2013-06-15 01:28:54 +02:00
Michael Natterer efbe095b66 app: configure GimpBrightnessContrastTool's scales according to image precision 2013-06-14 08:17:39 +02:00
Michael Natterer afb767fcc1 app: use 0..1 axes in GimpCurveTool's curves widgets on != 8-bit images 2013-06-13 00:23:49 +02:00
Michael Natterer 4edba97932 app: port GimpThresholdTool to the new variable # of histogram bins 2013-06-12 16:35:15 +02:00
Michael Natterer 6c97908a9e app: add "gboolean gamma_corrected" to gimp_histogram_new()
so we can make histograms of the gamma-corrected image data. Pass
TRUE all over the place so the histogram works perceptually. This
needs more thinking...
2013-06-12 01:02:25 +02:00
Michael Natterer a7f42de4c0 app: turn GimpHistorgram into a GimpObject, no other changes 2013-06-11 21:23:32 +02:00
Michael Natterer 875b1705fc app: don't ROUND() all input/output values to int in GimpLevelsTool
That was a leftover from before the change to 0..100 sliders for
non-8-bit images. Spoted by Elle Stone.
2013-06-10 21:51:15 +02:00
Michael Natterer 25cc5922b6 app: add gimp_tool_gui_set_focus_on_map() and use it 2013-06-08 15:34:23 +02:00
Michael Natterer 90797f0927 app: add an embedding toggling test button to the transform dialogs 2013-06-08 01:33:35 +02:00
Michael Natterer ad8d12ed69 app: add "response" signal to GimpToolGui
and connect to it instead of to gimp_tool_gui_get_dialog()'s signal.
One more step towards on-the-fly embedding/detaching.
2013-06-07 23:45:11 +02:00
Michael Natterer 0afa7d30f0 app: add gimp_tool_gui_set_description() and use it 2013-06-07 17:01:39 +02:00
Michael Natterer 9a811d276e app: add gimp_tool_gui_set_alternative_button_order() and use it
Also make some of GimpToolGui's memory management proper, there was
no leak but it needs to be proper in order to add runtime switching
between dialog and overlay.
2013-06-07 15:18:24 +02:00
Michael Natterer 88387d6e8d app: remove the "shell" parameter from gimp_tool_dialog_new() and gui_new() 2013-06-07 12:19:42 +02:00
Michael Natterer 9b9302b91a app: use a GimpToolGui in GimpColorPickerTool 2013-06-07 12:11:59 +02:00
Michael Natterer c86eebb034 app: use a GimpToolGui in GimpMeasureTool 2013-06-07 12:03:39 +02:00
Michael Natterer 1c20940f82 app: use a GimpToolGui in GimpTransformTool 2013-06-07 11:52:48 +02:00
Michael Natterer 7abbd38a25 app: use a GimpToolGui in GimpImageMapTool
instead of implementing both dialog types manually.
2013-06-07 10:28:41 +02:00
Michael Natterer 964d59df58 app: use gimp_tool_control_push/pop_preserve() in GimpWarpTool
instead of set_preserve(TRUE/FALSE). It makes no difference in this
case, but push/pop is the right API to use anyway.
2013-06-07 10:05:05 +02:00
Michael Natterer 785436f32e app: don't crash the flip tool on each click
Don't push an internal transform tool undo after invoking the flip
special case of directly transforming on each click, because the
transform clears the tool state and there is nothing to undo anyway
(flip is atomic). Additionally, add a precondition check to
gimp_transform_tool_push_internal_undo().
2013-06-06 02:08:00 +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 6f17eb54a1 app: make sure the warp tool halts when the drawable is changed
Set preserve=FALSE by default, also don't set preserve=TRUE around
aborting the image map, that's not needed any longer because image map
has stopped to be a temporarily destructive thing.
2013-06-04 10:16:32 +02:00
Michael Natterer f1e5544053 app: gegl:noise-CIE_lch was renamed to gegl:noise-cie-lch 2013-06-04 00:54:12 +02:00
Michael Natterer a328f9d305 app: shorten enum GimpMattingEngine's value names
and reorder code in GimpForegroundSelectOptions to match the order of
properties.
2013-06-03 23:11:39 +02:00
Michael Natterer 28a9e69885 app: clean up and simplify the GimpForegroundSelectOptions GUI
Also use spin scales and the new combo box labels.
2013-06-03 23:05:39 +02:00
Michael Natterer fc0765ce16 app: ellipsize most tool options combo boxes
which means that now check/radio button labels are our biggest
width-wasters.
2013-06-03 17:35:36 +02:00
Michael Natterer a5d2123adf app: use the new combo box label in many tool options
and generally clean up a bit. Reuse the clone options code in the
perspective clone options. Addresses bug #122862.
2013-06-03 16:40:24 +02:00
Michael Natterer cbbfe674b0 app: add gegl:motion-blur-circular and -zoom to Filters -> Blur
and follow the gegl:motion-blur -> gegl:motion-blur-linear rename.
2013-06-03 00:20:42 +02:00
Michael Natterer 338ca6694a app: add gegl:waves to Filters -> Distorts 2013-06-01 15:13:40 +02:00
Michael Natterer 86d0120482 app: add gegl:grid to Filters -> Render -> Pattern 2013-06-01 01:20:30 +02:00
Michael Natterer 7a284def90 app: add gegl:dropshadow to Filters -> Light and Shadow
Also move gegl:vignette there from Filters -> Decor.
2013-06-01 01:13:22 +02:00
Michael Natterer 01ada21ae6 app: add totally evil "heuristic" for picking coords to GimpOperationTool
This can't continue like that, GEGL properties need to be tagged
somehow using gegl_operation_class_set_keys(), as planned.
2013-05-31 22:56:27 +02:00
Michael Natterer fc65928df7 app: reorder the list of blacklisted ops to be more managable
It's now two sections: ops that are in GIMP's menus, and ops
blacklisted for other reasons.
2013-05-31 22:54:46 +02:00
Michael Natterer 1ad50f300a app: don't manually blackist all GEGL transform ops any longer
They now all have the "transform" category set.
2013-05-31 09:37:00 +02:00
Michael Natterer 822057a4ff app: call gimp_color_tool_disable() when an old op's options_table dies
so gimp_image_map_tool_color_picked() isn't called any longer on clicks.
Add a warning there in case it happens anyway because this is always a
programming error.
2013-05-31 02:50:17 +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 40a1efef09 app: GimpOperationTool: add support for picking coordinates from the image
gimp_operation_tool_color_picked(): if the picker's identifier is of
the form "param_spec_name:param_spec_name" and the param specs both
exist and are of the same numeric type, set the pick coordinates on
these properties of the operation's config object.
2013-05-30 23:32:54 +02:00
Michael Natterer 814c47b0b9 app: don't crash on a dangling image_map_tool->active_picker pointer
gimp_operation_tool_set_operation(): set it to NULL when destroying
the previous operation's options_table (if it was non-NULL it was a
widget from that table).
2013-05-30 23:28:26 +02:00
Michael Natterer 0a2b86e534 app: fix parameter name of gimp_image_map_tool_add_color_picker()
It's a "tooltip", and used as such, not a "help_id".
2013-05-30 23:25:39 +02:00