krita/plugins/paintops/libbrush

kis_brush_factory.h

Go to the documentation of this file.
00001 /*
00002  *  Copyright (c) 2008 Boudewijn Rempt <boud@valdyas.org>
00003  *
00004  *  This program is free software; you can redistribute it and/or modify
00005  *  it under the terms of the GNU General Public License as published by
00006  *  the Free Software Foundation; either version 2 of the License, or
00007  *  (at your option) any later version.
00008  *
00009  *  This program is distributed in the hope that it will be useful,
00010  *  but WITHOUT ANY WARRANTY; without even the implied warranty of
00011  *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
00012  *  GNU General Public License for more details.
00013  *
00014  *  You should have received a copy of the GNU General Public License
00015  *  along with this program; if not, write to the Free Software
00016  *  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
00017  */
00018 #ifndef KIS_BRUSH_FACTORY
00019 #define KIS_BRUSH_FACTORY
00020 
00021 #include "kis_brush.h"
00022 
00023 class QDomElement;
00024 
00030 class BRUSH_EXPORT KisBrushFactory
00031 {
00032 
00033 public:
00034 
00035     KisBrushFactory() {}
00036     virtual ~KisBrushFactory() {}
00037 
00038 
00039     virtual QString id() const = 0;
00040 
00041     virtual QString name() const {
00042         return QString();
00043     }
00044 
00050     virtual KisBrushSP getOrCreateBrush(const QDomElement& element) = 0;
00051 
00052 };
00053 
00054 #endif