Skip to content

Add Dabs Per Basic Radius to MyPaint brush editor [adds strings]

I added the following MyPaint engine options:

  • Dabs per Basic Radius
    • it is very similar to Dabs per Actual Radius but does in fact do something different, and it is the original request from the bug report: https://bugs.kde.org/show_bug.cgi?id=453054
    • it works in Krita, so there is no reason to omit it
    • example brush to see the differences - spray.myb
  • Snap To Pixel
    • it works in Krita
    • you can actually make Pixel Art brushes in MyPaint engine - MyPaint_Pixel_Art_brush.kpp - though I don't think they need this option... I guess to make them more circular, but MyPaint doesn't create a dab when you click, so it's not that useful
    • it creates fun results when applied to non pixel art brushes: MyPaint_Scratchy_Nice_Mine.kpp which is why I made the range (0,10) instead of (0, 1).
  • Pressure Gain Log
    • it works in Krita just as expected, I believe
    • made the range (-2, 3) since that seems to be most useful (libmypaint has (-1.8, 1.8))
  • Offset by Speed Filter (internal name: offset_by_speed_slowness)
    • seems to work in Krita

There are still the following options missing from Krita:

  • color_h - I don't think it does anything...
  • color_v - I don't think it does anything...
  • color_s - I don't think it does anything...
  • restore_color - I don't think it does anything...

BUG:453054

Test Plan

  1. Open Krita, chekc out the test brush, manipulate values of Dabs Per Actual Radius and Dabs Per Basic Radius separately (not that there is much visible difference, but they do seem to be two different options, and MyPaint has both of them in the version 2.0.1)
  2. Open Krita, check out my test brush with fun texture (MyPaint_Scratchy_Nice_Mine.kpp), change the Snap To Pixel value.
  3. Open Krita, use the marker brush, change the value of Pressure Gain option.
  4. Open Krita, use the inking brush, change Offset By Speed to Max and then test changing the Offset By Speed Filter option.

Formalities Checklist

  • I confirmed this builds.
  • I confirmed Krita ran and the relevant functions work.
  • I tested the relevant unit tests and can confirm they are not broken. (If not possible, don't hesitate to ask for help!)
  • I made sure my commits build individually and have good descriptions as per KDE guidelines.
  • I made sure my code conforms to the standards set in the HACKING file.
  • I can confirm the code is licensed and attributed appropriately, and that unattributed code is mine, as per KDE Licensing Policy.
Edited by Agata Cacko

Merge request reports