1. 08 Apr, 2018 1 commit
    • Boudewijn Rempt's avatar
      Move two widgets to libs/widgets · 2d068df9
      Boudewijn Rempt authored
      The confusingly named KisGradientSlider KisGradientSliderWidget
      don't depend on anything Krita-specific, so they can be part of
      the generic widgets library. Also export KisGradientSliderWidget
      so it can be used anywhere.
  2. 01 Mar, 2018 1 commit
    • Dmitry Kazakov's avatar
      Fix filters slowdown due to progress reporting · 907f88b9
      Dmitry Kazakov authored
      Now we have a special type of a sequential iterator
      (KisSequentialIteratorProgress), which can also handle
      progress reporting (report on every new line).
      This patch also refactors a few filters to use sequential
      iterator and support multithreading/instant preview.
  3. 04 Jan, 2018 1 commit
    • Dmitry Kazakov's avatar
      Refactor KisSequentialIterator to use java-style iteration · f352cc1d
      Dmitry Kazakov authored
      This patch touches quite a lot of stuff throughout the entire Krita,
      please report any crashes you get because of that!
      Technical details:
      The sequential iterator (alongside the hline and vline) iterators had
      an inherent problem: when called with an empty rect it just crashed
      with SIGSEGV (hlive and vline iterators just have a hack to read/write
      at least one pixel when called with an empty rect). This problem happens
      because of the structure of API we use: we call nextPixel() **after** the
      first cycle of iteration, that is we will read/write at least one pixel
      even when the requested rect is empty(!).
      Now the iterator inserts one "virtual" pixel before every iteration that
      allows the user to call nextPixel() **before** the the first iteration
      and stop the cycle in case the check fails.
      See example code snippets in kis_sequential_iterator.h
  4. 14 Jan, 2017 1 commit
  5. 01 Aug, 2016 3 commits