diff options
Diffstat (limited to 'krita/plugins/README')
-rw-r--r-- | krita/plugins/README | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/krita/plugins/README b/krita/plugins/README new file mode 100644 index 00000000..31518552 --- /dev/null +++ b/krita/plugins/README @@ -0,0 +1,42 @@ +About plugins + +Plugins are components with a GUI that perform some action for Krita. +Note that plugins are only loaded when a KisView is constructed; note +also that every plugin is reloaded when a new KisView is created. + +Plugins are _not_ allowed to depend on each other. You may _not_ +#include a header file from a plugin anywhere but in that same plugin. +You can however choose to group a cluster of related functions in +one plugin, like with the selection tools. + +There are several kinds of plugins for Krita: + +* Tools + + Tools have the Krita/Tool servicetype. A tool plugin registers + the tool factories it provides with the tool registry. A tool must descend + from the KisTool interface. There are several base classes for + specialized tools, like painting and non painting tools. + +* Paintops + + Paintops implement methods for changing pixels that can be used + by painting tools. Examples are brush, pen, airbrush. Paintop plugins + have the Krita/Paintop servicetype, register paintop factories they + provide the paintop registry. Paintops inherit KisPaintOp. + +* Filters + + Filters implement methods of changin a rectangular area of pixels. Filter + plugins have the Krita/Filter servicetype and are registered with + the filter registry. A filter inherits the KisFilter class and may + provide a configuration widget and a configuration object. + +* Extensions + + Extensions are loaded by every view instance. They provide user interface + elements such as dialog boxes and wizards. Their parent is KisView and + they provide an .rc file to merge their gui with the view gui. Extensions + have the servicetype Krita/Plugin. They are not loaded automatically by + the KParts mechanism; please do not create ordinary kparts that are to + be loaded by the Krita view since KParts are not versioned. |