Gimp/app/tools
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
..
.gitignore Added .gitignore files generated with git svn create-ignore. 2009-01-31 11:37:44 +00:00
gimp-tools.c Change licence to GPLv3 (and to LGPLv3 for libgimp). 2009-01-17 22:28:01 +00:00
gimp-tools.h Change licence to GPLv3 (and to LGPLv3 for libgimp). 2009-01-17 22:28:01 +00:00
gimpairbrushtool.c Change licence to GPLv3 (and to LGPLv3 for libgimp). 2009-01-17 22:28:01 +00:00
gimpairbrushtool.h Change licence to GPLv3 (and to LGPLv3 for libgimp). 2009-01-17 22:28:01 +00:00
gimpalignoptions.c Change licence to GPLv3 (and to LGPLv3 for libgimp). 2009-01-17 22:28:01 +00:00
gimpalignoptions.h Change licence to GPLv3 (and to LGPLv3 for libgimp). 2009-01-17 22:28:01 +00:00
gimpaligntool.c Bug 599765 - F1 key on gimp-tool-align in menu have wrong link and it open gimp-tool-move 2009-10-27 18:54:34 +01:00
gimpaligntool.h Change licence to GPLv3 (and to LGPLv3 for libgimp). 2009-01-17 22:28:01 +00:00
gimpblendoptions.c Change licence to GPLv3 (and to LGPLv3 for libgimp). 2009-01-17 22:28:01 +00:00
gimpblendoptions.h Change licence to GPLv3 (and to LGPLv3 for libgimp). 2009-01-17 22:28:01 +00:00
gimpblendtool.c Use gimp_display_get_image() instead of display->image 2009-10-07 19:00:42 +02:00
gimpblendtool.h Change licence to GPLv3 (and to LGPLv3 for libgimp). 2009-01-17 22:28:01 +00:00
gimpbrightnesscontrasttool.c Use gimp_display_get_image() instead of display->image 2009-10-06 19:20:44 +02:00
gimpbrightnesscontrasttool.h Change licence to GPLv3 (and to LGPLv3 for libgimp). 2009-01-17 22:28:01 +00:00
gimpbrushtool.c Use gimp_display_get_image() instead of display->image 2009-10-06 19:20:44 +02:00
gimpbrushtool.h Change licence to GPLv3 (and to LGPLv3 for libgimp). 2009-01-17 22:28:01 +00:00
gimpbucketfilloptions.c Change licence to GPLv3 (and to LGPLv3 for libgimp). 2009-01-17 22:28:01 +00:00
gimpbucketfilloptions.h Change licence to GPLv3 (and to LGPLv3 for libgimp). 2009-01-17 22:28:01 +00:00
gimpbucketfilltool.c Use gimp_display_get_image() instead of display->image 2009-10-07 19:00:42 +02:00
gimpbucketfilltool.h Change licence to GPLv3 (and to LGPLv3 for libgimp). 2009-01-17 22:28:01 +00:00
gimpbycolorselecttool.c Use gimp_display_get_image() instead of display->image 2009-10-06 19:20:44 +02:00
gimpbycolorselecttool.h Change licence to GPLv3 (and to LGPLv3 for libgimp). 2009-01-17 22:28:01 +00:00
gimpclonetool.c Change licence to GPLv3 (and to LGPLv3 for libgimp). 2009-01-17 22:28:01 +00:00
gimpclonetool.h Change licence to GPLv3 (and to LGPLv3 for libgimp). 2009-01-17 22:28:01 +00:00
gimpcolorbalancetool.c Use gimp_display_get_image() instead of display->image 2009-10-06 19:20:44 +02:00
gimpcolorbalancetool.h Change licence to GPLv3 (and to LGPLv3 for libgimp). 2009-01-17 22:28:01 +00:00
gimpcolorizetool.c Use gimp_display_get_image() instead of display->image 2009-10-06 19:20:44 +02:00
gimpcolorizetool.h Change licence to GPLv3 (and to LGPLv3 for libgimp). 2009-01-17 22:28:01 +00:00
gimpcoloroptions.c make action_message() visible externally and use it. 2009-05-16 15:34:41 +02:00
gimpcoloroptions.h Change licence to GPLv3 (and to LGPLv3 for libgimp). 2009-01-17 22:28:01 +00:00
gimpcolorpickeroptions.c Change licence to GPLv3 (and to LGPLv3 for libgimp). 2009-01-17 22:28:01 +00:00
gimpcolorpickeroptions.h Change licence to GPLv3 (and to LGPLv3 for libgimp). 2009-01-17 22:28:01 +00:00
gimpcolorpickertool.c Build with GSEAL_ENABLE 2009-10-17 19:33:46 +02:00
gimpcolorpickertool.h Change licence to GPLv3 (and to LGPLv3 for libgimp). 2009-01-17 22:28:01 +00:00
gimpcolortool.c app: Merge "toplevel" and "dock" dialog factories 2010-02-20 09:28:26 +01:00
gimpcolortool.h Change licence to GPLv3 (and to LGPLv3 for libgimp). 2009-01-17 22:28:01 +00:00
gimpconvolvetool.c Change licence to GPLv3 (and to LGPLv3 for libgimp). 2009-01-17 22:28:01 +00:00
gimpconvolvetool.h Change licence to GPLv3 (and to LGPLv3 for libgimp). 2009-01-17 22:28:01 +00:00
gimpcropoptions.c Change licence to GPLv3 (and to LGPLv3 for libgimp). 2009-01-17 22:28:01 +00:00
gimpcropoptions.h Change licence to GPLv3 (and to LGPLv3 for libgimp). 2009-01-17 22:28:01 +00:00
gimpcroptool.c Use gimp_display_get_image() instead of display->image 2009-10-06 19:20:44 +02:00
gimpcroptool.h Change licence to GPLv3 (and to LGPLv3 for libgimp). 2009-01-17 22:28:01 +00:00
gimpcurvestool.c app: make the coordinates display in the curve view configurable 2010-02-23 11:39:35 +01:00
gimpcurvestool.h Change licence to GPLv3 (and to LGPLv3 for libgimp). 2009-01-17 22:28:01 +00:00
gimpdesaturatetool.c Use gimp_display_get_image() instead of display->image 2009-10-06 19:20:44 +02:00
gimpdesaturatetool.h Change licence to GPLv3 (and to LGPLv3 for libgimp). 2009-01-17 22:28:01 +00:00
gimpdodgeburntool.c Change licence to GPLv3 (and to LGPLv3 for libgimp). 2009-01-17 22:28:01 +00:00
gimpdodgeburntool.h Change licence to GPLv3 (and to LGPLv3 for libgimp). 2009-01-17 22:28:01 +00:00
gimpdrawtool.c app: i hate unsigned integers 2010-02-21 23:36:25 +01:00
gimpdrawtool.h Implement overwrite-mode in the text tool 2009-06-25 13:22:25 +02:00
gimpeditselectiontool.c Use gimp_display_get_image() instead of display->image 2009-10-06 19:20:44 +02:00
gimpeditselectiontool.h Change licence to GPLv3 (and to LGPLv3 for libgimp). 2009-01-17 22:28:01 +00:00
gimpellipseselecttool.c Use gimp_display_get_image() instead of display->image 2009-10-06 19:20:44 +02:00
gimpellipseselecttool.h Change licence to GPLv3 (and to LGPLv3 for libgimp). 2009-01-17 22:28:01 +00:00
gimperasertool.c Change licence to GPLv3 (and to LGPLv3 for libgimp). 2009-01-17 22:28:01 +00:00
gimperasertool.h Change licence to GPLv3 (and to LGPLv3 for libgimp). 2009-01-17 22:28:01 +00:00
gimpflipoptions.c Change licence to GPLv3 (and to LGPLv3 for libgimp). 2009-01-17 22:28:01 +00:00
gimpflipoptions.h Change licence to GPLv3 (and to LGPLv3 for libgimp). 2009-01-17 22:28:01 +00:00
gimpfliptool.c Use gimp_display_get_image() instead of display->image 2009-10-06 19:20:44 +02:00
gimpfliptool.h Change licence to GPLv3 (and to LGPLv3 for libgimp). 2009-01-17 22:28:01 +00:00
gimpforegroundselectoptions.c Change licence to GPLv3 (and to LGPLv3 for libgimp). 2009-01-17 22:28:01 +00:00
gimpforegroundselectoptions.h Change licence to GPLv3 (and to LGPLv3 for libgimp). 2009-01-17 22:28:01 +00:00
gimpforegroundselecttool.c Use gimp_display_get_image() instead of display->image 2009-10-07 19:00:42 +02:00
gimpforegroundselecttool.h Change licence to GPLv3 (and to LGPLv3 for libgimp). 2009-01-17 22:28:01 +00:00
gimpforegroundselecttoolundo.c Change licence to GPLv3 (and to LGPLv3 for libgimp). 2009-01-17 22:28:01 +00:00
gimpforegroundselecttoolundo.h Change licence to GPLv3 (and to LGPLv3 for libgimp). 2009-01-17 22:28:01 +00:00
gimpfreeselecttool.c Bug 598454 - Improve visual feedback for Free Select Tool handles 2009-12-21 22:24:26 +01:00
gimpfreeselecttool.h Change licence to GPLv3 (and to LGPLv3 for libgimp). 2009-01-17 22:28:01 +00:00
gimpfuzzyselecttool.c Use gimp_display_get_image() instead of display->image 2009-10-06 19:20:44 +02:00
gimpfuzzyselecttool.h Change licence to GPLv3 (and to LGPLv3 for libgimp). 2009-01-17 22:28:01 +00:00
gimpgegltool.c app: Make gimpgegltool.c compile 2010-02-17 20:45:20 +01:00
gimpgegltool.h Change licence to GPLv3 (and to LGPLv3 for libgimp). 2009-01-17 22:28:01 +00:00
gimphealtool.c Change licence to GPLv3 (and to LGPLv3 for libgimp). 2009-01-17 22:28:01 +00:00
gimphealtool.h Change licence to GPLv3 (and to LGPLv3 for libgimp). 2009-01-17 22:28:01 +00:00
gimphistogramoptions.c Change licence to GPLv3 (and to LGPLv3 for libgimp). 2009-01-17 22:28:01 +00:00
gimphistogramoptions.h Change licence to GPLv3 (and to LGPLv3 for libgimp). 2009-01-17 22:28:01 +00:00
gimphuesaturationtool.c Use gimp_display_get_image() instead of display->image 2009-10-06 19:20:44 +02:00
gimphuesaturationtool.h Change licence to GPLv3 (and to LGPLv3 for libgimp). 2009-01-17 22:28:01 +00:00
gimpimagemapoptions.c Change licence to GPLv3 (and to LGPLv3 for libgimp). 2009-01-17 22:28:01 +00:00
gimpimagemapoptions.h Change licence to GPLv3 (and to LGPLv3 for libgimp). 2009-01-17 22:28:01 +00:00
gimpimagemaptool-settings.c Change licence to GPLv3 (and to LGPLv3 for libgimp). 2009-01-17 22:28:01 +00:00
gimpimagemaptool-settings.h Change licence to GPLv3 (and to LGPLv3 for libgimp). 2009-01-17 22:28:01 +00:00
gimpimagemaptool.c Put the image map tool dialogs into overlay boxes when in fullscreen mode 2009-10-18 22:42:21 +02:00
gimpimagemaptool.h Put the image map tool dialogs into overlay boxes when in fullscreen mode 2009-10-18 22:42:21 +02:00
gimpinkoptions-gui.c Change licence to GPLv3 (and to LGPLv3 for libgimp). 2009-01-17 22:28:01 +00:00
gimpinkoptions-gui.h Change licence to GPLv3 (and to LGPLv3 for libgimp). 2009-01-17 22:28:01 +00:00
gimpinktool.c Change licence to GPLv3 (and to LGPLv3 for libgimp). 2009-01-17 22:28:01 +00:00
gimpinktool.h Change licence to GPLv3 (and to LGPLv3 for libgimp). 2009-01-17 22:28:01 +00:00
gimpiscissorsoptions.c Change licence to GPLv3 (and to LGPLv3 for libgimp). 2009-01-17 22:28:01 +00:00
gimpiscissorsoptions.h Change licence to GPLv3 (and to LGPLv3 for libgimp). 2009-01-17 22:28:01 +00:00
gimpiscissorstool.c Use gimp_display_get_image() instead of display->image 2009-10-07 19:00:42 +02:00
gimpiscissorstool.h Change licence to GPLv3 (and to LGPLv3 for libgimp). 2009-01-17 22:28:01 +00:00
gimplevelstool.c Build with GSEAL_ENABLE 2009-10-17 19:33:46 +02:00
gimplevelstool.h Change licence to GPLv3 (and to LGPLv3 for libgimp). 2009-01-17 22:28:01 +00:00
gimpmagnifyoptions.c Change licence to GPLv3 (and to LGPLv3 for libgimp). 2009-01-17 22:28:01 +00:00
gimpmagnifyoptions.h Change licence to GPLv3 (and to LGPLv3 for libgimp). 2009-01-17 22:28:01 +00:00
gimpmagnifytool.c Remove macros SCREEN_XRES() and SCREEN_YRES() 2010-02-03 19:50:46 +01:00
gimpmagnifytool.h Change licence to GPLv3 (and to LGPLv3 for libgimp). 2009-01-17 22:28:01 +00:00
gimpmeasureoptions.c Change licence to GPLv3 (and to LGPLv3 for libgimp). 2009-01-17 22:28:01 +00:00
gimpmeasureoptions.h Change licence to GPLv3 (and to LGPLv3 for libgimp). 2009-01-17 22:28:01 +00:00
gimpmeasuretool.c app: use the new unit conversion functions 2010-02-21 16:46:39 +01:00
gimpmeasuretool.h Change licence to GPLv3 (and to LGPLv3 for libgimp). 2009-01-17 22:28:01 +00:00
gimpmoveoptions.c Change licence to GPLv3 (and to LGPLv3 for libgimp). 2009-01-17 22:28:01 +00:00
gimpmoveoptions.h Change licence to GPLv3 (and to LGPLv3 for libgimp). 2009-01-17 22:28:01 +00:00
gimpmovetool.c Use gimp_display_get_image() instead of display->image 2009-10-07 19:00:42 +02:00
gimpmovetool.h Change licence to GPLv3 (and to LGPLv3 for libgimp). 2009-01-17 22:28:01 +00:00
gimppaintbrushtool.c Change licence to GPLv3 (and to LGPLv3 for libgimp). 2009-01-17 22:28:01 +00:00
gimppaintbrushtool.h Change licence to GPLv3 (and to LGPLv3 for libgimp). 2009-01-17 22:28:01 +00:00
gimppaintoptions-gui.c app: Remove unused variables in gradient_options_gui() 2009-12-19 09:29:49 +01:00
gimppaintoptions-gui.h Change licence to GPLv3 (and to LGPLv3 for libgimp). 2009-01-17 22:28:01 +00:00
gimppainttool.c app: use the new unit conversion functions 2010-02-21 16:46:39 +01:00
gimppainttool.h Change licence to GPLv3 (and to LGPLv3 for libgimp). 2009-01-17 22:28:01 +00:00
gimppenciltool.c Change licence to GPLv3 (and to LGPLv3 for libgimp). 2009-01-17 22:28:01 +00:00
gimppenciltool.h Change licence to GPLv3 (and to LGPLv3 for libgimp). 2009-01-17 22:28:01 +00:00
gimpperspectiveclonetool.c Use gimp_display_get_image() instead of display->image 2009-10-06 19:20:44 +02:00
gimpperspectiveclonetool.h Change licence to GPLv3 (and to LGPLv3 for libgimp). 2009-01-17 22:28:01 +00:00
gimpperspectivetool.c Use gtk_dialog_get_content_area() instead of dialog->vbox 2009-07-15 16:19:32 +02:00
gimpperspectivetool.h Change licence to GPLv3 (and to LGPLv3 for libgimp). 2009-01-17 22:28:01 +00:00
gimpposterizetool.c Use gimp_display_get_image() instead of display->image 2009-10-06 19:20:44 +02:00
gimpposterizetool.h Change licence to GPLv3 (and to LGPLv3 for libgimp). 2009-01-17 22:28:01 +00:00
gimprectangleoptions.c Change licence to GPLv3 (and to LGPLv3 for libgimp). 2009-01-17 22:28:01 +00:00
gimprectangleoptions.h Change licence to GPLv3 (and to LGPLv3 for libgimp). 2009-01-17 22:28:01 +00:00
gimprectangleselectoptions.c Change licence to GPLv3 (and to LGPLv3 for libgimp). 2009-01-17 22:28:01 +00:00
gimprectangleselectoptions.h Change licence to GPLv3 (and to LGPLv3 for libgimp). 2009-01-17 22:28:01 +00:00
gimprectangleselecttool.c Move all undo-related members to GimpImagePrivate 2010-02-04 20:06:49 +01:00
gimprectangleselecttool.h Change licence to GPLv3 (and to LGPLv3 for libgimp). 2009-01-17 22:28:01 +00:00
gimprectangletool.c Don't call gimp_display_get_image() on a NULL display 2009-10-07 19:46:01 +02:00
gimprectangletool.h Change licence to GPLv3 (and to LGPLv3 for libgimp). 2009-01-17 22:28:01 +00:00
gimpregionselectoptions.c Change licence to GPLv3 (and to LGPLv3 for libgimp). 2009-01-17 22:28:01 +00:00
gimpregionselectoptions.h Change licence to GPLv3 (and to LGPLv3 for libgimp). 2009-01-17 22:28:01 +00:00
gimpregionselecttool.c Use gimp_display_get_image() instead of display->image 2009-10-07 19:00:42 +02:00
gimpregionselecttool.h Change licence to GPLv3 (and to LGPLv3 for libgimp). 2009-01-17 22:28:01 +00:00
gimprotatetool.c Use gimp_display_get_image() instead of display->image 2009-10-06 19:20:44 +02:00
gimprotatetool.h Change licence to GPLv3 (and to LGPLv3 for libgimp). 2009-01-17 22:28:01 +00:00
gimpscaletool.c app: use the new unit conversion functions 2010-02-21 16:46:39 +01:00
gimpscaletool.h Change licence to GPLv3 (and to LGPLv3 for libgimp). 2009-01-17 22:28:01 +00:00
gimpselectionoptions.c Change licence to GPLv3 (and to LGPLv3 for libgimp). 2009-01-17 22:28:01 +00:00
gimpselectionoptions.h Change licence to GPLv3 (and to LGPLv3 for libgimp). 2009-01-17 22:28:01 +00:00
gimpselectiontool.c Use gimp_display_get_image() instead of display->image 2009-10-06 19:20:44 +02:00
gimpselectiontool.h Change licence to GPLv3 (and to LGPLv3 for libgimp). 2009-01-17 22:28:01 +00:00
gimpsheartool.c Use gtk_dialog_get_content_area() instead of dialog->vbox 2009-07-15 16:19:32 +02:00
gimpsheartool.h Change licence to GPLv3 (and to LGPLv3 for libgimp). 2009-01-17 22:28:01 +00:00
gimpsmudgetool.c Change licence to GPLv3 (and to LGPLv3 for libgimp). 2009-01-17 22:28:01 +00:00
gimpsmudgetool.h Change licence to GPLv3 (and to LGPLv3 for libgimp). 2009-01-17 22:28:01 +00:00
gimpsourcetool.c Use gimp_display_get_image() instead of display->image 2009-10-06 19:20:44 +02:00
gimpsourcetool.h Change licence to GPLv3 (and to LGPLv3 for libgimp). 2009-01-17 22:28:01 +00:00
gimptextoptions.c app: do the setting of the text box mode properly 2010-02-17 20:28:13 +01:00
gimptextoptions.h app: do the setting of the text box mode properly 2010-02-17 20:28:13 +01:00
gimptexttool-editor.c app: fix XOR cursor drawing artifacts 2010-02-23 23:22:03 +01:00
gimptexttool-editor.h app: move the entire mouse-selection apparatus to gimptexttool-editor.[ch] 2010-02-20 23:20:18 +01:00
gimptexttool.c app: fix XOR cursor drawing artifacts 2010-02-23 23:22:03 +01:00
gimptexttool.h app: fix XOR cursor drawing artifacts 2010-02-23 23:22:03 +01:00
gimpthresholdtool.c Use gimp_display_get_image() instead of display->image 2009-10-06 19:20:44 +02:00
gimpthresholdtool.h Change licence to GPLv3 (and to LGPLv3 for libgimp). 2009-01-17 22:28:01 +00:00
gimptool.c app: add intrastructure to send key_release events to tools 2010-02-18 20:50:11 +01:00
gimptool.h app: add intrastructure to send key_release events to tools 2010-02-18 20:50:11 +01:00
gimptoolcontrol.c Add infrastructure for sending double and triple clicks to tools 2009-06-20 17:37:31 +02:00
gimptoolcontrol.h Add infrastructure for sending double and triple clicks to tools 2009-06-20 17:37:31 +02:00
gimptooloptions-gui.c Change licence to GPLv3 (and to LGPLv3 for libgimp). 2009-01-17 22:28:01 +00:00
gimptooloptions-gui.h Change licence to GPLv3 (and to LGPLv3 for libgimp). 2009-01-17 22:28:01 +00:00
gimptransformoptions.c Change licence to GPLv3 (and to LGPLv3 for libgimp). 2009-01-17 22:28:01 +00:00
gimptransformoptions.h Change licence to GPLv3 (and to LGPLv3 for libgimp). 2009-01-17 22:28:01 +00:00
gimptransformtool.c app: don't try to hide a NULL transform dialog 2010-02-17 09:52:15 +01:00
gimptransformtool.h Change licence to GPLv3 (and to LGPLv3 for libgimp). 2009-01-17 22:28:01 +00:00
gimptransformtoolundo.c Change licence to GPLv3 (and to LGPLv3 for libgimp). 2009-01-17 22:28:01 +00:00
gimptransformtoolundo.h Change licence to GPLv3 (and to LGPLv3 for libgimp). 2009-01-17 22:28:01 +00:00
gimpvectoroptions.c Change licence to GPLv3 (and to LGPLv3 for libgimp). 2009-01-17 22:28:01 +00:00
gimpvectoroptions.h Change licence to GPLv3 (and to LGPLv3 for libgimp). 2009-01-17 22:28:01 +00:00
gimpvectortool.c Give a hint what pressing shift over a vector handle does. 2010-02-09 23:21:42 +01:00
gimpvectortool.h Change licence to GPLv3 (and to LGPLv3 for libgimp). 2009-01-17 22:28:01 +00:00
Makefile.am app: split the text editor code out to a separate file 2010-02-17 21:24:09 +01:00
makefile.msc updated include <string.h> for memcmp() include <string.h> for strcmp() 2008-10-03 19:27:54 +00:00
tool_manager.c app: add intrastructure to send key_release events to tools 2010-02-18 20:50:11 +01:00
tool_manager.h app: add intrastructure to send key_release events to tools 2010-02-18 20:50:11 +01:00
tools-enums.c Remove the newly added tool clipboard facility again, we don't need it 2009-06-24 19:08:24 +02:00
tools-enums.h Remove the newly added tool clipboard facility again, we don't need it 2009-06-24 19:08:24 +02:00
tools-types.h Change licence to GPLv3 (and to LGPLv3 for libgimp). 2009-01-17 22:28:01 +00:00