Quantum GIS API Documentation
1.7.4
|
00001 00002 00003 #ifndef QGSSYMBOLLAYERV2UTILS_H 00004 #define QGSSYMBOLLAYERV2UTILS_H 00005 00006 #include <QMap> 00007 #include <Qt> 00008 #include <QtCore> 00009 #include "qgssymbolv2.h" 00010 00011 class QgsSymbolV2; 00012 class QgsSymbolLayerV2; 00013 class QgsVectorColorRampV2; 00014 00015 typedef QMap<QString, QString> QgsStringMap; 00016 typedef QMap<QString, QgsSymbolV2* > QgsSymbolV2Map; 00017 00018 class QColor; 00019 class QDomDocument; 00020 class QDomElement; 00021 class QIcon; 00022 class QPixmap; 00023 class QPointF; 00024 class QSize; 00025 00026 class CORE_EXPORT QgsSymbolLayerV2Utils 00027 { 00028 public: 00029 00030 static QString encodeColor( QColor color ); 00031 static QColor decodeColor( QString str ); 00032 00033 static QString encodePenStyle( Qt::PenStyle style ); 00034 static Qt::PenStyle decodePenStyle( QString str ); 00035 00036 static QString encodePenJoinStyle( Qt::PenJoinStyle style ); 00037 static Qt::PenJoinStyle decodePenJoinStyle( QString str ); 00038 00039 static QString encodePenCapStyle( Qt::PenCapStyle style ); 00040 static Qt::PenCapStyle decodePenCapStyle( QString str ); 00041 00042 static QString encodeBrushStyle( Qt::BrushStyle style ); 00043 static Qt::BrushStyle decodeBrushStyle( QString str ); 00044 00045 static QString encodePoint( QPointF point ); 00046 static QPointF decodePoint( QString str ); 00047 00048 static QString encodeRealVector( const QVector<qreal>& v ); 00049 static QVector<qreal> decodeRealVector( const QString& s ); 00050 00051 static QString encodeOutputUnit( QgsSymbolV2::OutputUnit unit ); 00052 static QgsSymbolV2::OutputUnit decodeOutputUnit( QString str ); 00053 00054 static QIcon symbolPreviewIcon( QgsSymbolV2* symbol, QSize size ); 00055 static QIcon symbolLayerPreviewIcon( QgsSymbolLayerV2* layer, QgsSymbolV2::OutputUnit u, QSize size ); 00056 static QIcon colorRampPreviewIcon( QgsVectorColorRampV2* ramp, QSize size ); 00057 00058 static QPixmap symbolPreviewPixmap( QgsSymbolV2* symbol, QSize size ); 00059 static QPixmap colorRampPreviewPixmap( QgsVectorColorRampV2* ramp, QSize size ); 00060 00061 static QgsSymbolV2* loadSymbol( QDomElement& element ); 00062 static QgsSymbolLayerV2* loadSymbolLayer( QDomElement& element ); 00063 static QDomElement saveSymbol( QString name, QgsSymbolV2* symbol, QDomDocument& doc, QgsSymbolV2Map* subSymbols = NULL ); 00064 00065 static QgsStringMap parseProperties( QDomElement& element ); 00066 static void saveProperties( QgsStringMap props, QDomDocument& doc, QDomElement& element ); 00067 00068 static QgsSymbolV2Map loadSymbols( QDomElement& element ); 00069 static QDomElement saveSymbols( QgsSymbolV2Map& symbols, QString tagName, QDomDocument& doc ); 00070 00071 static void clearSymbolMap( QgsSymbolV2Map& symbols ); 00072 00073 static QgsVectorColorRampV2* loadColorRamp( QDomElement& element ); 00074 static QDomElement saveColorRamp( QString name, QgsVectorColorRampV2* ramp, QDomDocument& doc ); 00075 00077 static double lineWidthScaleFactor( QgsRenderContext& c, QgsSymbolV2::OutputUnit u ); 00079 static double pixelSizeScaleFactor( QgsRenderContext& c, QgsSymbolV2::OutputUnit u ); 00081 static QgsRenderContext createRenderContext( QPainter* p ); 00082 00084 static void multiplyImageOpacity( QImage* image, qreal alpha ); 00085 00087 static void sortVariantList( QList<QVariant>& list, Qt::SortOrder order ); 00088 }; 00089 00090 class QPolygonF; 00091 00093 QPolygonF offsetLine( QPolygonF polyline, double dist ); 00094 00095 00096 #endif