Gimp/app/display
Massimo Valentini 2aa4426d4f app: improvements in code executed a lot while painting.
This keeps the same rectangle packing behaviour, so to behave exactly as
before for what concerns batching the updates, but should be lighter
when looping to find the first good rectangle to use.

In rtree_insert(), some conditions in the if tests are implied by
previous conditions. And therefore the 2 successive for loops are
actually identical.

In rtree_node_insert(), it is wrong/harmful to insert zero sized
rectangles in the tree because they can never be selected and just make
the list longer. So rtree_node_create() should just return NULL when w
or h are 0.

See bug 694917, comments 51 to 61.
2018-03-31 00:18:46 +02:00
..
.gitignore enums: add intermediate generated enum files to .gitignore 2017-08-24 15:35:27 -04:00
display-enums.c app: add dashed canvas handle types 2017-10-09 12:48:49 -04:00
display-enums.h app: add dashed canvas handle types 2017-10-09 12:48:49 -04:00
display-types.h app: move all propgui files from app/widgets/ to new folder app/propgui/ 2017-07-03 12:29:41 +02:00
gimpcanvas-style.c app: rename gimp_cairo_foo() functions to follow cairo naming scheme 2018-03-07 06:18:20 -05:00
gimpcanvas-style.h Bug 761270 - layer boundary not re-drawn correctly on scrolling 2016-03-26 22:50:10 +01:00
gimpcanvas.c app: use a lot of g_clear_object() and g_clear_pointer() 2017-07-15 18:42:44 +02:00
gimpcanvas.h Bug 677375: tools do not strictly follow mouse... 2012-06-10 17:22:33 +02:00
gimpcanvasarc.c app: rename gimp_cairo_foo() functions to follow cairo naming scheme 2018-03-07 06:18:20 -05:00
gimpcanvasarc.h app: add gimp_canvas_arc_set() 2017-06-27 00:46:24 +02:00
gimpcanvasboundary.c app: rename gimp_cairo_foo() functions to follow cairo naming scheme 2018-03-07 06:18:20 -05:00
gimpcanvasboundary.h app: BoundSeg -> GimpBoundSeg, boundary_foo() -> gimp_boundary_foo() 2012-05-02 17:46:02 +02:00
gimpcanvasbufferpreview.c app: some cleanup in GimpCanvasBufferPreview 2015-03-01 00:18:10 +01:00
gimpcanvasbufferpreview.h app: add canvas buffer preview 2015-02-27 20:21:52 +01:00
gimpcanvascorner.c app: add gimp_canvas_corner_set() which sets everything except the anchor 2017-06-24 19:48:09 +02:00
gimpcanvascorner.h app: add gimp_canvas_corner_set() which sets everything except the anchor 2017-06-24 19:48:09 +02:00
gimpcanvascursor.c app: remove GimpDisplayShell parameters from all GimpCanvasItem vfuncs 2013-04-18 16:46:01 +02:00
gimpcanvascursor.h app: add and use more GimpCanvasItem setters 2011-03-28 15:15:43 +02:00
gimpcanvasgrid.c app: use a lot of g_clear_object() and g_clear_pointer() 2017-07-15 18:42:44 +02:00
gimpcanvasgrid.h app: add a canvas grid item class and use it to draw the grid 2010-10-02 20:57:40 +02:00
gimpcanvasgroup.c app: properly remove the children when a GimpCanvasGroup gets destroyed 2017-06-10 22:08:09 +02:00
gimpcanvasgroup.h Bug 735810 - performance shrinkage of Paths tool 2016-01-24 00:57:16 +01:00
gimpcanvasguide.c Bug 761270 - layer boundary not re-drawn correctly on scrolling 2016-03-26 22:50:10 +01:00
gimpcanvasguide.h app: move all guide styling to gimpcanvas-style. 2016-02-03 19:38:32 +01:00
gimpcanvashandle.c app: rename gimp_cairo_foo() functions to follow cairo naming scheme 2018-03-07 06:18:20 -05:00
gimpcanvashandle.h app: add utility function gimp_canvas_handle_calc_size() 2017-06-20 01:02:23 +02:00
gimpcanvasitem-utils.c app: add various handle and vectors hit tests to gimpcanvasitems-utils.[ch] 2017-06-21 23:21:26 +02:00
gimpcanvasitem-utils.h app: add various handle and vectors hit tests to gimpcanvasitems-utils.[ch] 2017-06-21 23:21:26 +02:00
gimpcanvasitem.c app: replace all g_assert() by the newly added gimp_assert() 2018-02-11 22:23:10 +01:00
gimpcanvasitem.h app: add gimp_canvas_item_transform_distance() and transform_distance_square() 2017-06-10 21:55:40 +02:00
gimpcanvaslayerboundary.c app: rename more stuff from "floating sel" to "floating selection" 2016-05-20 16:46:26 +02:00
gimpcanvaslayerboundary.h app: add a layer boundary canvas item class 2010-10-03 00:28:40 +02:00
gimpcanvasline.c app: remove GimpDisplayShell parameters from all GimpCanvasItem vfuncs 2013-04-18 16:46:01 +02:00
gimpcanvasline.h app: change GimpCanvasItem setters to take GimpCanvasItem* 2011-03-28 12:20:36 +02:00
gimpcanvaspassepartout.c Bug 770689 - Custom transparency controller for dark... 2018-01-02 14:33:27 +01:00
gimpcanvaspassepartout.h app/display: add new canvas item GimpCanvasPassePartout 2010-10-18 22:17:27 +02:00
gimpcanvaspath.c app: remove GimpDisplayShell parameters from all GimpCanvasItem vfuncs 2013-04-18 16:46:01 +02:00
gimpcanvaspath.h app: Fix broken header guards. 2014-05-25 20:50:56 -04:00
gimpcanvaspen.c app: remove GimpDisplayShell parameters from all GimpCanvasItem vfuncs 2013-04-18 16:46:01 +02:00
gimpcanvaspen.h app: whitespace fix in gimpcanvaspen.h 2013-04-30 17:18:28 +02:00
gimpcanvaspolygon.c app: use gimp_transform_polygon() in GimpCanvasPolygon 2018-02-03 05:58:41 -05:00
gimpcanvaspolygon.h app: add gimp_canvas_polygon_set_points() 2017-06-23 01:40:35 +02:00
gimpcanvasprogress.c app: throttle GimpCanvasProgress updates 2018-03-16 04:34:00 -04:00
gimpcanvasprogress.h app: add GimpCanvasProgress, an on-canvas progress item 2010-11-09 19:35:04 +01:00
gimpcanvasproxygroup.c app: use a lot of g_clear_object() and g_clear_pointer() 2017-07-15 18:42:44 +02:00
gimpcanvasproxygroup.h app: add a "shell" property to GimpCanvasItem 2010-10-01 14:13:45 +02:00
gimpcanvasrectangle.c app: remove GimpDisplayShell parameters from all GimpCanvasItem vfuncs 2013-04-18 16:46:01 +02:00
gimpcanvasrectangle.h app: port GimpMagnifyTool away from draw_tool_pause()/resume() 2011-03-28 12:22:29 +02:00
gimpcanvasrectangleguides.c app: remove GimpDisplayShell parameters from all GimpCanvasItem vfuncs 2013-04-18 16:46:01 +02:00
gimpcanvasrectangleguides.h app: add "n-lines" property to GimpCanvasRectangleGuides 2011-07-24 17:49:31 +02:00
gimpcanvassamplepoint.c Bug 788399 - Corrupted display of sample points 2017-10-01 19:39:56 +02:00
gimpcanvassamplepoint.h app: gimp_canvas_sample_point_set(): x and y are integers not doubles 2011-04-03 23:42:26 +02:00
gimpcanvastextcursor.c app: remove GimpDisplayShell parameters from all GimpCanvasItem vfuncs 2013-04-18 16:46:01 +02:00
gimpcanvastextcursor.h app: add a "shell" property to GimpCanvasItem 2010-10-01 14:13:45 +02:00
gimpcanvastransformguides.c app: use gimp_transform_polygon() in GimpCanvasTransformGuides 2018-01-28 16:37:34 -05:00
gimpcanvastransformguides.h app: use gimp_transform_polygon() in GimpCanvasTransformGuides 2018-01-28 16:37:34 -05:00
gimpcanvastransformpreview.c app: pass near-plane z-coordinate to gegl:transform 2018-01-28 16:37:34 -05:00
gimpcanvastransformpreview.h app: use matrix to determine if doing perspective transform in preview 2017-11-14 11:24:56 -05:00
gimpcursorview.c app: in GimpCursorView, move cursor info update to an idle function 2017-09-08 11:23:06 -04:00
gimpcursorview.h Bug 647957 - GimpColorFrame's CMYK mode is not color managed 2016-10-18 22:48:04 +02:00
gimpdisplay-foreach.c app: fix implicit enum casting 2015-01-10 00:02:28 +01:00
gimpdisplay-foreach.h Change licence to GPLv3 (and to LGPLv3 for libgimp). 2009-01-17 22:28:01 +00:00
gimpdisplay-handlers.c Move refing/unrefing the image to gimp_display_set_image() 2009-10-07 21:13:39 +02:00
gimpdisplay-handlers.h Move refing/unrefing the image to gimp_display_set_image() 2009-10-07 21:13:39 +02:00
gimpdisplay.c app: replace all g_assert() by the newly added gimp_assert() 2018-02-11 22:23:10 +01:00
gimpdisplay.h app: get rid of including menus/ stuff from widgets/ and other places 2016-11-23 19:38:44 +01:00
gimpdisplayshell-actions.c app: add gimp_display_shell_set_action_sensitive() 2016-05-16 13:00:27 +02:00
gimpdisplayshell-actions.h app: add gimp_display_shell_set_action_sensitive() 2016-05-16 13:00:27 +02:00
gimpdisplayshell-appearance.c app: add gimpdisplayshell-actions.[ch] 2016-05-14 22:54:11 +02:00
gimpdisplayshell-appearance.h app: turn the transform preview into a GimpCanvasItem 2011-03-27 16:40:41 +02:00
gimpdisplayshell-autoscroll.c app: add gimp_context_get_foreground,background_pixel() 2012-05-02 17:50:41 +02:00
gimpdisplayshell-autoscroll.h Change licence to GPLv3 (and to LGPLv3 for libgimp). 2009-01-17 22:28:01 +00:00
gimpdisplayshell-callbacks.c Bug 784480 - Clicking on-canvas GUI with a tablet stylus crashes... 2018-01-16 21:48:48 +01:00
gimpdisplayshell-callbacks.h app: remove the manual double buffering from the canvas 2013-04-28 14:56:07 +02:00
gimpdisplayshell-close.c Deprecate stock items for good and change all icon defines to GIMP_ICON_* 2017-03-05 16:01:59 +01:00
gimpdisplayshell-close.h Change licence to GPLv3 (and to LGPLv3 for libgimp). 2009-01-17 22:28:01 +00:00
gimpdisplayshell-cursor.c app: add GimpDockContainer::get_dialog_factory() 2016-11-25 13:26:08 +01:00
gimpdisplayshell-cursor.h app: rename the functions dealing with GimpDisplayShell's software cursor 2011-02-20 14:46:52 +01:00
gimpdisplayshell-dnd.c Move the new "default_new_layer_mode" APIs to the image... 2017-08-21 20:18:00 +02:00
gimpdisplayshell-dnd.h Change licence to GPLv3 (and to LGPLv3 for libgimp). 2009-01-17 22:28:01 +00:00
gimpdisplayshell-draw.c app: rename gimp_cairo_foo() functions to follow cairo naming scheme 2018-03-07 06:18:20 -05:00
gimpdisplayshell-draw.h app: remove rectangle parameters from gimp_display_shell_draw_checkerboard() 2013-04-20 10:47:13 +02:00
gimpdisplayshell-expose.c Bug 735810 - performance shrinkage of Paths tool 2016-01-24 00:59:33 +01:00
gimpdisplayshell-expose.h app: remove the unused gimp_display_shell_expose_vectors() 2010-11-13 23:02:07 +01:00
gimpdisplayshell-filter-dialog.c app: use a propgui for display filters that return a NULL config widget 2017-11-02 16:12:33 -04:00
gimpdisplayshell-filter-dialog.h Change licence to GPLv3 (and to LGPLv3 for libgimp). 2009-01-17 22:28:01 +00:00
gimpdisplayshell-filter.c app: avoid unnecessary work when all display filters are disabled 2017-11-05 09:03:04 -05:00
gimpdisplayshell-filter.h app: add a GimpColorConfig to GimpDisplayShell 2016-05-14 00:56:26 +02:00
gimpdisplayshell-grab.c Bug 702369 - foreground selection doesnt work with image precision >8 bit 2013-06-22 22:26:46 +02:00
gimpdisplayshell-grab.h app: sprinkle const qualifiers in the tool event callback functions 2011-05-31 23:18:11 +02:00
gimpdisplayshell-handlers.c app: use a lot of g_clear_object() and g_clear_pointer() 2017-07-15 18:42:44 +02:00
gimpdisplayshell-handlers.h Change licence to GPLv3 (and to LGPLv3 for libgimp). 2009-01-17 22:28:01 +00:00
gimpdisplayshell-icon.c app: use the new icons 2015-10-26 08:14:05 +01:00
gimpdisplayshell-icon.h Simplify GimpDisplayShell's icon update API 2009-10-08 23:30:56 +02:00
gimpdisplayshell-items.c app: use a lot of g_clear_object() and g_clear_pointer() 2017-07-15 18:42:44 +02:00
gimpdisplayshell-items.h app: add an unrotated canvas item group to GimpDisplayShell 2013-04-24 00:01:01 +02:00
gimpdisplayshell-layer-select.c Bug 793951 - Fix crashes when some external APIs fail 2018-03-26 21:27:42 +02:00
gimpdisplayshell-layer-select.h Change licence to GPLv3 (and to LGPLv3 for libgimp). 2009-01-17 22:28:01 +00:00
gimpdisplayshell-profile.c app: don't upscale preallocated display buffers by GIMP_DISPLAY_RENDER_MAX_SCALE 2017-12-31 11:57:22 -05:00
gimpdisplayshell-profile.h app: remove gimp_display_shell_profile_convert_buffer() 2016-05-30 01:26:50 +02:00
gimpdisplayshell-progress.c app: add GIMP_MESSAGE_BUG_WARNING + GIMP_MESSAGE_BUG_CRITICAL severity. 2018-02-12 18:22:15 +01:00
gimpdisplayshell-progress.h Add gimp_statusbar_override/restore_window_title() 2009-09-28 22:55:52 +02:00
gimpdisplayshell-render.c app: fix formatting in previous commit 2018-03-28 00:44:33 +02:00
gimpdisplayshell-render.h Bug 759287 - Canvas Tearing While in Rotated Canvas View 2017-12-09 05:01:30 -05:00
gimpdisplayshell-rotate-dialog.c Deprecate stock items for good and change all icon defines to GIMP_ICON_* 2017-03-05 16:01:59 +01:00
gimpdisplayshell-rotate-dialog.h app: add a rotate dialog to rotate to exact degrees 2013-04-20 23:22:14 +02:00
gimpdisplayshell-rotate.c Bug 768726 - Canvas rotation, flipping applied in image space ... 2016-07-21 21:24:06 +00:00
gimpdisplayshell-rotate.h Bug 758049 - Please add canvas flipping 2015-11-13 18:51:32 +01:00
gimpdisplayshell-rulers.c app: avoid expensive rotated scale calculation when scale_x == scale_y 2016-08-09 22:28:21 +00:00
gimpdisplayshell-rulers.h app: move the code to update scrollbars and rulers to their own files 2016-01-05 18:05:38 +01:00
gimpdisplayshell-scale-dialog.c app: get rid of icons in dialog buttons (use labels not stock IDs) 2017-02-12 16:18:54 +01:00
gimpdisplayshell-scale-dialog.h Change licence to GPLv3 (and to LGPLv3 for libgimp). 2009-01-17 22:28:01 +00:00
gimpdisplayshell-scale.c app: fix comment typos. 2017-11-14 04:45:13 +01:00
gimpdisplayshell-scale.h app: allow to zoom with middle mouse button + control + drag up/down 2016-11-16 14:41:30 +01:00
gimpdisplayshell-scroll.c app: code layout/typo fixes 2016-08-09 21:55:19 +00:00
gimpdisplayshell-scroll.h app: move the code to update scrollbars and rulers to their own files 2016-01-05 18:05:38 +01:00
gimpdisplayshell-scrollbars.c app: make rulers rotation aware 2016-08-09 21:31:07 +00:00
gimpdisplayshell-scrollbars.h app: add gimp_display_shell_scrollbars_update_steppers() 2016-01-05 20:53:34 +01:00
gimpdisplayshell-selection.c app: rename gimp_cairo_foo() functions to follow cairo naming scheme 2018-03-07 06:18:20 -05:00
gimpdisplayshell-selection.h app: get rid of selection_control() in core/ and display/ 2010-10-09 20:28:37 +02:00
gimpdisplayshell-title.c app: more gimp_unit_get_scaled_digits() usage. 2017-01-24 00:28:33 +01:00
gimpdisplayshell-title.h Remove gimp_display_shell_title() because it was completely empty 2009-09-28 22:55:39 +02:00
gimpdisplayshell-tool-events.c app: return from gimp_display_shell_space_pressed() immediately when... 2018-03-16 19:52:16 +01:00
gimpdisplayshell-tool-events.h Bug 732160 - menu activation with alt-somekey makes tools stay... 2016-04-15 00:22:25 +01:00
gimpdisplayshell-transform.c Bug 753412 - New Canvas rotation feature rotates brush. 2017-12-22 17:52:29 -05:00
gimpdisplayshell-transform.h Bug 791741 - Transparent rectangles when image is drawn 2017-12-19 15:04:51 -05:00
gimpdisplayshell-utils.c app: new gimp_display_shell_get_line_status(). 2017-12-22 23:24:24 +01:00
gimpdisplayshell-utils.h app: new gimp_display_shell_get_line_status(). 2017-12-22 23:24:24 +01:00
gimpdisplayshell.c app: replace all g_assert() by the newly added gimp_assert() 2018-02-11 22:23:10 +01:00
gimpdisplayshell.h Bug 724692 - Canvas rotation stuck with specific order of actions. 2018-03-16 14:23:41 +01:00
gimpdisplayxfer.c app: improvements in code executed a lot while painting. 2018-03-31 00:18:46 +02:00
gimpdisplayxfer.h app: make projection chunk size and display render chunk size configurable 2014-06-04 01:23:41 +02:00
gimpimagewindow.c app: replace all g_assert() by the newly added gimp_assert() 2018-02-11 22:23:10 +01:00
gimpimagewindow.h app: get rid of including menus/ stuff from widgets/ and other places 2016-11-23 19:38:44 +01:00
gimpmotionbuffer.c app: misc cleanup in gimpcoords-interpolate 2018-02-03 05:58:42 -05:00
gimpmotionbuffer.h app: refactor all motion managment to use scale factors passed with coords 2014-11-17 00:03:13 +02:00
gimpmultiwindowstrategy.c app: make things behave more reasonable with multiple monitors 2014-05-02 03:01:23 +02:00
gimpmultiwindowstrategy.h app: Make positioning of new dockables depend on window mode 2011-07-03 21:20:36 +02:00
gimpnavigationeditor.c app: replace all g_assert() by the newly added gimp_assert() 2018-02-11 22:23:10 +01:00
gimpnavigationeditor.h app: Undeprecate GimpNavigationEditor 2011-07-05 22:13:18 +02:00
gimpscalecombobox.c app: GimpScaleComboBox resized appropriately with its contents. 2017-11-14 05:08:02 +01:00
gimpscalecombobox.h app: GimpScaleComboBox: don't derive from GtkComboBoxEntry 2011-04-18 21:49:23 +02:00
gimpsinglewindowstrategy.c app: make things behave more reasonable with multiple monitors 2014-05-02 03:01:23 +02:00
gimpsinglewindowstrategy.h app: Make positioning of new dockables depend on window mode 2011-07-03 21:20:36 +02:00
gimpstatusbar.c Bug 792439 - Status bar: Rotated angle is too close to zoom arrow. 2018-01-12 01:50:51 +01:00
gimpstatusbar.h Bug 789173 - Make canvas rotation information visible on the main window 2017-11-15 20:04:19 +01:00
gimptoolcompass.c app: fix GimpToolCompass for one perfectly vertical line 2018-01-28 15:24:29 +01:00
gimptoolcompass.h app: add GimpToolCompass, which is the entire canvas GUI of the measure tool 2017-06-11 23:38:55 +02:00
gimptooldialog.c app: rename GimpToolInfo's "blurb" and "help" members 2017-07-04 21:58:11 +02:00
gimptooldialog.h app: bring dialog titles and help IDs to GEGL filter dialogs 2016-01-17 20:17:07 +01:00
gimptoolgui.c Bug 794378 - GIMP crashed while I was moving the image window 2018-03-20 19:02:43 +01:00
gimptoolgui.h app: add "title", "icon_name" and "help_id" to gimp_tool_gui_new() 2016-01-22 23:41:45 +01:00
gimptoolhandlegrid.c app: use gimp_transform_polygon() in GimpCanvasTransformGuides 2018-01-28 16:37:34 -05:00
gimptoolhandlegrid.h app: add new GimpToolTransformGrid subclass GimpToolHandleGrid 2017-06-19 01:21:06 +02:00
gimptoolline.c app: replace all g_assert() by the newly added gimp_assert() 2018-02-11 22:23:10 +01:00
gimptoolline.h app: add handle-clicked signal to GimpToolLine 2017-10-09 12:48:50 -04:00
gimptoolpath.c app: gimp_tool_widget_get_cursor(): rename "cursor_modifier" to just "modifier" 2017-06-26 22:13:00 +02:00
gimptoolpath.h app: add GimpToolWidget subclass GimpToolPath, a complete vectors editor 2017-06-21 23:27:20 +02:00
gimptoolpolygon.c app: constrain line angles in display space, not image space 2017-12-22 06:32:24 -05:00
gimptoolpolygon.h app: add a generic GimpToolWidget::response() signal 2017-06-25 23:23:27 +02:00
gimptoolrectangle.c Bug 793539 - Gimp stops each time you close a picture 2018-02-18 09:41:14 -05:00
gimptoolrectangle.h app: improve button release behavior or GimpToolRectangle a lot 2017-06-29 20:01:08 +02:00
gimptoolrotategrid.c app: add GimpToolTransformGrid, GimpToolRotateGrid and GimpToolShearGrid 2017-06-17 03:04:06 +02:00
gimptoolrotategrid.h app: add GimpToolTransformGrid, GimpToolRotateGrid and GimpToolShearGrid 2017-06-17 03:04:06 +02:00
gimptoolsheargrid.c app: add GimpToolTransformGrid, GimpToolRotateGrid and GimpToolShearGrid 2017-06-17 03:04:06 +02:00
gimptoolsheargrid.h app: add GimpToolTransformGrid, GimpToolRotateGrid and GimpToolShearGrid 2017-06-17 03:04:06 +02:00
gimptooltransformgrid.c app: replace all g_assert() by the newly added gimp_assert() 2018-02-11 22:23:10 +01:00
gimptooltransformgrid.h app: manage the transform tools' grid properties in GimpTransformTool 2017-06-19 23:06:39 +02:00
gimptoolwidget.c app: replace all g_assert() by the newly added gimp_assert() 2018-02-11 22:23:10 +01:00
gimptoolwidget.h app: use gimp_transform_polygon() in GimpCanvasTransformGuides 2018-01-28 16:37:34 -05:00
Makefile.am app: constrain line angles in display space, not image space 2017-12-22 06:32:24 -05:00