You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
33 lines
1.7 KiB
33 lines
1.7 KiB
14 years ago
|
There are several kinds of plugins in Chalk: CoreModules and Plugins. Core modules
|
||
|
add functionality to Chalk but do not directly add to the user interface (menus and
|
||
|
toolbars). Plugins create actions.
|
||
|
|
||
|
All plugins register themselves with the appropriate registry:
|
||
|
|
||
|
KisToolRegistry -- tools like brush, crop etc. Tools are added to the menu and the tools
|
||
|
box, but are special in that every view has a different instantiation of a tool for every
|
||
|
pointer X11 presents to Chalk (mouse, stylus, eraser, other styluses for fancy wacom
|
||
|
tablets).
|
||
|
|
||
|
KisColorSpaceRegistry -- color models like cmyk or rgb are core modules. These add the capability
|
||
|
to load and save and edit images in a particular color model and bit depth.
|
||
|
|
||
|
KisFilterRegistry -- Filters are a little mode complicated in that these are operations that
|
||
|
should be available from many places in the application -- i.e, some tools build on
|
||
|
the availablity of filters, and filters can be building blocks in scripts -- but are
|
||
|
also directly available from the filter menu.
|
||
|
|
||
|
KisPaintOpRegistry -- Paintops are plugins that define the way tools actually make
|
||
|
marks on the canvas. Paintops have no independent life in the gui but can be shown
|
||
|
in the toolbox.
|
||
|
|
||
|
KisPluginRegistry -- Plugins that do not fall into any of the previous categories. Examples
|
||
|
are the GUI for scaling/resizing an image, select-by-colour etc.
|
||
|
|
||
|
|
||
|
Chalk automatically adds filters to the items menu and tools to the tools menu; paintops
|
||
|
are managed in the paintop toolbox and the tool plugins add themselves to the tools toolbar.
|
||
|
This is done without referring to the XML gui buider. General plugins, like select-by-colour,
|
||
|
that are often gui wrappers around core functionality, are loaded using the ordinary
|
||
|
KDE plugin framework.
|