1. 08 Sep, 2020 1 commit
  2. 30 Aug, 2020 2 commits
  3. 24 Aug, 2020 1 commit
  4. 17 Aug, 2020 1 commit
    • Sharaf Zaman's avatar
      Big optimization! Refactored out KoPathShape hierarchy · d2653640
      Sharaf Zaman authored
      It turns out subivision algorithm and KoPathShape
      don't go well together. KoPathShape is a pretty expensive
      class memory-wise and is not supposed to be created-freed
      rapidly.
      By removing it, the performance gains is between 2-20x!
      d2653640
  5. 14 Aug, 2020 1 commit
  6. 21 Jul, 2020 1 commit
  7. 20 Jul, 2020 1 commit
    • Sharaf Zaman's avatar
      Bugfix: render the patch completely in QImage · 0a829ca0
      Sharaf Zaman authored
      if the meshpatch, in mesharray were backwards (which
      I wasn't sure was allowed till I tested pepper.svg from
      inkscape), then patch would be rendered outside the
      QImage
      
      Maniphest: T13101
      0a829ca0
  8. 07 Jul, 2020 1 commit
    • Sharaf Zaman's avatar
      Render meshgradient on QImage and then on QPainter · 7d06c391
      Sharaf Zaman authored
      Primary reason for this is, that rendering meshpatches
      every single time a translation is done, is very
      expensive. So, we render it the first time and reuse it.
      
      The way we do it is:
      
      1) First we render the patch in scaled-up version of
         QImage, this helps us with loss of quality which is
         a consequence of `QPainter&` passed in
         `KoMeshGradientBackground::paint` as a scaled version.
      
      2) We render the whole patch on QImage, not just the patch
         inside clipped region.
      
      3) Then we render the QImage on QPainter in user coordinates
         i.e independent from the shape.
      
      NOTE: One thing which has to be taken care of is, when we resize
      the shape, the patch is resized as well. Which is one of the
      expected behavior. But there is one more behavior, that is
      the patches should not be scaled, which can help us with
      having only selected portion of the patches in view.
      
      Maniphest: T13101
      7d06c391
  9. 02 Jul, 2020 1 commit
  10. 29 Jun, 2020 6 commits
  11. 19 Jun, 2020 1 commit
  12. 15 Jun, 2020 1 commit
  13. 14 Jun, 2020 1 commit
  14. 12 Jun, 2020 1 commit