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