Commit Graph

3394 Commits

Author SHA1 Message Date
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
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
bef6d5716a app: use a tool progress for GimpTransformTool 2011-03-25 21:35:19 +01:00
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
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
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
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
e9dd30127a app: add an on-canvas progress facility to GimpTool
and use it in GimpCageTool.
2011-03-25 09:48:26 +01:00
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
1659f62e2c app: small style cleanup in the merged cage code 2011-03-23 22:29:00 +01:00
2aeac1cf4e Merge branch 'soc-2010-cage-2' 2011-03-23 20:07:17 +01:00
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
cc04620b96 Adjust Bug 559716 bugfix to not test exact double equality 2011-03-21 16:53:35 +01:00
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
38287ba9f4 app: GimpTextTool: use the highlight color for the selected text 2011-03-20 23:59:19 +01:00
6378e9fc4d app: rename member GimpImageMapTool->shell to ->dialog
"shell" has confused me once too often today...
2011-03-20 18:27:11 +01:00
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
13bedf69e2 app: minor cleanups in GimpColorPickerTool 2011-03-20 16:57:23 +01:00
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
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
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
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
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
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
d3153960df app: rename gimp_transform_tool_doit() to gimp_transform_tool_transform() 2011-03-17 21:39:11 +01:00
54c7725417 app: GimpTextTool: remove disabled testing code 2011-03-14 14:28:08 +01:00
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
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
e69ecba237 app: move all GimpSettingsBox members to private 2011-03-08 11:32:49 +01:00
fcfb7cf160 Use the new g_[s]list_free_full() instead of foreach() and free() 2011-03-07 17:11:28 +01:00
fe7aa4e113 Merge branch 'master' into soc-2010-cage-2 2011-03-02 15:08:11 +01:00
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
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
8f294661b2 app: don't #include "core/gimpprogress.h" when not needed 2011-02-22 17:32:33 +01:00
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
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
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
18b9ba1c87 app: Add some comment documentation to code 2011-02-07 03:29:23 +02:00
f76bcab221 app: move "default-threshold" from GimpGuiConfig to GimpCoreConfig 2011-02-06 11:20:06 +01:00
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
452819143a app: half-sane aspect ratio implementation 2011-01-25 23:28:02 +02:00
3c95ed31e0 Fix compiler warning about missing newline 2011-01-24 08:10:01 +01:00
5f9bd0c044 app: add reset buttons to all brush settings sliders 2011-01-23 18:17:25 +02:00
7056d38681 cagetool: implement rubber band selection for edit mode, if the cage is closed 2011-01-22 15:38:35 +01:00
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
3f581c37b6 cagetool: fix a drawing bug when adding point to the cage while moving cursor 2011-01-22 14:17:28 +01:00
f379f3c467 fix rubber band selection for layer with offset 2011-01-22 14:17:28 +01:00
e7d219d387 Cage tool: add rubber band selection for deform mode 2011-01-22 14:17:28 +01:00
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
006c7ab9f4 refactor of the GimpCageConfig with a custom GimpCagePoint data structure 2011-01-22 14:17:28 +01:00