Commit graph

4995 commits

Author SHA1 Message Date
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
Michael Natterer
a4591aae11 app: GimpPerspectiveCloneTool: don't start an already active draw tool 2011-09-03 10:14:52 +02:00
Michael Natterer
f6d106705e app: move variable to local scope in GimpTextOptions 2011-09-02 00:12:10 +02:00
Bruce Cowan
841c8a7ebe String review: fix some spelling and formatting issues 2011-08-28 20:07:55 +02:00
Michael Natterer
5a7c517574 app: improve the undo strings of the transform tools
Apply modified patch from Liam Quin which replaces the hardcoded
undo strings by dynamic ones returned by a new virtual function
of GimpTransformTool.
2011-08-27 08:37:30 +02:00
Mikael Magnusson
6d3047f6a9 app: add missing space in help string 2011-08-16 19:03:18 +02:00
Mikael Magnusson
bed3ca0ada app: fix right-click cancel after a reset in transformtool 2011-08-13 13:34:17 +02:00
Michael Muré
4f913949d3 cage tool options: better description for the fill plain color option 2011-08-09 14:02:52 +02:00
Martin Nordholts
71af0311de Bug 645120 - Disable color tools overlay dialogs 2011-08-05 01:59:49 +02:00
Michael Natterer
762428501d app: remove excess newlines from gimppaintoptions-gui.c 2011-08-02 16:34:00 +02:00
Michael Natterer
5726141905 app: use g_object_bind_property() in GimpBucketFillOptions
to set a frame's sensitivity instead of a signal callback. Also
improve tool options.
2011-08-02 10:46:53 +02:00
Michael Natterer
0453f264da app: a space was missing in GimpMeasureOptions' tooltip 2011-07-31 22:52:06 +02:00
Michael Natterer
1b2ae6fd9e app: clean up the transform options' preview and guides UI 2011-07-31 00:25:43 +02:00
Michael Natterer
e9bf7ba6dc app: rename the "Tool toggle" frame in zoom options to "Direction" 2011-07-31 00:25:04 +02:00
Michael Natterer
314717f4bb app: clean up GimpTransformOptions' preview controls
Turn the "Preview type" combo into a simple "Show image" toggle and
enable the "No guides" choice in the guides combo. Remove unused enum
GimpTransformPreviewType. This way the preview and guide/grid controls
are strictly separate and much less confusing.
2011-07-27 23:15:02 +02:00
Michael Natterer
d092573a3b app: fix GimpTransformOptions::clip's tooltip 2011-07-27 22:24:10 +02:00
Michael Natterer
3704b8cd59 app: GimpTransformOptions::clip is enum GimpTransformResize, not gboolean 2011-07-27 22:23:43 +02:00
Michael Muré
2ba3673359 gegl-tool: blacklist lens-correct and hstack since they can't be used with the gegl tool.
lens-correct expect a lens correction model
hstack expect and aux buffer
2011-07-25 15:24:16 +02:00
Michael Natterer
6b78436f56 app: implement all rectangle guides options for the transform guides 2011-07-24 19:07:51 +02:00
Michael Natterer
c2e6f24687 app: add GimpCanvasTransformGuides and use them in the transform tool
which removes a lot of code from the transform tool, and reduces the
number of canvas items used for the transform grid from possibly
gazillions to one.
2011-07-24 18:42:13 +02:00
Michael Natterer
43788feb50 app: remove enum GimpTransformGridType
and use the two new values from GimpGuidesType instead.
2011-07-24 18:01:21 +02:00
Michael Natterer
be5c0df173 app: add "n-lines" property to GimpCanvasRectangleGuides
and add handling of the N_LINES guides type. Hardcode "4" in
GimpdrawTool for now, it's currently unused anyway.
2011-07-24 17:49:31 +02:00
Michael Natterer
f7a390d5d0 app: add N_LINES and SPACING to enum GimpGuidesType
but don't show them in the rectangle options UI, this is just a step
towards unifying the enums.
2011-07-24 17:47:08 +02:00
Michael Muré
2ebf1b555a gegltool: blacklist contrast-curve, fill-path and vector-stroke since curve and path are not supported by the UI 2011-07-23 21:32:13 +02:00
Michael Natterer
8b57ef51cc app: clean up the new brush outline stuff a bit 2011-06-30 09:27:43 +02:00
Alexia Death
3c3657f780 app: Refactor path code to support styles and add outline style for use in brush outline 2011-06-29 23:05:14 +03:00
Michael Muré
40e564711c gimpcagetool: remove unused parameter for gimp_cage_tool_compute_coef 2011-06-28 23:25:13 +02:00
Michael Natterer
df448eb171 app: GimpTransformTool: remove members handle_w and handle_h
Instead, return them from the private gimp_transform_tool_handles_recalc()
because they are only needed in the caller.
2011-06-26 23:37:32 +02:00
Michael Natterer
7f626b9877 app: fix applying paint tool presets when gobal brush/dynamics are used 2011-06-08 21:34:43 +02:00
Michael Natterer
9eba5b9311 app: refactor the tool_manager brush options sharing code 2011-06-07 21:25:22 +02:00
Michael Natterer
ea27c7bc83 app: add the MIN4() and MAX4() macros to gimp-utils.h
instead of having them in 5 .c files.
2011-06-04 17:16:21 +02:00
Michael Natterer
d27b7a985c app: make gimp_selection_tool_start_edit() much easier to use correctly
- Add a "display" parameter and ignore tool->display
- Require the tool to be inactive, not active when calling it

This exactly matches all its use cases, which is "delegate to
GimpEditSelection tool if we are not doing anything ourselves", and
enables removing all delegate_button_press() functions because they
became one-liners after adapting to this change.
2011-06-03 09:49:40 +02:00
Alexia Death
52cd1b9043 app: share brush modifiers along with the brush or dynamics 2011-06-02 21:17:52 +03:00
Michael Natterer
92e3b5532f app: update the color picker tool's dialog properly
Set its shell to the shell the user clicked on, so raising it won't
implicitly raise its old shell (which is very evil). Set its viewable
to the active drawable so it shows the right preview.
2011-05-25 23:03:16 +02:00
Michael Muré
0d510bfa23 fix a typo in cage tool 2011-05-24 23:35:28 +02:00
massimo v
ef15fd8623 app: remove deprecated gtk_range_set_update_policy 2011-05-24 20:46:31 +02:00
massimo v
63cc68561a app: SIOX memory leaks 2011-05-24 20:46:31 +02:00
Michael Natterer
6c85014473 app: gimpalignoptions.c: fix typo s/distrubution/distribution/ 2011-05-24 20:11:34 +02:00
Michael Natterer
4e6f43a890 app: add new item class GimpCanvasRectangleGuides and use it
Removes a lot of code from the rectangle tool and fixes off-by-one
drawing problems because in image coordinates, lines can't be aligned
correctly with rectangles.
2011-05-22 22:09:09 +02:00
Michael Natterer
6b34f79e51 app: gimp_rectangle_tool_draw(): lose "pub_" from local rectangle variables
to improve readability.
2011-05-22 17:54:29 +02:00
Michael Natterer
2f51c8afd4 app: GimpRectangleToolPrivate: don't keep a copy of the guides type around
It was needed only for XOR drawing.
2011-05-20 19:48:11 +02:00
Michael Natterer
0dcdfe9e80 app: move enum GimpRectangleGuide from tools/ to display/
and rename it to enum GimpGuidesType.
2011-05-20 19:41:48 +02:00
Michael Natterer
da380504bf app: don't call gimp_tool_control_halt() in gimp_rectangle_tool_halt()
It's not the rectangle tool's business to manage press/motion/release
cycles. Fixes warnings in the crop tool.
2011-05-20 19:15:31 +02:00
Michael Natterer
3e51484b18 app: fix off-by-one x2,y2 in gimp_rectangle_tool_draw_guides()
the 1.0 was subtracted explicitly, I have no clue why but the reason
for it is obviously gone.
2011-05-17 23:18:19 +02:00
Michael Natterer
ab0b88b5db app: replace the last GtkObject members by GtkAdjustment
Also get rid of some unneeded GTK_ADJUSTMENT() casts and replace some
local GtkObject veriables by GtkAdjustment.
2011-05-15 17:00:41 +02:00
Mikael Magnusson
80e18bdee0 app: Fix tooltip for "Use editor" checkbox 2011-05-11 22:09:21 +02:00
Michael Natterer
3184c0f339 app: use g_object_bind_property() to set sensitivity here too 2011-05-11 11:43:19 +02:00
Michael Natterer
b77b94d3ed app: don't rely on gimp_brush_tool_create_outline() returning an outline
It can just as well return NULL.
2011-05-05 12:19:25 +02:00
Michael Natterer
91550117c7 app: fix GimpSourceTool's source position drawing for other displays
by adding the source outline's canvas item to the source display
directly. Poking in GimpDrawTool internals is gone and generally not
possible any longer since GimpCanvasItem based drawing.
2011-05-04 23:25:55 +02:00
Michael Muré
989b85988b Cage tool: allow to add handle by clicking on an edge 2011-05-03 00:46:42 +02:00
Michael Muré
cc247b3e66 Cage tool: in cage mode, remove selected handles when hitting backspace 2011-05-03 00:46:42 +02:00
Michael Natterer
909e7833a3 app: remove some more -Wunused-but-set-variable 2011-05-02 13:53:58 +02:00
Michael Natterer
c35ff719a7 app/libgimp*: remove stuff found by -Wunused-but-set-variable 2011-05-01 23:23:19 +02:00
Michael Natterer
092e26935b app: GimpForegroundSelectToolUndo: shorten local variable names 2011-05-01 23:19:49 +02:00
Michael Natterer
2af539020b app: don't include individual files from libgimp* 2011-04-28 14:23:33 +02:00
Alexandre Prokoudine
b18d638000 More tooltips for tools options
Added previously missing tooltips for transformation tools, Flip tool,
text tool and Bucket Fill tool.
2011-04-21 15:28:05 +04:00
Mukund Sivaraman
aaea0805e1 app: Initialize orig_tiles to NULL for GIMP_TRANSFORM_TYPE_PATH case 2011-04-21 14:08:36 +05:30
Alexandre Prokoudine
58016e0a02 More tooltips for tools options
Added previously missing tooltips for options of the following tools:
Scissors Select tool, Foreground Select tool, Color Picker tool,
Zoom tool, Measurement tool, Align tool, Crop tool.

Changed a bunch of _() to N_() in Foreground Select tool's options
as per agreement with mitch.
2011-04-21 02:41:59 +04:00
Michael Natterer
27d312b110 app: call gimp_tool_control_halt() early in transform_tool_button_release()
The generic shutdown triggered by shift-click executing copes with an
already halted tool, but we don't want to add checks to tons of
button_release functions.
2011-04-20 22:22:11 +02:00
Alexandre Prokoudine
c5b44f6bd0 More tooltips for tools options
Added previously missing tooltips for rectangular and region
selection based tools.
2011-04-21 00:17:31 +04:00
Alexandre Prokoudine
3eee39c8fb Terminology fixes and missing tooltips
Options of brush-based tools now have clearer names,
and the options themselves now have tooltips that
had been missing.
2011-04-20 22:24:19 +04:00
Michael Muré
5d771014d4 GimpCageConfig: use a GArray to store cage's point, to make easier
further improvement
2011-04-20 18:50:17 +02:00
Alexia Death
4d438a89de app: restore brush size scale silder visible range to 1000 2011-04-18 22:56:45 +03:00
Michael Natterer
4d3e6b062d app: limit the paint options' fade length scale to 1000 2011-04-18 21:35:41 +02:00
Michael Natterer
6a3fe9f9c5 app: restore the original brush size upper limit of 10000
but restrict the tool options sclae to 500.
2011-04-18 21:10:47 +02:00
Michael Natterer
aa7c31b802 app: s/gdouble inertia_factor/gboolean event_fill/ in eval_event()
Also remove "gdouble max_coord_smooth" from GimpTool and simply use
the existing motion mode for deciding whether or not to fill in
events.
2011-04-17 19:59:31 +02:00
Michael Natterer
b04c6889ac app: remove the STRICT_TOOL_CHECKS define and ifdefs
Tools behave more predictably than before already, and whatever
remaining warnings will be sorted out before 2.8.
2011-04-16 20:21:52 +02:00
Michael Natterer
fcbc5eebeb app: add an edit button the the tool options' brush etc. selectors
which makes getting to the editor dialogs much easier.
2011-04-07 23:48:08 +02:00
Michael Natterer
cb6b821c70 app: tool_manager: correctly preserve tool state across a push/pop
tool_manager_select_tool(): don't reset the previously active tool if
it is only temporarily pushed to the tool stack.

tool_manager_pop_tool(): don't try to restore the previously active
tool's state because it was not reset on push().
2011-04-06 20:40:26 +02:00
Michael Natterer
9778b6a440 app: GimpEditSelectionTool: activate the tool *after* pushing it
because pushing sets its focus_display which is now only possible
while the a tool is not active.
2011-04-06 20:33:23 +02:00
Michael Natterer
b659aec9a7 app: GimpMoveTool: activate the tool before starting GimpEditSelectionTool
Also halt it uncontitionally in button_release() because we can't
get there any longer if the tool isn't active.
2011-04-06 20:32:04 +02:00
Michael Natterer
0315f483e6 app: some general GimpPaintCore cleanup 2011-04-06 09:11:25 +02:00
Michael Natterer
21b8007b29 app: add GimpBrushCache which stores brush stuff based on transform parameters
such as masks and outlines. The cache is currently very stupid and
only cacheds the last transformed object. Add caches to GimpBrush for
its mask, its pixmap and its boundary, and remove the same caches and
a ton of members from GimpBrushCore. This involves adding lots of
const qualifiers because GimpBrush returns const pointers now for
trasnformed stuff.
2011-04-05 22:15:30 +02:00
Michael Natterer
a50f668d87 app: GimpBrushCore: simplify brush and dynamics setting
by checking for an actual change in the setters. Remove the
"foo != core->foo" checks from all callers.
2011-04-05 19:05:55 +02:00
Michael Muré
7f6d06d3e9 cagetool: fix buffer leak 2011-04-05 10:18:07 +02:00
Michael Muré
2200b80033 cagetool: fix the restoration of the image when going back to edit mode 2011-04-05 00:05:56 +02:00
Michael Muré
ec25c6be42 cage tool: fix transformed area going away when setting a cage,
going back to edit mode, edit the cage then going to deform mode
2011-04-05 00:05:56 +02:00
Michael Natterer
647a576cd4 app: use the new brush boundary API in GimpBrushTool 2011-04-04 21:14:57 +02:00
Michael Natterer
99e0e73fc6 app: add "x" and "y" properties to GimpCanvasPath
so paths can be rendered at any position. Pass 0,0 from all places
that draw GimpVectors.
2011-04-04 20:58:38 +02:00
Michael Natterer
7d39d800fc app: GimpColorTool and GimpMoveTool: don't start the draw tool twice
and some minor coding style cleanup.
2011-04-04 19:20:04 +02:00
Michael Natterer
492e0f9cfd app: some more mostly cosmetic tool cleanup 2011-04-04 08:19:12 +02:00
Enrico Schröder
d4316902a2 app: DodgeBurn/Convolve: Fix error in behavior of modifier keys
Fix for bug #632816: When holding shift key to go to LineDraw mode,
then pressing ctrl and releasing shift before ctrl, the release of
ctrl switches the function of DodgeBurn and Convolute tool. This patch
adds a variable to GimpDodgeBurnTool/GimpConvolveTool to only switch
said function on releasing ctrl when it has been toggled previously.
2011-04-04 00:38:01 +02:00
Michael Natterer
036c5aff73 app: constify "color" parameter in GimpColorTool::picked() 2011-04-04 00:08:57 +02:00
Michael Natterer
ea34b145e8 app: some random tool cleanup 2011-04-04 00:01:30 +02:00
Michael Natterer
70e5cf57a1 app: move GimpColorPickerTool's shutdown code to control(HALT) 2011-04-03 23:33:07 +02:00
Michael Natterer
64b9ac3f6c app: move the GimpTextTool shutdown code to control(HALT) 2011-04-03 00:40:41 +02:00
Michael Natterer
6de9615154 app: bail out in gimp_blend_tool_initialize() if there is no gradient 2011-04-03 00:33:41 +02:00
Michael Natterer
9ec725c297 app: move the GimpIscissorsTool shutdown code to control(HALT) 2011-04-02 11:58:29 +02:00
Michael Natterer
3056cdbc43 app: remove the entire IscissorsDraw enum and member
and simplify drawing massively. It was a pile of XOR cruft that's not
needed any longer.
2011-04-02 11:40:56 +02:00
Michael Natterer
6f4be58716 app: GimpFreeSelectTool: highlight the hovered handle 2011-04-02 08:29:53 +02:00
Michael Natterer
efbbe39734 app: rmove gimp_free_select_tool_update_button_state()
and priv->button1_down. Use gimp_tool_control_is_active() instead
because it now has exactly that meaning.
2011-04-02 08:24:24 +02:00
Michael Natterer
7a6bf9b5fe app: generically call gimp_tool_control(HALT) in GObject::dispose()
so all the previously added shutdown fragments are executed when the
tool destroyed.
2011-04-01 22:56:33 +02:00
Michael Natterer
880572860a app: move shutdown code from gimp_image_map_tool_response() to control(HALT) 2011-04-01 22:56:33 +02:00
Michael Natterer
d90de689fb app: GimpCageTool: in CAGE_CHANGE mode, switch to DEFORM when enter is pressed 2011-04-01 22:56:33 +02:00
Michael Natterer
a7f32f2290 app: move shutdown code from gimp_cage_tool_halt() to control(HALT) 2011-04-01 22:56:33 +02:00
Michael Natterer
813392cafd app: move shutdown code from gimp_free_select_tool_halt() to control(HALT) 2011-04-01 22:56:33 +02:00
Michael Natterer
8ca28f19a3 app: move shutdown code from gimp_measure_tool_halt() to control(HALT) 2011-04-01 22:56:33 +02:00
Michael Natterer
931d2110c6 app: move shutdown code from gimp_align_tool_halt() to control(HALT)
and also remove GObject::dispose() because that's going to be
handled generically soon.
2011-04-01 22:56:33 +02:00
Michael Natterer
eb9fefe505 app; move GimpTransformTool's shutdown code to control(HALT)
and remove gimp_transform_tool_halt(), including all the duplicated
parent class shutdown code.
2011-04-01 22:56:33 +02:00
Michael Natterer
c48c77b2e0 app: NULLify GimpRectangleOptions widget pointers upon destruction
so the NULL checks in GimpRectangleTool work no matter what the
shutdown order is.
2011-04-01 22:56:33 +02:00
Michael Natterer
0c7cd5b8a1 app: GimpPaintTool: don't call paint_core_paint(FINISH) in control(HALT)
because that simply can't happen (we call paint(FINISH) in
button_release() already and press and release are always paired. Only
call paint_core_cleanup() in control(HALT).
2011-04-01 22:56:32 +02:00
Michael Natterer
e1bc19faf6 app: make state checks on tool much more strict
so wrong calls will run into precondition checks and warnings. This is
optional, but currently enabled, to reduce the risk of introducing
permanent new warnings for 2.8. See STRICT_TOOL_CHECKS in gimptool.h.
2011-04-01 22:56:32 +02:00
Michael Natterer
6a046d09e4 app: GimpBrushTool: don't split brush setting in two callbacks
The need to both connect() and connect_after() to "set-brush" is gone
because XOR drawing is gone.
2011-03-30 23:38:14 +02:00
Michael Natterer
0db785c36a app: don't call control_activate()/control_halt() in GimpRectangleTool
Instead, call it in all implementors.
2011-03-30 22:13:31 +02:00
Michael Natterer
884e4868a4 app: fix calls to control_activate() and control_halt() in GimpIScissorsTool 2011-03-30 21:48:37 +02:00
Michael Natterer
55f80cd758 app: fix GimpForegroundSelectTool pen cursor drawing
It seems some of the junk removed in the last commit did have a
purpose :) Also use a tool progress because it's the result of a
canvas interaction.
2011-03-30 21:24:04 +02:00
Michael Natterer
cc63337be5 app: simplify gimp_foreground_select_tool_oper_update() a lot
by removing tons of cruft. Fixes both status messages and tool drawing
with multiple displays.
2011-03-30 20:39:00 +02:00
Enrico Schröder
074e2c088a app: GimpRectangleTool: Rounding error when moving/resizing with keyboard
Fix for bug #653186: When a rectangle selection is created or moved by
mouse at certain zoom-levels (200%, 400%, 800%), its coordinates can
become exactly .500. By then using the keyboard to move/resize in
steps of one pixel, a rounding error occurs in
gimp_rectangle_tool_update_int_rect(). This leads to the coordinate
either not beeing changed at all or changed by 2 pixels at a time. The
patch changes the function from using RINT() to ROUND() for the
calculations, which prevents the rounding error from happening.
2011-03-30 19:45:46 +02:00
Michael Natterer
2e406872c4 app: GimpBrushTool: don't set a BAD cursor permanently
by chaining up after setting it. Instead, don't set it and call
gimp_tool_set_cursor() directly when there is no brush or no dynamics.
2011-03-30 19:18:29 +02:00
Michael Natterer
96c8c35575 app: GimpFreeSelectTool: remove if (tool->display != display) checks
This can't happen in motion() and release() because they won't be
called if we didn't activate the tool.
2011-03-30 19:01:11 +02:00
Michael Natterer
9755d7d06c app: GimpForegroundSelectTool: call control_activate() unconditionally 2011-03-30 15:05:33 +02:00
Michael Natterer
3d2fb51a63 app: GimpEditSelectionTool: call control_halt() in button_release()
Just for consistency, the tool is destroyed at the end of
button_release() anyway.
2011-03-30 12:08:38 +02:00
Michael Natterer
6899b0bf60 app: GimpCageTool: go to deform mode only if the user clicked the first handle
and not if it was only moved.
2011-03-30 11:51:51 +02:00
Michael Natterer
f585788e46 app: tool control cleanup in GimpCageTool
Don't call tool_control functions twice in init(). Call activate() and
halt() only on button_press() and button_release() to indicate that
the tool wants motion events.
2011-03-30 11:48:05 +02:00
Michael Natterer
28c48b1857 app: GimpBrightnessContrastTool: don't call gimp_tool_control_pause()/resume()
It must not be called directly, and is entirely useless here anyway.
2011-03-30 11:44:12 +02:00
Michael Natterer
7c60bb5181 app: use more of the new GDK_KEY_foo key names
and move the compat defines from display-enums.h to widgets-enums.h
2011-03-29 17:24:08 +02:00
Michael Natterer
2468f9fd55 app: cancel the align tool on Escape, and some more cleanup 2011-03-29 15:16:17 +02:00
Michael Natterer
bb5dea615b app: some more cleanup and namespacing in GimpAlignTool 2011-03-29 14:32:00 +02:00
Michael Natterer
0c8ff468f6 app: remove empty GimpTool::initialize() impl from GimpAlignTool 2011-03-29 14:00:10 +02:00
Michael Natterer
f7bb4afbd8 app: add gimp_image_pick_layer_by_bounds() and use it in GimpAlignTool
Also do some refactoring in the align tool, like adding
gimp_align_tool_halt() and using it to shut down the tool.
2011-03-29 13:58:23 +02:00
Michael Natterer
08e409d6e3 app: move the GimpAlignTool options GUI to GimpAlignOptions
which fixes a major uglyness, it should have always been there.
Also fixes warnins on quit if the align tool is active.
2011-03-29 13:26:18 +02:00
Michael Natterer
f32e285ea3 app: more cleanup in GimpMeasureTool
- highlight the active point while dragging
- make sure the tool is only active while dragging
- misc formatting cleanup
2011-03-29 09:16:22 +02:00
Michael Natterer
f59eeb95e7 app: remove GimpMeasureTool:active_handle and use the existing :point
Also don't re-find the active point in button_press().
2011-03-29 08:52:09 +02:00
Michael Natterer
2b9b737686 app: add gimp_measure_tool_oper_update() which should have always been there
and add the stuff that should not be done in cursor_update(). Also add
highlighting of the currently hovered handle.
2011-03-28 20:44:30 +02:00
Michael Natterer
44a6e4f07a app: use gimp_canvas_item_hit() in GimpMeasureTool 2011-03-28 20:13:18 +02:00
Michael Natterer
365902b582 app: use gimp_canvas_item_hit() in gimp_transform_tool_oper_update()
so all the extents calculation and parameter passing is not
duplicated for the first time \o/
2011-03-28 18:55:08 +02:00
Michael Natterer
d96091d514 app: port GimpMagnifyTool away from draw_tool_pause()/resume() 2011-03-28 12:22:29 +02:00
Michael Natterer
accc12a3ca app: change GimpCanvasItem setters to take GimpCanvasItem*
not GimpCanvasLine* etc. We keep them around as items, and their
constructors return items, and it's getting more code anyway when
porting away from pause/resume, so let's keep the casting minimal at
least.
2011-03-28 12:20:36 +02:00
Michael Natterer
aa5d2f8082 app: port GimpBlendTool to pause()/resume()-less drawing
Instead, keep around the created GimpCanvasItems, and update them when
the blend coordiates change. Add setters to GipmCanvasLine and
GimpCanvasHandle which take care of calling begin_change() and
end_change() on the items around the change, so thes invalidate
properly.
2011-03-28 11:08:40 +02:00
Michael Natterer
1c0fe73da4 app: gimp_transform_tool_draw(): initialize the array of handles to NULL
And update/improve some comments in the entire file.
2011-03-28 10:16:00 +02:00
Michael Natterer
20bed2c609 app: add gimp_draw_tool_add_transform_preview() and use it 2011-03-28 02:18:00 +02:00
Michael Natterer
fd80b90cf0 app: more minor GimpTransformTool cleanup 2011-03-28 02:10:33 +02:00
Michael Natterer
9f6b60c29d app: draw the perspective clone handles only when they can be used 2011-03-28 01:27:02 +02:00
Michael Natterer
4097825f3c app: some more code removal and cleanup in the transform classes 2011-03-28 01:20:47 +02:00
Michael Natterer
dde7d6c0ee app: remove lots of junk from GimpPerspectiveCloneTool
This is an evil transform tool copy, so do the same changes here.
2011-03-28 01:20:47 +02:00
Michael Natterer
babc2186c5 app: move the enum of indexes into the trans_info array to the .c files
and turn #defines from 0 to N into enums.
2011-03-28 00:50:46 +02:00
Michael Natterer
06e0183f96 app: right-align the perspective matrix labels with the right API
Use gtk_misc_set_alignment() instead of gtk_label_set_justify().
2011-03-28 00:39:39 +02:00
Michael Natterer
d36887644d app: highlight the active transform tool handle 2011-03-28 00:13:14 +02:00
Michael Natterer
32f240fa4a app: prepare GimpTransformTool for highlighting the handles 2011-03-27 23:57:12 +02:00
Michael Natterer
18929f0865 app: lay out the GimpTransformOptions GUI more uniformly 2011-03-27 23:18:28 +02:00
Michael Natterer
8512675088 app: rename GimpTransformTool::recalc() to ::recalc_matrix() 2011-03-27 23:12:11 +02:00
Michael Natterer
fb2ba3f289 app: remove display parameters from all virtual GimpTransformTool functions 2011-03-27 22:39:31 +02:00
Michael Natterer
eb4f01039a app: add utility function gimp_transform_polygon_is_convex()
and use it in GimpTransformTool and GimpCanvasTransformPreview.
2011-03-27 22:04:33 +02:00
Michael Natterer
caa8cdd4c1 app: add gimp_transform_options_show_preview()
which returns whether or not to show a transform preview. Also clean
up gimp_transform_tool_draw() a bit and add a stroke group for the
center handle.
2011-03-27 21:49:34 +02:00
Michael Natterer
8a09fd1f34 app: refactor GimpCanvasTransformPreview to not know GimpTransformTool any more
Instead, add drawable, transform, x1, y1 etc. properties. This is
cleaner and has the nice side effect of not leaving artifacts, because
the changed state of the transform tool doesn't affect the extents
calculation any longer.
2011-03-27 21:19:38 +02:00
Michael Natterer
6fe9430cab app: remove members "type" and "direction" from GimpTransformTool
and use the stuff from GimpTransformOptions directly. The copied
values were only there because of XOR drawing. Also did some more
cleanup and junk removal.
2011-03-27 17:38:49 +02:00
Michael Natterer
f09be52c1b app: turn the transform preview into a GimpCanvasItem
And remove all the complicated handling code entirely. This makes
GimpTransformTool a lot less complex. As a nice side effect, the
preview is now always 100% in sync with the grid and handles.
2011-03-27 16:40:41 +02:00
Michael Natterer
cf28e07b64 app: move enum TransformAction from tools-enums.h to gimptransformtool.h
Moving it to tools-enums.h was a mistake, it's actually supposed to be
a private enum, accessible only by subclasses. And it's ugly.
2011-03-26 22:32:35 +01:00
Michael Natterer
f632c4a8aa app: transform the transform grid lines on the fly
which is much less code than keeping the transformed lines around.
2011-03-26 22:14:07 +01:00
Michael Natterer
74f276fe4f app: make sure GimpTransformTool draws correctly after options changes 2011-03-26 21:53:06 +01:00
Michael Natterer
deafe3d341 app: remove some entirely useless members from GimpTransformTool 2011-03-26 20:40:35 +01:00
Michael Natterer
6606d10be1 app: gimp_transform_tool_transform(): don't unref NULL orig_tiles 2011-03-26 18:57:31 +01:00
Michael Natterer
ae72971866 app: pass the orig_tiles and their offset to GimpTransformTool::transform()
instead of keeping them around as members. This is another artifact
from ancient times. Also get rid of some more legacy junk
code. Disable more code in GimpTransformToolUndo but keep it around
even though it does nothing at the moment.
2011-03-26 18:45:58 +01:00
Michael Natterer
bc8d5f84d6 app: remove the "offset" API from TileManager
It made the transform code hard to read and never belonged into the
tile manager anyway. It's a simple pixel buffer that should not know
about any position in an image. Instead, pass around the offsets of
tile managers explicitly, so everything is less obscure for the price
of having more parameters. This will also help replacing TileManagers
with GeglBuffers.
2011-03-26 08:30:15 +01:00
Michael Natterer
3ed87015a6 app: if there is no selection, don't cut/transform/paste in the transform tool
instead, take the easy path that simply calls gimp_item_transform()
and does exactly the same, just less weird.
2011-03-25 21:50:58 +01:00
Michael Natterer
bef6d5716a app: use a tool progress for GimpTransformTool 2011-03-25 21:35:19 +01:00
Michael Natterer
f078a7416c app: remove some junk from GimpTransformTool
which was there for the purpose of transfomring the same buffer
multiple times (which would be nice but is broken and disabled for
ages). Also remove some junk that was there for unknown reasons, this
tool has a long history.
2011-03-25 21:32:08 +01:00
Michael Natterer
6fdcc5f465 app: add a progress indicator for cage transform
- add a double "progress" property to GimpOperationCageTransform
  and update it every 20 rows
- connect to the notify::progress in the tool and display a tool
  progress
2011-03-25 15:41:53 +01:00
Michael Natterer
41b905baa8 app: make GimpTool implement the GimpProgress interface properly
and remove the previously added quick hack. Change the cage progress
code to standard progress code, and use the tool progress also in
blend.
2011-03-25 10:55:07 +01:00
Michael Natterer
8daee72518 app: various GimpCageTool fixes
- completely halt the tool before starting it
- bail out on options changes when the tool is not active
- initialy set the mode to CAGE_CHANGE
- indentation, formatting, various small cleanups
2011-03-25 10:18:56 +01:00
Michael Natterer
e9dd30127a app: add an on-canvas progress facility to GimpTool
and use it in GimpCageTool.
2011-03-25 09:48:26 +01:00
Michael Natterer
afa8a416c9 app: don't crash if GimpBrushTool has no dynamics to paint a brush outline
Also, set the BAD cursor when there isn't both brush and dynamics
available.
2011-03-24 20:21:57 +01:00
Michael Natterer
1659f62e2c app: small style cleanup in the merged cage code 2011-03-23 22:29:00 +01:00
Michael Muré
2aeac1cf4e Merge branch 'soc-2010-cage-2' 2011-03-23 20:07:17 +01:00
Michael Natterer
91195e8593 app: remove the old tool presets system
Instead, keep around a GimpFilteredContainer in GimpToolInfo that
maintains a per-tool list of presets from the global preset factory.
Turn the tool options dialog's preset Save/Restore/Edit/Delete menus
and buttons into shortcuts for managing the active tool's presets.
2011-03-23 09:27:29 +01:00
Omari Stephens
cc04620b96 Adjust Bug 559716 bugfix to not test exact double equality 2011-03-21 16:53:35 +01:00
Michael Natterer
ec1108d62a Bug 559716 - Changing crop size in Crop Tool Options can make UI unresponsive
In gimp_rectangle_tool_update_options(), freeze()/thaw() notifications
around setting setting x, y, width, height, so all values are
up-to-date when "notify" is emitted. Also, only set the values that
have actually changed so we don't process notifications when no change
was done.
2011-03-21 14:38:26 +01:00
Michael Natterer
38287ba9f4 app: GimpTextTool: use the highlight color for the selected text 2011-03-20 23:59:19 +01:00
Michael Natterer
6378e9fc4d app: rename member GimpImageMapTool->shell to ->dialog
"shell" has confused me once too often today...
2011-03-20 18:27:11 +01:00
Michael Natterer
4149452279 Bug 643155 - Tool dialogs don't stay on top of the image window
Change the "GtkWidget *parent" parameter of GimpToolDialog to
"GimpDisplayShell". Also add API gimp_tool_dialog_set_shell() so an
existing dialog can be used on different images. Make sure the dialog
closes when the shell is unmapped (like when switching tabs in SWM),
and make the dialog transient for the toplevel GimpImageWindow.

Change all tool dialog users accordingly.
2011-03-20 18:15:42 +01:00
Michael Natterer
13bedf69e2 app: minor cleanups in GimpColorPickerTool 2011-03-20 16:57:23 +01:00
Michael Natterer
1f5e180334 app: move GimpToolDialog from app/widgets/ to app/display/
Zero logic changes yet, just a rename.
2011-03-20 13:34:03 +01:00
Michael Natterer
4f62bdf436 app: paint the text cursor in the highlight color
so it can be distinguished from the text box rectangle more easily.
2011-03-19 10:11:47 +01:00
Michael Natterer
ecbfb4a9e8 app: add a GimpText property and construct param to GimpTextStyleEditor
which will be used to get default values from.
2011-03-18 21:16:53 +01:00
Michael Natterer
df731912a5 app: add a GimpTextStyleEditor to the text tool's editor dialog
so it's an alternative to on-screen editing for esoteric use cases
that can do everything on-screen editing is capable of.
2011-03-18 12:58:32 +01:00
Michael Natterer
f13abfa3f0 app: change image parameter in gimp_text_layout_new() to xres,yres
Because GimpTextLayout doesn't depend on any image, it only needs a
resolution.
2011-03-18 02:31:20 +01:00
Michael Natterer
503acbae54 Bug 600554 - Implement layer group transforms
When transforming layer groups, don't cut out a buffer to transform.
Instead, simply call GimpTransformTool::transform() with
tr_tool->original being NULL, just as when we are transforming a
path. In the transform() implementations, simplify the code to not
look at the type of item to be transformed; instead, simply look at
tr_tool->original and transform it if it exists, otherwise call
gimp_item_transform() which does the right thing for all sorts of
items automatically.
2011-03-17 21:52:43 +01:00
Michael Natterer
d3153960df app: rename gimp_transform_tool_doit() to gimp_transform_tool_transform() 2011-03-17 21:39:11 +01:00
Michael Natterer
54c7725417 app: GimpTextTool: remove disabled testing code 2011-03-14 14:28:08 +01:00
Michael Natterer
22808b996f app: GimpTextOptions: implement GimpToolOptions::reset()
and avoid resetting the rectangle options, so the text box keeps its
position.
2011-03-14 14:12:43 +01:00
Michael Natterer
75548264d0 app: set the text option's unit menu to "plural"
It gets changed to "abbreviation" for the permanently displayed
string automatically.
2011-03-14 12:58:34 +01:00
Michael Natterer
e69ecba237 app: move all GimpSettingsBox members to private 2011-03-08 11:32:49 +01:00
Michael Natterer
fcfb7cf160 Use the new g_[s]list_free_full() instead of foreach() and free() 2011-03-07 17:11:28 +01:00
Michael Muré
fe7aa4e113 Merge branch 'master' into soc-2010-cage-2 2011-03-02 15:08:11 +01:00
Michael Natterer
9b5dc7559a app: set GimpFreeSelectTool active only while mouse-1 is down
First step towards tightening the tool state machine...
2011-02-28 21:04:42 +01:00
Michael Natterer
ca618093cf app: don't show the line to the next free select point when not in proximity
like when leaving the canvas or crossing a window above (tools receive
one oper_update() with proximity = FALSE to indicate the pointer
leaving the canvas).
2011-02-27 11:49:54 +01:00
Michael Natterer
8f294661b2 app: don't #include "core/gimpprogress.h" when not needed 2011-02-22 17:32:33 +01:00
Michael Natterer
c3ff71df8b app: connect the blob editor's and the ink option's properties explicitly
instead of using gimp_config_connect(model,view,NULL) because that
also connected the model's name to the view's *widget* name, which is
a really bad idea.
2011-02-15 18:48:38 +01:00
Michael Natterer
543b97bfb3 Bug 641761 - "Smooth Stroke" option in Blend tool
Show the smooth stroke options only for paint tools.
2011-02-14 10:38:32 +01:00
Michael Natterer
ec196a8ac4 app: allow to set a color for GimpCurveView's primary curve
and redo how the curves tool sets its curves in order to support this
without code duplication. Also change the color of the yellow curve in
the dynamics output editor to orange because yellow is hardly visible.
2011-02-10 20:05:50 +01:00
Barak Itkin
18b9ba1c87 app: Add some comment documentation to code 2011-02-07 03:29:23 +02:00
Michael Natterer
f76bcab221 app: move "default-threshold" from GimpGuiConfig to GimpCoreConfig 2011-02-06 11:20:06 +01:00
Michael Natterer
70f88c4320 app: don't update the highlight when the rectangle tool is resumed
It causes an infinite invalidation loop.
2011-01-27 21:36:58 +01:00
Alexia Death
452819143a app: half-sane aspect ratio implementation 2011-01-25 23:28:02 +02:00
Martin Nordholts
3c95ed31e0 Fix compiler warning about missing newline 2011-01-24 08:10:01 +01:00
Alexia Death
5f9bd0c044 app: add reset buttons to all brush settings sliders 2011-01-23 18:17:25 +02:00
Michael Muré
7056d38681 cagetool: implement rubber band selection for edit mode, if the cage is closed 2011-01-22 15:38:35 +01:00
Michael Muré
aa98319f1b cage tool: implement options_notify to allow switching back to edit mode
and update fill option
2011-01-22 14:17:28 +01:00
Michael Muré
3f581c37b6 cagetool: fix a drawing bug when adding point to the cage while moving cursor 2011-01-22 14:17:28 +01:00
Michael Muré
f379f3c467 fix rubber band selection for layer with offset 2011-01-22 14:17:28 +01:00
Michael Muré
e7d219d387 Cage tool: add rubber band selection for deform mode 2011-01-22 14:17:28 +01:00
Michael Muré
dd28e1fe02 Implementation of the multi-selection in the cage tool and refactoring that come with.
This editing mode should work like the path tool.
The backup of the cages point for undo is replaced by a displacement that affect
all the selected point in CageConfig with commit/reset displacement.
2011-01-22 14:17:28 +01:00
Michael Muré
006c7ab9f4 refactor of the GimpCageConfig with a custom GimpCagePoint data structure 2011-01-22 14:17:28 +01:00
Michael Muré
23193cba2f Rewrite of the cage tool as a state machine 2011-01-22 14:17:28 +01:00
Øyvind Kolås
cad3778eea gegl-tool: remove render ops from blacklist
This allows fractal-explorer, checkerboard and the newly added grid op to
render.
2011-01-13 23:02:50 +00:00
Michael Natterer
503a9cebce app: implement GObject::constructed() instead of ::constructor() 2011-01-13 10:06:07 +01:00
Michael Natterer
70574877d3 app: use GimpSpinScale for the new smoothing options
This drops the log scale, but the new widget will get a better
solution for this anyway. Also did some cleanup.
2011-01-09 00:21:10 +01:00
Michael Natterer
c29aefccc2 app: fix coding style in the new smoothing code 2011-01-08 22:18:56 +01:00
Alexia Death
339deed1da app: Clean up smooth so it would be acceptable for master 2011-01-08 22:19:27 +02:00
Alexia Death
082aa272a4 app: G-Pen algorithm for GIMP trunk. Now smoothing function works for Ink and Brush tools.
Rebased/fixed to go on top of current master. Next commit will add cleanup.
Had to change author tag because gnome is not accepting random stuff
in email fields. Original author is tarai, from gimp painter project
in sourceforge.
2011-01-08 22:17:26 +02:00
Michael Natterer
4aa36044f7 app: no need to set GTK_UPDATE_DELAYED on the levels scale
because we idle preview anyway in GimpImageMap.
2011-01-07 19:33:45 +01:00
Michael Natterer
6d6ec38085 app: no need to set a GtkRange's update-policy to CONTINUOUS
because it's the default.
2011-01-07 17:18:48 +01:00
Michael Natterer
36de5a2ab1 Bug 630376 - Crash with text layer / text tools stay on canvas when text info is discarded
Halt the tool when the text layer's text disappears.
2010-11-28 15:28:28 +01:00
Michael Natterer
357e25bfd1 app: move the cage tool after all other transform tools, not before them 2010-11-28 13:16:35 +01:00
Michael Natterer
bbc3943638 app: some cleanup in the new paint options code 2010-11-25 21:30:29 +01:00
Alexia Death
904048cdcb app: Clearly present Fade and Color dynamics options as such 2010-11-25 19:06:16 +02:00
Michael Natterer
d46b53f63d Bug 635040 - Edit -> Stroke Path performs no action on an incomplete path
Add error reporting to gimp_drawable_stroke_vectors() and produce the
same warning as the paint core when trying to stroke a path with zero
or one points only.
2010-11-25 11:31:40 +01:00
Michael Natterer
65c6264259 app: change icon for brush size reset button and add tooltip 2010-11-24 22:31:56 +01:00
Michael Natterer
223ae53fcc app: set the cage tool's dirty mask so it is canceled upon image changes 2010-11-21 14:13:58 +01:00
Michael Natterer
b5ece8b364 app: the ink sensitivity spin scales need two decimal digits precision 2010-11-19 15:19:24 +01:00
Michael Natterer
7a3dc6ee38 app: remove unused #includes 2010-11-15 00:23:18 +01:00
Michael Natterer
c4cd420ef8 app: rename GIMP_INK_BLOB_TYPE_ELLIPSE to GIMP_INK_BLOB_TYPE_CIRCLE
- TYPE_SQUARE is also named SQUARE and not RECTANGLE
- serialization doesn't suffer from the changed name because it's the
  default value that never gets serialized
- a lot of messy code in the ink options can be replaced by a one-liner
  because the enum names now match their resp. stock items
2010-11-14 16:29:42 +01:00
Michael Natterer
dc9018bd14 app: implement GimpTool::options_notify() 2010-11-10 19:08:39 +01:00
Alexia Death
5fa1e9ea40 app: Tell the user how to commit the cage transform 2010-11-10 19:11:49 +02:00
Michael Natterer
ef44bfedad app: check for GIMP_BUTTON_RELEASE_CANCEL, not GDK_BUTTON3_MASK 2010-11-10 14:39:30 +01:00
Mikael Magnusson
372bc90f65 app: fix right-click cancelling a transform tool
to only revert back to before the current drag, not do a full reset
2010-11-10 14:39:06 +01:00
Mikael Magnusson
d6e76a10d6 app: fix redraw after cancelling a transform tool with right-click cancelling 2010-11-10 14:35:27 +01:00
Michael Natterer
32926c9b6a app: implement GimpTool::options_notify()
instead of connecting to the tool options manually.
2010-11-10 14:20:33 +01:00
Michael Natterer
9e5eca8fd1 app: add virtual function GimpTool::options_notify()
which gets called on each "notify" from the tool options. This way
tool can simply implement this method instead of connecting to
"notify" themselves individually.
2010-11-10 14:18:33 +01:00
Michael Natterer
f6a284dc4c app: use a canvas progress in the cage tool
This is a proof-of-concept hack that needs review and comments before
being used generally.
2010-11-09 19:35:54 +01:00
Michael Natterer
63fcfb15a2 app: use the new shifting API instead of reimplementing it 2010-11-09 11:32:40 +01:00
Michael Natterer
3f6a70f7fe app: define one more standard tool handle size 2010-11-08 22:48:50 +01:00
Michael Natterer
cf0402f069 app: consistent handle sizes for tool drawing
Replace a myriad of defines in different tools by three consistent
sizes defined in gimpdrawtool.h.
2010-11-08 22:37:00 +01:00
Michael Natterer
a73348c561 app: fix handle hovering detection, it was using the wrong radius 2010-11-06 00:06:13 +01:00
Michael Natterer
31aa09a11f app: add proper cursors that show what will happen 2010-11-06 00:06:13 +01:00
Michael Natterer
9d604a545f app: move all the cage modifying logic to button_release()
so any interaction can be canceled by holding BUTTON3 while
releasing. Add additional state "hovering_handle" so we can do proper
drawing that matches what will happen on mouse interaction.
2010-11-05 23:49:48 +01:00
Michael Natterer
f4c98fbad6 app: don't use a GimpVector2 for the cursor position
because less code is more readable.
2010-11-05 22:30:10 +01:00
Michael Natterer
9867cf62c3 app: -1000 is a valid cursor position, use G_MINDOUBLE as "no cursor" 2010-11-05 22:25:14 +01:00
Michael Natterer
baf964a734 app: rename member handle_moved to moving_handle 2010-11-05 22:21:56 +01:00
Michael Natterer
038a6dd671 app: no need to abort the image map when a handle changes 2010-11-05 21:05:54 +01:00
Michael Natterer
77bb31ba51 app: put the drawn lines into a stroke group 2010-11-05 20:00:20 +01:00
Michael Natterer
86a220bbdf app: remove the preview node and other unneeded stuff
and simplify the code even further.
2010-11-05 19:47:57 +01:00
Michael Natterer
6f31f3d2f6 app: pass the drawable to gimp_cage_tool_create_image_map() 2010-11-05 19:42:42 +01:00
Michael Natterer
2028d547a2 app: use the GimpImageMap as it's meant to be used
Have an incremental live preview of the rendering and actually use the
rendering instead of throwing it away and doing it all over again on
commit. gimp_cage_tool_process() is therefore currently unused but I
left it there for Alexia to fix the tool for layers with masks.
2010-11-05 19:10:03 +01:00
Michael Natterer
e0dad1bf35 app: canonicalize cage op names, and some indentation fixes 2010-11-05 12:45:07 +01:00
Michael Natterer
eb3db78b06 app: rename config->cage_vertice_number to config->n_cage_vertices
and some minor cleanup.
2010-11-05 10:04:45 +01:00
Michael Natterer
09aae9a919 app: more minor cage tool cleanup 2010-11-05 09:49:03 +01:00
Michael Natterer
c98688873d app: more minor cage cleanup 2010-11-04 22:47:03 +01:00
Michael Natterer
a6d85e8d57 app: more formatting cleanup 2010-11-04 22:38:41 +01:00
Michael Natterer
f6a8ad61fa app: remove useless box from cage options gui 2010-11-04 22:32:01 +01:00
Michael Natterer
428e8541c3 app: remove unused #includes 2010-11-04 22:30:30 +01:00
Michael Natterer
b7a674285f app: derive GimpCageOptions directly from GimpToolOptions 2010-11-04 22:28:47 +01:00
Michael Natterer
33a8c15403 app: large scale formatting cleanup in the new cage code
- move enum to the new gimp-gegl-enums.[ch]
- clean up includes
- spacing
- indentation
- coding style
2010-11-04 22:16:27 +01:00
Martin Nordholts
5ce581f797 app: Use Shift+G for Cage Tool
We can't use Shift+R which is taken by the rotate tool, so use Shift+G
instead. G is for "Green coordinate".
2010-11-04 21:44:31 +01:00
Michael Natterer
26ca306cc9 app: Makefile formatting cleanup 2010-11-04 21:08:51 +01:00
Alexia Death
d2563a69fd app: Cleanup in preparation of merge 2010-11-04 20:27:11 +02:00
Alexia Death
dfd5470a2e Merge remote branch 'origin/master' into soc-2010-cage-2 2010-11-04 20:00:36 +02:00
Alexia Death
27c77e6a5e Merge branch 'master' into soc-2010-cage-2 2010-11-04 00:41:45 +02:00
Alexia Death
9b96120c31 app: Make cage tool behave nice with offset layers 2010-11-04 00:26:43 +02:00
Alexia Death
e529428a68 app: Make cage tool apply to layer mask as well if one is present 2010-11-04 00:26:04 +02:00
Michael Natterer
9208834880 app: make the blob shape widgets more compact 2010-11-03 09:53:18 +01:00
Michael Natterer
aa846ec451 app: use spin scales for the ink options 2010-11-02 23:30:47 +01:00
Michael Natterer
d5ff5b6748 app: get rid of more tables in the tool options and fix up spacing a bit 2010-11-02 22:14:34 +01:00
Michael Natterer
6ee6fb9b81 app: use a spin scale for the aspect ratio
even though a non-log scale is totally broken here, but that at least
creates pressure for finding a solution...
2010-11-02 22:01:15 +01:00
Michael Natterer
bf14241f26 app: make the brush size reset button smaller 2010-11-02 21:57:37 +01:00
Alexia Death
1ae2ad8566 app: Generic cage cleanup 2010-11-02 21:28:30 +02:00
Alexia Death
f09f6dae06 app: Make cage tool work with gegl master 2010-11-02 20:56:53 +02:00
Mikael Magnusson
90e525ca09 app: use a spin scale for the brush size (have to limit size to 1000 temporarily) 2010-11-02 14:41:21 +01:00
Michael Natterer
8f991c5950 app: make the brush, pattern etc selecing boxes more compact
by integrating their label instead of requiring one externally. This
way we get rid of some more labels in the tool options. Also clean up
tool options further (add more spin scales, and some general
reordering and spacing cleanup).
2010-11-02 14:05:47 +01:00
Michael Natterer
9cb69b80be app: minor fixes 2010-11-01 23:38:17 +01:00
Michael Natterer
7af8cc0e4d app: use a spin scale for fade-length 2010-11-01 22:19:59 +01:00
Michael Natterer
7bfdf76a47 app: use the new opacity prop scale 2010-11-01 22:07:55 +01:00
Michael Natterer
0a98d16814 app: use spin scales for all trivial cases in tool options 2010-11-01 21:48:59 +01:00
Michael Natterer
fc0e19022e app: use a spin scale for the jitter amount 2010-11-01 21:03:01 +01:00
Michael Natterer
5e58df8aa8 app: use a GimpSpinScale for the brush angle, please test and comment! 2010-11-01 20:04:53 +01:00
Martin Nordholts
df0772fcde app: Add 'crop_set_width_without_pending_rect' regression test
Add regression test 'crop_set_width_without_pending_rect' for "Bug
322396 - Crop dimension entering causes crash".
2010-10-31 15:09:03 +01:00
Martin Nordholts
48690d60e1 app: Add gimp_tools_get/set_tool_options_gui()
Add gimp_tools_get_tool_options_gui() and
gimp_tools_set_tool_options_gui() widgets utility functions.
2010-10-31 13:05:15 +01:00
Alexia Death
8663b22c2a app: Fixes to brush scale->size replacement 2010-10-30 21:38:54 +03:00
Michael Natterer
ae742f0920 app: some cleanup in the new brush size code 2010-10-30 19:56:24 +02:00
Alexia Death
5d42803d7f app: Expose brush size in pixels, not as ratio 2010-10-30 19:51:07 +03:00
Michael Natterer
79f0f5639b Don't use gtk_container_add() for adding to GtkBoxes
because the packing options are different for GtkH/VBox and GtkBox
itself which is now instantiable. Instead, always use
gtk_box_pack_start() and specify expanding explicitely.
2010-10-30 14:57:56 +02:00
Alexia Death
e8df164366 app: Add dynamics selector to the tool options 2010-10-27 21:49:24 +03:00
Martin Nordholts
c33b287dab app: Register GimpToolAction for gimp_enum_get_value_name()
Register GimpToolAction so we can use gimp_enum_get_value_name() on
it.
2010-10-26 14:23:08 +02:00
Martin Nordholts
73d2f44210 app: Add some GimpRectangleTool GIMP_LOG() messages 2010-10-26 14:23:08 +02:00
Michael Natterer
400f5ac5f3 app: store adjustments as GtkAdjustment pointers instead of GtkObject ones
and get rid of casting them.
2010-10-19 12:28:26 +02:00
Michael Natterer
22db39afd2 app: fix incomplete earlier s/GtkAnchorType/GimpHandleAnchor/ change 2010-10-18 20:13:09 +02:00
Michael Natterer
5b64b83569 app: introduce enum GimpHandleAnchor as replacement for GtkAnchorType
because the latter is gone in GTK+ 3.0
2010-10-18 12:50:17 +02:00
Michael Natterer
c36f762f7d libgimpwidgets: deprecate GimpUnitMenu and gimp_prop_unit_menu_new()
Add gimp_prop_unit_combo_box_new() and adapt all places using the
prop_unit_menu. Some things are broken now, like there are no pixel
digits set, resolution unit menus show "pixels" and warn badly when
pixels is selected, and file-pdf-load is not built right now.
More fixes to come...
2010-10-14 23:03:34 +02:00
Michael Natterer
8e0dd56feb app: fix crashes by not trying to navigate on a NULL layout
Add boolean return value to gimp_text_tool_ensure_layout() and check
it where needed. Also fix the new VISUAL_POSITIONS navigation code yet
again.
2010-10-14 11:01:16 +02:00
Michael Natterer
852196eb3d app: fix insert and overwrite cursors for RTL text
by using the right function to figure the location of both kinds of
cursors. Also fix crash in my last cursor movement commit: check for
error values returned by pango_layout_move_cursor_visually() and don't
try to move the cursor beyond the buffer boundaries.
2010-10-14 02:45:32 +02:00
Michael Natterer
0c7ec05035 app: honor text direction when moving the cursor
Use pango_layout_move_cursor_visually() instead of e.g. simply using
gtk_text_iter_forward_cursor_position() when "right" was pressed.
This is much more correct now but still not 100% right.
2010-10-14 01:01:33 +02:00
Michael Natterer
11bc11d2f7 app: add back the draw timeout 2010-10-11 22:27:32 +02:00
Michael Natterer
38153d7476 app: gimp_paint_tool_oper_update(): stop/start the draw tool only when needed 2010-10-11 22:26:52 +02:00
Michael Natterer
3de4d7263a app: Bug 631619 - Drawing artifacts spread by paintbrush outline on canvas
Add a transform matrix to GimpCanvasBoundary and get rid of the whole
BoundSeg transform code in boundary.c and gimpbrushcore.c, it was
impossible to get this right on that level. Also fix te extents of
GimpCanvasBoundary os it leaves no artifacts.
2010-10-09 22:00:19 +02:00
Michael Natterer
545e65dda6 app: add gimp_display_shell_selection_pause() and _resume()
and use them instead of gimp_display_shell_selection_control() with
the resp. enum values. Remove the GIMP_SELECTION_PAUSE and _RESUME
enums values and thus the presence of this concept in the core.
2010-10-09 14:26:33 +02:00
Michael Natterer
e11ca44ba0 app: use gimp_display_shell_selection_control() in the paint tool
not gimp_image_selection_control(). The image dealing with that
is an artifact that is going to die.
2010-10-09 14:07:04 +02:00
Michael Natterer
54a65fa9c3 app: add gimp_draw_tool_add_path() and use it in the vector tool
Also clean up gimp_vector_tool_draw() a bit.
2010-10-07 14:10:57 +02:00
Alexia Death
d7492cb528 app: remove forward transform preview from cage tool, reverse is actually faster 2010-10-07 00:41:40 +03:00
Michael Natterer
49f2204a8a app: add a newline 2010-10-05 09:08:56 +02:00
Michael Natterer
4151d9f693 app: some draw tool cleanup
- call undraw() from draw() instead of duplicating its code
- merge clear_items() into undraw()
2010-10-04 23:31:25 +02:00
Sven Neumann
8587e1e920 app/tools: introduce gimp_draw_tool_add_crosshair()
gimp_draw_tool_add_crosshair() is a convenience function that
adds two intersecting guide lines in a stroke group.
2010-10-04 22:02:12 +02:00
Sven Neumann
5a3dc38af0 app/tools: draw two guides for the moving sample point
Instead of drawing two lines cropped at image borders, use two guides
that extend all across the canvas and also put them into a stroke group.

Also apply a similar fix as in the move tool and don't use -1 but
G_MININT as the invalid sample point position.
2010-10-04 21:40:52 +02:00
Sven Neumann
5e0fbc66a0 app/tools: don't use -1 as invalid guide position
Introduce a define for the invalid guide position that is used when
creating a new guide and define it as G_MININT. The value of -1
that used to be used for this caused the moving guide to disappear
at position -1.
2010-10-04 21:22:28 +02:00
Michael Natterer
b693269060 app: simplify creating of stroke and fill groups a lot
- add gimp_draw_tool_push_group()/pop_group() which manage a stack
  of groups; all items automatically get added to the stack's top group
- use push_group()/pop_group() all over the place, which saves a lot
  of code in most cases
- return GimpCanvasGroup not GimpCanvasItem pointers from
  gimp_draw_tool_add_stroke_group() and fill_group()

Unrelated:

- add GipmCanvasGroup parameter to gimp_rectangle_tool_draw()
- put rect select's round corners into the stroke group to
  avoid ugly overdrawing (the mis-alignment of arcs becomes
  very visible now however, will fix that soon)
2010-10-04 14:03:37 +02:00
Michael Natterer
64d9d76722 app: gimp_draw_tool_add_arc() pass the "filled" parameter down to the item
instead of always passing FALSE.
2010-10-04 13:58:29 +02:00
Michael Natterer
d88a348c18 app: add public API for the "guide-style" and "sample-point-style" properties
of the guide and sample point canvas items. They are too obscure to
additionally hide them, and these items are used rarely enough to
justify the additional parameter to the new() functions.
2010-10-03 22:14:40 +02:00
Martin Nordholts
19bf6ff497 Bug 629926 - some tool sliders are not usable
"Aspect Ratio" takes too much horizontal space, shorten to just
"Aspect".
2010-10-03 19:06:24 +02:00
Michael Natterer
f3450431a3 app: add a pen canvas item class and use it in the foreground select tool
Remove gimp_display_shell_draw_pen().
2010-10-03 02:26:40 +02:00
Michael Natterer
33ab94517f app: add gimp_draw_tool_add_stroke_group() and add_fill_group()
and use it in all tools which have groups.
2010-10-01 14:24:46 +02:00
Michael Natterer
201bfe3e25 app: add a "shell" property to GimpCanvasItem
and pass it to all constructors. The GimpDisplayShell is needed
because items are going to become more powerful soon.
2010-10-01 14:13:45 +02:00
Michael Natterer
26d0035be0 app: draw guides using GimpCanvasItems
- Add signals GimpImage::guide_added(), removed() and moved()
- Remove singal GimpImage::update_guide()
- Adapt core code to emit the new signals instead of update_guide()
- Have the shell connect to the new signals and update guide canvas
  items as needed
- Remove gimp_display_shell_draw_guides()
2010-10-01 10:34:15 +02:00
Michael Natterer
2ced18cc87 app: add gimp_draw_tool_add_sample_point()
and use it in the color tool. Also rename
gimp_draw_tool_add_guide_line() to gimp_draw_tool_add_guide().
2010-09-30 02:03:16 +02:00
Michael Natterer
f5750647c1 app: use a GimpCanvasSamplePoint to draw the hovered sample point 2010-09-30 01:32:34 +02:00
Michael Natterer
50efb96222 app: remove empty GimpTool::control() implementation 2010-09-30 00:40:42 +02:00
Michael Natterer
a8259996e4 app: simplify the drawing code
by using gimp_draw_tool_add_guide_line() for the active guide too.
2010-09-30 00:39:15 +02:00
Michael Natterer
d3e2db88bb app: restart the draw tool after moving a guide
so the dropped guide is highlighted. Also don't uselessly stop/start
the draw tool in each oper_update(), only do so when the display
changes.
2010-09-30 00:29:11 +02:00
Michael Natterer
89af8f4143 app: use a GimpCanvasGuide to display the hovered guide
And don't call any shell draw functions directly any longer.
2010-09-30 00:18:00 +02:00
Michael Natterer
7edfa2ca54 app: start an infrastructure where the shell keeps around its canvas items
- Invalidate the proper area when an item gets added or removed.
- Draw the kept canvas items instead of calling a draw tool function.
- The draw tool now sets its item on the shell.
2010-09-29 22:12:01 +02:00
Sven Neumann
2ef259cd20 app: use GimpRGB as mask color
Instead of passing GimpChannelType as mask color to
gimp_display_shell_set_mask(), change that function to accept a
GimpRGB color.

Adapt GimpForegroundSelectTool, the only user of the display mask
feature, to this change.
2010-09-29 20:35:00 +02:00
Michael Natterer
ebeb933350 app: add gimp_display_shell_expose_item() and use it in the draw tool 2010-09-29 20:10:21 +02:00
Michael Natterer
e869e83f56 app: add the text tool's selection rectangles to a filling group
Doesn't look any better but is a step in the right direction.
2010-09-27 23:04:18 +02:00
Michael Natterer
3f2641c4be app: put the bounding box lines into a stroking group 2010-09-27 19:32:25 +02:00
Alexia Death
1a5bacf649 Fix cage tool to work with the draw tool in master 2010-09-26 23:57:45 +03:00
Michael Natterer
06da10bc08 app: change boundary drawing by tools to work like the selection
- GimpCanvasBoundary takes unsorted BoundSeg arrays now and uses
  gimp_display_shell_transform_boundary() and gimp_cairo_add_boundary().
- Nobody calls boundary_sort() any longer for the purpose of displaying
  a boundary.
- gimp_display_shell_transform_boundary() got offset parameters
  so it can transform things that are not in the image's coordinate
  system.
2010-09-26 22:41:04 +02:00
Michael Natterer
4492725110 app: add some (disabled) code that draws the untransformed brush outline 2010-09-26 22:27:55 +02:00
Alexia Death
74e5864fa6 Merge branch 'master' into soc-2010-cage-2 2010-09-26 23:08:15 +03:00
Michael Natterer
ffd57307c8 app: put the transform tool's grid and boundary into a stroke group 2010-09-26 18:44:40 +02:00
Michael Natterer
6ec1729035 app: add the handle that is being dragged to the stroke group too 2010-09-26 17:13:53 +02:00
Michael Natterer
9cce1b894b app: put a lot of rectangle tool lines into a stroke groups
so they don't overlap.
2010-09-26 16:17:05 +02:00
Michael Natterer
e0f35d8979 app: put the lines and the angle arc into a stroke group
This looks much better, and makes the lines appear under the handles
as a nice side effect.
2010-09-26 15:49:10 +02:00
Michael Natterer
a306a46d45 app: make the code that puts the lines into a stroke group nicer
This much lesss feels like we need new API, let's see...
2010-09-26 15:43:59 +02:00
Michael Natterer
4b89850a2e app: draw the free select tool's line in one stroke()
This is clearly too complicated for general use, but it's only a test
case for the new APIs.
2010-09-26 14:17:04 +02:00
Michael Natterer
b173707c84 app: add gimp_draw_tool_remove_item() 2010-09-26 14:15:47 +02:00
Michael Natterer
970a062b01 app: argh! never add even only one line of code without testing... 2010-09-26 00:30:09 +02:00
Michael Natterer
b3af235e79 app: rename all gimp_draw_tool_draw_foo() functions
to gimp_draw_tool_add_foo() because that's what they do now.
2010-09-25 19:02:22 +02:00
Michael Natterer
5089b9a706 app: remove gimp_draw_tool_in_radius()
It was used only once and that code is not less readable when using
gimp_draw_tool_calc_distance_square().
2010-09-25 18:24:38 +02:00
Michael Natterer
dfd5a265eb app: remove gimp_draw_tool_draw_dashed_line()
Instead, draw a normal line and set the "highlight" property on the
returned canvas item.
2010-09-25 18:04:40 +02:00
Michael Natterer
e91dce5f9f app: remove gimp_draw_tool_draw_arc_by_anchor()
Instead, draw a circular handle and set the angles on the returned
canvas item.
2010-09-25 17:59:56 +02:00
Michael Natterer
5cda4393d0 app: return the created item from gimp_draw_tool_draw_foo() 2010-09-25 17:52:56 +02:00
Michael Natterer
02924e1e70 app: change the unit of angles in the draw tool's draw_arc() functions
from the weird X 1/64 of a degree to radian.
2010-09-25 17:35:40 +02:00
Michael Natterer
df44ced093 app: keep the draw tool's items around in a GimpCanvasGroup
which reduces the number of invalidations on the canvas to one.
2010-09-25 17:20:08 +02:00
Michael Natterer
62f8f559a7 app: add gimp_draw_tool_add_item() and use it all over the place 2010-09-25 11:19:00 +02:00
Michael Natterer
cbaf997ae2 app: undraw the old canvas items only before drawing new ones
or when the draw tool is really stopped. This seems to get rid of any
remaining flickering and also reduces expose events. Also get rid of
the "is_drawn" state and API because they make no sense any longer.
2010-09-24 23:25:19 +02:00
Michael Natterer
5d14e9befc app: move clearing and invalidating canvas items to utility functions 2010-09-24 21:25:01 +02:00
Michael Natterer
7a6a57c42f app: remove code in draw() that special cases drawing vs. undrawing
GimpDrawTool::draw() is not used for undrawing any longer.
2010-09-24 21:18:45 +02:00
Michael Natterer
313f8bee1e app: remove "gboolean use_cairo" from the draw tool again
It's always TRUE now.
2010-09-24 21:14:49 +02:00
Michael Natterer
21adcb22e1 app: port the region select tool to gimp_draw_tool_draw_boundary()
instead of drawing cached segments directly. This is a massive
performance regression, will have to optinmize boundary drawing
some other way.
2010-09-24 20:58:22 +02:00
Michael Natterer
a5c961ae6f app: remove the last traces of gimp_canvas_draw_foo() from the draw tool 2010-09-24 20:40:02 +02:00
Michael Natterer
9154814b94 app: enable cairo drawing for the text tool
This looks absolutely unacceptable if there is a selection, will
fix that later with a special text selection item or a special
style.
2010-09-24 20:35:59 +02:00
Michael Natterer
957acb42e8 app: add support for cairo text cursor drawing 2010-09-24 20:35:14 +02:00
Michael Natterer
e7f1d444c3 app: remove much more dead code paths from the draw tool and the canvas 2010-09-24 19:08:19 +02:00
Michael Natterer
9cb4a2e87b app: enable cairo drawing for the align tool 2010-09-24 18:59:05 +02:00
Michael Natterer
926bbc6658 app: enable cairo drawing for the rect and ellipse select tools
and draw the rectangle's round corners under the bounding box.
2010-09-24 18:43:09 +02:00
Michael Natterer
67708a65a1 app: add support for cairo arcs 2010-09-24 18:42:36 +02:00
Michael Natterer
db1da1ed64 app: handle sizes should be odd numbers 2010-09-24 13:13:53 +02:00
Michael Natterer
398742b3ac app: draw the grid under the bounding box 2010-09-24 13:13:33 +02:00
Michael Natterer
b5194b65c5 app: handle sizes should be odd numbers 2010-09-24 13:13:02 +02:00
Michael Natterer
75c11e259d app: fix off-by-one in rectangle tool guides
and draw the guides below the rectangle.
2010-09-24 11:21:07 +02:00
Michael Natterer
4a5d3301ad app: enable cairo drawing for the crop tool 2010-09-24 10:51:10 +02:00
Michael Natterer
6fb802f77b app: add draw tool support for cairo corners 2010-09-24 10:50:44 +02:00
Michael Natterer
41c338ce93 app: remove XOR drawing code paths which are now dead 2010-09-24 02:11:04 +02:00
Michael Natterer
3afd2da690 app: enable cairo drawing for the measure tool 2010-09-24 01:33:15 +02:00
Michael Natterer
1c550d4623 app: suppose arc slices 2010-09-24 01:32:57 +02:00
Michael Natterer
590e63f658 app: enable cairo drawing for all transform tools 2010-09-23 23:52:32 +02:00
Michael Natterer
a75b298946 app: enable cairo drawing for the edit selection tool 2010-09-23 23:47:20 +02:00
Michael Natterer
3b4d26e8d2 app: enable cairo drawing for all paint tools 2010-09-23 23:39:36 +02:00
Michael Natterer
ecd59cd013 app: add cairo support to boundary drawing 2010-09-23 23:39:16 +02:00
Michael Natterer
2c0520281d app: reorder code in draw() so handles are on top of lines 2010-09-23 19:47:14 +02:00
Michael Natterer
39a4dfb923 app: enable cairo drawing for the vector tool 2010-09-23 19:26:29 +02:00
Michael Natterer
db1a85148e app: use the highlight color for "dashed" lines, oh well... 2010-09-23 19:26:02 +02:00
Michael Natterer
fb68e40214 app: draw the line before the handles so it will look ok with cairo 2010-09-23 19:24:32 +02:00
Michael Natterer
76be01d026 app: enable cairo drawing for the move tool 2010-09-23 19:24:26 +02:00
Michael Natterer
fe5e989af6 app: add support for drawing guide lines with cairo 2010-09-23 19:24:21 +02:00
Michael Natterer
ddc63de6d6 app: remove "gboolean use_offsets" from gimpdisplayshell-transform.[ch] 2010-09-23 19:24:04 +02:00
Michael Natterer
a0cb4fe805 app: add boundary_offset() which offsets BoundSegs in place
and use it in gimp_region_select_tool_calculate().
Also fix boundary_transform() indentation.
2010-09-23 19:23:58 +02:00
Michael Natterer
4d0c750327 app: get rid of "gboolean use_offsets" in the draw tool
and always pass image coordinates. Transform the coords manually in
the very few places which passed TRUE.
2010-09-23 19:23:27 +02:00
Michael Natterer
517e77b707 app: keep GimpColorTool->center_x and _y around in image coords 2010-09-23 01:04:22 +02:00
Michael Natterer
7c82f3dc09 app: add gimp_canvas_polygon_new_from_coords()
and use it from gimp_draw_tool_draw_strokes().
2010-09-23 00:40:32 +02:00
Michael Natterer
eeeea7c69b app: enable cairo drawing for the iscissors tool 2010-09-23 00:30:09 +02:00
Michael Natterer
f9a7bea24a app: enable cairo drawing in the free select tool 2010-09-23 00:00:57 +02:00
Michael Natterer
83bab2f0cd app: add support for cairo polygons 2010-09-23 00:00:57 +02:00
Michael Natterer
721fae71fb app: enable cairo drawing for the color picker tool 2010-09-22 22:45:17 +02:00
Michael Natterer
e7de19ed2f app: remove debug spew in the draw tool 2010-09-22 22:26:41 +02:00
Michael Natterer
919b3d83b8 app: enable cairo drawing in the blend tool
and reorder drawing functions so the handles are on top of the line.
2010-09-22 22:25:37 +02:00
Michael Natterer
55369b5f22 app: enable cairo drawing in the zoom tool 2010-09-22 22:25:09 +02:00
Michael Natterer
683e097d89 app: add cairo drawing support in GimpDrawTool
- add boolean "use_cairo" toggle to enable it per tool
- split draw() in draw() and undraw() and add cairo variants of drawing
- create canvas items in draw_line(), draw_handle() and draw_rectangle()
- some related changes
2010-09-22 22:19:28 +02:00
Michael Natterer
5722345cc7 app: remove prototype for non-existing gimp_draw_tool_set_transform() 2010-09-22 21:02:38 +02:00
Michael Natterer
24654e0df3 app: remove the draw timeout from GimpDrawTool
This slows down painting again, but it's in the way of refactoring so
the slowdown is temporary.
2010-09-22 15:31:17 +02:00
Michael Natterer
69da253e51 app: move enum GimpHandleType to display-enums.h 2010-09-20 19:26:34 +02:00
Michael Natterer
0c1073460c app: get rid of some public draw tool API
and use gimp_draw_tool_draw_handle() instead which does exactly the
same for these cases.
2010-09-20 00:13:32 +02:00
Michael Natterer
7e28f52dd7 app: remove unused clipping functions in GimpDrawTool and GimpCanvas 2010-09-19 18:58:23 +02:00
Simon Budig
4e3775b7c5 app: another rounding fix, style cleanups. 2010-09-17 22:27:28 +02:00
Simon Budig
610b6a23e2 app: properly round the bounding box in the move tool 2010-09-17 21:59:51 +02:00
Sven Neumann
72b25fd355 app: let the vectors tool draw vectors the old way again
Seems like the best solution until tool drawing is ported to cairo.
2010-09-16 23:09:14 +02:00
Sven Neumann
5ab83e72ac app: don't let the vectors tool draw the active vectors
Let the display shell deal with drawing the vectors. The vectors
tool only draws the handles on the active vectors object.
2010-09-16 21:13:08 +02:00
Michael Natterer
095ae5cc9b app: move mask_bounds() and mask_intersect() from GimpDrawable to GimpItem
There is nothing drawable-specific in there, and having them on
GimpItem enables some simplifications, esp. in upcoming PDB
wrappers. None of these refactorings is in this commit though.
2010-09-07 21:30:46 +02:00
Sven Neumann
178aa9c6dc app/tools: fix alternative button order 2010-09-07 20:39:45 +02:00
Alexia Death
e133035440 Fix point selection detection 2010-09-05 13:33:26 +03:00
Alexia Death
d261248792 Clean up debug code 2010-09-05 12:48:23 +03:00
Alexia Death
55b0c9f08e Some generic method sorting and cleanup in the tool 2010-09-02 22:28:06 +03:00
Alexia Death
6ecb219c4f Fix a preview update related segfault 2010-09-02 20:11:34 +03:00
Alexia Death
6dc2042fe2 app: cage tool adjustments and fixes
Just show the complete preview and take the fill color from under first point.
2010-08-30 23:36:20 +03:00
Alexia Death
aee148a486 Merge branch 'master' into soc-2010-cage-2 2010-08-26 21:50:55 +03:00
Michael Natterer
cd192adf09 app: undo some of the previous refactorings and keep using GdkSegment
It's not going to be deprecated, so there is no harm in using it; get
rid of all the added _old() functions too.
2010-08-25 21:21:16 +02:00
Michael Natterer
3127d36216 app: rename gimp_display_shell_transform_segments()
to gimp_display_shell_transform_segments_old() as step one
of porting selection drawing to cairo.
2010-08-25 01:37:19 +02:00
Michael Natterer
18d3882c5c app: port GimpDisplayShell pen drawing to cairo 2010-08-23 21:59:27 +02:00
Martin Nordholts
92d0b22653 app: Fix translation, "region_select" => "selection" 2010-08-17 19:08:33 +02:00
Martin Nordholts
876e99fdd0 app: Rectangle tool: Allow 'size' separators in 'aspect' and vice versa
In the Rectangle tool options, allow 'Fixed: Size' separators in
'Fixed: Aspect ratio' and vice versa, no point in being strict.
2010-08-16 22:00:06 +02:00
Michael Muré
f44dcf26b3 fill the original cage position with a plain color + UI 2010-08-15 14:20:47 +02:00
Alexia Death
28cfa9d3df tools: Fix some warnings I introduced into cage tool earlyer 2010-08-15 02:58:31 +03:00
Alexia Death
f037300658 tools: Many cage tool fixes.
Adds idle function to update the projection while imagemap is rendering.
2010-08-15 02:32:31 +03:00
Michael Muré
6c36d7ac13 gimpcagetool: add preview 2010-08-13 18:25:48 +02:00
Michael Muré
c29396a0c2 GimpCageTool: add code in #if #else #endif to test the forward transform 2010-08-12 14:38:21 +02:00
Michael Muré
3d79167074 change name of gimp cage gegl op to gimp internal op. 2010-08-12 13:47:31 +02:00
Michael Natterer
1d1ff1fedd app: port GimpDisplayShell sample point drawing to cairo
Same disclaimer about tool uglyness applies here. Will be fixed.
2010-08-12 13:13:15 +02:00
Michael Natterer
922c330bec app: port GimpDisplayShell guide drawing to cairo
The cairo_t code in GimpMoveTool is still disgusting. This probably
needs some GimpTool API that creates a cairo_t for tools.
2010-08-12 00:51:58 +02:00
Michael Muré
fe9f1f4a01 GimpCageTool: better memory gestion in different handle
+ code to render/debug coefficient, in #if #else #endif
+ cleaning / coding style
2010-08-11 20:27:32 +02:00
Michael Muré
67c1981a40 GimpCageTool: don't allow to add handle after closing the cage 2010-08-10 00:58:24 +02:00
Michael Muré
34b40a6c7e solve the problem result cropped to the bounding box of the cage 2010-08-09 23:33:11 +02:00
Michael Muré
19b81bb097 gimpcagetool: fix buffer leak 2010-08-08 18:21:26 +02:00
Michael Muré
459414c9dc gimpcagetool: use cage_transform and gegl_render_mapping to do the transform
gimpoperationcage: cleaning
gimpcageconfig: cleaning
2010-08-08 13:27:20 +02:00
Michael Muré
9677eeeffc gimpcagetool: add a warning if the coef buffer isn't initialised 2010-08-08 13:27:11 +02:00
Michael Muré
8c33eb83f7 gimpcagetool, gimpoperationcage: now the forward transform work as
expected
2010-08-08 13:27:02 +02:00
Michael Muré
3c5c65ea3c gimpcagetool: use GimpCageConfig, and apply gegl op. Doesn't work yet. 2010-08-08 13:26:52 +02:00
Michael Muré
c686093b38 make GimpCageOptions to use the new enum for Cage mode 2010-08-08 13:25:10 +02:00
Michael Muré
066bbb80f4 gimpcagetool: flush the image correctly after applying a cage deform 2010-08-08 13:24:39 +02:00
Michael Muré
e141953d35 gimpcagetool: the cage can be closed only if the number of point is 3 or more 2010-08-08 13:24:29 +02:00
Michael Muré
98ff627955 gimpcagetool: fix a missing include and a function declaration 2010-08-08 13:24:16 +02:00
Michael Muré
fcd156014a gimpcagetool: beginning of the link tool/gegl op 2010-08-08 13:24:06 +02:00
Michael Muré
db5981a69c gimpcagetool: draw/edit cage, accordingly to cage mode 2010-08-08 13:22:56 +02:00
Michael Muré
d836615ae7 gimpcagetool: now inherit from GimpDrawTool. Moving cage point also works. 2010-08-08 13:22:44 +02:00
Michael Muré
ad0a81c528 gimpoperationcage: iterate accordingly to cage's bounding box.
pre-copy the input buffer to the output.
2010-08-08 13:22:34 +02:00
Michael Muré
2157a67cea app/core/gimpcage: add access functions to the cage data structure (add a vertice, remove the last, move a vertice, check if a point is near a vertice)
app/tools/gimpcagetool: The tool can now draw a cage, add vertices, remove the last, close the cage
2010-08-08 13:20:24 +02:00
Michael Muré
6a387f7db0 Enhancement of the CageOptions object to allow the selection of the mode (creation or transform of the cage) + basic gui 2010-08-08 13:19:45 +02:00
Michael Muré
f6316285be structure of the cage tool, with an options object 2010-08-08 13:17:10 +02:00
Michael Muré
24652b4fbd empty gobject for GimpCage (data structure), GimpOperationCage (Gegl op) and GimpCageTool (frontend) 2010-08-08 13:16:57 +02:00
Barak Itkin
5a9f2f1eac app: Add '/' as a seperator for the rectangle tools options (in the Fixed field) 2010-07-23 19:17:12 +03:00
Michael Natterer
3184c440b3 app: introduce GimpItem::to_selection()
Which replaces all the deparate functions to turn layers, channels,
layer masks and vectors into selections. Use the new virtual function
all over the place instead of calling the functions in
gimpchannel-select.c manually.
2010-07-20 23:09:19 +02:00
Mukund Sivaraman
597b255262 Update Desaturate tool's status text
The existing text is poor English and is confusing.
2010-07-05 19:27:44 +05:30
Michael Natterer
c448cc7d25 app: really really destroy the tool options widgets this time 2010-06-24 18:38:19 +02:00
Nelson A. de Oliveira
c4588f1209 Bug 575911 - Add 'Rule of fifths' crop guide overlay
Implement a rule of fifths guideline for GIMP. See
http://markhancock.blogspot.com/2006/03/address-basic-composition.html
for more info.
2010-06-24 08:37:09 +02:00
Michael Natterer
bbd4038e98 app: make sure all tool options widgets are properly destroyed
...and with them all references their widgets keep (which are a lot).

Take ownership of the widget after creating it, so it can be reliably
unrefed upon exit.
2010-06-23 22:48:53 +02:00
Michael Natterer
94e757df51 app: don't leak options->language; add finalize() to free it 2010-06-22 23:06:35 +02:00
Michael Natterer
170f0bed00 app: use a GimpOverlayFrame for the text style editor
so it gets round corners and doesn't look so old school.
2010-06-12 23:49:55 +02:00
Michael Natterer
434bfbd6fa app: rename GimpToolOverlay to GimpOverlayDialog
because it's only used by tools currently, but not related to them in
any way.
2010-06-03 22:32:30 +02:00
Michael Natterer
a3b93151aa app: some #if 0'ed testing code I occasionally need for debugging
(so I don't have to constantly add/remove it, will get rid of it
before 2.8)
2010-06-03 22:16:08 +02:00
Michael Natterer
02b8eea086 app: restrict sample point drawing to the exposed region
With the same limitation as for guides in the last commit.
2010-05-02 15:58:51 +02:00
Michael Natterer
6e4be79bef app: restrict grid and guide drawing to the exposed region
Doesn't really clip yet for guide drawing, but at least doesn't bother
to draw them when they are outside the expose region's bounding box.
2010-05-02 15:40:11 +02:00
Alexia Death
06c1b290d0 app: Add tool preset editor to controll what elements get applied
I had to remove the asserrt in tool preset constructor, because with it
it wasnt possible to initalize an empty model object for the editor.
At init time the gimp object passed to the constructor is not yet available.
2010-04-24 17:55:54 +03:00
Michael Natterer
8d3a5099f8 app: turn a g_warning() into a g_return_if_fail() 2010-04-22 17:17:02 +02:00
Michael Natterer
5b28d04674 app: queue the draw timeout only if paused_count reaches zero 2010-04-22 17:15:08 +02:00
Michael Natterer
2f5d2bc85f Bug 616342 - gimp crashes on startup if you have a contextrc file from 2.6
Remove the draw timeout in GObject::dispose() to be safe.
2010-04-22 16:45:44 +02:00
Michael Natterer
56e4585f70 app: finally apply tool presets when one is seleced
currently respects the fact that FG/BG are always global and the
global brush,pattern,... settings from gimprc. This should probably
not change, but rather be overridable on a per-preset basis as
suggested.
2010-04-21 20:56:49 +02:00
Michael Natterer
94181ce538 app: don't overwrite all tool options' "tool" and "paint-info"
with bogus values from contextrc, we want them to always match the
tool option's type.
2010-04-21 20:43:27 +02:00
Michael Natterer
d47aa2ba52 app: change to the preset's tool when a tool preset is selected
but don't set any tool options yet because that is a lot more tricky.
2010-04-20 20:11:37 +02:00
Michael Natterer
547c92d0f6 Bug 541586 - Tool options not saved/loaded correctly?
Don't overwrite the entire context part of all tool options with
values from contextrc, or we will end up with one tool option set to a
non-default values affecting all other tool options that were at their
default value in the next gimp session.
2010-04-18 12:47:18 +02:00
Michael Natterer
93645e9083 app: cosmetic cleanup 2010-04-01 22:29:08 +02:00
Michael Natterer
91cce1c81b app: add size control for text spans, does not work as expected yet 2010-03-28 21:38:31 +02:00
Michael Natterer
d66b6134a0 app: micro cleanups 2010-03-20 22:25:58 +01:00
Alexia Death
69e28668a1 app: Tune redraw limit to sane bounds 2010-03-19 23:25:22 +02:00
Michael Natterer
08193e8b56 Limit the draw tool's redraw framerate to about 29 FPS using a timeout 2010-03-19 21:08:41 +01:00
Alexia Death
054bd341bd app: fix incomplete revert 2010-03-19 21:21:01 +02:00
Alexia Death
1e8ec625df Revert "app: Fix the code that disables outline to be a bit neater"
This reverts commit 58d82dcadc.
2010-03-19 21:21:01 +02:00
Alexia Death
656eb53aad Revert "app: Do not show brush outline when painting"
This reverts commit 031dc8e68a.
2010-03-19 21:21:01 +02:00
Michael Natterer
f9e68fe0ee Fix undo when going back from a modified text layer to an editable one
My earlier change to using gimp_drawable_push_undo() here was a very
bad idea. Go back to using gimp_image_undo_push_drawable_mod(), but
make use of its new tile-copying feature so the problem that made me
do the earlier change is fixed too. See comments in the changed code.
2010-03-18 10:32:52 +01:00
Øyvind Kolås
63824d7153 app: use a blacklist instead of whitelist for gegl op categories
The set of core GEGL ops that GIMP does not want to see falls into a
well defined set of categories. Blacklisting allows freedom in choosing
new and better categorisation for GEGL ops.
2010-03-17 23:48:18 +00:00
Alexia Death
58d82dcadc app: Fix the code that disables outline to be a bit neater 2010-03-17 00:36:19 +02:00
Alexia Death
031dc8e68a app: Do not show brush outline when painting
It takes resourses and jsut gets in the way of seeing the real brush
2010-03-16 23:48:56 +02:00
Alexia Death
bd2f852ac1 app: make off-canvas changes have effect on brush outline 2010-03-16 21:53:34 +02:00
Alexia Death
44a5a34d7e app: Make brush boundaries dynamic aswell 2010-03-15 02:55:15 +02:00
Alexia Death
e85220f8f9 app: Add an option to explicity turn off airbrush rate
This was decided in a discussion with guiguru on irc
some time ago. However, one element is missing. The
rate slider needs to be disabled when motion only is
enabled, because it has no effect.
2010-03-14 17:28:08 +02:00
Alexia Death
861179b452 app: Rename so-called airbrush pressure to Flow
Top reasons for this are, that pressure is already
used as input for dynamcs and the fact that flow of
paint makes much more sense.
2010-03-14 17:23:49 +02:00
Michael Natterer
3e3613bef7 app: allow for more fine-grained baseline and kerning adjustments
In theory for now, by changing the parameters of
GimpTextProxy::change_baseline() and ::change_kerning()
from gint to gdouble.
2010-03-08 21:57:29 +01:00
Michael Natterer
98a2b0210f app: fix crash introduced by layout offset refactoring
Need to call gimp_text_tool_ensure_layou() in gimp_text_tool_draw()
explicitely now, because we don't redundantly call the
get_cursor_rect() function any more when there is a selection.
2010-03-07 17:34:49 +01:00
Michael Natterer
a5409e2872 app: allow to pick text layers with the text tool
When the button_press is not in the currently edited text layer, and
not on any rectangle handle, try to pick a text layer.
2010-03-07 12:41:15 +01:00
Michael Natterer
6650693d29 app: move gimp_image_pick_layer() to its own file
and add a (still unused) text layer picking function.
2010-03-07 01:55:31 +01:00
Michael Natterer
cda52f946c app: minor code cleanup (add local variable to improve readability) 2010-03-07 01:19:32 +01:00
Michael Natterer
2e5de8f6ab app: pass the cursor's PangoRectangle to gimp_draw_tool_draw_text_cursor()
and let the drawing function decide everything instead of doing some
cursor extents fiddling in the text tool.
2010-03-07 01:15:04 +01:00
Michael Natterer
b9405d046a app: fix some corner cases in gimp_text_tool_button_release()
- request "click" releases instead of trying to detect them ourselves,
  but keep a minimum reasonable text layer size anyway (reduce it from
  20 to 3 pixels though).
- ignore RELEASE_CANCEL when selecting, we can't undo that yet.
- properly handle RELEASE_CANCEL when creating new lext layers (don't
  leave a dead overlay style editor around).
2010-03-07 00:53:32 +01:00
Michael Natterer
a077d618ea app: no need any more to block drawing before non-text changes to the proxy 2010-03-07 00:21:51 +01:00
Michael Natterer
44f6d074a3 app: call gimp_text_tool_block_drawing() in proxy_notify()
so we also correctly handle non-text and non-markup changes (e.g. via
tool options). This is not exactly the right place to call
block_drawing(), but all places which change change the actual content
(and thus un-sync buffer and layout cursor posotions) already block
drawing before the actual buffer change happens.
2010-03-07 00:15:32 +01:00
Michael Natterer
2934095816 app: use gimp_text_layout_get_offsets()
instead of duplicating GimpTextLayout's positioning logic in two
different incomplete ways. Also gets rid of the unrelated offset
return values of gimp_text_tool_editor_get_cursor_rect().
2010-03-07 00:11:05 +01:00
Michael Natterer
e9f85b3afc app: block text buffer signals around copying to the clipboard
so the copying doesn't produce an undo step. Same fix as applied
earlier in button_press().
2010-03-05 10:53:09 +01:00
Michael Natterer
076948b4b7 app: don't leave drawing blocked in the error case 2010-03-05 10:50:50 +01:00
Michael Natterer
5284c9c836 app: fix text tool drawing for good this time (hopefully)
Earlier I claimed that drawing would work now because we make sure
that buffer and layout are always in sync. This was nonsense. In fact,
we constantly ran into the sutiation where the buffer was modified,
and we were drawing with the previous layout. It's unclear why this
didn't cause drawing artifacts, but it did cause e.g. the cursor
temporarily jumping to the next position while editing in the middle
of text (especially visible at line ends).

Several underlying problems existed: first, we now modify the buffer
from outside the text tool (from GimpTextStyleEditor) where we can't
pause the tool; second, proxy changes are handled asymetrically
(property changes are queued and processed all together in an idle
function) so we can't pause/resume drawing across the entire operation
because it has many beginnings and only one end.

Therefore:

- add gimp_text_tool_block_drawing()/unblock_drawing(), where block()
  can be called as many times as needed, and a single unblock()
  enables drawing again. block() also clears the layout, because it
  served its purpose (it was just used to pause drawing, and we know
  the buffer will change, so kill it).
- connect to GtkTextBuffer::begin-user-action and call block() from
  the callback, so we undraw stuff and kill the cached layout before
  any buffer change happens.
- call unblock() at the end of gimp_text_tool_apply() because then
  the text and the buffer are in sync again, the tool is undrawn and
  we can safely create the layout again to draw our stuff.
- also call block()/unblock() from some other places, like when a
  new text layer is created.
- get rid of *all* calls to draw_tool_pause()/resume() around buffer
  modifications, they are not needed any longer.
- add calls to begin/end_user_action() where they were missing.
2010-03-04 23:47:23 +01:00
Michael Natterer
e54a05f78f app: get rid of gimp_text_tool_idle_apply()
and make gimp_text_tool_apply() itself the idle function. Might seem
like a bad idea, but is needed by an upcoming drawing refactoring.
2010-03-04 23:10:23 +01:00
Michael Natterer
bbd2d521f1 app: rename "spacing" to "kerning" because that's what it does 2010-03-03 10:48:42 +01:00
Michael Natterer
080f1a6ce4 app: fix editing text layers which don't contain markup
In gimp_text_tool_connect(), set either text *or* markup on the
buffer, or the latter will always override the former (now that text
and markup are mutually exclusive in GimpText).
2010-03-03 01:15:27 +01:00
Michael Natterer
9a9d7489d1 app: make undo compression in the text tool work again
- in GimpText, make "text" and "markup" mutually exclusive, so that
  whenever one is set to non-NULL, the other is cleared automatically.
- add gimp_text_buffer_has_markup() which returns TRUE if any char
  in the buffer is tagged.
- in the text tool, only set "markup" on the text proxy if there is
  actually markup in the buffer, and set "text" otherwise.

This way we don't push "text" *and* "markup" undos on each keystroke,
and undo compression works the way it did before.
2010-03-02 21:54:24 +01:00
Michael Natterer
9c4864e789 app: optimize away redundant and expensive text layer re-rendering
- Add signal GimpText::changed() and emit it from
  GObject::dispatch_properties_changed() after all notifications have
  been emitted, so "changed" is emitted only once for any number of
  properties set within a g_object_freeze/thaw_notify() pair.
- Connect GimpTextLayer to "changed" instead of "notify" so we aviod
  lots of expensive re-rendering when multiple properties are set
  at once.
- Connect GimpTextTool to "notify" *and* "changed", and move some
  common code to the "changed" callback (e.g. we don't need to
  re-frame the item for each set property).
2010-03-02 17:44:31 +01:00
Michael Natterer
6d4f2c3431 Bug 565001 - Text-Tool crashes when edit a 2.4.2 version xcf
Need to convert to text->box_unit, not text->unit.
2010-03-02 15:24:17 +01:00
Michael Natterer
1fb61b8515 app: make sure mouse-selecting doesn't push an undo step
GtkTextBuffer emits "end-user-action" after something has been copied
to the clipboard. Work around that bug.
2010-03-02 13:04:37 +01:00
Michael Natterer
78ea82df1f app: simplify mouse selection by using iters instead of indices
This also removes the evil code dupication added yesterday, and is
generally less and cleaner code.
2010-03-02 12:23:29 +01:00
Michael Natterer
aeac58089b app: add a font selector to the text style editor
Selects fonts just fine, but has no effect on the text yet.
2010-03-02 00:12:27 +01:00
Michael Natterer
f214b4f9b7 app: oper_update(): if we are not in proximity, set the function to DEAD
so all hovering is undrawn. oper_update() is called with proximity ==
FALSE when the pointer leaves the canvas, either to the outside or
into an overlay widget, so this is exactly the right thing to do (and
is probably missing from a lot of other tools too).
2010-03-01 23:34:52 +01:00
Michael Natterer
8a1a19fc32 app: argh forgot one more place
Time for a refactoring that pulls the forgotten code into one common
place.
2010-03-01 21:39:26 +01:00
Michael Natterer
3d1f677b4f app: fix cursor placement and selecting by mouse when there is manual kerning
Forgot to convert the layout coords to buffer offsets functions when
porting everything to the new iter/index conversion functions in
GimpTextBuffer.
2010-03-01 21:19:08 +01:00
Michael Natterer
f8ac0c61ab app: make manual kerning / character spacing work
Add gimp_text_buffer_get_iter_at_index() which does the reverse thing
than the already existing function gimp_text_buffer_get_iter_index().
Use the new function when cursor-navigation lines. Add "gboolean
layout_index" to both functions, which if TRUE indicates that the
passed in/out index is an index into the PangoLayout's content rather
than the text buffer's. When dealing with layout indices, take into
account the additional characters we insert into the serialized markup
(and thus the layout) for each character that is tagged with spacing.
2010-03-01 16:27:34 +01:00
Michael Natterer
ff50b52c72 app: use gtk_text_buffer_delete_interactive()
instead of just gtk_text_buffer_delete() so "end-user-action" is
emitted and everything is updated.
2010-03-01 16:03:48 +01:00
Martin Nordholts
11b1300b6f app: Introduce gimp_dialog_factory_get_singleton()
Instead of including dialogs/dialogs.h everywhere, introduce
gimp_dialog_factory_get_singleton(). The dialog factory singleton is
still initialized by dialogs.c though.

Right now the assumption is that we never will have another dialog
factory instance around. There were so many problems before when we
had four of them, so let's just keep one of them around.
2010-02-28 23:23:24 +01:00
Martin Nordholts
947e28596f app: Remove gimp_dialog_factory_from_name()
We only have one dialog factory now, and
gimp_dialog_factory_from_name() doesn't provide compile-time type
safety, so use global_dialog_factory directly instead.
2010-02-28 20:02:45 +01:00
Michael Natterer
783e04013a app: make letter spacing work when there is no selection 2010-02-28 17:56:20 +01:00
Michael Natterer
9af58d8c43 app: remove redundant call to gimp_text_buffer_set_text() 2010-02-28 17:19:36 +01:00
Michael Natterer
65216b939d app: group text buffer changes by user actions
Use gtk_text_buffer_begin_user_action() and end_user_action() to group
all text buffer operations triggered by a single editing operation.
Connect to the buffer's "end-user-action" signal instead of to
"changed", "apply-tag" and "remove-tag" separately, so we only update
the text proxy once per user editing.
2010-02-28 17:15:06 +01:00
Michael Natterer
84d33e4316 app: make image-coords overlay widgets work fine at any zoom factor
Add anchor and spacing parameters to the shell overlay API, so
overlays can be positioned on each side of a point in image space,
with configurable spacing in display space.
2010-02-28 14:48:47 +01:00
Michael Natterer
1c8b01f012 app: make the text style editor aware of the image's resolution
Needed for adding proper text size controls.
2010-02-28 14:20:56 +01:00
Michael Natterer
d88949547d app: make the change_spacing() call only act on the cursor position
if there is no selection, instead of on the rest of the buffer.
2010-02-28 13:58:08 +01:00
Michael Natterer
8399eefc95 app: make sure the text style box is repositioned on *each* rectangle change 2010-02-28 13:49:51 +01:00
Alexia Death
45c835aaa2 app: Add API to remove all background curves from the curve view
Also, use this change in cuves tool.
2010-02-27 19:22:48 +02:00
Michael Natterer
1e26bb1348 app: support baseline changing via Alt+Up and Alt+Down
Add a list of available baseline tags to GimpTextBuffer and
automatically create baseline tags as needed. They get serialized as
<span rise="value">, so add attribute and value parameters to the
buffer's tag_to_name() and name_to_tag() functions. Properly managing
the rise's amount is a TODO, currently each keystroke changes the
baseline by 1024 pango units, which might be whatever depending on the
output grid.
2010-02-27 18:00:39 +01:00
Michael Natterer
4171d9c774 app: add signals bindings to change baseline and spacing
Bind them to Alt+up/down/left/right and connect to the signals in
the text tool editor. The callbacks do nothing yet.
2010-02-27 13:14:28 +01:00
Michael Natterer
9766f65132 app: almost fix changing layers
Still leaves artifacts, but it's much better than before.
2010-02-26 21:22:10 +01:00
Michael Natterer
8af94be7a0 app: move the style overlay a few pixels
so it intersects less with the rectangle handles.
2010-02-26 19:56:53 +01:00
Alexandre Prokoudine
b040220ebc Marked forgotten user visible message for translation 2010-02-26 04:36:50 +03:00
Michael Natterer
6c556698e5 app: add gimp_text_buffer_insert() and use it
Does nothing special yet, but will soon apply the currently active
tags to the inserted text.
2010-02-26 02:34:01 +01:00
Michael Natterer
ebfbc5a030 app: make sure the style editor moves with the text layer 2010-02-26 02:10:03 +01:00
Michael Natterer
c0358d8122 app: restore text box moving functionality, it got lost a few commits back 2010-02-26 01:57:51 +01:00
Michael Natterer
9cff2365b1 app: enable editing text styles
- create a GimpTextStyleEditor on the canvas when editing text.
- sync "text" and "markup" between proxy and text, not only "text.
- connect to chages to text marks on the buffer.
2010-02-26 01:36:31 +01:00
Michael Natterer
dbe54e3f05 app: rename GimpTextTool::text_buffer to just ::buffer 2010-02-25 17:49:33 +01:00
Michael Natterer
0b4bdc5613 app: add GimpTextBuffer, a GtkTextBuffer subclass
Pull all text buffer utility functions as methods and use
GimpTextBuffer all over the place instead of GtkTextBuffer.
Some actually usefuly features coming soon...
2010-02-25 17:41:10 +01:00
Michael Natterer
261bb2c598 app: configure the IM overlay's opacity explicitely 2010-02-24 01:37:15 +01:00
Michael Natterer
97db8b9b42 app: add function gimp_text_tool_editor_get_iter_index()
which returns the byte index at a GtkTextIter, and use it all over the
place.
2010-02-24 00:18:50 +01:00
Michael Natterer
14158b982a app: clean up comments 2010-02-24 00:03:15 +01:00
Michael Natterer
a17ede4ce0 app: fix crash caused by bogus value of text_tool->selecting
Set "selecting" to TRUE only when we are definitely in selecting mode
(when there is actually a text layer to click on). This commit also
makes the setting of the "selecting" state much simpler and obvious.
2010-02-23 23:46:09 +01:00
Michael Natterer
f9bee0d42f app: fix XOR cursor drawing artifacts
Switch to a completely new PangoLayout managing stategy: The drawing
code relies on text_tool->layout being a view on text_tool->text_buffer,
if they get out of sync, drawing is b0rk.

Therefore, split the update_layout() function into clear_layout()
(which kill the layout) and ensure_layout() (which creates the layout
if it doesn't exist).

Whenever the buffer gets modified, pause the draw tool before the
modification so the old cursor/selection undraw, then clear the
layout. Resuming the draw tool will automatically re-create the layout
for the buffer's new contents.

Also switch off any clipping for cursor and selection, so we can at
least see that our input has some effect, even if we don't actually
see the edited text because it's out-of-layer.
2010-02-23 23:22:03 +01:00
Michael Natterer
088368079c app: make the coordinates display in the curve view configurable
Add API for X and Y ranges, default to 0.0..1.0 and configure the view
for 0..255 in the curves tool.
2010-02-23 11:39:35 +01:00
Michael Natterer
6224e3d5f7 app: pause/resume the draw tool at some more reasonable places 2010-02-23 10:27:35 +01:00
Michael Natterer
a66cc1639b app: i hate unsigned integers 2010-02-21 23:36:25 +01:00
Michael Natterer
7c63af506e app: don't "fix" the extents of filled rectangles and circles
Apply the fix for Xlib evilness (non-filled rectangles and circles are
drawn one pixel larger) only for non-filled things, filled drawing is
right by default.
2010-02-21 20:41:48 +01:00
Michael Natterer
b6db793e6f app: remove the old selection code, the new one works now and is correct 2010-02-21 20:41:17 +01:00
Michael Natterer
51dc42bdd9 app: use the line's y coords for selection rendering, not the char's
so the selection rectangles have a least the same height.
2010-02-21 20:25:17 +01:00
Michael Natterer
4ec38099e5 app: render the selection char-by-char
so it's correct for all kinds of mixed text directions. Still looks
like crap because all the rectangles are separate, but should be
logically correct now.
2010-02-21 20:11:13 +01:00
Michael Natterer
4295b1712c app: keep the "use-editor" setting consistent
When the editor is closed explicitely, set "use-editor" to FALSE
2010-02-21 18:59:51 +01:00
Michael Natterer
3befe0df59 app: #include "libgimpbase/gimpbase.h" 2010-02-21 17:35:04 +01:00
Michael Natterer
0908e53148 app: use the new unit conversion functions
and get rid of the brainfuck idea that app/ has to use _gimp_unit_foo()
functions, passing a gimp pointer. Instead, simply use the libgimpbase
API all over the place. Should we ever allow more than one gimp instance,
they will simply have to share one unit database.
2010-02-21 16:46:39 +01:00
Michael Natterer
41a277f040 Bug 565001 - Text-Tool crashes when edit a 2.4.2 version xcf
Convert the rectangle size from pixels to units before setting it as
box-width and box-height on the text object.
2010-02-21 14:33:33 +01:00
Michael Natterer
f13204e0a4 app: fix the transition to modified text layer and back
- when the layer becomes modified, completely shut down the text tool
  completely instead of leaving it in some bastard hybrid
  half-attached state.
- when re-editing a modified layer (like after confirming the edit in
  the dialog), push a *drawable* undo, not a drawable_mod undo because
  the latter only refs the layer's tiles and doesn't copy them, so when
  the text layer re-render happens to not change the layer's size, it
  would overwrite the modified pixels without any chance of ever going
  back.

Unrelated:

- in button_press(), fix my recent fix for the condition that triggers a
  mouse-select and set the "seleting" state to FALSE when the
  condition is not met.
- in confirm_response(), don't check if the proxy exists because its
  existence is an invariant.
2010-02-21 12:04:19 +01:00
Michael Natterer
5150f3c8f6 app: when connecting the text object, also set its text on the buffer
and don't do it in editor_start(), which caused an undo to be pushed.
2010-02-21 02:00:57 +01:00
Michael Natterer
a6ca7e184c app: more text tool
- drop the layout in gimp_text_tool_halt()
- reinitialize the tool completely when clicking another display
- therefore, have to recreate the layout in button_press() instead
  of bailing out if it doesn't exist
2010-02-21 01:39:38 +01:00
Michael Natterer
9a3dbbb6ef app: consistent IM callback names 2010-02-20 23:33:58 +01:00
Michael Natterer
b5b6d37742 app: move the entire mouse-selection apparatus to gimptexttool-editor.[ch] 2010-02-20 23:20:18 +01:00
Michael Natterer
75f7e25e3a app: don't call update_layout() from buffer_changed()
because the layout gets updated anyway when the model changes, and the
buffer is not the model, its changes are applied to the model.
2010-02-20 22:48:51 +01:00
Michael Natterer
6c3e385cac app: fix line navigation for lines that are not left-aligned
Take the X position of the lines into account when navigating up and
down by lines, so we end up at the right x-pos also for centered and
right-aligned lines.
2010-02-20 22:18:38 +01:00
Michael Natterer
e91f27a0fd app: simplify selection drawing a lot 2010-02-20 22:11:06 +01:00
Michael Natterer
bd151ac84e app: add background curves when editing the R, B or G curve
Show the other two RGB channels in the background.
2010-02-20 20:32:19 +01:00
Michael Natterer
42de0453da app: when disconnecting from the text layer, also empty our text buffer
or the remaining text will be added to the next text layer which is
created.
2010-02-20 19:43:17 +01:00
Michael Natterer
487336fc09 app: remove gimp_text_tool_update_proxy()
and move its code into gimp_text_tool_buffer_changed() which was its
only caller.
2010-02-20 19:31:27 +01:00
Michael Natterer
c91b026384 app: re-add gimp_text_tool_editor_get_text()
Return the entire buffer and use it in even more places than before to
get rid code duplication.
2010-02-20 19:25:07 +01:00
Michael Natterer
ec0f3bdcb8 app: buncha more text tool fixes
- hide the generated "empty" menu item in the IM submenu
- pause/resume the text tool around all selection/cursor/buffer changes
  (fixes most drawing artifacts)
2010-02-20 16:18:41 +01:00
Michael Natterer
2e0f4e8938 app: make the preedit overlay better readable (text/base instead of fg/bg) 2010-02-20 15:37:54 +01:00
Michael Natterer
4704c18739 app: implement IM preedit using an overlay widget
This has several advantages:

- it's always readable, no matter how sick font/colors are.
- it does not mess up the buffer, which is a model that should not
  contain temporary edit states.
- preediting does not clutter undo.
- it fixes the remaining bugs in the old preediting code because that
  code is completely gone now.
2010-02-20 15:15:53 +01:00
Martin Nordholts
8b458fb591 app: Merge "toplevel" and "dock" dialog factories
Merge "toplevel" and "dock" dialog factories. The end goal is to have
only one dialog factory.
2010-02-20 09:28:26 +01:00
Michael Natterer
a8a732f753 app: fix IM context reset
- Reset the IM context in much more situations, like on button_press
  and when the text editor is initialized and halted (pretty much what
  GtkTextView does).
- As a consequence, halt the rectangle text tool after the text tool
  in control() because cancelling the IM preedit might cause a
  re-framing of the layer because it resized.
- pause()/resume() the draw tool around gimp_text_tool_halt() so we
  definitely avoid drawing atrifacts when the text tool is shut down
  in the middle of an IM preedit. That pause/resume pair should have
  been there from the beginning actually.
2010-02-19 20:13:25 +01:00
Michael Natterer
a8548fa7fd app: remove member text_tool->preedit_len
because it is always strlen(text_tool->preedit_string)
2010-02-19 20:13:24 +01:00
Michael Natterer
99b3af1cd2 app: re-frame the layer on each text change
because just about any text change can also change the text layer size.
2010-02-19 20:13:22 +01:00
Michael Natterer
5feec1dd9f app: some signal handling/updating fixes that also make undo mostly work
- most importantly, when the text changes and we set the buffer (as
  happens when undoing), block the "changed" signal on the *buffer*
  and not on the proxy (which doesn't even have a "changed"
  signal). This was apparently something that happened during the
  on-canvas editor merging.
- don't update the proxy when the layout changes, that's the wrong way
  around. Instead, update the layout whenever the proxy changes,
  remove lots of calls to update_layout() from the text editor and let
  the "changed" callback on the buffer do its job of updating
  everything.
2010-02-19 20:13:21 +01:00
Michael Natterer
92ba7b262a app: remove "return" at the end of a void function 2010-02-19 20:13:19 +01:00
Michael Natterer
21e2462b2c app: only resize the text layer if the rectangle size has actually changed
Like when the user just clicked a handle and didn't actually move it.
2010-02-19 20:13:18 +01:00
Michael Natterer
9f03c457e1 app: no reason to translate the newly created text layer
because a few lines up we set its offsets correctly before adding it
to the image.
2010-02-19 20:13:17 +01:00
Michael Natterer
e4d63ce11a app: don't create new text layers on double and triple clicks 2010-02-19 20:13:16 +01:00
Michael Natterer
c69459f13e app: adapt button_release() to the new realities
Like that we start selecting on the very first click on an unframed
text layer alreadyand that we ignore clicks in dead space which had
unexpected results before. Also update all comments and move them
into the function.
2010-02-19 20:13:14 +01:00
Michael Natterer
7e3b090c32 app: request and process key_release events
Feed them into the text editor's IM context and into the proxy text
view's key bindings. Fixes input methods (e.g. entering of unicode
sequences seems to work flawlessly now).
2010-02-18 20:50:37 +01:00
Michael Natterer
c0aa4498d2 app: add intrastructure to send key_release events to tools
The code is 100% identical to the key_press handling and simply
dispatches key_release events too tools which selected them via
GimpToolControl.
2010-02-18 20:50:11 +01:00
Michael Natterer
e616ebad4d app: move tons of code out of the line iter loop
when drawing the selection and preedit underline (there is no reason
to calculate constants again for each line)
2010-02-18 20:16:11 +01:00
Michael Natterer
becc85683c app: remove "mark_set" callback
There is no reason to recreate the layout when the cursor or selection
bound move, so remove the entire callback and all the signal
blocking/unblocking.
2010-02-18 19:53:44 +01:00
Michael Natterer
fa6e9e6653 app: avoid to do things twice when double or triple clicks arrive
In button_press(), don't frame the item again and switch to selecting
mode on double and triple click events, we already did that when
receiving the normal button-press. Also clarify a comment.
2010-02-18 19:44:52 +01:00
Michael Natterer
051deba82d app: more minor cleanups 2010-02-18 11:47:16 +01:00
Michael Natterer
2ca9aab14c app: get rid of one indentation level in gimp_text_tool_motion() 2010-02-18 11:34:08 +01:00
Michael Natterer
3d0f2d8d1b app: clean up text editing members of struct GimpTextTool 2010-02-18 09:51:45 +01:00
Michael Natterer
5c9b660c24 app: turn text editing debug spew into proper GIMP_LOG() output 2010-02-18 09:39:25 +01:00
Michael Natterer
5794041ceb app: turn off clipping for the text cursor and the preedit strings
so they are visible also when partly out-of-layer.
2010-02-18 09:27:08 +01:00
Michael Natterer
468ea629a6 app: use image and rect_tool utility functions instead of duplicating them
and some random cleanups
2010-02-18 09:13:27 +01:00
Michael Natterer
838f2d567d app: cleanup 2010-02-17 21:39:33 +01:00
Michael Natterer
8f27ec48c6 app: split the text editor code out to a separate file 2010-02-17 21:24:09 +01:00
Martin Nordholts
50ef39a01f app: Make gimpgegltool.c compile 2010-02-17 20:45:20 +01:00
Michael Natterer
31659758d1 app: do the setting of the text box mode properly
- remove the button again.
- add a "box-mode" property to GimpTextOptions and a combo box.
- let the normal options -> proxy -> text mechanism do the setting.
- make sure we update the rectangle in some more situations.
- add utility function gimp_text_tool_frame_item().
2010-02-17 20:28:13 +01:00
Michael Natterer
d28ed195a3 app: make the "Dynamic Text Box" button insensitive by default 2010-02-17 20:28:13 +01:00
Sven Neumann
dbae9c58a0 Bug 610282 - GEGL Operation tool's help-id
Assign a help ID to the GEGL tool.
2010-02-17 19:23:10 +01:00
Michael Natterer
2dc577d606 app: clean up the text options notify callback 2010-02-17 16:05:45 +01:00
Michael Natterer
8574f4c4e8 app: allow to set the text layer back to dynamic resizing
Add a "Dynamic Text Box" button to the tool options which sets the
text box' mode back to dynamically resizing with the text.  This badly
needs UI review but is at least possible now.
2010-02-17 15:50:03 +01:00
Michael Natterer
9974fe36d1 app: improve cursor movement by positions when there is a selection
Port over the patch I did for GtkTextView and move *to* the end of the
selection and not *from* it when there is a selection and we are
moving by characters.
2010-02-17 13:17:46 +01:00
Michael Natterer
3efd20de77 app: move gimp_text_tool_set_layer() to the public functions 2010-02-17 13:08:53 +01:00
Michael Natterer
dd1ec8ff9d app: rename editor related functions
so the on-canvas editor's functions are just called "editor" because
it's the default and the dialog's functions are called "editor_dialog".
2010-02-17 12:03:18 +01:00
Michael Natterer
94d9dca2a3 app: more text tool fixes
- bail out and don't warn like crazy in draw() when there is no text.
- fix crash in button_press() when clicking a modified text layer
  bring up the confirm dialog and thus didn't set text_tool->text.
- pull setting the right text on text_tool->text_buffer into
  gimp_text_tool_canvas_editor() (fixes editing after confirming a
  modified text layer edit).
- add lots of missing calls to gimp_text_tool_set_layer() so the
  tool will actually start editing.
2010-02-17 11:57:32 +01:00
Michael Natterer
1fa6497922 app: don't try to hide a NULL transform dialog 2010-02-17 09:52:15 +01:00
Michael Natterer
c2a8f51768 app: lots of text tool fixes
- Add gimp_text_tool_halt() to shut down the tool and call it
  from gimp_tool_control(HALT).
- call control(HALT) when escape is pressed to reset the tool
  (can finally switch to other tools again now).
- fix button_press() to handle clicks on already existing
  text layers well.
- also button_press(): fix the condition that sets the previously
  existing text on the canvas editor so we don't end up with weird
  ui states where displayed and internally used text differ.
- remove some redundant code.
2010-02-16 22:48:27 +01:00
Simon Budig
7bfa3272ab Give a hint what pressing shift over a vector handle does. 2010-02-09 23:21:42 +01:00
Michael Natterer
09c897262e Move all undo-related members to GimpImagePrivate
Also add some new API to access them.
2010-02-04 20:06:49 +01:00
Michael Natterer
b6ce5d075d Remove macros SCREEN_XRES() and SCREEN_YRES()
and add gimp_display_shell_get_screen_resolution() instead. The times
when these macros were used in inner loops have long passed.
2010-02-03 19:50:46 +01:00
Michael Natterer
08b7709535 Bug 604820 - GEGL Operation "path" crashes GIMP
Blacklist "gegl:path".
2010-01-31 17:36:56 +01:00
Martin Nordholts
c331d5f9eb Bug 598454 - Improve visual feedback for Free Select Tool handles
Highlight the handle for the first vertex in the Free Select Tool even
with button1 down, since releasing the button on the first point will
close the polygon, so it's a significant state which we must give
feedback for.
2009-12-21 22:24:26 +01:00
Martin Nordholts
50525e4543 app: Fill Free Select Tool handles when mouse is over them
Right now the Free Select Tool vertex handles are shown when the
cursor is in the proximity. Extend this a bit, so when the cursor is
_on_ a vertex handle, fill it completely. See bug 598454.
2009-12-21 21:27:54 +01:00
Martin Nordholts
90d7ffde1a app: Make all GimpDialogFactory members private
Add necessary trivial API that allows us to make remaining
GimpDialogFactory instance members private, and make them private.
2009-12-20 20:21:26 +01:00
Martin Nordholts
6eb3e65445 app: Remove unused variables in gradient_options_gui() 2009-12-19 09:29:49 +01:00
Alexia Death
d2ad292848 app: Remove repeat options from gradient for paint tools
Repeat for gradient/color or any other dynamic driving is provided by fade.
2009-12-18 20:51:23 +02:00
Martin Nordholts
c7a5195bdf Bug 604078 - Crash when pressing Backspace with Free Select Tool
Make sure we never call gimp_free_select_tool_remove_last_segment()
with priv->n_segment_indices being negative, and increase robustness
of the code in general.

Note that we always halt the tool when backspace is pressed and there
are no vertices left. This is to minimize the risk of ending up in an
invalid tool state.
2009-12-09 22:33:03 +01:00
Alexia Death
a736b8f972 Adding repeat option to fade.
Now fade can be applied either as sawtooth or triangular wave.
Also fade can be reversed.
2009-12-06 20:06:34 +02:00
Michael Natterer
ae70da3e72 Remove unused #define STATUSBAR_SIZE 200 2009-11-03 15:43:32 +01:00
Michael Natterer
398607ee94 Bug 599765 - F1 key on gimp-tool-align in menu have wrong link and it open gimp-tool-move
Add help ID "gimp-tool-align" and use it for the align tool.
2009-10-27 18:54:34 +01:00
Michael Natterer
8a377be277 Turn legacy tranlation context "tool|_Zoom" into a proper one 2009-10-19 00:13:56 +02:00
Michael Natterer
84ab7454b5 Put the image map tool dialogs into overlay boxes when in fullscreen mode 2009-10-18 22:42:21 +02:00
Alexia Death
210a4b5044 Merge resolution 2009-10-17 21:42:02 +03:00
Michael Natterer
fb1fdf49b4 Build with GSEAL_ENABLE 2009-10-17 19:33:46 +02:00
Alexia Death
4e018eaa18 Merge commit 'origin/master' into soc-2009-dynamics 2009-10-15 22:58:25 +03:00
Michael Natterer
473b5122ae Move the cursor to the logical end of the selection when cancelling it
gimp_text_tool_move_cursor(): when there is something selected, and
cursor movement does not extend that selection, move the cursor to the
end of the selection that is in moving direction. This it *not*
how GtkTextView behaves, but it should, see bug #50942.
2009-10-15 12:04:09 +02:00
Michael Natterer
36523134f5 Resurrect the paint option's "use-fade" property and UI
Whether to use fade at all is a user input, so should be controllable
independently from its dynamic mapping. The reborn property is not
used again yet.
2009-10-13 19:19:12 +02:00
Michael Natterer
488c52c16a Remove dynamics cruft that is now done elsewhere 2009-10-12 12:23:07 +02:00
Michael Natterer
42b66678f5 Honor the "global-dynamics" setting 2009-10-11 01:44:38 +02:00
Alexia Death
11d6219776 Merge commit 'origin/master' into soc-2009-dynamics 2009-10-10 10:23:25 +03:00
Michael Natterer
2da2c510d2 Use gtk_widget_get_window() instead of widget->window 2009-10-09 21:19:05 +02:00
Michael Natterer
33150b4a1b Use gtk_widget_get_window() instead of widget->window 2009-10-09 21:19:05 +02:00
Alexia Death
2eab9f2ca4 Merge fixes 2009-10-09 20:38:43 +03:00
Michael Natterer
e57b0eee63 Don't call gimp_display_get_image() on a NULL display 2009-10-07 19:46:01 +02:00
Michael Natterer
08f35de4ac Use gimp_display_get_image() instead of display->image 2009-10-07 19:00:42 +02:00
Alexia Death
88e7d5396d Merge commit 'origin/master' into soc-2009-dynamics 2009-10-07 19:42:04 +03:00
Michael Natterer
c5b856f16f Use gimp_display_get_image() instead of display->image 2009-10-06 19:20:44 +02:00
Michael Natterer
d1ded0617f More gimp_display_get_shell() instead of display->shell 2009-10-05 19:58:03 +02:00
Michael Natterer
7d878f6f4b Use the GimpDisplayConfig from GimpDisplay where possible
...instead of going via display->gimp and casting.
2009-10-04 20:22:06 +02:00
Michael Natterer
8ba18309eb Use display->gimp intead of display->image->gimp 2009-10-04 20:05:28 +02:00
Michael Natterer
ac98c2c234 Use gimp_display_get_shell() instead of directly accessing it 2009-10-04 19:56:39 +02:00
Michael Natterer
dee0afed79 Move the statusbar back to GimpDisplayShell
Keeping it in GimpImageWindow was a bad idea because
- it wasted space
- it produced evil code because
- it conceptually didn't belong there
2009-10-04 15:33:03 +02:00
Alexia Death
3a041ad252 Lots of improvements on dynamics 2009-10-03 18:53:25 +03:00
Alexia Death
155393491b Merge commit 'origin/master' into soc-2009-dynamics 2009-10-03 14:12:53 +03:00
Michael Natterer
f6fd3aed51 Move GimpDisplayShell's expose functions to separate files 2009-10-02 23:55:26 +02:00
Michael Natterer
1c430a2b19 Move all GimpImageWindow members to a private struct
Add accessor functions for publically available members and visibility
functions for menubar and statusbar.
2009-09-29 21:44:43 +02:00
Michael Natterer
253b8e2cbe Use gimp_display_shell_get_window() instead of gtk_widget_get_toplevel()
The new function does the right thing, unlike get_toplevel() which
returns the shell itself if it is not in a window. Check the return
value of get_window() for being non-NULL.
2009-09-29 20:32:26 +02:00
Michael Natterer
54edc20113 Add missing #include "gimpimagewindow.h" 2009-09-28 22:55:54 +02:00
Michael Natterer
0b12978761 Go via gtk_widget_get_toplevel() to get to the statusbar 2009-09-28 22:55:42 +02:00
Michael Natterer
10b98034d4 Move the statusbar to GimpImageWindow
As with the menubar, port some code properly, and add some
horrible /* FIXME image window */ hacks to make it work.
2009-09-28 22:55:38 +02:00
Alexia Death
e75d44c77c Merge commit 'origin/master' into soc-2009-dynamics 2009-09-28 20:30:17 +03:00
Martin Nordholts
8bfcd14f9a app: Add GimpSessionInfo getters and setters 2009-09-20 14:51:03 +02:00
Alexia Death
be78fe3b1d Merge commit 'origin/master' into soc-2009-dynamics 2009-09-20 14:32:32 +03:00
Michael Natterer
9e18f771c4 Replace "Group Layer" by "Layer Group" in all user visible strings 2009-09-03 14:57:18 +02:00
Michael Natterer
0b09278c17 Don't access item->width and ->height directly 2009-09-03 01:00:14 +02:00
Michael Natterer
a12a9fa70e gimp_vector_tool_button_press(): don't edit locked vectors 2009-09-01 12:43:43 +02:00
Michael Natterer
02903d6970 Use gimp_item_is_content_locked() instead of gimp_item_get_lock_content()
Use the new API whenever we want to determine the item's effective
lock state (whether we can write to the item's content or not). Use
gimp_item_get_lock_content() only in code that actually deals with
*this* item's locked state, which is only the PDB wrappers and GUI to
modify the flag on the item itself.
2009-08-29 15:27:04 +02:00
Michael Natterer
e979c08133 Start separating the logic for "locked" and "is group" again
The idea that group layers count as locked was a bad one, start adding
separate checks for group layers, and refuse to modify them with
distinct error messages.
2009-08-28 20:07:14 +02:00
Michael Natterer
6aadd0bbc9 Rename gimp_image_pick_correlate_layer() to gimp_image_pick_layer() 2009-08-25 23:18:34 +02:00
Michael Natterer
f61f435699 Filter out linked children of linked items to translate 2009-08-25 15:57:04 +02:00
Michael Natterer
9040afc0fc Set BAD cursors if the active drawable is locked 2009-08-21 19:34:59 +02:00
Michael Natterer
ed2c002fd8 Make the checks in GimpTool::initialize() work reliably
Set tool->display and tool->drawable to NULL in button_release()
so initialize() is actually called before each button_press().
2009-08-21 19:04:45 +02:00
Michael Natterer
c9c28be9df Make the checks in GimpTool::initialize() work reliably
Set tool->display and tool->drawable to NULL in button_release()
so initialize() is actually called before each button_press().
2009-08-21 18:27:50 +02:00
Alexia Death
d2143b8886 Merging master to current state 2009-08-21 19:26:05 +03:00
Michael Natterer
cca194ed04 Don't transform the item if it was locked while using the tool
Add additional check to gimp_transform_tool_doit() so it won't
transform an item that was locked while we were adjusting the
transform.
2009-08-21 12:07:55 +02:00
Michael Natterer
7b5e176eee Really don't paint on locked drawables
Remove GimpTool::initialize() implementation again and check for the
drawable being locked in GimpTool::button_press() so we can't paint if
the tool has been used before on the same drawable when it was
unlocked.
2009-08-21 11:55:18 +02:00
Michael Natterer
e95b5d9f72 When cropping the active layer, error out if there is none or it is locked 2009-08-20 22:43:01 +02:00
Michael Natterer
ec6600a0b3 Refuse to edit locked drawables
Check whether the drawable to edit is locked in GimpTool::initialize()
and bail out with an appropriate error if it is. This currently
prevents cloning from locked drawables, will fix that later.
2009-08-20 17:05:23 +02:00
Michael Natterer
d53aad9ffb Use gimp_image_get_layer_list() instead of layer_iter(), some cleanup 2009-08-10 12:15:54 +02:00
Sven Neumann
57ceb04b32 Only add the language entry if the iso-codes package is available 2009-08-04 22:46:02 +02:00
Sven Neumann
516735f10c add a blurb to the GimpText:language property 2009-08-04 22:46:02 +02:00
Sven Neumann
bf8885f637 Bug 132509 – Allow to choose language in text tool
Remove the commented out language entry from the text editor and add
one to the text tool options instead. Work in progress...
2009-08-04 22:46:01 +02:00
Michael Natterer
a53d4566da Use GIMP_IMAGE_ACTIVE_PARENT instead of a NULL parent in all obvious places 2009-08-03 22:30:36 +02:00
Michael Natterer
c4075975bf Bring parent items to the public API in the core
* app/core/gimpimage.[ch]: make the parent parameter public in
add_layer(), add_layers(), add_channel() and add_vectors().

* app/vectors/gimpvectors-import.[ch]: add parent parameters to
  the vectors import functions.

* app/core/gimpchannelundo.[ch]
* app/core/gimplayerundo.[ch]
* app/vectors/gimpvectorsundo.[ch]
* app/core/gimpimage-undo-push.[ch]: remember the parent item when
  removing layers, channels and vectors.

* app/actions/channels-commands.c
* app/actions/debug-commands.c
* app/actions/edit-commands.c
* app/actions/layers-commands.c
* app/actions/vectors-commands.c
* app/core/gimp-edit.c
* app/core/gimpimage-duplicate.c
* app/core/gimpimage-merge.c
* app/core/gimpimage-quick-mask.c
* app/core/gimplayer-floating-sel.c
* app/core/gimpselection.c
* app/core/gimptemplate.c
* app/dialogs/file-open-dialog.c
* app/display/gimpdisplayshell-dnd.c
* app/text/gimptext-compat.c
* app/tools/gimptexttool.c
* app/tools/gimpvectortool.c
* app/widgets/gimptoolbox-dnd.c
* app/xcf/xcf-load.c
* tools/pdbgen/pdb/image.pdb
* tools/pdbgen/pdb/paths.pdb
* tools/pdbgen/pdb/vectors.pdb: pass NULL as parent item to above
  functions and add FIXMEs all over the place because there is some
  more hacking needed to make adding with index = -1 (on top of the
  current item) work again.

* app/pdb/image-cmds.c
* app/pdb/paths-cmds.c
* app/pdb/vectors-cmds.c: regenerated.

* app/core/gimpimage-duplicate.c: duplicate the original image's
  tree structure in the copy.

* app/widgets/gimpitemtreeview.[ch]: add parent to GimpAddItemFunc,
  add utility function gimp_item_tree_view_get_drop_index() which
  figures where to add something dropped to an item tree.

* app/widgets/gimpchanneltreeview.c
* app/widgets/gimplayertreeview.c
* app/widgets/gimpvectorstreeview.c: changed accordingly, using above
  new GimpItemTreeView API.
2009-08-03 19:21:51 +02:00
Michael Natterer
01c77b18d5 Use the new item iter API instead of the image APIs in some straightforward places 2009-08-01 23:07:07 +02:00
Alexia Death
01df67298a Clean off gui creation for props that no longer exist 2009-07-22 21:01:44 +03:00
Alexia Death
cea52220ea Merge branch 'master' into soc-2009-dynamics
Conflicts:
	.gitignore
	NEWS
	app/widgets/gimptagpopup.c
	po/ru.po
2009-07-21 20:12:35 +03:00
Michael Natterer
997111bf0a Use gtk_dialog_get_content_area() instead of dialog->vbox 2009-07-15 16:19:32 +02:00
Michael Natterer
3d6b86eef1 Clean up various calls to the response() callback
(gimp_image_map_tool_control): call gimp_image_map_tool_response() directly
instead of gtk_dialog_response().

(gimp_image_map_tool_key_press): must not call response() if there is
no dialog (if the tool wasn't used yet).
2009-07-12 19:26:18 +03:00
Michael Natterer
53bdcab4d8 Move dialog destruction to a utility function 2009-07-12 19:26:18 +03:00
Michael Natterer
c9171a3fbf Clean up various calls to the response() callback
(gimp_image_map_tool_control): call gimp_image_map_tool_response() directly
instead of gtk_dialog_response().

(gimp_image_map_tool_key_press): must not call response() if there is
no dialog (if the tool wasn't used yet).
2009-07-12 17:14:08 +02:00
Michael Natterer
669d26ee39 Move dialog destruction to a utility function 2009-07-12 16:45:18 +02:00
zhenfeng zhao
96baac783f Fade dynamics. Add fade as one more dynamics driving factor on GUI. Implement fading dynamics calculation. Let fade work with all driven factors. Add pixel_dist parameter to get_dynamic_x. Adjusted function calls for get_dynamic_x.
* app/paint/gimppaintoptions.c: Add initialization for fading dynamics. Add fading related variables similar to Random. Adjust get_dynamics_mix function. Add fading calculation in get_dynamics_x functions. Adjust get_dynamic_x functions for fade dynamics.

	* app/paint/gimppaintoptions.h: Add fading_options in GimpDynamicOptions.

	* app/tools/gimppaintoptions-gui.c: Add the function fading_options_gui.

	* app/paint/gimpclone.c
	* app/paint/gimpdodgeburn.c
	* app/paint/gimperaser.c
	* app/paint/gimpheal.c
	* app/paint/gimppaintbrush.c
	* app/paint/gimpsmudge.c
	* app/paint/gimpairbrush.c
	* app/paint/gimpbrushcore.c
	* app/paint/gimpconvolve.c: Adjust function calls. get_dynamic_opacity function calls were adjusted to have one more parameter, paint_core->pixel_dist.

some key words:
get_dynamic_
pixel_dist
paint_core->pixel_dist
2009-07-11 15:45:54 -03:00
Sven Neumann
05537763ef Bug 567393 – Rectangle select tool size shrinks to 0 if size is larger than
the image and the up or down arrow is pressed.

Applied patch from Massimo as found in bug #567393. This changes ROUND()
to RINT() to correct rounding for negative numbers. Also did this change
in gimp_rectangle_tool_adjust_coord().
2009-06-30 23:19:13 +02:00
Michael Natterer
4c5c158bfa Fix corner case of text tool up/down navigation
(gimp_text_tool_move_cursor): really go to the beginning/end of the
buffer when there are no further lines to go up/down to.
2009-06-28 17:27:02 +02:00
Michael Natterer
bcfaed96d2 Simplify and clean up text tool clipboard handling. 2009-06-27 21:51:52 +02:00
Michael Natterer
8e09c53637 Some more text tool cleanup
- keep around more local "buffer" variables to improve readability
- fix all comparisons between coordinates and bounding boxes,
  they were off-by-one on one or both sides.
2009-06-27 21:31:06 +02:00
Michael Natterer
6d3522c737 Make up/down work within wrapped lines
(gimp_text_tool_move_cursor): use PangoLayoutLines and byte indices to
calculate x positions when moving the cursor up or down. text_tool->x_pos
is not in terms of device units within a PangoLayoutLine.
2009-06-27 15:38:30 +02:00
Michael Natterer
285c25a257 Some minor cleanup 2009-06-27 14:55:45 +02:00
Michael Natterer
1a2136408e Implement overwrite-mode in the text tool
* app/widgets/gimptextproxy.c: also swallow the "toggle-overwrite"
signal.

* app/tools/gimpdrawtool. [ch] (gimp_draw_tool_draw_text_cursor): add
"gboolean overwrite" which causes the cursor to be drawn as block.

* app/tools/gimptexttool.[ch]: implement overwriting, toggling it,
and changing the text cursor accordingly.
2009-06-25 13:22:25 +02:00
Michael Natterer
0ecf3b24d6 Some text tool code cleanup
- add some local "buffer" variables to avoid writing text_tool->text_buffer
  all the time.
- text_tool->text_buffer always exists, no need to check for it.
2009-06-25 10:45:06 +02:00
Michael Natterer
877844214c Implement select-all / unselect-all bindings 2009-06-25 10:21:56 +02:00
Michael Natterer
e78bda44b3 Implement insert_at_cursor() so bindings can insert text 2009-06-24 21:31:39 +02:00
Michael Natterer
92a89666cf Implement GTK_DELETE_WHITESPACE (code stolen from GtkTextView) 2009-06-24 21:06:31 +02:00
Michael Natterer
b5079eb1b7 Move the GimpTextProxy widget from app/tools/ to app/widgets/ 2009-06-24 19:34:36 +02:00
Michael Natterer
512c80cb05 Keep the proxy text view from doing anything
Add GimpTextProxy, a GtkTextView subclass which does nothing but
overriding the binding methods with empty implementations, so the text
view has no chance of letting e.g. the display beep or doing anything
else.
2009-06-24 19:26:24 +02:00
Michael Natterer
e170ad77b1 Remove the newly added tool clipboard facility again, we don't need it 2009-06-24 19:08:24 +02:00
Michael Natterer
919c875d65 Implement cut/copy/paste via the proxy text buffer's signals 2009-06-24 19:04:18 +02:00
Michael Natterer
5f65026f94 Implement GTK_DELETE_PARAGRAPH_ENDS (Ctrl+K in emacs) 2009-06-24 18:48:27 +02:00
Michael Natterer
1dcd5a6eaa Implement GTK_DELETE_WORD_ENDS and GTK_DELETE_WORDS 2009-06-24 13:58:40 +02:00
Michael Natterer
2d8ced10c0 Some text deleteion refactoring
Change public text tool API to gimp_text_tool_delete_selection() and
move delete and backspace code to their own handlers in preparation of
handling all text deletion types.
2009-06-24 13:51:25 +02:00
Michael Natterer
1b69070556 Make key themes really work this time
* app/widgets/gimpwindow.c: treat GimpCanvas as a text widget and
  dispatch all key events to it before invoking menu shortcuts.

* app/display/gimpdisplayshell-callbacks.c: treat all events on the
  empty display as unhandled, not handled.

* app/tools/gimptexttool.c: use the right API for invoking the proxy
  text view's bindings. Handle some more cursor navigation request and
  swallow text deletion requests we don't handle instead of always
  doing what the delete key does.
2009-06-23 23:25:09 +02:00
Michael Natterer
e24793a666 Move the proxy text view to its own offscreen window
Add the proxy text view to a toplevel window so it can pick up the
key theme. Remove various hacks and the #ifdef TEXT_TOOL_HACK stuff.
2009-06-23 21:57:59 +02:00
Michael Natterer
cfbfb4a6c0 Don't go to the end of the line if we are already there
(gimp_text_tool_move_cursor): for GTK_MOVEMENT_DISPLAY_LINE_ENDS,
check if we are an the end of a line, or the cursor will end up on the
end of the next line.
2009-06-23 14:05:50 +02:00
Michael Natterer
25963fb1e1 Add some temp debug output 2009-06-23 14:00:23 +02:00
Michael Natterer
6e57a67218 Fix moving back by words 2009-06-23 00:18:31 +02:00
Michael Natterer
a235998165 Actually use the hack from the last commit
require a hacked GTK+ ;)
2009-06-22 23:52:42 +02:00
Michael Natterer
64d6ebca00 Make the text tool use GtkTextView's key bindings
* app/core/gimpmarshal.list: add marshallers needed for the binding
  singnals.

* app/tools/gimptexttool.[ch]: add binding signals "move-cursor",
  "delete-from-cursor" and "backspace" and hijack GtkTextView's
  binding set to invoke them. Move code from the key_press() handler
  to the signals' default handlers. This is how it should work. In
  fact that code is #ifdef'ed away and we need an evil proxy
  GtkTextView to invoke the bindings on because of reasons stated in
  comments in the code. Ugly but works just fine.
2009-06-22 23:47:04 +02:00
Michael Natterer
0ced7020d3 Add naive handling of PageUp/PageDown in the text tool 2009-06-22 13:55:52 +02:00
Michael Natterer
0f55bf15bc Enable cut/copy/paste for the text tool
* app/tools/tools-enums.[ch]: add enum GimpClipboardAction which can be
{ CUT, COPY, PASTE }

* app/tools/gimptool.[ch]
* app/tools/tool_manager.[ch]: add GimpTool::clipboard_action() which
returns a boolean indicating whether the tool handled the action.

* app/tools/gimptexttool.c: implement clipboard_action().

* app/actions/edit-commands.c: try the active tool first in the cut,
copy and paste callbacks.
2009-06-21 23:37:18 +02:00
Michael Natterer
1f91136e35 Make sure mouse selections work together nicely with keyboard navigation
(gimp_text_tool_motion): always keep the "insert" mark at the mouse
location and the "selection_bound" one at the other end of the
selection.

(gimp_text_tool_key_press): make cursor navigation always move the
"insert" mark, and move "selection_bound" along with it unless shift
is pressed. It was exactly the other way around.
2009-06-21 17:33:25 +02:00
Michael Natterer
a7271e6b25 Handle double and triple click and enable selecting words and lines 2009-06-21 16:20:16 +02:00
Michael Natterer
cd880b3946 Rename member "text_cursor_changing" to "selecting" and remove unreachable code 2009-06-21 14:31:49 +02:00
Michael Natterer
1a16b48c93 Add infrastructure for sending double and triple clicks to tools
* app/tools/tools-enums.[ch]: add enum GimpButtonPressType which can
be { NORMAL, DOUBLE, TRIPLE }

* app/tools/gimptool.[ch]: add press_type paramater to GimpTool::button_press()

* app/tools/gimp*tool.c
* app/tools/tool_manager.[ch]: changed accordingly.

* app/tools/gimptoolcontrol.[ch]: add members and API so tools can choose
to receive double and triple clicks.

* app/display/gimpdisplayshell-callbacks.c (gimp_display_shell_tool_events):
dispatch double and triple clicks to tools if they want them, and if they
became active by the preceding normal button press.
2009-06-20 17:37:31 +02:00
Michael Natterer
2a88723a40 Bug 573256 - Text tool appearance doesn't account for DPI
* app/text/gimptextlayout-render.c: remove private function which
creates the transform matrix.

* app/text/gimptextlayout.[ch]: add it here as public API. Also add
function which transform and untransform PangoRectangles, points and
distances using the transform matrix.

* app/tools/gimptexttool.c: convert coordinates using above new
transform functions when drawing selection and cursor, and when
processing mouse events.
2009-06-19 17:08:34 +02:00
Michael Natterer
294154ed76 Remove unused code without any effect 2009-05-25 21:14:33 +02:00
Michael Natterer
53c661312b Add GimpCoords* parameter to gimp_paint_core_interpolate()
Pass the current coords to the function instead of setting them
on the paint core before calling it. Doesn't exactly make the code
in the paint tool  simpler, but that needs further refactoring anyway.
2009-05-25 20:49:34 +02:00
Sven Neumann
ef8dabcc7f tools: improve status-bar hints for the Curves tool 2009-05-24 18:20:01 +02:00
Stephen Griffiths
2ff4bbd111 make action_message() visible externally and use it.
* app/actions/actions.h: added prototype for action_message()
* app/actions/actions.c: removed static keyword from action_message()
removed private prototype for action_message()
made action_message() use icons for objects derived from GimpViewable

* app/actions/context-commands.c:
context_brush_radius_cmd_callback()
context_brush_angle_cmd_callback()
context_paint_mode_cmd_callback()
context_brush_shape_cmd_callback()
call acton_message(), these callbacks had use cases where they could not
use generic code

* app/tools/gimpcoloroptions.c: added "average-radius" blurb
and mark for translarion
2009-05-16 15:34:41 +02:00
Alexia Death
6aafd34380 Adds dynamic aspect ratio for brushes. 2009-04-25 20:53:09 +03:00
Michael Natterer
42b28066b8 Move the straight line constrain code to GimpPaintCore.
* app/paint/gimppaintcore.[ch]: add gimp_paint_core_round_line()

* app/tools/gimppainttool.c: remove gimp_paint_tool_round_line() and call
above new function instead.
2009-04-22 21:22:08 +02:00
Michael Natterer
090e06ecdd Move the stuff in tools-utils to the core so it can be used from
app/paint/ in the next step.

* app/tools/Makefile.am
* app/tools/tools-utils.[ch]: removed.

* app/core/gimp-utils.[ch]: add gimp_constrain_line() instead.

* app/tools/gimpblendtool.c
* app/tools/gimpeditselectiontool.c
* app/tools/gimpfreeselecttool.c
* app/tools/gimpmeasuretool.c
* app/tools/gimppainttool.c: changed accordingly.
2009-04-22 21:08:42 +02:00
Michael Natterer
83b37fb4f9 Bug 577575 – transform tool fills underlying extracted area wrongly
2009-04-03  Michael Natterer  <mitch@gimp.org>

	Bug 577575 – transform tool fills underlying extracted area wrongly

	* app/tools/gimpfliptool.c
	* app/tools/gimpperspectivetool.c
	* app/tools/gimprotatetool.c
	* app/tools/gimpscaletool.c (gimp_*_tool_register): pass
	GIMP_CONTEXT_BACKGROUND_MASK to the register callback to the tools
	use the global background color.


svn path=/trunk/; revision=28236
2009-04-03 14:03:38 +00:00
Sven Neumann
2e7c80384b Bug 566443 – diagonal method guidelines for crop tool
2009-03-14  Sven Neumann  <sven@gimp.org>

	Bug 566443 – diagonal method guidelines for crop tool

	* app/tools/tools-enums.[ch]
	* app/tools/gimprectangletool.c 
(gimp_rectangle_tool_draw_guides):
	applied a slightly modified patch from Lukasz Hladowski, based 
on
	a patch from Tim Jedlicka. This adds diagonal guidelines as
	described by Edwin Westhoff to the rectangle tools.


svn path=/trunk/; revision=28156
2009-03-14 12:59:34 +00:00
Michael Natterer
e0f1bf375c Bug 572156 – top left pixel position/coordinate is not 0,0 but 1,1
2009-02-20  Michael Natterer  <mitch@gimp.org>

	Bug 572156 – top left pixel position/coordinate is not 0,0 but 1,1

	* app/display/gimpstatusbar.c
	(gimp_statusbar_push_coords)
	(gimp_statusbar_update_cursor): fix braino for
	GIMP_CURSOR_PRECISION_PIXEL_CENTER: going to the pixel's
	center doesn't need any rounding, it simply needs clipping
	the coordinates' fractional parts, gah...

	Review all tools' cursor precision:

	* app/tools/gimpblendtool.c (gimp_blend_tool_init): set cursor
	precision to SUBPIXEL.

	* app/tools/gimptexttool.c (gimp_text_tool_init)
	* app/tools/gimpmeasuretool.c (gimp_measure_tool_init)
	* app/tools/gimpeditselectiontool.c (gimp_edit_selection_tool_init):
	set cursor precision to PIXEL_BORDER.


svn path=/trunk/; revision=28053
2009-02-20 16:57:26 +00:00
Sven Neumann
d1684f5424 Bug 99457 – Support for dynamics on tilt
2009-02-18  Sven Neumann  <sven@gimp.org>

	Bug 99457 – Support for dynamics on tilt

	* app/tools/gimppaintoptions-gui.c
	* app/paint/gimppaintoptions.[ch]: applied patch from Alexia 
Death
	that allows to map tilt to the dynamic brush parameters.


svn path=/trunk/; revision=28049
2009-02-18 20:19:47 +00:00
Sven Neumann
b7bf06029c seems pointless to include the GIMP-specific GEGL operations as they can't
2009-02-09  Sven Neumann  <sven@gimp.org>

	* app/tools/gimpgegltool.c (gimp_gegl_tool_dialog): seems
	pointless to include the GIMP-specific GEGL operations as they
	can't be reasonably controlled by the generic GEGL tool user
	interface.


svn path=/trunk/; revision=28005
2009-02-09 10:53:19 +00:00
Michael Natterer
051c051234 Bug 569470 – pls, introduce an option 'how many latest presets for color
2009-02-09  Michael Natterer  <mitch@gimp.org>

	Bug 569470 – pls, introduce an option 'how many latest presets for
	color curves should be saved'

	* app/config/gimprc-blurbs.h
	* app/config/gimpguiconfig.[ch]: add integer property
	"image-map-tool-max-recent" which defaults to ten. Adding a GUI
	for this IMO needs discussion, the value of ten seems appropriate.

	* app/widgets/gimpsettingsbox.[ch]
	(gimp_settings_box_add_current): add "gint max_recent" parameter
	and limit the number of recent settings to this number.

	* app/tools/gimpimagemaptool.c (gimp_image_map_tool_response):
	pass the new settings property to above function.


svn path=/trunk/; revision=28004
2009-02-08 23:19:12 +00:00
Michael Natterer
f9c64f092b if the curve view didn't handle the key press, chain up so the normal
2009-02-08  Michael Natterer  <mitch@gimp.org>

	* app/tools/gimpcurvestool.c (gimp_curves_tool_key_press): if the
	curve view didn't handle the key press, chain up so the normal
	GimpImageMapTool keys for reset/cancel/ok works.


svn path=/trunk/; revision=28003
2009-02-08 20:28:41 +00:00
Martin Nordholts
45aef9a352 Fix stack overwrites in gimp_paint_options_gui()
svn path=/trunk/; revision=28002
2009-02-08 19:26:25 +00:00
Michael Natterer
9999ccf790 Bug 520078 – Rotate brushes
2009-02-08  Michael Natterer  <mitch@gimp.org>

	Bug 520078 – Rotate brushes

	Applied a slightly modified patch from Alexia Death:

	* app/core/core-types.h (struct GimpCoords): add "direction" member.

	* app/core/gimpcoords.c: take direction into account in mix(),
	scalarprod(), length_squared(), manhattan_dist() and equal().

	* app/core/gimpcoords-interpolate.c
	(gimp_coords_interpolate_catmull): same here.
	* app/display/gimpdisplayshell-coords.c

	(gimp_display_shell_eval_event): same here.

	* app/paint/gimppaintoptions.[ch]: add properties for direction
	dynamics and adapt dynamics mixing accordingly.

	* app/paint/gimpbrushcore.c (gimp_brush_core_interpolate):
	"interpolate" direction too (in fact, just copy it from
	last_coords since it doesn't change along a straight line).

	* app/paint/gimppaintcore-stroke.c
	(gimp_paint_core_stroke_emulate_dynamics): emulate direction too.

	* app/tools/gimppaintoptions-gui.c: add GUI for direction dynamics.


svn path=/trunk/; revision=28001
2009-02-08 12:55:20 +00:00
Sven Neumann
30c118b53c Bug 520078 – Rotate brushes
2009-02-05  Sven Neumann  <sven@gimp.org>

	Bug 520078 – Rotate brushes

	Applied patch from Alexia Death:

	* app/core/gimpbrush.[ch]
	* app/core/gimpbrushgenerated.c
	* app/core/gimpbrush-transform.[ch]: affine transformations for
	brushes. So far only scaling and rotation is supported. The
	transformation is done using nearest-neighbour. This is a
	regression and we need to add back interpolation before the next
	release.

	* app/paint/gimpsmudge.c
	* app/paint/gimppaintoptions.[ch]
	* app/paint/gimpbrushcore.[ch]: allow to control the brush
	rotation angle.

	* app/tools/gimppaintoptions-gui.c
	* app/tools/gimpbrushtool.c: added UI for controlling the
	brush rotation angle.

	* app/actions/tools-actions.c
	* app/actions/tools-commands.[ch]: add actions for controlling 
the
	brush rotation angle.


svn path=/trunk/; revision=27987
2009-02-05 21:47:57 +00:00
Martin Nordholts
4d7a6b10d1 Added .gitignore files generated with git svn create-ignore.
svn path=/trunk/; revision=27972
2009-01-31 11:37:44 +00:00
Sven Neumann
b25b979fc9 removed gimp_image_get_type_string() again.
2009-01-29  Sven Neumann  <sven@gimp.org>

	* app/core/gimpimage.[ch]: removed gimp_image_get_type_string()
	again.
	
	* app/display/gimpdisplayshell-title.c
	(gimp_display_shell_format_title): use the GimpImageBaseType 
enum
	instead.

	* app/tools/gimptool.c (gimp_tool_oper_update): if the image is
	empty and the tool can't handle that, display a message in the
	statusbar telling the user about this.


svn path=/trunk/; revision=27970
2009-01-29 21:32:30 +00:00
Michael Natterer
0af5d238ae move variables to local scope.
2009-01-26  Michael Natterer  <mitch@gimp.org>

	* app/tools/gimpregionselecttool.c
	(gimp_region_select_tool_button_release): move variables to local
	scope.


svn path=/trunk/; revision=27951
2009-01-25 23:32:21 +00:00
Michael Natterer
6584aba5c2 app/core/Makefile.am new files implementing gimp_param_spec_duplicate()
2009-01-25  Michael Natterer  <mitch@gimp.org>

	* app/core/Makefile.am
	* app/core/gimpparamspecs-duplicate.[ch]: new files implementing
	gimp_param_spec_duplicate() which is supposed to duplicate any
	gimp or gegl GParamSpec (but doesn't do this yet).

	* app/tools/gimpgegltool.c: remove the code form here.


svn path=/trunk/; revision=27945
2009-01-25 18:01:47 +00:00
Michael Natterer
e8a7882585 gegl_color_get_rgba() takes pointers to doubles now, not floats.
2009-01-25  Michael Natterer  <mitch@gimp.org>

	* app/tools/gimpgegltool.c (gimp_param_spec_duplicate):
	gegl_color_get_rgba() takes pointers to doubles now, not floats.


svn path=/trunk/; revision=27944
2009-01-25 17:45:05 +00:00
Michael Natterer
d9b5207aa2 Change licence to GPLv3 (and to LGPLv3 for libgimp).
2009-01-17  Michael Natterer  <mitch@gimp.org>

	* all files with a GPL header and all COPYING files:

	Change licence to GPLv3 (and to LGPLv3 for libgimp).

	Cleaned up some copyright headers and regenerated the parsers in
	the ImageMap plugin.


svn path=/trunk/; revision=27913
2009-01-17 22:28:01 +00:00
Kevin Cozens
7a6ae0855e Corrected spelling error spotted by David Gowers.
2009-01-13  Kevin Cozens  <kcozens@cvs.gimp.org>

	* app/tools/gimpforegroundselecttool.c: Corrected spelling error
	spotted by David Gowers.

svn path=/trunk/; revision=27900
2009-01-13 16:12:17 +00:00
Martin Nordholts
c2b1a61628 Bug 562213 – Align Tool doesn't work properly if it is the active
tool at startup

* app/tools/gimpaligntool.c: Perform NULL-pointer dodging to avoid
crashing.

svn path=/trunk/; revision=27889
2009-01-04 12:03:57 +00:00
Sven Neumann
6ee74726a2 removed unused include.
2009-01-01  Sven Neumann  <sven@gimp.org>

	* app/tools/gimptexttool.c: removed unused include.


svn path=/trunk/; revision=27873
2009-01-01 17:00:39 +00:00
Martin Nordholts
de38a9887b New offset getters for inline use.
* app/core/gimpitem.c
(gimp_item_get_offset_x)
(gimp_item_get_offset_y): New offset getters for inline use.

* app/core/gimpchannel.c
* app/core/gimpdrawable.c
* app/core/gimpimage-merge.c
* app/core/gimpimage-resize.c
* app/tools/gimptexttool.c: Don't access GimpItem offset members
directly, use gimp_item_set_offset() and
gimp_item_get_offset_[xy]() instead.

svn path=/trunk/; revision=27848
2008-12-28 12:43:07 +00:00
Martin Nordholts
d37193fe18 Use gimp_item_set/get_image() instead of accessing the instance
member directly.

* app/core/gimpchannel.c
* app/core/gimpdrawable-brightness-contrast.c
* app/core/gimpdrawable-color-balance.c
* app/core/gimpdrawable-colorize.c
* app/core/gimpdrawable-curves.c
* app/core/gimpdrawable-desaturate.c
* app/core/gimpdrawable-hue-saturation.c
* app/core/gimpdrawable-invert.c
* app/core/gimpdrawable-levels.c
* app/core/gimpdrawable-posterize.c
* app/core/gimpdrawable-threshold.c
* app/core/gimplayer.c
* app/core/gimplayermask.c
* app/core/gimpselection.c
* app/dialogs/layer-add-mask-dialog.c
* app/text/gimptextlayer-xcf.c
* app/tools/gimprectangletool.c
* app/tools/gimptexttool.c
* app/tools/gimpvectortool.c
* app/vectors/gimpvectors-preview.c
* app/vectors/gimpvectors.c
* tools/pdbgen/pdb/layer.pdb

* app/pdb/layer-cmds.c: Regenerated.

svn path=/trunk/; revision=27840
2008-12-28 00:09:33 +00:00
Sven Neumann
6b74d79844 Bug 564869 – GIMP crashes on selecting Tools->GEGL operation
2008-12-21  Sven Neumann  <sven@gimp.org>

	Bug 564869 – GIMP crashes on selecting Tools->GEGL operation

	* app/tools/gimptool.c (gimp_tool_initialize): check if the tool
	has set an error.


svn path=/trunk/; revision=27819
2008-12-21 15:49:12 +00:00
Sven Neumann
bd909141ed removed 'gegl:stress' from the blacklist. It was put here on wrong
2008-12-16  Sven Neumann  <sven@gimp.org>

	* app/tools/gimpgegltool.c 
(gimp_gegl_tool_operation_blacklisted):
	removed 'gegl:stress' from the blacklist. It was put here on 
wrong
	assumptions.


svn path=/trunk/; revision=27796
2008-12-16 08:04:09 +00:00
Martin Nordholts
ddaa0b48ec s/temp_buf_data/temp_buf_get_data/
* app/base/pixel-region.c
* app/base/temp-buf.c
* app/base/temp-buf.h
* app/core/gimpbrush-load.c
* app/core/gimpbrush-scale.c
* app/core/gimpbrush.c
* app/core/gimpbrushgenerated.c
* app/core/gimpgradient.c
* app/core/gimpimage.c
* app/core/gimppalette.c
* app/core/gimppattern-load.c
* app/core/gimppattern.c
* app/core/gimppreviewcache.c
* app/core/gimpviewable.c
* app/paint-funcs/paint-funcs-generic.h
* app/paint/gimpbrushcore.c
* app/paint/gimpclone.c
* app/paint/gimperaser.c
* app/paint/gimpheal.c
* app/paint/gimpink.c
* app/paint/gimppaintbrush.c
* app/pdb/brush-cmds.c
* app/pdb/brushes-cmds.c
* app/pdb/drawable-cmds.c
* app/pdb/image-cmds.c
* app/pdb/pattern-cmds.c
* app/pdb/patterns-cmds.c
* app/text/gimpfont.c
* app/tools/gimpiscissorstool.c
* app/vectors/gimpvectors-preview.c
* app/widgets/gimpbrushselect.c
* app/widgets/gimppatternselect.c
* app/widgets/gimpviewrenderer.c

svn path=/trunk/; revision=27782
2008-12-13 10:35:53 +00:00
Michael Natterer
558e2e17a9 make the entire selection API take GimpSelection arguments, not
2008-11-22  Michael Natterer  <mitch@gimp.org>

	* app/core/gimpselection.[ch]: make the entire selection
	API take GimpSelection arguments, not GimpChannel.
	Clean up gimp_selection_load() a bit.

	* app/actions/select-commands.c
	* app/core/gimp-edit.c
	* app/core/gimpdrawable-transform.c
	* app/core/gimpimage-quick-mask.c
	* app/tools/gimpeditselectiontool.c
	* tools/pdbgen/pdb/selection.pdb: add the needed casts.

	* app/pdb/selection-cmds.c: regenerated.


svn path=/trunk/; revision=27711
2008-11-22 22:07:55 +00:00
Sven Neumann
8d11c0c3e0 removed unused methods gimp_draw_tool_set_vectors() and
2008-11-21  Sven Neumann  <sven@gimp.org>

	* app/tools/gimpdrawtool.[ch]: removed unused methods
	gimp_draw_tool_set_vectors() and gimp_draw_tool_set_transform()
	and related infrastructure.


svn path=/trunk/; revision=27704
2008-11-21 21:43:43 +00:00
Sven Neumann
ebc39ee055 moved vectors drawing to its own function.
2008-11-21  Sven Neumann  <sven@gimp.org>

	* app/tools/gimpdrawtool.c (gimp_draw_tool_real_draw): moved
	vectors drawing to its own function.


svn path=/trunk/; revision=27702
2008-11-21 21:07:48 +00:00
Sven Neumann
cdb30fb4e1 reordered functions to keep those that actually draw together.
2008-11-21  Sven Neumann  <sven@gimp.org>

	* app/tools/gimpdrawtool.[ch]: reordered functions to keep those
	that actually draw together.


svn path=/trunk/; revision=27698
2008-11-21 19:01:58 +00:00
Martin Nordholts
5aeb568650 s/gimp_container_children_type/gimp_container_get_children_type/
s/gimp_container_policy/gimp_container_get_policy/
s/gimp_container_num_children/gimp_container_get_n_children/

* app/actions/actions.c
* app/actions/file-actions.c
* app/actions/file-commands.c
* app/actions/tool-options-actions.c
* app/actions/tools-actions.c
* app/actions/tools-commands.c
* app/actions/vectors-actions.c
* app/core/gimpcontainer-filter.c
* app/core/gimpcontainer.c
* app/core/gimpcontainer.h
* app/core/gimpimage-convert.c
* app/core/gimpimage-flip.c
* app/core/gimpimage-merge.c
* app/core/gimpimage-resize.c
* app/core/gimpimage-rotate.c
* app/core/gimpimage-scale.c
* app/core/gimpimage-undo.c
* app/core/gimpimage.c
* app/core/gimpimagefile.c
* app/core/gimplist.c
* app/core/gimpundostack.c
* app/dialogs/palette-import-dialog.c
* app/dialogs/quit-dialog.c
* app/display/gimpdisplay.c
* app/display/gimpdisplayshell-layer-select.c
* app/display/gimpdisplayshell-title.c
* app/gui/gui-vtable.c
* app/menus/tool-options-menu.c
* app/tools/gimp-tools.c
* app/widgets/gimpcontrollerlist.c
* app/widgets/gimpimagepropview.c
* app/widgets/gimpsettingsbox.c
* app/widgets/gimpviewablebutton.c
* app/xcf/xcf-load.c
* app/xcf/xcf-save.c

svn path=/trunk/; revision=27692
2008-11-20 22:45:19 +00:00
Michael Natterer
176f4c5689 app/dialogs/module-dialog.c app/display/gimpscalecombobox.c
2008-11-16  Michael Natterer  <mitch@gimp.org>

	* app/dialogs/module-dialog.c
	* app/display/gimpscalecombobox.c
	* app/tools/gimpgegltool.c
	* app/tools/gimprectangleoptions.c
	* app/widgets/gimpactionview.[ch]
	* app/widgets/gimpcomponenteditor.c
	* app/widgets/gimpcontainerentry.[ch]
	* app/widgets/gimpcontrollereditor.c
	* app/widgets/gimpcontrollerlist.c
	* app/widgets/gimpfileprocview.c: s/NUM_COLUMNS/N_COLUMNS/


svn path=/trunk/; revision=27674
2008-11-16 20:17:43 +00:00
Michael Natterer
fb1660a4ea rename gimp_image_floating_sel() to gimp_image_get_floating_selection().
2008-11-14  Michael Natterer  <mitch@gimp.org>

	* app/core/gimpimage.[ch]: rename gimp_image_floating_sel() to
	gimp_image_get_floating_selection().

	* app/actions/channels-actions.c
	* app/actions/image-actions.c
	* app/actions/layers-actions.c
	* app/actions/layers-commands.c
	* app/actions/select-actions.c
	* app/core/gimpdrawable.c
	* app/core/gimpimage-duplicate.c
	* app/core/gimpimage-merge.c
	* app/core/gimpimage-quick-mask.c
	* app/core/gimplayer-floating-sel.c
	* app/core/gimpselection.c
	* app/display/gimpdisplayshell-layer-select.c
	* app/display/gimpdisplayshell.c
	* app/tools/gimpeditselectiontool.c
	* app/tools/gimpfreeselecttool.c
	* app/tools/gimpmovetool.c
	* app/tools/gimprectangleselecttool.c
	* app/tools/gimpregionselecttool.c
	* app/tools/gimpselectiontool.c
	* app/tools/gimptexttool.c
	* app/widgets/gimpdrawabletreeview.c
	* app/widgets/gimplayertreeview.c
	* app/xcf/xcf-save.c
	* tools/pdbgen/pdb/image.pdb: changed accordingly, replaced some
	instances of direct acces by the accessor.

	* app/pdb/image-cmds.c: regenerated.


svn path=/trunk/; revision=27649
2008-11-14 15:01:44 +00:00
Sven Neumann
b37c8bcf0a app/core/Makefile.am added GIMP_ERROR as general error domain.
2008-11-12  Sven Neumann  <sven@gimp.org>

	* app/core/Makefile.am
	* app/core/gimperror.[ch]: added GIMP_ERROR as general error 
domain.

	* app/core/gimpchannel.c
	* app/core/gimpdrawable-bucket-fill.c
	* app/core/gimpimage-convert.c
	* app/core/gimpimage-merge.c
	* app/core/gimpimage.c
	* app/core/gimplayer-floating-sel.c
	* app/core/gimplayer.c
	* app/core/gimplayermask.c
	* app/core/gimpselection.c
	* app/core/gimptooloptions.c
	* app/paint/gimpbrushcore.c
	* app/paint/gimpclone.c
	* app/paint/gimpheal.c
	* app/paint/gimppaintcore-stroke.c
	* app/paint/gimpperspectiveclone.c
	* app/paint/gimpsourcecore.c
	* app/tools/gimpblendtool.c
	* app/tools/gimpbrightnesscontrasttool.c
	* app/tools/gimpcolorbalancetool.c
	* app/tools/gimpcolorizetool.c
	* app/tools/gimpcurvestool.c
	* app/tools/gimpdesaturatetool.c
	* app/tools/gimpgegltool.c
	* app/tools/gimphuesaturationtool.c
	* app/tools/gimplevelstool.c
	* app/tools/gimpposterizetool.c
	* app/tools/gimpthresholdtool.c
	* app/vectors/gimpvectors-import.c: use GIMP_ERROR as error 
domain
	instead of 0, which is not accepted by g_set_error_literal().

	* app/gui/session.c
	* app/menus/menus.c
	* app/vectors/gimpvectors-export.c
	* app/widgets/gimpdevices.c: use G_FILE_ERROR as error domain 
for
	file errors.


svn path=/trunk/; revision=27628
2008-11-12 10:56:06 +00:00
Martin Nordholts
d85d7ac785 Align static function prototypes.
* app/tools/gimptransformtool.c: Align static function prototypes.

svn path=/trunk/; revision=27625
2008-11-12 06:17:01 +00:00
Martin Nordholts
bb85dbbf24 Bug 559716 – Changing crop size in Crop Tool Options can make UI
unresponsive

* app/tools/gimprectangletool.c: Accept a broader range of x, y,
width and height values from the tool options so we don't end up
in an infinite signal emission loop.

svn path=/trunk/; revision=27605
2008-11-10 20:10:50 +00:00
Michael Natterer
40f27d6b81 app/core/gimpdrawable.c app/core/gimpimage-convert.c
2008-11-09  Michael Natterer  <mitch@gimp.org>

	* app/core/gimpdrawable.c
	* app/core/gimpimage-convert.c
	* app/core/gimpprojection-construct.c
	* app/tools/gimpeditselectiontool.c
	* app/widgets/gimplayertreeview.c
	* app/xcf/xcf-save.c: remove inclusion of "gimplayer-floating-sel.h"


svn path=/trunk/; revision=27582
2008-11-09 18:36:29 +00:00
Sven Neumann
02817081ff use NC_() to mark enum values for translation. Use a lower-case short form
2008-11-06  Sven Neumann  <sven@gimp.org>

	* tools/gimp-mkenums: use NC_() to mark enum values for 
translation.
	Use a lower-case short form of the type name as translation 
context.

	* libgimp/libgimp-intl.h: define the NC_() macro as noop.

	* libgimpbase/gimpbasetypes.[ch]
	* libgimpbase/gimpbase.def: added new functions to set and
	get a translation context on an enum type.

	* app/base/Makefile.am
	* app/core/Makefile.am
	* app/display/Makefile.am
	* app/paint/Makefile.am
	* app/plug-in/Makefile.am
	* app/text/Makefile.am
	* app/tools/Makefile.am
	* app/widgets/Makefile.am
	* libgimp/Makefile.am
	* libgimpbase/Makefile.am:
	* libgimpconfig/Makefile.am
	* libgimpthumb/Makefile.am
	* libgimpwidgets/Makefile.am: register the translation context
	with the enum types.

	* app/display/display-enums.h
	* libgimpbase/gimpbaseenums.h
	* libgimpconfig/gimpcolorconfig-enums.h: removed old-style 
explicit
	translation context.

	* app/base/base-enums.c
	* app/core/core-enums.c
	* app/display/display-enums.c
	* app/paint/paint-enums.c
	* app/plug-in/plug-in-enums.c
	* app/text/text-enums.c
	* app/tools/tools-enums.c
	* app/widgets/widgets-enums.c
	* libgimpbase/gimpbaseenums.c
	* libgimpconfig/gimpcolorconfig-enums.c
	* libgimpwidgets/gimpwidgetsenums.c: regenerated.


svn path=/trunk/; revision=27562
2008-11-06 08:28:28 +00:00
Sven Neumann
4762b73403 bumped minimum required version of GLib to 2.18.0.
2008-11-04  Sven Neumann  <sven@sven>

	* configure.in: bumped minimum required version of GLib to 
2.18.0.

	* INSTALL: document the updated dependency.

	* app/core/gimp.[ch]: introduced gimp_message_literal(), a 
variant
	of gimp_message() that takes a literal string.

	* app/errors.[ch]: removed format arguments from 
gimp_fatal_error()
	and gimp_terminate() and let them take a literal string instead.

	* app/tools/gimptool.[ch]: introduced 
gimp_tool_message_literal(),
	a variant of gimp_tool_message() that takes a literal string.

	* app/actions/documents-commands.c
	* app/actions/drawable-commands.c
	* app/actions/edit-commands.c
	* app/actions/error-console-commands.c
	* app/actions/file-commands.c
	* app/actions/gradients-commands.c
	* app/actions/image-commands.c
	* app/actions/layers-commands.c
	* app/actions/palettes-commands.c
	* app/actions/plug-in-commands.c
	* app/actions/select-commands.c
	* app/actions/vectors-commands.c
	* app/config/gimprc.c
	* app/core/gimp-modules.c
	* app/core/gimp-parasites.c
	* app/core/gimp-templates.c
	* app/core/gimp-units.c
	* app/core/gimpchannel.c
	* app/core/gimpcontainer-filter.c
	* app/core/gimpdrawable-bucket-fill.c
	* app/core/gimpimage-convert.c
	* app/core/gimpimage-merge.c
	* app/core/gimpimage.c
	* app/core/gimpimagefile.c
	* app/core/gimplayer-floating-sel.c
	* app/core/gimplayer.c
	* app/core/gimpselection.c
	* app/dialogs/convert-dialog.c
	* app/dialogs/dialogs.c
	* app/dialogs/palette-import-dialog.c
	* app/dialogs/preferences-dialog.c
	* app/dialogs/quit-dialog.c
	* app/dialogs/stroke-dialog.c
	* app/display/gimpdisplayshell-dnd.c
	* app/file/file-open.c
	* app/file/file-procedure.c
	* app/file/file-save.c
	* app/file/file-utils.c
	* app/gegl/gimpcurvesconfig.c
	* app/gegl/gimplevelsconfig.c
	* app/gui/gui-message.c
	* app/gui/gui.c
	* app/gui/session.c
	* app/paint/gimpbrushcore.c
	* app/paint/gimpclone.c
	* app/paint/gimpheal.c
	* app/paint/gimpperspectiveclone.c
	* app/paint/gimpsourcecore.c
	* app/pdb/gimppdb-utils.c
	* app/pdb/gimpprocedure.c
	* app/plug-in/gimpplugin-message.c
	* app/plug-in/gimpplugin.c
	* app/plug-in/gimppluginmanager-restore.c
	* app/plug-in/gimppluginprocedure.c
	* app/text/gimptextlayer.c
	* app/tools/gimp-tools.c
	* app/tools/gimpaligntool.c
	* app/tools/gimpblendtool.c
	* app/tools/gimpbrightnesscontrasttool.c
	* app/tools/gimpbucketfilltool.c
	* app/tools/gimpcolorbalancetool.c
	* app/tools/gimpcolorpickertool.c
	* app/tools/gimpcurvestool.c
	* app/tools/gimpdesaturatetool.c
	* app/tools/gimpeditselectiontool.c
	* app/tools/gimpforegroundselecttool.c
	* app/tools/gimpfreeselecttool.c
	* app/tools/gimpgegltool.c
	* app/tools/gimphuesaturationtool.c
	* app/tools/gimpimagemaptool-settings.c
	* app/tools/gimpiscissorstool.c
	* app/tools/gimplevelstool.c
	* app/tools/gimpmeasuretool.c
	* app/tools/gimppainttool.c
	* app/tools/gimpposterizetool.c
	* app/tools/gimpselectiontool.c
	* app/tools/gimpsourcetool.c
	* app/tools/gimpthresholdtool.c
	* app/tools/gimptransformtool.c
	* app/tools/gimpvectortool.c
	* app/widgets/gimpactionview.c
	* app/widgets/gimpcontrollerlist.c
	* app/widgets/gimpcontrollers.c
	* app/widgets/gimpdataeditor.c
	* app/widgets/gimpdevices.c
	* app/widgets/gimpdnd-xds.c
	* app/widgets/gimperrordialog.c
	* app/widgets/gimphelp.c
	* app/widgets/gimpitemtreeview.c
	* app/widgets/gimppdbdialog.c
	* app/widgets/gimpsettingsbox.c
	* app/widgets/gimpvectorstreeview.c
	* app/widgets/gimpwidgets-utils.c
	* app/xcf/xcf-load.c
	* tools/pdbgen/pdb/convert.pdb
	* tools/pdbgen/pdb/edit.pdb
	* tools/pdbgen/pdb/floating_sel.pdb
	* tools/pdbgen/pdb/image.pdb: use the _literal variants for
	g_set_error(), gimp_message() and gimp_tool_message().

	* app/pdb/convert-cmds.c
	* app/pdb/edit-cmds.c
	* app/pdb/floating-sel-cmds.c
	* app/pdb/image-cmds.c: regenerated.


svn path=/trunk/; revision=27548
2008-11-04 12:33:09 +00:00
Sven Neumann
2409d06ddb app/text/Makefile.am removed this header file.
2008-11-04  Sven Neumann  <sven@gimp.org>

	* app/text/Makefile.am
	* app/text/gimptext-private.h: removed this header file.

	* app/text/gimptextlayout.[ch]: added getters to access the
	resolution, text and PangoLayout.

	* app/text/gimptextlayout-render.c
	* app/tools/gimptexttool.c: use the new getters instead of 
poking
	into the GimpTextLayout struct.


svn path=/trunk/; revision=27543
2008-11-03 23:44:19 +00:00
Sven Neumann
fe520925b7 app/base/Makefile.am app/core/Makefile.am app/display/Makefile.am
2008-11-03  Sven Neumann  <sven@gimp.org>

	
	* app/base/Makefile.am
	* app/core/Makefile.am
	* app/display/Makefile.am
	* app/paint/Makefile.am
	* app/plug-in/Makefile.am
	* app/text/Makefile.am
	* app/tools/Makefile.am
	* app/widgets/Makefile.am
	* libgimp/Makefile.am
	* libgimpbase/Makefile.am: 
	* libgimpconfig/Makefile.am
	* libgimpthumb/Makefile.am
	* libgimpwidgets/Makefile.am: micro-optimization in the 
generated
	enum registration code.

	* app/base/base-enums.c
	* app/core/core-enums.c
	* app/display/display-enums.c
	* app/paint/paint-enums.c
	* app/plug-in/plug-in-enums.c
	* app/text/text-enums.c
	* app/tools/tools-enums.c
	* app/widgets/widgets-enums.c
	* libgimpbase/gimpbaseenums.c
	* libgimpconfig/gimpcolorconfig-enums.c
	* libgimpwidgets/gimpwidgetsenums.c: regenerated.


svn path=/trunk/; revision=27538
2008-11-03 21:38:13 +00:00
Michael Natterer
56b5909c8a add "GimpImageType type" parameter because there are only a few calls to
2008-11-03  Michael Natterer  <mitch@gimp.org>

	* app/core/gimpdrawable.[ch] (gimp_drawable_set_tiles): add
	"GimpImageType type" parameter because there are only a few calls
	to this function which (can easily pass the current type); however
	most calls to gimp_drawable_set_tiles_full() were just using the
	function because of the type argument and passed in the item's
	current offsets (which means peeking into the item struct or using
	temp variables).

	* app/core/gimpdrawable-offset.c (gimp_drawable_offset)
	* app/text/gimptextlayer.c (gimp_text_layer_render)
	* app/tools/gimptransformtool.c (gimp_transform_tool_doit): pass
	the type to set_tiles().

	* app/core/gimpchannel.c (gimp_channel_convert)
	* app/core/gimpimage-convert.c (gimp_image_convert)
	* app/core/gimplayer.c (gimp_layer_convert,add_alpha,flatten):
	change calls to set_tiles_full() into set_tiles() because the
	offset doesn't change.


svn path=/trunk/; revision=27535
2008-11-03 20:51:46 +00:00
Michael Natterer
847de4dda6 Bug 559015 – Move tool gives bad information about px moved
2008-11-03  Michael Natterer  <mitch@gimp.org>

	Bug 559015 – Move tool gives bad information about px moved

	* app/tools/gimpeditselectiontool.c (gimp_edit_selection_tool_init):
	set cursor precision to PIXEL_BORDER because that's what the move
	tool snaps to.

	Unrelated: set CENTER_CROSS_SIZE to an odd number so it's drawn
	symmetrically.


svn path=/trunk/; revision=27533
2008-11-03 19:31:58 +00:00
Michael Natterer
740ab5e633 renamed gimp_item_width() to gimp_item_get_width() and gimp_item_height()
2008-11-03  Michael Natterer  <mitch@gimp.org>

	* app/core/gimpitem.[ch]: renamed
	gimp_item_width() to gimp_item_get_width() and
	gimp_item_height() to gimp_item_get_height().

	* app/actions/channels-commands.c
	* app/actions/drawable-commands.c
	* app/actions/layers-commands.c
	* app/core/<many>.c
	* app/dialogs/offset-dialog.c
	* app/dialogs/resize-dialog.c
	* app/dialogs/scale-dialog.c
	* app/display/gimpdisplayshell-dnd.c
	* app/display/gimpdisplayshell.c
	* app/paint/gimpbrushcore.c
	* app/paint/gimpdodgeburn.c
	* app/paint/gimpink.c
	* app/paint/gimppaintcore.c
	* app/paint/gimpsmudge.c
	* app/text/gimptextlayer-xcf.c
	* app/text/gimptextlayer.c
	* app/tools/gimpaligntool.c
	* app/tools/gimpeditselectiontool.c
	* app/tools/gimpforegroundselecttool.c
	* app/tools/gimpimagemaptool.c
	* app/tools/gimprectangletool.c
	* app/tools/gimpregionselecttool.c
	* app/tools/gimptexttool.c
	* app/vectors/gimpvectors.c
	* app/vectors/gimpvectorsmodundo.c
	* app/widgets/gimptoolbox-dnd.c
	* app/widgets/gimpviewrendererdrawable.c
	* app/widgets/gimpviewrenderervectors.c
	* app/xcf/xcf-load.c
	* app/xcf/xcf-save.c
	* tools/pdbgen/pdb/drawable.pdb: changed accordingly.

	* app/pdb/drawable-cmds.c: regenerated.


svn path=/trunk/; revision=27531
2008-11-03 00:09:01 +00:00
Michael Natterer
5b68a1d0eb renamed gimp_item_offsets() to gimp_item_get_offset() and
2008-11-03  Michael Natterer  <mitch@gimp.org>

	* app/core/gimpitem.[ch]: renamed
	gimp_item_offsets() to gimp_item_get_offset() and
	gimp_item_set_offsets() to gimp_item_set_offset().

	* app/actions/drawable-commands.c
	* app/actions/layers-commands.c
	* app/core/<many>.c
	* app/display/gimpdisplayshell-dnd.c
	* app/display/gimpdisplayshell-preview.c
	* app/display/gimpdisplayshell-transform.c
	* app/display/gimpdisplayshell.c
	* app/paint/gimppaintcore-stroke.c
	* app/paint/gimppaintcore.c
	* app/paint/gimpsourcecore.c
	* app/text/gimptextlayer-xcf.c
	* app/tools/<many>.c
	* app/widgets/gimptoolbox-dnd.c
	* tools/pdbgen/pdb/drawable.pdb
	* tools/pdbgen/pdb/drawable_transform.pdb
	* tools/pdbgen/pdb/selection.pdb
	* tools/pdbgen/pdb/transform_tools.pdb
	* tools/pdbgen/pdb/vectors.pdb: changed accordingly.

	* app/pdb/drawable-cmds.c
	* app/pdb/drawable-transform-cmds.c
	* app/pdb/selection-cmds.c
	* app/pdb/vectors-cmds.c
	* app/pdb/transform-tools-cmds.c: regenerated.


svn path=/trunk/; revision=27529
2008-11-02 23:03:29 +00:00
Michael Natterer
a748e3f58e add new functions gimp_get_image_iter(), display_iter() and
2008-11-02  Michael Natterer  <mitch@gimp.org>

	* app/core/gimp.[ch]: add new functions gimp_get_image_iter(),
	display_iter() and tool_info_iter().

	* app/tools/gimp-tools.c
	* app/tools/gimptexttool.c
	* app/tools/gimpvectortool.c
	* app/dialogs/quit-dialog.c
	* app/gui/gui.c
	* app/menus/windows-menu.c
	* app/actions/images-commands.c
	* app/actions/tools-actions.c
	* app/actions/windows-actions.c
	* app/actions/tool-options-commands.c
	* app/display/gimpdisplay.c
	* app/display/gimpdisplay-foreach.c
	* app/widgets/gimptoolbox.c
	* tools/pdbgen/pdb/image.pdb: use them here.

	* app/pdb/image-cmds.c: regenerated.


svn path=/trunk/; revision=27526
2008-11-02 21:34:14 +00:00
Michael Natterer
d1ca165b4e add new functions gimp_image_get_layer_iter(), channel_iter() and
2008-11-02  Michael Natterer  <mitch@gimp.org>

	* app/core/gimpimage.[ch]: add new functions
	gimp_image_get_layer_iter(), channel_iter() and vectors_iter()
	which return the GList inside the resp. GimpList.

	* app/actions/channels-actions.c
	* app/actions/layers-actions.c
	* app/actions/vectors-actions.c
	* app/core/gimpimage-convert.c
	* app/core/gimpimage-crop.c
	* app/core/gimpimage-duplicate.c
	* app/core/gimpimage-flip.c
	* app/core/gimpimage-item-list.c
	* app/core/gimpimage-merge.c
	* app/core/gimpimage-resize.c
	* app/core/gimpimage-rotate.c
	* app/core/gimpimage-scale.c
	* app/core/gimpimage.c
	* app/core/gimpimage.h
	* app/core/gimpprojection-construct.c
	* app/display/gimpdisplayshell-draw.c
	* app/file/file-open.c
	* app/tools/gimpaligntool.c
	* app/tools/gimpdrawtool.c
	* app/vectors/gimpvectors-compat.c
	* app/vectors/gimpvectors-export.c
	* app/widgets/gimplayertreeview.c
	* app/xcf/xcf-save.c
	* tools/pdbgen/pdb/image.pdb: use the new functions instead of
	peeking both into the image and the list. Remove inclusions of
	"gimplist.h" or change them into "gimpcontainer.h" if needed.

	* app/pdb/image-cmds.c: regenerated.


svn path=/trunk/; revision=27524
2008-11-02 20:46:57 +00:00
Michael Natterer
5fdbd3f58e set the MOVE cursor when we are in MOVING mode.
2008-11-01  Michael Natterer  <mitch@gimp.org>

	* app/tools/gimprectangletool.c
	(gimp_rectangle_tool_cursor_update): set the MOVE cursor when we
	are in MOVING mode.

	* app/tools/gimptexttool.[ch]: remove members x1,x2,y1,y2 and use
	the rectangle tool's bounding box for creating the text layer (x2
	and y2) were unused anyway. Add boolean member "moving". Implement
	oper_update() and set the tool to moving mode when ALT is pressed.
	Changed button_press(), button_release() and motion() accordingly.
	Some more cleanup and removal of comented out code.


svn path=/trunk/; revision=27519
2008-11-01 19:05:56 +00:00
Michael Natterer
f7287be7b5 app/tools/gimptool.[ch] made all GimpCoords* in the tool API const.
2008-11-01  Michael Natterer  <mitch@gimp.org>

	* app/tools/gimptool.[ch]
	* app/tools/tool_manager.[ch]: made all GimpCoords* in the tool
	API const.

	* app/tools/gimpaligntool.c
	* app/tools/gimpblendtool.c
	* app/tools/gimpbrightnesscontrasttool.c
	* app/tools/gimpbrushtool.c
	* app/tools/gimpbucketfilltool.c
	* app/tools/gimpcolorpickertool.c
	* app/tools/gimpcolortool.c
	* app/tools/gimpconvolvetool.c
	* app/tools/gimpcroptool.c
	* app/tools/gimpcurvestool.c
	* app/tools/gimpdodgeburntool.c
	* app/tools/gimpeditselectiontool.[ch]
	* app/tools/gimperasertool.c
	* app/tools/gimpfliptool.c
	* app/tools/gimpforegroundselecttool.c
	* app/tools/gimpfreeselecttool.c
	* app/tools/gimpiscissorstool.c
	* app/tools/gimpmagnifytool.c
	* app/tools/gimpmeasuretool.c
	* app/tools/gimpmovetool.c
	* app/tools/gimppainttool.c
	* app/tools/gimpperspectiveclonetool.c
	* app/tools/gimprectangleselecttool.c
	* app/tools/gimprectangletool.[ch]
	* app/tools/gimpregionselecttool.c
	* app/tools/gimpselectiontool.[ch]
	* app/tools/gimpsourcetool.c
	* app/tools/gimptexttool.c
	* app/tools/gimptransformtool.c
	* app/tools/gimpvectortool.c: changed accordingly and added const
	to all GimpCoords* in utility functions too.

	* app/tools/gimptexttool.c: don't modify the passed coords. In
	fact, simply removed the code that did because it had no effect.


svn path=/trunk/; revision=27517
2008-11-01 15:17:36 +00:00
Martin Nordholts
a9e187586b Prefix the GIMP GEGL operations with "gimp:" instead of "gimp-" so we
* app/gegl/gimpoperation*.c: Prefix the GIMP GEGL operations with
"gimp:" instead of "gimp-" so we follow the GEGL prefix style and
better serialize to XML.

* app/tools/gimp*tool.c

* app/core/gimpdrawable-*.c
* app/core/gimpdrawable.c
* app/core/gimpimagemap.c
* app/core/gimpprojection.c: Changed accordingly.

svn path=/trunk/; revision=27512
2008-11-01 12:08:35 +00:00
Michael Natterer
5400234712 bail out when the passed display is != tool->display. Makes the keyboard
2008-10-31  Michael Natterer  <mitch@gimp.org>

	* app/tools/gimptexttool.c (gimp_text_tool_key_press): bail out
	when the passed display is != tool->display. Makes the keyboard
	work in other displays while the text tools is active.


svn path=/trunk/; revision=27498
2008-10-31 16:49:59 +00:00
Michael Natterer
f971d31ff1 add gimp_draw_tool_draw_text_cursor() which draws a properly transformed
2008-10-31  Michael Natterer  <mitch@gimp.org>

	* app/tools/gimpdrawtool.[ch]: add gimp_draw_tool_draw_text_cursor()
	which draws a properly transformed cursor that always has the same
	line width.

	* app/tools/gimptexttool.c (gimp_text_tool_draw): use it instead
	of drawing a cursor here that is broken at anything but 1:1 zoom.


svn path=/trunk/; revision=27497
2008-10-31 16:48:29 +00:00
Michael Natterer
106b09f5ae bail out instead of crashing if the tool has no display.
2008-10-31  Michael Natterer  <mitch@gimp.org>

	* app/tools/gimptexttool.c (gimp_text_tool_key_press): bail out
	instead of crashing if the tool has no display.

	(gimp_text_tool_draw)
	(gimp_text_tool_draw_preedit)
	(gimp_text_tool_draw_selection)
	(gimp_text_tool_xy_to_offset): need to adjust all drawing and
	event coordinates by a possible negative offset between logical
	rectangle and ink rectangle (if the ink rectangle is larger than
	the logical one).

	* app/display/gimpdisplayshell-callbacks.c
	(gimp_display_shell_canvas_tool_events): continue normally if
	tool_manager_key_press_active() returns FALSE.


svn path=/trunk/; revision=27484
2008-10-30 23:13:24 +00:00
Michael Natterer
7ee008bc48 remove lots of unused variables, apparently my builds were without proper
2008-10-30  Michael Natterer  <mitch@gimp.org>

	* app/tools/gimptexttool.c: remove lots of unused variables,
	apparently my builds were without proper warnings for some time.
	Some formatting cleanup and code reordering.

	* app/actions/text-tool-actions.c
	* menus/text-tool-menu.xml: rename "text-tool-input-methods"
	to "text-tool-input-methods-menu".


svn path=/trunk/; revision=27482
2008-10-30 22:18:16 +00:00
Sven Neumann
b1ff252ca9 Bug 558451 – Cannot build GIMP using Sun CC on Solaris 2.8
2008-10-29  Sven Neumann  <sven@gimp.org>

	Bug 558451 – Cannot build GIMP using Sun CC on Solaris 2.8

	* app/pdb/gimp-pdb-compat.c
	* app/gegl/gimpoperationtilesink.c
	* app/gegl/gimpoperationtilesource.c
	* app/tools/gimpgegltool.c: applied patches from Eric Lamarque
	fixing the build using Sun CC on Solaris.


svn path=/trunk/; revision=27467
2008-10-29 22:24:08 +00:00
Michael Natterer
5530ef6376 turn nested if()s into a switch(release_type).
2008-10-28  Michael Natterer  <mitch@gimp.org>

	* app/tools/gimpmagnifytool.c (gimp_magnify_tool_button_release):
	turn nested if()s into a switch(release_type).


svn path=/trunk/; revision=27455
2008-10-28 18:32:40 +00:00
Martin Nordholts
cf660f3e94 Bug 556603 – Zoom region always zooms in center of image
* app/tools/gimpmagnifytool.c (gimp_magnify_tool_button_release):
When zooming with a click, use gimp_display_shell_scale() instead
of local zoom logic.

svn path=/trunk/; revision=27452
2008-10-28 18:12:20 +00:00
Michael Natterer
88db29948b added "gboolean below" to gimp_enum_radio_frame_add() and
2008-10-28  Michael Natterer  <mitch@gimp.org>

	* app/widgets/gimpwidgets-utils.[ch]: added "gboolean below" to
	gimp_enum_radio_frame_add() and gimp_enum_radio_box_add() and
	place the widget right of the radio button unless "below" is TRUE.

	* app/dialogs/convert-dialog.c
	* app/dialogs/layer-add-mask-dialog.c
	* app/tools/gimpbucketfilloptions.c
	* app/tools/gimpclonetool.c
	* app/tools/gimpperspectiveclonetool.c
	* app/widgets/gimpfilleditor.c: pass TRUE so everything stays as-is.


svn path=/trunk/; revision=27450
2008-10-28 17:40:32 +00:00
Michael Natterer
73410cef60 some minor cleanups.
2008-10-27  Michael Natterer  <mitch@gimp.org>

	* app/tools/gimptexttool.c: some minor cleanups.

	(gimp_text_tool_draw): draw a cursor of two pixels width which is
	between glyphs so it is visible both at the left and the right
	border or the rectangle. Also make it look a little more
	cursor-like.


svn path=/trunk/; revision=27446
2008-10-27 21:22:50 +00:00
Michael Natterer
c0cb7c1409 menus/text-tool-menu.xml app/actions/text-tool-actions.c add "Text along
2008-10-27  Michael Natterer  <mitch@gimp.org>

	* menus/text-tool-menu.xml
	* app/actions/text-tool-actions.c
	* app/actions/text-tool-commands.[ch]: add "Text along Path" to the
	text tool context menu.

	* app/tools/gimptextoptions.[ch]: remove the text along path
	button here.

	* app/tools/gimptexttool.c: changed accordingly.

	* app/tools/gimptexttool.[ch]: move public functions together,
	move all virtual function implementations together and put them in
	order, made the text along path function public, factor out
	gimp_text_tool_xy_to_offset() instead of duplicaing this code
	three times, remove gimp_rectangle_tool_frame_item() because it
	doesn't belong here.

	* app/tools/gimprectangletool.[ch]: add
	gimp_rectangle_tool_frame_item() here. Enselic, please process ;)


svn path=/trunk/; revision=27444
2008-10-27 16:21:03 +00:00
Sven Neumann
4ce3a62572 removed unused includes.
2008-10-27  Sven Neumann  <sven@gimp.org>

	* app/tools/gimptexttool.c: removed unused includes.

	* app/actions/text-tool-commands.c 
(text_tool_load_cmd_callback):
	fixed file dialog for opening text files.


svn path=/trunk/; revision=27441
2008-10-27 12:23:40 +00:00
Michael Natterer
b258af7af8 take the layout line's x coordinate into account so the stuff works for
2008-10-27  Michael Natterer  <mitch@gimp.org>

	* app/tools/gimptexttool.c (gimp_text_tool_key_press): take the
	layout line's x coordinate into account so the stuff works for
	right-aligned or centered text.


svn path=/trunk/; revision=27440
2008-10-27 11:49:19 +00:00
Michael Natterer
50f043c3a2 argh, need to speak in byte offsets not character offsets. Do so and avoid
2008-10-27  Michael Natterer  <mitch@gimp.org>

	* app/tools/gimptexttool.c (gimp_text_tool_key_press): argh, need
	to speak in byte offsets not character offsets. Do so and avoid
	getting the buffer's text on each keystroke just to do the
	char/byte conversion. Will use the same method for all the other
	places which do similar things.

	(gimp_text_tool_connect): minor cleanup.


svn path=/trunk/; revision=27439
2008-10-27 11:00:15 +00:00
Sven Neumann
033fcf1628 added new enum GimpTextHintStyle.
2008-10-27  Sven Neumann  <sven@gimp.org>

	* libgimpbase/gimpbaseenums.[ch]: added new enum 
GimpTextHintStyle.

	* libgimp/gimpenums.c.tail
	* tools/pdbgen/enums.pl: regenerated.

	* app/text/gimptext.[ch]: added new property "hint-style". 
Removed
	"autohint" property and mapped the boolean property "hinting" to
	the new enum property "hint-style".

	* app/text/gimptextlayout-render.c 
(gimp_text_layout_render_flags):
	use "hint-style".

	* app/tools/gimptextoptions.[ch]: changed tool options 
accordingly.

	* tools/pdbgen/pdb/text_layer.pdb: deprecated the "hinting" API
	and introduced getters and setters for "hint-style".

	* app/pdb/text-layer-cmds.c
	* app/pdb/internal-procs.c
	* libgimp/gimptextlayer_pdb.[ch]: regenerated.


svn path=/trunk/; revision=27432
2008-10-27 07:59:32 +00:00
Michael Natterer
cd0885518b add gimp_draw_tool_set_clip_rect() which transforms the passed in
2008-10-27  Michael Natterer  <mitch@gimp.org>

	* app/tools/gimpdrawtool.[ch]: add gimp_draw_tool_set_clip_rect()
	which transforms the passed in GdkRectangle before setting it
	on the canvas.

	* app/tools/gimptexttool.c (gimp_text_tool_draw): use it instead
	of gimp_canvas_set_clip_rect().


svn path=/trunk/; revision=27431
2008-10-27 00:10:13 +00:00
Michael Natterer
e16b92298d add integer x_pos member to remember the x cursor position when moving up
2008-10-27  Michael Natterer  <mitch@gimp.org>

	* app/tools/gimptexttool.h: add integer x_pos member to remember
	the x cursor position when moving up and down across shorter
	lines.

	* app/tools/gimptexttool.c (gimp_text_tool_key_press): implement
	moving the cursor up and down. The x_pos probably needs to be
	reset in a few more places but it seems to work pretty nicely
	already.


svn path=/trunk/; revision=27430
2008-10-26 23:30:23 +00:00
Michael Natterer
cabd52129e handle Tab, some more cleanup.
2008-10-26  Michael Natterer  <mitch@gimp.org>

	* app/tools/gimptexttool.c: handle Tab, some more cleanup.


svn path=/trunk/; revision=27429
2008-10-26 21:50:20 +00:00
Michael Natterer
63b67cc716 more cleanup, mostly formatting.
2008-10-26  Michael Natterer  <mitch@gimp.org>

	* app/tools/gimptexttool.c: more cleanup, mostly formatting.


svn path=/trunk/; revision=27426
2008-10-26 20:46:50 +00:00
Michael Natterer
ef66f5423f some formatting cleanup.
2008-10-26  Michael Natterer  <mitch@gimp.org>

	* app/tools/gimptexttool.c: some formatting cleanup.

	* app/tools/gimprectangletool.c: add one space.

	* app/actions/text-tool-actions.c: look at GDK_SELECTION_CLIPBOARD,
	not PRIMARY, to set the sensitivity of "Paste".


svn path=/trunk/; revision=27424
2008-10-26 20:05:11 +00:00
Michael Natterer
3a51f9b75f some general formatting cleanup.
2008-10-26  Michael Natterer  <mitch@gimp.org>

	* app/tools/gimptexttool.[ch]: some general formatting cleanup.

	(gimp_text_tool_key_press): implement ctrl-moving the cursor by
	words, handle Delete.

	(gimp_text_tool_delete_text): add boolean "backspace" parameter
	and delete forward when it's FALSE.

	* app/actions/text-tool-commands.c: pass an arbitrary TRUE to
	gimp_text_tool_delete_text() (it's not used because when called
	from here, there is always a selection).


svn path=/trunk/; revision=27423
2008-10-26 19:54:27 +00:00
Michael Natterer
ee414d9e6f Merge on-canvas GSoC project:
2008-10-26  Michael Natterer  <mitch@gimp.org>

	Merge on-canvas GSoC project:

	* configure.in: check for pangocairo.

	* app/Makefile.am
	* app/text/Makefile.am: add its CFLAGS and LIBS.

	* app/text/gimptext-bitmap.[ch]
	* app/text/gimptext-private.h
	* app/text/gimptext-vectors.[ch]
	* app/text/gimptextlayer.c
	* app/text/gimptextlayout-render.c
	* app/text/gimptextlayout.c: port to pangocairo.

	* menus/Makefile.am
	* menus/text-tool-menu.xml
	* app/menus/menus.c
	* app/actions/Makefile.am
	* app/actions/actions.c
	* app/actions/text-tool-actions.[ch]
	* app/actions/text-tool-commands.[ch]: add a context menu for the
	text tool similar to GtkEntry's context menu.

	* app/tools/gimprectangletool.[ch]: add "narrow-mode" property.

	* app/tools/gimptextoptions.[ch]
	* app/widgets/gimptexteditor.[ch]: take a text buffer for the
	standalone text editor window instead of creating one internally.

	* app/tools/gimptexttool.[ch]: all the new wonderful on-canvas
	text editing logic. Wheee!


svn path=/trunk/; revision=27419
2008-10-26 17:39:55 +00:00
Sven Neumann
b8d8f14749 added missing return value.
2008-10-26  Sven Neumann  <sven@gimp.org>

	* app/tools/gimptool.c (gimp_tool_get_popup): added
	missing return value.


svn path=/trunk/; revision=27418
2008-10-26 16:36:01 +00:00
Sven Neumann
076541df9a added missing return value.
2008-10-26  Sven Neumann  <sven@gimp.org>

	* app/tools/tool_manager.c (tool_manager_get_popup_active): 
added
	missing return value.


svn path=/trunk/; revision=27417
2008-10-26 16:31:52 +00:00
Michael Natterer
68e6d7a610 Add some infrastructure for the on-canvas text editing GSoC project:
2008-10-26  Michael Natterer  <mitch@gimp.org>

	Add some infrastructure for the on-canvas text editing GSoC
	project:

	* app/tools/gimptoolcontrol.[ch]: add boolean wants_all_key_events
	member and API to set and get it.

	* app/tools/gimptool.[ch]: add GimpTool::get_popup() which returns
	the tool's context menu if it has one, or NULL otherwise.

	* app/tools/tool_manager.[ch]: add tool_manager_get_popup_active()
	wrapper.

	* app/display/gimpdisplayshell-callbacks.c: check if the tool has
	a popup menu and show it instead of the usual right-click menu.

	Also call the tool's key_press() unconditionally if it wants all
	key events, but this code needs more thinking.


svn path=/trunk/; revision=27416
2008-10-26 16:25:24 +00:00
Michael Natterer
39af762f61 More merging from SOC 2006's vector layer branch:
2008-10-25  Michael Natterer  <mitch@gimp.org>

	More merging from SOC 2006's vector layer branch:

	* app/core/gimpitem.[ch]: add "gboolean push_undo" to
	GimpItem::stroke().

	* app/core/gimpdrawable-stroke.[ch]
	* app/paint/gimppaintcore-stroke.[ch]
	* app/paint/gimppaintcore.[ch] (gimp_paint_core_finish): add
	"push_undo" parameters here too.

	* app/actions/select-commands.c
	* app/actions/vectors-commands.c
	* app/core/gimpchannel.c
	* app/core/gimpselection.c
	* app/dialogs/stroke-dialog.c
	* app/tools/gimppainttool.c
	* app/vectors/gimpvectors.c
	* tools/pdbgen/pdb/edit.pdb
	* tools/pdbgen/pdb/paint_tools.pdb
	* tools/pdbgen/pdb/paths.pdb: pass TRUE all over the place.

	* app/pdb/edit-cmds.c
	* app/pdb/paint-tools-cmds.c
	* app/pdb/paths-cmds.c: regenerated.


svn path=/trunk/; revision=27398
2008-10-25 11:59:03 +00:00
Michael Natterer
3b053f79fa don't #include "libgimpwidgets/gimpwidgets.h".
2008-10-23  Michael Natterer  <mitch@gimp.org>

	* app/display/gimpdisplayshell.h: don't #include
	"libgimpwidgets/gimpwidgets.h".

	* app/display/gimpdisplayshell-draw.c
	* app/display/gimpdisplayshell-scale.c
	* app/tools/gimpeditselectiontool.c: include it here.


svn path=/trunk/; revision=27375
2008-10-23 09:42:55 +00:00
Sven Neumann
3bf04bd98c GEGL_IS_PARAM_SPEC_PATH() became GEGL_IS_PARAM_SPEC_FILE_PATH().
2008-10-21  Sven Neumann  <sven@sven>

	* app/tools/gimpgegltool.c (gimp_param_spec_duplicate):
	GEGL_IS_PARAM_SPEC_PATH() became GEGL_IS_PARAM_SPEC_FILE_PATH().


svn path=/trunk/; revision=27351
2008-10-21 14:25:23 +00:00
Sven Neumann
88340798f2 for the combo-box, strip known prefixes from the GEGL operation names and
2008-10-21  Sven Neumann  <sven@gimp.org>

	* app/tools/gimpgegltool.c (gimp_gegl_tool_dialog): for the
	combo-box, strip known prefixes from the GEGL operation names 
and
	use icons instead.


svn path=/trunk/; revision=27350
2008-10-21 11:34:00 +00:00
Michael Natterer
f2e93c0e78 add the gegl: prefix here too.
2008-10-15  Michael Natterer  <mitch@gimp.org>

	* app/tools/gimpgegltool.c (gimp_gegl_tool_operation_blacklisted):
	add the gegl: prefix here too.

	(gimp_gegl_tool_get_config): canonicalize the type name of the
	created config class or we crash.


svn path=/trunk/; revision=27286
2008-10-14 23:28:23 +00:00
Michael Natterer
1ccfc38561 add the gegl: prefix here too.
2008-10-15  Michael Natterer  <mitch@gimp.org>

	* app/tools/gimpgegltool.c (gimp_gegl_tool_operation_blacklisted):
	add the gegl: prefix here too.


svn path=/trunk/; revision=27285
2008-10-14 23:14:34 +00:00
Michael Natterer
880a699cae configure.in require GEGL >= 0.0.21.
2008-10-14  Michael Natterer  <mitch@gimp.org>

	* configure.in
	* app/sanity.c: require GEGL >= 0.0.21.

	* app/core/gimpchannel.c
	* app/core/gimpdrawable-brightness-contrast.c
	* app/core/gimpdrawable-invert.c
	* app/core/gimpimage.c
	* app/core/gimpimagemap.c
	* app/core/gimplayer.c
	* app/gegl/gimp-gegl-utils.c
	* app/tools/gimpbrightnesscontrasttool.c: GEGL operation names
	are now "gegl:"-prefixed.

	* app/core/gimpimagemap.c: set the node's "dont-cache" property
	unconditionally.


svn path=/trunk/; revision=27284
2008-10-14 22:44:42 +00:00
Michael Natterer
ac745422b9 flush the image after setting active items back from temporarily selected
2008-10-10  Michael Natterer  <mitch@gimp.org>

	* app/tools/gimpmovetool.c (gimp_move_tool_button_release): flush
	the image after setting active items back from temporarily
	selected ones. Fixes menu item sensitivity.


svn path=/trunk/; revision=27209
2008-10-10 15:41:03 +00:00
Michael Natterer
5503e6a055 Add GEGL_CFLAGS and #includes as if gimpdrawable.h and gimpimage.h had a
2008-10-09  Michael Natterer  <mitch@gimp.org>

	Add GEGL_CFLAGS and #includes as if gimpdrawable.h and gimpimage.h
	had a GEGL dependency (they will have in the next commit, but I
	wanted to keep the commit separate).

	* app/dialogs/Makefile.am
	* app/file/Makefile.am
	* app/gui/Makefile.am
	* app/menus/Makefile.am
	* app/paint/Makefile.am
	* app/plug-in/Makefile.am
	* app/text/Makefile.am
	* app/vectors/Makefile.am
	* app/widgets/Makefile.am
	* app/xcf/Makefile.am: add GEGL_CFLAGS.

	* app/actions/*.c
	* app/core/*.c
	* app/dialogs/*.c
	* app/display/*.c
	* app/file/*.c
	* app/gui/*.c
	* app/menus/*.c
	* app/paint/*.c
	* app/pdb/gimppdb-utils.c
	* app/pdb/gimpprocedure.c
	* app/plug-in/*.c
	* app/text/*.c
	* app/tools/*.c
	* app/vectors/*.c
	* app/widgets/*.c
	* app/xcf/*.c: add <gegl.h> or replace <glib-object.h> by <gegl.h>
	to all files which include a drawable subclass or gimpimage.h

	* tools/pdbgen/app.pl: include <gegl.h> instead of <glib-object.h>
	in all generated files.

	* app/pdb/*-cmds.c: regenerated.

	* data/images/gimp-splash.png: the goat is still sleeping.
	By Aurore Derriennic.


svn path=/trunk/; revision=27202
2008-10-09 20:24:04 +00:00
Michael Natterer
0e4a35a2d8 Remove the last code duplication from the undo system (or if not the last
2008-10-09  Michael Natterer  <mitch@gimp.org>

	Remove the last code duplication from the undo system (or if not
	the last then at least the most ugly):

	* app/core/gimpimage.[ch] (gimp_image_add_layer,channel,vectors):
	add "gboolean push_undo" parameter and add the item without
	touching undo if it's TRUE. Changed assertions from
	g_object_is_floating() to !gimp_item_is_attached() so they also
	take items from the undo stack and not only newly created ones.

	(gimp_image_remove_layer,channel,vectors): add "push_undo"
	parameter here too. Also add a "new_active" parameter where an
	optional new active item can be passed.

	(gimp_image_remove_layer,channel): these functions must not be
	called with push_undo=FALSE and a floating selection attached to
	the layer/channel. This can't currently happen; added warnings in
	case other code is changed and makes it happen anyway.

	* app/core/gimpchannelundo.c
	* app/core/gimplayerundo.c
	* app/vectors/gimpvectorsundo.c: use above functions to add/remove
	items instead of duplicating (parts of) their code. Pass
	push_undo=FALSE and the previously active item to the remove()
	functions.

	* app/actions/channels-commands.c
	* app/actions/edit-commands.c
	* app/actions/layers-commands.c
	* app/actions/vectors-commands.c
	* app/core/gimp-edit.c
	* app/core/gimpchannelundo.c
	* app/core/gimpimage-crop.c
	* app/core/gimpimage-duplicate.c
	* app/core/gimpimage-merge.c
	* app/core/gimpimage-quick-mask.c
	* app/core/gimpimage-scale.c
	* app/core/gimplayer-floating-sel.c
	* app/core/gimplayerundo.c
	* app/core/gimpselection.c
	* app/core/gimptemplate.c
	* app/display/gimpdisplayshell-dnd.c
	* app/text/gimptext-compat.c
	* app/tools/gimptexttool.c
	* app/tools/gimpvectortool.c
	* app/vectors/gimpvectors-import.c
	* app/vectors/gimpvectorsundo.c
	* app/widgets/gimpchanneltreeview.c
	* app/widgets/gimpitemtreeview.[ch]
	* app/widgets/gimplayertreeview.c
	* app/widgets/gimptoolbox-dnd.c
	* app/widgets/gimpvectorstreeview.c
	* app/xcf/xcf-load.c
	* tools/pdbgen/pdb/image.pdb
	* tools/pdbgen/pdb/paths.pdb: changed accordingly (pass TRUE
	unless it's a new image like when loading and XCF file).

	* app/pdb/image-cmds.c
	* app/pdb/paths-cmds.c: regenerated.


svn path=/trunk/; revision=27200
2008-10-09 19:40:41 +00:00
Michael Natterer
e21935a7b9 Bug 134956 – Curves tool doesn't save free curves
2008-10-09  Michael Natterer  <mitch@gimp.org>

	Bug 134956 – Curves tool doesn't save free curves

	* app/core/gimpmarshal.list
	* app/widgets/gimpsettingsbox.[ch]: add signal "file-dialog-setup"
	and emit it when the export/import file chooser is fully
	constructed. Callbacks can then do additional things to the
	dialog, like adding custom buttons.

	* app/tools/gimpcurvestool.h
	* app/tools/gimplevelstool.h: add boolean member
	"export_old_format".

	* app/tools/gimpcurvestool.c
	* app/tools/gimplevelstool.c (gimp_*_tool_dialog): connect to
	the settings box' "file-dialog-setup".

	(gimp_*_tool_export_setup): new callback which adds a toggle to
	the file choosers that allows to export to the old format.
	Default saving the new format, we defaulted to the old one before.

	(gimp_*_tool_settings_export): check the "export_old_format"
	boolean and only save the cruft format if it is TRUE; chain up
	otherwise, which generically saves the new format.

	* app/tools/gimplevelstool.c (gimp_levels_tool_settings_import):
	add the same file format detection code as in the curves tool
	so it transparently loads old and new levels files.


svn path=/trunk/; revision=27194
2008-10-09 15:25:59 +00:00
Michael Natterer
62e7dcc640 reorder sections consistently. Remove redundant CFLAGS.
2008-10-07  Michael Natterer  <mitch@gimp.org>

	* app/*/Makefile.am: reorder sections consistently. Remove
	redundant CFLAGS.


svn path=/trunk/; revision=27163
2008-10-07 11:58:14 +00:00
Hans Breuer
d94419a9fd updated include <string.h> for memcmp() include <string.h> for strcmp()
2008-10-03  Hans Breuer  <hans@breuer.org>

	* **/makefie.msc gimpdefs.msc app/gimpcore.def : updated
	* app/core/gimpcurve.c : include <string.h> for memcmp()
	* app/gegl/gimpcurvesconfig.c : include <string.h> for strcmp()

svn path=/trunk/; revision=27118
2008-10-03 19:27:54 +00:00
Sven Neumann
d5be34058c add "text" to the list of blacklisted operations.
2008-10-02  Sven Neumann  <sven@gimp.org>

	* app/tools/gimpgegltool.c 
(gimp_gegl_tool_operation_blacklisted):
	add "text" to the list of blacklisted operations.


svn path=/trunk/; revision=27114
2008-10-02 19:08:16 +00:00
Michael Natterer
52c61f6b5f keep a "default_config" object around and use it to reset the tool if it
2008-09-30  Michael Natterer  <mitch@gimp.org>

	* app/tools/gimpimagemaptool.[ch]: keep a "default_config" object
	around and use it to reset the tool if it exists.

	(gimp_image_map_tool_edit_as): set the default_config on the new
	tool so "reset" goes back to the values the tool was started with.

	* app/tools/gimpcolorbalencetool.c (gimp_color_balance_tool_reset)
	* app/tools/gimpcurvestool.c (gimp_curves_tool_reset)
	* app/tools/gimphuesaturationtool.c (gimp_hue_saturation_tool_reset)
	* app/tools/gimplevelstool.c (gimp_levels_tool_reset): use the
	default config to reset the tool here too if it exists.


svn path=/trunk/; revision=27090
2008-09-30 13:46:08 +00:00
Martin Nordholts
63ca4578b9 Bug 549925 – incorrect math: adding/substracting empty selection
deselects selection

* app/tools/gimprectangleselecttool.c
(gimp_rectangle_select_tool_execute): Be more intuitive when
clicking outside the current selection for the selection modes Add
and Subtract. More specifically, don't alter the selection mask at
all.

svn path=/trunk/; revision=27048
2008-09-24 21:15:54 +00:00
Martin Nordholts
f08e322809 Added new utility function gimp_rectangle_select_tool_get_operation(), and
* app/tools/gimprectangleselecttool.c: Added new utility function
gimp_rectangle_select_tool_get_operation(), and started using it.

svn path=/trunk/; revision=27047
2008-09-24 20:55:55 +00:00
Michael Natterer
68c21b49e9 Revert the change which adds GError parameters to
2008-09-17  Michael Natterer  <mitch@gimp.org>

	Revert the change which adds GError parameters to
	gimp_image_add_{channel,layer,vectors}():

	* app/actions/channels-commands.c
	* app/actions/edit-commands.c
	* app/actions/layers-commands.c
	* app/actions/vectors-commands.c
	* app/core/gimp-edit.c
	* app/core/gimpimage-duplicate.c
	* app/core/gimpimage-merge.c
	* app/core/gimpimage-quick-mask.c
	* app/core/gimpimage.[ch]
	* app/core/gimplayer-floating-sel.c
	* app/core/gimpselection.c
	* app/core/gimptemplate.c
	* app/display/gimpdisplayshell-dnd.c
	* app/text/gimptext-compat.c
	* app/tools/gimptexttool.c
	* app/tools/gimpvectortool.c
	* app/vectors/gimpvectors-import.c
	* app/widgets/gimpchanneltreeview.c
	* app/widgets/gimpitemtreeview.[ch]
	* app/widgets/gimplayertreeview.c
	* app/widgets/gimptoolbox-dnd.c
	* app/widgets/gimpvectorstreeview.c
	* app/xcf/xcf-load.c: revert.

	Instead, fix it at the PDB level:

	* app/core/gimpimage.c: turn the "added to wrong image" warning
	into a g_return_val_if_fail() assertion.

	* app/pdb/gimppdb-utils.[ch] (gimp_pdb_item_is_floating): add a
	"dest_image" parameter and fail if the passed item is not for this
	image.

	* tools/pdbgen/pdb/image.pdb
	* tools/pdbgen/pdb/layer.pdb
	* tools/pdbgen/pdb/paths.pdb: pass the dest image to
	gimp_pdb_item_is_floating().

	* app/pdb/image-cmds.c
	* app/pdb/layer-cmds.c
	* app/pdb/paths-cmds.c: regenerated.


svn path=/trunk/; revision=26970
2008-09-17 11:41:54 +00:00
Michael Natterer
b0dab70de8 add GError parameter to gimp_image_add_{channel,layer,vectors}() and
2008-09-17  Michael Natterer  <mitch@gimp.org>

	* app/core/gimpimage.[ch]: add GError parameter to
	gimp_image_add_{channel,layer,vectors}() and remove calls to
	g_warning(). Changed checks to be possible failures at all.

	* app/widgets/gimpitemtreeview.h (GimpAddItemFunc): add the GError
	here too.

	* app/actions/channels-commands.c
	* app/actions/edit-commands.c
	* app/actions/layers-commands.c
	* app/actions/vectors-commands.c
	* app/core/gimp-edit.c
	* app/core/gimpimage-duplicate.c
	* app/core/gimpimage-merge.c
	* app/core/gimpimage-quick-mask.c
	* app/core/gimplayer-floating-sel.c
	* app/core/gimpselection.c
	* app/core/gimptemplate.c
	* app/display/gimpdisplayshell-dnd.c
	* app/text/gimptext-compat.c
	* app/tools/gimptexttool.c
	* app/tools/gimpvectortool.c
	* app/vectors/gimpvectors-import.c
	* app/widgets/gimpchanneltreeview.c
	* app/widgets/gimpitemtreeview.c
	* app/widgets/gimplayertreeview.c
	* app/widgets/gimptoolbox-dnd.c
	* app/widgets/gimpvectorstreeview.c
	* app/xcf/xcf-load.c: pass a NULL error.

	* tools/pdbgen/pdb/image.pdb
	* tools/pdbgen/pdb/paths.pdb: pass the error.

	* app/pdb/image-cmds.c
	* app/pdb/paths-cmds.c: regenerated.


svn path=/trunk/; revision=26963
2008-09-17 08:27:35 +00:00
Michael Natterer
3827523fe7 Bug 551306 – Color picker for text tool does not show selected palette
2008-09-08  Michael Natterer  <mitch@gimp.org>

	Bug 551306 – Color picker for text tool does not show selected
	palette

	* app/tools/gimptexttool.c (gimp_text_tool_register): add
	GIMP_CONTEXT_PALETTE_MASK to the tool option's context mask so the
	color popup's palette follows the globally selected palette.


svn path=/trunk/; revision=26899
2008-09-08 12:50:41 +00:00
Sven Neumann
ec789594af also blacklist the "stress" operations
svn path=/trunk/; revision=26880
2008-09-05 17:41:29 +00:00
Sven Neumann
de8671671f blacklist "color-convert" and all GIMP operations.
2008-09-05  Sven Neumann  <sven@gimp.org>

	* app/tools/gimpgegltool.c: blacklist "color-convert" and all 
GIMP
	operations.


svn path=/trunk/; revision=26879
2008-09-05 17:37:17 +00:00
Sven Neumann
39ed2677f6 added a blacklist of operations that should not be shown. We may want to
2008-09-05  Sven Neumann  <sven@gimp.org>

	* app/tools/gimpgegltool.c: added a blacklist of operations that
	should not be shown. We may want to add more operations here.


svn path=/trunk/; revision=26878
2008-09-05 17:11:48 +00:00
Michael Natterer
941310a309 Bug 550983 – The size displayed in the status bar isn't correct
2008-09-05  Michael Natterer  <mitch@gimp.org>

	Bug 550983 – The size displayed in the status bar isn't correct

	* app/tools/gimprectangletool.c: use the right precision when
	pushing the rectangle's size as coordinates to the statusbar.


svn path=/trunk/; revision=26872
2008-09-05 12:15:24 +00:00
Sven Neumann
66a3aedea6 expose the preview when the tool is initialized. Fixes missing redraws
2008-09-04  Sven Neumann  <sven@gimp.org>

	* app/tools/gimptransformtool.c 
(gimp_transform_tool_initialize):
	expose the preview when the tool is initialized. Fixes missing
	redraws when the tool is selected from the menus (bug #550911).

	(gimp_transform_tool_motion): expose the preview after
	recalculating the transformation matrix.


svn path=/trunk/; revision=26868
2008-09-04 21:34:38 +00:00
Sven Neumann
8ec1d65a4a removed trailing whitespace
svn path=/trunk/; revision=26852
2008-09-04 08:37:32 +00:00
Michael Natterer
b19d4b85c3 some tiny formatting fixes.
2008-08-28  Michael Natterer  <mitch@gimp.org>

	* app/tools/gimprectangletool.c: some tiny formatting fixes.


svn path=/trunk/; revision=26799
2008-08-28 12:54:14 +00:00
Sven Neumann
26645c5549 moved hiding the dialog from gimp_transform_tool_real_transform() to
2008-08-27  Sven Neumann  <sven@gimp.org>

	* app/tools/gimptransformtool.c: moved hiding the dialog from 
	gimp_transform_tool_real_transform() to 
gimp_transform_tool_doit().
	Delay undrawing the preview in doit() until the transformation 
is
	done. This removes the annoying flicker at the end.


svn path=/trunk/; revision=26789
2008-08-27 09:56:46 +00:00
Sven Neumann
915803cfa9 fixed compilation
svn path=/trunk/; revision=26788
2008-08-27 08:21:34 +00:00
Sven Neumann
28cdc4d9a0 hide the tool dialog before starting to perform the transformation.
2008-08-27  Sven Neumann  <sven@gimp.org>

	* app/tools/gimptransformtool.c 
(gimp_transform_tool_real_transform):
	hide the tool dialog before starting to perform the 
transformation.


svn path=/trunk/; revision=26787
2008-08-27 07:42:28 +00:00
Martin Nordholts
b5b51b475f libgimpwidgets/gimpwidgets.c
2008-08-26  Martin Nordholts  <martinn@svn.gnome.org>

	* libgimpwidgets/gimpwidgets.c

	* plug-ins/common/file-xbm.c
	* plug-ins/common/file-wmf.c
	* plug-ins/common/file-svg.c
	* plug-ins/common/file-gih.c
	* plug-ins/common/blur-motion.c
	* plug-ins/file-jpeg/jpeg-save.c
	* plug-ins/lighting/lighting-ui.c
	* plug-ins/map-object/map-object-ui.c

	* app/tools/gimpsheartool.c
	* app/tools/gimpaligntool.c
	* app/tools/gimprotatetool.c
	* app/tools/gimplevelstool.c
	* app/dialogs/resize-dialog.c
	* app/dialogs/offset-dialog.c
	* app/widgets/gimppaletteeditor.c
	* app/widgets/gimpcolormapeditor.c
	* app/dialogs/layer-options-dialog.c
	* app/display/gimpdisplayshell-scale-dialog.c: Pass page_size = 0
	to gimp_spin_button_new() to adapt to new and correct value
	clamping in GTK+.

svn path=/trunk/; revision=26778
2008-08-26 19:32:14 +00:00
Michael Natterer
92cbcd03b2 don't hardcode the attach coords for the fixed containing the dynamics
2008-08-26  Michael Natterer  <mitch@gimp.org>

	* app/tools/gimppaintoptions-gui.c (gimp_paint_options_gui): don't
	hardcode the attach coords for the fixed containing the dynamics
	labels but use the table's real width instead. Fixes broken table
	layout in the airbrush options.


svn path=/trunk/; revision=26771
2008-08-26 14:50:05 +00:00
Martin Nordholts
ee44ab3d32 Set page_size for the Ouput/Input Levels lower/upper adjustments to 0 to
2008-08-24  Martin Nordholts  <martinn@svn.gnome.org>

	* app/tools/gimplevelstool.c (gimp_levels_tool_dialog): Set
	page_size for the Ouput/Input Levels lower/upper adjustments to 0
	to adapt to new and more correct value clamping in GTK+.

svn path=/trunk/; revision=26743
2008-08-24 13:57:42 +00:00
Michael Natterer
9fc779f44f set precision back to PIXEL_CENTER because it's set to SUBPIXEL by the
2008-08-21  Michael Natterer  <mitch@gimp.org>

	* app/tools/gimpforegroundselecttool.c
	(gimp_foreground_select_tool_init): set precision back to
	PIXEL_CENTER because it's set to SUBPIXEL by the parent class.


svn path=/trunk/; revision=26687
2008-08-21 08:19:54 +00:00
Michael Natterer
d51c50820f Bug 496772 – Position shown in the statusbar needs more precision (for
2008-08-20  Michael Natterer  <mitch@gimp.org>

	Bug 496772 – Position shown in the statusbar needs more
	precision (for some tools)

	* app/display/display-enums.[ch]: add enum GimpCursorPrecision
	which can be one of { PIXEL_CENTER, PIXEL_BORDER, SUBPIXEL }.

	* app/display/gimpdisplayshell-cursor.[ch]: add "precision"
	parameter to gimp_display_shell_update_cursor() and pass it
	on to the statusbar.

	* app/display/gimpstatusbar.[ch]: add "precision" parameters to
	the cursor coordinates APIs, offset the passed coords accordingly
	and display them with one decimal point if SUBPIXEL is requested
	and the display's unit is PIXEL. Keep a second floating-point
	format string around at any time.

	* app/tools/gimptoolcontrol.[ch]: add a "precision" member and API
	so tools can configure the precision they need. Defalt to
	PIXEL_CENTER since that's right for almost all tools.

	* app/display/gimpdisplayshell-callbacks.c: pass the tool's
	precision to gimp_display_shell_update_cursor().

	* app/tools/gimptool.[ch]: add "precision" parameter to
	gimp_tool_push_status_coords() and pass it on to the statusbar.

	* app/tools/gimpaligntool.c
	* app/tools/gimpblendtool.c
	* app/tools/gimpcolortool.c
	* app/tools/gimpcroptool.c
	* app/tools/gimpeditselectiontool.c
	* app/tools/gimpfliptool.c
	* app/tools/gimpfreeselecttool.c
	* app/tools/gimpmovetool.c
	* app/tools/gimppainttool.c
	* app/tools/gimpperspectiveclonetool.c
	* app/tools/gimprectangleselecttool.c
	* app/tools/gimprectangletool.c
	* app/tools/gimptransformtool.c
	* app/tools/gimpvectortool.c: set precision in init() where
	needed. Adjust the precision in the fly when needed, e.g. while
	moving guides or when toggling hard-edge on paint tools. Also pass
	an appropriate precision to gimp_tool_push_status_coords(), which
	is not always the tool's precision as used for cursor display.


svn path=/trunk/; revision=26681
2008-08-20 16:22:09 +00:00
Michael Natterer
4c356fe42b make gimp_perspective_clone_get_matrix() static and add
2008-08-20  Michael Natterer  <mitch@gimp.org>

	* app/paint/gimpperspectiveclone.[ch]: make
	gimp_perspective_clone_get_matrix() static and add
	gimp_perspective_clone_set_transform().

	* app/tools/gimpperspectiveclonetool.c
	(gimp_perspective_clone_tool_mode_notify): use above set_transform()
	API instead of poking into the object.

	(gimp_perspective_clone_tool_constructor): call
	gimp_perspective_clone_tool_mode_notify() to set up things instead
	of duplicating code.


svn path=/trunk/; revision=26673
2008-08-20 09:49:40 +00:00
Michael Natterer
e650b579a7 formatting.
2008-08-20  Michael Natterer  <mitch@gimp.org>

	* app/tools/gimpperspectiveclonetool.[ch]: formatting.


svn path=/trunk/; revision=26672
2008-08-20 08:57:01 +00:00
Michael Natterer
8ed8670d01 formatting.
2008-08-19  Michael Natterer  <mitch@gimp.org>

	* app/tools/gimpgegltool.c (gimp_gegl_tool_dialog): formatting.


svn path=/trunk/; revision=26664
2008-08-19 15:42:31 +00:00
Michael Natterer
46c7d2518a remove #include "core/gimpguide.h"
2008-08-16  Michael Natterer  <mitch@gimp.org>

	* app/tools/gimpdrawtool.c: remove #include "core/gimpguide.h"


svn path=/trunk/; revision=26597
2008-08-16 15:36:17 +00:00
Sven Neumann
659b1f727f app/tools/gimpfreeselecttool.c formatting.
2008-08-16  Sven Neumann  <sven@gimp.org>

	* app/tools/gimpfreeselecttool.c
	* app/tools/gimprectangletool.c: formatting.


svn path=/trunk/; revision=26588
2008-08-16 10:07:43 +00:00
Sven Neumann
b25e6c0612 another minor coding style cleanup
svn path=/trunk/; revision=26493
2008-08-11 09:54:13 +00:00
Sven Neumann
7de9d15a8a make it compile again
svn path=/trunk/; revision=26492
2008-08-11 09:47:30 +00:00
Sven Neumann
2b68234259 another minor coding style cleanup
svn path=/trunk/; revision=26491
2008-08-11 09:44:38 +00:00
Sven Neumann
b060070182 minor coding style cleanups.
2008-08-11  Sven Neumann  <sven@gimp.org>

	* app/tools/gimptexttool.c: minor coding style cleanups.


svn path=/trunk/; revision=26490
2008-08-11 09:41:12 +00:00
Martin Nordholts
a81790d789 Oops, forgot to commit gimp_display_shell_get_scaled_viewport() -> gimp_display_shell_scroll_get_scaled_viewport() for gimprectangletool.c
svn path=/trunk/; revision=26478
2008-08-10 10:51:56 +00:00
Sven Neumann
3b067cba23 added gimp_image_get_projection().
2008-08-07  Sven Neumann  <sven@gimp.org>

	* app/core/gimpimage.[ch]: added gimp_image_get_projection().

	* app/display/gimpdisplay-handlers.c
	* app/display/gimpdisplayshell-render.c
	* app/display/gimpdisplayshell-scroll.c
	* app/paint/gimppaintcore.c
	* app/paint/gimpsourcecore.c
	* app/tools/gimpbycolorselecttool.c
	* app/tools/gimpeditselectiontool.c
	* app/tools/gimpimagemaptool.c
	* app/tools/gimpiscissorstool.c
	* app/tools/gimppainttool.c
	* app/widgets/gimpsamplepointeditor.c
	* tools/pdbgen/pdb/image.pdb: use the new accessor function.

	* app/pdb/image-cmds.c: regenerated.


svn path=/trunk/; revision=26413
2008-08-07 09:17:46 +00:00
Sven Neumann
8f2c6c0df5 fixed comment.
2008-08-07  Sven Neumann  <sven@gimp.org>

	* app/tools/gimpcurvestool.h: fixed comment.


svn path=/trunk/; revision=26412
2008-08-07 08:37:58 +00:00
Sven Neumann
b8ce815e54 draw the guide all across the canvas, not limiting it to the image.
2008-08-05  Sven Neumann  <sven@gimp.org>

	* app/display/gimpdisplayshell-draw.c 
(gimp_display_shell_draw_guide):
	draw the guide all across the canvas, not limiting it to the 
image.

	* app/tools/gimpdrawtool.[ch]: added new function
	gimp_draw_tool_draw_guide_line().

	* app/tools/gimpmovetool.c (gimp_move_tool_draw): use it.


svn path=/trunk/; revision=26375
2008-08-05 10:11:07 +00:00
Martin Nordholts
0a40def09c Bail out if there is no pending rectangle to synthesize a motion on. Fixes
2008-07-27  Martin Nordholts  <martinn@svn.gnome.org>

	* app/tools/gimprectangletool.c
	(gimp_rectangle_tool_synthesize_motion): Bail out if there is no
	pending rectangle to synthesize a motion on. Fixes bug #544181.

svn path=/trunk/; revision=26322
2008-07-27 19:06:10 +00:00
Sven Neumann
d77ee21b8c app/core/gimpguideundo.c app/core/gimpitemundo.c
2008-07-23  Sven Neumann  <sven@gimp.org>

	* app/core/gimpguideundo.c
	* app/core/gimpitemundo.c
	* app/core/gimplayermaskundo.c
	* app/core/gimppdbprogress.c
	* app/core/gimpstrokedesc.c
	* app/core/gimptooloptions.c
	* app/core/gimptoolpresets.c
	* app/paint/gimppaintoptions.c
	* app/text/gimpfont.c
	* app/tools/gimptool.c
	* app/widgets/gimpaction.c
	* app/widgets/gimpcontrollereditor.c: no need to cast the return
	value of g_value_dup_object().


svn path=/trunk/; revision=26289
2008-07-23 06:47:23 +00:00
Michael Natterer
7750d317c8 set scroll_lock to TRUE while moving or creating sample points so the
2008-07-22  Michael Natterer  <mitch@gimp.org>

	* app/tools/gimpcolortool.c: set scroll_lock to TRUE while moving
	or creating sample points so the image doesn't scroll while a new
	sample point is dragged from the rulers and sample points can be
	deleted by dragging them out of image without scrolling at the
	same time.


svn path=/trunk/; revision=26276
2008-07-22 14:43:52 +00:00
Sven Neumann
a00579917a only use the position from the event coordinates when creating or
2008-07-22  Sven Neumann  <sven@gimp.org>

	* app/tools/gimpvectortool.c: only use the position from the 
event
	coordinates when creating or modifying strokes. Initialize all
	other GimpCoords fields with default values.


svn path=/trunk/; revision=26275
2008-07-22 12:33:15 +00:00
Sven Neumann
9fa59a22fd formatting
2008-07-22  Sven Neumann  <sven@gimp.org>

	* app/tools/gimpvectortool.c: formatting

svn path=/trunk/; revision=26274
2008-07-22 11:12:16 +00:00
Sven Neumann
488f656cd2 plugged a not so small memory leak.
2008-07-21  Sven Neumann  <sven@gimp.org>

	* app/tools/gimpdrawtool.c (gimp_draw_tool_on_vectors_handle):
	plugged a not so small memory leak.


svn path=/trunk/; revision=26260
2008-07-21 19:22:27 +00:00
Sven Neumann
7cd338205c fixed typo pointed out by Žygimantas Beručka.
2008-07-17  Sven Neumann  <sven@gimp.org>

	* app/tools/gimpcolorizetool.c: fixed typo pointed out by
	Žygimantas Beručka.


svn path=/trunk/; revision=26226
2008-07-17 19:13:12 +00:00
Sven Neumann
caa4c529f5 removed 'use_pressure' field from GimpPaintCore.
2008-07-17  Sven Neumann  <sven@gimp.org>

	* app/paint/gimppaintcore.[ch]: removed 'use_pressure' field 
from
	GimpPaintCore.
	
	* app/paint/gimppaintoptions.[ch]: removed 'use_pressure' 
parameter.

	* app/paint/gimpairbrush.c
	* app/paint/gimpbrushcore.c
	* app/paint/gimpclone.c
	* app/paint/gimpconvolve.c
	* app/paint/gimpdodgeburn.c
	* app/paint/gimperaser.c
	* app/paint/gimpheal.c
	* app/paint/gimppaintbrush.c
	* app/paint/gimpsmudge.c
	* app/tools/gimppainttool.c: changed accordingly.


svn path=/trunk/; revision=26225
2008-07-17 19:00:13 +00:00
Sven Neumann
70cb604509 formatting.
2008-07-12  Sven Neumann  <sven@gimp.org>

	* app/tools/gimprectangletool.c: formatting.


svn path=/trunk/; revision=26151
2008-07-12 09:07:04 +00:00
Sven Neumann
00ef6ab9ec simplified.
2008-07-11  Sven Neumann  <sven@gimp.org>

	* app/tools/gimprotatetool.c (gimp_rotate_tool_key_press): 
simplified.


svn path=/trunk/; revision=26139
2008-07-11 19:38:28 +00:00
Martin Nordholts
19325009fa Extend the interface with this function
2008-07-10  Martin Nordholts  <martinn@svn.gnome.org>

	* app/display/gimpdisplayshell-scroll.c
	(gimp_display_shell_get_scaled_viewport): Extend the interface
	with this function

	* app/tools/gimprectangletool.c
	(gimp_rectangle_tool_update_handle_sizes): Forget anything we knew
	about how to interpret the icky GimpDisplayShell offset variables

svn path=/trunk/; revision=26111
2008-07-10 20:19:17 +00:00
Sven Neumann
fa9ca40d25 changed expander title to "Brush Dynamics".
2008-07-10  Sven Neumann  <sven@gimp.org>

	* app/tools/gimppaintoptions-gui.c (gimp_paint_options_gui):
	changed expander title to "Brush Dynamics".


svn path=/trunk/; revision=26105
2008-07-10 10:33:49 +00:00
Sven Neumann
462d7c18b9 don't paint while the Shift key is pressed for line drawing (bug #529434).
2008-07-09  Sven Neumann  <sven@gimp.org>

	* app/tools/gimppainttool.c (gimp_paint_tool_motion): don't 
paint
	while the Shift key is pressed for line drawing (bug #529434).


svn path=/trunk/; revision=26090
2008-07-09 06:45:47 +00:00
Sven Neumann
055ca896b9 check for tools derived from GimpPaintBrushTool just as we do in
2008-07-07  Sven Neumann  <sven@gimp.org>

	* app/tools/gimppaintoptions-gui.c (tool_has_size_dynamics): 
check
	for tools derived from GimpPaintBrushTool just as we do in
	tool_has_opacity_dynamics().
	(tool_has_hardness_dynamics): enable hardness dynamics for the
	eraser tool (bug #541691).


svn path=/trunk/; revision=26083
2008-07-07 17:58:16 +00:00
Martin Nordholts
ac19e7deb8 Simplify math.
2008-07-05  Martin Nordholts  <martinn@svn.gnome.org>

	* app/tools/gimprectangletool.c: 
	* app/tools/gimpeditselectiontool.c: Simplify math.

svn path=/trunk/; revision=26066
2008-07-05 11:01:20 +00:00
Martin Nordholts
995a944ca8 Mark the center of rectangles/bounding rectangles so that it is easier to
2008-07-05  Martin Nordholts  <martinn@svn.gnome.org>

	* app/tools/gimprectangletool.c:
	* app/tools/gimpeditselectiontool.c: Mark the center of
	rectangles/bounding rectangles so that it is easier to predict and
	see where snapping occurs. Completes the fix for bug #527659.

svn path=/trunk/; revision=26065
2008-07-05 09:47:39 +00:00
Martin Nordholts
161c5e9131 Don't expose the icky implementation details.
2008-07-05  Martin Nordholts  <martinn@svn.gnome.org>

	* app/tools/gimpeditselectiontool.[ch]: Don't expose the icky
	implementation details.

svn path=/trunk/; revision=26064
2008-07-05 08:51:03 +00:00
Michael Natterer
341cec52dc remove size group code because the size group doesn't exist if there is no
2008-06-29  Michael Natterer  <mitch@gimp.org>

	* app/tools/gimpgegltool.c (gimp_gegl_tool_dialog): remove size
	group code because the size group doesn't exist if there is no
	settings box.


svn path=/trunk/; revision=26020
2008-06-29 13:54:01 +00:00
Michael Natterer
6aa62a907b app/dialogs/channel-options-dialog.c app/dialogs/palette-import-dialog.c
2008-06-29  Michael Natterer  <mitch@gimp.org>

	* app/dialogs/channel-options-dialog.c
	* app/dialogs/palette-import-dialog.c
	* app/display/gimpdisplayshell-callbacks.c
	* app/display/gimpnavigationeditor.c
	* app/tools/gimpbrightnesscontrasttool.c
	* app/tools/gimpcolorbalancetool.c
	* app/tools/gimpcolorizetool.c
	* app/tools/gimphuesaturationtool.c
	* app/tools/gimplevelstool.c
	* app/tools/gimpposterizetool.c
	* app/widgets/gimpbrusheditor.c
	* app/widgets/gimpbrushfactoryview.c
	* app/widgets/gimpbrushselect.c
	* app/widgets/gimpcolormapeditor.c
	* app/widgets/gimpcontainertreeview-dnd.c
	* app/widgets/gimpgradienteditor.c
	* app/widgets/gimphistogrambox.c
	* app/widgets/gimppaletteeditor.c
	* app/widgets/gimpscalebutton.c: replace adjustment->value by
	gtk_adjustment_get_value (adjustment).


svn path=/trunk/; revision=26019
2008-06-29 13:41:24 +00:00
Michael Natterer
f36cfc0bf2 swap the angles of the dynamics matrix' labels in RTL and LTR mode so the
2008-06-27  Michael Natterer  <mitch@gimp.org>

	* app/tools/gimppaintoptions-gui.c (gimp_paint_options_gui): swap
	the angles of the dynamics matrix' labels in RTL and LTR mode so
	the beginning of the words are aligned and on bottom.


svn path=/trunk/; revision=25995
2008-06-27 20:26:57 +00:00
Michael Natterer
4bdf9a6d2a add marshaller BOOLEAN__STRING for the change below.
2008-06-25  Michael Natterer  <mitch@gimp.org>

	* app/core/gimpmarshal.list: add marshaller BOOLEAN__STRING for
	the change below.

	* app/widgets/gimpsettingsbox.[ch]: add the import/export dialogs
	here. Add a bunch of parameters to new() to be used by the
	dialogs, they are not properties yet. Changed import() and
	export() signals to pass the selected filename and return a
	boolean indicating success.

	* app/tools/gimpimagemaptool-settings.c: remove the dialog code
	here and connect the import/export functions directly to above
	GimpSettingsBox signals.

	* app/tools/gimpimagemaptool.[ch]: remove file dialog member.


svn path=/trunk/; revision=25991
2008-06-25 14:25:32 +00:00
Michael Natterer
7df6950e19 parse the first line of the file manually and detect whether we are
2008-06-25  Michael Natterer  <mitch@gimp.org>

	* app/tools/gimpcurvestool.c (gimp_curves_tool_settings_import):
	parse the first line of the file manually and detect whether we
	are importing an old curves file or a GimpConfig one.


svn path=/trunk/; revision=25988
2008-06-25 08:16:48 +00:00
Martin Nordholts
57e9c9943e Make switching selection mode through modifier keys work again.
2008-06-23  Martin Nordholts  <martinn@svn.gnome.org>

	* app/tools/gimpfreeselecttool.c
	(gimp_free_select_tool_modifier_key): Make switching selection
	mode through modifier keys work again.

svn path=/trunk/; revision=25978
2008-06-23 18:41:53 +00:00
Martin Nordholts
e068c051f1 When applying angle constraints on the first segment vertex, base on the
2008-06-21  Martin Nordholts  <martinn@svn.gnome.org>

	* app/tools/gimpfreeselecttool.c
	(gimp_free_select_tool_update_motion): When applying angle
	constraints on the first segment vertex, base on the last segment
	vertex rather than not applying any constraint at all.

svn path=/trunk/; revision=25972
2008-06-21 09:39:49 +00:00
Martin Nordholts
3c339adacb Make angle constraints with the Free Select Tool by using Ctrl work also
2008-06-20  Martin Nordholts  <martinn@svn.gnome.org>

	Make angle constraints with the Free Select Tool by using Ctrl
	work also when moving vertices, not only when creating new ones.

	* app/tools/gimpfreeselecttool.c
	(gimp_free_select_tool_active_modifier_key): Implement.

	(gimp_free_select_tool_update_motion): Put motion logic here so we
	can apply it from both _motion and _active_modifier_key.

	(gimp_free_select_tool_modifier_key): Ignore key presses from
	another display.

svn path=/trunk/; revision=25969
2008-06-20 12:34:37 +00:00
Martin Nordholts
13a102551a Don't alloc/free saved_points_(lower|higher)_segment on each move, instead
* app/tools/gimpfreeselecttool.c: Don't alloc/free
	saved_points_(lower|higher)_segment on each move, instead realloc
	on demand and free on tool destruction, just as we do e.g. for
	points.

svn path=/trunk/; revision=25968
2008-06-20 12:22:46 +00:00
Martin Nordholts
395b1c5a34 Remove n_saved_points_(lower|higher)_segment, we don't need them.
2008-06-20  Martin Nordholts  <martinn@svn.gnome.org>

	* app/tools/gimpfreeselecttool.c: Remove
	n_saved_points_(lower|higher)_segment, we don't need them.

svn path=/trunk/; revision=25967
2008-06-20 11:40:32 +00:00
Martin Nordholts
4de401f623 Plug leak.
2008-06-20  Martin Nordholts  <martinn@svn.gnome.org>

	* app/tools/gimpfreeselecttool.c (gimp_free_select_tool_finalize):
	Plug leak.

svn path=/trunk/; revision=25966
2008-06-20 11:23:09 +00:00
Michael Natterer
f53e9a45db Latest GTK+ trunk deprecations showed some uglyness in gimp:
2008-06-20  Michael Natterer  <mitch@gimp.org>

	Latest GTK+ trunk deprecations showed some uglyness in gimp:

	* app/tools/gimpeditselectiontool.h: we were still using GTK_CHECK
	macros here, use proper G_TYPE type checking instead.

	* app/widgets/gimpuimanager.c
	* app/widgets/gimpdockable.c: s/GtkDestroyNotify/GDestroyNotify/.

	* plug-ins/help-browser/gimpthrobber.c: s/GtkType/GType/.

	* plug-ins/common/filter-pack.c
	* plug-ins/common/sample-colorize.c
	* plug-ins/imagemap/imap_main.c: s/GtkSignalFunc/GCallback/.


svn path=/trunk/; revision=25965
2008-06-20 11:08:42 +00:00
Martin Nordholts
6e225b60c7 Correct the improved display of the rectangle ratio.
2008-06-13  Martin Nordholts  <martinn@svn.gnome.org>

	* app/tools/gimprectangletool.c (gimp_rectangle_tool_motion):
	Correct the improved display of the rectangle ratio.

svn path=/trunk/; revision=25946
2008-06-13 17:36:26 +00:00
Sven Neumann
3cb4814efe we need to define the 'highlight' property here as well.
2008-06-13  Sven Neumann  <sven@gimp.org>

	* app/tools/gimptextoptions.c (gimp_text_options_class_init):
	we need to define the 'highlight' property here as well.

svn path=/trunk/; revision=25945
2008-06-13 13:44:00 +00:00
Michael Natterer
8912b68290 app/widgets/Makefile.am app/widgets/widgets-types.h new widget containing
2008-06-13  Michael Natterer  <mitch@gimp.org>

	* app/widgets/Makefile.am
	* app/widgets/widgets-types.h
	* app/widgets/gimpsettingsbox.[ch]: new widget containing the
	combo and menu button for the image map tool settings plus most of
	their logic. Has "import" and "export" signals that might go away
	if I figure a way to nicely abstract that. Contains some minor
	bugfixes and cosmetic improvements compared to the old code.

	* app/tools/gimpimagemaptool.[ch]
	* app/tools/gimpimagemaptool-settings.[ch]: changed accordingly,
	mostly removal of lots of code that is now in the widget.


svn path=/trunk/; revision=25943
2008-06-13 11:56:46 +00:00
Sven Neumann
fdc55c5cee try to make the display of the aspect ratio somewhat more obvious.
2008-06-12  Sven Neumann  <sven@gimp.org>

	* app/tools/gimprectangletool.c (gimp_rectangle_tool_motion):
	try to make the display of the aspect ratio somewhat more 
obvious.


svn path=/trunk/; revision=25937
2008-06-12 19:24:27 +00:00
Michael Natterer
b823c752d0 app/display/gimpdisplayshell-scale.c app/gegl/gimpoperationdesaturate.h
2008-06-04  Michael Natterer  <mitch@gimp.org>

	* app/display/gimpdisplayshell-scale.c
	* app/gegl/gimpoperationdesaturate.h
	* app/tools/gimprectangletool.c
	* app/widgets/gimpradioaction.h
	* app/widgets/gimptoggleaction.h: various fixes tpo make gtk-doc
	happy.


svn path=/trunk/; revision=25893
2008-06-04 16:09:57 +00:00
Sven Neumann
b1f1852e50 app/tools/gimpcropoptions.c app/tools/gimprectangleoptions.c fixed
2008-06-04  Sven Neumann  <sven@gimp.org>

	* app/tools/gimpcropoptions.c
	* app/tools/gimprectangleoptions.c
	* app/tools/gimprectangleselectoptions.c: fixed handling of the
	"highlight" property that needs different default values for the
	Crop and Rectangle Select tools (bug #536582).

svn path=/trunk/; revision=25890
2008-06-04 13:57:39 +00:00
Sven Neumann
1d4d2be2dd changed descriptions for GimpHistogramScale enum.
2008-06-03  Sven Neumann  <sven@gimp.org>

	* app/widgets/widgets-enums.[ch]: changed descriptions for
	GimpHistogramScale enum.

	* app/tools/gimpimagemaptool.[ch]

	* app/tools/gimpimagemaptool-settings.c: added a GtkSizeGroup for
	aligning with the "Presets" label. Added an accessor for the
	dialog's vbox.

	* app/tools/gimpbrightnesscontrasttool.c
	* app/tools/gimpcolorbalancetool.c
	* app/tools/gimpcolorizetool.c
	* app/tools/gimpcurvestool.c
	* app/tools/gimpdesaturatetool.c
	* app/tools/gimpgegltool.c
	* app/tools/gimphuesaturationtool.c
	* app/tools/gimplevelstool.c
	* app/tools/gimpposterizetool.c
	* app/tools/gimpthresholdtool.c: use the new accessor. Minor
	dialog cleanups in a few places.

svn path=/trunk/; revision=25884
2008-06-03 10:51:04 +00:00
Martin Nordholts
c827f0cd84 Implemented this function to support rotating with arrow keys. See bug
2008-05-31  Martin Nordholts  <martinn@svn.gnome.org>

	* app/tools/gimprotatetool.c (gimp_rotate_tool_key_press):
	Implemented this function to support rotating with arrow keys. See
	bug #387779.

svn path=/trunk/; revision=25873
2008-05-31 17:51:52 +00:00
Martin Nordholts
a3626edd9f Made moving the selection mask in the varoius ways automatically commit
2008-05-30  Martin Nordholts  <martinn@svn.gnome.org>

	Made moving the selection mask in the varoius ways automatically
	commit any pending rectangle/ellipse selection. Fixes bug #349340.

	* app/tools/gimprectangleselecttool.c
	(gimp_rectangle_select_tool_oper_update): Don't disable support
	for moving the selection mask.

	(gimp_rectangle_select_tool_button_press): Handle delegation to
	the selection tool.

	(gimp_rectangle_select_tool_delegate_button_press): New helper
	function.

	(gimp_rectangle_select_tool_execute): Guard against NULL
	tool->display:s.

svn path=/trunk/; revision=25872
2008-05-30 18:46:38 +00:00
Martin Nordholts
c2f0cf3ee8 Also show the plain aspect ratio in the status bar along with the
2008-05-29  Martin Nordholts  <martinn@svn.gnome.org>

	* app/tools/gimprectangletool.c (gimp_rectangle_tool_motion): Also
	show the plain aspect ratio in the status bar along with the
	rectangle size information.

svn path=/trunk/; revision=25847
2008-05-29 04:27:19 +00:00
Michael Natterer
3860e94e9d don't add the gradient box for the blend tool. Clean up the code by moving
2008-05-27  Michael Natterer  <mitch@gimp.org>

	* app/tools/gimppaintoptions-gui.c: don't add the gradient box for
	the blend tool. Clean up the code by moving the checks for the
	tool type out of the utility functions into the main
	gimp_paint_options_gui() function.

	* app/tools/gimpblendoptions.c: add the gradient box here.


svn path=/trunk/; revision=25826
2008-05-27 09:44:16 +00:00
Michael Natterer
b819602590 Applied modified patch from Alexia Death. Addresses bug #534770:
2008-05-26  Michael Natterer  <mitch@gimp.org>

	Applied modified patch from Alexia Death. Addresses bug #534770:

	* app/paint/gimppaintoptions.[ch]: add properties for scaling
	the effects of pressure, velocity and hardness and honor them
	in the various get_dynamic_foo() functions.

	(gimp_paint_options_get_dynamic_size): look at
	pressure_options->size again, that code got lost in one of the
	earlier patches.

	* app/tools/gimppaintoptions-gui.c: add GimpScaleButtons to the
	table for the new properties.

	* app/display/gimpdisplayshell-coords.c: don't let "velocity"
	reach 1.0, use 0.9999 instead.


svn path=/trunk/; revision=25816
2008-05-26 19:52:09 +00:00
Michael Natterer
e9f98bead5 remove unused includes.
2008-05-26  Michael Natterer  <mitch@gimp.org>

	* app/tools/gimppaintoptions-gui.c: remove unused includes.


svn path=/trunk/; revision=25815
2008-05-26 19:22:40 +00:00
Michael Natterer
cd2c6fee40 replace the identical GimpPressureOptions, GimpVelocityOptions and
2008-05-26  Michael Natterer  <mitch@gimp.org>

	* app/paint/gimppaintoptions.[ch]: replace the identical
	GimpPressureOptions, GimpVelocityOptions and GimpRandomOptions
	struct by a single GimpDynamicOptions struct.

	* app/tools/gimppaintoptions-gui.c: don't pass the various
	sub-structs to the _options_gui() function because they are not
	needed.


svn path=/trunk/; revision=25814
2008-05-26 18:54:28 +00:00
Michael Natterer
a37509ecdb app/config/gimpbaseconfig.c app/config/gimpguiconfig.c remove unused
2008-05-26  Michael Natterer  <mitch@gimp.org>

	* app/config/gimpbaseconfig.c
	* app/config/gimpguiconfig.c
	* app/tools/gimpcolorpickeroptions.[ch]: remove unused compat
	properties because the config parser silently skips unknown
	properties now.


svn path=/trunk/; revision=25812
2008-05-26 17:47:28 +00:00
Martin Nordholts
5c4bf26cf7 Name cleanup.
2008-05-25  Martin Nordholts  <martinn@svn.gnome.org>

	* app/tools/gimpfreeselecttool.c
	(gimp_free_select_tool_revert_to_saved_state): Name cleanup.

svn path=/trunk/; revision=25799
2008-05-25 17:37:26 +00:00
Martin Nordholts
a0ba68acff Handle the special case when there is only one point, so that moving
2008-05-25  Martin Nordholts  <martinn@svn.gnome.org>

	* app/tools/gimpfreeselecttool.c
	(gimp_free_select_tool_prepare_for_move)
	(gimp_free_select_tool_revert_to_saved_state)
	(gimp_free_select_tool_move_segment_vertex_to): Handle the special
	case when there is only one point, so that moving segment vertices
	works even if there only is one.

svn path=/trunk/; revision=25798
2008-05-25 17:35:52 +00:00
Martin Nordholts
82f331416f For completeness, comment on some uncommented instance-private variables.
2008-05-25  Martin Nordholts  <martinn@svn.gnome.org>

	* app/tools/gimpfreeselecttool.c: For completeness, comment on
	some uncommented instance-private variables.

svn path=/trunk/; revision=25797
2008-05-25 15:16:46 +00:00
Martin Nordholts
20106d27e7 Properly update the cursor.
2008-05-25  Martin Nordholts  <martinn@svn.gnome.org>

	* app/tools/gimpfreeselecttool.c
	(gimp_free_select_tool_cursor_update): Properly update the cursor.

svn path=/trunk/; revision=25796
2008-05-25 15:08:50 +00:00
Martin Nordholts
021fa373c3 Added support for supressing handles by holding Shift in the Free Select
2008-05-25  Martin Nordholts  <martinn@svn.gnome.org>

	Added support for supressing handles by holding Shift in the Free
	Select Tool so that new segments can be created where handles
	would otherwise obstruct.

	* app/tools/gimpfreeselecttool.c
	(gimp_free_select_tool_handle_segment_selection): Renamed, and
	only select segment vertices if handles are not supressed.

	(gimp_free_select_tool_modifier_key): Make Shift toggle supressing
	handles.

	(gimp_free_select_tool_draw): Don't draw the handles if they are
	supressed.

	(gimp_free_select_tool_should_close): Only accept distance from
	start point as a reason to close the polygon if the handles are
	not supressed.

svn path=/trunk/; revision=25795
2008-05-25 14:31:33 +00:00
Martin Nordholts
5ca90dd406 Added support for double-clicking in the Free Select Tool. A double-click
2008-05-25  Martin Nordholts  <martinn@svn.gnome.org>

	Added support for double-clicking in the Free Select Tool. A
	double-click will commit the selection.

	* app/tools/gimpfreeselecttool.c
	(gimp_free_select_tool_get_double_click_info): Helper function to
	retrive GTK+ double-click settings.

	(gimp_free_select_tool_should_close): Take double-clicking into
	account.

	(gimp_free_select_tool_revert_to_saved_state): Bail out if needed.

	(gimp_free_select_tool_button_release): Pass on time when
	clicking.

	(gimp_free_select_tool_handle_click): Pass time to this function,
	and modify it to handle double-clicks.

svn path=/trunk/; revision=25794
2008-05-25 13:44:11 +00:00
Martin Nordholts
0ddc9061f4 Remove invalid comment.
2008-05-25  Martin Nordholts  <martinn@svn.gnome.org>

	* app/tools/gimpfreeselecttool.c
	(gimp_free_select_tool_button_release): Remove invalid comment.

svn path=/trunk/; revision=25793
2008-05-25 11:50:12 +00:00
Martin Nordholts
866cc37543 A click might have slightly adjusted the points, so revert before doing
2008-05-25  Martin Nordholts  <martinn@svn.gnome.org>

	* app/tools/gimpfreeselecttool.c
	(gimp_free_select_tool_handle_click): A click might have slightly
	adjusted the points, so revert before doing the selection.
	(gimp_free_select_tool_revert_to_saved_state): Move definition up
	a bit.

svn path=/trunk/; revision=25792
2008-05-25 11:48:37 +00:00
Martin Nordholts
820379250b Make moving selection mask/pixels within the selection work for the Free
2008-05-25  Martin Nordholts  <martinn@svn.gnome.org>

	Make moving selection mask/pixels within the selection work for
	the Free Select Tool, as well as interaction with any resulting
	floating selection.

	* app/tools/gimpfreeselecttool.c
	(gimp_free_select_tool_handle_click): Handle floating selections.
	(gimp_free_select_tool_status_update): Show the inital
	instructions until there are 3 or more segment vertices, rather
	than 3 or more points.

	(gimp_free_select_tool_oper_update): When there is no active tool,
	show selection tool status bar help messages instead of the tool
	specific ones.

	(gimp_free_select_tool_delegate_button_press): New helper function
	to decide wether to delgate operation to the selection tool.

	(gimp_free_select_tool_button_press): Handle delegation to the
	selection tool.

svn path=/trunk/; revision=25791
2008-05-25 11:25:56 +00:00
Michael Natterer
d43f8bb4d5 fix dynamics grid label positions for RTL mode by attaching the fixed to
2008-05-24  Michael Natterer  <mitch@gimp.org>

	* app/tools/gimppaintoptions-gui.c: fix dynamics grid label
	positions for RTL mode by attaching the fixed to the table *after*
	the toggle buttons (eek). See comment in the code.


svn path=/trunk/; revision=25790
2008-05-24 16:40:28 +00:00
Martin Nordholts
d228bf7398 Kill the Polygon Select Tool. The Free Select Tool now provides a superset
2008-05-24  Martin Nordholts  <martinn@svn.gnome.org>

	Kill the Polygon Select Tool. The Free Select Tool now provides a
	superset of the old Polygon Select Tool functionality. We still
	keep the tool icons etc around though, they might come in useful
	in the future.

	* app/tools/gimppolygonselecttool.[ch]: Removed.

	* app/tools/Makefile.am: Removed gimppolygonselecttool.[ch].

	* app/tools/gimp-tools.c (gimp_tools_init): Don't register the
	Polygon Select Tool.

	* app/widgets/gimphelp-ids.h: Remove
	GIMP_HELP_TOOL_POLYGON_SELECT.

svn path=/trunk/; revision=25783
2008-05-24 07:21:55 +00:00
Martin Nordholts
43dec1b186 Draw handles within HANDLE_SIZE * 7 distance from cursor instead of only
2008-05-23  Martin Nordholts  <martinn@svn.gnome.org>

	* app/tools/gimpfreeselecttool.c
	(gimp_free_select_tool_draw): Draw handles within HANDLE_SIZE * 7
	distance from cursor instead of only showing the hovered handle.
	(gimp_free_select_tool_oper_update): Remember last coordinates
	given here, so we can do above calculations.

svn path=/trunk/; revision=25782
2008-05-23 21:46:13 +00:00
Sven Neumann
35738aa952 string change.
2008-05-23  Sven Neumann  <sven@gimp.org>

	* app/tools/gimpimagemaptool-settings.c: string change.

svn path=/trunk/; revision=25778
2008-05-23 14:21:32 +00:00
Sven Neumann
5aa59b3ba0 app/core/gimpchannel-select.c app/core/gimpdrawable-bucket-fill.c
2008-05-23  Sven Neumann  <sven@gimp.org>

	* app/core/gimpchannel-select.c
	* app/core/gimpdrawable-bucket-fill.c
	* app/core/gimpdrawable-transform.c
	* app/core/gimpimage-crop.c
	* app/dialogs/image-scale-dialog.c
	* app/tools/gimpbycolorselecttool.c
	* app/tools/gimpfliptool.c
	* app/tools/gimpforegroundselecttool.c
	* app/tools/gimpfreeselecttool.c
	* app/tools/gimpfuzzyselecttool.c
	* app/tools/gimpmovetool.c
	* app/tools/gimpperspectivetool.c
	* app/tools/gimppolygonselecttool.c
	* app/tools/gimprotatetool.c
	* app/tools/gimpscaletool.c
	* app/tools/gimpsheartool.c
	* libgimpwidgets/gimpcolorprofilestore.c
	* plug-ins/gfig/gfig-dialog.c: use C_() instead of Q_() for
	translations with context.

svn path=/trunk/; revision=25777
2008-05-23 14:09:55 +00:00
Michael Natterer
99a338132b left-align the labels in the new dynamics matrix. Add some code for RTL
2008-05-23  Michael Natterer  <mitch@gimp.org>

	* app/tools/gimppaintoptions-gui.c: left-align the labels in the
	new dynamics matrix. Add some code for RTL layout that doesn't
	work properly yet.


svn path=/trunk/; revision=25772
2008-05-23 08:09:51 +00:00
Michael Natterer
d66828c883 replace the pressure-expanded, velocity-expanded and random-expanded
2008-05-22  Michael Natterer  <mitch@gimp.org>

	* app/paint/gimppaintoptions.[ch]: replace the pressure-expanded,
	velocity-expanded and random-expanded properties by a single
	dynamics-expanded property.

	* app/tools/gimppaintoptions-gui.c: pack the toggle matrix into an
	expander, some cleanup.


svn path=/trunk/; revision=25765
2008-05-22 19:06:51 +00:00
Michael Natterer
791638fb15 revert accidential change of all occurences of "hardness" to "pressure" in
2008-05-22  Michael Natterer  <mitch@gimp.org>

	* app/tools/gimppaintoptions-gui.c: revert accidential change of
	all occurences of "hardness" to "pressure" in strings and function
	names.


svn path=/trunk/; revision=25764
2008-05-22 18:54:16 +00:00
Michael Natterer
c03253684a factor out a utility function that creates a dynamics check button.
2008-05-22  Michael Natterer  <mitch@gimp.org>

	* app/tools/gimppaintoptions-gui.c: factor out a utility function
	that creates a dynamics check button.


svn path=/trunk/; revision=25763
2008-05-22 18:38:18 +00:00
Michael Natterer
3bcf7ff632 first version of a matrix of toggles for the dynamics parameters instead
2008-05-22  Michael Natterer  <mitch@gimp.org>

	* app/tools/gimppaintoptions-gui.c: first version of a matrix of
	toggles for the dynamics parameters instead of three expanders.


svn path=/trunk/; revision=25762
2008-05-22 18:28:39 +00:00
Martin Nordholts
91cf64359d Base a start of a new segment on the pending point, and enable 15 degree
2008-05-22  Martin Nordholts  <martinn@svn.gnome.org>

	* app/tools/gimpfreeselecttool.c: Base a start of a new segment on
	the pending point, and enable 15 degree constraints on the pending
	point when Ctrl is being held down.

svn path=/trunk/; revision=25761
2008-05-22 18:05:10 +00:00
Martin Nordholts
cb13929f5c app/tools/gimpfreeselecttool.[ch] Fix that some
2008-05-22  Martin Nordholts  <martinn@svn.gnome.org>

	* app/tools/gimpfreeselecttool.[ch]
	* app/tools/gimpforegroundselecttool.c: Fix that some
	gimp_free_select_tool_-functions had the wrong name.

svn path=/trunk/; revision=25759
2008-05-22 16:58:21 +00:00
Michael Natterer
fe70064f00 Applied slightly modified and fixed patch from Alexia Death which adds a
2008-05-22  Michael Natterer  <mitch@gimp.org>

	Applied slightly modified and fixed patch from Alexia Death which
	adds a "random" axis to the paint dynamics and fixes some issues
	in the previous paint dynamics commits. Fixes bug #529431.

	* app/core/core-types.h: add a "random" axis to GimpCoords.

	* app/display/gimpdisplayshell-coords.c: set it to a random value.

	* app/display/gimpdisplayshell-callbacks.c: on button_press,
	use the dynamics from the last motion event to avoid blotches
	at the beginning of paint strokes.

	* app/paint/gimppaintoptions.[ch]: add random properties the same
	way we do pressure and velocity. Add get_dynamic_size(),
	get_dynamic_color() and get_dynamic_hardness() functions which
	look at all dynamic parameters of the passed coords.

	* app/tools/gimppaintoptions-gui.c: add gui for the random options.

	* app/paint/gimpbrushcore.[ch]: remove calc_brush_scale() and use
	gimp_paint_options_get_dynamic_size_instead().
	Add "dynamic_hardness" parameters to paste_canvas(),
	replace_canvas() and get_brush_mask().

	* app/paint/gimpairbrushoptions.c
	* app/paint/gimpclone.c
	* app/paint/gimpconvolve.c
	* app/paint/gimpdodgeburn.c
	* app/paint/gimperaser.c
	* app/paint/gimpheal.c
	* app/paint/gimppaintbrush.c
	* app/paint/gimpsmudge.c: calculate the dynamic hardness and pass
	it to above brush core functions. Use the get_dynamic_color() to
	calculate the gradient color.


svn path=/trunk/; revision=25758
2008-05-22 16:38:57 +00:00
Sven Neumann
ea80388073 use a logarithmic slider.
2008-05-22  Sven Neumann  <sven@gimp.org>

	* app/tools/gimpposterizetool.c (gimp_posterize_tool_dialog):
	use a logarithmic slider.

svn path=/trunk/; revision=25757
2008-05-22 16:18:57 +00:00
Martin Nordholts
3ba5ecb5eb Remember the selection operation in use when the tool was started, and use
2008-05-22  Martin Nordholts  <martinn@svn.gnome.org>

	* app/tools/gimpfreeselecttool.c: Remember the selection operation
	in use when the tool was started, and use that when doing the
	selection. Improvements are still to be made with regards to
	synchronizing the tool options with the selection operation
	actually used.

svn path=/trunk/; revision=25756
2008-05-22 15:40:18 +00:00
Michael Natterer
8004eba247 check if the tool class has the "settings_name" string set to decide
2008-05-22  Michael Natterer  <mitch@gimp.org>

	* app/tools/gimpimagemaptool.c: check if the tool class has
	the "settings_name" string set to decide whether to add
	the settings GUI.

	* app/tools/gimpdesaturatetool.c
	* app/tools/gimpposterizetool.c: don't set any settings
	strings. Presets make no sense for tools with just one parameter.


svn path=/trunk/; revision=25755
2008-05-22 15:39:00 +00:00
Michael Natterer
e3ffcae1bb Fix menu item label.
svn path=/trunk/; revision=25753
2008-05-22 11:25:56 +00:00
Michael Natterer
9f85ee0070 s/save/export/g, s/load/import/g, removed button tooltip members.
2008-05-22  Michael Natterer  <mitch@gimp.org>

	* app/tools/gimpimagemaptool.[ch]: s/save/export/g,
	s/load/import/g, removed button tooltip members.

	* app/tools/gimpimagemaptool-settings.[ch]
	* app/tools/gimpbrightnesscontrasttool.c
	* app/tools/gimpcolorbalancetool.c
	* app/tools/gimpcolorizetool.c
	* app/tools/gimpcurvestool.c
	* app/tools/gimpdesaturatetool.c
	* app/tools/gimphuesaturationtool.c
	* app/tools/gimplevelstool.c
	* app/tools/gimpposterizetool.c
	* app/tools/gimpthresholdtool.c: changed accordingly.

	* app/tools/gimpimagemaptool-settings.c: clean up menu item creation.


svn path=/trunk/; revision=25752
2008-05-22 11:00:50 +00:00
Michael Natterer
4aaf1c4737 delete trailing whitespace.
2008-05-22  Michael Natterer  <mitch@gimp.org>

	* app/tools/gimpfreeselecttool.c: delete trailing whitespace.


svn path=/trunk/; revision=25751
2008-05-22 10:53:20 +00:00
Sven Neumann
b3ac4eadb6 make the mnemonic work
svn path=/trunk/; revision=25750
2008-05-22 09:05:30 +00:00
Sven Neumann
0d6c259be3 added a call to gimp_tool_options_create_folder().
2008-05-22  Sven Neumann  <sven@gimp.org>

	* app/tools/gimp-tools.c (gimp_tools_init): added a call to
	gimp_tool_options_create_folder().

	* app/core/gimp-user-install.c (gimp_user_install_items): no need
	to create the tool-options folder here if we are doing that on
	each startup.

svn path=/trunk/; revision=25749
2008-05-22 09:01:08 +00:00
Sven Neumann
e161a6148c use a combo-box for the curve type.
2008-05-22  Sven Neumann  <sven@gimp.org>

	* app/tools/gimpcurvestool.c (gimp_curves_tool_dialog): use a
	combo-box for the curve type.

svn path=/trunk/; revision=25748
2008-05-22 08:39:30 +00:00
Martin Nordholts
41f102f1ab Don't return in the middle of the function.
2008-05-22  Martin Nordholts  <martinn@svn.gnome.org>

	* app/tools/gimpfreeselecttool.c
	(gimp_free_select_tool_cursor_update): Don't return in the middle
	of the function.

svn path=/trunk/; revision=25746
2008-05-22 05:44:28 +00:00
Martin Nordholts
79623b1ade "Draw a rough circle around the object to extract" -> "Rougly outline the
2008-05-21  Martin Nordholts  <martinn@svn.gnome.org>

	* app/tools/gimpforegroundselecttool.c
	(gimp_foreground_select_tool_oper_update): "Draw a rough circle
	around the object to extract" -> "Rougly outline the object to
	extract".

svn path=/trunk/; revision=25743
2008-05-21 19:48:02 +00:00
Martin Nordholts
17e98ebccc Don't expose implementation details.
2008-05-21  Martin Nordholts  <martinn@svn.gnome.org>

	* app/tools/gimpfreeselecttool.[ch]: Don't expose implementation
	details.

	* app/tools/gimpforegroundselecttool.c
	(gimp_foreground_select_tool_select): Use new
	gimp_free_select_get_points() functions since we don't know
	anything about how the Free Select Tool is implemented any longer.

svn path=/trunk/; revision=25742
2008-05-21 19:36:16 +00:00
Michael Natterer
986ba501f5 app/tools/gimpimagemaptool.[ch] turn the ugly row of favorites options
2008-05-21  Michael Natterer  <mitch@gimp.org>

	* app/tools/gimpimagemaptool.[ch]
	* app/tools/gimpimagemaptool-settings.c: turn the ugly row of
	favorites options buttons into a menu that's attached to an arrow
	button right of the favorites combo.


svn path=/trunk/; revision=25741
2008-05-21 19:14:46 +00:00
Michael Natterer
48fbb509a4 remove unused variable.
2008-05-21  Michael Natterer  <mitch@gimp.org>

	* app/tools/gimpcurvestool.c: remove unused variable.


svn path=/trunk/; revision=25740
2008-05-21 19:12:49 +00:00
Martin Nordholts
3842f7cb03 Made the Foreground Select Tool work again.
2008-05-21  Martin Nordholts  <martinn@svn.gnome.org>

	Made the Foreground Select Tool work again.

	* app/tools/gimpforegroundselecttool.c
	(gimp_foreground_select_tool_control): Set tool->display =
	NULL when halting the tool.

	(gimp_foreground_select_tool_button_press): Only activate the
	tool control if it is not active (it might be actived already
	by the Free Select Tool).

	* app/tools/gimpfreeselecttool.c
	(gimp_free_select_tool_commit): Don't _halt explicitly
	here. If a tool implementation wants to halt in this
	situation, let them do that in their
	GimpFreeSelectTool::select() instead.

svn path=/trunk/; revision=25735
2008-05-21 18:23:23 +00:00
Martin Nordholts
97edc3567f Slightly improve one of the status bar messages.
2008-05-21  Martin Nordholts  <martinn@svn.gnome.org>

	* app/tools/gimpfreeselecttool.c
	(gimp_free_select_tool_status_update): Slightly improve one of the
	status bar messages.

svn path=/trunk/; revision=25733
2008-05-21 15:39:52 +00:00
Sven Neumann
c19b2170ff changed to take a pointer as first argument as all PixelProcessor
2008-05-21  Sven Neumann  <sven@gimp.org>

	* app/base/desaturate.[ch]: changed to take a pointer as first
	argument as all PixelProcessor functions.

	* app/core/gimpdrawable-desaturate.c: changed accordingly.

	* app/tools/gimpdesaturatetool.[ch]: added legacy code path.

svn path=/trunk/; revision=25730
2008-05-21 14:20:15 +00:00
Sven Neumann
e86e003224 Add Desaturate as an image-map tool with live preview (bug #533808):
2008-05-21  Sven Neumann  <sven@gimp.org>

	Add Desaturate as an image-map tool with live preview (bug #533808):

	* app/gegl/Makefile.am
	* app/gegl/gegl-types.h
	* app/gegl/gimpdesaturateconfig.[ch]: added config object for the
	desaturate point filter.
	
	* app/gegl/gimpoperationdesaturate.[ch]: derive from
	GimpOperationPointFilter. Unrolled the inner loop.

	* app/core/gimpdrawable-desaturate.c: changed accordingly.

	* app/tools/Makefile.am
	* app/tools/gimpdesaturatetool.[ch]: added desaturate as an
	imagemap tool. So far only the GEGL code path is implemented.

	* app/tools/gimp-tools.c: register the new tool.

	* app/dialogs/dialogs.c: register the new tool dialog.

	* app/dialogs/Makefile.am
	* app/dialogs/desaturate-dialog.[ch]: removed the desaturate dialog.

	* app/actions/drawable-actions.c
	* app/actions/drawable-commands.[ch]: removed action
	"drawable-desaturate".

	* app/widgets/gimphelp-ids.h: changed help IDs accordingly.

	* menus/image-menu.xml.in: replaced "drawable-desaturate" with
	"tools-desaturate".

	* libgimpwidgets/gimpstock.h: added a define for
	GIMP_STOCK_TOOL_DESATURATE.

svn path=/trunk/; revision=25726
2008-05-21 13:11:06 +00:00
Michael Natterer
a921d65df6 app/core/Makefile.am app/core/core-types.h new GimpViewable subclass which
2008-05-20  Michael Natterer  <mitch@gimp.org>

	* app/core/Makefile.am
	* app/core/core-types.h
	* app/core/gimpimagemapconfig.[ch]: new GimpViewable subclass
	which has a "time" property. Sets the object's name to a date
	string if a time != 0 gets set. Has a compare function which first
	sorts the objects with a timestamp in MRU order and then the
	objects without timestamp by name.

	* app/gegl/gimpbrightnesscontrastconfig.[ch]
	* app/gegl/gimpcolorbalanceconfig.[ch]
	* app/gegl/gimpcolorizeconfig.[ch]
	* app/gegl/gimpcurvesconfig.[ch]
	* app/gegl/gimphuesaturationconfig.[ch]
	* app/gegl/gimplevelsconfig.[ch]
	* app/gegl/gimpposterizeconfig.[ch]
	* app/gegl/gimpthresholdconfig.[ch]: derive from GimpImageMapConfig.

	* app/tools/gimpimagemaptool.c: sort the settings container with
	above compare function.

	* app/tools/gimpimagemaptool-settings.c: add utility functions
	for loading and saving the settings container. In the settings
	combo, add a separator between MRU items and favorites.

	* app/Makefile.am: make the thing link.


svn path=/trunk/; revision=25724
2008-05-20 21:41:47 +00:00
Martin Nordholts
889cc7155a Increase handle size to 12 pixels (the same size as for the Paths Tool).
2008-05-20  Martin Nordholts  <martinn@svn.gnome.org>

	* app/tools/gimpfreeselecttool.c: Increase handle size to 12
	pixels (the same size as for the Paths Tool).

svn path=/trunk/; revision=25722
2008-05-20 19:09:41 +00:00
Martin Nordholts
59e3ee1317 Added statusbar help-messages for the Free Select Tool.
2008-05-20  Martin Nordholts  <martinn@svn.gnome.org>

	Added statusbar help-messages for the Free Select Tool.

	* app/tools/gimpfreeselecttool.c
	(gimp_free_select_tool_oper_update): Don't bail out if
	tool->display is NULL, instead modify the underlying logic to deal
	with this.

svn path=/trunk/; revision=25721
2008-05-20 17:06:19 +00:00
Michael Natterer
d6e3339f1b remove gimp_image_map_tool_add_recent()...
2008-05-20  Michael Natterer  <mitch@gimp.org>

	* app/tools/gimpimagemaptool.c: remove
	gimp_image_map_tool_add_recent()...

	* app/tools/gimpimagemaptool-settings.[ch]: ...and add it here.


svn path=/trunk/; revision=25720
2008-05-20 15:50:49 +00:00
Michael Natterer
38ee606813 unref the new settings object after adding it to the recent container.
2008-05-20  Michael Natterer  <mitch@gimp.org>

	* app/tools/gimpimagemaptool.c (gimp_image_map_tool_add_recent):
	unref the new settings object after adding it to the recent
	container.

	* app/tools/gimpimagemaptool-settings.c: add a "Save to Favorites"
	button which pops a string entry dialog and saves the current
	settings to the recent container.


svn path=/trunk/; revision=25719
2008-05-20 15:03:03 +00:00
Michael Natterer
353283b8e8 app/tools/Makefile.am new files containing all the recent settings and
2008-05-20  Michael Natterer  <mitch@gimp.org>

	* app/tools/Makefile.am
	* app/tools/gimpimagemaptool-settings.[ch]: new files containing
	all the recent settings and settings load/save GUI and code.  Got
	rid of shortcut loading/saving using shift+click. Added default
	implementations of ::settings_load() and ::settings_save().
	The GUI is currently horrible, work in progress!

	* app/tools/gimpimagemaptool.c: removed the settings code here.

	* app/tools/gimpcurvestool.c * app/tools/gimplevelstool.c: don't
	pack the load and save buttons, this is done generically for all
	tools now.

	* app/tools/gimpbrightnesscontrasttool.c
	* app/tools/gimpcolorbalancetool.c
	* app/tools/gimpcolorizetool.c
	* app/tools/gimphuesaturationtool.c
	* app/tools/gimpposterizetool.c
	* app/tools/gimpthresholdtool.c: set the load/save related members
	of GimpImageMapToolClass.


svn path=/trunk/; revision=25718
2008-05-20 14:17:13 +00:00
Sven Neumann
115bf7cedd app/tools/gimpbrightnesscontrasttool.c fixed grammar.
2008-05-20  Sven Neumann  <sven@gimp.org>

	* app/tools/gimpbrightnesscontrasttool.c 
	* app/tools/gimplevelstool.c: fixed grammar.


svn path=/trunk/; revision=25716
2008-05-20 06:14:53 +00:00
Michael Natterer
62719d6703 Unabstract image map tool settings load/save a bit before it's turned into
2008-05-19  Michael Natterer  <mitch@gimp.org>

	Unabstract image map tool settings load/save a bit before it's
	turned into generic load/save for all image map tools:

	* app/gegl/gimpcurvesconfig.[ch]
	* app/gegl/gimplevelsconfig.[ch]: add GError** to save_cruft()
	functions.

	* app/tools/gimpimagemaptool.[ch]: add GError to
	::settings_save(), changed "file" parameter of ::settings_load()
	and ::settings_save() to "filename", removed
	gimp_image_map_tool_load_save() utility function and moved the
	code to the settings_load() and settings_save() utility functions.

	* app/tools/gimpcurvestool.c
	* app/tools/gimplevelstool.c: changed accordingly. Open and close
	the settings files here.


svn path=/trunk/; revision=25714
2008-05-19 18:22:01 +00:00
Michael Natterer
4d0b4464ac made the lists of recent settings persistent. Note that the settings of
2008-05-18  Michael Natterer  <mitch@gimp.org>

	* app/tools/gimpimagemaptool.c: made the lists of recent settings
	persistent. Note that the settings of tools that modify multiple
	channels or ranges are saved incompletely because their settings
	still lack custom serialize() implementations. Work in progress.


svn path=/trunk/; revision=25702
2008-05-18 17:01:48 +00:00
Martin Nordholts
b615941210 Merged the Polygon Select Tool capabilities with the Free Select Tool.
2008-05-18  Martin Nordholts  <martinn@svn.gnome.org>

	Merged the Polygon Select Tool capabilities with the Free Select
	Tool. Among the things still to do is improved help texts, more
	suitable graphics, and cursor mangement, but the core
	functionality is in place. Thanks to Alexia Death for initial
	testing. It will also be neccesary to do some work to adapt the
	Foreground Select Tool to the new Free Select Tool implementation.

	Quick instructions on how the tool works:

	 o A click adds a polygonal segment, a drag adds a free-hand
	   segment
	 o Return-key commits, Escape-key cancels, Backspace-key removes
	   last segment
	 o You can grab and move segment vertices
	 o You can cancel both a move, and the creation of a segment

	* app/tools/gimpfreeselecttool.[ch]: More or less
	reimplemented. We keep a sequential array of all the points in the
	polygon (including the free segments), and we have another array
	with point indices that we use to represent the segments. On top
	of this we have a few helper functions that tries to abstract away
	the pretty raw nature of the implementation.

	* app/tools/gimpforegroundselecttool.[ch]: Keep track on its own
	last_coord, and adjust to the new implementation of the Free
	Select Tool. Still needs some work, for example handling that the
	Free Select Tool now resets GimpTool::display.
	(gimp_foreground_select_tool_key_press): Pass on key event to
	parent class when appropriate. (Bails out too early though...)

svn path=/trunk/; revision=25693
2008-05-18 11:39:17 +00:00
Michael Natterer
228dd93e9d add gimp_image_map_tool_edit_as().
2008-05-17  Michael Natterer  <mitch@gimp.org>

	* app/tools/gimpimagemaptool.[ch]: add gimp_image_map_tool_edit_as().

	* app/tools/gimplevelstool.c (levels_to_curves_callback): use it.

	* app/gegl/gimpbrightnesscontrastconfig.[ch]: add
	gimp_brightness_contrast_config_to_levels_config().

	* app/tools/gimpbrightnesscontrasttool.c: implement "Edit as Levels".


svn path=/trunk/; revision=25690
2008-05-17 17:57:39 +00:00
Michael Natterer
2a38f864f2 add new function gimp_stock_button_new() which creates a button with icon
2008-05-17  Michael Natterer  <mitch@gimp.org>

	* app/widgets/gimpwidgets-constructors.[ch]: add new function
	gimp_stock_button_new() which creates a button with icon and label
	which is *not* the stock_id's label.

	* app/dialogs/preferences-dialog.c (prefs_button_add)
	* app/tools/gimplevelstool.c (gimp_levels_tool_dialog): use it.


svn path=/trunk/; revision=25688
2008-05-17 14:29:25 +00:00
Michael Natterer
e801795022 app/core/gimpimagefile.c app/tools/gimpaligntool.c
2008-05-17  Michael Natterer  <mitch@gimp.org>

	* app/core/gimpimagefile.c
	* app/tools/gimpaligntool.c
	* app/tools/gimpselectiontool.c
	* app/tools/gimpvectortool.c
	* plug-ins/color-rotate/color-rotate-dialog.c
	* plug-ins/common/noise-rgb.c
	* plug-ins/common/value-propagate.c
	* plug-ins/gfig/gfig-dialog.c
	* plug-ins/gfig/gfig.h
	* plug-ins/gimpressionist/general.c
	* plug-ins/gimpressionist/gimpressionist.h
	* plug-ins/gimpressionist/orientation.c
	* plug-ins/gimpressionist/size.c
	* plug-ins/gimpressionist/utils.c
	* plug-ins/gradient-flare/gradient-flare.c
	* plug-ins/ifs-compose/ifs-compose.c
	* plug-ins/imagemap/imap_main.c
	* plug-ins/imagemap/imap_preferences.c: in latest GLib _() returns
	"const gchar*" as it should. Add const qualifiers to local utility
	functions and some explicit casts to fix the warnings caused by
	this.


svn path=/trunk/; revision=25685
2008-05-17 13:08:19 +00:00
Michael Natterer
ddf2dca558 First prototype of a button in the levels tool dialog that will jump the
2008-05-13  Michael Natterer  <mitch@gimp.org>

	First prototype of a button in the levels tool dialog that will
	jump the the curves tool with the same settings:

	* app/gegl/gimplevelsconfig.[ch]: add new function
	gimp_levels_config_to_curves_config() which converts a
	GimpLevelsConfig to a GimpCurvesConfig. Still lacks support
	for gamma.

	* app/tools/gimplevelstool.c: add "Edit this Settings as Curves"
	button and jump to curves when clicked. Still ugly.


svn path=/trunk/; revision=25654
2008-05-13 20:52:24 +00:00
Sven Neumann
6e6a0355aa app/core/Makefile.am
2008-05-11  Sven Neumann  <sven@gimp.org>

	* app/core/Makefile.am
	* app/core/gimpcurve.[ch]:
	* app/core/gimpcurve-map.[ch]: split curve map functions into
	seperate files.

	* app/gegl/gimpoperationcurves.c
	* app/tools/gimpcurvestool.c
	* app/widgets/gimpcurveview.c: changed accordingly.

	* app/Makefile.am (AM_LDFLAGS): make it link.


svn path=/trunk/; revision=25642
2008-05-11 14:56:57 +00:00
Sven Neumann
a392a231d3 renamed gimp_curve_map() to gimp_curve_map_value(). Added new function
2008-05-11  Sven Neumann  <sven@gimp.org>

	* app/core/gimpcurve.[ch]: renamed gimp_curve_map() to
	gimp_curve_map_value(). Added new function 
gimp_curve_map_pixels()
	which will allow for better optimization.

	* app/gegl/gimpoperationcurves.c 
(gimp_operation_curves_process):
	use gimp_curve_map_pixels().

	* app/tools/gimpcurvestool.c
	* app/widgets/gimpcurveview.c: follow API change.


svn path=/trunk/; revision=25641
2008-05-11 14:48:22 +00:00
Martin Nordholts
f5c4c35ff8 No need to expose definitions of GimpCropTool or GimpCropToolClass.
2008-05-11  Martin Nordholts  <martinn@svn.gnome.org>

	* app/tools/gimpcroptool.[ch]: No need to expose definitions of
	GimpCropTool or GimpCropToolClass.

svn path=/trunk/; revision=25640
2008-05-11 13:23:35 +00:00
Martin Nordholts
de8909ddee Fix emission of rectangle-change-complete signals.
2008-05-11  Martin Nordholts  <martinn@svn.gnome.org>

	* app/tools/gimprectangletool.c: Fix emission of
	rectangle-change-complete signals.

	* app/tools/gimpcroptool.c
	* app/tools/gimprectangleselecttool.c:
	Use the rectangle-change-complete signal to update the default
	aspect ratio. Fixes bug #530519.

	* app/tools/gimpcroptool.c
	(gimp_crop_tool_button_release)
	(gimp_crop_tool_options_notify)
	* app/tools/gimprectangleselecttool.c
	(gimp_rectangle_select_tool_button_release): No need to explicitly
	update option defaults since it is handled through the
	rectangle-change-complete signal now.

svn path=/trunk/; revision=25639
2008-05-11 13:01:24 +00:00
Martin Nordholts
d933812406 Active the tool control earlier. (gimp_rectangle_tool_synthesize_motion):
2008-05-10  Martin Nordholts  <martinn@svn.gnome.org>

	* app/tools/gimprectangletool.c
	(gimp_rectangle_tool_button_press): Active the tool control
	earlier.
	(gimp_rectangle_tool_synthesize_motion): Bail out if the tool
	control is active, we don't want to synthesize a motion in this
	case as it emits unwanted rectangle-changed signals.

svn path=/trunk/; revision=25630
2008-05-10 19:19:47 +00:00
Martin Nordholts
e6beb59347 Don't forget updating the default apsect ratio when cancelling a rectangle
2008-05-10  Martin Nordholts  <martinn@svn.gnome.org>

	* app/tools/gimprectangleselecttool.c
	(gimp_rectangle_select_tool_cancel): Don't forget updating the
	default apsect ratio when cancelling a rectangle select.

svn path=/trunk/; revision=25619
2008-05-10 12:44:04 +00:00
Sven Neumann
9f582ed6ac rerender the text layer as suggested in bug #532078.
2008-05-10  Sven Neumann  <sven@gimp.org>

	* app/tools/gimptexttool.c (gimp_text_tool_confirm_response):
	rerender the text layer as suggested in bug #532078.
	(gimp_text_tool_confirm_dialog): minor dialog improvements.


svn path=/trunk/; revision=25618
2008-05-10 12:36:06 +00:00
Martin Nordholts
05320b55ea Don't forget updating the integer representation when reverting the
2008-05-10  Martin Nordholts  <martinn@svn.gnome.org>

	* app/tools/gimprectangletool.c
	(gimp_rectangle_tool_button_release): Don't forget updating the
	integer representation when reverting the rectangle after
	cancelling a rubber-banding.

svn path=/trunk/; revision=25610
2008-05-10 10:34:03 +00:00
Martin Nordholts
a535806b14 Update the tool options after a release; the rectangle might change if a
2008-05-10  Martin Nordholts  <martinn@svn.gnome.org>

	* app/tools/gimprectangletool.c
	(gimp_rectangle_tool_button_release): Update the tool options
	after a release; the rectangle might change if a rubber-banding is
	cancelled.

svn path=/trunk/; revision=25608
2008-05-10 10:25:23 +00:00
Sven Neumann
9b7a46311f don't reserve Delete for use by tools. Fixes bug #532116.
2008-05-10  Sven Neumann  <sven@gimp.org>

	* app/display/gimpdisplayshell-callbacks.c
	(gimp_display_shell_events) 
(gimp_display_shell_canvas_tool_events):
	don't reserve Delete for use by tools. Fixes bug #532116.

	* app/tools/gimpimagemaptool.c
	* app/tools/gimptransformtool.c: don't use Delete (you can still
	use the Backspace key to achieve the same).


svn path=/trunk/; revision=25607
2008-05-10 10:20:42 +00:00
Michael Natterer
82c2616f0f Applied modified patch from Alexia Death which adds velocity support to
2008-05-10  Michael Natterer  <mitch@gimp.org>

	Applied modified patch from Alexia Death which adds velocity
	support to paint tools in the spirit of the pressure support we
	already have. Fixes bug #529431.

	* app/display/gimpdisplayshell-coords.c
	(gimp_display_shell_eval_event): tweak velocity calculation to
	work in screen coordinates.

	* app/paint/gimppaintoptions.[ch]: add velocity options in the
	same way as there are pressure options. Add utility functions
	which return dynamic opatity and dynamic rate according to the the
	option's settings and some GimpCoords' pressure and velocity.

	* app/tools/gimppaintoptions-gui.c: add GUI for the velocity
	options.

	* app/paint/gimpbrushcore.h: remove PRESSURE_SCALE define, it's
	now in gimppaintoptions.h.

	* app/paint/gimpbrushcore.c (gimp_brush_core_interpolate):
	inerpolate velocity too.

	(gimp_brush_core_calc_brush_scale): take velocity into account.

	(gimp_brush_core_get_brush_mask): always pressurize the mask in
	the GIMP_BRUSH_PRESSURE because there always is velocity (unlike
	pressure which is only there on tablets).

	* app/paint/gimpairbrush.c
	* app/paint/gimpclone.c
	* app/paint/gimpconvolve.c
	* app/paint/gimpdodgeburn.c
	* app/paint/gimperaser.c
	* app/paint/gimpheal.c
	* app/paint/gimppaintbrush.c
	* app/paint/gimpsmudge.c: get opacity and rate from the new paint
	options utility functions which take both pressure and velocity
	into account.

	* app/paint/gimppaintbrush.c: take velocity into account when
	calculating the gradient color offset.

	* app/paint/gimpairbrush.c: do some additional fiddling with
	velocity in the asynchronous airbrush timeout.

	* app/paint/gimpairbrushoptions.c: override the velocity-size
	property and have it default to FALSE.


svn path=/trunk/; revision=25604
2008-05-10 10:03:21 +00:00
Martin Nordholts
d6db9d5262 Add a GimpRectangleTool::cancel() implementation that updates default
2008-05-10  Martin Nordholts  <martinn@svn.gnome.org>

	* app/tools/gimpcroptool.c: Add a GimpRectangleTool::cancel()
	implementation that updates default aspect ratio when cancelling a
	crop.

svn path=/trunk/; revision=25601
2008-05-10 07:34:22 +00:00
Martin Nordholts
0a27fd37fa Keep track of the current image and manage a subscription to
2008-05-09  Martin Nordholts  <martinn@svn.gnome.org>

	* app/tools/gimpcroptool.[ch]: Keep track of the current image and
	manage a subscription to "size-changed" so that default aspect
	ratio is properly updated.
	(gimp_crop_tool_execute): No need to explicitly call
	gimp_crop_tool_update_option_defaults() any longer.

svn path=/trunk/; revision=25598
2008-05-09 12:46:28 +00:00
Simon Budig
f65cb91356 kind of resurrect the blending modes, although now implemented as
2008-05-09  Simon Budig  <simon@gimp.org>

	* app/core/gimpscanconvert.[ch]: kind of resurrect the
	blending modes, although now implemented as compositing
	on top of the existing content of a mask.

	* app/tools/gimpforegroundselecttool.c: changed accordingly


svn path=/trunk/; revision=25595
2008-05-09 11:18:44 +00:00
Simon Budig
5426c0c10e removed Libart usage, replaced with Cairo. Dashed strokes do not yet work
2008-05-09  Simon Budig  <simon@gimp.org>

	* app/core/gimpscanconvert.[ch]: removed Libart usage,
	  replaced with Cairo. Dashed strokes do not yet work again, will
	  happen tomorrow. Also the blending modes need a second look at.

	  Also removed deprecated API which made it unnecessarily complicated.

	* app/tools/gimpiscissorstool.c: use the current API.

	* app/core/Makefile.am
	* app/Makefile.am
	* configure.in: removed libart dependency, added cairo dependency
	  where necessary.


svn path=/trunk/; revision=25591
2008-05-08 23:35:53 +00:00
Martin Nordholts
fc35afe371 Make it feel like a class member function by G_CONNECT_SWAPPED-izing it.
2008-05-07  Martin Nordholts  <martinn@svn.gnome.org>

	* app/tools/gimpcroptool.c (gimp_crop_tool_image_changed): Make it
	feel like a class member function by G_CONNECT_SWAPPED-izing it.

svn path=/trunk/; revision=25582
2008-05-07 17:55:39 +00:00
Sven Neumann
563684d665 app/tools/gimppainttool.c applied patch from Alexia Death which changes
2008-05-05  Sven Neumann  <sven@gimp.org>

	* app/tools/gimppainttool.c
	* app/display/gimpdisplayshell-coords.c: applied patch from 
Alexia
	Death which changes the maximum smoothing for paint tools to 
more
	conservative default and adds velocity dependent smooth 
suppression.


svn path=/trunk/; revision=25564
2008-05-05 06:21:22 +00:00
Martin Nordholts
032b3998d4 gimptexttool.c
2008-05-02  Martin Nordholts  <martinn@svn.gnome.org>

	* gimptexttool.c
	* gimptexttool.h:
	* gimprectangletool.c
	* gimprectangletool.h
	* gimprectangleselecttool.c: Renamed the "rectangle-changed"
	signal to "rectangle-change-complete" which is much better name
	since the signal is not emited when the rectangle is changed, but
	when the change is complete.

svn path=/trunk/; revision=25557
2008-05-02 09:05:13 +00:00
Martin Nordholts
b9987bbfb6 Minor simplification.
2008-05-01  Martin Nordholts  <martinn@svn.gnome.org>

	* app/tools/gimprectangletool.c
	(gimp_rectangle_tool_active_modifier_key): Minor simplification.

svn path=/trunk/; revision=25555
2008-05-01 19:29:15 +00:00
Martin Nordholts
b9aa7f2c67 Align static function prototpyes.
2008-04-30  Martin Nordholts  <martinn@svn.gnome.org>

	* app/tools/gimpcroptool.c: Align static function prototpyes.

svn path=/trunk/; revision=25554
2008-04-30 18:55:49 +00:00
Michael Natterer
1a264f0989 clean up last commit.
2008-04-26  Michael Natterer  <mitch@gimp.org>

	* app/tools/gimpgegltool.c: clean up last commit.


svn path=/trunk/; revision=25535
2008-04-26 12:12:26 +00:00
Øyvind Kolås
9672d0a207 made the GEGL tool only show ops from relevant categories, the list of
* app/tools/gimpgegltool.c: (gimp_get_subtype_classes),
(gimp_gegl_tool_compare_operation_names), (gimp_get_geglopclasses),
(gimp_gegl_tool_dialog): made the GEGL tool only show ops from
relevant categories, the list of relevant categories is hard coded
for now.

svn path=/trunk/; revision=25533
2008-04-26 11:49:25 +00:00
Martin Nordholts
2d2358b47f No need to bail out if there is no display.
2008-04-26  Martin Nordholts  <martinn@svn.gnome.org>

	* app/tools/gimprectangletool.c
	(gimp_rectangle_tool_options_notify): No need to bail out if there
	is no display.

svn path=/trunk/; revision=25532
2008-04-26 11:14:19 +00:00
Martin Nordholts
5743e21890 Some more simplifications and cleanups.
2008-04-26  Martin Nordholts  <martinn@svn.gnome.org>

	* app/tools/gimprectangletool.c
	(gimp_rectangle_tool_options_notify): Some more simplifications
	and cleanups.

svn path=/trunk/; revision=25531
2008-04-26 10:54:34 +00:00
Martin Nordholts
f2a00b3018 Simplifications and cleanups.
2008-04-26  Martin Nordholts  <martinn@svn.gnome.org>

	* app/tools/gimprectangletool.c
	(gimp_rectangle_tool_options_notify): Simplifications and
	cleanups.

svn path=/trunk/; revision=25530
2008-04-26 10:38:53 +00:00
Martin Nordholts
947e873793 Do appropriate equal and not-equal comparions for floting point numbers.
2008-04-24  Martin Nordholts  <martinn@svn.gnome.org>

	* app/tools/gimprectangletool.c
	(gimp_rectangle_tool_options_notify): Do appropriate equal and
	not-equal comparions for floting point numbers. Fixes bug #527863.

svn path=/trunk/; revision=25516
2008-04-24 05:55:59 +00:00
Sven Neumann
83226c8ae5 don't draw the handles on pixel centers, we don't blend between pixel
2008-04-18  Sven Neumann  <sven@gimp.org>

	* app/tools/gimpblendtool.c (gimp_blend_tool_draw): don't draw 
the
	handles on pixel centers, we don't blend between pixel centers.


svn path=/trunk/; revision=25498
2008-04-18 21:05:29 +00:00
Sven Neumann
df22da37fd formatting.
2008-04-14  Sven Neumann  <sven@gimp.org>

	* app/tools/gimppolygonselecttool.c: formatting.

svn path=/trunk/; revision=25486
2008-04-14 12:56:25 +00:00
Michael Natterer
3a2cbab0db simplify and fix logic to do the "right" thing. Hard to describe, try
2008-04-14  Michael Natterer  <mitch@gimp.org>

	* app/tools/gimppolygonselecttool.c
	(gimp_polygon_select_tool_button_release): simplify and fix logic
	to do the "right" thing. Hard to describe, try youself ;)


svn path=/trunk/; revision=25485
2008-04-14 12:50:21 +00:00
Sven Neumann
e7c5bf8086 added stock-id parameters to all statusbar setters.
2008-04-14  Sven Neumann  <sven@gimp.org>

	* app/display/gimpstatusbar.[ch]: added stock-id parameters to 
all
	statusbar setters.

	* app/display/gimpdisplayshell-title.c: pass NULL as stock-id.

	* app/tools/gimptool.c: pass the tool icon to the statusbar.

	* app/tools/gimpeditselectiontool.c 
(gimp_edit_selection_tool_start):
	inherit the tool-info from the parent tool.


svn path=/trunk/; revision=25477
2008-04-14 06:28:43 +00:00
Sven Neumann
9db8d2ef35 formatting.
2008-04-13  Sven Neumann  <sven@gimp.org>

	* app/tools/gimptool.h: formatting.


svn path=/trunk/; revision=25476
2008-04-13 18:04:27 +00:00
Michael Natterer
af484e2fe2 minor cosmetics.
2008-04-13  Michael Natterer  <mitch@gimp.org>

	* app/tools/gimpiscissorstool.c: minor cosmetics.

	* cursors/gimp-tool-cursors.xcf: add the new SELECT modifier.


svn path=/trunk/; revision=25474
2008-04-13 13:50:01 +00:00
Martin Nordholts
a8bbf6b29b Applied modified patch from Daniel Hornung that changes the mouse cursor
2008-04-12  Martin Nordholts  <martinn@svn.gnome.org>

	Applied modified patch from Daniel Hornung that changes the mouse
	cursor to a "clicking will create a selection"-icon when hovering
	the center of a pending Scissors Select Tool selection (bug #493370)

	* app/tools/gimpiscissorstool.c
	(gimp_iscissors_tool_cursor_update): Use the new cursor icon.

	* cursors/modifier-select.png
	* cursors/xbm/modifier-select.xbm
	* cursors/xbm/modifier-select-mask.xbm: New cursor icon.

	* cursors/makefile.msc
	* cursors/Makefile.am 
	* app/widgets/gimpcursor.c
	* app/widgets/widgets-enums.h: Changed accordingly.

svn path=/trunk/; revision=25473
2008-04-12 11:40:52 +00:00
Sven Neumann
22205696de tweaked the layout to save a few pixels.
2008-04-11  Sven Neumann  <sven@gimp.org>

	* app/tools/gimptextoptions.c (gimp_text_options_gui): tweaked the
	layout to save a few pixels.

svn path=/trunk/; revision=25467
2008-04-11 15:30:58 +00:00
Sven Neumann
f1196fd405 added missing file.
2008-04-07  Sven Neumann  <sven@gimp.org>

	* app/gegl/Makefile.am (libappgegl_a_SOURCES): added missing 
file.

	* app/tools/tools-enums.c: regenerated.


svn path=/trunk/; revision=25404
2008-04-07 20:56:03 +00:00
Sven Neumann
3f129393cf app/tools/gimptexttool.c removed out 'force-narrow' mode as it is hard to
2008-04-07  Sven Neumann  <sven@gimp.org>

	* app/tools/gimprectangletool.[ch]:
	* app/tools/gimptexttool.c removed out 'force-narrow' mode as it
	is hard to use and just looks broken.


svn path=/trunk/; revision=25399
2008-04-07 18:57:32 +00:00
Sven Neumann
b677d882a4 formatting.
2008-04-07  Sven Neumann  <sven@gimp.org>

	* app/tools/gimprectangletool.c: formatting.


svn path=/trunk/; revision=25398
2008-04-07 18:25:18 +00:00
William Skaggs
d3a6f7f2a1 Bill Skaggs <weskaggs@primate.ucdavis.edu>
* app/tools/gimprectangletool.[ch]: add "force_narrow"
	parameter.

	* app/tools/gimptexttool.c: Force rectangle to always
	be narrow, and squash a few bugs.

svn path=/trunk/; revision=25397
2008-04-07 16:32:31 +00:00
Sven Neumann
1006d379e4 app/display/gimpdisplayshell-callbacks.c
2008-04-07  Sven Neumann  <sven@gimp.org>

	* app/display/gimpdisplayshell-callbacks.c
	* app/display/gimpdisplayshell-coords.[ch]
	* app/tools/gimppainttool.c
	* app/tools/gimptool.[ch]: applied patch from Alexia Death as
	attached to bug #508639. This change makes the smoothing depend on
	the active tool.

svn path=/trunk/; revision=25392
2008-04-07 13:54:43 +00:00
William Skaggs
98e0671a85 Bill Skaggs <weskaggs@primate.ucdavis.edu>
* app/text/gimptextlayout.c
	* app/tools/gimptexttool.[ch]
	* app/tools/gimprectangletool.[ch]
	* app/tools/gimptextoptions.c: allow resizing of text
	box.  This is work in progress, and needs some tweaks
	and fixes.  See bug #122707.

svn path=/trunk/; revision=25344
2008-04-02 21:32:32 +00:00
Sven Neumann
842d68b491 removed frame around the mode radio buttons (bug #525747).
2008-04-02  Sven Neumann  <sven@gimp.org>

	* app/tools/gimpperspectiveclonetool.c: removed frame around the
	mode radio buttons (bug #525747).

	* app/tools/gimpdodgeburntool.c: relabelled "Mode" frame to 
"Range".


svn path=/trunk/; revision=25336
2008-04-02 18:53:53 +00:00
Mukund Sivaraman
0708ffea76 Fixes for some Sparse reported issues in app/
2008-03-28  Mukund Sivaraman  <muks@mukund.org>

        Fixes for some Sparse reported issues in app/

        * app/core/gimpdrawable-operation.c: Added prototype for            
        gegl_node_add_child().

        * app/core/gimpcurve.c: Remove C99 code       
                                
        * app/tools/gimpcurvestool.c 
        * app/tools/gimpperspectiveclonetool.c 
        * app/vectors/gimpstroke.c: Mark functions as static.

        * app/base/siox.c: state is a pointer.

        * app/plug-in/gimppluginprocframe.c: values is a pointer.

        * app/plug-in/plug-in-rc.c: plug_in_rc_parse() returns a pointer.

        * app/plug-in/gimpinterpreterdb.c: Check program[0] for '\0'
        instead of the pointer program itself.


svn path=/trunk/; revision=25292
2008-03-28 23:18:19 +00:00
Michael Natterer
bc9424a2b5 app/actions/data-commands.c app/actions/debug-commands.c
2008-03-12  Michael Natterer  <mitch@gimp.org>

	* app/actions/data-commands.c
	* app/actions/debug-commands.c
	* app/actions/dockable-commands.c
	* app/dialogs/stroke-dialog.c
	* app/display/gimpdisplayshell-handlers.c
	* app/gui/gui-message.c
	* app/gui/gui.c
	* app/tools/gimpforegroundselectoptions.c
	* app/tools/gimpinkoptions-gui.c
	* app/widgets/gimpcolordialog.c
	* app/widgets/gimpcontainerpopup.c
	* app/widgets/gimpcontainerview-utils.c
	* app/widgets/gimpdock.c
	* app/widgets/gimpdockable.c
	* app/widgets/gimpsessioninfo-book.c
	* app/widgets/gimpsessioninfo-dock.c
	* app/widgets/gimptoolbox.c
	* app/widgets/gimpunitcombobox.c
	* app/widgets/gimpviewablebox.c
	* libgimp/gimpexport.c
	* libgimpmodule/gimpmodule.h
	* libgimpwidgets/gimpenumwidgets.c
	* libgimpwidgets/gimpframe.c
	* libgimpwidgets/gimpoldwidgets.c
	* libgimpwidgets/gimpwidgets.c
	* plug-ins/MapObject/mapobject_ui.c
	* plug-ins/common/papertile.c
	* plug-ins/common/sinus.c
	* plug-ins/flame/flame.c
	* plug-ins/helpbrowser/gimpthrobber.c
	* plug-ins/script-fu/scheme-wrapper.c
	* plug-ins/script-fu/script-fu-console.c: use accessors instead of
	accessing GtkBin.child and GtkPaned.child1,2 directly.


svn path=/trunk/; revision=25095
2008-03-12 16:58:28 +00:00
Michael Natterer
5dccee41cb Fix mishandling of the "antialias" GParamSpec. Fixes bug #521069:
2008-03-09  Michael Natterer  <mitch@gimp.org>

	Fix mishandling of the "antialias" GParamSpec. Fixes bug #521069:

	* app/tools/gimpselectionoptions.c: remove
	gimp_selection_options_reset() which used to set the default for
	"antialias" depending on the tool type (which is impossible since
	the antialias GParamSpec only exists once, and not once for each
	subclass).

	* app/tools/gimpforegroundselectoptions.c: override the antialias
	property here and default to FALSE.


svn path=/trunk/; revision=25077
2008-03-09 17:43:28 +00:00
Michael Natterer
64317165e9 app/tools/gimprectangleselecttool.[ch]
2008-03-09  Michael Natterer  <mitch@gimp.org>

	* app/tools/gimprectangleselecttool.[ch]
	* app/tools/gimprectangleselectoptions.[ch]
	* app/tools/gimpellipseselecttool.[ch]
	* app/tools/gimp-tools.c: s/Rect/Rectangle/ and s/rect/rectangle/
	in types and function names.


svn path=/trunk/; revision=25076
2008-03-09 15:38:25 +00:00
Michael Natterer
32a1de9167 app/tools/Makefile.am app/tools/gimpiscissorsoptions.[ch] new options
2008-03-09  Michael Natterer  <mitch@gimp.org>

	* app/tools/Makefile.am
	* app/tools/gimpiscissorsoptions.[ch]
	* app/tools/gimpregionselectoptions.[ch]: new options classes.

	* app/tools/gimpselectionoptions.[ch]: remove the options here.
	Also remove some leftover rectangle options cruft that is in its
	own files since long ago.

	* app/tools/gimpbycolorselecttool.c
	* app/tools/gimpfuzzyselecttool.c
	* app/tools/gimpiscissorstool.[ch]
	* app/tools/gimpregionselecttool.[ch]
	* app/widgets/gimpselectioneditor.c: changed accordingly.


svn path=/trunk/; revision=25071
2008-03-09 15:05:54 +00:00
Martin Nordholts
067e05e376 Make the GimpCoords used for snap calculations depend on the precision
2008-03-09  Martin Nordholts  <martinn@svn.gnome.org>

	* app/tools/gimprectangletool.c
	(gimp_rectangle_tool_setup_snap_offsets): Make the GimpCoords used
	for snap calculations depend on the precision mode of the
	rectangle. This gives a more pleasant experience when resizing and
	moving the rectangle with image zoom factor larger than 100%.

svn path=/trunk/; revision=25068
2008-03-09 10:40:42 +00:00
Sven Neumann
9026f4965f app/tools/gimpflipoptions.c app/tools/gimpmoveoptions.c
2008-03-08  Sven Neumann  <sven@gimp.org>

	* app/tools/gimpflipoptions.c
	* app/tools/gimpmoveoptions.c
	* app/tools/gimpselectionoptions.c
	* app/tools/gimptransformoptions.c: don't add the label into the
	stock box, use an extra hbox with 2 pixels spacing.


svn path=/trunk/; revision=25064
2008-03-08 14:07:16 +00:00
Martin Nordholts
e9bfe0613c Don't draw the handle for a vertex while it is being moved.
2008-03-08  Martin Nordholts  <martinn@svn.gnome.org>

	* app/tools/gimppolygonselecttool.c: Don't draw the handle for a
	vertex while it is being moved.

svn path=/trunk/; revision=25063
2008-03-08 13:54:09 +00:00
Martin Nordholts
beab79680f Added TODO on how to improve the code by changing the way the rectangle is
2008-03-08  Martin Nordholts  <martinn@svn.gnome.org>

	* app/tools/gimprectangletool.c: Added TODO on how to improve the
	code by changing the way the rectangle is represented internally.

svn path=/trunk/; revision=25062
2008-03-08 13:14:32 +00:00
Sven Neumann
32d8cb9a4e app/actions/tools-actions.c app/actions/tools-commands.[ch] allow to
2008-03-06  Sven Neumann  <sven@gimp.org>

	* app/actions/tools-actions.c 
	* app/actions/tools-commands.[ch]
	* app/tools/gimptransformtool.c: allow to control the preview
	opacity by actions (defaults to < to > keys).

svn path=/trunk/; revision=25050
2008-03-06 17:13:59 +00:00
Sven Neumann
b870738a86 app/tools/gimptransformtool.c app/tools/gimptransformoptions.[ch] take the
2008-03-06  Sven Neumann  <sven@gimp.org>

	* app/tools/gimptransformtool.c
	* app/tools/gimptransformoptions.[ch]
	* app/display/gimpdisplayshell-preview.c: take the preview opacity
	from the transform tool options. Based on a patch from Tom Lechner.
	Closes bug #520690.

svn path=/trunk/; revision=25049
2008-03-06 11:54:44 +00:00
Sven Neumann
abb3fd7b66 applied some unrelated cleanups from a patch from Tom Lechner (from bug
2008-03-05  Sven Neumann  <sven@gimp.org>

	* app/tools/gimptransformtool.[ch]: applied some unrelated
	cleanups from a patch from Tom Lechner (from bug #167926).


svn path=/trunk/; revision=25037
2008-03-05 19:56:26 +00:00
Michael Natterer
f71fd9f878 changed PROJ_ROUND() macros to use RINT() so they work correctly with
2008-03-05  Michael Natterer  <mitch@gimp.org>

	* app/display/gimpdisplayshell.h: changed PROJ_ROUND() macros to
	use RINT() so they work correctly with negative numbers.

	* app/tools/gimpdrawtool.c
	(gimp_draw_tool_draw_line)
	(gimp_draw_tool_draw_dashed_line)
	(gimp_draw_tool_draw_rectangle)
	(gimp_draw_tool_draw_arc)
	(gimp_draw_tool_draw_boundary): use floating-point coordinate
	transform functions again. These functions were changed to use
	integer transform functions in 2004 (!!) which broke sub-pixel
	precision drawing for stuff like straight-line and blend tool
	and also sub-pixel drawing of the brush outline.

	Should be backported to 2.4 after it has shown no ill effects in
	trunk.


svn path=/trunk/; revision=25036
2008-03-05 16:37:43 +00:00
Martin Nordholts
424eee436d Only draw the grabbed point, not all points. Drawing all points adds
2008-03-01  Martin Nordholts  <martinn@svn.gnome.org>

	* app/tools/gimppolygonselecttool.c
	(gimp_polygon_select_tool_draw): Only draw the grabbed point, not
	all points. Drawing all points adds unnecessary clutter to the
	user interface.
	(gimp_polygon_select_tool_select_closest_point): Handle drawing of
	grabbed points.

svn path=/trunk/; revision=25004
2008-03-01 12:51:23 +00:00
Michael Natterer
f4378d6237 get rid of fixed-size arrays and allocate the points and curve arrays
2008-02-28  Michael Natterer  <mitch@gimp.org>

	* app/core/gimpcurve.[ch]: get rid of fixed-size arrays and
	allocate the points and curve arrays dynamically. Added "n-points"
	and "n-samples" CONSTRUCT_ONLY properties. Renamed member "curve"
	to "samples". Lots of code changes to work with dynamic limits
	rather than 17 and 256.

	* app/core/gimpdrawable-curves.c
	* app/gegl/gimpcurvesconfig.c
	* app/tools/gimpcurvestool.c
	* app/widgets/gimpcurveview.c: changed accordingly.


svn path=/trunk/; revision=24995
2008-02-28 12:34:46 +00:00
Michael Natterer
96645da002 cursors/Makefile.am cursors/gimp-tool-cursors.xcf
2008-02-28  Michael Natterer  <mitch@gimp.org>

	* cursors/Makefile.am
	* cursors/gimp-tool-cursors.xcf
	* cursors/tool-polygon-select.png
	* cursors/xbm/tool-polygon-select.xbm
	* cursors/xbm/tool-polygon-select-mask.xbm
	* app/widgets/widgets-enums.h
	* app/widgets/gimpcursor.c: new cursor for polygon select.

	* app/tools/gimppolygonselecttool.c: use it.


svn path=/trunk/; revision=24994
2008-02-28 12:16:42 +00:00
Michael Natterer
1b11a9e838 draw handles at the corners and use the MOVE cursor modifier when we are
2008-02-26  Michael Natterer  <mitch@gimp.org>

	* app/tools/gimppolygonselecttool.c: draw handles at the corners
	and use the MOVE cursor modifier when we are moving them. Fix draw
	tool pause/resume in button_press() plus some minor cleanup.


svn path=/trunk/; revision=24985
2008-02-26 20:14:10 +00:00
Michael Natterer
a384cca5f3 app/display/gimpdisplayshell-transform.[ch]
2008-02-26  Michael Natterer  <mitch@gimp.org>

	* app/display/gimpdisplayshell-transform.[ch]
	(gimp_display_shell_transform_points)
	* app/tools/gimpdrawtool.[ch] (gimp_draw_tool_draw_lines): take
	arrays of GimpVector2 instead of arrays of gdouble to represent
	the input points.

	* app/display/gimpdisplayshell-draw.c
	* app/tools/gimppolygonselecttool.c
	* app/tools/gimpfreeselecttool.c: don't cast the GimpVector2 arrays
	to double arrays when passing them to above functions.

	* app/tools/gimpiscissorstool.c: create a temporary GimpVector2
	array instead of a temporary gdouble array.


svn path=/trunk/; revision=24979
2008-02-26 17:30:33 +00:00
Michael Natterer
a6962b5355 rename member num_points to n_points and various small cleanups all over
2008-02-26  Michael Natterer  <mitch@gimp.org>

	* app/tools/gimppolygonselecttool.c: rename member num_points to
	n_points and various small cleanups all over the place.


svn path=/trunk/; revision=24978
2008-02-26 16:41:24 +00:00
Michael Natterer
a5a12b89f6 clean up generic property handling of generated settings classes.
2008-02-18  Michael Natterer  <mitch@gimp.org>

	* app/tools/gimpgegltool.c (gimp_gegl_tool_config_get_property):
	clean up generic property handling of generated settings classes.


svn path=/trunk/; revision=24908
2008-02-18 15:52:01 +00:00
Michael Natterer
d753ee57f5 don't create the recent settings menu if the tool did not set a config
2008-02-18  Michael Natterer  <mitch@gimp.org>

	* app/tools/gimpimagemaptool.c (gimp_image_map_tool_initialize):
	don't create the recent settings menu if the tool did not set a
	config object.

	* app/tools/gimpgegltool.[ch]: pack the operation's settings in a
	frame and add a label when there is no operation selected.


svn path=/trunk/; revision=24907
2008-02-18 15:31:23 +00:00
Michael Natterer
23456dc253 app/display/gimpdisplayshell-callbacks.c
2008-02-16  Michael Natterer  <mitch@gimp.org>

	* app/display/gimpdisplayshell-callbacks.c
	* app/tools/gimpforegroundselecttool.c
	* app/tools/gimpimagemaptool.c
	* app/tools/gimpiscissorstool.c
	* app/tools/gimppolygonselecttool.c
	* app/tools/gimprectangletool.c
	* app/tools/gimptransformtool.c
	* app/tools/gimpvectortool.c
	* app/widgets/gimpcontainerpopup.c
	* app/widgets/gimppaletteview.c
	* libgimpwidgets/gimpcolorhexentry.c
	* libgimpwidgets/gimpnumberpairentry.c
	* plug-ins/script-fu/script-fu-console.c: Unify the handling of
	various "Enter" and "Space" keysyms all over the place. Fixes bug
	#516544 (also see gtk bug #515047).


svn path=/trunk/; revision=24894
2008-02-16 17:51:02 +00:00
Michael Natterer
e831300587 port the "xpos" API to [0.0..1.0] doubles too.
2008-02-09  Michael Natterer  <mitch@gimp.org>

	* app/widgets/gimpcurveview.[ch]: port the "xpos" API
	to [0.0..1.0] doubles too.

	* app/tools/gimpcurvestool.[ch]: rename "col_value" member to
	"picked_color" and use gdouble instead of gint. Also use GimpCurve
	API to map the values instead of accessing the curve directly.
	Fixes setting curve anchor points by color picking.


svn path=/trunk/; revision=24838
2008-02-09 10:56:25 +00:00
Michael Natterer
044359f93d changed all values to be [0.0..1.0] doubles instead of [0..255] integers.
2008-02-09  Michael Natterer  <mitch@gimp.org>

	* app/core/gimpcurve.[ch]: changed all values to be [0.0..1.0]
	doubles instead of [0..255] integers. Also changed the API to use
	doubles instead of ints. Still have the fixed-size arrays though.

	(gimp_curve_map): new function to map values.

	* app/gegl/gimpoperationcurves.c: remove private map() function
	and use the one from GimpCurve.

	* app/gegl/gimpcurvesconfig.c
	* app/core/gimpdrawable-curves.c: port to the new gdouble API.

	* app/tools/gimpcurvestool.c: use gimp_curve_get_uchar() to get
	the arrays for the color bars.

	* app/widgets/gimpcurveview.[ch]: port to gdouble and some cleanup.


svn path=/trunk/; revision=24837
2008-02-09 10:01:51 +00:00
Michael Natterer
fdb9060f73 app/tools/gimpgegltool.c (gimp_param_spec_duplicate) add support for
2008-02-06  Michael Natterer  <mitch@gimp.org>

	* app/tools/gimpgegltool.c (gimp_param_spec_duplicate)
	* app/widgets/gimppropwidgets.c (gimp_prop_table_new): add support
	for GParamSpecEnum.

	* app/core/gimpimagemap.c (gimp_image_map_apply): add even better
	checks for input and output pads of the passed operation.


svn path=/trunk/; revision=24824
2008-02-06 18:38:29 +00:00
Michael Natterer
84939f1652 app/tools/gimpgegltool.c (gimp_param_spec_duplicate) support multiline
2008-02-06  Michael Natterer  <mitch@gimp.org>

	* app/tools/gimpgegltool.c (gimp_param_spec_duplicate)
	* app/widgets/gimppropwidgets.c (gimp_prop_table_new): support
	multiline text and file paths. The multiline support is hacked up
	and needs some proper solution.


svn path=/trunk/; revision=24818
2008-02-06 09:09:34 +00:00
Michael Natterer
3d079cfaee don't include <gegl-plugin.h> any longer.
2008-02-05  Michael Natterer  <mitch@gimp.org>

	* app/tools/gimpgegltool.c: don't include <gegl-plugin.h> any longer.


svn path=/trunk/; revision=24816
2008-02-05 21:26:09 +00:00
Sven Neumann
a93cb8d785 spelling fix.
2008-02-05  Sven Neumann  <sven@gimp.org>

	* app/tools/gimpgegltool.c: spelling fix.


svn path=/trunk/; revision=24813
2008-02-05 19:12:22 +00:00
Michael Natterer
698fabcdef use gegl_node_get_pad() instead of gegl_node_find_property() to find out
2008-02-05  Michael Natterer  <mitch@gimp.org>

	* app/core/gimpimagemap.c (gimp_image_map_apply): use
	gegl_node_get_pad() instead of gegl_node_find_property() to find
	out whether the node has an "input" pad.

	* app/tools/gimpgegltool.c: #include "core/gimpimagemap.h"


svn path=/trunk/; revision=24812
2008-02-05 17:53:37 +00:00
Michael Natterer
d08028320f do the right thing for operations without "input" pad so we can use all
2008-02-05  Michael Natterer  <mitch@gimp.org>

	* app/core/gimpimagemap.c (gimp_image_map_apply): do the right
	thing for operations without "input" pad so we can use all source
	operations too.

	* app/tools/gimpimagemaptool.[ch]: make
	gimp_image_map_tool_create_map() public for the time being.

	* app/tools/gimpgegltool.c (gimp_gegl_tool_operation_changed):
	recreate the GimpImageMap so we can switch from filter to source
	operations and back.


svn path=/trunk/; revision=24810
2008-02-05 13:54:25 +00:00
Michael Natterer
b4255ae3cd new function which creates a table of prop widgets for all properties of
2008-02-05  Michael Natterer  <mitch@gimp.org>

	* app/widgets/gimppropwidgets.[ch] (gimp_prop_table_new): new
	function which creates a table of prop widgets for all properties
	of an object (pretty incomplete, does exactly what's needed in
	GimpGeglTool, or even less).

	* app/tools/gimpgegltool.c: create a proxy config class for each
	GegĺOperation and create a prop table on the config class'
	properties as GUI for the GEGL operation. Write the proxy object's
	properties back to the GeglNode in map().


svn path=/trunk/; revision=24809
2008-02-05 13:20:11 +00:00
Michael Natterer
0b4a8e2ead don't try to add a NULL config to the recent settings menu.
2008-02-05  Michael Natterer  <mitch@gimp.org>

	* app/tools/gimpimagemaptool.c (gimp_image_map_tool_response): don't
	try to add a NULL config to the recent settings menu.


svn path=/trunk/; revision=24801
2008-02-05 02:00:50 +00:00
Michael Natterer
dbadd4c50e themes/Default/images/Makefile.am themes/Default/images/stock-gegl-16.png
2008-02-05  Michael Natterer  <mitch@gimp.org>

	* themes/Default/images/Makefile.am
	* themes/Default/images/stock-gegl-16.png
	* themes/Default/images/stock-gegl-24.png
	* libgimpwidgets/gimpstock.[ch]: new stock icon to be replaced by
	somebody who can draw ;)

	* app/tools/gimpgegltool.c: use it.


svn path=/trunk/; revision=24800
2008-02-05 00:38:08 +00:00
Michael Natterer
b477c755b8 app/tools/Makefile.am add experimental GEGL tool which will allow to try
2008-02-05  Michael Natterer  <mitch@gimp.org>

	* app/tools/Makefile.am
	* app/tools/gimpgegltool.[ch]: add experimental GEGL tool which
	will allow to try arbitrary GEGL operations. 100% unusable at the
	moment.

	* app/tools/gimp-tools.c: register it.

	* app/dialogs/dialogs.c: register its dialog.

	* menus/image-menu.xml.in: add it to the tools menu.


svn path=/trunk/; revision=24799
2008-02-04 23:32:45 +00:00
Michael Natterer
50ad5cfd32 add refcounting and replace free() API by ref() and unref().
2008-02-04  Michael Natterer  <mitch@gimp.org>

	* app/base/gimphistogram.[ch]: add refcounting and replace free()
	API by ref() and unref().

	* app/core/gimpdrawable-equalize.c
	* app/core/gimpdrawable-levels.c
	* app/widgets/gimphistogrameditor.c
	* tools/pdbgen/pdb/color.pdb: replace calls to
	gimp_histogram_free() by gimp_histogram_unref().

	* app/pdb/color_cmds.c: regenerated.

	* app/widgets/gimphistogramview.c: reference the histograms so we
	don't need the widget's users to keep them around while the widget
	exists.

	* app/tools/gimpcurvestool.[ch]: remove the histogram from the
	tool struct and just create one locally to set it on the histogram
	view widget.

	Unrelated:

	* app/tools/gimplevelstool.[ch]
	* app/tools/gimpthresholdtool.[ch]: renamed "hist" members to
	"histogram" plus some cleanup.


svn path=/trunk/; revision=24792
2008-02-04 21:41:57 +00:00
Michael Natterer
eed2d5a2cd use localtime() instead of localtime_r() and don't use %F in strftime().
2008-02-04  Michael Natterer  <mitch@gimp.org>

	* app/tools/gimpimagemaptool.c (gimp_image_map_tool_add_recent):
	use localtime() instead of localtime_r() and don't use %F in
	strftime(). Fixes bug #513966.


svn path=/trunk/; revision=24785
2008-02-04 11:53:36 +00:00
Michael Natterer
743dac7d36 app/tools/gimplevelstool.[ch] remove boolean "color" and "alpha" members
2008-02-04  Michael Natterer  <mitch@gimp.org>

	* app/tools/gimplevelstool.[ch]
	* app/tools/gimpcurvestool.[ch]: remove boolean "color" and "alpha"
	members from the tool structs and ask the drawable instead when
	needed.


svn path=/trunk/; revision=24779
2008-02-03 23:53:00 +00:00
Michael Natterer
96fd65ed40 add "gboolean color" parameter to gimp_threshold_config_to_cruft() and set
2008-02-04  Michael Natterer  <mitch@gimp.org>

	* app/gegl/gimpthresholdconfig.[ch]: add "gboolean color"
	parameter to gimp_threshold_config_to_cruft() and set the "color"
	boolean in the Threshold cruft struct.

	* app/tools/gimpthresholdtool.c: don't fiddle with the cruft
	struct any longer and pass gimp_drawable_is_rgb() to above
	function instead.


svn path=/trunk/; revision=24778
2008-02-03 23:50:55 +00:00
Martin Nordholts
63af95805a Only create a selection from the polygon if there are 3 or more vertices.
2008-02-02  Martin Nordholts  <martinn@svn.gnome.org>

	* app/tools/gimppolygonselecttool.c
	(gimp_polygon_select_tool_commit): Only create a selection from
	the polygon if there are 3 or more vertices.

svn path=/trunk/; revision=24776
2008-02-02 10:00:56 +00:00
Martin Nordholts
5700c67b01 Don't hide the pending point line if we are grabbing the first point.
2008-02-02  Martin Nordholts  <martinn@svn.gnome.org>

	* app/tools/gimppolygonselecttool.c
	(gimp_polygon_select_tool_oper_update): Don't hide the pending
	point line if we are grabbing the first point.
	(gimp_polygon_select_tool_motion): Also update the pending point
	if we are moving the first point.

svn path=/trunk/; revision=24775
2008-02-02 09:45:49 +00:00
Martin Nordholts
8fd278b69e Properly halt the tool when there are no vertices left.
2008-02-02  Martin Nordholts  <martinn@svn.gnome.org>

	* app/tools/gimppolygonselecttool.c
	(gimp_polygon_select_tool_remove_last): Properly halt the tool
	when there are no vertices left.

svn path=/trunk/; revision=24774
2008-02-02 09:15:04 +00:00
Martin Nordholts
77cd46d179 Add a call to gimp_image_flush() so that the undo state gets updated.
2008-02-02  Martin Nordholts  <martinn@svn.gnome.org>

	* app/tools/gimppolygonselecttool.c
	(gimp_polygon_select_tool_commit): Add a call to
	gimp_image_flush() so that the undo state gets updated.

svn path=/trunk/; revision=24773
2008-02-02 08:47:49 +00:00
Michael Natterer
bcf2abe247 fix various curves tool brokenness. Should behave (TM) now.
2008-02-01  Michael Natterer  <mitch@gimp.org>

	* app/tools/gimpcurvestool.c: fix various curves tool brokenness.
	Should behave (TM) now.


svn path=/trunk/; revision=24771
2008-02-01 18:18:16 +00:00
Michael Natterer
27f1ccd4bd app/core/core-types.h have app/gegl know app/core's namespace.
2008-02-01  Michael Natterer  <mitch@gimp.org>

	* app/core/core-types.h
	* app/gegl/gegl-types.h: have app/gegl know app/core's namespace.

	* app/gegl/gimpoperationcurves.h: remove temp hack includes.

	* app/gegl/gimpoperationcurves.c: include "core/gimpcurve.h"

	* app/gegl/gimpbrightnesscontrastconfig.[ch]
	* app/gegl/gimpcolorbalanceconfig.[ch]
	* app/gegl/gimpcolorizeconfig.[ch]
	* app/gegl/gimpcurvesconfig.[ch]
	* app/gegl/gimphuesaturationconfig.[ch]
	* app/gegl/gimplevelsconfig.[ch]
	* app/gegl/gimpoperationcurves.[ch]
	* app/gegl/gimpposterizeconfig.[ch]
	* app/gegl/gimpthresholdconfig.[ch]: derive from GimpViewable, install
	properties using the GimpConfig macros, add implementations of
	GimpConfigInterface::equal() and ::copy() where needed.

	* app/tools/gimpimagemaptool.[ch]: add prototype of a menu of
	recently used settings so the same color correction can easily be
	applied to many images.


svn path=/trunk/; revision=24770
2008-02-01 12:45:32 +00:00
Michael Natterer
5cb00b5a16 fix include guards.
2008-02-01  Michael Natterer  <mitch@gimp.org>

	* app/tools/gimppolygonselecttool.h: fix include guards.


svn path=/trunk/; revision=24768
2008-02-01 11:47:11 +00:00
Martin Nordholts
fb7d6c5f98 Code formating overhaul.
2008-01-31  Martin Nordholts  <martinn@svn.gnome.org>

	* app/tools/gimppolygonselecttool.[ch]: Code formating overhaul.

svn path=/trunk/; revision=24757
2008-01-31 07:02:44 +00:00
Martin Nordholts
07436a80e9 Made object instance struct definition completely a private implementation
2008-01-31  Martin Nordholts  <martinn@svn.gnome.org>

	* app/tools/gimppolygonselecttool.[ch]: Made object instance
	struct definition completely a private implementation detail.

svn path=/trunk/; revision=24756
2008-01-31 06:47:02 +00:00
Martin Nordholts
5370a97b81 Correct undo description.
2008-01-31  Martin Nordholts  <martinn@svn.gnome.org>

	* app/tools/gimppolygonselecttool.c
	(gimp_polygon_select_tool_real_select): Correct undo description.

svn path=/trunk/; revision=24755
2008-01-31 06:33:15 +00:00
Martin Nordholts
919a298092 Added a Polygon Select Tool which is a primitive selection tool based on
2008-01-30  Martin Nordholts  <martinn@svn.gnome.org>

	Added a Polygon Select Tool which is a primitive selection tool
	based on Free Hand Select. Code filtered through David Gowers who
	also made the tool icon. This version of the tool is a for-now
	solution to bug #119646.

	* app/tools/gimppolygonselecttool.[ch]: The new tool.

	* app/tools/gimp-tools.c: Add the tool.

	* app/tools/Makefile.am: Add tool source.

	* app/widgets/gimphelp-ids.h: Add help id for the tool.

	* libgimpwidgets/gimpstock.[ch]: Setup for the new tool icon.

	* menus/image-menu.xml.in: Add action entry for the tool.

	* themes/Default/images/tools/stock-tool-polygon-select-{16,24}.png:
	Tool icon graphics.

	* themes/Default/images/Makefile.am: Add tool icon graphics.

svn path=/trunk/; revision=24753
2008-01-30 20:33:58 +00:00
Michael Natterer
b8ca285631 add "GObject **config" return value to GimpImageMapTool::get_operation()
2008-01-30  Michael Natterer  <mitch@gimp.org>

	* app/tools/gimpimagemaptool.[ch]: add "GObject **config" return
	value to GimpImageMapTool::get_operation() and memory-manage the
	config object here.

	Add default implementation of GimpImageMapTool::reset() which
	calls gimp_config_reset() on the config object.

	* app/tools/gimpbrightnesscontrasttool.c
	* app/tools/gimpcolorbalancetool.c
	* app/tools/gimpcolorizetool.c
	* app/tools/gimpcurvestool.c
	* app/tools/gimphuesaturationtool.c
	* app/tools/gimplevelstool.c
	* app/tools/gimpposterizetool.c
	* app/tools/gimpthresholdtool.c: return the config object in
	get_operation() and don't unref it in finalize().

	Connect to the config object's "notify" signal and update the GUI
	in the callback. Also call gimp_image_map_tool_preview() there.
	Removed all other GUI update functions and all calls to preview().

	Removed reset() implementations which only called
	gimp_config_reset().


svn path=/trunk/; revision=24752
2008-01-30 18:31:43 +00:00
Michael Natterer
06d8a2e5c6 app/gegl/gegl-types.h app/gegl/Makefile.am new config object.
2008-01-28  Michael Natterer  <mitch@gimp.org>

	* app/gegl/gegl-types.h
	* app/gegl/Makefile.am
	* app/gegl/gimpbrightnesscontrastconfig.[ch]: new config object.

	* app/tools/gimpbrightnesscontrasttool.[ch]: use it.


svn path=/trunk/; revision=24735
2008-01-28 18:45:53 +00:00
Michael Natterer
f200f9ca29 app/gegl/gimpcolorbalanceconfig.[ch] app/gegl/gimpcolorizeconfig.[ch]
2008-01-27  Michael Natterer  <mitch@gimp.org>

	* app/gegl/gimpcolorbalanceconfig.[ch]
	* app/gegl/gimpcolorizeconfig.[ch]
	* app/gegl/gimpcurvesconfig.[ch]
	* app/gegl/gimphuesaturationconfig.[ch]
	* app/gegl/gimplevelsconfig.[ch]
	* app/gegl/gimpposterizeconfig.[ch]
	* app/gegl/gimpthresholdconfig.[ch]: implement the GimpConfig
	interface and remove public reset() functions except special ones
	which reset only parts of the objects. Add lots of property
	notifications.

	* app/tools/gimpcolorbalancetool.c
	* app/tools/gimpcolorizetool.c
	* app/tools/gimpcurvestool.c
	* app/tools/gimphuesaturationtool.c
	* app/tools/gimplevelstool.c
	* app/tools/gimpposterizetool.c
	* app/tools/gimpthresholdtool.c: use gimp_config_reset(), misc.
	related changes and cleanups.


svn path=/trunk/; revision=24724
2008-01-27 17:39:01 +00:00
Michael Natterer
e79955d9ad app/gegl/Makefile.am app/gegl/gegl-types.h new config object.
2008-01-25  Michael Natterer  <mitch@gimp.org>

	* app/gegl/Makefile.am
	* app/gegl/gegl-types.h
	* app/gegl/gimpposterizeconfig.[ch]: new config object.

	* app/gegl/gimpoperationposterize.[ch]
	* app/tools/gimpposterizetool.[ch]: use it.


svn path=/trunk/; revision=24711
2008-01-25 18:35:10 +00:00
Michael Natterer
3fd067de7c app/tools/gimpbrightnesscontrasttool.c app/tools/gimpcolorbalancetool.c
2008-01-25  Michael Natterer  <mitch@gimp.org>

	* app/tools/gimpbrightnesscontrasttool.c
	* app/tools/gimpcolorbalancetool.c
	* app/tools/gimpcolorizetool.c
	* app/tools/gimpcurvestool.c
	* app/tools/gimphuesaturationtool.c
	* app/tools/gimpimagemaptool.c
	* app/tools/gimplevelstool.c
	* app/tools/gimpposterizetool.c
	* app/tools/gimpthresholdtool.c: remove includes which are no
	longer needed.


svn path=/trunk/; revision=24709
2008-01-25 13:15:53 +00:00
Michael Natterer
f848ac07ca app/gegl/gimpcurvesconfig.[ch] add load_cruft() and save_cruft() functions
2008-01-25  Michael Natterer  <mitch@gimp.org>

	* app/gegl/gimpcurvesconfig.[ch]
	* app/gegl/gimplevelsconfig.[ch]: add load_cruft() and
	save_cruft() functions which load/save the old (current) curves
	and levels file formats.

	* app/tools/gimpcurvestool.c
	* app/tools/gimplevelstool.c: use them here and remove a lot of
	includes.


svn path=/trunk/; revision=24708
2008-01-25 13:02:37 +00:00
Michael Natterer
7ddd71d015 removed the GimpHueRange member from the tool struct and use the one from
2008-01-25  Michael Natterer  <mitch@gimp.org>

	* app/tools/gimphuesaturationtool.[ch]: removed the GimpHueRange
	member from the tool struct and use the one from the config object
	instead. Also did a global s/partition/range/.


svn path=/trunk/; revision=24707
2008-01-25 13:00:07 +00:00
Michael Natterer
efeeb58546 app/gegl/Makefile.am app/gegl/gegl-types.h new config object.
2008-01-25  Michael Natterer  <mitch@gimp.org>

	* app/gegl/Makefile.am
	* app/gegl/gegl-types.h
	* app/gegl/gimpthresholdconfig.[ch]: new config object.

	* app/gegl/gimpoperationthreshold.[ch]: use it.

	* app/tools/gimpthresholdtool.[ch]: ditto.


svn path=/trunk/; revision=24706
2008-01-25 11:42:07 +00:00
Michael Natterer
52fbc5cd09 app/tools/gimpcurvestool.[ch] remove the "channel" member from the tool
2008-01-25  Michael Natterer  <mitch@gimp.org>

	* app/tools/gimpcurvestool.[ch]
	* app/tools/gimplevelstool.[ch]: remove the "channel" member from
	the tool struct and use the channel from the options object
	instead.


svn path=/trunk/; revision=24705
2008-01-25 10:02:11 +00:00
Michael Natterer
b25559c3e5 app/gegl/Makefile.am app/gegl/gegl-types.h new config object.
2008-01-24  Michael Natterer  <mitch@gimp.org>

	* app/gegl/Makefile.am
	* app/gegl/gegl-types.h
	* app/gegl/gimpcolorbalanceconfig.[ch]: new config object.

	* app/gegl/gimpoperationcolorbalance.[ch]: use it.

	* app/tools/gimpcolorbalancetool.[ch]: port to
	GimpColorBalanceConfig and use the old ColorBalance cruft only in
	map(). The effect of the GEGL operator is now even more different
	from the cruft code because I removed a hack that was applying an
	additional factor when mapping between the ColorBalance values and
	the new properties, but that was only a workaround to make it look
	more similar anyway. Will have to fix this properly.

	* app/base/color-balance.[ch]: remove API that is now obsolete.


svn path=/trunk/; revision=24701
2008-01-24 10:37:21 +00:00
Michael Natterer
fdc4eded22 added reset() and to_cruft() functions.
2008-01-24  Michael Natterer  <mitch@gimp.org>

	* app/gegl/gimpcolorizeconfig.[ch]: added reset() and to_cruft()
	functions.

	* app/tools/gimpcolorizetool.c: use them.


svn path=/trunk/; revision=24698
2008-01-24 09:06:50 +00:00
Martin Nordholts
d089ea9c3e Reset the automatic undo/redo mechanism so that commiting pending
2008-01-23  Martin Nordholts  <martinn@svn.gnome.org>

	* app/tools/gimprectangleselecttool.c
	(gimp_rect_select_tool_execute): Reset the automatic undo/redo
	mechanism so that commiting pending rectangles with Return
	works (bug #511599).

svn path=/trunk/; revision=24696
2008-01-23 20:43:44 +00:00
Michael Natterer
df24e66869 call hue_saturation_calculate_transfers() here...
2008-01-23  Michael Natterer  <mitch@gimp.org>

	* app/gegl/gimphuesaturationconfig.[ch]
	(gimp_hue_saturation_config_to_cruft): call
	hue_saturation_calculate_transfers() here...

	* app/tools/gimphuesaturationtool.c (gimp_hue_saturation_tool_map):
	...instead of here.


svn path=/trunk/; revision=24693
2008-01-23 16:51:33 +00:00
Michael Natterer
17e0ee4192 to_levels_cruft() -> to_cruft().
2008-01-23  Michael Natterer  <mitch@gimp.org>

	* app/gegl/gimplevelsconfig.[ch]: to_levels_cruft() -> to_cruft().

	* app/core/gimpdrawable-levels.c
	* app/tools/gimplevelstool.c: changed accordingly.


svn path=/trunk/; revision=24692
2008-01-23 16:49:05 +00:00
Michael Natterer
61b2d2c474 change signature of widget callbacks to take a GimpHueSaturationTool
2008-01-23  Michael Natterer  <mitch@gimp.org>

	* app/tools/gimphuesaturationtool.c: change signature of widget
	callbacks to take a GimpHueSaturationTool pointer instead of
	"gpointer data".

	* app/tools/gimpposterizetool.c: remove redundant GTK_ADJUSTMENT()
	casts.


svn path=/trunk/; revision=24691
2008-01-23 15:14:28 +00:00
Michael Natterer
ca5ffa5b3f don't #include <gegl.h>
2008-01-23  Michael Natterer  <mitch@gimp.org>

	* app/tools/gimpimagemaptool.h: don't #include <gegl.h>

	* app/actions/tools-commands.c
	* app/display/gimpdisplayshell-callbacks.c
	* app/tools/gimp-tools.c: include it here. Whenever the build
	breaks because of some GEGL change in GIMP, please inlcude
	<gegl.h> instead of <glib-object.h> or before <gtk/gtk.h> in the
	affected .c files.


svn path=/trunk/; revision=24685
2008-01-23 09:51:43 +00:00
Michael Natterer
8990062156 app/gegl/Makefile.am app/gegl/gegl-types.h app/gegl/gimpcurvesconfig.[ch]
2008-01-23  Michael Natterer  <mitch@gimp.org>

	* app/gegl/Makefile.am
	* app/gegl/gegl-types.h
	* app/gegl/gimpcurvesconfig.[ch]
	* app/gegl/gimpoperationcurves.[ch]: add curves operation and its
	config object. Hack around badly to be able to use GimpCurve from
	app/core.

	* app/gegl/gimp-gegl.c: register the curves operation.

	* app/tools/gimpcurvestool.[ch]: added get_operation() implemenetation
	and use the new config object instead of keeping around 5 curves.


svn path=/trunk/; revision=24683
2008-01-23 09:28:16 +00:00
Michael Natterer
5d07620d58 new utility function which maps a single value.
2008-01-23  Michael Natterer  <mitch@gimp.org>

	* app/gegl/gimpoperationlevels.[ch]
	(gimp_operation_levels_map_input): new utility function which maps
	a single value.

	* app/tools/gimplevelstool.[ch] (levels_update_adjustments): use the
	new function to create the input arrays for gimp_color_bar_set_buffer().

	Removed the Levels struct from the GimpLevelsTool struct and only
	use it in map() when needed.

	* app/base/levels.[ch]: remove obsolete API and struct members.


svn path=/trunk/; revision=24682
2008-01-23 08:48:29 +00:00
Sven Neumann
18156ac03f dilate the brush mask in order to obtain a simpler boundary. Addresses bug
2008-01-22  Sven Neumann  <sven@gimp.org>

	* app/paint/gimpbrushcore.c (gimp_brush_core_create_bound_segs):
	dilate the brush mask in order to obtain a simpler boundary.
	Addresses bug #304798.

	* app/tools/gimpbrushtool.c (gimp_brush_tool_draw_brush): 
removed
	redundant casts.


svn path=/trunk/; revision=24676
2008-01-22 20:06:01 +00:00
Sven Neumann
64880a8107 added new function gimp_use_gegl().
2008-01-22  Sven Neumann  <sven@gimp.org>

	* app/core/gimp.[ch]: added new function gimp_use_gegl().

	* app/core/gimpdrawable-desaturate.c
	* app/core/gimpdrawable-levels.c
	* app/core/gimpdrawable-invert.c
	* app/tools/gimpimagemaptool.c
	* app/pdb/color_cmds.c
	* tools/pdbgen/pdb/color.pdb: use it instead of accessing the
	GimpCoreConfig struct directly.

svn path=/trunk/; revision=24668
2008-01-22 11:28:48 +00:00
Michael Natterer
14a20cc3d7 app/gegl/Makefile.am app/gegl/gegl-types.h new config object.
2008-01-22  Michael Natterer  <mitch@gimp.org>

	* app/gegl/Makefile.am
	* app/gegl/gegl-types.h
	* app/gegl/gimphuesaturationconfig.[ch]: new config object.

	* app/gegl/gimpoperationhuesaturation.[ch]: remove all properties
	and add a "config" property. Also add API to map a single GimpRGB
	needed by the hue-saturation tool's color areas.

	* app/tools/gimphuesaturationtool.[ch]: switch to using
	GimpHueSaturationConfig, use the old HueSaturation struct only in
	map().

	* app/base/hue-saturation.[ch]: remove API that's no longer needed.


svn path=/trunk/; revision=24667
2008-01-22 09:49:40 +00:00
Martin Nordholts
8aabfe2c1d Don't foget to update the integer representation of the rectangle.
2008-01-21  Martin Nordholts  <martinn@svn.gnome.org>

	* app/tools/gimprectangletool.c
	(gimp_rectangle_tool_set_other_side_coord): Don't foget to update
	the integer representation of the rectangle.

svn path=/trunk/; revision=24665
2008-01-21 21:34:41 +00:00
Martin Nordholts
86199bcddc Moved the logic in _motion to a new helper function _update_motion that is
2008-01-21  Martin Nordholts  <martinn@svn.gnome.org>

	* app/tools/gimpeditselectiontool.[ch]: Moved the logic in _motion
	to a new helper function _update_motion that is also called in
	_active_modifier_key. Makes toggling Ctrl immediately apply/remove
	movement constraints for the Move Tool when a move has been
	initiated. This completes the fix for bug #78730.

svn path=/trunk/; revision=24663
2008-01-21 18:55:37 +00:00
Michael Natterer
89146f4433 add utility function gimp_levels_config_to_levels_cruft() which fills the
2008-01-21  Michael Natterer  <mitch@gimp.org>

	* app/gegl/gimplevelsconfig.[ch]: add utility function
	gimp_levels_config_to_levels_cruft() which fills the old Levels
	struct from a GimpLevelsConfig object.

	* app/tools/gimplevelstool.c: use it.


svn path=/trunk/; revision=24658
2008-01-21 12:03:19 +00:00
Martin Nordholts
7a190d35fd Reformat a bit, essentially just removed one pointless level of
2008-01-19  Martin Nordholts  <martinn@svn.gnome.org>

	* app/tools/gimpeditselectiontool.c
	(gimp_edit_selection_tool_motion): Reformat a bit, essentially
	just removed one pointless level of indentation.

svn path=/trunk/; revision=24655
2008-01-19 15:08:39 +00:00
Michael Natterer
30907dbd76 app/gegl/Makefile.am app/gegl/gegl-types.h new config object.
2008-01-18  Michael Natterer  <mitch@gimp.org>

	* app/gegl/Makefile.am
	* app/gegl/gegl-types.h
	* app/gegl/gimpcolorizeconfig.[ch]: new config object.

	* app/gegl/gimpoperationcolorize.[ch]: remove all properties and
	add a "config" property.

	* app/tools/gimpcolorizetool.[ch]: port to GimpColorizeConfig, use
	the old Colorize struct only in map().


svn path=/trunk/; revision=24647
2008-01-18 14:44:27 +00:00
Michael Natterer
a09925eae8 ported the stretch and pick functions from base/levels.c.
2008-01-18  Michael Natterer  <mitch@gimp.org>

	* app/gegl/gimplevelsconfig.[ch]: ported the stretch and pick
	functions from base/levels.c.

	* app/tools/gimplevelstool.[ch]: use them instead of the old
	stuff. Also switch to GimpLevelsConfig as primary storage for all
	settings and fill the old Levels struct only when needed in map().
	Remove all hackish fiddling with levels_tool->channel because it
	is now always what is set in the menu.


svn path=/trunk/; revision=24646
2008-01-18 13:54:46 +00:00
Martin Nordholts
b502111a2e Use this new helper function instead of duplicating its logic.
2008-01-17  Martin Nordholts  <martinn@svn.gnome.org>

	* app/tools/gimpeditselectiontool.c
	(gimp_edit_selection_tool_get_active_item): Use this new helper
	function instead of duplicating its logic.

svn path=/trunk/; revision=24638
2008-01-17 21:41:21 +00:00
Michael Natterer
adf8f48016 app/gegl/Makefile.am app/gegl/gegl-types.h new config object for the
2008-01-17  Michael Natterer  <mitch@gimp.org>

	* app/gegl/Makefile.am
	* app/gegl/gegl-types.h
	* app/gegl/gimplevelsconfig.[ch]: new config object for the levels
	operation's settings.

	* app/gegl/gimpoperationlevels.[ch]: remove all properties and add
	a "config" property instead.

	* app/tools/gimplevelstool.[ch]: keep a GimpLevelsConfig around.


svn path=/trunk/; revision=24637
2008-01-17 17:18:23 +00:00
Michael Natterer
e824546886 create the operation in GObject::constructor() so it's available during
2008-01-17  Michael Natterer  <mitch@gimp.org>

	* app/tools/gimpimagemaptool.c: create the operation in
	GObject::constructor() so it's available during the entire tool
	life time (needed soon).


svn path=/trunk/; revision=24635
2008-01-17 12:51:39 +00:00
Michael Natterer
7b8fa4c34c Fix gegl types and includes so we can include operations from app/gegl in
2008-01-16  Michael Natterer  <mitch@gimp.org>

	Fix gegl types and includes so we can include operations from
	app/gegl in other gimp files (needed soon):

	* app/gegl/gegl/gegl-types.h: not copied from gegl any longer.
	Now contains only two typedefs needed by the copied operation
	headers.

	* app/gegl/gegl-types.h: include above types file.

	* app/gegl/gimp-gegl.c
	* app/gegl/gimpoperationcolorbalance.c
	* app/gegl/gimpoperationcolorize.c
	* app/gegl/gimpoperationdesaturate.c
	* app/gegl/gimpoperationhuesaturation.c
	* app/gegl/gimpoperationlevels.c
	* app/gegl/gimpoperationposterize.c
	* app/gegl/gimpoperationthreshold.c
	* app/gegl/gimpoperationtilesink.c
	* app/gegl/gimpoperationtilesource.c: include only <gegl.h> and
	"gegl-types.h" from this directory, which is much more gimpish
	now. Include "gegl/buffer/gegl-buffer.h" in the source and sink
	operations.

	* app/tools/gimpimagemaptool.h: warn about inclusion of <gegl.h>
	only if it hasn't been included before, so it only warns in the
	files where we still have to address this issue.


svn path=/trunk/; revision=24625
2008-01-16 15:52:02 +00:00
Martin Nordholts
8772b0a150 Added symbolic constants for common values to the n_snap_lines parameter
2008-01-15  Martin Nordholts  <martinn@svn.gnome.org>

	* app/tools/tools-utils.h: Added symbolic constants for common
	values to the n_snap_lines parameter of
	gimp_tool_motion_constrain.

	* app/tools/gimpblendtool.c:
	* app/tools/gimpeditselectiontool.c:
	* app/tools/gimpmeasuretool.c:
	* app/tools/gimppainttool.c: Use these new symbolic constants.

svn path=/trunk/; revision=24623
2008-01-15 21:05:57 +00:00
Martin Nordholts
9934221a07 Made it possible to constrain movement with the Move Tool in 45 degree
2008-01-15  Martin Nordholts  <martinn@svn.gnome.org>

	* app/tools/gimpeditselectiontool.[ch]: Made it possible to
	constrain movement with the Move Tool in 45 degree angles by
	holding Ctrl when a move has been initiated. This fixes the
	essential part of bug #78730.

svn path=/trunk/; revision=24622
2008-01-15 20:01:39 +00:00
Michael Natterer
572115701f app/gegl/gimpoperationcolorize.[ch] app/gegl/gimpoperationlevels.[ch]
2008-01-15  Michael Natterer  <mitch@gimp.org>

	* app/gegl/gimpoperationcolorize.[ch]
	* app/gegl/gimpoperationlevels.[ch]
	* app/gegl/gimpoperationthreshold.[ch]: changed all properties from
	float to double.

	* app/gegl/gimpoperationcolorize.c: normalized property ranges to
	[0.0..1.0] or [-1.0..1.0] resp.

	* app/tools/gimpcolorizetool.c: changed accordingly.


svn path=/trunk/; revision=24621
2008-01-15 17:23:45 +00:00
Michael Natterer
c7b8f0599c check for image_map_tool->image_map also when the preview is switched on,
2008-01-15  Michael Natterer  <mitch@gimp.org>

	* app/tools/gimpimagemaptool.c (gimp_image_map_tool_notify_preview):
	check for image_map_tool->image_map also when the preview is
	switched on, not only when it's switched off.


svn path=/trunk/; revision=24618
2008-01-15 14:39:41 +00:00
Michael Natterer
0b74e6e1b5 don't call map() if image_map_tool->image_map is NULL.
2008-01-15  Michael Natterer  <mitch@gimp.org>

	* app/tools/gimpimagemaptool.c (gimp_image_map_tool_preview):
	don't call map() if image_map_tool->image_map is NULL.


svn path=/trunk/; revision=24610
2008-01-15 00:56:33 +00:00
Martin Nordholts
4ef8797faa Generalized to allow a variable number of lines for snapping, and
2008-01-14  Martin Nordholts  <martinn@svn.gnome.org>

	* app/tools/tools-utils.[ch]
	(gimp_tool_motion_constrain): Generalized to allow a variable
	number of lines for snapping, and rewritten to make snapping
	happen more intuitively; snap the shortest distance rather than
	only horizontally or vertically.
	(gimp_tool_utils_point_to_line_distance): New helper function.

	* app/tools/gimpblendtool.c
	* app/tools/gimpmeasuretool.c
	* app/tools/gimppainttool.c: Adjust to the new function signature.

svn path=/trunk/; revision=24609
2008-01-14 21:23:02 +00:00
Michael Natterer
f8808d8afc app/gegl/Makefile.am app/gegl/gegl-types.h new operation.
2008-01-14  Michael Natterer  <mitch@gimp.org>

	* app/gegl/Makefile.am
	* app/gegl/gegl-types.h
	* app/gegl/gimpoperationhuesaturation.[ch]: new operation.

	* app/gegl/gimp-gegl.c: register it.

	* app/tools/gimphuesaturationtool.c: use it.


svn path=/trunk/; revision=24608
2008-01-14 20:44:01 +00:00
Michael Natterer
dac333f72d Simplify things a bit and enable gegl-only color correction tools (without
2008-01-10  Michael Natterer  <mitch@gimp.org>

	Simplify things a bit and enable gegl-only color correction
	tools (without legacy functions).

	* app/tools/gimpimagemaptool.c (gimp_image_map_tool_create_map):
	always create the operation if ::get_operation() is implemented
	and always use it when creating the GimpImageMap if there is no
	legacy apply_func.

	* app/tools/gimpbrightnesscontrasttool.c
	* app/tools/gimpcolorbalancetool.c
	* app/tools/gimpcolorizetool.c
	* app/tools/gimplevelstool.c
	* app/tools/gimpposterizetool.c
	* app/tools/gimpthresholdtool.c (map): set the operation's
	properties unconditionally since it always exists now if we also
	implement ::get_operation().


svn path=/trunk/; revision=24588
2008-01-10 13:12:44 +00:00
Michael Natterer
91788fe393 app/gegl/Makefile.am app/gegl/gegl-types.h new operator.
2008-01-10  Michael Natterer  <mitch@gimp.org>

	* app/gegl/Makefile.am
	* app/gegl/gegl-types.h
	* app/gegl/gimpoperationcolorbalance.[ch]: new operator.

	* app/gegl/gimp-gegl.c: register it.

	* app/tools/gimpcolorbalancetool.c: use it.


svn path=/trunk/; revision=24587
2008-01-10 12:52:19 +00:00
Michael Natterer
c9af6ea8d3 fix alpha handling on greyscale images.
2008-01-09  Michael Natterer  <mitch@gimp.org>

	* app/tools/gimplevelstool.c (gimp_levels_tool_map): fix alpha
	handling on greyscale images.


svn path=/trunk/; revision=24577
2008-01-09 13:47:52 +00:00
Michael Natterer
dc65f5fc20 add typedef GimpImageMapApplyFunc here.
2008-01-09  Michael Natterer  <mitch@gimp.org>

	* app/core/core-types.h: add typedef GimpImageMapApplyFunc here.

	* app/core/gimpimagemap.[ch] (gimp_image_map_new): add apply_func
	and apply_data parameters.

	(gimp_image_map_apply): remove them here and add a GeglRectangle
	parameter which is the visible area of the affected drawable.

	* app/tools/gimpimagemaptool.[ch]: keep apply_func and apply_data
	around in the GimpImageMapTool struct.

	(gimp_image_map_tool_create_map): pass them to gimp_image_map_new().

	(gimp_image_map_tool_map): call gimp_image_map_apply() here and
	pass the drawable's visible rectangle.

	* app/tools/gimpbrightnesscontrasttool.c
	* app/tools/gimpcolorbalancetool.c
	* app/tools/gimpcolorizetool.c
	* app/tools/gimpcurvestool.c
	* app/tools/gimphuesaturationtool.c
	* app/tools/gimplevelstool.c
	* app/tools/gimpposterizetool.c
	* app/tools/gimpthresholdtool.c (init): set apply_func and
	apply_data in the parent instance.

	(map): remove calls to gimp_image_map_apply().


svn path=/trunk/; revision=24573
2008-01-09 01:06:46 +00:00
Michael Natterer
27319afde9 add properties, some cleanup.
2008-01-07  Michael Natterer  <mitch@gimp.org>

	* app/gegl/gimpoperationlevels.[ch]: add properties, some cleanup.

	* app/tools/gimplevelstool.c: use gegl_node_set() instead of
	accessing the operation directly.


svn path=/trunk/; revision=24566
2008-01-07 21:39:05 +00:00
Michael Natterer
1c804c8d43 app/gegl/Makefile.am app/gegl/gegl-types.h new operator.
2008-01-07  Michael Natterer  <mitch@gimp.org>

	* app/gegl/Makefile.am
	* app/gegl/gegl-types.h
	* app/gegl/gimpoperationlevels.[ch]: new operator.

	* app/gegl/gimp-gegl.c: register it.

	* app/tools/gimplevelstool.c: use it,


svn path=/trunk/; revision=24565
2008-01-07 20:37:25 +00:00
Øyvind Kolås
43a3c37259 make the mapping between slider values and gegl-op properties more closely
* app/tools/gimpbrightnesscontrasttool.c: make the mapping between
slider values and gegl-op properties more closely resemble gimp for
the brightness property.

svn path=/trunk/; revision=24560
2008-01-07 15:36:02 +00:00
Michael Natterer
4324d68141 don't call a NULL GimpImageMapToolClass::get_operation().
2008-01-06  Michael Natterer  <mitch@gimp.org>

	* app/tools/gimpimagemaptool.c (gimp_image_map_tool_create_map):
	don't call a NULL GimpImageMapToolClass::get_operation().


svn path=/trunk/; revision=24553
2008-01-06 15:18:00 +00:00
Michael Natterer
50335ca918 toggle the image map mode only if an image map currently exists. Fixes
2008-01-06  Michael Natterer  <mitch@gimp.org>

	* app/tools/gimpimagemaptool.c (gimp_image_map_tool_gegl_notify):
	toggle the image map mode only if an image map currently exists.
	Fixes crash when toggling "Use GEGL" while the tool is not active.


svn path=/trunk/; revision=24552
2008-01-06 15:10:04 +00:00
Hans Breuer
9a1d5f3453 **/makefile.msc app/gimpcore.def : updated so it compiles and links
2008-01-04  Hans Breuer  <hans@breuer.org>

	**/makefile.msc app/gimpcore.def : updated so it compiles and links
	(almost, see bug #507298)

svn path=/trunk/; revision=24533
2008-01-04 18:42:07 +00:00
Michael Natterer
dd97e60591 add "use-gegl" property but don't serialize it.
2008-01-04  Michael Natterer  <mitch@gimp.org>

	* app/config/gimpcoreconfig.[ch]: add "use-gegl" property but
	don't serialize it.

	* app/widgets/gimptoolbox.c: add super ugly "Use GEGL" toggle to
	the toolbox so we don't need to have prefs open all the time when
	experimenting with gegl.

	* app/tools/gimpimagemaptool.[ch]: remove "Use GEGL" toggle from
	the tool dialogs and connect to the config property instead.

	* app/core/gimpdrawable-desaturate.c
	* app/core/gimpdrawable-invert.c: made them runtime-switchable by
	looking at the config property.


svn path=/trunk/; revision=24530
2008-01-04 17:28:49 +00:00
Michael Natterer
d1719638db app/gegl/Makefile.am app/gegl/gegl-types.h
2008-01-04  Michael Natterer  <mitch@gimp.org>

	* app/gegl/Makefile.am
	* app/gegl/gegl-types.h
	* app/gegl/gimpoperationcolorize.[ch]
	* app/gegl/gimpoperationposterize.[ch]: new operators which still
	use a lot of gimp stuff they shouldn't use, but at least the
	infrastructure for improving them is there now.

	* app/gegl/gimp-gegl.c: register them.

	* app/tools/gimpcolorizetool.c
	* app/tools/gimpposterizetool.c: use them.


svn path=/trunk/; revision=24528
2008-01-04 15:16:32 +00:00
Michael Natterer
61a14f1f70 enable disabling gegl again, which i broke with my last commit.
2008-01-04  Michael Natterer  <mitch@gimp.org>

	* app/tools/gimpimagemaptool.c (gimp_image_map_tool_create_map):
	enable disabling gegl again, which i broke with my last commit.


svn path=/trunk/; revision=24525
2008-01-04 14:43:03 +00:00
Sven Neumann
f1678dc46d also update trans_info[REAL_ANGLE]. Fixes bug #507167.
2008-01-04  Sven Neumann  <sven@gimp.org>

	* app/tools/gimprotatetool.c (rotate_angle_changed): also update
	trans_info[REAL_ANGLE]. Fixes bug #507167.


svn path=/trunk/; revision=24521
2008-01-04 09:01:55 +00:00
Michael Natterer
48358e3452 keep the central processing node around here...
2008-01-03  Michael Natterer  <mitch@gimp.org>

	* app/tools/gimpimagemaptool.[ch]: keep the central processing
	node around here...

	* app/tools/gimpbrightnesscontrasttool.[ch]
	* app/tools/gimpthresholdtool.[ch]: ...instead of here.


svn path=/trunk/; revision=24517
2008-01-03 19:36:23 +00:00
Michael Natterer
bd938d40a0 app/gegl/Makefile.am app/gegl/gegl-types.h gimpish threshold operator
2008-01-03  Michael Natterer  <mitch@gimp.org>

	* app/gegl/Makefile.am
	* app/gegl/gegl-types.h
	* app/gegl/gimpoperationthreshold.[ch]: gimpish threshold operator
	which has "low" and "high" properties.

	* app/gegl/gimp-gegl.c: register it.

	* app/gegl/gimpoperationdesaturate.[ch]: fix copyright.

	* app/tools/gimpthresholdtool.[ch]: use the new operator.


svn path=/trunk/; revision=24515
2008-01-03 19:23:35 +00:00
Martin Nordholts
afecdd6868 Use × instead of x when initializing the rectangle size in the status
2008-01-01  Martin Nordholts  <martinn@svn.gnome.org>

	* app/tools/gimprectangletool.c (gimp_rectangle_tool_start): Use ×
	instead of x when initializing the rectangle size in the status
	bar.

svn path=/trunk/; revision=24498
2007-12-31 23:36:01 +00:00
Michael Natterer
5780913e2f app/tools/gimpcolorbalancetool.c app/tools/gimpcolorizetool.c
2007-12-30  Michael Natterer  <mitch@gimp.org>

	* app/tools/gimpcolorbalancetool.c
	* app/tools/gimpcolorizetool.c
	* app/tools/gimpcurvestool.c
	* app/tools/gimphuesaturationtool.c
	* app/tools/gimplevelstool.c
	* app/tools/gimpposterizetool.c
	* app/tools/gimpthresholdtool.c: #include <gegl.h>. Fixes the build.


svn path=/trunk/; revision=24489
2007-12-30 17:54:51 +00:00
Michael Natterer
d6ab4d19bd First actual image processing with GEGL! Wheeeee :-)
2007-12-30  Michael Natterer  <mitch@gimp.org>

	First actual image processing with GEGL! Wheeeee :-)

	* app/core/gimpimagemap.[ch]: added code to use gegl instead of the
	old apply_func and apply_data.

	(gimp_image_map_new): add GeglNode parameter that, if passed,
	switches the whole thing to using a gegl graph with this node
	as central processing node.

	* app/tools/gimpimagemaptool.[ch]: add virtual function
	get_operation() which, if implemented, returns a GeglNode to pass
	to gimp_image_map_new(). Added a "Use GEGL" toggle so we can
	switch between legacy and gegl code for the migration period.

	* app/tools/gimpbrightnesscontrasttool.[ch]: implement
	get_operation() and return a brightness-contrast node.

	(gimp_briughtness_contrast_tool_map): set the node's properties
	from the GUI.


svn path=/trunk/; revision=24488
2007-12-30 17:47:37 +00:00
Michael Natterer
529fd5e629 app/actions/Makefile.am app/core/Makefile.am app/display/Makefile.am use
2007-12-29  Michael Natterer  <mitch@gimp.org>

	* app/actions/Makefile.am
	* app/core/Makefile.am
	* app/display/Makefile.am
	* app/tools/Makefile.am: use GEGL_CFLAGS.


svn path=/trunk/; revision=24472
2007-12-29 19:18:57 +00:00
Michael Natterer
e485274069 app/tools/gimpbrightnesscontrasttool.c app/tools/gimpcolorbalancetool.c
2007-12-29  Michael Natterer  <mitch@gimp.org>

	* app/tools/gimpbrightnesscontrasttool.c
	* app/tools/gimpcolorbalancetool.c
	* app/tools/gimpcolorizetool.c
	* app/tools/gimphuesaturationtool.c
	* app/tools/gimplevelstool.c
	* app/tools/gimpthresholdtool.c: more cleanup in preparation of
	migrating to gegl.


svn path=/trunk/; revision=24468
2007-12-29 16:29:31 +00:00
Martin Nordholts
4e66d93f79 When setting the highlight, use the external rectangle representation, not
2007-12-28  Martin Nordholts  <martinn@svn.gnome.org>

	* app/tools/gimprectangletool.c
	(gimp_rectangle_tool_update_highlight): When setting the
	highlight, use the external rectangle representation, not the
	internal one.

svn path=/trunk/; revision=24453
2007-12-28 19:21:35 +00:00
Michael Natterer
33854be9fb remove the same cruft here.
2007-12-27  Michael Natterer  <mitch@gimp.org>

	* app/tools/gimpcolorbalancetool.c: remove the same cruft here.


svn path=/trunk/; revision=24441
2007-12-27 22:44:52 +00:00
Michael Natterer
e5579d46ce remove unused cruft.
2007-12-27  Michael Natterer  <mitch@gimp.org>

	* app/tools/gimpbrightnesscontrasttool.c: remove unused cruft.


svn path=/trunk/; revision=24440
2007-12-27 22:22:39 +00:00
Michael Natterer
1e8371361e app/actions/image-commands.c app/actions/select-commands.c
2007-12-26  Michael Natterer  <mitch@gimp.org>

	* app/actions/image-commands.c
	* app/actions/select-commands.c
	* app/core/gimp-edit.c
	* app/core/gimpdrawable-stroke.c
	* app/core/gimpimage-duplicate.c
	* app/core/gimpimage-preview.c
	* app/core/gimpimage-rotate.c
	* app/core/gimpimageundo.c
	* app/core/gimpitem-preview.c
	* app/dialogs/grid-dialog.c
	* app/dialogs/layer-options-dialog.c
	* app/dialogs/offset-dialog.c
	* app/dialogs/stroke-dialog.c
	* app/display/gimpdisplayshell-scale.c
	* app/display/gimpdisplayshell-title.c
	* app/display/gimpdisplayshell.c
	* app/display/gimpstatusbar.c
	* app/paint/gimppaintoptions.c
	* app/tools/gimpmagnifytool.c
	* app/tools/gimpmeasuretool.c
	* app/tools/gimppainttool.c
	* app/tools/gimprectangletool.c
	* app/tools/gimprotatetool.c
	* app/tools/gimpscaletool.c
	* app/tools/gimptexttool.c
	* app/vectors/gimpvectors-export.c
	* app/vectors/gimpvectors-import.c
	* app/widgets/gimpcursorview.c
	* app/widgets/gimpimagepropview.c
	* app/widgets/gimptoolbox-dnd.c
	* app/widgets/gimpviewrendererdrawable.c
	* app/widgets/gimpviewrendererimage.c
	* app/xcf/xcf-load.c
	* app/xcf/xcf-save.c: use gimp_image_get/set_resolution() instead
	of accessing the GimpImage members directly.


svn path=/trunk/; revision=24436
2007-12-26 17:33:41 +00:00
Michael Natterer
75061fccfd app/actions/channels-commands.c app/actions/colormap-actions.c
2007-12-25  Michael Natterer  <mitch@gimp.org>

	* app/actions/channels-commands.c
	* app/actions/colormap-actions.c
	* app/actions/colormap-commands.c
	* app/actions/image-commands.c
	* app/core/gimp-edit.c
	* app/core/gimpdrawable-preview.c
	* app/core/gimpimage-colorhash.c
	* app/core/gimpimage-colormap.c
	* app/core/gimpimage-convert.c
	* app/core/gimpimage-crop.c
	* app/core/gimpimage-duplicate.c
	* app/core/gimpimage-flip.c
	* app/core/gimpimage-guides.c
	* app/core/gimpimage-merge.c
	* app/core/gimpimage-preview.c
	* app/core/gimpimage-quick-mask.c
	* app/core/gimpimage-resize.c
	* app/core/gimpimage-rotate.c
	* app/core/gimpimage-sample-points.c
	* app/core/gimpimage-scale.c
	* app/core/gimpimage-snap.c
	* app/core/gimpimage.c
	* app/core/gimpimagefile.c
	* app/core/gimpimageundo.c
	* app/core/gimpitem-preview.c
	* app/core/gimpitem.c
	* app/core/gimplayer.c
	* app/core/gimppalette-import.c
	* app/core/gimpprojection-construct.c
	* app/core/gimpprojection.c
	* app/core/gimpselection.c
	* app/core/gimpundo.c
	* app/dialogs/layer-options-dialog.c
	* app/dialogs/print-size-dialog.c
	* app/display/gimpdisplay.c
	* app/display/gimpdisplayshell-draw.c
	* app/display/gimpdisplayshell-scale.c
	* app/display/gimpdisplayshell-scroll.c
	* app/display/gimpdisplayshell-title.c
	* app/display/gimpdisplayshell-transform.c
	* app/display/gimpdisplayshell.c
	* app/display/gimpstatusbar.c
	* app/file/file-open.c
	* app/paint/gimppaintoptions.c
	* app/tools/gimpaligntool.c
	* app/tools/gimpcolortool.c
	* app/tools/gimpeditselectiontool.c
	* app/tools/gimpiscissorstool.c
	* app/tools/gimpmeasuretool.c
	* app/tools/gimpmovetool.c
	* app/tools/gimpperspectiveclonetool.c
	* app/tools/gimprectangleselecttool.c
	* app/tools/gimprectangletool.c
	* app/tools/gimprotatetool.c
	* app/vectors/gimpvectors-export.c
	* app/vectors/gimpvectors-import.c
	* app/vectors/gimpvectors.c
	* app/widgets/gimpimagepropview.c
	* app/widgets/gimpnavigationview.c
	* app/widgets/gimpselectioneditor.c
	* app/widgets/gimpviewrendererdrawable.c
	* app/widgets/gimpviewrendererimage.c
	* app/xcf/xcf-load.c
	* app/xcf/xcf-save.c
	* tools/pdbgen/pdb/guides.pdb
	* tools/pdbgen/pdb/image.pdb: use accessors for many image properties.

	* app/pdb/guides_cmds.c
	* app/pdb/image_cmds.c: regenerated.


svn path=/trunk/; revision=24432
2007-12-25 16:21:40 +00:00
Michael Natterer
b7dace78b4 app/tools/gimpeditselectiontool.c app/tools/gimpiscissorstool.c
2007-12-21  Michael Natterer  <mitch@gimp.org>

	* app/tools/gimpeditselectiontool.c
	* app/tools/gimpiscissorstool.c
	* app/tools/gimptexttool.c
	* app/tools/gimptransformtool.c: use accessors for drawable and
	item properties.


svn path=/trunk/; revision=24424
2007-12-21 20:10:27 +00:00
Michael Natterer
1542f99678 app/core/gimp-contexts.[ch] add GErrors to save() and load().
2007-12-19  Michael Natterer  <mitch@gimp.org>

	* app/core/gimp-contexts.[ch]
	* app/core/gimp-documents.[ch]: add GErrors to save() and load().

	* app/core/gimp.c
	* app/tools/gimp-tools.c: handle the returned errors.


svn path=/trunk/; revision=24403
2007-12-19 17:45:47 +00:00
Martin Nordholts
1014fca378 Reverted the changes that made GimpRectangleTool keep track of its active
2007-12-14  Martin Nordholts  <martinn@svn.gnome.org>

	Reverted the changes that made GimpRectangleTool keep track of its
	active display in GimpRectangleToolPrivate, the approach is
	broken.

svn path=/trunk/; revision=24364
2007-12-14 17:22:46 +00:00
Martin Nordholts
8208d16bb0 Changed name of `gimp_rectangle_tool_is_active_at' to
2007-12-13  Martin Nordholts  <martinn@svn.gnome.org>

	* app/tools/gimprectangletool.[ch]: Changed name of
	`gimp_rectangle_tool_is_active_at' to
	`gimp_rectangle_tool_is_active_on_display'.

	* app/tools/gimpcroptool.c
	* app/tools/gimprectangleselecttool.c: Use the new name.

svn path=/trunk/; revision=24360
2007-12-13 21:48:55 +00:00
Martin Nordholts
f643d5545c Don't use the `display' member of GimpTool for keeping track of what
2007-12-13  Martin Nordholts  <martinn@svn.gnome.org>

	* app/tools/gimprectangletool.[ch]: Don't use the `display' member
	of GimpTool for keeping track of what display the rectangle is
	active on. Instead store the active display in
	GimpRectangleToolPrivate. This change is based on a patch by Bill
	Skaggs.
	(gimp_rectangle_tool_is_active)
	(gimp_rectangle_tool_is_active_at)
	(gimp_rectangle_tool_get_active_display): New public functions for
	GimpRectangleTool active-display interaction.

	* app/tools/gimpellipseselecttool.c
	(gimp_ellipse_select_tool_select): Use the active display of
	GimpRectangleTool instead of tool->display.

	* app/tools/gimprectangleselecttool.c
	(gimp_rect_select_tool_rectangle_changed): Use the active display
	of GimpRectangleTool instead of tool->display.

	* app/tools/gimpcroptool.c
	(gimp_crop_tool_button_press): Use the active display of
	GimpRectangleTool instead of tool->display.

svn path=/trunk/; revision=24358
2007-12-13 21:30:59 +00:00
Martin Nordholts
453f54584d Make canceling work a bit better.
2007-12-13  Martin Nordholts  <martinn@svn.gnome.org>

	* app/tools/gimprectangletool.c
	(gimp_rectangle_tool_button_release): Make canceling work a bit
	better.

svn path=/trunk/; revision=24355
2007-12-13 20:14:41 +00:00
Martin Nordholts
c0ab783568 Extended public interface a bit. (gimp_rectangle_tool_point_in_rectangle):
2007-12-12  Martin Nordholts  <martinn@svn.gnome.org>

	* app/tools/gimprectangletool.c: Extended public interface a bit.
	(gimp_rectangle_tool_point_in_rectangle): New convenience function
	to test if a point is within the rectangle (if active).
	(gimp_rectangle_tool_rectangle_is_new): New function so that
	clients can determine if the rectangle currently being
	rubber-banded was created from scatch or not.

svn path=/trunk/; revision=24343
2007-12-12 21:11:56 +00:00
Hans Breuer
6f5bbfe0bd updated and removed -GD to let msvc9 complain less
2007-12-09  Hans Breuer  <hans@breuer.org>

	* **/makefile.msc : updated and removed -GD to let msvc9 complain less


svn path=/trunk/; revision=24305
2007-12-09 14:11:09 +00:00
Martin Nordholts
8372fd28bf Added gimp_rectangle_tool_init() (and minor code cleanup).
2007-12-09  Martin Nordholts  <martinn@svn.gnome.org>

	* app/tools/gimprectangletool.[ch]: Added
	gimp_rectangle_tool_init() (and minor code cleanup).

	* app/tools/gimprectangleselecttool.c
	(gimp_rect_select_tool_init): Call gimp_rectangle_tool_init().

	* app/tools/gimpcroptool.c
	(gimp_crop_tool_init): Call gimp_rectangle_tool_init().

svn path=/trunk/; revision=24304
2007-12-09 09:38:34 +00:00
Michael Natterer
efda62544d renamed log domain TOOLS to TOOL_EVENTS and added domain TOOL_FOCUS.
2007-12-07  Michael Natterer  <mitch@gimp.org>

	* app/gimp-log.[ch]: renamed log domain TOOLS to TOOL_EVENTS and
	added domain TOOL_FOCUS.

	* app/display/gimpdisplayshell-callbacks.c: s/TOOLS/TOOL_EVENTS/

	* app/tools/gimptool.c: port focus debug output to GIMP_LOG().


svn path=/trunk/; revision=24287
2007-12-07 18:52:41 +00:00
Michael Natterer
58c2dd9bba added GErrors to gimp_selection_extract() and gimp_selection_float().
2007-12-07  Michael Natterer  <mitch@gimp.org>

	* app/core/gimpselection.[ch]: added GErrors to
	gimp_selection_extract() and gimp_selection_float().

	* app/core/gimp-edit.c
	* app/tools/gimpeditselectiontool.c
	* app/actions/select-commands.c: handle the returned error.

	* app/core/gimpdrawable-transform.c: pass NULL errors since this
	file knows what it does and won't get errors.

	* tools/pdbgen/pdb/selection.pdb: pass the error.

	* app/pdb/selection_cmds.c: regenerated.


svn path=/trunk/; revision=24286
2007-12-07 18:16:28 +00:00
Martin Nordholts
fddd27bc83 Also update the integer representation of the rect when the GObject
2007-12-06  Martin Nordholts  <martinn@svn.gnome.org>

	* app/tools/gimprectangletool.c
	(gimp_rectangle_tool_set_property): Also update the integer
	representation of the rect when the GObject properties has been
	set.

svn path=/trunk/; revision=24277
2007-12-06 20:55:10 +00:00
Michael Natterer
90606bc4fa add GError parameter.
2007-12-06  Michael Natterer  <mitch@gimp.org>

	* app/core/gimpdrawable-bucket-fill.[ch]: add GError parameter.

	* app/tools/gimpbucketfilltool.c: handle the returned error.

	* tools/pdbgen/pdb/edit.pdb: pass the error.

	* app/pdb/edit_cmds.c: regenerated.


svn path=/trunk/; revision=24275
2007-12-06 19:07:11 +00:00
William Skaggs
7c27d0d2eb Bill Skaggs <weskaggs@primate.ucdavis.edu>
* app/tools/gimprectangletool.c: initialize vars to quiet
	stupid compile warnings.

svn path=/trunk/; revision=24236
2007-11-27 19:28:38 +00:00
Martin Nordholts
c94eb4d170 Fix indentation.
2007-11-24  Martin Nordholts  <martinn@svn.gnome.org>

	* app/tools/gimprectangleoptions.c
	(gimp_rectangle_options_iface_base_init): Fix indentation.

svn path=/trunk/; revision=24227
2007-11-24 10:09:09 +00:00
Martin Nordholts
6e22ccd92a Renamed RECT_* identifiers of the GimpRectangleFunction enum to
2007-11-24  Martin Nordholts  <martinn@svn.gnome.org>

	* app/tools/gimprectangletool.[ch]: Renamed RECT_* identifiers of
	the GimpRectangleFunction enum to GIMP_RECTANGLE_TOOL_*.

	* app/tools/gimprectangleselecttool.c: Use the new names.

svn path=/trunk/; revision=24226
2007-11-24 09:27:55 +00:00
Martin Nordholts
4fee7a4e0e Ported the internal representation of the rectangle to gdouble:s instead
2007-11-24  Martin Nordholts  <martinn@svn.gnome.org>

	* app/tools/gimprectangletool.[ch]: Ported the internal
	representation of the rectangle to gdouble:s instead of
	gint:s. This solves problems like not being able to swap portrait
	for landscape on very small rectangle and bug #442027, as well as
	provides a nice base to solve other similar problems when they are
	discovered. It is possible to choose what precision the
	GimpRectangleTool:s will appear to have externally through a new
	GimpRectanglePrecision enum and property, but the gdouble
	precision mode still requires some work in order to be useful. In
	the processes quite some refactoring has taken place, mostly
	restructuring code and splitting larger functions into smaller
	more managable ones.
	(gimp_rectangle_tool_rect_rubber_banding_func)
	(gimp_rectangle_tool_setup_snap_offsets)
	(gimp_rectangle_tool_apply_fixed_rule)
	(gimp_rectangle_tool_update_int_rect)
	(gimp_rectangle_tool_get_public_rect): New helper functions.

	* app/tools/tools-enums.h: Added GimpRectanglePrecision.

svn path=/trunk/; revision=24224
2007-11-24 09:09:26 +00:00
Michael Natterer
46f2b44f5b forgot one bar.
svn path=/trunk/; revision=24220
2007-11-22 17:11:05 +00:00
Michael Natterer
8fba0a2f27 derive from GtkEventBox instead of GtkMisc, but use an input-only window.
2007-11-22  Michael Natterer  <mitch@gimp.org>

	* app/widgets/gimpcolorbar.[ch]: derive from GtkEventBox instead
	of GtkMisc, but use an input-only window.

	* app/tools/gimplevelstool.c: redirect the events of the color
	bars to te handle bars. The historgram dialog has this change
	already. Functionality should be 100% restored now.


svn path=/trunk/; revision=24218
2007-11-22 17:07:33 +00:00
Sven Neumann
dc5d601675 use gtk_widget_set_tooltip_text() from gimp_help_set_help() and added
2007-11-22  Sven Neumann  <sven@gimp.org>

	* libgimpwidgets/gimphelpui.[ch]: use
	gtk_widget_set_tooltip_text() from gimp_help_set_help() and added
	gimp_help_set_help_data_with_markup() for the cases where markup
	is needed.

	* libgimpwidgets/gimpwidgets.def: updated.

	* app/tools/gimpselectionoptions.c
	* app/widgets/gimpeditor.c
	* app/widgets/gimpwidgets-utils.c: use the new function where markup
	in tooltips is being used.

	* app/widgets/gimptoolbox-color-area.c: no need to escape the
	ampersand any longer.

svn path=/trunk/; revision=24217
2007-11-22 13:59:06 +00:00
Michael Natterer
fb0da885f4 use a GimpHandleBar also for the input frame, added a second adjustment
2007-11-22  Michael Natterer  <mitch@gimp.org>

	* app/tools/gimplevelstool.[ch]: use a GimpHandleBar also for the
	input frame, added a second adjustment for gamma and map between
	the linear and logarithmic gamma values in the adjustment
	callbacks, get rid of one GtkFrame just as in the histogram
	dialog. Still not finished since mouse events on the color bars
	are currently not handled.


svn path=/trunk/; revision=24214
2007-11-22 09:45:40 +00:00
Michael Natterer
f00af7fead use a GimpHandleBar widget for the output sliders. Removes a bunch of code
2007-11-20  Michael Natterer  <mitch@gimp.org>

	* app/tools/gimplevelstool.[ch]: use a GimpHandleBar widget for
	the output sliders. Removes a bunch of code already, more to
	come...


svn path=/trunk/; revision=24203
2007-11-20 17:24:37 +00:00
Martin Nordholts
9ddec7eb78 Cosmitics. More strictly align static function prototypes and consistently
2007-11-18  Martin Nordholts  <martinn@svn.gnome.org>

	* app/tools/gimprectangleselecttool.c: Cosmitics. More strictly
	align static function prototypes and consistently use the name
	rect_sel_tool for pointers to GimpRectSelectTool.

svn path=/trunk/; revision=24192
2007-11-18 21:26:52 +00:00
Sven Neumann
410a6ffabd plugged a memory leak.
2007-11-15  Sven Neumann  <sven@gimp.org>

	* app/tools/gimpselectionoptions.c (gimp_selection_options_gui):
	plugged a memory leak.

	* libgimpwidgets/gimpintstore.c (gimp_int_store_add_empty):
	initialize the iter to avoid using uninitialized memory.


svn path=/trunk/; revision=24169
2007-11-15 20:23:27 +00:00
Michael Natterer
ab465c742d add read-only property "frozen" and new API
2007-11-15  Michael Natterer  <mitch@gimp.org>

	* app/core/gimpviewable.[ch]: add read-only property "frozen" and
	new API gimp_viewable_preview_is_fozen(). Emit property notifications.

	* app/widgets/gimphistogramview.[ch]: add API to show a second
	histogram in the background. Remove member "light_histogram" from
	the GimpHistogramViewClass struct.

	* app/widgets/gimpcurveview.c: don't set "light_histogram".

	* app/tools/gimpcurvestool.c: set the background histogram instead.

	* app/widgets/gimphistogrameditor.[ch]: connect to "notify::frozen"
	of the drawable and show its histogram at the freezing point in
	the background. This way the original histogram is visible while
	we are doing color corrections.


svn path=/trunk/; revision=24159
2007-11-15 10:33:51 +00:00
Martin Nordholts
25ebadcd30 Avoid GimpRectangleTool internals to make use of its public own interface
2007-11-13  Martin Nordholts  <martinn@svn.gnome.org>

	Avoid GimpRectangleTool internals to make use of its public own
	interface by making gimp_rectangle_tool_get_other_side() work on
	pointers to members instead of GObject property names.

	* app/tools/gimprectangletool.c
	(gimp_rectangle_tool_set_other_side_coord)
	(gimp_rectangle_tool_get_other_side_coord): Use
	gimp_rectangle_tool_get_other_side() in the new way.

svn path=/trunk/; revision=24152
2007-11-13 21:30:45 +00:00
Martin Nordholts
f211ed5b59 Fixed warnings about negative rectangle widths/heights when toggling
2007-11-13  Martin Nordholts  <martinn@svn.gnome.org>

	Fixed warnings about negative rectangle widths/heights when
	toggling 'Fixed center' while rubber banding a rectangle.

	* app/tools/gimprectangletool.c
	(gimp_rectangle_tool_set_other_side_coord): Finnishing off with a
	call to gimp_rectangle_tool_check_function() as changing the
	coordinates of the opposite side might swap the orientation of the
	rectangle.

svn path=/trunk/; revision=24151
2007-11-13 21:15:57 +00:00
Michael Natterer
873cf2b53e Enable brush scaling for smudge (but only before, not while painting).
2007-11-13  Michael Natterer  <mitch@gimp.org>

	Enable brush scaling for smudge (but only before, not while
	painting). Fixes bug #471348.

	* app/paint/gimpbrushcore.[ch] (struct GimpBrushCoreClass): rename
	member "use_scale" to "handles_scaling_brush".

	(gimp_brush_core_calc_brush_scale): apply pressure scale only if
	both "handles_scaling_brush" and "use_pressure" are TRUE, and
	apply the scaling from the options unconditionally.

	(gimp_brush_core_get_paint_area): don't re-fetch core->scale if
	"handles_scaling_brush" is FALSE to keep the brush from scaling
	*while* painting.

	(gimp_brush_core_create_bound_segs): use the brush scale from the
	options unconditionally since that's always used now.

	* app/paint/gimpsmudge.c (gimp_smudge_brush_coords): use
	gimp_brush_scale_size() to figure the accum_buffer's size instead
	of using the brush mask's size directly.

	* app/tools/gimppaintoptions-gui.c (gimp_paint_options_gui): show
	the brush scale controls for all brush tools.


svn path=/trunk/; revision=24140
2007-11-13 09:30:46 +00:00
Martin Nordholts
49e2670eb6 Removed gimp_rectangle_tool_get_press_coords() as it doesn't make sense
2007-11-11  Martin Nordholts  <martinn@svn.gnome.org>

	* app/tools/gimprectangletool.[ch]: Removed
	gimp_rectangle_tool_get_press_coords() as it doesn't make sense
	for a rectangle tool interface to provide this functionality.
	Clients should take care of that themselves. Also adjusted
	internal code accordingly.

	* app/tools/gimprectangleselecttool.c: Remember the pressed
	coordinates on _button_press instead of asking GimpRectangleTool
	about it.

svn path=/trunk/; revision=24119
2007-11-11 14:00:48 +00:00
Martin Nordholts
6087b86675 Don't expose private instance members, use g_type_class_add_private()
2007-11-11  Martin Nordholts  <martinn@svn.gnome.org>

	* app/tools/gimprectangleselecttool.[ch]: Don't expose private
	instance members, use g_type_class_add_private() instead.

svn path=/trunk/; revision=24117
2007-11-11 11:45:07 +00:00
Martin Nordholts
760edd173d Updated comments to reflect current behaviour.
2007-11-11  Martin Nordholts  <martinn@svn.gnome.org>

	* app/tools/gimprectangletool.c
	(gimp_rectangle_tool_update_with_coord): Updated comments to
	reflect current behaviour.

svn path=/trunk/; revision=24116
2007-11-11 07:59:51 +00:00
Martin Nordholts
e157ac06b1 Lessen code bloat by removing code that manages center-[xy] properies of
2007-11-11  Martin Nordholts  <martinn@svn.gnome.org>

	* app/tools/gimprectangletool.c: Lessen code bloat by removing
	code that manages center-[xy] properies of GimpRectangleOptions.
	Instead use x1, y1 and x2, y2 when working with the rectangle
	center.

	* app/tools/gimprectangleoptions.[ch]: Removed "center-x" and
	"center-y" properties.

svn path=/trunk/; revision=24115
2007-11-11 07:44:17 +00:00
Michael Natterer
a9d29324ab app/tools/gimpairbrushtool.c (gimp_airbrush_tool_init) don't enable color
2007-11-10  Michael Natterer  <mitch@gimp.org>

	* app/tools/gimpairbrushtool.c (gimp_airbrush_tool_init)
	* app/tools/gimppenciltool.c (gimp_pencil_tool_init): don't enable
	color picking, it already gets enabled by the parent class.


svn path=/trunk/; revision=24109
2007-11-10 14:41:26 +00:00
Michael Natterer
a446f3d7fb use the new tooltip API instead of the old deprecated one. Removed
2007-11-09  Michael Natterer  <mitch@gimp.org>

	* libgimpwidgets/gimphelpui.[ch]: use the new tooltip API instead
	of the old deprecated one. Removed _gimp_help_init(). Remember
	whether tooltips are enabled or not in a local variable that can
	only be altered at startup time and not after. The API now expects
	markup instead of plain text which might cause warnings and
	perhaps needs to be changed.

	* libgimpwidgets/gimpwidgets-private.c: don't call _gimp_help_init().

	* app/config/gimpguiconfig.c: made show-tooltips a
	GIMP_CONFIG_PARAM_RESTART property.

	* app/widgets/gimptoolbox-color-area.c: don't add the tooltip here...

	* app/widgets/gimptoolbox.c: ...but here (as for all other
	indicators). Also escape '&' properly because we now use markup.

	* app/tools/gimpselectionoptions.c
	* app/widgets/gimpeditor.c
	* app/widgets/gimpwidgets-utils.c: print modifiers and
	shortcuts in bold instead of in ().

	* app/widgets/gimpcontainertreeview.c: show tooltips on rows if
	gimp_viewable_get_description() returns a tip.

	* app/dialogs/preferences-dialog.c
	* plug-ins/jpeg/jpeg-save.c
	* plug-ins/MapObject/mapobject_ui.c
	* plug-ins/Lighting/lighting_ui.c
	* plug-ins/common/animationplay.c
	* plug-ins/common/warp.c: no need to add event boxes just to have
	tooltips, the new ones work on all widgets.


svn path=/trunk/; revision=24093
2007-11-09 11:17:00 +00:00
Martin Nordholts
2ce790a8a5 Don't use any dead areas in narrow-mode, and adjust constants a bit.
2007-11-06  Martin Nordholts  <martinn@svn.gnome.org>

	* app/tools/gimprectangletool.c
	(gimp_rectangle_tool_update_handle_sizes): Don't use any dead
	areas in narrow-mode, and adjust constants a bit.

	* app/tools/gimpdrawtool.c (gimp_draw_tool_draw_corner): Adjusted
	to always draw side handles in narrow mode without dead areas.

svn path=/trunk/; revision=24077
2007-11-06 22:04:18 +00:00
Martin Nordholts
bd1db1a1c8 Bail out early if the rectangle function is RECT_DEAD. This prevents
2007-11-05  Martin Nordholts  <martinn@svn.gnome.org>

	* app/tools/gimprectangletool.c (gimp_rectangle_tool_motion): Bail
	out early if the rectangle function is RECT_DEAD. This prevents
	flickering.

svn path=/trunk/; revision=24071
2007-11-05 20:24:11 +00:00
Martin Nordholts
0e70d5f5a7 also don't show the shell highlight when a rectangle is being moved.
2007-11-05  Martin Nordholts  <martinn@svn.gnome.org>

	* app/tools/gimprectangletool.c: also don't show the shell
	highlight when a rectangle is being moved. Achieved through
	slightly modifying code logic and renaming variables and functions
	a bit.

svn path=/trunk/; revision=24070
2007-11-05 20:17:56 +00:00
Michael Natterer
21b3675ea8 don't recalculate the curve if the data object is frozen. Recalculate on
2007-11-05  Michael Natterer  <mitch@gimp.org>

	* app/core/gimpcurve.[ch]: don't recalculate the curve if the data
	object is frozen. Recalculate on thaw instead. Made
	gimp_curve_calculate() private and emit some GimpData::dirty
	signals where appropriate.

	* app/tools/gimpcurvestool.c
	* app/widgets/gimpcurveview.c
	* tools/pdbgen/pdb/color.pdb: changed accodingly (connect to "dirty"
	instead of "notify" and added some freeze/thaw where approproate).

	* app/pdb/color_cmds.c: regenerated.


svn path=/trunk/; revision=24063
2007-11-05 10:02:20 +00:00
Michael Natterer
2d827be2f3 added event handling and completely edit the curve here.
2007-11-05  Michael Natterer  <mitch@gimp.org>

	* app/widgets/gimpcurveview.[ch]: added event handling and
	completely edit the curve here.

	* app/tools/gimpcurvestool.[ch]: remove all event handling and
	curve editing code and only listen to curve signals.


svn path=/trunk/; revision=24060
2007-11-05 08:59:09 +00:00
Martin Nordholts
a07756d894 Do not do shell darkening while GimpRectangleTool rectangles are being
2007-11-04  Martin Nordholts  <martinn@svn.gnome.org>

	Do not do shell darkening while GimpRectangleTool rectangles are
	being rubber-banded.

	* app/tools/gimprectangletool.c
	(gimp_rectangle_tool_button_press)
	(gimp_rectangle_tool_button_release): Maintain a variable keeping
	track of if the rectangle is being rubber banded or not.
	(gimp_rectangle_tool_update_highlight): Do not set a shell
	highligt if the rectangle is being rubber-banded.
	(gimp_rectangle_tool_rubber_banding_func): New helper function.

svn path=/trunk/; revision=24059
2007-11-04 21:26:01 +00:00
Sven Neumann
982ae0eb0c minor cleanup.
2007-11-04  Sven Neumann  <sven@gimp.org>

	* app/tools/gimplevelstool.c (levels_input_area_event): minor 
cleanup.


svn path=/trunk/; revision=24055
2007-11-04 14:53:38 +00:00
Martin Nordholts
587b350b36 Consistently use the name rect_tool' instead of rectangle' or
2007-11-04  Martin Nordholts  <martinn@svn.gnome.org>

	* app/tools/gimprectangletool.c: Consistently use the name
	`rect_tool' instead of `rectangle' or `rectangle_tool' for
	pointers to GimpRectangleTool.

svn path=/trunk/; revision=24054
2007-11-04 14:47:48 +00:00
Martin Nordholts
c902d7bc74 Put GimpRectangleTool handles on the outside of the rectangle when it has
2007-11-04  Martin Nordholts  <martinn@svn.gnome.org>

	Put GimpRectangleTool handles on the outside of the rectangle when
	it has a small width or height. Some polishing left to do but the
	base functionality works nicely.

	* app/tools/gimpdrawtool.[ch] (gimp_draw_tool_draw_corner): Add a
	put_outside boolean parameter that if true draws the handles on
	the outside of the rectangle.

	* app/tools/gimprectangletool.c
	(gimp_rectangle_tool_update_handle_sizes)
	(gimp_rectangle_tool_coord_on_handle)
	(gimp_rectangle_tool_draw): Take into account if the rectangle is
	in narrow-mode or not.

svn path=/trunk/; revision=24053
2007-11-04 14:10:56 +00:00
Michael Natterer
ae1f2eb2bc app/widgets/Makefile.am app/widgets/widgets-types.h new GimpHistogramView
2007-11-04  Michael Natterer  <mitch@gimp.org>

	* app/widgets/Makefile.am
	* app/widgets/widgets-types.h
	* app/widgets/gimpcurveview.[ch]: new GimpHistogramView subclass
	which does all the curve stuff.

	* app/widgets/gimphistorgramview.[ch]: removed all curve code again.

	* app/tools/gimpcurvestool.c: changed accordingly.


svn path=/trunk/; revision=24051
2007-11-04 13:09:10 +00:00
Michael Natterer
6c64c64b07 added API to set the selected point.
2007-11-02  Michael Natterer  <mitch@gimp.org>

	* app/widgets/gimphistogramview.[ch]: added API to set the
	selected point.

	* app/tools/gimpcurvestool.c: use it.


svn path=/trunk/; revision=24046
2007-11-02 17:08:42 +00:00
Michael Natterer
e5927feba1 added API to modify free-form curves and properties to listen to curve
2007-11-02  Michael Natterer  <mitch@gimp.org>

	* app/core/gimpcurve.[ch]: added API to modify free-form curves
	and properties to listen to curve changes.

	* app/widgets/gimphistogramview.[ch]: added everything that's
	needed for rendering a curve with all its color and cursor
	indicators on top of a histogram. This code will move to a
	subclass soon.

	* app/tools/gimpcurvestool.[ch]: removed all curve rendering here.
	Also removed all explicit updating by connecting to curve signals
	and updating in the callback.


svn path=/trunk/; revision=24045
2007-11-02 16:51:18 +00:00
Michael Natterer
5dd23ae18b app/core/Makefile.am app/core/core-types.h app/core/gimpcurve-save.[ch]
2007-11-02  Michael Natterer  <mitch@gimp.org>

	* app/core/Makefile.am
	* app/core/core-types.h
	* app/core/gimpcurve-save.[ch]
	* app/core/gimpcurve-load.[ch]
	* app/core/gimpcurve.[ch]: new GimpData subclass which keeps a
	curve as known from the curves tool. Pretty much unfinished, but
	can do everything that used to be done by base/curves.c and more.

	* app/base/curves.[ch]: stripped down to plain arrays of
	uchar (the actual curve) and the LUT setup function. All the rest
	is done by GimpCurve now.

	* app/tools/gimpcurvestool.[ch]: use an array of GimpCurves
	instead of the old Curves cruft. Use Curves only for the last step
	of creating the LUT. Pretty much unfinished migration here too.

	* tools/pdbgen/pdb/color.pdb: use a GimpCurve here too.

	* app/pdb/color_cmds.c: regenerated.


svn path=/trunk/; revision=24041
2007-11-02 12:18:50 +00:00
Michael Natterer
de65da8d96 depend on glib 2.14.1
2007-10-31  Michael Natterer  <mitch@gimp.org>

	* configure.in: depend on glib 2.14.1

	* app/tools/gimpdrawtool.c
	* app/vectors/gimpvectors-import.c: use g_slice_dup() instead of
	g_slice_new() and memcpy().


svn path=/trunk/; revision=24014
2007-10-31 10:59:44 +00:00
Michael Natterer
ba62d2b9d3 some general indentation, spacing and coding style convention paranoia
2007-10-31  Michael Natterer  <mitch@gimp.org>

	* app/tools/gimprectangletool.c: some general indentation, spacing
	and coding style convention paranoia cleanups.

	(gimp_rectangle_tool_get_constraints): set all return values also
	when bailing out early to avoid valgrind warnings about
	uninitialized memory.


svn path=/trunk/; revision=24009
2007-10-31 10:36:03 +00:00
Martin Nordholts
1c8d6bb8ce Update the selection when Rounded corners is toggled or the radius is
2007-10-30  Martin Nordholts  <martinn@svn.gnome.org>

	* app/tools/gimprectangleselecttool.c
	(gimp_rect_select_tool_round_corners_notify): Update the selection
	when Rounded corners is toggled or the radius is changed as
	discussed in bug #418284.

svn path=/trunk/; revision=23991
2007-10-30 17:13:10 +00:00
Sven Neumann
81d38532a2 Fix drawing of straight lines using the Shift key and a tablet (bug
2007-10-30  Sven Neumann  <sven@gimp.org>

	Fix drawing of straight lines using the Shift key and a tablet
	(bug #164240):

	* app/tools/gimppainttool.c (gimp_paint_tool_button_press): set
	use_pressure to FALSE when drawing a straight line.

	* app/paint/gimppaintbrush.c (_gimp_paintbrush_motion): respect
	the use_pressure flag.

svn path=/trunk/; revision=23988
2007-10-30 11:24:08 +00:00
Sven Neumann
96a46d0d70 Fix bug #491272 (no cursor drawn for small brush sizes):
2007-10-29  Sven Neumann  <sven@gimp.org>

	Fix bug #491272 (no cursor drawn for small brush sizes):

	* app/tools/gimpbrushtool.[ch]
	(gimp_brush_tool_draw_brush): don't draw the brush outline if it
	becomes too small. Instead draw a small cross, but only if
	"draw_fallback" was passed as TRUE.
	(gimp_brush_tool_draw_brush): pass TRUE for "draw_fallback" if
	cursor drawing is disabled for the paint tools.

	* app/tools/gimpsourcetool.c (gimp_source_tool_draw): pass FALSE
	for "draw_fallback".

	* app/tools/gimpdrawtool.c (gimp_draw_tool_draw_cross_by_anchor):
	draw a symmetric cross for odd handle sizes.

svn path=/trunk/; revision=23984
2007-10-29 17:17:14 +00:00
Sven Neumann
3057677e59 initialize variables to suppress a compiler warning.
2007-10-29  Sven Neumann  <sven@gimp.org>

	* app/tools/gimprectangletool.c (gimp_rectangle_tool_coord_on_handle):
	initialize variables to suppress a compiler warning.

svn path=/trunk/; revision=23983
2007-10-29 17:11:17 +00:00
Martin Nordholts
7bf0fb645f Renamed handle_[wh] to corner_handle_[wh] since that are the appropriate
2007-10-26  Martin Nordholts  <martinn@svn.gnome.org>

	* app/tools/gimprectangletool.c (struct GimpRectangleToolPrivate):
	Renamed handle_[wh] to corner_handle_[wh] since that are the
	appropriate names.

svn path=/trunk/; revision=23960
2007-10-26 21:07:45 +00:00
Martin Nordholts
5e2f39b645 Use new helper functions to decide if the cursor is on a handle (or
2007-10-26  Martin Nordholts  <martinn@svn.gnome.org>

	* app/tools/gimprectangletool.c (gimp_rectangle_tool_oper_update):
	Use new helper functions to decide if the cursor is on a
	handle (or outside of the rectangle + handle bounds) to ease the
	introduction of having handles on the outside of the pending
	rectangle.
	(gimp_rectangle_tool_coord_outside)
	(gimp_rectangle_tool_coord_on_handle): New helper functions.

svn path=/trunk/; revision=23959
2007-10-26 20:58:08 +00:00
Sven Neumann
5ec574ba37 Reenabled update of the histogram while doing color corrections (bug
2007-10-26  Sven Neumann  <sven@gimp.org>

	Reenabled update of the histogram while doing color corrections
	(bug 490182):

	* app/core/gimpviewable.[ch]: added new methods preview_freeze()
	and preview_thaw().

	* app/core/gimpimagemap.c
	(gimp_image_map_new): freeze the drawable preview.
	(gimp_image_map_dispose): thaw the  drawable preview.
	(gimp_image_map_do): update the drawable, not the image.

	* app/tools/gimpimagemaptool.c (gimp_image_map_tool_response): no
	need to invalidate the drawable preview any longer.

svn path=/trunk/; revision=23956
2007-10-26 14:42:58 +00:00
Martin Nordholts
c40518f33a Aligned static function prototypes.
2007-10-25  Martin Nordholts  <martinn@svn.gnome.org>

	* app/tools/gimprectangletool.c: Aligned static function
	prototypes.

svn path=/trunk/; revision=23951
2007-10-25 20:43:51 +00:00
Martin Nordholts
3f1d817eb6 Tiny cosmetic change on the ClampedSide enum definition.
2007-10-25  Martin Nordholts  <martinn@svn.gnome.org>

	* app/tools/gimprectangletool.c: Tiny cosmetic change on the
	ClampedSide enum definition.

svn path=/trunk/; revision=23950
2007-10-25 20:28:23 +00:00
Sven Neumann
8e880ebb68 changed aspect ratio of the wrap-box used for the "Pressure sensitivity"
2007-10-22  Sven Neumann  <sven@gimp.org>

	* app/tools/gimppaintoptions-gui.c: changed aspect ratio of the
	wrap-box used for the "Pressure sensitivity" controls to make 
them
	fit better into the tool-options.


svn path=/trunk/; revision=23910
2007-10-22 18:27:31 +00:00
Sven Neumann
5e33911ec2 don't draw the source brush outline while selecting a new source location
2007-10-22  Sven Neumann  <sven@gimp.org>

	* app/tools/gimpsourcetool.[ch]: don't draw the source brush
	outline while selecting a new source location (bug #488839).

svn path=/trunk/; revision=23902
2007-10-22 10:24:41 +00:00
Sven Neumann
a5fa311290 removed a frame.
2007-10-17  Sven Neumann  <sven@gimp.org>

	* app/tools/gimpselectionoptions.c: removed a frame.

	* app/tools/gimptransformoptions.c: tweaked layout to reduce
	horizontal extent.

	* app/widgets/gimpviewablebox.c (gradient_box_new): use an icon
	for the "Reverse" check button.

svn path=/trunk/; revision=23857
2007-10-17 14:36:12 +00:00
Michael Natterer
17eb0c6934 honor the "show-pixels" and "show-percent" properties of the unit param
2007-10-16  Michael Natterer  <mitch@gimp.org>

	* libgimpwidgets/gimppropwidgets.c (gimp_prop_size_entry_new):
	honor the "show-pixels" and "show-percent" properties of the unit
	param spec.

	* app/tools/gimprectangletool.c (gimp_rectangle_tool_start): set
	the image's width/height on the size entries so the percent unit
	works correctly.


svn path=/trunk/; revision=23852
2007-10-16 15:39:56 +00:00
Sven Neumann
c612cd379e changed "Show interactive boundary" to "Interactive boundary".
2007-10-16  Sven Neumann  <sven@gimp.org>

	* app/tools/gimpselectionoptions.c (gimp_selection_options_gui):
	changed "Show interactive boundary" to "Interactive boundary".

	* app/tools/gimptextoptions.c: align the color panel with the
	button box below it.

svn path=/trunk/; revision=23851
2007-10-16 15:29:42 +00:00
Sven Neumann
8783fb5be8 reduced width of the tool options.
2007-10-16  Sven Neumann  <sven@gimp.org>

	* app/tools/gimpaligntool.c: reduced width of the tool options.

svn path=/trunk/; revision=23850
2007-10-16 15:07:56 +00:00
Sven Neumann
e4c6b1a8dc changed "Create Path from Text" to "Path from Text".
2007-10-16  Sven Neumann  <sven@gimp.org>

	* app/tools/gimptextoptions.c (gimp_text_options_gui): changed
	"Create Path from Text" to "Path from Text".

svn path=/trunk/; revision=23846
2007-10-16 14:38:51 +00:00
Sven Neumann
331ad62d22 Changed "Create Selection from Path" to "Selection from Path".
2007-10-16  Sven Neumann  <sven@gimp.org>

	* app/tools/gimpvectoroptions.c (gimp_vector_options_gui):
	Changed "Create Selection from Path" to "Selection from Path".

svn path=/trunk/; revision=23845
2007-10-16 14:31:48 +00:00
Michael Natterer
74be00e0b6 redid the x, y, width and height entries according to a mockup from peter.
2007-10-16  Michael Natterer  <mitch@gimp.org>

	* app/tools/gimprectangleoptions.c: redid the x, y, width and
	height entries according to a mockup from peter.


svn path=/trunk/; revision=23843
2007-10-16 14:24:08 +00:00
Sven Neumann
f72606f09b more translator comments
svn path=/trunk/; revision=23835
2007-10-15 20:53:41 +00:00
Sven Neumann
46fa984a2d added translator comment for the string "Current". Changed "Auto Shrink
2007-10-15  Sven Neumann  <sven@gimp.org>

	* app/tools/gimprectangleoptions.c: added translator comment for 
the
	string "Current". Changed "Auto Shrink Selection" to "Auto 
Shrink".


svn path=/trunk/; revision=23834
2007-10-15 20:49:27 +00:00
Martin Nordholts
8690e913a7 Use gimp_vectors_bounds() instead of gimp_item_offsets|width|height() when
2007-10-15  Martin Nordholts  <martinn@svn.gnome.org>

	* app/tools/gimpaligntool.c (gimp_align_tool_draw): Use
	gimp_vectors_bounds() instead of gimp_item_offsets|width|height()
	when calculating bounding rectangle for a path. Part of a fix for
	bug #486517.

svn path=/trunk/; revision=23832
2007-10-15 17:58:58 +00:00
Michael Natterer
6a6591b457 split the "unit" property into "position-unit" and "size-unit" and added a
2007-10-15  Michael Natterer  <mitch@gimp.org>

	* app/tools/gimprectangleoptions.[ch]: split the "unit" property
	into "position-unit" and "size-unit" and added a unit menu to the
	position widget group. UI pending further changes...


svn path=/trunk/; revision=23831
2007-10-15 16:47:07 +00:00
Michael Natterer
2d4ce38ae4 moved the "Highlight" toggle down to the "Guides" combo.
2007-10-15  Michael Natterer  <mitch@gimp.org>

	* app/tools/gimprectangleoptions.c (gimp_rectangle_options_gui):
	moved the "Highlight" toggle down to the "Guides" combo.


svn path=/trunk/; revision=23830
2007-10-15 16:34:58 +00:00
Michael Natterer
a16e2c9a9f added the x and y size entries to the GimpRectangleOptionPrivate struct.
2007-10-15  Michael Natterer  <mitch@gimp.org>

	* app/tools/gimprectangleoptions.[ch]: added the x and y size
	entries to the GimpRectangleOptionPrivate struct.

	* app/tools/gimprectangletool.c (gimp_rectangle_tool_start): set
	the image's resolution on the x, y, width and height size entries.


svn path=/trunk/; revision=23829
2007-10-15 16:26:05 +00:00
Michael Natterer
3b2fa02a6e Reduced the Width: and Height: labels to W: and H:. Please check and
2007-10-14  Michael Natterer  <mitch@gimp.org>

	* app/tools/gimprectangleoptions.c (gimp_rectangle_options_gui):
	Reduced the Width: and Height: labels to W: and H:. Please check
	and comment, we need some solution for this group of widgets
	including the unit menu.


svn path=/trunk/; revision=23825
2007-10-14 20:24:57 +00:00
Michael Natterer
9003166a10 enable the unit menu on the "Height" entry. Looks like crap and needs to
2007-10-14  Michael Natterer  <mitch@gimp.org>

	* app/tools/gimprectangleoptions.c (gimp_rectangle_options_gui):
	enable the unit menu on the "Height" entry. Looks like crap and
	needs to be changed, but the unit functionality is almost complete
	now.


svn path=/trunk/; revision=23824
2007-10-14 20:15:50 +00:00
Michael Natterer
c5d70d901f Fix last commit.
svn path=/trunk/; revision=23823
2007-10-14 19:55:10 +00:00
Michael Natterer
1e71a30ce3 renamed properties x0 and y0 to x and y. Also reordered all property code
2007-10-14  Michael Natterer  <mitch@gimp.org>

	* app/tools/gimprectangleoptions.[ch]: renamed properties x0 and
	y0 to x and y. Also reordered all property code to be in the same
	order and added some empty lines to group the properties.

	* app/tools/gimprectangletool.c: changed accordingly.


svn path=/trunk/; revision=23822
2007-10-14 19:48:56 +00:00
Michael Natterer
0a824ddba0 added parameter "gboolean property_is_pixel" which indicates that the
2007-10-14  Michael Natterer  <mitch@gimp.org>

	* libgimpwidgets/gimppropwidgets.[ch] (gimp_prop_size_entry_new):
	added parameter "gboolean property_is_pixel" which indicates that
	the stored property value is always in pixels and not in the
	selected unit.

	* app/tools/gimptextoptions.c
	* app/widgets/gimpstrokeeditor.c: pass FALSE to keep the old
	behavior.

	* app/tools/gimprectangleoptions.c (gimp_rectangle_options_gui):
	added property "fixed-unit" which is used for all fixed values
	now. Perhaps we need separate units for width/height/size. Enable
	the unit menu on the "Width" and "Height" size entries of the
	"Fixed" section and configure them to store the value in
	pixels. This was the easy part, some other widgets still need unit
	support.

	* app/tools/gimprectangletool.c (gimp_rectangle_tool_start): set
	the image's resolution on the size entries changed above.


svn path=/trunk/; revision=23821
2007-10-14 18:51:58 +00:00
Raphael Quinet
a76ec5c8aa Re-wrote the cursor handling logic, added cursor modifiers, added hints in
2007-10-14  Raphael Quinet  <raphael@gimp.org>

	* app/tools/gimpaligntool.[ch]: Re-wrote the cursor handling
	logic, added cursor modifiers, added hints in the status bar in
	order to make it easier to discover how to use the tool.  Adds new
	translatable strings, fixes bug #486110.

svn path=/trunk/; revision=23819
2007-10-14 08:54:19 +00:00
Martin Nordholts
09516e5837 When Fixed: Size/Aspect ratio numbers are swapped and the Fixed:-rule is
2007-10-14  Martin Nordholts  <martinn@svn.gnome.org>

	* app/tools/gimprectangletool.c
	(gimp_rectangle_tool_options_notify): When Fixed: Size/Aspect
	ratio numbers are swapped and the Fixed:-rule is active, swap
	width and height on any pending rectangle. Fixed bug #479999.

svn path=/trunk/; revision=23818
2007-10-14 08:26:18 +00:00
Martin Nordholts
9305d2a1cc Use ROUND() not round().
2007-10-13  Martin Nordholts  <martinn@svn.gnome.org>

	* app/tools/gimprectangletool.c
	(gimp_rectangle_tool_apply_aspect): Use ROUND() not round().

svn path=/trunk/; revision=23816
2007-10-13 12:14:46 +00:00
Martin Nordholts
de694a5de3 Use round() when solving the aspect ratio equations as this produces more
2007-10-13  Martin Nordholts  <martinn@svn.gnome.org>

	* app/tools/gimprectangletool.c
	(gimp_rectangle_tool_apply_aspect): Use round() when solving the
	aspect ratio equations as this produces more accurate results.

svn path=/trunk/; revision=23811
2007-10-13 10:17:50 +00:00
Michael Natterer
68af3a33eb massively simplified the fixed rule widget showing/hiding, fixed their
2007-10-12  Michael Natterer  <mitch@gimp.org>

	* app/tools/gimprectangleoptions.[ch]: massively simplified the
	fixed rule widget showing/hiding, fixed their spacing, make sure
	they don't cause UI resizing on rule change.


svn path=/trunk/; revision=23809
2007-10-12 13:00:55 +00:00
Sven Neumann
f6863a0ef7 left-align the size entries.
2007-10-11  Sven Neumann  <sven@gimp.org>

	* app/tools/gimprectangleoptions.c (gimp_rectangle_options_gui):
	left-align the size entries.

svn path=/trunk/; revision=23804
2007-10-11 17:02:54 +00:00
Michael Natterer
45ca11b324 if we need to delete/create tools on button press because the active tool
2007-10-11  Michael Natterer  <mitch@gimp.org>

	* app/display/gimpdisplayshell-callbacks.c
	(gimp_display_shell_canvas_tool_events): if we need to
	delete/create tools on button press because the active tool
	doesn't support changing drawables, make sure the newly created
	tool gets its focus_display and modifier states set correctly.
	Fixes bug #485119. Improved disabled debug output.

	* app/tools/gimptool.c: stylistic cleanup in debug output.


svn path=/trunk/; revision=23803
2007-10-11 15:25:28 +00:00
Sven Neumann
8560f25665 an object can access its own private struct directly.
2007-10-10  Sven Neumann  <sven@gimp.org>

	* app/tools/gimprectangleoptions.c
	(gimp_rectangle_options_string_current_updates): an object can
	access its own private struct directly.


svn path=/trunk/; revision=23791
2007-10-10 06:20:01 +00:00
Martin Nordholts
d583686878 Connect a new function gimp_rectangle_options_string_current_updates()
2007-10-09  Martin Nordholts  <martinn@svn.gnome.org>

	* app/tools/gimprectangleoptions.[ch]: Connect a new function
	gimp_rectangle_options_string_current_updates() that updates the
	Fixed: Aspect entry with a 'Current' string when aspect of the
	current pending rectangle is used, and sets sensitivity FALSE on
	aspect ratio changing buttons when that string is shown. Prevents
	the confusion mentioned in bug #479999.

	A new Rectangle Options property 'use-string-current' has been
	added that should be refactored away from the options object along
	with references to option widgets.

	* app/tools/gimprectangleselecttool.c
	(gimp_rect_select_tool_update_option_defaults): Set default Fixed:
	Aspect ratio to that of the pending rectangle, and always have
	default Fixed: Size as 100x100.

	* app/tools/gimpcroptool.c
	(gimp_crop_tool_update_option_defaults): Always have default
	Fixed: Size 100x100.

	* libgimpwidgets/gimpnumberpairentry.[ch]
	(gimp_number_pair_entry_class_init): Add a new property
	'default-text' that contains text to be shown instead of numbers
	when default numbers are to be shown.
	(gimp_number_pair_entry_get_default_text)
	(gimp_number_pair_entry_set_default_text): Getter and setter for
	it.

	* libgimpwidgets/gimpwidgets.def: Updated.

svn path=/trunk/; revision=23788
2007-10-09 20:54:07 +00:00
Sven Neumann
e51e8d9a05 app/core/gimpitem.c app/tools/gimprectangletool.c fixed ambiguous gtk-doc
2007-10-09  Sven Neumann  <sven@gimp.org>

	* app/core/gimpitem.c
	* app/tools/gimprectangletool.c
	* app/tools/tools-utils.c: fixed ambiguous gtk-doc comments.

svn path=/trunk/; revision=23779
2007-10-09 15:59:04 +00:00
Sven Neumann
6136c89051 implement button_release and stop the draw tool when in adjust mode. Fixes
2007-10-08  Sven Neumann  <sven@gimp.org>

	* app/tools/gimpperspectiveclonetool.c: implement button_release
	and stop the draw tool when in adjust mode. Fixes bug #483912.

	(gimp_perspective_clone_tool_mode_notify): start the draw tool.


svn path=/trunk/; revision=23770
2007-10-08 21:41:00 +00:00
Sven Neumann
8978ae84dd cosmetics.
2007-10-08  Sven Neumann  <sven@gimp.org>

	* app/tools/gimpperspectiveclonetool.c: cosmetics.


svn path=/trunk/; revision=23769
2007-10-08 20:23:51 +00:00
Sven Neumann
82edc4b4a6 check that there are segments to draw before calling
2007-10-06  Sven Neumann  <sven@gimp.org>

	* app/tools/gimpeditselectiontool.c 
(gimp_edit_selection_tool_draw):
	check that there are segments to draw before calling
	gimp_draw_tool_draw_boundary().


svn path=/trunk/; revision=23750
2007-10-06 18:09:00 +00:00
Martin Nordholts
0ad8adf1b5 Reverted commits for bug #479426, it's NOTABUG.
2007-09-23  Martin Nordholts  <martinn@svn.gnome.org>

	* app/tools/gimprectangleselecttool.c: Reverted commits for
	bug #479426, it's NOTABUG.

svn path=/trunk/; revision=23627
2007-09-23 12:25:16 +00:00
Martin Nordholts
386f9c69ca New name for gimp_rect_select_selection_visible() which has been changed
2007-09-23  Martin Nordholts  <martinn@svn.gnome.org>

	* app/tools/gimprectangleselecttool.c
	(gimp_rect_select_tool_should_draw): New name for
	gimp_rect_select_selection_visible() which has been changed to
	always return TRUE when the tool is active, i.e. when a rectangle
	is being create or resized. Better fix for bug #479426.

svn path=/trunk/; revision=23623
2007-09-23 07:55:30 +00:00
Martin Nordholts
1444b854e7 Only draw the rectangle when Show selection' is true', with the help of
2007-09-23  Martin Nordholts  <martinn@svn.gnome.org>

	* app/tools/gimprectangleselecttool.c
	(gimp_rect_select_tool_draw): Only draw the rectangle when `Show
	selection' is `true', with the help of a new function
	gimp_rect_select_tool_selection_visible(). Fixes bug #474509.

svn path=/trunk/; revision=23621
2007-09-23 07:26:52 +00:00
Martin Nordholts
cd5a441610 Add an allow-growing option.
2007-09-22  Martin Nordholts  <martinn@svn.gnome.org>

	* app/tools/gimpcropoptions.[ch]: Add an allow-growing option.

	* app/tools/gimpcroptool.c: Take the new allow-growing option into
	account when setting crop rectangle constraints, and restructure
	the code a bit.
	(gimp_crop_tool_execute): Allow rectangles larger than the
	image/layer being sent to gimp_image_crop() since that function
	handles that fine. These changes fixes bug #368325.

svn path=/trunk/; revision=23616
2007-09-22 18:55:14 +00:00
Martin Nordholts
7b65c24e35 Enforce constraints of any pending rectangle when setting a constraint.
2007-09-22  Martin Nordholts  <martinn@svn.gnome.org>

	* app/tools/gimprectangletool.c
	(gimp_rectangle_tool_set_constraint): Enforce constraints of any
	pending rectangle when setting a constraint.

svn path=/trunk/; revision=23615
2007-09-22 18:20:29 +00:00
Michael Natterer
ec11dbc1a1 remove FOO_DISABLE_DEPRECATED for only glib >= 2.15 and gtk+ >= 2.13, GIMP
2007-09-13  Michael Natterer  <mitch@gimp.org>

	* configure.in: remove FOO_DISABLE_DEPRECATED for only glib >= 2.15
	and gtk+ >= 2.13, GIMP builds fine against the 2.14 and 2.12 APIs
	apart from:

	* app/tools/gimpselectionoptions.c
	* libgimpwidgets/gimphelpui.c: undef GTK_DISABLE_DEPRECATED because
	GtkTooltips is deprecated in gtk+ 2.12.

	* libgimp/gimpui.c
	* plug-ins/common/pat.c: the address of an array is always
	non-NULL, no need to check for that. Fixes new gcc warnings.


svn path=/trunk/; revision=23522
2007-09-13 10:44:07 +00:00
Sven Neumann
1954ee81fe use the offsets module TILE_WIDTH and TILE_HEIGHT instead of doing the
2007-09-12  Sven Neumann  <sven@gimp.org>

	* app/base/tile.c (tile_data_pointer): use the offsets module
	TILE_WIDTH and TILE_HEIGHT instead of doing the module operation
	in each and every caller.

	* app/base/boundary.c
	* app/base/pixel-region.c
	* app/base/tile-manager.c
	* app/core/gimpchannel.c
	* app/core/gimpdrawable-blend.c
	* app/core/gimpdrawable.c
	* app/core/gimpimage-contiguous-region.c
	* app/core/gimplayer.c
	* app/display/gimpdisplayshell-render.c
	* app/paint-funcs/paint-funcs.c
	* app/paint/gimppaintcore.c
	* app/tools/gimpiscissorstool.c: changed accordingly.


svn path=/trunk/; revision=23515
2007-09-12 18:29:11 +00:00
Sven Neumann
77b7161a32 app/core/gimp-transform-region.[ch] app/core/gimpchannel.c
2007-09-10  Sven Neumann  <sven@gimp.org>

	* app/core/gimp-transform-region.[ch]
	* app/core/gimpchannel.c
	* app/core/gimpdrawable-transform.[ch]
	* app/core/gimpdrawable.c
	* app/core/gimpimage-item-list.[ch]
	* app/core/gimpitem-linked.[ch]
	* app/core/gimpitem.[ch]
	* app/core/gimplayer.c
	* app/paint/gimpperspectiveclone.c
	* app/vectors/gimpvectors.c: removed supersample parameter from
	transform functions and perform it depending on the interpolation
	type (bug #473265).

	* app/tools/gimptransformoptions.[ch]
	* app/tools/gimptransformtool.c: removed Supersample toggle from
	the transform tool options.

	* tools/pdbgen/pdb/drawable_transform.pdb
	* tools/pdbgen/pdb/transform_tools.pdb: document that the
	supersample parameter is unused and improved documentation of the
	recursion-level parameter.

	* app/pdb/transform_tools_cmds.c
	* app/pdb/drawable_transform_cmds.c
	* libgimp/gimpdrawabletransform_pdb.c: regenerated.

svn path=/trunk/; revision=23494
2007-09-10 15:29:48 +00:00
Sven Neumann
5062ba3e30 removed unused variable.
2007-09-10  Sven Neumann  <sven@gimp.org>

	* app/tools/gimpperspectiveclonetool.c
	(gimp_perspective_clone_tool_motion): removed unused variable.


svn path=/trunk/; revision=23493
2007-09-10 14:48:08 +00:00
Sven Neumann
626ca3fce0 removed unused variable.
2007-09-08  Sven Neumann  <sven@gimp.org>

	* app/tools/gimpforegroundselecttoolundo.c: removed unused 
variable.


svn path=/trunk/; revision=23479
2007-09-08 15:31:23 +00:00
Martin Nordholts
dd7fa05cdc Call gimp_rectangle_tool_rectangle_changed after 'Auto shrink selection',
2007-09-06  Martin Nordholts  <martinn@svn.gnome.org>

	* app/tools/gimprectangletool.c (gimp_rectangle_tool_auto_shrink):
	Call gimp_rectangle_tool_rectangle_changed after 'Auto shrink
	selection', and recalculate handle sizes. Fixes bug #474344.

svn path=/trunk/; revision=23471
2007-09-06 20:38:11 +00:00
Martin Nordholts
ce21737d37 New function to update default values for Fixed: Size. This function is
2007-09-02  Martin Nordholts  <martinn@svn.gnome.org>

	* app/tools/gimprectangleselecttool.c
	(gimp_rect_select_tool_update_option_defaults): New function to
	update default values for Fixed: Size. This function is called to
	update defaults values for Fixed: Size to that of the pending
	rectangle width x height if there is one, or 100x100 otherwise.

	* app/tools/gimpcroptool.c
	(gimp_crop_tool_update_option_defaults): Set Fixed: Size to the
	size of the pending crop rectangle, or 100x100 if there is none.

svn path=/trunk/; revision=23440
2007-09-02 04:39:17 +00:00
Martin Nordholts
63fbdc2600 Generalize the default Fixed: Aspect ratio option setting code so that it
2007-09-01  Martin Nordholts  <martinn@svn.gnome.org>

	* app/tools/gimpcroptool.c
	(gimp_crop_tool_update_default_fixed_ratio_options):
	Generalize the default Fixed: Aspect ratio option setting code
	so that it can later be used for Fixed: Size as well, and move
	it to

	* app/tools/gimprectangletool.[ch]
	(gimp_rectangle_tool_pending_size_set)
	(gimp_rectangle_tool_constraint_size_set): and use these two new
	functions instead.

svn path=/trunk/; revision=23435
2007-09-01 20:01:38 +00:00
Martin Nordholts
6b8026a5fd Don't adjust the rectangle shape if it is is merely being moved.
2007-08-21  Martin Nordholts  <martinn@svn.gnome.org>

	* app/tools/gimprectangletool.c
	(gimp_rectangle_tool_update_with_coord): Don't adjust the
	rectangle shape if it is is merely being moved.

svn path=/trunk/; revision=23343
2007-08-21 19:52:00 +00:00
Martin Nordholts
af13bcb9fc Don't make GIMP_RECTANGLE_CONSTRAIN_NONE into
2007-08-18  Martin Nordholts  <martinn@svn.gnome.org>

	* app/tools/gimprectangletool.c: Don't make
	GIMP_RECTANGLE_CONSTRAIN_NONE into GIMP_RECTANGLE_CONSTRAIN_IMAGE,
	and restructure the code a bit in the rectagle adjusting functions
	so that they can handle the _NONE constraint. The effect of this
	change is that rectangle tools no longer are constrained when
	using fixed-rules.

svn path=/trunk/; revision=23319
2007-08-18 09:44:18 +00:00
Martin Nordholts
264d44588b Clear highlight in previously active shell when changing active shell.
2007-08-18  Martin Nordholts  <martinn@svn.gnome.org>

	* app/tools/gimprectangletool.c
	(gimp_rectangle_tool_button_press): Clear highlight in previously
	active shell when changing active shell.

svn path=/trunk/; revision=23318
2007-08-18 06:59:02 +00:00
Martin Nordholts
e4baf09863 Call gimp_crop_tool_update_default_fixed_ratio_options after
2007-08-18  Martin Nordholts  <martinn@svn.gnome.org>

	* app/tools/gimpcroptool.c (gimp_crop_tool_button_release): Call
	gimp_crop_tool_update_default_fixed_ratio_options after
	gimp_rectangle_tool_button_release, so that the state of the
	rectangle tool is reflected when updating the default aspect.

svn path=/trunk/; revision=23317
2007-08-18 06:39:18 +00:00
Martin Nordholts
bf4858c52c Added a 'ignore_pending' boolean parameter so that the pending rectangle
2007-08-18  Martin Nordholts  <martinn@svn.gnome.org>

	* app/tools/gimpcroptool.c
	(gimp_crop_tool_update_default_fixed_ratio_options): Added a
	'ignore_pending' boolean parameter so that the pending rectangle
	can be ignored in gimp_crop_tool_execute, as it should be.

svn path=/trunk/; revision=23316
2007-08-18 06:31:15 +00:00
Martin Nordholts
eb06a11ea9 Connect to the "image-changed" signal of GimpContext and update default
2007-08-17  Martin Nordholts  <martinn@svn.gnome.org>

	* app/tools/gimpcroptool.c
	(gimp_crop_tool_constructor): Connect to the "image-changed"
	signal of GimpContext and update default aspect when image
	changes (fixes bug #417166), by using
	(gimp_crop_tool_update_default_fixed_ratio_options): which is a
	new function that does this. This function is called whenever it
	is time to update defualts.

	* app/tools/gimprectangletool.[ch]: Made
	gimp_rectangle_tool_get_constraint part of the rectangle tool API.

svn path=/trunk/; revision=23312
2007-08-17 18:29:09 +00:00
Michael Natterer
bf500e16d0 app/tools/gimpperspectiveclonetool.c (motion) don't allow to ctrl-switch
2007-08-17  Michael Natterer  <mitch@gimp.org>

	* app/tools/gimpperspectiveclonetool.c (motion)
	* app/tools/gimpsourcetool.c (motion): don't allow to ctrl-switch
	between clone and set-source mode while painting. It's totally
	unclear to me why we used to allow this since it doesn't make much
	sense and isn't very intuitive either. Fixes bug #467605.


svn path=/trunk/; revision=23302
2007-08-17 15:20:25 +00:00
Sven Neumann
5df43c2cbb use italic font if not in user-override mode.
2007-08-13  Sven Neumann  <sven@gimp.org>

	* libgimpwidgets/gimpnumberpairentry.c: use italic font if not in
	user-override mode.

	* app/tools/gimprectangleoptions.c: removed auto-mode icon.

	* themes/Default/images/Makefile.am
	* themes/Default/images/stock-auto-mode-16.png
	* libgimpwidgets/gimpnumberpairentry.[ch]: removed
	GIMP_STOCK_AUTO_MODE.


svn path=/trunk/; revision=23231
2007-08-13 09:25:27 +00:00
Martin Nordholts
296c2de807 Put the auto-mode GtkImage to the right of the Aspect ratio/Size entry
2007-08-13  Martin Nordholts  <martinn@svn.gnome.org>

	* app/tools/gimprectangleoptions.c (gimp_rectangle_options_gui):
	Put the auto-mode GtkImage to the right of the Aspect ratio/Size
	entry instead of to the left.

svn path=/trunk/; revision=23228
2007-08-13 06:41:52 +00:00
Martin Nordholts
3c7474582a Set a 16x16 size request on the auto-mode images.
2007-08-12  Martin Nordholts  <martinn@svn.gnome.org>

	* app/tools/gimprectangleoptions.c (gimp_rectangle_options_gui):
	Set a 16x16 size request on the auto-mode images.

svn path=/trunk/; revision=23227
2007-08-12 12:13:15 +00:00
Martin Nordholts
998748d6f4 Right-align X, Y, Width and Height.
2007-08-12  Martin Nordholts  <martinn@svn.gnome.org>

	* app/tools/gimprectangleoptions.c (gimp_rectangle_options_gui):
	Right-align X, Y, Width and Height.

svn path=/trunk/; revision=23225
2007-08-12 09:36:23 +00:00
Martin Nordholts
b45b8aa096 Setup a GIMP_STOCK_AUTO_MODE GtkImage to be shown in the options when
2007-08-12  Martin Nordholts  <martinn@svn.gnome.org>

	* app/tools/gimprectangleoptions.[ch]: Setup a
	GIMP_STOCK_AUTO_MODE GtkImage to be shown in the options when
	Fixed: Aspect ratio/Size entries are in auto-mode.

	* themes/Default/images/Makefile.am: Added
	stock-auto-mode-16.png (which is a copy of
	preferences/folders-interp-16.png for now).

	* libgimpwidgets/gimpstock.[ch]: Added GIMP_STOCK_AUTO_MODE.

svn path=/trunk/; revision=23224
2007-08-12 08:43:35 +00:00
Martin Nordholts
6ea396963b Initialize 'tool' before using it.
2007-08-11  Martin Nordholts  <martinn@svn.gnome.org>

	* app/tools/gimpcroptool.c (gimp_crop_tool_execute): Initialize
	'tool' before using it.

svn path=/trunk/; revision=23210
2007-08-11 16:13:14 +00:00
Martin Nordholts
4356bb7aeb Update handle sizes based on the shell-visible part of the rectangle.
2007-08-11  Martin Nordholts  <martinn@svn.gnome.org>

	* app/tools/gimprectangletool.c
	(gimp_rectangle_tool_update_handle_sizes): Update handle sizes
	based on the shell-visible part of the rectangle.
	(gimp_rectangle_tool_start, gimp_rectangle_tool_halt):
	Connect/disconnect to the "scrolled" signal of the shell and
	update handle sizes.

svn path=/trunk/; revision=23204
2007-08-11 09:42:16 +00:00
Martin Nordholts
8f69046e11 Halt the tool on cancel if a rectangle has not previously been created.
2007-08-11  Martin Nordholts  <martinn@svn.gnome.org>

	* app/tools/gimprectangletool.c
	(gimp_rectangle_tool_button_release): Halt the tool on cancel if a
	rectangle has not previously been created.

svn path=/trunk/; revision=23202
2007-08-11 08:42:59 +00:00
Martin Nordholts
49a9bdc6d1 Renamed from gimp_rectangle_tool_set_highlight
2007-08-11  Martin Nordholts  <martinn@svn.gnome.org>

	* app/tools/gimprectangletool.c
	(gimp_rectangle_tool_update_highlight): Renamed from
	gimp_rectangle_tool_set_highlight
	(gimp_rectangle_tool_button_release): Add call to
	gimp_rectangle_tool_update_highlight to keep highlight in sync
	when a crop rectangle is cancelled.

svn path=/trunk/; revision=23201
2007-08-11 08:27:00 +00:00
Martin Nordholts
fd5363cd87 Set default 'Fixed: Aspect ratio' values to the size of the pending crop
2007-08-10  Martin Nordholts  <martinn@svn.gnome.org>

	* app/tools/gimpcroptool.c (gimp_crop_tool_button_release): Set
	default 'Fixed: Aspect ratio' values to the size of the pending
	crop rectangle. Fixes bug #355545.

	* app/tools/gimprectangletool.[ch]
	(gimp_rectangle_tool_get_rectangle_size): New helper function.

svn path=/trunk/; revision=23194
2007-08-10 16:41:30 +00:00
Martin Nordholts
49df5ada5b Added "default-aspect-numerator", "default-aspect-denominator",
2007-08-10  Martin Nordholts  <martinn@svn.gnome.org>

	* app/tools/gimprectangleoptions.c: Added
	"default-aspect-numerator", "default-aspect-denominator",
	"default-fixed-size-width" and "default-fixed-size-height" as
	non-serialized tool options, and "overridden-fixed-aspect" and
	"overridden-fixed-size" as serialized ones.

	* app/widgets/gimppropwidgets.c (gimp_prop_number_pair_entry_*):
	Added support for the new GimpRectangleOptions.

svn path=/trunk/; revision=23187
2007-08-10 14:57:27 +00:00
Martin Nordholts
a8907b94be Merged gimp_prop_size_2d_* and gimp_prop_aspect_ratio_* to
2007-08-10  Martin Nordholts  <martinn@svn.gnome.org>

	* app/widgets/gimppropwidgets.[ch]: Merged gimp_prop_size_2d_* and
	gimp_prop_aspect_ratio_* to gimp_prop_number_pair_*.

	* app/tools/gimprectangleoptions.c (gimp_rectangle_options_gui):
	Use the merged gimp_prop_number_pair_entry_new.

svn path=/trunk/; revision=23184
2007-08-10 10:52:35 +00:00
Martin Nordholts
93d4dc68de Renamed GimpRatioEntry to GimpNumberPairEntry, and generalized the code a
2007-08-08  Martin Nordholts  <martinn@svn.gnome.org>

	Renamed GimpRatioEntry to GimpNumberPairEntry, and generalized the
	code a lot, so that it can be used both for 'Fixed: Aspect ratio'
	and 'Fixed: Size'. Support is also added for having default values
	and a 'user overrided' value mode.

	* libgimpwidgets/gimpnumberpairentry.[ch]: Now contains the
	rewrite and generalization of GimpRatioEntry.
	(gimp_number_pair_entry_get_type)
	(gimp_number_pair_entry_new)
        (gimp_number_pair_entry_set_default_values)
	(gimp_number_pair_entry_set_values)
        (gimp_number_pair_entry_get_values): New libgimpwidget API.

	* app/widgets/gimppropwidgets.[ch] (gimp_prop_size_2d_new): Added
	new helper widget for setting up a GimpNumberPairEntry for the
	Fixed: Size entry in the Rectangle Options.

	* app/tools/gimprectangleoptions.c (gimp_rectangle_options_gui):
	Use the new gimp_prop_size_2d_entry for the Fixed: Size entry.

	* libgimpwidgets/gimpwidgets.def: Removed gimp_ratio_entry_* and
	added gimp_number_pair_entry_*.

	* libgimpwidgets/gimpwidgets.h * libgimpwidgets/gimpwidgetstypes.h
	* libgimpwidgets/Makefile.am (libgimpwidgets_2_0_la_sources)
	(libgimpwidgetsinclude_HEADERS): Updated accordingly.

svn path=/trunk/; revision=23154
2007-08-08 18:08:24 +00:00
Martin Nordholts
17020f29b2 Migrate entry completion code and put responsability on clients to set
2007-08-08  Martin Nordholts  <martinn@svn.gnome.org>

	* libgimpwidgets/gimpratioentry.[ch]: Migrate entry completion
	code and put responsability on clients to set that up when needed.

	* app/tools/gimprectangleoptions.[ch]: Setup entry completion code
	manually for the GimpRatioEntry widgets by using
	(gimp_rectangle_options_setup_ratio_completion)
	(gimp_ratio_entry_history_select, gimp_ratio_entry_history_add):
	these new functions.

svn path=/trunk/; revision=23149
2007-08-08 12:52:25 +00:00
Martin Nordholts
75c759e87a Serialize Fixed: Width/Height/Size to config.
2007-08-08  Martin Nordholts  <martinn@svn.gnome.org>

	* app/tools/gimprectangleoptions.c
	(gimp_rectangle_options_iface_base_init): Serialize Fixed:
	Width/Height/Size to config.

svn path=/trunk/; revision=23143
2007-08-08 08:08:03 +00:00
Martin Nordholts
d050042232 Remove fixed_aspect_property.
2007-08-08  Martin Nordholts  <martinn@svn.gnome.org>

	* app/widgets/gimppropwidgets.[ch]
	(gimp_prop_aspect_ratio_new)
	(gimp_prop_aspect_ratio_changed): Remove fixed_aspect_property.

	* app/tools/gimprectangleoptions.c (gimp_rectangle_options_gui):
	Changed accordingly.

svn path=/trunk/; revision=23141
2007-08-08 06:32:45 +00:00
Martin Nordholts
e87d0a123a Use separate desired-fixed-size-width/height properties for Fixed: Size
2007-08-08  Martin Nordholts  <martinn@svn.gnome.org>

	* app/tools/gimprectangleoptions.[ch]: Use separate
	desired-fixed-size-width/height properties for Fixed: Size instead
	of sharing properties with Fixed: Width/Height.

	* app/tools/gimprectangletool.c: Use the two new properties for
	Fixed: Size.

svn path=/trunk/; revision=23140
2007-08-08 06:10:00 +00:00
Martin Nordholts
9a350d71e3 When a new rectangle is created and Fixed: Size is used, set rectangle
2007-08-05  Martin Nordholts  <martinn@svn.gnome.org>

	* app/tools/gimprectangletool.c (gimp_rectangle_tool_motion): When
	a new rectangle is created and Fixed: Size is used, set rectangle
	function to RECT_MOVING.

svn path=/trunk/; revision=23117
2007-08-05 10:52:38 +00:00