File indexing completed on 2024-05-19 16:07:32

0001 /* This file is part of the KDE project
0002  * Copyright (C) 2008 Peter Simonsson <peter.simonsson@gmail.com>
0003  * Copyright (C) 2010-2014 Yue Liu <yue.liu@mail.com>
0004  *
0005  * This library is free software; you can redistribute it and/or
0006  * modify it under the terms of the GNU Library General Public
0007  * License as published by the Free Software Foundation; either
0008  * version 2 of the License, or (at your option) any later version.
0009  *
0010  * This library is distributed in the hope that it will be useful,
0011  * but WITHOUT ANY WARRANTY; without even the implied warranty of
0012  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
0013  * Library General Public License for more details.
0014  *
0015  * You should have received a copy of the GNU Library General Public License
0016  * along with this library; see the file COPYING.LIB.  If not, write to
0017  * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
0018  * Boston, MA 02110-1301, USA.
0019  */
0020 
0021 #ifndef KOSTENCILSHAPEFACTORY_H
0022 #define KOSTENCILSHAPEFACTORY_H
0023 
0024 #include <KoShapeFactoryBase.h>
0025 #include <KoDocumentResourceManager.h>
0026 
0027 class KoProperties;
0028 class KoStore;
0029 class QIODevice;
0030 
0031 class StencilShapeFactory : public KoShapeFactoryBase
0032 {
0033 public:
0034     /// id is the absolute file path
0035     StencilShapeFactory(const QString& id, const QString& name, const KoProperties* props);
0036     ~StencilShapeFactory() override;
0037 
0038     KoShape* createDefaultShape(KoDocumentResourceManager* documentResources = new KoDocumentResourceManager()) const override;
0039     bool supports(const KoXmlElement& e, KoShapeLoadingContext& context) const override;
0040 
0041 private:
0042     KoShape* createFromOdf(KoStore* store, KoDocumentResourceManager* documentRes) const;
0043     KoShape* createFromSvg(QIODevice* in, KoDocumentResourceManager* documentRes) const;
0044     const KoProperties* m_properties;
0045 };
0046 
0047 #endif //KOSTENCILSHAPEFACTORY_H