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