1. 27 Dec, 2017 1 commit
    • Dmitry Kazakov's avatar
      Implement dependent size changes for the Masking Brush · a641fec9
      Dmitry Kazakov authored
      Now the masking brush changes according to these requirements:
      
      1) When the brush size is changed in the brush editor, masking
         brush size is kept unchanged
      
      2) When the brush size is changed using quick-controls, that is
         toolbox slider, shift+gesture, HUD display, the masking brush size
         is changed proportionally.
      
      3) Technically, the masking brush supports disabling this "dependent
         size" functionality, but I'm not sure if it should be visible in GUI.
         It is already overcomplicated.
      
      Technical changes:
      
      1) Now the brushes are always **copied** when fetched from the
         brushes registry. That is, if you load the brush using
         KisBrush::fromXML(), you will always have your own copy of the
         brush object, not shared with the one in the server.
      
      2) For the efficiency reasons, the brush tip QImage will be lazily
         shared with the one on the server using the Qt's internal algorithm.
         If you change the brush tip in you copy of the brush, Qt will deep-
         copy the corresponding QImage.
      
      3) For the efficiency reasons, brush mipmap pyramid (KisQImagePyramid)
         is also shared among all the instances of the brush with
         the same brush tip QImage. Every time one changes the instance of
         the brush, the pyramid object is detached and reset. This basic
         lazy copying algorithm is implemented in KisSharedQImagePyramid.
      
      CC:kimageshop@kde.org
      a641fec9
  2. 20 May, 2017 1 commit
  3. 08 May, 2017 1 commit
  4. 26 May, 2016 1 commit
  5. 16 May, 2016 1 commit
    • Dmitry Kazakov's avatar
      Fix brush size change while Lod0 recalculation · 03187c24
      Dmitry Kazakov authored
      We should really clone the brush before passing it to the stroke.
      
      The weird thing about the patch is that we don't use the cloning
      functionality for KisAutoBrush anywhere, but it still had to be
      implemented. At least it is thoroughly tested by the unittests now.
      
      Fixes T2492
      BUG:362985
      03187c24
  6. 03 May, 2016 1 commit
  7. 25 Jan, 2016 1 commit
  8. 08 Oct, 2015 1 commit
  9. 20 Aug, 2014 1 commit
    • Dmitry Kazakov's avatar
      Fixed antialiasing of auto-brush based brushes · 052f2177
      Dmitry Kazakov authored
      This patch does two changes:
      
      1) Add 1 px fading to every auto brush
      2) Implement "Auto" spacing mode. In this mode the spacing is calculated
         using a different formula. Instead of usual sp = k * size, we use
         sp = k * sqrt(size). This formula gives an excellent line quality
         and shows quite nice performance
      3) Use qreal's for calculation of the spacing instad of using dab's size.
         Dab's size is rather unstable on sizes around 1.0 - 5.0.
      
      TODO:
      
      1) Port Vc implementation of the auto brush to use a new formula
      2) Activate "Auto" spacing mode for all the default presets in Krita
      3) Port the other brushes
      
      CCMAIL:kimageshop@kde.org
      052f2177
  10. 02 Jun, 2014 1 commit
    • Boudewijn Rempt's avatar
      Load brushes and presets in the gui thread, in the right order · ac880641
      Boudewijn Rempt authored
      The brush server needed access to the KisResourceServerProvider singleton
      in its constructor, while in the constructor of KisResourceServerProvider,
      the loading of presets needed to have all the brushes loaded.
      
      This commit moves libbrush to the krita/image and krita/ui level and
      makes kritaui link to libbrush instead of the other way around. Now
      we can load the brushes and then the presets.
      
      This makes start a bit slower... But on the other hand, you cannot crash
      Krita anymore by closing it while the presets are still being loaded.
      ac880641
  11. 14 Feb, 2014 1 commit
    • Boudewijn Rempt's avatar
      BUG:330661 Save multi-sensor configuration correctly · 5db9a905
      Boudewijn Rempt authored
      Big rewrite & cleanup of the sensors/libpaintop code...
      
      The KisDynamicSensorList class is gone and KisCurveOption now tracks
      all sensors. The KisMultiSensorModel doesn't own the data it is a model
      for anymore everything is tracked by KisCurveOption.
      
      Conflicts:
      	krita/plugins/paintops/spray/kis_spray_paintop_settings_widget.cpp
      	krita/plugins/paintops/spray/kis_sprayop_option.cpp
      	krita/plugins/paintops/spray/spray_brush.cpp
      	krita/plugins/paintops/spray/spray_brush.h
      5db9a905
  12. 05 Feb, 2011 1 commit
  13. 25 Aug, 2010 1 commit
    • Lukáš Tvrdý's avatar
      Add softbrush mask type to Pixel brush · 0cb4e6ad
      Lukáš Tvrdý authored
      o add support for density to both mask types
      o compute the brush preview with mask() instead of custom code
      o add stacked widget and put there fade and softness curve so that
        GUI is context aware
      
      Problems:
      o curve is small (adding some button to pop up bigger one?)
      o layout of the editor should be better (I propose to make some new mockups?)
      
      svn path=/trunk/koffice/; revision=1167913
      0cb4e6ad
  14. 24 Apr, 2010 1 commit
  15. 26 Feb, 2010 1 commit
  16. 21 Nov, 2009 1 commit
  17. 21 Oct, 2009 1 commit
    • Boudewijn Rempt's avatar
      autumn cleaning · 15cf5d66
      Boudewijn Rempt authored
      Apply kdelibs' astyle to all of krita. We've got enough variation
      in spaces around * and & anyway.
      
      svn path=/trunk/koffice/; revision=1038712
      15cf5d66
  18. 23 Mar, 2009 1 commit
  19. 03 Feb, 2009 1 commit
  20. 24 Nov, 2008 1 commit
  21. 22 Oct, 2008 1 commit
    • Boudewijn Rempt's avatar
      CCMAIL:kimageshop@kde.org · 68a72e19
      Boudewijn Rempt authored
      Paintop settings widgets are now owned by the paintop factory, not the
      paintop settings object. I had to -- temporarily -- disable all paintops
      but the brushop for this. The rest will come back on-line soon: porting is
      pretty easy, since it's now very easy to assemble a paintop out of some options
      and an algorith, This fixes the slowness on starting painting.
      
      Please, please, please, check the way the brushop works if you want to know exactly
      what I've been doing.
      
      
      svn path=/trunk/koffice/; revision=874913
      68a72e19
  22. 23 Jul, 2008 1 commit
  23. 20 Jul, 2008 1 commit
  24. 15 May, 2008 1 commit
  25. 19 Nov, 2007 1 commit
  26. 04 Oct, 2007 1 commit
  27. 03 Oct, 2007 2 commits
  28. 08 Aug, 2007 1 commit
  29. 07 May, 2007 1 commit
  30. 15 Apr, 2007 1 commit
  31. 10 May, 2006 1 commit
    • David Faure's avatar
      krita/core -> krita/image · 07f5adde
      David Faure authored
      and perl -pi -e 's,\${KDE4_INCLUDE_DIR} \${QT_INCLUDES},\${KDE4_INCLUDES},' **/*.txt
      
      svn path=/trunk/koffice/; revision=539314
      07f5adde
  32. 26 Jul, 2005 1 commit
    • Boudewijn Rempt's avatar
      * Fix locking of tools when the layer is locked or invisible · 2e20d064
      Boudewijn Rempt authored
      * Remove the wet paintbrush tool; it's sufficient to use the wet paintop
      * The fsf has moved house, or so Thomas tells me. I guess it's a pretty dumb
        idea to have such volatile information in all headers, but there you are.
        We're up-to-date again...
      
      svn path=/trunk/koffice/; revision=438821
      2e20d064
  33. 07 Jun, 2005 1 commit
  34. 07 Nov, 2003 1 commit
  35. 03 Nov, 2003 1 commit
  36. 17 Mar, 2003 1 commit
  37. 10 Oct, 2002 1 commit
  38. 05 Oct, 2002 1 commit
  39. 20 Sep, 2002 1 commit
    • Patrick Julien's avatar
      - New in-core image format · 2173c8c5
      Patrick Julien authored
      - Implemented paint-offset
      - Implemented real-time zoom
      - Made scrolling work with zoom
      - Deactivated anything that hasn't been ported yet
      - Implemented image builder with ImageMagick.  See "Image/Import Image" or "Layer/Import Image" in menus.
      
      svn path=/trunk/koffice/; revision=179080
      2173c8c5