1. 13 Jan, 2021 1 commit
  2. 07 Dec, 2020 1 commit
  3. 01 Dec, 2020 2 commits
  4. 23 Nov, 2020 1 commit
  5. 16 Oct, 2020 1 commit
  6. 28 Aug, 2020 1 commit
    • Dmitry Kazakov's avatar
      Fix Divide, Vivid Light and Parallel blending modes handle negative layer colors · e488caa3
      Dmitry Kazakov authored
      Sometimes, when converting RGBAF32<->LabAF32 colorspaces, LCMS may
      generate pixels with "slightly negative" values, like -1e-7. The
      mentioned blending modes couldn't handle that correclty, because
      they only checked for zero'ness.
      
      Now before doing a division operation we:
      
      1) check if the value isn't too small
      2) check it the value is positive
      
      NOTE: there are still a lot of blendign modes from "Binary" section
            that still don't handle that correctly. But, speaking truly, I
            don't think we should actually enable these blending modes for
            F32 color spaces :)
      
      BUG:353204
      e488caa3
  7. 12 Aug, 2020 1 commit
  8. 08 Aug, 2020 1 commit
  9. 06 Aug, 2020 1 commit
  10. 27 Jul, 2020 4 commits
  11. 25 Jul, 2020 1 commit
    • Wolthera van Hövell's avatar
      Fix darkening of colors using the deform brush. · e49da79a
      Wolthera van Hövell authored
      Based of dmitry's initial patch, this adds a hack to ensure
      the appropriate division function is selected. We should be using
      KoColorSpaceMaths and templates for this, but it is not clear to me
      how this should be done, and I even suspect it requires a bigger refactor.
      
      This however is fast enough and makes the brush work as expected in 8bit
      integer and 32bit float versions of all the available color models.
      
      BUG:290383
      e49da79a
  12. 24 Jul, 2020 1 commit
    • Wolthera van Hövell's avatar
      This fixes the bug where this brush slowly outputs everything to transparent. · 30cb1e71
      Wolthera van Hövell authored
      The bug was caused by the fact that to sample the input pixels, the crossdevice color picker was used, which in turn got access to subpixel data by utilizing the randomsubaccessor, which was getting that data by mixing neighbouring pixels via the KoColorMixOp. However, the randomsubaccessor isn't able to generate perfect sums-to-255 weights every single time, meaning transparency was added.
      
      This commit fixes that by passing a sum of weights to the KoColorMixOp that only defaults to 255.
      
      Special thanks to Dmitry for figuring this out.
      
      Note: there's still an issue with colors mixing darker in 8bit, we're still trying to figure that one out. But at the least there's no transparency.
      
      CCBUG:290383
      30cb1e71
  13. 10 Jul, 2020 1 commit
    • Peter Schatz's avatar
      RGBA brushtips as gradient maps · 9efb0a7b
      Peter Schatz authored
      This adds the option to use a RGBA brushtips as gradient
      maps. This allows not only multi-colored brushes, but much
      more flexibility with stamp brushes.
      
      The patch implements the follwoing:
      
      1) Fixes issues with loading PNG brushes that are grayscale
         but have an alpha channel and should be loaded as RGBA brushes.
         Originally, if it saw it was grayscale, it would get rid of
         the alpha channel, but that means they can't be used with the
         new lightness and gradient modes.  This checks if the image
         uses alpha anywhere in the image, and sets it as an RGBA image
         if it does.
      
      2) Fixes a bug in KoCachedGradient where changing the
         stored gradient added colors to the end of the colorlist
         instead of clearing the original colors and replacing them.
      
      3) Adds the ability to change the colorspace of the cached
         colors in KoCachedGradient.
      
      NOTE: all the commit of the original branch has been squashed
            because it was impossible to rebase the work. And without
            rebase we wouldn't be able to port the code to master.
      9efb0a7b
  14. 02 Jul, 2020 1 commit
  15. 25 Jun, 2020 1 commit
  16. 24 Jun, 2020 7 commits
  17. 12 Jun, 2020 1 commit
  18. 04 Jun, 2020 1 commit
  19. 06 May, 2020 2 commits
  20. 01 May, 2020 1 commit
    • Mathias Wein's avatar
      Fix tone reproduction curve estimation · fe47c061
      Mathias Wein authored
      The ITUR_2100_PQ_FULL.ICC has no colorants and revealed the bugs.
      Iteration order was inverted so normalization didn't work.
      Also only the first colorant was ever written, and
      consequently the luma coefficients were also incomplete.
      
      Additionally, RGB vs. BGR channel ordering was not respected,
      and the sum of luma coefficients needs to be 1.0 for HSY
      color space calculations.
      
      And while at it, calculate a few more points so the graph in
      the color space browser looks at least somewhat like a curve.
      fe47c061
  21. 30 Apr, 2020 1 commit
  22. 18 Apr, 2020 1 commit
  23. 17 Apr, 2020 2 commits
  24. 16 Apr, 2020 1 commit
  25. 14 Apr, 2020 1 commit
    • Dmitry Kazakov's avatar
      Fix comparison of KoColor objects packed into QVariant · 40adc162
      Dmitry Kazakov authored
      KoResourceManager compares value of the resource before issuing
      update signals. It doesn't issue update signal is the resource hasn't
      changed.
      
      This patch fixes a bug when moving a shape used to make all color
      selectors crazy because of constant updates of BG/FG colors.
      40adc162
  26. 13 Apr, 2020 3 commits