Commit Graph

3996 Commits

Author SHA1 Message Date
Michael Natterer cdf2c7ba4b app, menus: add CIE lch noise to the menus 2013-03-09 22:59:13 +01:00
Michael Natterer c76a23075d app: blacklist some more useless ops in the GEGL tools 2013-03-09 22:23:52 +01:00
Michael Natterer 06a4d2e29f app: have proper titles in the GEGL filter settings import/export dialogs
"Import foo" and "Export foo" were just not good enough...
2013-03-09 20:34:15 +01:00
Michael Natterer 54778783ed app: make a hack in GimpOperationTool slightly worse, but clearer 2013-03-09 20:27:02 +01:00
Michael Natterer 69c897a118 app: fix crash in GEGL tool when an operation specific tool was used before
gimp_image_map_tool_initialize(): add the saved settings combo only if
we have a config object.
2013-03-09 20:16:24 +01:00
Michael Natterer edec6ac8cc app: add some more gegl ops to the menus (wip) 2013-03-09 18:10:14 +01:00
Michael Natterer 448722c849 app: blacklist some more ops in the GEGL tool, they are in the menus 2013-03-08 17:24:02 +01:00
Michael Natterer 931ea102f8 Bug 693978 - GIMP crashes after changing text preset
Applying a preset overwrites all the tool option's properties, also
temporarily its name. This name change gets auto-synced with the
option's text proxy object which also inherits from GimpObject and has
a name. Make sure we don't queue that name change for being applied to
the text layer's text object, because that code only handles
properties of GimpText itself.
2013-02-16 20:38:15 +01:00
Téo Mazars f6e64b9ed9 Bug 688068 - Rect selection: "Fixed: Aspect Ratio" doesn't work when...
Use current aspect when creating rectangle tool from a selection.
2013-02-13 00:36:44 +01:00
Téo Mazars 4a5a6ef914 Bug 684330 - Rectangle tool's "fixed size" option is off-by-one
ROUND() is consistent only on positive values, and bad rounding
creates an offset when negative values are involved. Introduce
SIGNED_ROUND() and use it in gimprectangletool.c. It should probably
be used in much more places.
2013-02-13 00:08:39 +01:00
Ville Skyttä 6b0d1038cc Bug 692641 - Various spelling fixes 2013-01-27 18:59:02 +01:00
Michael Natterer e5112fa540 Bug 690900 - Typo in GIMP UI
Fix typo in gimptransformtool.c
2012-12-30 20:38:37 +01:00
Michael Natterer 593ddb741f Bug 688746 - Select tool Alt+Shift and Alt+Ctrl dragging modifies...
Check for layer groups and locked layers in gimp_selection_tool_start_edit()
and show the usual warning instead of allowing the forbidden operation.
2012-12-14 23:02:56 +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 5efd56c1c8 Bug 679223 - "Rate" in tool options needs translation context
Add translation contexts for "Rate" of airbrush, convolve and smudge.
2012-11-12 01:06:58 +01:00
Michael Natterer 76b05c2afc app: make Tab, Shift+Tab and Escape move the focus back to text editing
when it was in the floating text style editor. While this doesn't fix
anything by itself, it enables fixing text style setting to behave
reasonably when there is no selection.
2012-11-09 22:06:51 +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 6a33951aa6 Bug 687851 - Gimp crashes on Colors > Desaturate
Don't install the frame rate limiting draw timeout when resuming a
draw tool that is not active, so accidential timeout installation from
whatever tool dispose code can't happen.
2012-11-07 23:21:13 +01:00
Michael Natterer eba022f01b Bug 687375 - Text tool: unnecessarily insists on having a layer before working
There is no reason to disallow the text tool from working on a
previously empty image, so allow it.
2012-11-06 22:22:02 +01:00
Michael Natterer 66bd90c9f2 Bug 533590 - Perspective clone of a pattern doesn't apply perspective
Implement perspective cloning from a pattern. This needed quite some
refactoring, so GimpSourceCore would be able call its get_source()
vfunc also for a GimpClone subclass: essentially this commit adds a
new GimpSourceCore::use_source() vfunc that replaces the
source_options->use_source flag hack, and makes sure the graph used in
GimpPerspectiveClone's get_source() impl reads from the pattern
instead the drawable.

This version does not properly tile the pattern yet, so you can only
clone one copy of the pattern (gegl:tile is not quite doing the right
thing, so it's disabled).
2012-11-01 21:39:14 +01:00
Massimo Valentini 9b58e2ba0c Bug 684483 - Text tool: crash after double clicking text
It seems that when the undo action reverts a text -> mark-up change
(or v.v.)  the notifications are inverted, first is emitted the new
value notification and successively the property becoming NULL. The
result is that gimp_text_buffer_set_{text,mark-up} is called last with
NULL, unsetting both text_buffer text and mark-up.

The right way to do it is to always prefer "markup" over "text" if
markup is present, no matter if the notification was for "markup" or
"text".
2012-10-22 15:40:55 +02:00
Michael Natterer 2b3e5ebd78 Bug 686523 - Text tool: text editor not shown on empty text box
gimp_text_tool_options_notify(): always show the editor, also when no
text object exists yet. There was no reason for this limitation.
2012-10-21 23:30:34 +02:00
Michael Natterer 438fc4221e app: remove unused variable in gimp_unified_transform_tool_init() 2012-10-12 22:39:11 +02:00
Michael Natterer 52d933a1cc Bug 663582 - Brush outline is too slow
Even less drawing: let the timeout running if it triggers within the
50ms since the last drawing, so it's reduced to its actual purpose of
updating to the actual cursor position after framerate-limiter skipped
drawing.
2012-10-06 16:39:14 +02:00
Michael Natterer 4218d9342f Bug 663582 - Brush outline is too slow
One more try: merge the spirit of Alexia's patch, but don't disable
the timeout, only make sure the minimum fps is also applied when
drawing is triggered by gimp_draw_tool_resume().
2012-10-06 00:27:49 +02:00
Michael Natterer db5c952c4e Bug 663582 - Brush outline is too slow
Don't confuse microseconds with milliseconds: the 20 fps interval
is 50000, not 50, sigh.
2012-10-06 00:03:47 +02:00
Michael Natterer fd4e220c28 Bug 663582 - Brush outline is too slow
Keep around the last drawing time in GimpDrawTool and make sure we
draw at least with a frame rate of around 20 fps, which feels
reasonably non-laggy.
2012-10-04 20:43:58 +02:00
Michael Natterer 303e554ab1 app: remove "gboolean active_layer_only" from gimp_image_crop()
Also a very historic API, it doesn't belong there. Instead, simply
call gimp_item_resize() in GimpCropTool.
2012-09-22 15:08:05 +02:00
Michael Natterer c1811d6bdf app: gimp_image_crop_auto_shrink() -> gimp_pickable_auto_shrink()
It was in gimpimag-crop only for historic reasons. Clean up API
and code to do simpler and more reasonable stuff.
2012-09-22 14:56:52 +02:00
Mikael Magnusson da795c1267 gimptransformtool: Restore code that apparently was for the flip tool 2012-09-20 15:18:00 +02:00
Michael Natterer 9b927ba0cd Bug 683791 - Free select tool constraint key
Fix condition that constrains angles to 15°, its bracketing was wrong.
2012-09-14 11:04:21 +02:00
Michael Natterer 2c3a046d83 Bug 683553 - Spinscale scrollvalues in Brushsize are much too smal
Set the step/page increments to 1.0/10.0 for brush size and to 0.1/1.0
for aspect ratio. the previous values were way too small.
2012-09-11 20:28:20 +02:00
Michael Natterer e546f2b43b Bug 683462 - cropping with rectangular select tool leaves misaligned...
Reset the tool on image changes again, but not if only the active
drawable changes, so keep bug #678890 closed:

Introduce new dirty flag GIMP_DIRTY_ACTIVE_DRAWABLE and set it on all
tools' dirty_mask except for rect select. Check the new flag when
reseting the active tool because of a drawable change.
2012-09-06 23:55:35 +02:00
Mikael Magnusson 0f380eba53 transformtool: actually use the correct index for the angle vector 2012-08-27 15:12:29 +02:00
Mikael Magnusson 6396e83057 transformtool: use new corner and side cursors appropriately considering current transform 2012-08-27 15:07:15 +02:00
Mikael Magnusson 11a9fe33d9 app: another minor cleanup in gimpunifiedtransformtool.c
you missed a spot
2012-08-23 02:16:06 +02:00
Mikael Magnusson b11a705203 transformtool: rotate handles along with frame 2012-08-22 22:53:59 +02:00
Mikael Magnusson e83b40982f transformtool: adjust handles a bit
Since the move handle is gone, the pivot can be normal sized and circle again,
also put shear handles at 3/4 rather than 3/5.
2012-08-22 22:49:45 +02:00
Michael Natterer 5d711be340 app: formatting cleanup in gimpunifiedtransformtool.c 2012-08-22 20:45:16 +02:00
Michael Natterer 95584e5548 app: re-format a comment in gimptransformtool.c 2012-08-22 20:41:44 +02:00
Mikael Magnusson 8dfc72dca9 transformtool: Make real_pick_function and real_draw_gui implementations of vfuncs 2012-08-21 20:59:15 +02:00
Michael Natterer b1acd93f5e Some formatting cleanup in the unified transform tool commits 2012-08-21 19:50:01 +02:00
Mikael Magnusson 08cd798ec6 transformtool: Set the cursor and tool cursor properly on each handle by way of the new cursor_update method 2012-08-20 20:28:21 +02:00
Mikael Magnusson d789cbff9d transformtool: Fix indent of switch statement 2012-08-20 20:28:19 +02:00
Mikael Magnusson 6af6218c2b transformtool: Remove now unused variables 2012-08-20 16:57:58 +02:00
Mikael Magnusson 4c22ed8128 transformtool: Use the same method for frompivot for shearing as everything else 2012-08-20 16:42:29 +02:00
Mikael Magnusson 3f72695a80 transformtool: kill rotate and move handle, instead rotate when outside frame (move already works inside) 2012-08-20 15:46:48 +02:00
Mikael Magnusson 0f6709d2d0 transformtool: Be a bit more strict about the pivot being inside the transform frame to use it, to protect against it flying away to infinity 2012-08-20 15:46:47 +02:00
Mikael Magnusson 574df2b6db transformtool: We show corrective preview for selections and paths, so why not drawables 2012-08-20 15:46:47 +02:00
Mikael Magnusson 4e57571103 transformtool: Remove some annoying duplication and draw perspective handles differently 2012-08-20 15:46:47 +02:00
Mikael Magnusson b27c33f13c transformtool: Add back statusbar code (but more helpful) that was deleted when I made pick_function 2012-08-20 15:46:47 +02:00
Mikael Magnusson c37619ade7 transformtool: Pick move operation anywhere inside polygon 2012-08-20 15:46:47 +02:00
Mikael Magnusson a0d79634ed transformtool: Add one more rotation handle, in case the point you want to pivot around is close to the first one 2012-08-20 15:46:47 +02:00
Mikael Magnusson 62525e090b transformtool: use GimpFrame + GtkBox to group the options instead of just putting GtkLabel between them 2012-08-20 15:46:46 +02:00
Mikael Magnusson f84987de73 transformtool: Add the bunch of 8 separate options for 3 things 2012-08-20 15:46:46 +02:00
Mikael Magnusson 03117bdf40 transformtool: Update modifier keys for options, solves problem with perspective frompivot + constrain 2012-08-20 15:46:46 +02:00
Mikael Magnusson f2099fbb28 transformtool: Check if new transform is convex and don't involve the pivot if it isn't 2012-08-20 15:46:46 +02:00
Mikael Magnusson 501c15f910 transformtool: Add a pick_function method to the TransformTool class and remove some more hack duplication 2012-08-20 15:46:46 +02:00
Mikael Magnusson 293600c579 transformtool: Add a draw_gui method to the TransformTool class and remove some hack duplication 2012-08-20 15:46:46 +02:00
Mikael Magnusson 01142f248d transformtool: some more cleanup + comments 2012-08-20 15:46:45 +02:00
Mikael Magnusson 03d9a75c30 transformtool: Rename p to d because p is a weird name for a delta/diff 2012-08-20 15:46:45 +02:00
Mikael Magnusson eb65b09ebd transformtool: move assignment of coords to after the logic code, this somehow fixes frompivot perspective 2012-08-20 15:46:45 +02:00
Mikael Magnusson ed29503f28 transformtool: Deduplicate code, use more vector representations, fix style and warnings 2012-08-20 15:46:45 +02:00
Mikael Magnusson 70671f2967 transformtool: Factor out getpivotdelta() function 2012-08-20 15:46:45 +02:00
Mikael Magnusson bad3c0d86c transformtool: Add frompivot for perspective handles too 2012-08-20 15:46:45 +02:00
Mikael Magnusson 9be0d2b029 transformtool: Add option for locking pivot to canvas, add code to transform the pivot along with all transformations 2012-08-20 15:46:24 +02:00
Mikael Magnusson 52dd46f9d3 transformtool: Copy the corner scale non-aspect frompivot code to side scale 2012-08-20 15:41:55 +02:00
Mikael Magnusson 76f23aa8a0 transformtool: Use better method for keepaspect side scaling 2012-08-20 15:41:55 +02:00
Mikael Magnusson 051775eb0d transformtool: Fix frompivot for cornerscale, only problem is the handle doesn't end up at mouse cursor 2012-08-20 15:41:55 +02:00
Mikael Magnusson 615b5fabfd transformtool: Add the five options instead of just two 2012-08-20 15:41:55 +02:00
Mikael Magnusson 6dac9e84f9 transformtool: Show an incredibly helpful message in the statusbar when a handle is hovered over 2012-08-20 15:41:55 +02:00
Mikael Magnusson 5cfa57ae87 transformtool: how to draw in screen coords 2012-08-20 15:41:54 +02:00
Mikael Magnusson b0dbaaae54 transformtool: Add todo about pivot point
Move pivot with frame, needs to do so for all operations
2012-08-20 15:41:54 +02:00
Mikael Magnusson be3f42c401 transformtool: implement aspect constraint for scaling via side handle 2012-08-20 15:41:54 +02:00
Mikael Magnusson e762764a1d transformtool: Make basic scale op via side handle behave as spec, no constrain or frompivot 2012-08-20 15:41:54 +02:00
Mikael Magnusson 3367a415c4 transformtool: corner scale: use full transform machinery to keep pivot constant position, missing some offset maybe 2012-08-20 15:41:54 +02:00
Mikael Magnusson d5220e7d42 transformtool: nonworking naive frompivot for corner scale
This just scales the distance to the pivot from the handle in x and y
separately, which turns out to only work sometimes.
2012-08-20 15:41:54 +02:00
Mikael Magnusson c5b4beff65 transformtool: Make corner scale op behave as spec, no frompivot 2012-08-20 15:41:53 +02:00
Mikael Magnusson 948cf1801c transformtool: implement fromcenter constraint for shearing (old spec)
This doesn't keep the pivot in place, it merely moves the opposite edge
by the same amount (but in the opposite direction).
2012-08-20 15:41:53 +02:00
Mikael Magnusson 9a58e878be transformtool: Make shear op behave as spec, no frompivot 2012-08-20 15:41:53 +02:00
Mikael Magnusson 5ed30efc49 transformtool: remove unneeded old stuff, cleanup 2012-08-20 15:41:53 +02:00
Mikael Magnusson ce2c959408 transformtool: Make perspective op behave as spec 2012-08-20 15:41:53 +02:00
Mikael Magnusson a532c77bca transformtool: Make rotation axis behave as spec 2012-08-20 15:41:33 +02:00
Mikael Magnusson 81cb334d94 transformtool: Make rotate op behave as spec 2012-08-20 15:22:22 +02:00
Mikael Magnusson dd470c9259 transformtool: Make move op behave as spec 2012-08-20 15:22:22 +02:00
Mikael Magnusson 003ccf2aec transformtool: Enable hit detection for new handles 2012-08-20 15:22:22 +02:00
Mikael Magnusson a8a8450b6e transformtool: Add temporary new handles
put perspective handles on the outside instead (if you invert the frame,
they'll switch place with the scale handles, oh well)
2012-08-20 15:22:22 +02:00
Mikael Magnusson 9e330e432b transformtool: temp hack to fiddle with drawing interface 2012-08-20 15:22:22 +02:00
Mikael Magnusson c4143ff209 transformtool: Remove shift-clicking to accept transform since shift is used as a modifier 2012-08-20 15:22:22 +02:00
Mikael Magnusson 362afb122a transformtool: Try to straighten out modifiers 2012-08-20 15:22:21 +02:00
Mikael Magnusson 2967e4fbfd transformtool: remove unused function shearvector() 2012-08-20 15:22:21 +02:00
Mikael Magnusson 99f9d4d219 transformtool: add old "new" unified transformation tool
This is the proof of concept code I wrote before gsoc, with very naive
behaviour and simple interface.
2012-08-20 15:22:21 +02:00
Mikael Magnusson f5b08f33aa transformtool: Infinite undo
add undo and redo buttons, can undo all interactions. The reset button
is equivalent to undoing all operations and lets you press redo to get
back to before you reset. Doing something after undo will of course
clear all redo events.
2012-08-20 15:22:21 +02:00
Mikael Magnusson c883c761df transformtool: calculate center handle position correctly, add pivot handle
and use pivot handle in rotatetool so it works as before.
2012-08-20 15:22:21 +02:00
Mikael Magnusson 7baaaa4867 app: remove useless function call in gimp_tool_motion 2012-08-20 15:22:20 +02:00
Michael Natterer 47c987b09e Bug 676270 - cppcheck report
Fix a couple of harmless stuff pointed out in the report, and one
real bug: gimp_plug_in_close() was killing each process 10 times
on windows.
2012-08-04 03:20:36 +02:00
Michael Natterer 078128bb09 Bug 678890 - Selection box handles do not respond after changing layer
Make sure that temporarily setting/unsetting tool->control's "preserve
tool across image changes" does not mess up the default value:

Introduce gimp_tool_control_push/pop_preserve() which restores the old
state automatically, and use it in all tools, instead of saying
set_preserve(TRUE/FALSE) around image changes.
2012-07-26 18:17:01 +02:00
Massimo Valentini c743a4fc0a app: don't pass a NULL widget to gtk_widget_event
<Alt>C C <Ctrl>1 <ESC> used to print:

(gimp-2.8:1): Gtk-CRITICAL **: IA__gtk_widget_event:
                assertion `GTK_IS_WIDGET (widget)' failed
2012-07-05 18:08:01 +02:00
Michael Natterer 3de48e6570 app: experiment with different UI value ranges for different image precisions
in the levels tool. This clearly needs a generic solution for the many
places that need such changes.
2012-06-07 21:47:07 +02:00
Michael Natterer ccae8cffc3 app: add color-reduction to the colors menu 2012-05-23 12:56:24 +02:00
Michael Natterer 7d280abd9a Bug 676585 - Gimp crashes when writing in Arabic and clicking right arrow
Check for pango_layout_move_cursor_visually() returning a new index of
G_MAXINT, which indicates that we moved beyond the end of the layout,
and do nothing instead of trying to access the memory there.
2012-05-23 09:44:51 +02:00
Michael Natterer 513e3b6a78 app: disable the foreground select tool properly: #if 0 everything
so it's not in the way of further cruft removal.
2012-05-21 03:09:08 +02:00
Michael Natterer d93b7e5e54 app: the TileManager in gimptransformtoolundo.h needs porting 2012-05-21 02:27:03 +02:00
Michael Natterer d80182cf25 app: disable the IScissors tool, if you want it back, please go ahead 2012-05-20 20:38:12 +02:00
Michael Natterer e5fc441433 app: GimpIscissorsTool: move one-time initializations to class_init() 2012-05-20 19:19:12 +02:00
Michael Natterer 2d882dd64f Bug 676279 - Ctrl or Shift causes selection tools to reset...
Make sure to not override the logic that separates the tool option's
selection mode from the one determined by modifiers, by blindly
calling gimp_modifiers_to_channel_op(state) on a zero state.
2012-05-17 23:34:22 +02:00
Michael Natterer c4142d0574 app: change the value to render in the GimpScanConvert API to a 0..1 double 2012-05-13 23:13:53 +02:00
Alexandre Prokoudine eb48617a38 Replaced old Difference of Gaussians, Laplace and Sobel filters with new GEGL operations 2012-05-13 06:41:19 +04:00
Alexandre Prokoudine ac85c84a0f Replaced old Ripple and Lens Distortion filters with new GEGL operations 2012-05-13 06:15:24 +04:00
Alexandre Prokoudine 20ae491b21 Replaced the old Unsharp Mask filter with the new GEGL operation 2012-05-13 05:38:24 +04:00
Michael Muré bec5a7e805 cage tool: fix handle added in the wrong side of the cage
This happened when:
1) cage still open
2) clicking on the edge between the first and the last handle
2012-05-11 12:34:53 +09:00
Michael Muré d9ba8b81da Bug 675825 - (cage) simply using cage transform tool makes gimp to crash.
Just check if there is enough handles before closing
2012-05-11 12:02:58 +09:00
Michael Natterer 7101ee191a app: move all GEGL operations to new directory app/operations/ 2012-05-10 21:22:44 +02:00
Michael Natterer 69893e4f72 app: remove GimpPickable::get_tiles()
and change some legacy places to get their tiles from the buffer
returned by GimpPickable::get_buffer().
2012-05-06 01:01:54 +02:00
Michael Natterer e7e8c9ef0a app: don't call gimp_image_flush() when cancelling GimpImageMapTool
because the tool might be cancelled from some other place opening an
undo group, so flushing the image would update menus and whatnot while
that other operation is running, with unforeseeable side
effects. Also, flusing the image here is not needed because we didn't
change anything in the image. Instead, make sure manually that the
display is updated correctly after restoring GimpImageMapTool's
temporary editing.
2012-05-05 21:47:17 +02:00
Michael Natterer d198c9d85c app: don't use g_str_has_prefix() for blacklisting GEGL ops
so we don't accidentially blacklist things.
2012-05-05 20:49:27 +02:00
Michael Natterer 5ea928b3df app: use our gtk_box_new() wrapper instead of gtk_vbox_new() 2012-05-04 17:23:17 +02:00
Michael Natterer c1259daa54 app: blacklist gegl:sdl-display in the GEGL tool 2012-05-03 15:06:45 +02:00
Michael Natterer 84745b48e8 app: add a color button and picker to the colorize tool dialog 2012-05-03 15:02:34 +02:00
Michael Natterer cf43a09626 app: clamp the return value of gimp_operation_levels_map_input()
before putting it into 8 bit for rendering UI stuff, because the
function itself doesn't clamp any longer.
2012-05-02 17:51:23 +02:00
Michael Natterer 1ea3bb827e app: add a dedicated menu entry for gegl:color-temperature 2012-05-02 17:51:23 +02:00
Michael Natterer 3db9deed1c app: add color pickers to all GEGL tool color properties
The way to make gimp_prop_table_new() create tool pickers is
disgusting, but works.
2012-05-02 17:51:22 +02:00
Michael Natterer 50439e812e app: move GimpLevelTool's color picking stuff into GimpImageMapTool
so all subclasses can use it.
2012-05-02 17:51:22 +02:00
Michael Natterer 662bba9fb3 app: generalize some Babl format hardcoding in GimpLevelsTool 2012-05-02 17:51:22 +02:00
Michael Natterer 981f039053 app: don't disable the blend tool on indexed drawables 2012-05-02 17:51:21 +02:00
Michael Natterer fa0faf4254 app: replace the polar-coords plug-in by gegl:polar-coordinates 2012-05-02 17:51:19 +02:00
Michael Natterer c57b4f0fa3 app: port by color select and fuzzy select to float
so it works nicely on all precisions, disable HSV color matching for
now, need to decide what to do with it.
2012-05-02 17:51:18 +02:00
Michael Natterer 1bbd3d40a8 app: make the GimpTempBuf struct private and add accessors 2012-05-02 17:51:12 +02:00
Michael Natterer 7d9cd6a413 app: don't hardcode "Y u8" when checking whether to clip transformed buffers
instead, check if the format has alpha.
2012-05-02 17:51:08 +02:00
Michael Natterer 85bd6b0dd9 app: pass a format, not bpp, to gimp_viewable_get_dummy_pixbuf()
and add tons of <gegl.h> includes.
2012-05-02 17:51:08 +02:00
Michael Natterer 3e9fdf1815 app: change GimpBoundary to find the boundary a float component
Require passing in a Babl format that will extract the float component
the algorithm should run on.
2012-05-02 17:51:07 +02:00
Michael Natterer 3ea0e3f090 app: return double not int from GimpPickable::get_opacity_at()
and fix GimpLayer's impl to honor the mask also for layers without
alpha.
2012-05-02 17:51:07 +02:00
Michael Natterer ca6323f382 app: fix signal signature of GimpColorTool::picked()
A Babl format is not of GIMP_TYPE_IMAGE_TYPE, this would have horribly
crashed on 64bit, I guess...
2012-05-02 17:51:02 +02:00
Michael Natterer bdf6b48138 app: move GimpTempBuf from base/ to core/
and forget about include policy in base/, it's scheduled for removal
anyway.
2012-05-02 17:51:01 +02:00
Michael Natterer dccb909009 app: make GimpTempBuf reference counted
and remove the "take_ownership" parameter from
gimp_temp_buf_create_buffer(), simply always ref the buf.
2012-05-02 17:51:00 +02:00
Michael Natterer d5d8e36d21 app: gimp_-namespace all GimpTempBuf functions 2012-05-02 17:51:00 +02:00
Michael Natterer 42a5f01be3 app: rename TempBuf to GimpTempBuf 2012-05-02 17:51:00 +02:00
Michael Natterer 9285529f9b app: silence compiler warning in GimpBucketFillTool 2012-05-02 17:50:59 +02:00
Michael Natterer 7441a1f6f7 app: turn the TempBuf's "bytes" into "format" and port everything to it 2012-05-02 17:50:59 +02:00
Michael Natterer d743bae6a7 app: remove temp_buf_resize()
and fix its only user by simply reallocating the buf.
2012-05-02 17:50:58 +02:00
Mikael Magnusson 3406bf0b69 gimpbucketfilltool: Fix switch block always falling through to pattern fill 2012-05-02 17:50:54 +02:00
Michael Natterer aebf55d799 app: blacklist gegl:threshold 2012-05-02 17:50:52 +02:00
Michael Natterer 64cd825796 app: blacklist all ops that are in gimp menus now, and some useless ones 2012-05-02 17:50:52 +02:00
Michael Natterer 797e622734 app: remove obsolete include 2012-05-02 17:50:52 +02:00
Michael Natterer 75f2bc1aac app: resurrect the operation tool's title 2012-05-02 17:50:49 +02:00
Michael Natterer cf37aa7dba app: add a GimpSettingsBox to all GEGL operation filter dialogs
so they store all recently used settings, and explicitly added ones,
just like the color tools.
2012-05-02 17:50:49 +02:00
Michael Natterer 9031cdc645 app: add a ton of parameters to GimpImageMapTool::get_settings_ui()
so they can be passed in instead of being looked up in the class
struct, which enables freely configuring the settings stuff from
subclasses, such as soon GimpOperationTool.
2012-05-02 17:50:48 +02:00
Øyvind Kolås 818739a0e3 app: remove superfluous frame and label from GEGL tool 2012-05-02 17:50:47 +02:00
Øyvind Kolås ebd419d4d5 app: use a gamma of 1.7 for brush radius slider 2012-05-02 17:50:45 +02:00
Michael Natterer 8bc6f1ee09 app: add parent_type parameter to gimp_gegl_get_config_proxy()
and derive from that type. Use GimpImageMapConfig as base class for
GimpOperationTool's config.
2012-05-02 17:50:42 +02:00
Michael Natterer e8cc9d1bf5 app: turn gimp_image_map_tool_add_settings_gui() into a virtual function
and change it to return the settings ui, not add it.
2012-05-02 17:50:42 +02:00
Øyvind Kolås 49de3d5292 app: follow changes in GeglOperation API 2012-05-02 17:50:42 +02:00
Michael Natterer 2a853cd1ee app: remove GimpPickable::get_bytes() 2012-05-02 17:50:42 +02:00
Michael Natterer 867da8f293 app: add gimp_context_get_foreground,background_pixel()
which takes a Babl format to convert from/to.
Include <gegl.h> in a million places.
2012-05-02 17:50:41 +02:00
Michael Natterer 89d525c970 app: remove legacy support from GimpImageMap 2012-05-02 17:50:40 +02:00
Michael Natterer 98226d0b36 app: remove legayc support from GimpImageMapTool 2012-05-02 17:50:40 +02:00
Michael Natterer f248324fd3 app: remove the lagacy hue-saturation cruft
it's unclear whether the operation is correct, but that can be sorted
out on master and merged.
2012-05-02 17:50:40 +02:00
Michael Natterer 8008b75411 app: forgot the GimpImageType -> Babl change in pick_color() here 2012-05-02 17:50:39 +02:00
Michael Natterer 36e982e2ed app: port gimp_image_pick_color() to return a Babl format
instead of a GimpImageType.
2012-05-02 17:50:39 +02:00
Michael Natterer 2c0fde88f2 app: remove the legacy color-balance cruft 2012-05-02 17:50:38 +02:00
Michael Natterer 3a48101b9d app: use below new function for shapeburst blend and cage tool progress 2012-05-02 17:50:37 +02:00
Michael Natterer 96357dbfd3 app: add infrastructure to invoke GEGL filters from a menu item
and for fun add pixelize and gaussian blur to Filters -> Blur.
2012-05-02 17:46:16 +02:00
Michael Natterer 98ccc9512c app: factor out the "Apply GEGL Operation" functionality from GimpGeglTool
to a new GimpOperationTool, make GimpGeglTool its subclass and leave
only the selection of the operation in GimpGeglTool.
2012-05-02 17:46:16 +02:00
Michael Natterer 726d3c980c app: factor out gimp_gegl_config_proxy_sync() from GimpGeglTool 2012-05-02 17:46:16 +02:00
Michael Natterer fd033afe11 app: factor out the creation of GeglOperation config proxy objects 2012-05-02 17:46:15 +02:00
Michael Natterer 2b6b5a8ada app: remove unused base/ includes 2012-05-02 17:46:15 +02:00
Michael Natterer 8d5471502e app: move GimpHistogram from base/ to core/ 2012-05-02 17:46:13 +02:00
Michael Natterer a4c83d13ed app: forgot to remove the Threshold cruft typedef 2012-05-02 17:46:12 +02:00
Michael Natterer cde58408fa app: remove the legacy levels cruft 2012-05-02 17:46:12 +02:00
Michael Natterer a34b19774b app: remove the legacy curves cruft
and move PDB parameter collection into GimpCurvesConfig convenience
constructors.
2012-05-02 17:46:11 +02:00
Michael Natterer 6c59c45612 app: replace GimpPaintCore's undo_tiles by a GeglBuffer
and simply use a dumb straight copy of the drawable, it's GEGL's job
to do proper COW.
2012-05-02 17:46:10 +02:00
Michael Natterer f8f4455459 app: change GimpDrawable::set_tiles() to ::set_buffer()
and remove the "type" argument, GeglBuffers have a format.
2012-05-02 17:46:07 +02:00
Michael Natterer 525a405270 app: port the entire transform API from TileManager to GeglBuffer 2012-05-02 17:46:06 +02:00
Michael Natterer 0bcae125b5 app: merge gimp_drawable_get_read_buffer() and get_write_buffer()
into get_buffer(). The loss of zero copy will be compensated soon.
2012-05-02 17:46:04 +02:00
Michael Natterer f67bcfa82b app: port the entire GimpScanConvert API to GeglBuffer 2012-05-02 17:46:04 +02:00
Michael Natterer e01189ca77 app: remove checks from stuff that now works on indexed layers 2012-05-02 17:46:04 +02:00
Michael Natterer dcfcfcf433 app: port GimpBoundary to GEGL, including its API 2012-05-02 17:46:03 +02:00
Michael Natterer 58dfa962a1 app: port simple rotating and flipping to GEGL
Which requires making the entire copy/paste apparatus aware of the
Babl format of the passed around tile managers.
2012-05-02 17:46:02 +02:00
Michael Natterer 2c62644f94 app: BoundSeg -> GimpBoundSeg, boundary_foo() -> gimp_boundary_foo() 2012-05-02 17:46:02 +02:00
Michael Natterer 9323c2f28c app: move base/boundary.[ch] to core/gimpboundary.[ch]
No other changes yet, just make the move build.
2012-05-02 17:46:02 +02:00
Michael Natterer 1780cfc1e7 app: remove the !seed_fill case from gimp_drawable_bucket_fill()
We use gimp_edit_fill() for that now. Also remove bucket fill's
_full() variant because it's unused now.
2012-05-02 17:46:01 +02:00
Michael Natterer 3ec245a991 app: add opacity and paint_mode to gimp_edit_fill[_full]()
and use it instead of bucket-fill in the non-seed-fill case.
2012-05-02 17:46:01 +02:00
Øyvind Kolås cdf503ab96 app: make the GEGL tool work on indexed images
With the recent refactoring, there is nothing that stops GEGL operations from
working on indexed images.
2012-05-02 17:46:01 +02:00
Michael Natterer 15957cb3c4 app: remove the legacy brightness-contrast code and use GEGL instead
it's reasonably fast now.
2012-05-02 17:45:53 +02:00
Michael Natterer 8684b87f04 app: clean up the desaturate cruft removal to look like the others 2012-05-02 17:45:45 +02:00
Michael Natterer aa07344d56 app: remove the legacy colorize code 2012-05-02 17:45:45 +02:00
Michael Natterer e3c720ad20 app: remove the legacy threshold code 2012-05-02 17:45:45 +02:00
Michael Natterer 7aa7f168b8 app: remove the legacy posterize code 2012-05-02 17:45:45 +02:00
Michael Natterer 70b26d1ecb app: remove the legacy desaturate implementation
The GEGL one is just as fast or faster.
2012-05-02 17:45:45 +02:00
Michael Natterer 08dd7901b1 app: allow to opionally not implement GimpImageMapTool::map()
it's not needed for many tools that have no legacy implementation.
2012-05-02 17:45:45 +02:00
Michael Natterer 24e6b20be8 Bug 674373 - Resizing Mask size is making gimp to crash
gimp_transform_tool_real_transform(): make sure we clip layer masks
and channels to their original extents also when transforming them
completely (not just a selection of them).
2012-04-21 22:42:53 +02:00
Øyvind Kolås 17f92b7379 app: the destroy functions are gone from GEGL, use g_object_unref() instead 2012-03-29 22:21:05 +01:00
Øyvind Kolås eea7a40dbc app: update GeglOps to new GEGL API 2012-03-29 19:22:22 +01:00
Michael Natterer 439f7f579a app: s/Babl/const Babl/ 2012-03-24 18:52:31 +01:00
Massimo Valentini 6600bb8347 app: silence a harmless critical warning
Executing Desaturate... or Posterize... used to print:

Gimp-Widgets-CRITICAL **: gimp_settings_box_add_current: assertion
`GIMP_IS_SETTINGS_BOX (box)' failed
2012-03-18 18:30:28 +01:00
Michael Natterer b262c93048 app: create an own GimpOperationBrightnessContrast
and use it instead of gegl:brightness-contrast because the GEGL op is
giving different reaults.
2012-03-13 15:02:17 +01:00
Michael Natterer aa7e7c153c app: remove another bunch of one-line GtkTables 2012-03-12 20:12:11 +01:00
Michael Natterer 5e94863c8e app: get rid of a GtkTable in gimp_paint_options_gui(), and some cleanup 2012-03-09 20:30:05 +01:00
Massimo Valentini 7fed1b6e93 Bug 651956: Text tool misremembers point size upon reloading file
When setting the unit of a property shared with a gimp_prop_size_entry,
a conversion is applied to the corresponding size property (to preserve
size_entry's ref-value), but the conversion risks to change the size
property already updated.

To update, at the same time, size and unit, it is better to start updating
size_entry's unit in order to trigger the useless conversion on the stale
size.
2012-03-09 19:21:44 +01:00
Michael Natterer fbd746f95a app: don't rely on gtk_container_remove() to always destroy the child
Instead, either destroy the child instead of removing it, or remove
*and* destroy it in cases where the remove() api on the "parent"
doesn't match GTK+'s parent/child relation (like with all our dock
widgets). We can't rely on remove() to implicitly detstroy, because
there might be arbitrary other code holding references, such as
accessibility modules and whatnot. Most likely fixes unclear crashes
in accessibility code and other crashes we blamed GTK+ for.
2012-02-21 00:36:18 +01:00
Michael Natterer 7f5a43f3e1 app: rename GimpToolInfo::menu_path to ::menu_label
"path" is a really ancient pre-GtkAction terminology here.
2012-02-14 10:00:26 +01:00
Michael Natterer f2fc342101 Bug 670024 - Zoom Tool menu label is not translated
Remove the message context from the zoom tool's menu label. It's not
needed and can't work like that for menu items.
2012-02-14 09:54:29 +01:00
Massimo Valentini b994280473 Bug 668814: Cannot move cursor right in on canvas editor
One possible way to decrease the incompatibilities
between letter spacing in a tagged gtk_text_buffer
and in an equivalent pango_layout

Remove also a valgrind reported invalid write in
gimptextbuffer.c
2012-02-09 12:36:43 +01:00
Michael Natterer 2414301799 Review the last few commits and apply some style fanaticism
some completely unrelated,
2012-02-07 20:36:55 +01:00
Massimo Valentini 05aa83270d Bug 554359: text tool should compress undo steps...
when the rectangle is manipulated
2012-02-07 17:32:02 +01:00
Massimo Valentini 39368a410d plugged memory leaks 2012-02-07 17:32:02 +01:00
Michael Natterer 0a68527edc app: move the GimpWindowStrategy interface from display/ to widgets/ 2012-01-30 23:33:21 +01:00
Michael Natterer 325bce54a7 app: port dockable showing to using GimpWindowStrategy API
so it works right in SWM. Fixed actions/, tools/, and app/ for now.
2012-01-30 23:24:44 +01:00
Michael Natterer a77809a13b Bug 668447 - Rotate tool: wrong keyboard bindings to rotate image interactively
Make "Right" rotate right and "Left" rotate left.
2012-01-22 20:47:25 +01:00
Michael Natterer b26216f1d3 app: gimp_rectangle_tool_auto_shrink(): honor the drawable's offset 2012-01-14 21:28:34 +01:00
Alexis Wilhelm 915da4517d Bug 666853 - Auto shrink selection doesn't work 2012-01-11 21:12:58 +01:00
Martin Nordholts 64d2dc122a app: Add and use gimp_dialog_factory_find_widget() 2012-01-10 19:47:52 +01:00
Michael Natterer c34239c0bb Bug 667367 - Bad widget hint
Remove the tooltip of GimpTransformOptions:constrain from the param
spec and add it manually, so it is different for rotate and scale.
2012-01-07 22:18:22 +01:00
Michael Natterer 056e09a6cb Remove the makefile.msc build system, it is unmaintained since 2008 2011-12-16 15:53:56 +01:00
Michael Natterer 8569c6e2f7 app: don't request motion hints on the canvas
They are a dark ages concept, and it's almost 2012.
2011-12-10 23:22:08 +01:00
Michael Natterer 3f4754d124 app: set GimpToolControl->motion_mode to COMPRESS for move and color picker 2011-12-10 23:16:06 +01:00
Michael Natterer 57dd302ee8 app: don't redundantly set GimpToolControl->scroll_lock to FALSE 2011-12-10 23:15:03 +01:00
Michael Natterer 4300612962 app: separate handling of reverse-gradient from paint dynamics
because it belongs to the gradient and should be changed whenever the
gradient gets changed.

Introduce gimp_paint_options_copy_gradient_props() and call it at the
right places in the tool manager.
2011-12-06 22:39:29 +01:00
Michael Natterer 06d5b9e9df app: fix indentation in gimptextool-editor.c 2011-12-04 19:37:35 +01:00
Michael Natterer 31d443a465 app: don't let applying a tool preset overwrite the tool option's name
GimpConfig needs some was to "lock" properties, or some other proper
solution to this problem.
2011-11-24 22:15:23 +01:00
Massimo Valentini 82480557ea app: silence a harmless Gimp-Tools-CRITICAL
double-clicking on the preview of a newly created path
in paths dockable (to activate the vector tool) used to
show a

Gimp-Tools-CRITICAL **: gimp_draw_tool_add_path: ...
                        assertion `desc != NULL' failed
2011-11-18 18:36:29 +01:00
Michael Natterer d38ded387d Bug 663121 - guides are below rotate/transform/shear/perspective preview
Add a canvas item group for previews, and a small preview infrastructure
to GimpDrawTool, and put the transform preview into the preview group,
which is below all guides, grid and layer boundaries.
2011-11-16 21:32:29 +01:00
Michael Natterer ffc9948d6e app: add a canvas group for tool items
so we can control where in the canvas item stack they appear.
Put the group right below the software cursor.
2011-11-16 21:10:43 +01:00
Michael Natterer f39399c9fc app: don't leak GimpInkOption's GtkSizeGroup 2011-11-04 01:32:17 +01:00
Mukund Sivaraman abaf846578 Revert "app (selectiontool): Drop dead code"
This reverts commit c0083d24e6. It was
decided that although this code doesn't have an effect, it needs to be
modified to be fixed.
2011-10-12 19:30:58 +05:30
Mukund Sivaraman c0083d24e6 app (selectiontool): Drop dead code 2011-10-12 17:15:04 +05:30
Mukund Sivaraman 9a3ee43ff6 app: Remove redundant assignment 2011-10-08 18:24:55 +05:30
Michael Natterer 89d3869760 app: update GimpBlendTool's status when Alt is pressed/released 2011-10-07 01:39:53 +02:00
Michael Natterer 23dca3b522 app: don't use gimp_get_mod_reparator() for the source tool status
The new code is just as broken from an i18n point of view, but at
least looks right if translated right. Add translator comments to the
used strings in the clone and heal tools.
2011-10-07 00:34:43 +02:00
Michael Natterer 6d1b5c4241 app: pull virtual modifier replacement into gimp_get_mod_string()
and remove it from all other places. We only want to have the virtual
modifiers when displaying a modifier string (and in some other cases,
but these are all handled internally by GTK+).
2011-10-06 22:56:05 +02:00
Michael Natterer 38b8f0596d app: use the new modifier API instead of constants in all tools
There are still many uses of literal SHIFT and MOD1 left, but all uses
of CONTROL are gone. Should work exactly as before on Win/X11, and
still has some glitches on OSX.
2011-10-06 21:59:07 +02:00
Alexia Death da2410148c Revert "app: initalize rectangle tool respecting size constrants"
This reverts commit ef7060251c.
2011-10-06 20:16:26 +03:00
Alexia Death 970782cfef Revert "app: prevent executing rectangle tool on the creating click"
This reverts commit 5a99bf4f47.
2011-10-06 20:16:26 +03:00
Alexia Death c8cde40952 Revert "app: handle motion right just created size fixed rects"
This reverts commit c8fa2c99e8.
2011-10-06 20:16:26 +03:00
Alexia Death 3ad505b124 Revert "app: rect tool changes made for suppressed execute need to be applied"
This reverts commit eff20af915.
2011-10-06 20:16:25 +03:00
Michael Natterer e55ceea11a app: handle MOD2 in GimpTool's generic modifier code
because we "know" that it's used on the Mac and unfortunately there
is no other way of knowing but simply knowing it...
2011-10-06 16:43:23 +02:00
Mukund Sivaraman ad3633110a app: Remove duplicate assignment 2011-10-06 08:37:41 +05:30
Michael Natterer 990a4bd271 app: don't forget to move the start handle in GimpBlendTool
because the tool moves both handles when Alt is pressed.
2011-10-05 23:40:44 +02:00
Michael Natterer 3982ddc39b app: implement gimp_get_mod_string() using gtk_accelerator_get_label()
so it can handle all modifiers (also Mac ones).
Remove gimp_get_mod_name_shift,control,alt().
2011-10-05 01:30:59 +02:00
Michael Natterer 19b9bfd189 libgimpwidgets: add gtk_scale_new() to gimp3migration.[ch]
and use it all over the place. Also change some GtkObject* variables
to GtkAdjustment*.
2011-10-02 14:36:41 +02:00
Alexia Death eff20af915 app: rect tool changes made for suppressed execute need to be applied 2011-10-01 17:07:51 +03:00
Alexia Death c8fa2c99e8 app: handle motion right just created size fixed rects 2011-10-01 15:03:16 +03:00
Alexia Death 5a99bf4f47 app: prevent executing rectangle tool on the creating click 2011-10-01 15:03:16 +03:00
Alexia Death ef7060251c app: initalize rectangle tool respecting size constrants 2011-10-01 12:38:04 +03:00
Michael Natterer 3e336199b9 app: use gtk_box_new() 2011-09-30 11:29:11 +02:00
Michael Natterer 624e99041b app: remove unused variable in gimp_image_map_tool_initialize() 2011-09-24 16:20:50 +02:00
Massimo Valentini 281c4cebb2 Bug 659804: wrong tooltips in the Align tool options 2011-09-22 18:13:10 +02:00
Massimo Valentini b300e389d2 Bug 659052: stroke path with a pattern always uses the Pine pattern 2011-09-20 14:01:35 +02:00
Alexia Death d32fa80d1d app: Move smooth to painttool and clean up the rest 2011-09-14 20:44:45 +03:00
Massimo Valentini 27feccc4a4 Do not access transform tool handles if NULL or stales
For example starting GIMP and pressing

Ctrl-N Enter Shift-T (or Shift-R or Shift-P)

showed warnings on the console, and with window manager's
focus mode set to 'click' it was also possible to crash GIMP.
2011-09-13 18:12:35 +02:00