dRonin  adbada4
dRonin GCS
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Groups Pages
svgimageprovider.h
Go to the documentation of this file.
1 
13 /*
14  * This program is free software; you can redistribute it and/or modify
15  * it under the terms of the GNU General Public License as published by
16  * the Free Software Foundation; either version 3 of the License, or
17  * (at your option) any later version.
18  *
19  * This program is distributed in the hope that it will be useful, but
20  * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
21  * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
22  * for more details.
23  *
24  * You should have received a copy of the GNU General Public License along
25  * with this program; if not, see <http://www.gnu.org/licenses/>
26  */
27 
28 #ifndef SVGIMAGEPROVIDER_H_
29 #define SVGIMAGEPROVIDER_H_
30 
31 #include <QObject>
32 #include <QtQuick/QQuickImageProvider>
33 #include <QSvgRenderer>
34 #include <QMap>
35 
36 #include "utils_global.h"
37 
38 class QTCREATOR_UTILS_EXPORT SvgImageProvider : public QObject, public QQuickImageProvider
39 {
40  Q_OBJECT
41 public:
42  SvgImageProvider(const QString &basePath);
44 
45  QSvgRenderer *loadRenderer(const QString &svgFile);
46 
47  QImage requestImage(const QString &id, QSize *size, const QSize& requestedSize);
48  QPixmap requestPixmap(const QString &id, QSize *size, const QSize& requestedSize);
49 
50  Q_INVOKABLE QRectF scaledElementBounds(const QString &svgFile, const QString &elementName);
51 
52 private:
53  QMap<QString, QSvgRenderer*> m_renderers;
54  QString m_basePath;
55 };
56 
57 #endif