Gimp/app/display
Lukas Oberhuber 1baeffc913 macos: Fix 7690 (slow drawing)
Gets drawing in the canvas speed on retina displays up to the speed
of FullHD displays on macOS, making 2.99 usable on macOS.

Generic change:

Changes the cursor_label to delay the drawing phase to the idle
queue, from immediate draw on all platforms.

Before the fix in 32049afd (using a deprecated function in Gtk3)
any draws on this label forced a full canvas redraw. This is due
to a quirk in how GtkLabel functions.

The redraw occurred because GtkLabels resize themselves and everything
around them by sending a resize  message any time they receive new
text. These resizes then trigger the full canvas resize which triggers
a full canvas redraw that cannot be optimized by either Gtk or Big Sur.

MacOS changes:

Only redraws the cursor position label and each of the horizontal and
vertical rules (cursor tracking widgets) 3 times a second max for a
total of 9 redraws a second (ideally out of 60, though I don't believe
under any circumstances that GIMP achieves a 60fps).

Each of the cursor tracking widgets gets its own timeslice, and so
will not redraw when the other cursor tracking widgets are drawing.

This is required because Big Sur is merging all draw rects into
one large rect, dramatically slowing down draws.

This timeslicing ensures that draw rects are maintained at the smallest
possible size. So the typical redraw is a small rect around the
brush. However, 9 times a second, the rect will include one of the
3 cursor tracking widgets (rulers and cursor label).

Additionally, the code tries to minimize resizing the width of the
cursor label by checking if the widget is too small for the text,
then setting the char_width to a greater size so that resizes won't
be that common.

This improves the appearance of the widget as it no longer
constantly jumps about in size on each cursor move.

Here is a discussion of the issue:
https://gitlab.gnome.org/GNOME/gimp/-/merge_requests/572#note_1389445

Reviewer's (Jehan) notes:

* The whole issue about GtkLabel resizing is no more after 32049afd. It 
  is normal for a widget to request a resize when needed. We just don't
  want the statusbar to resize and triggering canvas redraws.
* Changing cursor position text into an idle function generally makes
  sense.
  Also it reverts commit 6de9ea7022 which had a bug I hadn't realized
  when I accepted it: when we test for time, we don't know yet if it
  will be the last position change, hence we could "refuse" the last
  update. Therefore displayed cursor position would end up outdated
  on macOS. This new implementation doesn't have the problem (the last
  idle update always happens after the last move).
* The change about giving 1/3 timeslices to side canvas components 
  (rulers and statusbar) is a complete hack to work around the fact that
  macOs doesn't report properly each damaged rectangle. Instead it
  returns a huge bounding box. The workaround here is to expose these
  area separately.
  We have not been able to find a proper solution yet. This is the only
  reason why I accept this code, for macOS only, to at least have
  something usable there.
  See discussions in MRs gimp!572 and gimp-macos-build!86. With these 2 
  MRs, Lukas reported GIMP 2.99 to perform even better than GIMP 2.10 on
  Monterey, though it could not be tested on Big Sur unfortunately.
* Lastly the set_width_chars() thing is also an ugly hack which I will
  try later to revisit (see !581). I only accepted it (with mandatory 
  macOS-only macro) to have an acceptable state for release after seeing
  a screencast where the label size indeed "jumps around" on macOS.
2022-02-19 01:25:51 +00:00
..
.gitignore enums: add intermediate generated enum files to .gitignore 2017-08-24 15:35:27 -04:00
display-enums.c app: update display-enums.c 2020-05-16 15:55:31 +03:00
display-enums.h gimpcanvashandle: implement drop shaped handle 2020-05-15 02:46:49 +02:00
display-types.h app: split GimpDisplay in two classes: GimpDisplay and GimpDisplayImpl 2019-09-04 14:30:43 +02:00
gimpcanvas-style.c app, menus: add "show canvas boundary" display option 2019-09-04 20:47:25 +03:00
gimpcanvas-style.h app, menus: add "show canvas boundary" display option 2019-09-04 20:47:25 +03:00
gimpcanvas.c Use "Returns:" to annotate return values 2019-08-03 07:53:47 +00:00
gimpcanvas.h app: Implement canvas support for touchpad gesture zoom by pinch 2021-04-22 17:45:32 +00:00
gimpcanvasarc.c app, libgimp*, modules: don't use g_type_class_add_private() ... 2018-09-18 14:39:56 -04:00
gimpcanvasarc.h Change the license URL from http://www.gnu.org/licenses/ to https:// 2018-07-11 23:29:46 +02:00
gimpcanvasboundary.c app, libgimp*, pdb, plug-ins: use g_memdup2() instead of g_memdup() 2021-08-26 17:32:09 +02:00
gimpcanvasboundary.h Change the license URL from http://www.gnu.org/licenses/ to https:// 2018-07-11 23:29:46 +02:00
gimpcanvasbufferpreview.c app: in GimpCanvasBufferPreview, take strong ref on buffer 2020-02-03 21:21:10 +02:00
gimpcanvasbufferpreview.h Change the license URL from http://www.gnu.org/licenses/ to https:// 2018-07-11 23:29:46 +02:00
gimpcanvascanvasboundary.c app, menus: add "show canvas boundary" display option 2019-09-04 20:47:25 +03:00
gimpcanvascanvasboundary.h app, menus: add "show canvas boundary" display option 2019-09-04 20:47:25 +03:00
gimpcanvascorner.c app, libgimp*, modules: don't use g_type_class_add_private() ... 2018-09-18 14:39:56 -04:00
gimpcanvascorner.h Change the license URL from http://www.gnu.org/licenses/ to https:// 2018-07-11 23:29:46 +02:00
gimpcanvascursor.c app, libgimp*, modules: don't use g_type_class_add_private() ... 2018-09-18 14:39:56 -04:00
gimpcanvascursor.h Change the license URL from http://www.gnu.org/licenses/ to https:// 2018-07-11 23:29:46 +02:00
gimpcanvasgrid.c app: behave as if "show all" is disabled in GimpCanvasGrid when keeping padding 2019-09-15 16:39:03 +03:00
gimpcanvasgrid.h Change the license URL from http://www.gnu.org/licenses/ to https:// 2018-07-11 23:29:46 +02:00
gimpcanvasgroup.c app, libgimp*, modules: don't use g_type_class_add_private() ... 2018-09-18 14:39:56 -04:00
gimpcanvasgroup.h Change the license URL from http://www.gnu.org/licenses/ to https:// 2018-07-11 23:29:46 +02:00
gimpcanvasguide.c app, libgimp*, modules: don't use g_type_class_add_private() ... 2018-09-18 14:39:56 -04:00
gimpcanvasguide.h Change the license URL from http://www.gnu.org/licenses/ to https:// 2018-07-11 23:29:46 +02:00
gimpcanvashandle.c app: fixed oversight in the canvashandle bounding box. 2020-05-15 03:02:15 +02:00
gimpcanvashandle.h Change the license URL from http://www.gnu.org/licenses/ to https:// 2018-07-11 23:29:46 +02:00
gimpcanvasitem-utils.c Change the license URL from http://www.gnu.org/licenses/ to https:// 2018-07-11 23:29:46 +02:00
gimpcanvasitem-utils.h Change the license URL from http://www.gnu.org/licenses/ to https:// 2018-07-11 23:29:46 +02:00
gimpcanvasitem.c Cleanup GObject signal marshallers 2020-04-01 21:20:01 +00:00
gimpcanvasitem.h app: add gimp_canvas_item_untransform_viewport() 2019-09-04 20:51:43 +03:00
gimpcanvaslayerboundary.c app: GimpCanvasLayerBoundary to show all selected layers area. 2020-05-17 18:57:32 +02:00
gimpcanvaslayerboundary.h app: GimpCanvasLayerBoundary to show all selected layers area. 2020-05-17 18:57:32 +02:00
gimpcanvaslimit.c app: fix signature of gimp_canvas_limit_new() 2020-05-15 00:55:59 +03:00
gimpcanvaslimit.h app: fix signature of gimp_canvas_limit_new() 2020-05-15 00:55:59 +03:00
gimpcanvasline.c app, libgimp*, modules: don't use g_type_class_add_private() ... 2018-09-18 14:39:56 -04:00
gimpcanvasline.h Change the license URL from http://www.gnu.org/licenses/ to https:// 2018-07-11 23:29:46 +02:00
gimpcanvaspassepartout.c app: behave as if "show all" is disabled in GimpCanvasPassePartout when keeping padding 2019-09-15 16:39:03 +03:00
gimpcanvaspassepartout.h Change the license URL from http://www.gnu.org/licenses/ to https:// 2018-07-11 23:29:46 +02:00
gimpcanvaspath.c app, libgimp*, modules: don't use g_type_class_add_private() ... 2018-09-18 14:39:56 -04:00
gimpcanvaspath.h Change the license URL from http://www.gnu.org/licenses/ to https:// 2018-07-11 23:29:46 +02:00
gimpcanvaspen.c app, libgimp*, modules: don't use g_type_class_add_private() ... 2018-09-18 14:39:56 -04:00
gimpcanvaspen.h Change the license URL from http://www.gnu.org/licenses/ to https:// 2018-07-11 23:29:46 +02:00
gimpcanvaspolygon.c app, libgimp*, pdb, plug-ins: use g_memdup2() instead of g_memdup() 2021-08-26 17:32:09 +02:00
gimpcanvaspolygon.h Change the license URL from http://www.gnu.org/licenses/ to https:// 2018-07-11 23:29:46 +02:00
gimpcanvasprogress.c app: use g_clear_pointer() in more places 2019-05-27 17:47:55 +02:00
gimpcanvasprogress.h Change the license URL from http://www.gnu.org/licenses/ to https:// 2018-07-11 23:29:46 +02:00
gimpcanvasproxygroup.c app, libgimp*, modules: don't use g_type_class_add_private() ... 2018-09-18 14:39:56 -04:00
gimpcanvasproxygroup.h Change the license URL from http://www.gnu.org/licenses/ to https:// 2018-07-11 23:29:46 +02:00
gimpcanvasrectangle.c app, libgimp*, modules: don't use g_type_class_add_private() ... 2018-09-18 14:39:56 -04:00
gimpcanvasrectangle.h Change the license URL from http://www.gnu.org/licenses/ to https:// 2018-07-11 23:29:46 +02:00
gimpcanvasrectangleguides.c app, libgimp*, modules: don't use g_type_class_add_private() ... 2018-09-18 14:39:56 -04:00
gimpcanvasrectangleguides.h Change the license URL from http://www.gnu.org/licenses/ to https:// 2018-07-11 23:29:46 +02:00
gimpcanvassamplepoint.c app, libgimp*, modules: don't use g_type_class_add_private() ... 2018-09-18 14:39:56 -04:00
gimpcanvassamplepoint.h Change the license URL from http://www.gnu.org/licenses/ to https:// 2018-07-11 23:29:46 +02:00
gimpcanvastextcursor.c app, libgimp*, modules: don't use g_type_class_add_private() ... 2018-09-18 14:39:56 -04:00
gimpcanvastextcursor.h MR !19: Add support for vertical text writing. 2018-07-30 19:14:49 +02:00
gimpcanvastransformguides.c app, libgimp*, modules: don't use g_type_class_add_private() ... 2018-09-18 14:39:56 -04:00
gimpcanvastransformguides.h Change the license URL from http://www.gnu.org/licenses/ to https:// 2018-07-11 23:29:46 +02:00
gimpcanvastransformpreview.c app: clip transform-tools preview according to clipping mode 2020-01-11 17:13:07 +02:00
gimpcanvastransformpreview.h app: use a pickable instead of a drawable in GimpCanvasTransformPreview 2019-08-11 00:28:43 +03:00
gimpcursorview.c app: fix alignment of generic pixel buffers 2020-05-20 08:53:41 +03:00
gimpcursorview.h app, libgimp*, modules: don't use g_type_class_add_private() ... 2018-09-18 14:39:56 -04:00
gimpdisplay-foreach.c Change the license URL from http://www.gnu.org/licenses/ to https:// 2018-07-11 23:29:46 +02:00
gimpdisplay-foreach.h Change the license URL from http://www.gnu.org/licenses/ to https:// 2018-07-11 23:29:46 +02:00
gimpdisplay-handlers.c app, menus: add "show all" mode to GimpDisplayShell; "View -> Show All" toggle 2019-09-04 20:47:21 +03:00
gimpdisplay-handlers.h Change the license URL from http://www.gnu.org/licenses/ to https:// 2018-07-11 23:29:46 +02:00
gimpdisplay.c app, libgimpwidgets: drop the thumbnail icon feature. 2021-07-06 11:21:37 +02:00
gimpdisplay.h app, menus: add "show all" mode to GimpDisplayShell; "View -> Show All" toggle 2019-09-04 20:47:21 +03:00
gimpdisplayshell-actions.c app: GimpAction now has a "reason" parameter to explain being disabled. 2021-04-23 19:43:30 +02:00
gimpdisplayshell-actions.h Change the license URL from http://www.gnu.org/licenses/ to https:// 2018-07-11 23:29:46 +02:00
gimpdisplayshell-appearance.c Issue #5813: Hidden rulers in GIMP 2.99 still take the same place. 2020-11-29 12:46:29 +01:00
gimpdisplayshell-appearance.h app: add option to keep canvas padding in "show all" mode 2019-09-15 16:32:38 +03:00
gimpdisplayshell-autoscroll.c Change the license URL from http://www.gnu.org/licenses/ to https:// 2018-07-11 23:29:46 +02:00
gimpdisplayshell-autoscroll.h Change the license URL from http://www.gnu.org/licenses/ to https:// 2018-07-11 23:29:46 +02:00
gimpdisplayshell-callbacks.c app: replace using the "draw" signal by "expose-event" on GTK+2. 2021-11-17 21:33:43 +01:00
gimpdisplayshell-callbacks.h Change the license URL from http://www.gnu.org/licenses/ to https:// 2018-07-11 23:29:46 +02:00
gimpdisplayshell-close.c Change the license URL from http://www.gnu.org/licenses/ to https:// 2018-07-11 23:29:46 +02:00
gimpdisplayshell-close.h Change the license URL from http://www.gnu.org/licenses/ to https:// 2018-07-11 23:29:46 +02:00
gimpdisplayshell-cursor.c Change the license URL from http://www.gnu.org/licenses/ to https:// 2018-07-11 23:29:46 +02:00
gimpdisplayshell-cursor.h Change the license URL from http://www.gnu.org/licenses/ to https:// 2018-07-11 23:29:46 +02:00
gimpdisplayshell-dnd.c app: properly blink the right locked layer when pixels are locked. 2022-02-15 22:08:23 +01:00
gimpdisplayshell-dnd.h Change the license URL from http://www.gnu.org/licenses/ to https:// 2018-07-11 23:29:46 +02:00
gimpdisplayshell-draw.c Issue #3781 - Display artifacts on HiDPI when render cache is invalidated 2019-09-11 21:19:26 +03:00
gimpdisplayshell-draw.h Change the license URL from http://www.gnu.org/licenses/ to https:// 2018-07-11 23:29:46 +02:00
gimpdisplayshell-expose.c Change the license URL from http://www.gnu.org/licenses/ to https:// 2018-07-11 23:29:46 +02:00
gimpdisplayshell-expose.h Change the license URL from http://www.gnu.org/licenses/ to https:// 2018-07-11 23:29:46 +02:00
gimpdisplayshell-filter-dialog.c app: multi-layer aware layers-mask-add and layers-mask-add-button. 2020-05-17 18:32:16 +02:00
gimpdisplayshell-filter-dialog.h Change the license URL from http://www.gnu.org/licenses/ to https:// 2018-07-11 23:29:46 +02:00
gimpdisplayshell-filter.c app: remove gimp_display_shell_filter_new(), it's empty and useless 2019-07-25 09:55:55 +02:00
gimpdisplayshell-filter.h app: remove gimp_display_shell_filter_new(), it's empty and useless 2019-07-25 09:55:55 +02:00
gimpdisplayshell-grab.c Change the license URL from http://www.gnu.org/licenses/ to https:// 2018-07-11 23:29:46 +02:00
gimpdisplayshell-grab.h Change the license URL from http://www.gnu.org/licenses/ to https:// 2018-07-11 23:29:46 +02:00
gimpdisplayshell-handlers.c app: implement multi-paths selection. 2021-12-23 12:55:11 +01:00
gimpdisplayshell-handlers.h Change the license URL from http://www.gnu.org/licenses/ to https:// 2018-07-11 23:29:46 +02:00
gimpdisplayshell-items.c app, menus: add "show canvas boundary" display option 2019-09-04 20:47:25 +03:00
gimpdisplayshell-items.h Change the license URL from http://www.gnu.org/licenses/ to https:// 2018-07-11 23:29:46 +02:00
gimpdisplayshell-layer-select.c app: Layer Selection Advance (up/down) now multi-layer aware. 2020-05-17 18:57:32 +02:00
gimpdisplayshell-layer-select.h Change the license URL from http://www.gnu.org/licenses/ to https:// 2018-07-11 23:29:46 +02:00
gimpdisplayshell-profile.c app: make display update much faster again 2019-07-16 17:15:34 +02:00
gimpdisplayshell-profile.h Change the license URL from http://www.gnu.org/licenses/ to https:// 2018-07-11 23:29:46 +02:00
gimpdisplayshell-progress.c Change the license URL from http://www.gnu.org/licenses/ to https:// 2018-07-11 23:29:46 +02:00
gimpdisplayshell-progress.h Change the license URL from http://www.gnu.org/licenses/ to https:// 2018-07-11 23:29:46 +02:00
gimpdisplayshell-render.c Issue #3781 - Display artifacts on HiDPI when render cache is invalidated 2019-09-11 21:19:26 +03:00
gimpdisplayshell-render.h Issue #3781 - Display artifacts on HiDPI when render cache is invalidated 2019-09-11 21:19:26 +03:00
gimpdisplayshell-rotate-dialog.c app: multi-layer aware layers-mask-add and layers-mask-add-button. 2020-05-17 18:32:16 +02:00
gimpdisplayshell-rotate-dialog.h Change the license URL from http://www.gnu.org/licenses/ to https:// 2018-07-11 23:29:46 +02:00
gimpdisplayshell-rotate.c app: pause/resume active tool when rotating canvas 2020-05-15 00:38:47 +03:00
gimpdisplayshell-rotate.h Change the license URL from http://www.gnu.org/licenses/ to https:// 2018-07-11 23:29:46 +02:00
gimpdisplayshell-rulers.c Change the license URL from http://www.gnu.org/licenses/ to https:// 2018-07-11 23:29:46 +02:00
gimpdisplayshell-rulers.h Change the license URL from http://www.gnu.org/licenses/ to https:// 2018-07-11 23:29:46 +02:00
gimpdisplayshell-scale-dialog.c app: multi-layer aware layers-mask-add and layers-mask-add-button. 2020-05-17 18:32:16 +02:00
gimpdisplayshell-scale-dialog.h Change the license URL from http://www.gnu.org/licenses/ to https:// 2018-07-11 23:29:46 +02:00
gimpdisplayshell-scale.c app: fix leak of a GdkPoint and improve stable zoom centering logics. 2021-08-20 20:51:29 +02:00
gimpdisplayshell-scale.h app: behave as if "show all" is disabled in scroll/zoom actions when keeping padding 2019-09-15 16:39:00 +03:00
gimpdisplayshell-scroll.c app: behave as if "show all" is disabled in scroll/zoom actions when keeping padding 2019-09-15 16:39:00 +03:00
gimpdisplayshell-scroll.h app: improve display scroll/zoom-related behavior in "show all" mode 2019-09-04 20:47:25 +03:00
gimpdisplayshell-scrollbars.c app: behave as if "show all" is disabled in scroll/zoom actions when keeping padding 2019-09-15 16:39:00 +03:00
gimpdisplayshell-scrollbars.h Change the license URL from http://www.gnu.org/licenses/ to https:// 2018-07-11 23:29:46 +02:00
gimpdisplayshell-selection.c app: replace using the "draw" signal by "expose-event" on GTK+2. 2021-11-17 21:33:43 +01:00
gimpdisplayshell-selection.h Issue #5640: Selection tools not showing selection on Wayland. 2021-05-09 02:47:47 +02:00
gimpdisplayshell-title.c app: window title stays single layer for now. 2020-08-01 18:25:45 +02:00
gimpdisplayshell-title.h Change the license URL from http://www.gnu.org/licenses/ to https:// 2018-07-11 23:29:46 +02:00
gimpdisplayshell-tool-events.c app: Implement canvas support for touchpad gesture zoom by pinch 2021-04-22 17:45:32 +00:00
gimpdisplayshell-tool-events.h app: Implement canvas support for touchpad gesture zoom by pinch 2021-04-22 17:45:32 +00:00
gimpdisplayshell-transform.c app: add "clip" parameter to gimp_display_shell_untransform_viewport() 2019-09-04 20:47:25 +03:00
gimpdisplayshell-transform.h Fix typos 2020-11-19 21:56:25 +01:00
gimpdisplayshell-utils.c app: add gimp_display_shell_constrain_angle() 2020-05-15 00:38:47 +03:00
gimpdisplayshell-utils.h app: add gimp_display_shell_constrain_angle() 2020-05-15 00:38:47 +03:00
gimpdisplayshell.c app: implement multi-paths selection. 2021-12-23 12:55:11 +01:00
gimpdisplayshell.h app: fix leak of a GdkPoint and improve stable zoom centering logics. 2021-08-20 20:51:29 +02:00
gimpimagewindow.c macos: version 10.7 long no longer supported 2022-02-07 13:34:04 +00:00
gimpimagewindow.h Change the license URL from http://www.gnu.org/licenses/ to https:// 2018-07-11 23:29:46 +02:00
gimpmotionbuffer.c Use "Returns:" to annotate return values 2019-08-03 07:53:47 +00:00
gimpmotionbuffer.h Change the license URL from http://www.gnu.org/licenses/ to https:// 2018-07-11 23:29:46 +02:00
gimpmultiwindowstrategy.c Change the license URL from http://www.gnu.org/licenses/ to https:// 2018-07-11 23:29:46 +02:00
gimpmultiwindowstrategy.h Change the license URL from http://www.gnu.org/licenses/ to https:// 2018-07-11 23:29:46 +02:00
gimpnavigationeditor.c app: rename GimpImageViewable to GimpImageProxy 2019-11-04 13:27:02 +02:00
gimpnavigationeditor.h app: rename GimpImageViewable to GimpImageProxy 2019-11-04 13:27:02 +02:00
gimpscalecombobox.c Issue 7128: Mouse wheel zoom when cursor is over the zoom scrolldown. 2021-08-10 15:01:14 +02:00
gimpscalecombobox.h Change the license URL from http://www.gnu.org/licenses/ to https:// 2018-07-11 23:29:46 +02:00
gimpsinglewindowstrategy.c Change the license URL from http://www.gnu.org/licenses/ to https:// 2018-07-11 23:29:46 +02:00
gimpsinglewindowstrategy.h Change the license URL from http://www.gnu.org/licenses/ to https:// 2018-07-11 23:29:46 +02:00
gimpstatusbar.c macos: Fix 7690 (slow drawing) 2022-02-19 01:25:51 +00:00
gimpstatusbar.h macos: Fix 7690 (slow drawing) 2022-02-19 01:25:51 +00:00
gimptoolcompass.c app: update tool widgets on display-shell changes more granularly 2020-05-26 10:46:01 +03:00
gimptoolcompass.h app: add "orientation" property to GimpToolCompass + improvements 2018-07-15 19:09:06 -04:00
gimptooldialog.c gir: (skip) functions with varargs 2020-05-21 13:49:38 +02:00
gimptooldialog.h Change the license URL from http://www.gnu.org/licenses/ to https:// 2018-07-11 23:29:46 +02:00
gimptoolfocus.c app: update tool widgets on display-shell changes more granularly 2020-05-26 10:46:01 +03:00
gimptoolfocus.h app: add GimpToolFocus tool widget 2020-05-15 00:48:37 +03:00
gimptoolgui.c Remove unnecessary gimpmarshal.h and gimpwidgetsmarshal.h includes. 2021-08-13 18:01:13 +00:00
gimptoolgui.h app, libgimp, pdb: color picker multi-layer aware. 2020-05-17 18:57:32 +02:00
gimptoolgyroscope.c libgimbase: merge gimpparam.h into gimpparamspecs.h 2019-07-31 10:16:21 +02:00
gimptoolgyroscope.h Change the license URL from http://www.gnu.org/licenses/ to https:// 2018-07-11 23:29:46 +02:00
gimptoolhandlegrid.c app, libgimp*, modules: don't use g_type_class_add_private() ... 2018-09-18 14:39:56 -04:00
gimptoolhandlegrid.h Change the license URL from http://www.gnu.org/licenses/ to https:// 2018-07-11 23:29:46 +02:00
gimptoolline.c Cleanup GObject signal marshallers 2020-04-01 21:20:01 +00:00
gimptoolline.h Change the license URL from http://www.gnu.org/licenses/ to https:// 2018-07-11 23:29:46 +02:00
gimptoolpath.c app: allowing to "Lock position" on layer groups. 2022-02-15 22:08:23 +01:00
gimptoolpath.h app: implement a few more functions for the ToolPath context menu. 2020-05-25 22:13:45 +02:00
gimptoolpolygon.c Remove unnecessary gimpmarshal.h and gimpwidgetsmarshal.h includes. 2021-08-13 18:01:13 +00:00
gimptoolpolygon.h app: add GimpToolPolygon::change-complete signal 2019-04-25 06:07:57 -04:00
gimptoolrectangle.c Remove unnecessary gimpmarshal.h and gimpwidgetsmarshal.h includes. 2021-08-13 18:01:13 +00:00
gimptoolrectangle.h Change the license URL from http://www.gnu.org/licenses/ to https:// 2018-07-11 23:29:46 +02:00
gimptoolrotategrid.c app, libgimp*, modules: don't use g_type_class_add_private() ... 2018-09-18 14:39:56 -04:00
gimptoolrotategrid.h Change the license URL from http://www.gnu.org/licenses/ to https:// 2018-07-11 23:29:46 +02:00
gimptoolsheargrid.c app: fix indentation in gimptoolsheargrid.c 2020-01-06 21:35:52 +02:00
gimptoolsheargrid.h Change the license URL from http://www.gnu.org/licenses/ to https:// 2018-07-11 23:29:46 +02:00
gimptooltransform3dgrid.c app: fix spacing in gimptooltransform3dgrid.c 2020-01-10 23:21:36 +02:00
gimptooltransform3dgrid.h app, cursors: add GimpToolTransform3DGrid tool widget 2020-01-06 21:52:51 +02:00
gimptooltransformgrid.c Fix typos 2020-11-19 21:56:25 +01:00
gimptooltransformgrid.h app: add a protected gimp_tool_transform_grid_get_handle() function 2020-01-06 21:50:00 +02:00
gimptoolwidget.c app: fix precondition return values in gimp_tool_widget_get_popup() 2020-05-26 11:05:58 +03:00
gimptoolwidget.h app: update tool widgets on display-shell changes more granularly 2020-05-26 10:46:01 +03:00
gimptoolwidgetgroup.c app: handle GimpToolWidget::message in GimpToolWidgetGroup 2019-01-13 08:15:22 -05:00
gimptoolwidgetgroup.h Change the license URL from http://www.gnu.org/licenses/ to https:// 2018-07-11 23:29:46 +02:00
Makefile.am macos: support standard fullscreen 2022-01-24 14:49:42 +00:00
meson.build app, libgimpwidgets: drop the thumbnail icon feature. 2021-07-06 11:21:37 +02:00