Commit Graph

4595 Commits

Author SHA1 Message Date
Michael Natterer 0d3f719381 app: add gimp_draw_tool_set_widget() and use it in all ported tools
which so far manages drawing of the widget's GimpCanvasItem. Remove
GimpDrawTool::draw() implementations from most of the affected tools.
2017-06-26 19:50:31 +02:00
Michael Natterer 87e6de78ad app: implement the crop tool using GimpToolRectangle
GimpRectangleTool users down by one...
2017-06-26 19:19:16 +02:00
Michael Natterer 2f0963589b app: add gimp_rectangle_options_connect() and _disconnect()
and use the new function from GimpRectangleTool. We need this also in
the new GimpToolWidget-base code, so it has to move out of
gimprectangletool.c.
2017-06-26 19:19:16 +02:00
Michael Natterer 00ea73f29a app: add a generic GimpToolWidget::response() signal
and a default key_press() handler that emits CONFIRM, CANCEL and RESET
responses. Remove code with the same purpose from all subclasses.

Change tools feed key_press() to the widget and connect to its
"response" instead of implementing key_press() themselves. This will
only be better and less code after the tool side of this is done
generically.
2017-06-25 23:23:27 +02:00
Michael Natterer d089aa629b app: rename enum GimpRectangleToolFixedRule to GimpRectangleFixedRule 2017-06-24 19:48:09 +02:00
Michael Natterer 6e2e8a6f08 app: move the rectangle tool enums from tools-enums to display-enums 2017-06-24 19:48:09 +02:00
Michael Natterer 3d7716aed4 app: use a GimpToolPolygon in GimpFreeSelectTool 2017-06-23 01:59:37 +02:00
Michael Natterer 96b8023091 app: add gimp_image_pick_vectors(), remove gimp_draw_tool_on_vectors() 2017-06-22 11:35:57 +02:00
Michael Natterer 523b73ff04 app: move guide and sample point picking to gimpimage-pick-item.[ch]
They are not actually items, but close enough.
2017-06-22 09:43:50 +02:00
Michael Natterer a72026820f app: rename gimpimage-pick-layer.[ch] to gimpimage-pick-item.[ch] 2017-06-22 08:17:40 +02:00
Michael Natterer f7d4bcfe54 app: remove API that is not needed any longer from GimpDrawTool
and simplify gimp_draw_tool_on_vectors()'s API.
2017-06-22 01:31:41 +02:00
Michael Natterer 924cb15060 app: add a fill button to the vector tool options, just like stroke 2017-06-22 00:53:59 +02:00
Michael Natterer 8b36164a2a app: bye bye to 1534 lines of code in GimpVectorTool, use a GimpToolPath 2017-06-21 23:28:07 +02:00
Michael Natterer 3ab92c7290 app: add GimpToolWidget subclass GimpToolPath, a complete vectors editor 2017-06-21 23:27:20 +02:00
Michael Natterer 956477831f app: some cleanup in GimpTransformTool
- add utility function gimp_transform_tool_get_widget()
- reorder some functions
- cleanup in draw()
2017-06-20 00:19:21 +02:00
Michael Natterer 99dee5860d app: manage GimpHandleTransformTool's handle-mode with an object binding 2017-06-19 23:46:06 +02:00
Michael Natterer 055ca325f2 app: manage the preview opacity with an object binding too 2017-06-19 23:39:37 +02:00
Michael Natterer 9f59657fef app: also manage all contrain and frompivot properties centrally
using g_object_bind_property().
2017-06-19 23:29:01 +02:00
Michael Natterer 0411801765 app: manage the transform tools' grid properties in GimpTransformTool
Simply use g_object_bind_property() to connect the grid properties of
GimpTransformOoptions and GimpToolTransformGrid and remove all other
grid property setting code.
2017-06-19 23:06:39 +02:00
Michael Natterer 4b597f9622 app: take the handle transform tool out of the playground
It seems proper enough now.
2017-06-19 22:56:07 +02:00
Michael Natterer 96da8c1505 app: add status message to the handle transform tool
and fix a few glitches from tool widget porting.
2017-06-19 22:53:30 +02:00
Michael Natterer 8ab11e7c18 app: bring back the live transformed path in GimpTransformTool 2017-06-19 22:13:50 +02:00
Michael Natterer 546bbe1e14 app: add a transform matrix to GimpCanvasPolygon and all API using it 2017-06-19 21:53:49 +02:00
Michael Natterer 2d55978801 app: bring back the live selection transform boundary in GimpTransformTool 2017-06-19 20:51:56 +02:00
Michael Natterer 214a1babdb app: use a GimpToolTransformGrid in GimpPerspectiveClone
and clean up and reorder the code quite a bit.
2017-06-19 20:43:46 +02:00
Michael Natterer aa1e6c07f5 app: factor out a few lines of code in gimp_transform_tool_draw() 2017-06-19 20:07:10 +02:00
Michael Natterer f5a6c859d7 app: remove gimp_draw_tool_add_transform_guides() 2017-06-19 08:08:14 +02:00
Michael Natterer e13d3f1754 app: remove a lot of cruft from GimpTransformTool
All tools have a widget now so none of this stuff is needed any longer.
2017-06-19 01:53:01 +02:00
Michael Natterer 38c9ee9e93 app: use a GimpToolHandleGrid in GimpHandleTransformTool 2017-06-19 01:22:13 +02:00
Michael Natterer 6bd316e070 app: add new GimpToolTransformGrid subclass GimpToolHandleGrid
which implents the handle transform tool's interaction.
2017-06-19 01:21:06 +02:00
Michael Natterer 6cd91f1fde app: move the handle transform matrix calculation to gimp-transform-utils.[ch] 2017-06-17 10:03:24 +02:00
Michael Natterer a5f3808505 app: use the newly added tool widgets in the transform tools 2017-06-17 03:04:06 +02:00
Michael Natterer ed1798209b app: use a GimpToolCompass in GimpMeasureTool 2017-06-11 23:44:55 +02:00
Michael Natterer 667435c105 app: some code reordering in gimp_blend_tool_button_press() 2017-06-11 23:41:56 +02:00
Ell 19f5f671d8 app: add "clipping" option to the flip tool
This option behaves similarly to the other transform tool, however
it's limited to "adjust" and "clip" only.  Now that the flip tool
can reflect across guides, this option is meaningful.
2017-06-11 15:09:46 -04:00
Ell 46b6c4fdd7 app: add support for reflecting across guides to the flip tool
When clicking on a guide while using the flip tool, reflect the
active item across the guide, rather than around its center.
2017-06-11 15:09:24 -04:00
Michael Natterer 0eda6b0c9d app: fix blend tool behavior across multiple displays
Don't update the tool widget when hovering another display at the same
coordinates. Also improve statusbar messages.
2017-06-11 18:16:47 +02:00
Ell 09d6f2bad1 app: fix use of NULL canvas item in iscissors tool
... when editing an empty segment in interactive mode
2017-06-11 11:27:40 -04:00
Michael Natterer 1f76f04a73 app: use a GimpToolLine in GimpBlendTool
removes hundreds of lines of code, and behaves (almost) the same.
2017-06-10 23:54:11 +02:00
Michael Natterer 53a84bc6ea app: move enums GimpButtonPressType and GimpButtonReleaseType
from tools-enums.h to display-enums.h, will need them there soon.
2017-06-10 12:25:16 +02:00
Michael Natterer b11dec6dc6 app: remove some #includes from gimpfiltertool-settings.c 2017-06-10 12:23:33 +02:00
Michael Natterer d45fd4041d app: remove GimpFilterOptions' "settings" property
it was never used, only set, and these days we remember dialog
defaults differently anyway.
2017-06-08 22:28:50 +02:00
Michael Natterer 4f4d6b27cf app: register the "settings folder" (e.g. GIMPDIR/curves) with the settings type
and remove all settings_folder API and values from GimpFilterTool and
its subclasses.
2017-06-05 22:00:17 +02:00
Michael Natterer 109f23af39 app: replace the hue-saturation tool by a generic filter action
Move the GUI to a custom gimppropgui function.
2017-06-05 18:35:05 +02:00
Michael Natterer 757ca64e58 app: replace the color balance tool by a generic filter action
Move the color balance GUI to a custom gimppropgui function.
2017-06-05 01:20:37 +02:00
Michael Natterer ecfec4103b app: remove the colorize tool and replace it by a generic filter action 2017-06-04 21:21:43 +02:00
Ell 3ca48a0b30 enums: don't use comments in generated enum recipes
Works in bash, but apparently not portable.
2017-06-02 11:15:43 -04:00
Ell 14bcde2c73 app: small code reorganization in the curves tool
Move gimp_curves_tool_color_picked() to match its prototype's
position, per commit f876f3b5f4.
2017-05-31 08:47:23 -04:00
Ell ff91bb1b5b app: fix unused variable warning in warp tool
... due to commit 7136f09f0a
2017-05-30 20:11:37 -04:00
Ell 7136f09f0a app, cursors: add a cursor for the warp tool
... and use it instead of the perspective tool cursor.

Disable the cursor modifiers for now, since they're not really
meaningful.
2017-05-30 19:27:05 -04:00