224 static QPointF
decodePoint(
const QString &
string );
238 static QPointF
toPoint(
const QVariant &value,
bool *ok
SIP_OUT =
nullptr );
252 static QSizeF
decodeSize(
const QString &
string );
266 static QSizeF
toSize(
const QVariant &value,
bool *ok
SIP_OUT =
nullptr );
347 bool selected =
false,
410 static QPixmap
colorRampPreviewPixmap(
QgsColorRamp *ramp, QSize size,
int padding = 0, Qt::Orientation direction = Qt::Horizontal,
bool flipDirection =
false,
bool drawTransparentBackground =
true );
445 static std::unique_ptr< QgsSymbolLayer > loadSymbolLayer( QDomElement &element,
const QgsReadWriteContext &context );
448 static QDomElement saveSymbol(
const QString &symbolName,
const QgsSymbol *symbol, QDomDocument &doc,
const QgsReadWriteContext &context );
454 static QString symbolProperties(
QgsSymbol *symbol );
459 static bool createSymbolLayerListFromSld( QDomElement &element,
Qgis::GeometryType geomType, QList<QgsSymbolLayer *> &layers );
464 static std::unique_ptr< QgsSymbolLayer > createFillLayerFromSld( QDomElement &element );
469 static std::unique_ptr< QgsSymbolLayer > createLineLayerFromSld( QDomElement &element );
474 static std::unique_ptr< QgsSymbolLayer > createMarkerLayerFromSld( QDomElement &element );
479 static bool convertPolygonSymbolizerToPointMarker( QDomElement &element, QList<QgsSymbolLayer *> &layerList );
486 static bool hasExternalGraphic( QDomElement &element );
494 static bool hasExternalGraphicV2(
const QDomElement &element,
const QString format = QString() );
496 static bool hasWellKnownMark( QDomElement &element );
498 static bool needFontMarker( QDomElement &element );
505 static bool needSvgMarker(
const QDomElement &element );
515 static bool needRasterMarker(
const QDomElement &element );
516 static bool needEllipseMarker( QDomElement &element );
517 static bool needMarkerLine( QDomElement &element );
518 static bool needLinePatternFill( QDomElement &element );
519 static bool needPointPatternFill( QDomElement &element );
520 static bool needSvgFill( QDomElement &element );
528 static bool needRasterImageFill( QDomElement &element );
535 Q_DECL_DEPRECATED
static void fillToSld( QDomDocument &doc, QDomElement &element, Qt::BrushStyle brushStyle,
const QColor &color = QColor() )
SIP_DEPRECATED;
542 static
void fillToSld( QDomDocument &doc, QDomElement &element,
QgsSldExportContext &context, Qt::BrushStyle brushStyle, const QColor &color = QColor() );
544 static
bool fillFromSld( QDomElement &element, Qt::BrushStyle &brushStyle, QColor &color );
547 static
void lineToSld(
549 QDomElement &element,
550 Qt::PenStyle penStyle,
554 const Qt::PenJoinStyle *penJoinStyle =
nullptr,
555 const Qt::PenCapStyle *penCapStyle =
nullptr,
556 const QVector<qreal> *customDashPattern =
nullptr,
557 double dashOffset = 0.0
559 static
bool lineFromSld(
560 QDomElement &element,
561 Qt::PenStyle &penStyle,
564 Qt::PenJoinStyle *penJoinStyle =
nullptr,
565 Qt::PenCapStyle *penCapStyle =
nullptr,
566 QVector<qreal> *customDashPattern =
nullptr,
567 double *dashOffset =
nullptr
570 static
void externalGraphicToSld( QDomDocument &doc, QDomElement &element, const QString &path, const QString &mime, const QColor &color,
double size = -1 );
571 static
bool externalGraphicFromSld( QDomElement &element, QString &path, QString &mime, QColor &color,
double &size );
577 Q_DECL_DEPRECATED static
void wellKnownMarkerToSld(
578 QDomDocument &doc, QDomElement &element, const QString &name, const QColor &color, const QColor &strokeColor, Qt::PenStyle strokeStyle,
double strokeWidth = -1,
double size = -1
585 static
void wellKnownMarkerToSld(
587 QDomElement &element,
590 const QColor &strokeColor,
591 Qt::PenStyle strokeStyle,
593 double strokeWidth = -1,
600 static
bool wellKnownMarkerFromSld( QDomElement &element, QString &name, QColor &color, QColor &strokeColor, Qt::PenStyle &strokeStyle,
double &strokeWidth,
double &size )
SIP_PYNAME(
601 wellKnownMarkerFromSld2
609 Q_DECL_DEPRECATED static
void externalMarkerToSld(
610 QDomDocument &doc, QDomElement &element, const QString &path, const QString &format,
int *markIndex =
nullptr, const QColor &color = QColor(),
double size = -1
618 static
void externalMarkerToSld(
619 QDomDocument &doc, QDomElement &element, const QString &path, const QString &format,
QgsSldExportContext &context,
int *markIndex =
nullptr, const QColor &color = QColor(),
double size = -1
622 static
bool externalMarkerFromSld( QDomElement &element, QString &path, QString &format,
int &markIndex, QColor &color,
double &size );
629 Q_DECL_DEPRECATED static
void labelTextToSld( QDomDocument &doc, QDomElement &element, const QString &label, const QFont &font, const QColor &color = QColor(),
double size = -1 )
SIP_DEPRECATED;
636 static
void labelTextToSld( QDomDocument &doc, QDomElement &element, const QString &label, const QFont &font,
QgsSldExportContext &context, const QColor &color = QColor(),
double size = -1 );
639 static QString ogrFeatureStylePen(
641 double mmScaleFactor,
642 double mapUnitsScaleFactor,
644 Qt::PenJoinStyle joinStyle = Qt::MiterJoin,
645 Qt::PenCapStyle capStyle = Qt::FlatCap,
647 const QVector<qreal> *dashPattern =
nullptr
654 static QString ogrFeatureStyleBrush( const QColor &fillColr );
660 Q_DECL_DEPRECATED static
void createRotationElement( QDomDocument &doc, QDomElement &element, const QString &rotationFunc )
SIP_DEPRECATED;
666 static
void createRotationElement( QDomDocument &doc, QDomElement &element, const QString &rotationFunc,
QgsSldExportContext &context );
668 static
bool rotationFromSldElement( QDomElement &element, QString &rotationFunc );
674 Q_DECL_DEPRECATED static
void createOpacityElement( QDomDocument &doc, QDomElement &element, const QString &alphaFunc )
SIP_DEPRECATED;
680 static
void createOpacityElement( QDomDocument &doc, QDomElement &element, const QString &alphaFunc,
QgsSldExportContext &context );
682 static
bool opacityFromSldElement( QDomElement &element, QString &alphaFunc );
684 static
void createDisplacementElement( QDomDocument &doc, QDomElement &element, QPointF offset );
685 static
bool displacementFromSldElement( QDomElement &element, QPointF &offset );
693 static
void createAnchorPointElement( QDomDocument &doc, QDomElement &element, QPointF anchor );
695 static
void createOnlineResourceElement( QDomDocument &doc, QDomElement &element, const QString &path, const QString &format );
696 static
bool onlineResourceFromSldElement( QDomElement &element, QString &path, QString &format );
702 Q_DECL_DEPRECATED static
void createGeometryElement( QDomDocument &doc, QDomElement &element, const QString &geomFunc )
SIP_DEPRECATED;
708 static
void createGeometryElement( QDomDocument &doc, QDomElement &element, const QString &geomFunc,
QgsSldExportContext &context );
710 static
bool geometryFromSldElement( QDomElement &element, QString &geomFunc );
719 Q_DECL_DEPRECATED static
bool createExpressionElement( QDomDocument &doc, QDomElement &element, const QString &function )
SIP_DEPRECATED;
729 static
bool createExpressionElement( QDomDocument &doc, QDomElement &element, const QString &function,
QgsSldExportContext &context );
735 Q_DECL_DEPRECATED static
bool createFunctionElement( QDomDocument &doc, QDomElement &element, const QString &function )
SIP_DEPRECATED;
741 static
bool createFunctionElement( QDomDocument &doc, QDomElement &element, const QString &function,
QgsSldExportContext &context );
743 static
bool functionFromSldElement( QDomElement &element, QString &function );
745 static QDomElement createSvgParameterElement( QDomDocument &doc, const QString &name, const QString &value );
746 static
QgsStringMap getSvgParameterList( QDomElement &element );
748 static QDomElement createVendorOptionElement( QDomDocument &doc, const QString &name, const QString &value );
749 static
QgsStringMap getVendorOptionList( QDomElement &element );
752 static QVariantMap parseProperties( const QDomElement &element );
754 static
void saveProperties( QVariantMap props, QDomDocument &doc, QDomElement &element );
769 static std::unique_ptr<QMimeData> symbolToMimeData( const
QgsSymbol *symbol );
776 static std::unique_ptr<
QgsSymbol > symbolFromMimeData( const QMimeData *data );
784 static std::unique_ptr<
QgsColorRamp > loadColorRamp( QDomElement &element );
794 static QDomElement saveColorRamp( const QString &name, const
QgsColorRamp *ramp, QDomDocument &doc );
802 static QVariant colorRampToVariant( const QString &name,
QgsColorRamp *ramp );
810 static std::unique_ptr<
QgsColorRamp > loadColorRamp( const QVariant &value );
817 static QString colorToName( const QColor &color );
825 static QList< QColor > parseColorList( const QString &colorStr );
833 static std::unique_ptr<QMimeData> colorToMimeData( const QColor &color );
842 static QColor colorFromMimeData( const QMimeData *data,
bool &hasAlpha
SIP_OUT );
857 static std::unique_ptr<QMimeData> colorListToMimeData( const
QgsNamedColorList &colorList,
bool allFormats = true );
867 static
bool saveColorsToGpl( QFile &file, const QString &paletteName, const
QgsNamedColorList &colors );
877 static
QgsNamedColorList importColorsFromGpl( QFile &file,
bool &ok, QString &name );
886 static QColor parseColor( const QString &colorStr,
bool strictEval = false );
896 static QColor parseColorWithAlpha( const QString &colorStr,
bool &containsAlpha,
bool strictEval = false );
901 static
void multiplyImageOpacity( QImage *image, qreal opacity );
904 static
void blurImageInPlace( QImage &image, QRect rect,
int radius,
bool alphaOnly );
909 static
void premultiplyColor( QColor &rgb,
int alpha );
926 static
void sortVariantList( QList<QVariant> &list, Qt::SortOrder order );
928 static QPointF pointOnLineWithDistance( QPointF startPoint, QPointF directionPoint,
double distance );
931 static QStringList listSvgFiles();
934 static QStringList listSvgFilesAt( const QString &directory );
942 static QString svgSymbolNameToPath( const QString &name, const
QgsPathResolver &pathResolver );
948 static QString svgSymbolPathToName( const QString &path, const
QgsPathResolver &pathResolver );
957 static QList< QList< QPolygonF > > toQPolygonF( const
QgsGeometry &geometry,
Qgis::SymbolType type );
969 static QPointF polygonCentroid( const QPolygonF &points );
972 static QPointF polygonPointOnSurface( const QPolygonF &points, const QVector<QPolygonF> *rings =
nullptr );
975 static
bool pointInPolygon( const QPolygonF &points, QPointF point );
982 static
double polylineLength( const QPolygonF &polyline );
996 static QPolygonF polylineSubstring( const QPolygonF &polyline,
double startOffset,
double endOffset );
1005 static
bool isSharpCorner( QPointF p1, QPointF p2, QPointF p3 );
1014 static
void appendPolyline( QPolygonF &target, const QPolygonF &line );
1022 static std::unique_ptr<
QgsExpression > fieldOrExpressionToExpression( const QString &fieldOrExpression );
1030 static QString fieldOrExpressionFromExpression(
QgsExpression *expression );
1037 static QList<
double> prettyBreaks(
double minimum,
double maximum,
int classes );
1043 static
double rescaleUom(
double size,
Qgis::RenderUnit unit, const QVariantMap &props );
1049 static QPointF rescaleUom( QPointF point,
Qgis::RenderUnit unit, const QVariantMap &props )
SIP_PYNAME( rescalePointUom );
1055 static QVector<qreal> rescaleUom( const QVector<qreal> &array,
Qgis::RenderUnit unit, const QVariantMap &props )
SIP_PYNAME( rescaleArrayUom );
1060 static
void applyScaleDependency( QDomDocument &doc, QDomElement &ruleElem, QVariantMap &props );
1065 static
void mergeScaleDependencies(
double mScaleMinDenom,
double mScaleMaxDenom, QVariantMap &props );
1073 Q_DECL_DEPRECATED static
void parametricSvgToSld( QDomDocument &doc, QDomElement &graphicElem, const QString &path, const QColor &fillColor,
double size, const QColor &strokeColor,
double strokeWidth )
1082 static
void parametricSvgToSld(
1083 QDomDocument &doc, QDomElement &graphicElem, const QString &path, const QColor &fillColor,
double size, const QColor &strokeColor,
double strokeWidth,
QgsSldExportContext &context
1089 static QString getSvgParametricPath( const QString &basePath, const QColor &fillColor, const QColor &strokeColor,
double strokeWidth );
1121 static std::unique_ptr<
QgsSymbol > restrictedSizeSymbol( const
QgsSymbol *s,
double minSize,
double maxSize,
QgsRenderContext *context,
double &width,
double &height,
bool *ok =
nullptr );
1138 static QSize tileSize(
int width,
int height,
double &angleRad
SIP_INOUT );
1144 static
void clearSymbolLayerIds(
QgsSymbol *symbol );
1156 static
void resetSymbolLayerIds(
QgsSymbol *symbol );
1168 static
void clearSymbolLayerMasks(
QgsSymbol *symbol );
1180 static QVector<
QgsGeometry > collectSymbolLayerClipGeometries( const
QgsRenderContext &context, const QString &symbolLayerId, const QRectF &bounds );
1190 static QgsProperty scaleWholeSymbol(
double scaleFactor,
const QgsProperty &property )
1192 const QString exprString =
property.asExpression();
1196 static QgsProperty scaleWholeSymbol(
double scaleFactorX,
double scaleFactorY,
const QgsProperty &property )
1198 const QString exprString =
property.asExpression();
1200 ( !
qgsDoubleNear( scaleFactorX, 0.0 ) ?
"tostring(" + QString::number( scaleFactorX ) +
"*(" + exprString +
"))" : u
"'0'"_s )
1202 + ( !
qgsDoubleNear( scaleFactorY, 0.0 ) ?
"tostring(" + QString::number( scaleFactorY ) +
"*(" + exprString +
"))" : u
"'0'"_s )
1214 typedef QList<QPair<double, double>> BlankSegments;
1229 static QList<QList<BlankSegments>> parseBlankSegments(
const QString &strBlankSegments,
const QgsRenderContext &renderContext,
Qgis::RenderUnit unit, QString &error );
1239 typedef QList<std::pair<QPointF, double>> ExtraItems;
1252 static ExtraItems parseExtraItems(
const QString &strExtraItems, QString &error );