Krita/How To Write Brush Engines

From KDE Community Wiki

What is brush engine


How to write brush engine



Backward compatibility, version is another property, look at kis_pressure_rate_option.cpp : settings->setProperty("MyAttributeVersion","3.14")


  • What happens if I implement both PaintAt and PaintLine in a paintop?

If you implement paintLine, paintAt will not be called. If you look at KisPaintOp, you can see that paintAt() is called in paintLine() method.

  • What should I use to debug my code? printf? clog? qDebug()?

Be wise and look at kis_debug.h, there you find some defined named outputs. You can use it like (similary to qDebug(), cout()): dbgPlugins() << "Hello" << QRect() << KisPaintInformation;

You can turn on and off the areas of debugging (plugins ,ui, core, ...) with kdebugdialog utility in KDE