Members of the KDE Community are recommended to subscribe to the kde-community mailing list at https://mail.kde.org/mailman/listinfo/kde-community to allow them to participate in important discussions and receive other important announcements

  1. 24 Sep, 2015 1 commit
  2. 16 Sep, 2015 1 commit
  3. 15 Sep, 2015 1 commit
  4. 04 Sep, 2015 3 commits
    • Dmitry Kazakov's avatar
      Fix building on i386 architechture · c396c541
      Dmitry Kazakov authored
      c396c541
    • Boudewijn Rempt's avatar
      Port away from kdebug to qcdebug · 4fa86a75
      Boudewijn Rempt authored
      The approach taken is a bit different from what's in the porting
      scripts or in pigment: I've moved kis_debug to libglobal and adapted
      the dbgKrita etc. defines to use qcDebug etc. I've kept the old
      category numbers for now. I've also ported all places where we
      used kDebug() etc. directly, and not a few places where qDebug() etc
      were used directly.
      4fa86a75
    • Thorsten Zachmann's avatar
      This optimizes OpOver for RGBAF32 by using vc · 91016738
      Thorsten Zachmann authored
      New tests and benchmarks for the code have been added.
      
      QDEBUG : KisCompositionBenchmark::testRgbF32CompositeOverLegacy() Testing Composite Op: "normal" ( "RGBF32 Legacy" )
      QDEBUG : KisCompositionBenchmark::testRgbF32CompositeOverLegacy() "Aligned   Mask   SrcRand DstRand" RESULT: 143 msec
      QDEBUG : KisCompositionBenchmark::testRgbF32CompositeOverLegacy() "DstUnalig Mask   SrcRand DstRand" RESULT: 142 msec
      QDEBUG : KisCompositionBenchmark::testRgbF32CompositeOverLegacy() "SrcUnalig Mask   SrcRand DstRand" RESULT: 143 msec
      QDEBUG : KisCompositionBenchmark::testRgbF32CompositeOverLegacy() "Unaligned Mask   SrcRand DstRand" RESULT: 144 msec
      QDEBUG : KisCompositionBenchmark::testRgbF32CompositeOverLegacy() "Aligned   NoMask SrcRand DstRand" RESULT: 59 msec
      QDEBUG : KisCompositionBenchmark::testRgbF32CompositeOverLegacy() "Aligned   NoMask SrcZero DstRand" RESULT: 9 msec
      QDEBUG : KisCompositionBenchmark::testRgbF32CompositeOverLegacy() "Aligned   NoMask SrcUnit DstRand" RESULT: 21 msec
      QDEBUG : KisCompositionBenchmark::testRgbF32CompositeOverLegacy() "Aligned   NoMask SrcRand DstZero" RESULT: 48 msec
      QDEBUG : KisCompositionBenchmark::testRgbF32CompositeOverLegacy() "Aligned   NoMask SrcZero DstZero" RESULT: 9 msec
      QDEBUG : KisCompositionBenchmark::testRgbF32CompositeOverLegacy() "Aligned   NoMask SrcUnit DstZero" RESULT: 18 msec
      QDEBUG : KisCompositionBenchmark::testRgbF32CompositeOverLegacy() "Aligned   NoMask SrcRand DstUnit" RESULT: 22 msec
      QDEBUG : KisCompositionBenchmark::testRgbF32CompositeOverLegacy() "Aligned   NoMask SrcZero DstUnit" RESULT: 9 msec
      QDEBUG : KisCompositionBenchmark::testRgbF32CompositeOverLegacy() "Aligned   NoMask SrcUnit DstUnit" RESULT: 16 msec
      PASS   : KisCompositionBenchmark::testRgbF32CompositeOverLegacy()
      QDEBUG : KisCompositionBenchmark::testRgbF32CompositeOverOptimized() Testing Composite Op: "normal" ( "RGBF32 Optimized" )
      QDEBUG : KisCompositionBenchmark::testRgbF32CompositeOverOptimized() "Aligned   Mask   SrcRand DstRand" RESULT: 17 msec
      QDEBUG : KisCompositionBenchmark::testRgbF32CompositeOverOptimized() "DstUnalig Mask   SrcRand DstRand" RESULT: 17 msec
      QDEBUG : KisCompositionBenchmark::testRgbF32CompositeOverOptimized() "SrcUnalig Mask   SrcRand DstRand" RESULT: 28 msec
      QDEBUG : KisCompositionBenchmark::testRgbF32CompositeOverOptimized() "Unaligned Mask   SrcRand DstRand" RESULT: 27 msec
      QDEBUG : KisCompositionBenchmark::testRgbF32CompositeOverOptimized() "Aligned   NoMask SrcRand DstRand" RESULT: 17 msec
      QDEBUG : KisCompositionBenchmark::testRgbF32CompositeOverOptimized() "Aligned   NoMask SrcZero DstRand" RESULT: 4 msec
      QDEBUG : KisCompositionBenchmark::testRgbF32CompositeOverOptimized() "Aligned   NoMask SrcUnit DstRand" RESULT: 13 msec
      QDEBUG : KisCompositionBenchmark::testRgbF32CompositeOverOptimized() "Aligned   NoMask SrcRand DstZero" RESULT: 16 msec
      QDEBUG : KisCompositionBenchmark::testRgbF32CompositeOverOptimized() "Aligned   NoMask SrcZero DstZero" RESULT: 4 msec
      QDEBUG : KisCompositionBenchmark::testRgbF32CompositeOverOptimized() "Aligned   NoMask SrcUnit DstZero" RESULT: 12 msec
      QDEBUG : KisCompositionBenchmark::testRgbF32CompositeOverOptimized() "Aligned   NoMask SrcRand DstUnit" RESULT: 13 msec
      QDEBUG : KisCompositionBenchmark::testRgbF32CompositeOverOptimized() "Aligned   NoMask SrcZero DstUnit" RESULT: 4 msec
      QDEBUG : KisCompositionBenchmark::testRgbF32CompositeOverOptimized() "Aligned   NoMask SrcUnit DstUnit" RESULT: 12 msec
      PASS   : KisCompositionBenchmark::testRgbF32CompositeOverOptimized()
      
      (cherry picked from commit 3be07eee35505bf754f12617e5d9059c03c44d7c)
      91016738
  5. 03 Jul, 2015 1 commit
  6. 01 Jul, 2015 1 commit
    • Thorsten Zachmann's avatar
      Optimize level filter · 8791bfaa
      Thorsten Zachmann authored
      Don't recreate the KoColorTransformation for each patch but reuse it every time.
      This speeds up the leve filter quite a bit:
      
      KisLevelFilterBenchmark
      1866 ms without optimization
       400 ms with optimization
      Tested on a i5-2520M
      8791bfaa
  7. 29 Mar, 2015 2 commits
  8. 20 Mar, 2015 1 commit
  9. 06 Mar, 2015 1 commit
  10. 04 Mar, 2015 4 commits
  11. 15 Jan, 2015 1 commit
  12. 26 Dec, 2014 1 commit
    • Dmitry Kazakov's avatar
      Remove the link to KisNode in KisPaintOpSettings · 6ed320c4
      Dmitry Kazakov authored
      The settings object is purely XML data so we shouldn't store a shared
      pointer there. It causes really subtle bugs related to the lifetime of
      the node in question.
      
      Now the node is passed to the PaontOp directly via constructor. And the
      options widget gets it directly from KisPaintOpBox.
      
      BUG:341847
      6ed320c4
  13. 15 Dec, 2014 1 commit
  14. 05 Dec, 2014 1 commit
    • Boudewijn Rempt's avatar
      Merge krita-mvc-rempt into master · 1cb2d177
      Boudewijn Rempt authored
      This refactors Krita to allow the user to have more than one
      image open in a window. Krita no longer uses or depends on the
      komain library.
      
      For now, Sketch and Gemini are disabled.
      
      review:119612
      
      Conflicts:
      	krita/ui/kis_view2.cpp
      	krita/ui/tool/kis_delegated_tool.h
      1cb2d177
  15. 23 Nov, 2014 1 commit
    • Dmitry Kazakov's avatar
      Optimized the speed of the Polygonal Gradient (ready for testing!) · 2212073d
      Dmitry Kazakov authored
      Now it is calculated in two stages: first a bspline grid, then
      the real gradient is interpolated using the grid.
      
      einspline library yet doesn't compile on Windows, but speaking truly
      the whole branch doesn't compile on Windows :) This issue will be fixed
      later by porting einspline into c++.
      2212073d
  16. 21 Oct, 2014 1 commit
  17. 25 Aug, 2014 1 commit
    • Dmitry Kazakov's avatar
      Make line smoothing optional · 8a3de253
      Dmitry Kazakov authored
      Now one can choose whether line smoothing should be on or off.
      The patch also implements smoothing for Vc implementation.
      
      According to the measurements by means of KisStrokeBenchmark,
      the usage of an additional 'if' inside internal loop of the vector
      code makes no speed difference.
      8a3de253
  18. 08 Jul, 2014 1 commit
    • Dmitry Kazakov's avatar
      Switch the pool of tile data to boost::singleton_pool · d504b9be
      Dmitry Kazakov authored
      Using usual malloc/free causes huge memory fragmenation, in the result
      Krita eats all the memory of the system until some stable fragmented
      state is reached.
      
      There seems to be a regression: the first stroke is sometimes delayed.
      Needs testing.
      
      Testcase:
      Image 8k x 8k, 2 layer
      Brush 1k x 1k
      
      Paint a dozen of strokes with undo disabled. If the memory continually
      grows, it means the RAM gets fragmented. This image should not take much
      more than 1.5 GiB (and massif will report it)
      
      CCMAIL:kimageshop@kde.org
      d504b9be
  19. 30 May, 2014 1 commit
    • Dmitry Kazakov's avatar
      Implemented type-safe translations for undo actions · 9e143a4e
      Dmitry Kazakov authored
      See documentation to a KUndo2MagicString class.
      
      Now KUndo2Command cannot accept a usual string as the operation text().
      The supplied text must pass through the kundo2_i18n() function, which
      tells the developer to use (qtundo-format) which is mandatory for all the
      undo-related strings (because in some languages they should be shown in
      different cases in undo/redo action and in undo history, and the
      translators should use Magic Split for them).
      9e143a4e
  20. 20 Mar, 2014 1 commit
    • Dmitry Kazakov's avatar
      Connect the Scanline Fill algorithm to KisFillPainter · c348c654
      Dmitry Kazakov authored
      This patch finishes the implementation of the scanline algorithm.
      
      There are a few TODOs still:
      
      1) Supports pixel sizes 1, 2, 4 and 8 bytes. Asserts for anything else.
      2) Code Duplications in KisFillPainterTest
      3) Unittests are still failing or do nothing
      4) No UI for the fill tool to choose whether to use compositioning
      c348c654
  21. 23 Jan, 2014 1 commit
  22. 04 Dec, 2013 2 commits
  23. 03 Dec, 2013 2 commits
  24. 10 Nov, 2013 3 commits
  25. 25 Sep, 2013 1 commit
  26. 16 Sep, 2013 2 commits
    • Dmitry Kazakov's avatar
      Fixed the Experiment Brush to work in wrap-around mode · 68b55bb7
      Dmitry Kazakov authored
      Now all the brushes are knows to work in Wrap-Around Mode.
      68b55bb7
    • Dmitry Kazakov's avatar
      Implement wrap-around mode for KisPaintDevice · cd18cbf6
      Dmitry Kazakov authored
      This patch effectively does the following:
      
      1) Refactors the KisPaintDevice so that the behavior of most of
         the methods is switchable with a strategy. There are two strategies
         available: KisPaintDeviceStrategy and KisPaintDeviceWrappedStrategy.
      
      2) The choice of Wrapped/Unwrapped mode is defined by the KisDefaultBounds
         object, which is accessible from all the paint devices of the image.
      
      3) Implements wrapped versions of hline, vline, rect and random accessor
         iterators. Construction of different iterators is done by means of
         switching strategies.
      
      4) The basic maths of the wrapping is done by a special object named
         KisWrappedRect.
      cd18cbf6
  27. 05 Sep, 2013 1 commit
  28. 11 Aug, 2013 1 commit
  29. 03 Aug, 2013 1 commit
    • Dmitry Kazakov's avatar
      Fixed Speed, Distance and Drawing Angle sensors · 327f800d
      Dmitry Kazakov authored
      This patch makes the following user-visible changes:
      
      1) Speed and Distance sensors are fixed
      2) Drawing Angle sensor became much more stable and smooth
      3) Drawing Angle sensor works right on the rotated canvas
      
      Technical details:
      
      This patch hugely refactors the distance information part of
      our painting system. The two most significant changes:
      
      1) KisPaintInformation doesn't have movement() method, because it
         used to get inconsistent *very* fast when the lien was split into
         chunks in paintBezierCurve. The access to drawingDistance(),
         drawingAngle() and drawingSpeep() parameters is provided only by means
         of teh associated KisDistanceInformation.
      
      2) (follows from the point 1) From now on paintAt() function also accepts
          KisDistanceInformation object, because otherwise it will not be able
          to access the calculated parameters.
      
      BUG:321771,308408,279442
      327f800d