1. 25 May, 2019 5 commits
  2. 24 May, 2019 2 commits
    • Ell's avatar
      app: disregard composite space in source-only trivial layer modes · c2021d3c
      Ell authored
      Extend last commit to also disregard the composite space when the
      layer mode is trivial and only the source region is included in
      compositing, since, in this case, the source color is unmodified.
      c2021d3c
    • Ell's avatar
      app: disregard composite space in non-union alpha-only layer modes · a5962e40
      Ell authored
      In gimp_layer_mode_get_format(), disregard the requested composite
      space when selecting the format, if the input layer mode is alpha-
      only, and the requested composite mode is not UNION, since, in this
      case, the layer mode doesn't combine the layer/backdrop colors, and
      rather only modifies the alpha of one of them.  This allows us to
      use the preferred format, avoiding gamma conversion.
      
      This particularly improves the performance of the Eraser tool in
      perceptual images.
      a5962e40
  3. 23 May, 2019 1 commit
  4. 21 May, 2019 1 commit
    • Ell's avatar
      app: don't show result-size warning when transforming a selection · 1c91578b
      Ell authored
      In gimp_drawable_transform_get_effective_clip(), always return
      RESIZE_CLIP when the input drawable is the image mask, since the
      presence of a selection doesn't matter in this case.  This avoids
      erroneously displaying a result-size warning when transforming the
      selection using any of the selection tools.
      1c91578b
  5. 20 May, 2019 1 commit
    • Ell's avatar
      configure.ac: improve compiler version string escaping · 04f9281b
      Ell authored
      In configure.ac, improve backslash escaping in the compiler
      version string.  Backslashes are currently not properly escaped in
      our Windows builds, leading to spurious (and, in particular, non-
      UTF8) characters in the compiler version string.
      04f9281b
  6. 19 May, 2019 1 commit
    • Ell's avatar
      app: initialize GimpBacktrace earlier on · 853d91b8
      Ell authored
      Initialize GimpBacktrace earlier on in the startup process, so that
      the Windows backend installs the thread-name exception handler
      early enough to catch threads created before app_run() (in
      particular, the GEGL worker threads).
      853d91b8
  7. 15 May, 2019 4 commits
    • Ell's avatar
      app: fix indentation in gimppaintbrush.h · 86a7c053
      Ell authored
      86a7c053
    • Ell's avatar
      app: in GimpPaintbrush, reuse existing paint buffer · edc99531
      Ell authored
      In GimpPaintbrush, avoid refilling the paint buffer at each dab if
      the paint color/pixmap hasn't changed, as gimp_paint_core_paste()
      no longer modifies the buffer since the commit before last.
      
      Additionally, fix color-from-gradient dynamics when the image has a
      profile.
      edc99531
    • Ell's avatar
      app: add gimp_brush_core_get_brush_pixmap() · fcd19a2a
      Ell authored
      In GimpBrushCore, replace the private
      gimp_brush_core_transform_pixmap() function with a public
      gimp_brush_core_get_brush_pixmap() function, which, similarly to
      gimp_brush_core_get_brush_mask(), returns the transformed brush
      pixmap, and can be used by subclasses.
      fcd19a2a
    • Ell's avatar
      app: don't modify paint buffer when pasting to canvas · f24bca51
      Ell authored
      We now have enough machinery in gimppaintcore-loops to avoid
      modifying the paint buffer in gimp_paint_core_paste() in the no-
      applicator case, by using the same set of algorithms as
      gimp_paint_core_replace().  Other than reducing the number of
      different code paths we have, this is both more efficient, and
      allows us to reuse the paint buffer across dabs, as done in the
      following commits.
      
      Implement gimp_paint_core_replace() in terms of
      gimp_paint_core_paste().  We keep the two functions separate, since
      their implementation is still differnet when using an applicator.
      
      Suppress the paint-buffer-modifying algorithms in
      gimppaintcore-loops, but keep them around; using the same logic for
      normal painting as we use for REPLACE painting is possible due to
      the fact that all our current non-REPLACE modes treat alpha values
      and mask values interchangeably.  In the future we might have modes
      that distinguish between alpha and mask values, requiring the old
      algorithms.
      f24bca51
  8. 14 May, 2019 1 commit
  9. 13 May, 2019 1 commit
  10. 12 May, 2019 1 commit
  11. 11 May, 2019 2 commits
  12. 10 May, 2019 1 commit
  13. 09 May, 2019 4 commits
  14. 08 May, 2019 7 commits
  15. 07 May, 2019 2 commits
  16. 06 May, 2019 1 commit
    • Jehan's avatar
      plug-ins: follow the assigned profile TRC. · 417f2c87
      Jehan authored
      GIMP should not convert assigned profile to sRGB just because we stored
      as linear on the XCF. In other words, we should not look at the image
      precision to decide whether to export as linear (previously only 8-bit
      linear images), but at the profile TRC. There are basically 3 cases:
      (1) We don't save a profile, then convert to sRGB whatever the source
      precision (because readers would assume sRGB for a no-profile jpeg).
      (2) We save the default profiles: convert to sRGB because it's usually
      a better choice for 8-bit formats and even working at 32-bit float
      *linear* doesn't mean you want to export as 8-bit int *linear*. As the
      image creator made no explicit export choice, we make an acceptable
      default one.
      (3) We save an explicitly assigned profile: keep the profile TRC, don't
      convert!
      
      Note that this apparently won't work perfectly right now, as GIMP
      replaces the original TRC with the linear default TRC when converting to
      linear. So the expected TRC is lost in such case when you have not
      explicitly reset the correct profile. Yet this is on GIMP side and this
      part of the issue should be fixed with the space invasion merge. For
      now, this is how the plug-in should work.
      
      This is based on my late discussion with Ell. Please everyone, and Ell
      especially, review! :-)
      
      (cherry picked from commit c5f7bac2ba2121636bbf84d5e4af4d11e98fa511)
      417f2c87
  17. 05 May, 2019 4 commits
  18. 01 May, 2019 1 commit