1/*
2 *  Copyright (C) 2009 Boudewijn Rempt <boud@valdyas.org>
3 *
4 *  This program is free software; you can redistribute it and/or modify
5 *  it under the terms of the GNU General Public License as published by
6 *  the Free Software Foundation; either version 2 of the License, or
7 *  (at your option) any later version.
8 *
9 *  This program is distributed in the hope that it will be useful,
10 *  but WITHOUT ANY WARRANTY; without even the implied warranty of
11 *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
12 *  GNU General Public License for more details.
13 *
14 *  You should have received a copy of the GNU General Public License
15 *  along with this program; if not, write to the Free Software
16 *  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
17 */
18
19/**
20  \mainpage libpaintop: shared functionality for brush engines
21
22libpaintop is meant to share common classes used by Krita brush
23engines, suchs as certain configuration widgets.
24
25* Options
26
27A paintop can make use of the predefined options provided here. An
28option provides a graphical view for editing that option (as a page
29in an option popup) and possible also the code necessary for applying
30the effects of that option to the paint device as part of painting.
31
32The following classes are important:
33
34<ul>
35<li>KisPaintOp: this is the engine for a certain kind of brush. It will
36 be created in non-gui threads and keeps its state in a KisPaintOpSettings
37 object.
38<li>KisPaintOpSettings: this is a KisPropertiesConfiguration subclass that
39 stores the settings for all the options that make up a paintop.
40<li>Classes derived from KisPaintOpOption. These classes create a configuration
41  widget. That means that you cannot construct any those objects in a
42  KisPaintOp. KisPaintOps are created in non-gui threads.
43<li>Classes derived from KisCurveOption. KisCurveOption classes have a generic GUI widget,
44  KisCurveOptionWidget. So, in contrast to KisPaintOpOption classes, KisCurveOption
45  instances can and will be created in the constructor of KisPaintOp paintops.
46  This class can manage to read and write its settings directly.
47<li>Classes derived from KisPaintopPropertiesBase. These classes are non-gui,
48  and can read and write KisPropertiesConfiguration objects created by
49  KisPaintOpOption.
50</ul>
51
52*/
53// DOXYGEN_SET_IGNORE_PREFIX = Kis Ko K
54