Quantum GIS API Documentation  1.7.5-Wroclaw
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
qgsmarkercatalogue.h
Go to the documentation of this file.
1 /***************************************************************************
2  qgsmarkercatalogue.h
3  -------------------
4  begin : March 2005
5  copyright : (C) 2005 by Radim Blazek
6  email : blazek@itc.it
7  ***************************************************************************/
8 /***************************************************************************
9  * *
10  * This program is free software; you can redistribute it and/or modify *
11  * it under the terms of the GNU General Public License as published by *
12  * the Free Software Foundation; either version 2 of the License, or *
13  * (at your option) any later version. *
14  * *
15  ***************************************************************************/
16 #ifndef QGSMARKERCATALOGUE_H
17 #define QGSMARKERCATALOGUE_H
18 
19 #include <QStringList>
20 
21 class QImage;
22 class QString;
23 class QPicture;
24 class QPen;
25 class QBrush;
26 class QPainter;
27 
28 
30 class CORE_EXPORT QgsMarkerCatalogue : public QObject
31 {
32  Q_OBJECT
33  public:
36 
38  static QgsMarkerCatalogue *instance();
39 
41  QStringList list();
42 
50  QImage imageMarker( QString fullName, double size, QPen pen, QBrush brush, double opacity = 1.0 );
51 
59  QPicture pictureMarker( QString fullName, double size, QPen pen, QBrush brush, double opacity = 1.0 );
60 
63  static bool svgMarker( QPainter * thepPainter, QString name, double size );
64 
65  public slots:
66  void refreshList();
67 
68  signals:
69  void markersRefreshed();
70 
71  private:
72 
75 
77 
79  QStringList mList;
80 
82  void hardMarker( QPainter * thepPainter, int imageSize, QString name, double size, QPen pen, QBrush brush );
83 
84  bool fontMarker( QPainter * thepPainter, QString name, double size );
85 
86 };
87 
88 #endif // QGSMARKERCATALOGUE_H
89 
90