64 static QString encodeColor(
const QColor &color );
65 static QColor decodeColor(
const QString &str );
67 static QString encodeSldAlpha(
int alpha );
68 static int decodeSldAlpha(
const QString &str );
70 static QString encodeSldFontStyle( QFont::Style style );
71 static QFont::Style decodeSldFontStyle(
const QString &str );
73 static QString encodeSldFontWeight(
int weight );
74 static int decodeSldFontWeight(
const QString &str );
76 static QString encodePenStyle( Qt::PenStyle style );
77 static Qt::PenStyle decodePenStyle(
const QString &str );
79 static QString encodePenJoinStyle( Qt::PenJoinStyle style );
80 static Qt::PenJoinStyle decodePenJoinStyle(
const QString &str );
82 static QString encodePenCapStyle( Qt::PenCapStyle style );
83 static Qt::PenCapStyle decodePenCapStyle(
const QString &str );
85 static QString encodeSldLineJoinStyle( Qt::PenJoinStyle style );
86 static Qt::PenJoinStyle decodeSldLineJoinStyle(
const QString &str );
88 static QString encodeSldLineCapStyle( Qt::PenCapStyle style );
89 static Qt::PenCapStyle decodeSldLineCapStyle(
const QString &str );
91 static QString encodeBrushStyle( Qt::BrushStyle style );
92 static Qt::BrushStyle decodeBrushStyle(
const QString &str );
94 static QString encodeSldBrushStyle( Qt::BrushStyle style );
95 static Qt::BrushStyle decodeSldBrushStyle(
const QString &str );
109 static Qgis::JoinStyle penJoinStyleToJoinStyle( Qt::PenJoinStyle style );
116 static bool hasSldSymbolizer(
const QDomElement &element );
196 static QString encodePoint( QPointF point );
203 static QPointF decodePoint(
const QString &
string );
217 static QPointF toPoint(
const QVariant &value,
bool *ok
SIP_OUT =
nullptr );
224 static QString encodeSize( QSizeF size );
231 static QSizeF decodeSize(
const QString &
string );
245 static QSizeF toSize(
const QVariant &value,
bool *ok
SIP_OUT =
nullptr );
247 static QString encodeMapUnitScale(
const QgsMapUnitScale &mapUnitScale );
250 static QString encodeRealVector(
const QVector<qreal> &v );
251 static QVector<qreal> decodeRealVector(
const QString &s );
253 static QString encodeSldRealVector(
const QVector<qreal> &v );
254 static QVector<qreal> decodeSldRealVector(
const QString &s );
272 static Qgis::RenderUnit decodeSldUom(
const QString &str,
double *scaleFactor =
nullptr );
280 static double sizeInPixelsFromSldUom(
const QString &uom,
double size );
296 static QPainter::CompositionMode decodeBlendMode(
const QString &s );
321 static QPixmap symbolPreviewPixmap(
const QgsSymbol *symbol, QSize size,
int padding = 0,
QgsRenderContext *customContext =
nullptr,
bool selected =
false,
359 static QIcon colorRampPreviewIcon(
QgsColorRamp *ramp, QSize size,
int padding = 0 );
373 static QPixmap colorRampPreviewPixmap(
QgsColorRamp *ramp, QSize size,
int padding = 0, Qt::Orientation direction = Qt::Horizontal,
374 bool flipDirection =
false,
bool drawTransparentBackground =
true );
376 static void drawStippledBackground( QPainter *painter, QRect rect );
382 static void drawVertexMarker(
double x,
double y, QPainter &p,
Qgis::VertexMarkerType type,
int markerSize );
393 static std::unique_ptr< QgsSymbol > loadSymbol(
const QDomElement &element,
const QgsReadWriteContext &context );
406 const bool canCast =
dynamic_cast<SymbolType *
>( tmpSymbol.get() );
410 std::unique_ptr< SymbolType > castRes(
static_cast<SymbolType *
>( tmpSymbol.release() ) );
421 static std::unique_ptr< QgsSymbolLayer > loadSymbolLayer( QDomElement &element,
const QgsReadWriteContext &context );
424 static QDomElement saveSymbol(
const QString &symbolName,
const QgsSymbol *symbol, QDomDocument &doc,
const QgsReadWriteContext &context );
430 static QString symbolProperties(
QgsSymbol *symbol );
435 static bool createSymbolLayerListFromSld( QDomElement &element,
Qgis::GeometryType geomType, QList<QgsSymbolLayer *> &layers );
440 static std::unique_ptr< QgsSymbolLayer > createFillLayerFromSld( QDomElement &element );
445 static std::unique_ptr< QgsSymbolLayer > createLineLayerFromSld( QDomElement &element );
450 static std::unique_ptr< QgsSymbolLayer > createMarkerLayerFromSld( QDomElement &element );
455 static bool convertPolygonSymbolizerToPointMarker( QDomElement &element, QList<QgsSymbolLayer *> &layerList );
462 static bool hasExternalGraphic( QDomElement &element );
470 static bool hasExternalGraphicV2(
const QDomElement &element,
const QString format = QString() );
472 static bool hasWellKnownMark( QDomElement &element );
474 static bool needFontMarker( QDomElement &element );
481 static bool needSvgMarker(
const QDomElement &element );
491 static bool needRasterMarker(
const QDomElement &element );
492 static bool needEllipseMarker( QDomElement &element );
493 static bool needMarkerLine( QDomElement &element );
494 static bool needLinePatternFill( QDomElement &element );
495 static bool needPointPatternFill( QDomElement &element );
496 static bool needSvgFill( QDomElement &element );
504 static bool needRasterImageFill( QDomElement &element );
511 Q_DECL_DEPRECATED
static void fillToSld( QDomDocument &doc, QDomElement &element,
512 Qt::BrushStyle brushStyle,
const QColor &color = QColor() )
SIP_DEPRECATED;
519 static
void fillToSld( QDomDocument &doc, QDomElement &element,
QgsSldExportContext &context,
520 Qt::BrushStyle brushStyle, const QColor &color = QColor() );
522 static
bool fillFromSld( QDomElement &element,
523 Qt::BrushStyle &brushStyle, QColor &color );
526 static
void lineToSld( QDomDocument &doc, QDomElement &element,
527 Qt::PenStyle penStyle, const QColor &color,
QgsSldExportContext &context,
double width = -1,
528 const Qt::PenJoinStyle *penJoinStyle =
nullptr, const Qt::PenCapStyle *penCapStyle =
nullptr,
529 const QVector<qreal> *customDashPattern =
nullptr,
double dashOffset = 0.0 )
SIP_SKIP;
530 static
bool lineFromSld( QDomElement &element,
531 Qt::PenStyle &penStyle, QColor &color,
double &width,
532 Qt::PenJoinStyle *penJoinStyle =
nullptr, Qt::PenCapStyle *penCapStyle =
nullptr,
533 QVector<qreal> *customDashPattern =
nullptr,
double *dashOffset =
nullptr );
535 static
void externalGraphicToSld( QDomDocument &doc, QDomElement &element,
536 const QString &path, const QString &mime,
537 const QColor &color,
double size = -1 );
538 static
bool externalGraphicFromSld( QDomElement &element,
539 QString &path, QString &mime,
540 QColor &color,
double &size );
546 Q_DECL_DEPRECATED static
void wellKnownMarkerToSld( QDomDocument &doc, QDomElement &element,
547 const QString &name, const QColor &color, const QColor &strokeColor, Qt::PenStyle strokeStyle,
554 static
void wellKnownMarkerToSld( QDomDocument &doc, QDomElement &element,
555 const QString &name, const QColor &color, const QColor &strokeColor, Qt::PenStyle strokeStyle,
557 double strokeWidth = -1,
double size = -1 );
562 static
bool wellKnownMarkerFromSld( QDomElement &element,
563 QString &name, QColor &color, QColor &strokeColor, Qt::PenStyle &strokeStyle,
564 double &strokeWidth,
double &size )
SIP_PYNAME( wellKnownMarkerFromSld2 );
571 Q_DECL_DEPRECATED static
void externalMarkerToSld( QDomDocument &doc, QDomElement &element,
572 const QString &path, const QString &format,
int *markIndex =
nullptr,
573 const QColor &color = QColor(),
double size = -1 )
SIP_DEPRECATED;
580 static
void externalMarkerToSld( QDomDocument &doc, QDomElement &element,
581 const QString &path, const QString &format,
QgsSldExportContext &context,
int *markIndex =
nullptr,
582 const QColor &color = QColor(),
double size = -1 );
584 static
bool externalMarkerFromSld( QDomElement &element,
585 QString &path, QString &format,
int &markIndex,
586 QColor &color,
double &size );
593 Q_DECL_DEPRECATED static
void labelTextToSld( QDomDocument &doc, QDomElement &element, const QString &label,
594 const QFont &font, const QColor &color = QColor(),
double size = -1 )
SIP_DEPRECATED;
601 static
void labelTextToSld( QDomDocument &doc, QDomElement &element, const QString &label,
602 const QFont &font,
QgsSldExportContext &context, const QColor &color = QColor(),
double size = -1 );
605 static QString ogrFeatureStylePen(
double width,
double mmScaleFactor,
double mapUnitsScaleFactor, const QColor &
c,
606 Qt::PenJoinStyle joinStyle = Qt::MiterJoin,
607 Qt::PenCapStyle capStyle = Qt::FlatCap,
609 const QVector<qreal> *dashPattern =
nullptr );
615 static QString ogrFeatureStyleBrush( const QColor &fillColr );
621 Q_DECL_DEPRECATED static
void createRotationElement( QDomDocument &doc, QDomElement &element, const QString &rotationFunc )
SIP_DEPRECATED;
627 static
void createRotationElement( QDomDocument &doc, QDomElement &element, const QString &rotationFunc,
QgsSldExportContext &context );
629 static
bool rotationFromSldElement( QDomElement &element, QString &rotationFunc );
635 Q_DECL_DEPRECATED static
void createOpacityElement( QDomDocument &doc, QDomElement &element, const QString &alphaFunc )
SIP_DEPRECATED;
641 static
void createOpacityElement( QDomDocument &doc, QDomElement &element, const QString &alphaFunc,
QgsSldExportContext &context );
643 static
bool opacityFromSldElement( QDomElement &element, QString &alphaFunc );
645 static
void createDisplacementElement( QDomDocument &doc, QDomElement &element, QPointF offset );
646 static
bool displacementFromSldElement( QDomElement &element, QPointF &offset );
654 static
void createAnchorPointElement( QDomDocument &doc, QDomElement &element, QPointF anchor );
656 static
void createOnlineResourceElement( QDomDocument &doc, QDomElement &element, const QString &path, const QString &format );
657 static
bool onlineResourceFromSldElement( QDomElement &element, QString &path, QString &format );
663 Q_DECL_DEPRECATED static
void createGeometryElement( QDomDocument &doc, QDomElement &element, const QString &geomFunc )
SIP_DEPRECATED;
669 static
void createGeometryElement( QDomDocument &doc, QDomElement &element, const QString &geomFunc,
QgsSldExportContext &context );
671 static
bool geometryFromSldElement( QDomElement &element, QString &geomFunc );
680 Q_DECL_DEPRECATED static
bool createExpressionElement( QDomDocument &doc, QDomElement &element, const QString &function )
SIP_DEPRECATED;
690 static
bool createExpressionElement( QDomDocument &doc, QDomElement &element, const QString &function,
QgsSldExportContext &context );
696 Q_DECL_DEPRECATED static
bool createFunctionElement( QDomDocument &doc, QDomElement &element, const QString &function )
SIP_DEPRECATED;
702 static
bool createFunctionElement( QDomDocument &doc, QDomElement &element, const QString &function,
QgsSldExportContext &context );
704 static
bool functionFromSldElement( QDomElement &element, QString &function );
706 static QDomElement createSvgParameterElement( QDomDocument &doc, const QString &name, const QString &value );
707 static
QgsStringMap getSvgParameterList( QDomElement &element );
709 static QDomElement createVendorOptionElement( QDomDocument &doc, const QString &name, const QString &value );
710 static
QgsStringMap getVendorOptionList( QDomElement &element );
713 static QVariantMap parseProperties( const QDomElement &element );
715 static
void saveProperties( QVariantMap props, QDomDocument &doc, QDomElement &element );
737 static std::unique_ptr<
QgsSymbol > symbolFromMimeData( const QMimeData *data );
745 static std::unique_ptr<
QgsColorRamp > loadColorRamp( QDomElement &element );
755 static QDomElement saveColorRamp( const QString &name, const
QgsColorRamp *ramp, QDomDocument &doc );
763 static QVariant colorRampToVariant( const QString &name,
QgsColorRamp *ramp );
771 static std::unique_ptr<
QgsColorRamp > loadColorRamp( const QVariant &value );
778 static QString colorToName( const QColor &color );
786 static QList< QColor > parseColorList( const QString &colorStr );
794 static QMimeData *colorToMimeData( const QColor &color )
SIP_FACTORY;
803 static QColor colorFromMimeData( const QMimeData *data,
bool &hasAlpha
SIP_OUT );
828 static
bool saveColorsToGpl( QFile &file, const QString &paletteName, const
QgsNamedColorList &colors );
838 static
QgsNamedColorList importColorsFromGpl( QFile &file,
bool &ok, QString &name );
847 static QColor parseColor( const QString &colorStr,
bool strictEval = false );
857 static QColor parseColorWithAlpha( const QString &colorStr,
bool &containsAlpha,
bool strictEval = false );
862 static
void multiplyImageOpacity( QImage *image, qreal opacity );
865 static
void blurImageInPlace( QImage &image, QRect rect,
int radius,
bool alphaOnly );
870 static
void premultiplyColor( QColor &rgb,
int alpha );
887 static
void sortVariantList( QList<QVariant> &list, Qt::SortOrder order );
889 static QPointF pointOnLineWithDistance( QPointF startPoint, QPointF directionPoint,
double distance );
892 static QStringList listSvgFiles();
895 static QStringList listSvgFilesAt( const QString &directory );
903 static QString svgSymbolNameToPath( const QString &name, const
QgsPathResolver &pathResolver );
909 static QString svgSymbolPathToName( const QString &path, const
QgsPathResolver &pathResolver );
918 static QList< QList< QPolygonF > > toQPolygonF( const
QgsGeometry &geometry,
Qgis::SymbolType type );
930 static QPointF polygonCentroid( const QPolygonF &points );
933 static QPointF polygonPointOnSurface( const QPolygonF &points, const QVector<QPolygonF> *rings =
nullptr );
936 static
bool pointInPolygon( const QPolygonF &points, QPointF point );
943 static
double polylineLength( const QPolygonF &polyline );
957 static QPolygonF polylineSubstring( const QPolygonF &polyline,
double startOffset,
double endOffset );
966 static
bool isSharpCorner( QPointF p1, QPointF p2, QPointF p3 );
975 static
void appendPolyline( QPolygonF &target, const QPolygonF &line );
983 static std::unique_ptr<
QgsExpression > fieldOrExpressionToExpression( const QString &fieldOrExpression );
991 static QString fieldOrExpressionFromExpression(
QgsExpression *expression );
998 static QList<
double> prettyBreaks(
double minimum,
double maximum,
int classes );
1004 static
double rescaleUom(
double size,
Qgis::RenderUnit unit, const QVariantMap &props );
1010 static QPointF rescaleUom( QPointF point,
Qgis::RenderUnit unit, const QVariantMap &props )
SIP_PYNAME( rescalePointUom );
1016 static QVector<qreal> rescaleUom( const QVector<qreal> &array,
Qgis::RenderUnit unit, const QVariantMap &props )
SIP_PYNAME( rescaleArrayUom );
1021 static
void applyScaleDependency( QDomDocument &doc, QDomElement &ruleElem, QVariantMap &props );
1026 static
void mergeScaleDependencies(
double mScaleMinDenom,
double mScaleMaxDenom, QVariantMap &props );
1034 Q_DECL_DEPRECATED static
void parametricSvgToSld( QDomDocument &doc, QDomElement &graphicElem,
1035 const QString &path,
1036 const QColor &fillColor,
double size, const QColor &strokeColor,
double strokeWidth )
SIP_DEPRECATED;
1044 static
void parametricSvgToSld( QDomDocument &doc, QDomElement &graphicElem,
1045 const QString &path,
1046 const QColor &fillColor,
double size, const QColor &strokeColor,
double strokeWidth,
1052 static QString getSvgParametricPath( const QString &basePath, const QColor &fillColor, const QColor &strokeColor,
double strokeWidth );
1084 static
QgsSymbol *restrictedSizeSymbol( const
QgsSymbol *s,
double minSize,
double maxSize,
QgsRenderContext *context,
double &width,
double &height,
bool *ok =
nullptr );
1101 static QSize tileSize(
int width,
int height,
double &angleRad
SIP_INOUT );
1107 static
void clearSymbolLayerIds(
QgsSymbol *symbol );
1119 static
void resetSymbolLayerIds(
QgsSymbol *symbol );
1131 static
void clearSymbolLayerMasks(
QgsSymbol *symbol );
1143 static QVector<
QgsGeometry > collectSymbolLayerClipGeometries( const
QgsRenderContext &context, const QString &symbolLayerId, const QRectF &bounds );
1159 static QgsProperty scaleWholeSymbol(
double scaleFactorX,
double scaleFactorY,
const QgsProperty &property )
1163 ( !
qgsDoubleNear( scaleFactorX, 0.0 ) ?
"tostring(" + QString::number( scaleFactorX ) +
"*(" + exprString +
"))" : QStringLiteral(
"'0'" ) ) +
1165 ( !
qgsDoubleNear( scaleFactorY, 0.0 ) ?
"tostring(" + QString::number( scaleFactorY ) +
"*(" + exprString +
"))" : QStringLiteral(
"'0'" ) ) );