Quantum GIS API Documentation  1.7.5-Wroclaw
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
qgssymbollayerv2utils.h
Go to the documentation of this file.
1 
2 
3 #ifndef QGSSYMBOLLAYERV2UTILS_H
4 #define QGSSYMBOLLAYERV2UTILS_H
5 
6 #include <QMap>
7 #include <Qt>
8 #include <QtCore>
9 #include "qgssymbolv2.h"
10 
11 class QgsSymbolV2;
12 class QgsSymbolLayerV2;
14 
15 typedef QMap<QString, QString> QgsStringMap;
16 typedef QMap<QString, QgsSymbolV2* > QgsSymbolV2Map;
17 
18 class QColor;
19 class QDomDocument;
20 class QDomElement;
21 class QIcon;
22 class QPixmap;
23 class QPointF;
24 class QSize;
25 
26 class CORE_EXPORT QgsSymbolLayerV2Utils
27 {
28  public:
29 
30  static QString encodeColor( QColor color );
31  static QColor decodeColor( QString str );
32 
33  static QString encodePenStyle( Qt::PenStyle style );
34  static Qt::PenStyle decodePenStyle( QString str );
35 
36  static QString encodePenJoinStyle( Qt::PenJoinStyle style );
37  static Qt::PenJoinStyle decodePenJoinStyle( QString str );
38 
39  static QString encodePenCapStyle( Qt::PenCapStyle style );
40  static Qt::PenCapStyle decodePenCapStyle( QString str );
41 
42  static QString encodeBrushStyle( Qt::BrushStyle style );
43  static Qt::BrushStyle decodeBrushStyle( QString str );
44 
45  static QString encodePoint( QPointF point );
46  static QPointF decodePoint( QString str );
47 
48  static QString encodeRealVector( const QVector<qreal>& v );
49  static QVector<qreal> decodeRealVector( const QString& s );
50 
51  static QString encodeOutputUnit( QgsSymbolV2::OutputUnit unit );
52  static QgsSymbolV2::OutputUnit decodeOutputUnit( QString str );
53 
54  static QIcon symbolPreviewIcon( QgsSymbolV2* symbol, QSize size );
55  static QIcon symbolLayerPreviewIcon( QgsSymbolLayerV2* layer, QgsSymbolV2::OutputUnit u, QSize size );
56  static QIcon colorRampPreviewIcon( QgsVectorColorRampV2* ramp, QSize size );
57 
58  static QPixmap symbolPreviewPixmap( QgsSymbolV2* symbol, QSize size );
59  static QPixmap colorRampPreviewPixmap( QgsVectorColorRampV2* ramp, QSize size );
60 
61  static QgsSymbolV2* loadSymbol( QDomElement& element );
62  static QgsSymbolLayerV2* loadSymbolLayer( QDomElement& element );
63  static QDomElement saveSymbol( QString name, QgsSymbolV2* symbol, QDomDocument& doc, QgsSymbolV2Map* subSymbols = NULL );
64 
65  static QgsStringMap parseProperties( QDomElement& element );
66  static void saveProperties( QgsStringMap props, QDomDocument& doc, QDomElement& element );
67 
68  static QgsSymbolV2Map loadSymbols( QDomElement& element );
69  static QDomElement saveSymbols( QgsSymbolV2Map& symbols, QString tagName, QDomDocument& doc );
70 
71  static void clearSymbolMap( QgsSymbolV2Map& symbols );
72 
73  static QgsVectorColorRampV2* loadColorRamp( QDomElement& element );
74  static QDomElement saveColorRamp( QString name, QgsVectorColorRampV2* ramp, QDomDocument& doc );
75 
77  static double lineWidthScaleFactor( QgsRenderContext& c, QgsSymbolV2::OutputUnit u );
79  static double pixelSizeScaleFactor( QgsRenderContext& c, QgsSymbolV2::OutputUnit u );
81  static QgsRenderContext createRenderContext( QPainter* p );
82 
84  static void multiplyImageOpacity( QImage* image, qreal alpha );
85 
87  static void sortVariantList( QList<QVariant>& list, Qt::SortOrder order );
88 };
89 
90 class QPolygonF;
91 
93 QPolygonF offsetLine( QPolygonF polyline, double dist );
94 
95 
96 #endif