Commit Graph

94 Commits

Author SHA1 Message Date
Michael Natterer 1e17f0aed1 app: port GimpImageMap to use the new drawable filters
which makes live update more responsive and removes tons of code, but
adds a delay with progress when finally committing the effect.
2013-04-12 14:35:27 +02:00
Michael Natterer e546f2b43b Bug 683462 - cropping with rectangular select tool leaves misaligned...
Reset the tool on image changes again, but not if only the active
drawable changes, so keep bug #678890 closed:

Introduce new dirty flag GIMP_DIRTY_ACTIVE_DRAWABLE and set it on all
tools' dirty_mask except for rect select. Check the new flag when
reseting the active tool because of a drawable change.
2012-09-06 23:55:35 +02:00
Michael Natterer 078128bb09 Bug 678890 - Selection box handles do not respond after changing layer
Make sure that temporarily setting/unsetting tool->control's "preserve
tool across image changes" does not mess up the default value:

Introduce gimp_tool_control_push/pop_preserve() which restores the old
state automatically, and use it in all tools, instead of saying
set_preserve(TRUE/FALSE) around image changes.
2012-07-26 18:17:01 +02:00
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 797e622734 app: remove obsolete include 2012-05-02 17:50:52 +02:00
Michael Natterer 89d525c970 app: remove legacy support from GimpImageMap 2012-05-02 17:50:40 +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
Ø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
Michael Natterer 439f7f579a app: s/Babl/const Babl/ 2012-03-24 18:52:31 +01:00
Michael Muré 40e564711c gimpcagetool: remove unused parameter for gimp_cage_tool_compute_coef 2011-06-28 23:25:13 +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 Muré 5d771014d4 GimpCageConfig: use a GArray to store cage's point, to make easier
further improvement
2011-04-20 18:50:17 +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 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 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 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 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 1659f62e2c app: small style cleanup in the merged cage code 2011-03-23 22:29:00 +01: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
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
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
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 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