1. 22 Apr, 2021 2 commits
  2. 19 Apr, 2021 1 commit
    • Dmitry Kazakov's avatar
      Fix a transparency leaking into the stroke when the brush is too pierced · 7167998b
      Dmitry Kazakov authored
      In dulling mode with Smudge Radius desabled it may happen that the only
      sampled pixel is masked out by the brush mask. It will cause the dulling
      fill color to be fully transparent.
      
      To overcome the issue we should sample a bit more data than allowed
      by smudge radius option until we find at least some non-transparent
      pixels in the mask.
      7167998b
  3. 16 Apr, 2021 1 commit
  4. 15 Apr, 2021 2 commits
  5. 09 Apr, 2021 2 commits
  6. 08 Apr, 2021 3 commits
  7. 07 Apr, 2021 6 commits
  8. 05 Apr, 2021 3 commits
    • Dmitry Kazakov's avatar
      Fix KoRgbU8ColorSpaceTester::testCompositeOpsWithChannelFlags() · 97b1eda3
      Dmitry Kazakov authored
      The test has caught a real bug when the non-initialized values
      of the zero-alpha pixel could leak into the image via composite-
      copy
      97b1eda3
    • Dmitry Kazakov's avatar
      Remove scoped debug from unittest's error path · a3c6f319
      Dmitry Kazakov authored
      There is no use to make the output in the unittest scoped, other
      than waster developer's time.
      a3c6f319
    • Dmitry Kazakov's avatar
      Implement optimized blending modes for Color Smudge paintop · 26c8217f
      Dmitry Kazakov authored
      The patch implements several things:
      
      1) Adds U16 versions of Over and AlphaDarken composite ops.
         The basic memory access is taken from Mathias Wein's (!584)
         patch
      
      2) Adds implementation of Copy composite op for U8, U16 and F32
         color spaces. This composite op is used a lot in colorsmudge.
      
      3) The patch makes F32 and U16 (and U8 for "copy") composite ops
         to reuse the same codebase.
      
      In comparison to !584 this patch has two things "not implemented
      yet":
      
      1) No optimization for alpha-locked state
      2) No optimization for separate read/demangle of the alpha channel
         value
      
      Both these optimizations can be added later.
      
      Test Plan
      ---------
      
      1) Try to paint with normal brush in "wash" mode with low opacity/flow
         values. There should be no artifacts visible
      
      2) Try to paint with ColorSmudge brush in the following modes:
      
         * Smear Alpha is on/off
      
         * Inherit Alpha is on/off
      
         * Any selection is on/off
      
         * Some color channels of the ...
      26c8217f
  9. 03 Apr, 2021 1 commit
    • Dmitry Kazakov's avatar
      Implement AVX2-optimized scaler for U8<->U16 precise conversions · df6bf3fb
      Dmitry Kazakov authored
      This conversions is extensively used in the colorsmudge paintop
      for the overlay device. It allows precise blending and, therefore,
      color error accumulation.
      
      Vc library doesn't supoprt any methods for reading U8 data, so
      I had to implements the code using intrisics directly.
      df6bf3fb
  10. 30 Mar, 2021 1 commit
  11. 29 Mar, 2021 1 commit
    • Dmitry Kazakov's avatar
      Implement optimized blending modes for Color Smudge paintop · a529e8a3
      Dmitry Kazakov authored
      The patch implements several things:
      
      1) Adds U16 versions of Over and AlphaDarken composite ops.
         The basic memory access is taken from Mathias Wein's (!584)
         patch
      
      2) Adds implementation of Copy composite op for U8, U16 and F32
         color spaces. This composite op is used a lot in colorsmudge.
      
      3) The patch makes F32 and U16 (and U8 for "copy") composite ops
         to reuse the same codebase.
      
      In comparison to !584 this patch has two things "not implemented
      yet":
      
      1) No optimization for alpha-locked state
      2) No optimization for separate read/demangle of the alpha channel
         value
      
      Both these optimizations can be added later.
      
      Test Plan
      ---------
      
      1) Try to paint with normal brush in "wash" mode with low opacity/flow
         values. There should be no artifacts visible
      
      2) Try to paint with ColorSmudge brush in the following modes:
      
         * Smear Alpha is on/off
      
         * Inherit Alpha is on/off
      
         * Any selection is on/off
      
         * Some color channels of the layer are off
      a529e8a3
  12. 24 Mar, 2021 3 commits
    • Agata Cacko's avatar
      Update palette thumbnails on Save · 9eb13688
      Agata Cacko authored
      Before this commit, palette thumbnails weren't saved properly
      on saving a new version of the palette. This commit ensures that
      adding a new version of the palette updates the thumbnail.
      9eb13688
    • Agata Cacko's avatar
      Don't save duplicate color spaces into Kpl · 2e7e6fcb
      Agata Cacko authored
      Before this commit, it was possible for the KoColorSet
      to try to save multiple color profiles with the same name.
      Since the Kpl format doesn't allow it anyway (the filename
      is the id of the profile), we can assume that the profile
      with the same name are just the same profile and not add
      them to the list.
      This commit ensures that only profiles with different names
      are added to the list and saved into the device.
      2e7e6fcb
    • Agata Cacko's avatar
      Add more qWarnings on saving KoColorSet · f8aaf3a1
      Agata Cacko authored
      Before this commit, not all errors resulted in qWarning()
      with an explanation. This commit adds four warnings in
      appropriate places.
      f8aaf3a1
  13. 09 Mar, 2021 1 commit
  14. 06 Mar, 2021 2 commits
  15. 04 Mar, 2021 3 commits
  16. 03 Mar, 2021 1 commit
  17. 02 Mar, 2021 4 commits
  18. 01 Mar, 2021 2 commits
  19. 27 Feb, 2021 1 commit