QGIS API Documentation 3.41.0-Master (3440c17df1d)
|
Contains utility functions for working with symbols and symbol layers. More...
#include <qgssymbollayerutils.h>
Static Public Member Functions | |
static void | appendPolyline (QPolygonF &target, const QPolygonF &line) |
Appends a polyline line to an existing target polyline. | |
static void | applyScaleDependency (QDomDocument &doc, QDomElement &ruleElem, QVariantMap &props) |
Checks if the properties contain scaleMinDenom and scaleMaxDenom, if available, they are added into the SE Rule element. | |
static void | blurImageInPlace (QImage &image, QRect rect, int radius, bool alphaOnly) |
Blurs an image in place, e.g. creating Qt-independent drop shadows. | |
static void | clearSymbolLayerIds (QgsSymbol *symbol) |
Remove recursively unique id from all symbol symbol layers and set an empty string instead. | |
static void | clearSymbolLayerIds (QgsSymbolLayer *symbolLayer) |
Remove recursively unique id from symbolLayer and its children and set an empty string instead. | |
static void | clearSymbolMap (QgsSymbolMap &symbols) |
static QVector< QgsGeometry > | collectSymbolLayerClipGeometries (const QgsRenderContext &context, const QString &symbolLayerId, const QRectF &bounds) |
Returns a list of the symbol layer clip geometries to be used for the symbol layer with the specified ID. | |
static QColor | colorFromMimeData (const QMimeData *data, bool &hasAlpha) |
Attempts to parse mime data as a color. | |
static QgsNamedColorList | colorListFromMimeData (const QMimeData *data) |
Attempts to parse mime data as a list of named colors. | |
static QMimeData * | colorListToMimeData (const QgsNamedColorList &colorList, bool allFormats=true) |
Creates mime data from a list of named colors. | |
static QIcon | colorRampPreviewIcon (QgsColorRamp *ramp, QSize size, int padding=0) |
Returns an icon preview for a color ramp. | |
static QPixmap | colorRampPreviewPixmap (QgsColorRamp *ramp, QSize size, int padding=0, Qt::Orientation direction=Qt::Horizontal, bool flipDirection=false, bool drawTransparentBackground=true) |
Returns a pixmap preview for a color ramp. | |
static QVariant | colorRampToVariant (const QString &name, QgsColorRamp *ramp) |
Saves a color ramp to a QVariantMap, wrapped in a QVariant. | |
static QMimeData * | colorToMimeData (const QColor &color) |
Creates mime data from a color. | |
static QString | colorToName (const QColor &color) |
Returns a friendly display name for a color. | |
static bool | condenseFillAndOutline (QgsFillSymbolLayer *fill, QgsLineSymbolLayer *outline) |
Attempts to condense a fill and outline layer, by moving the outline layer to the fill symbol's stroke. | |
static bool | convertPolygonSymbolizerToPointMarker (QDomElement &element, QList< QgsSymbolLayer * > &layerList) |
Converts a polygon symbolizer element to a list of marker symbol layers. | |
static void | createAnchorPointElement (QDomDocument &doc, QDomElement &element, QPointF anchor) |
Creates a SE 1.1 anchor point element as a child of the specified element. | |
static void | createDisplacementElement (QDomDocument &doc, QDomElement &element, QPointF offset) |
static bool | createExpressionElement (QDomDocument &doc, QDomElement &element, const QString &function) |
Creates a OGC Expression element based on the provided function expression. | |
static QgsSymbolLayer * | createFillLayerFromSld (QDomElement &element) |
static bool | createFunctionElement (QDomDocument &doc, QDomElement &element, const QString &function) |
static void | createGeometryElement (QDomDocument &doc, QDomElement &element, const QString &geomFunc) |
static QgsSymbolLayer * | createLineLayerFromSld (QDomElement &element) |
static QgsSymbolLayer * | createMarkerLayerFromSld (QDomElement &element) |
static void | createOnlineResourceElement (QDomDocument &doc, QDomElement &element, const QString &path, const QString &format) |
static void | createOpacityElement (QDomDocument &doc, QDomElement &element, const QString &alphaFunc) |
static void | createRotationElement (QDomDocument &doc, QDomElement &element, const QString &rotationFunc) |
static QDomElement | createSvgParameterElement (QDomDocument &doc, const QString &name, const QString &value) |
static bool | createSymbolLayerListFromSld (QDomElement &element, Qgis::GeometryType geomType, QList< QgsSymbolLayer * > &layers) |
Creates a symbol layer list from a DOM element. | |
static QDomElement | createVendorOptionElement (QDomDocument &doc, const QString &name, const QString &value) |
static QgsArrowSymbolLayer::HeadType | decodeArrowHeadType (const QVariant &value, bool *ok=nullptr) |
Decodes a value representing an arrow head type. | |
static QgsArrowSymbolLayer::ArrowType | decodeArrowType (const QVariant &value, bool *ok=nullptr) |
Decodes a value representing an arrow type. | |
static QPainter::CompositionMode | decodeBlendMode (const QString &s) |
static Qt::BrushStyle | decodeBrushStyle (const QString &str) |
static QColor | decodeColor (const QString &str) |
static Qgis::SymbolCoordinateReference | decodeCoordinateReference (const QString &string, bool *ok=nullptr) |
Decodes a string representing a symbol coordinate reference mode. | |
static Qgis::LineClipMode | decodeLineClipMode (const QString &string, bool *ok=nullptr) |
Decodes a string representing a line clip mode. | |
static QgsMapUnitScale | decodeMapUnitScale (const QString &str) |
static Qgis::MarkerClipMode | decodeMarkerClipMode (const QString &string, bool *ok=nullptr) |
Decodes a string representing a marker clip mode. | |
static Qt::PenCapStyle | decodePenCapStyle (const QString &str) |
static Qt::PenJoinStyle | decodePenJoinStyle (const QString &str) |
static Qt::PenStyle | decodePenStyle (const QString &str) |
static QPointF | decodePoint (const QString &string) |
Decodes a QSizeF from a string. | |
static QVector< qreal > | decodeRealVector (const QString &s) |
static Qgis::ScaleMethod | decodeScaleMethod (const QString &str) |
Decodes a symbol scale method from a string. | |
static QSizeF | decodeSize (const QString &string) |
Decodes a QSizeF from a string. | |
static int | decodeSldAlpha (const QString &str) |
static Qt::BrushStyle | decodeSldBrushStyle (const QString &str) |
static QFont::Style | decodeSldFontStyle (const QString &str) |
static int | decodeSldFontWeight (const QString &str) |
static Qt::PenCapStyle | decodeSldLineCapStyle (const QString &str) |
static Qt::PenJoinStyle | decodeSldLineJoinStyle (const QString &str) |
static QVector< qreal > | decodeSldRealVector (const QString &s) |
static Qgis::RenderUnit | decodeSldUom (const QString &str, double *scaleFactor=nullptr) |
Decodes a SLD unit of measure string to a render unit. | |
static bool | displacementFromSldElement (QDomElement &element, QPointF &offset) |
static void | drawStippledBackground (QPainter *painter, QRect rect) |
static void | drawVertexMarker (double x, double y, QPainter &p, Qgis::VertexMarkerType type, int markerSize) |
Draws a vertex symbol at (painter) coordinates x, y. | |
static QString | encodeBrushStyle (Qt::BrushStyle style) |
static QString | encodeColor (const QColor &color) |
static QString | encodeCoordinateReference (Qgis::SymbolCoordinateReference coordinateReference) |
Encodes a symbol coordinate reference mode to a string. | |
static QString | encodeLineClipMode (Qgis::LineClipMode mode) |
Encodes a line clip mode to a string. | |
static QString | encodeMapUnitScale (const QgsMapUnitScale &mapUnitScale) |
static QString | encodeMarkerClipMode (Qgis::MarkerClipMode mode) |
Encodes a marker clip mode to a string. | |
static QString | encodePenCapStyle (Qt::PenCapStyle style) |
static QString | encodePenJoinStyle (Qt::PenJoinStyle style) |
static QString | encodePenStyle (Qt::PenStyle style) |
static QString | encodePoint (QPointF point) |
Encodes a QPointF to a string. | |
static QString | encodeRealVector (const QVector< qreal > &v) |
static QString | encodeScaleMethod (Qgis::ScaleMethod scaleMethod) |
Encodes a symbol scale method to a string. | |
static QString | encodeSize (QSizeF size) |
Encodes a QSizeF to a string. | |
static QString | encodeSldAlpha (int alpha) |
static QString | encodeSldBrushStyle (Qt::BrushStyle style) |
static QString | encodeSldFontStyle (QFont::Style style) |
static QString | encodeSldFontWeight (int weight) |
static QString | encodeSldLineCapStyle (Qt::PenCapStyle style) |
static QString | encodeSldLineJoinStyle (Qt::PenJoinStyle style) |
static QString | encodeSldRealVector (const QVector< qreal > &v) |
static QString | encodeSldUom (Qgis::RenderUnit unit, double *scaleFactor) |
Encodes a render unit into an SLD unit of measure string. | |
static double | estimateMaxSymbolBleed (QgsSymbol *symbol, const QgsRenderContext &context) |
Returns the maximum estimated bleed for the symbol. | |
static QgsStringMap | evaluatePropertiesMap (const QMap< QString, QgsProperty > &propertiesMap, const QgsExpressionContext &context) |
Evaluates a map of properties using the given context and returns a variant map with evaluated expressions from the properties. | |
static bool | externalGraphicFromSld (QDomElement &element, QString &path, QString &mime, QColor &color, double &size) |
static void | externalGraphicToSld (QDomDocument &doc, QDomElement &element, const QString &path, const QString &mime, const QColor &color, double size=-1) |
static bool | externalMarkerFromSld (QDomElement &element, QString &path, QString &format, int &markIndex, QColor &color, double &size) |
static void | externalMarkerToSld (QDomDocument &doc, QDomElement &element, const QString &path, const QString &format, int *markIndex=nullptr, const QColor &color=QColor(), double size=-1) |
static QString | fieldOrExpressionFromExpression (QgsExpression *expression) |
Returns a field name if the whole expression is just a name of the field . | |
static QgsExpression * | fieldOrExpressionToExpression (const QString &fieldOrExpression) |
Returns a new valid expression instance for given field or expression string. | |
static bool | fillFromSld (QDomElement &element, Qt::BrushStyle &brushStyle, QColor &color) |
static void | fillToSld (QDomDocument &doc, QDomElement &element, Qt::BrushStyle brushStyle, const QColor &color=QColor()) |
static bool | functionFromSldElement (QDomElement &element, QString &function) |
static bool | geometryFromSldElement (QDomElement &element, QString &geomFunc) |
static QgsStringMap | getSvgParameterList (QDomElement &element) |
static QString | getSvgParametricPath (const QString &basePath, const QColor &fillColor, const QColor &strokeColor, double strokeWidth) |
Encodes a reference to a parametric SVG into a path with parameters according to the SVG Parameters spec. | |
static QgsStringMap | getVendorOptionList (QDomElement &element) |
static bool | hasExternalGraphic (QDomElement &element) |
Checks if element contains an ExternalGraphic element with format "image/svg+xml". | |
static bool | hasExternalGraphicV2 (QDomElement &element, const QString format=QString()) |
Checks if element contains an ExternalGraphic element, if the optional format is specified it will also be checked. | |
static bool | hasSldSymbolizer (const QDomElement &element) |
Returns true if a DOM element contains an SLD Symbolizer element. | |
static bool | hasWellKnownMark (QDomElement &element) |
static QgsNamedColorList | importColorsFromGpl (QFile &file, bool &ok, QString &name) |
Imports colors from a gpl GIMP palette file. | |
static bool | isSharpCorner (QPointF p1, QPointF p2, QPointF p3) |
Returns true if the angle formed by the line p1 - p2 - p3 forms a "sharp" corner. | |
static void | labelTextToSld (QDomDocument &doc, QDomElement &element, const QString &label, const QFont &font, const QColor &color=QColor(), double size=-1) |
static bool | lineFromSld (QDomElement &element, Qt::PenStyle &penStyle, QColor &color, double &width, Qt::PenJoinStyle *penJoinStyle=nullptr, Qt::PenCapStyle *penCapStyle=nullptr, QVector< qreal > *customDashPattern=nullptr, double *dashOffset=nullptr) |
static void | lineToSld (QDomDocument &doc, QDomElement &element, Qt::PenStyle penStyle, const QColor &color, double width=-1, const Qt::PenJoinStyle *penJoinStyle=nullptr, const Qt::PenCapStyle *penCapStyle=nullptr, const QVector< qreal > *customDashPattern=nullptr, double dashOffset=0.0) |
static QStringList | listSvgFiles () |
Returns a list of all available svg files. | |
static QStringList | listSvgFilesAt (const QString &directory) |
Returns a list of svg files at the specified directory. | |
static QgsColorRamp * | loadColorRamp (const QVariant &value) |
Load a color ramp from a QVariantMap, wrapped in a QVariant. | |
static QgsColorRamp * | loadColorRamp (QDomElement &element) |
Creates a color ramp from the settings encoded in an XML element. | |
static QgsSymbol * | loadSymbol (const QDomElement &element, const QgsReadWriteContext &context) |
Attempts to load a symbol from a DOM element. | |
template<class SymbolType > | |
static SymbolType * | loadSymbol (const QDomElement &element, const QgsReadWriteContext &context) |
Attempts to load a symbol from a DOM element and cast it to a particular symbol type. | |
static QgsSymbolLayer * | loadSymbolLayer (QDomElement &element, const QgsReadWriteContext &context) |
Reads and returns symbol layer from XML. Caller is responsible for deleting the returned object. | |
static QgsSymbolMap | loadSymbols (QDomElement &element, const QgsReadWriteContext &context) |
Reads a collection of symbols from XML and returns them in a map. Caller is responsible for deleting returned symbols. | |
static void | mergeScaleDependencies (double mScaleMinDenom, double mScaleMaxDenom, QVariantMap &props) |
Merges the local scale limits, if any, with the ones already in the map, if any. | |
static void | multiplyImageOpacity (QImage *image, qreal opacity) |
Multiplies opacity of image pixel values with a (global) transparency value. | |
static bool | needEllipseMarker (QDomElement &element) |
static bool | needFontMarker (QDomElement &element) |
static bool | needLinePatternFill (QDomElement &element) |
static bool | needMarkerLine (QDomElement &element) |
static bool | needPointPatternFill (QDomElement &element) |
static bool | needRasterImageFill (QDomElement &element) |
Checks if element contains a graphic fill with a raster image of type PNG, JPEG or GIF. | |
static bool | needSvgFill (QDomElement &element) |
static bool | needSvgMarker (QDomElement &element) |
static QString | ogrFeatureStyleBrush (const QColor &fillColr) |
Create ogr feature style string for brush. | |
static QString | ogrFeatureStylePen (double width, double mmScaleFactor, double mapUnitsScaleFactor, const QColor &c, Qt::PenJoinStyle joinStyle=Qt::MiterJoin, Qt::PenCapStyle capStyle=Qt::FlatCap, double offset=0.0, const QVector< qreal > *dashPattern=nullptr) |
Create ogr feature style string for pen. | |
static bool | onlineResourceFromSldElement (QDomElement &element, QString &path, QString &format) |
static bool | opacityFromSldElement (QDomElement &element, QString &alphaFunc) |
static void | parametricSvgToSld (QDomDocument &doc, QDomElement &graphicElem, const QString &path, const QColor &fillColor, double size, const QColor &strokeColor, double strokeWidth) |
Encodes a reference to a parametric SVG into SLD, as a succession of parametric SVG using URL parameters, a fallback SVG without parameters, and a final fallback as a mark with the right colors and stroke for systems that cannot do SVG at all. | |
static QColor | parseColor (const QString &colorStr, bool strictEval=false) |
Attempts to parse a string as a color using a variety of common formats, including hex codes, rgb and rgba strings. | |
static QList< QColor > | parseColorList (const QString &colorStr) |
Attempts to parse a string as a list of colors using a variety of common formats, including hex codes, rgb and rgba strings. | |
static QColor | parseColorWithAlpha (const QString &colorStr, bool &containsAlpha, bool strictEval=false) |
Attempts to parse a string as a color using a variety of common formats, including hex codes, rgb and rgba, hsl and hsla strings. | |
static QVariantMap | parseProperties (const QDomElement &element) |
Parses the properties from XML and returns a map. | |
static bool | pointInPolygon (const QPolygonF &points, QPointF point) |
Calculate whether a point is within of a QPolygonF. | |
static QPointF | pointOnLineWithDistance (QPointF startPoint, QPointF directionPoint, double distance) |
Returns a point on the line from startPoint to directionPoint that is a certain distance away from the starting point. | |
static QPointF | polygonCentroid (const QPolygonF &points) |
Calculate the centroid point of a QPolygonF. | |
static QPointF | polygonPointOnSurface (const QPolygonF &points, const QVector< QPolygonF > *rings=nullptr) |
Calculate a point on the surface of a QPolygonF. | |
static double | polylineLength (const QPolygonF &polyline) |
Returns the total length of a polyline. | |
static QPolygonF | polylineSubstring (const QPolygonF &polyline, double startOffset, double endOffset) |
Returns the substring of a polyline which starts at startOffset from the beginning of the line and ends at endOffset from the start of the line. | |
static void | premultiplyColor (QColor &rgb, int alpha) |
Converts a QColor into a premultiplied ARGB QColor value using a specified alpha value. | |
static QList< double > | prettyBreaks (double minimum, double maximum, int classes) |
Computes a sequence of about 'classes' equally spaced round values which cover the range of values from 'minimum' to 'maximum'. | |
static double | rendererFrameRate (const QgsFeatureRenderer *renderer) |
Calculates the frame rate (in frames per second) at which the given renderer must be redrawn. | |
static QVector< qreal > | rescaleUom (const QVector< qreal > &array, Qgis::RenderUnit unit, const QVariantMap &props) |
Rescales the given array based on the uomScale found in the props, if any is found, otherwise returns a copy of the original point. | |
static double | rescaleUom (double size, Qgis::RenderUnit unit, const QVariantMap &props) |
Rescales the given size based on the uomScale found in the props, if any is found, otherwise returns the value un-modified. | |
static QPointF | rescaleUom (QPointF point, Qgis::RenderUnit unit, const QVariantMap &props) |
Rescales the given point based on the uomScale found in the props, if any is found, otherwise returns a copy of the original point. | |
static void | resetSymbolLayerIds (QgsSymbol *symbol) |
Regenerate recursively unique id from all symbol symbol layers. | |
static void | resetSymbolLayerIds (QgsSymbolLayer *symbolLayer) |
Regenerate recursively unique id from symbolLayer and its children. | |
static QgsSymbol * | restrictedSizeSymbol (const QgsSymbol *s, double minSize, double maxSize, QgsRenderContext *context, double &width, double &height, bool *ok=nullptr) |
Creates a new symbol with size restricted to min/max size if original size is out of min/max range. | |
static bool | rotationFromSldElement (QDomElement &element, QString &rotationFunc) |
static QDomElement | saveColorRamp (const QString &name, QgsColorRamp *ramp, QDomDocument &doc) |
Encodes a color ramp's settings to an XML element. | |
static bool | saveColorsToGpl (QFile &file, const QString &paletteName, const QgsNamedColorList &colors) |
Exports colors to a gpl GIMP palette file. | |
static void | saveProperties (QVariantMap props, QDomDocument &doc, QDomElement &element) |
Saves the map of properties to XML. | |
static QDomElement | saveSymbol (const QString &symbolName, const QgsSymbol *symbol, QDomDocument &doc, const QgsReadWriteContext &context) |
Writes a symbol definition to XML. | |
static QDomElement | saveSymbols (QgsSymbolMap &symbols, const QString &tagName, QDomDocument &doc, const QgsReadWriteContext &context) |
Writes a collection of symbols to XML with specified tagName for the top-level element. | |
static double | sizeInPixelsFromSldUom (const QString &uom, double size) |
Returns the size scaled in pixels according to the uom attribute. | |
static void | sortVariantList (QList< QVariant > &list, Qt::SortOrder order) |
Sorts the passed list in requested order. | |
static QString | svgSymbolNameToPath (const QString &name, const QgsPathResolver &pathResolver) |
Determines an SVG symbol's path from its name. | |
static QString | svgSymbolPathToName (const QString &path, const QgsPathResolver &pathResolver) |
Determines an SVG symbol's name from its path. | |
static QgsSymbol * | symbolFromMimeData (const QMimeData *data) |
Attempts to parse mime data as a symbol. | |
static QIcon | symbolLayerPreviewIcon (const QgsSymbolLayer *layer, Qgis::RenderUnit u, QSize size, const QgsMapUnitScale &scale=QgsMapUnitScale(), Qgis::SymbolType parentSymbolType=Qgis::SymbolType::Hybrid, QgsMapLayer *mapLayer=nullptr, const QgsScreenProperties &screen=QgsScreenProperties()) |
Draws a symbol layer preview to an icon. | |
static QPicture | symbolLayerPreviewPicture (const QgsSymbolLayer *layer, Qgis::RenderUnit units, QSize size, const QgsMapUnitScale &scale=QgsMapUnitScale(), Qgis::SymbolType parentSymbolType=Qgis::SymbolType::Hybrid) |
Draws a symbol layer preview to a QPicture. | |
static QIcon | symbolPreviewIcon (const QgsSymbol *symbol, QSize size, int padding=0, QgsLegendPatchShape *shape=nullptr, const QgsScreenProperties &screen=QgsScreenProperties()) |
Returns an icon preview for a color ramp. | |
static QPixmap | symbolPreviewPixmap (const QgsSymbol *symbol, QSize size, int padding=0, QgsRenderContext *customContext=nullptr, bool selected=false, const QgsExpressionContext *expressionContext=nullptr, const QgsLegendPatchShape *shape=nullptr, const QgsScreenProperties &screen=QgsScreenProperties()) |
Returns a pixmap preview for a color ramp. | |
static QString | symbolProperties (QgsSymbol *symbol) |
Returns a string representing the symbol. | |
static QMimeData * | symbolToMimeData (const QgsSymbol *symbol) |
Creates new mime data from a symbol. | |
static QSize | tileSize (int width, int height, double &angleRad) |
Calculate the minimum size in pixels of a symbol tile given the symbol width and height and the symbol layer rotation angleRad in radians (counter clockwise). | |
static QPointF | toPoint (const QVariant &value, bool *ok=nullptr) |
Converts a value to a point. | |
static QList< QList< QPolygonF > > | toQPolygonF (const QgsGeometry &geometry, Qgis::SymbolType type) |
Converts a geometry to a set of QPolygonF objects representing how the geometry should be drawn for a symbol of the given type, as a list of geometry parts and rings. | |
static QSizeF | toSize (const QVariant &value, bool *ok=nullptr) |
Converts a value to a size. | |
static Q_DECL_DEPRECATED QSet< const QgsSymbolLayer * > | toSymbolLayerPointers (const QgsFeatureRenderer *renderer, const QSet< QgsSymbolLayerId > &symbolLayerIds) |
Converts a set of symbol layer id to a set of pointers to actual symbol layers carried by the feature renderer. | |
static bool | wellKnownMarkerFromSld (QDomElement &element, QString &name, QColor &color, QColor &strokeColor, Qt::PenStyle &strokeStyle, double &strokeWidth, double &size) |
static void | wellKnownMarkerToSld (QDomDocument &doc, QDomElement &element, const QString &name, const QColor &color, const QColor &strokeColor, Qt::PenStyle strokeStyle, double strokeWidth=-1, double size=-1) |
Contains utility functions for working with symbols and symbol layers.
Definition at line 60 of file qgssymbollayerutils.h.
|
static |
Appends a polyline line to an existing target polyline.
Any duplicate points at the start line which match the end point from target will be skipped.
Definition at line 4760 of file qgssymbollayerutils.cpp.
|
static |
Checks if the properties contain scaleMinDenom and scaleMaxDenom, if available, they are added into the SE Rule element.
Definition at line 5055 of file qgssymbollayerutils.cpp.
|
static |
Blurs an image in place, e.g. creating Qt-independent drop shadows.
Definition at line 4145 of file qgssymbollayerutils.cpp.
|
static |
Remove recursively unique id from all symbol symbol layers and set an empty string instead.
Definition at line 5586 of file qgssymbollayerutils.cpp.
|
static |
Remove recursively unique id from symbolLayer and its children and set an empty string instead.
Definition at line 5591 of file qgssymbollayerutils.cpp.
|
static |
Definition at line 3369 of file qgssymbollayerutils.cpp.
|
static |
Returns a list of the symbol layer clip geometries to be used for the symbol layer with the specified ID.
The bounds argument specifies the target bounds (in painter coordinates) for matching geometries. Only mask geometries which intersect bounds will be returned. If bounds is a null QRectF then all clip geometries for the symbol layer will be returned.
Definition at line 5601 of file qgssymbollayerutils.cpp.
|
static |
Attempts to parse mime data as a color.
data | mime data to parse |
hasAlpha | will be set to true if mime data was interpreted as a color containing an explicit alpha value |
Definition at line 3595 of file qgssymbollayerutils.cpp.
|
static |
Attempts to parse mime data as a list of named colors.
data | mime data to parse |
Definition at line 3623 of file qgssymbollayerutils.cpp.
|
static |
Creates mime data from a list of named colors.
colorList | list of named colors |
allFormats | set to true to include additional mime formats, include text/plain and application/x-color |
Definition at line 3736 of file qgssymbollayerutils.cpp.
|
static |
Returns an icon preview for a color ramp.
ramp | color ramp |
size | target icon size |
padding | space between icon edge and color ramp |
Definition at line 1050 of file qgssymbollayerutils.cpp.
|
static |
Returns a pixmap preview for a color ramp.
ramp | color ramp |
size | target pixmap size |
padding | space between icon edge and color ramp |
direction | direction to render pixmap (since QGIS 3.18) |
flipDirection | set to true to flip the direction of the ramp. For horizontal directions, ramps will be rendered left to right by default. For vertical directions, ramps will be rendered top to bottom by default. Setting this flag to true will reverse these default directions. |
drawTransparentBackground | set to false to disable the checkerboard effect drawn below transparent colors in the ramp |
Definition at line 1055 of file qgssymbollayerutils.cpp.
|
static |
Saves a color ramp to a QVariantMap, wrapped in a QVariant.
You can use QgsXmlUtils::writeVariant to save it to an XML document.
Definition at line 3453 of file qgssymbollayerutils.cpp.
|
static |
Creates mime data from a color.
Sets both the mime data's color data, and the mime data's text with the color's hex code.
color | color to encode as mime data |
Definition at line 3585 of file qgssymbollayerutils.cpp.
|
static |
Returns a friendly display name for a color.
color | source color |
Definition at line 3504 of file qgssymbollayerutils.cpp.
|
static |
Attempts to condense a fill and outline layer, by moving the outline layer to the fill symbol's stroke.
This will only be done if the outline can be transformed into a stroke on the fill layer losslessly. If so, fill will be updated in place with the new stroke. Any existing stroke settings in fill will be replaced.
Returns true
if the fill and outline were successfully condensed.
Definition at line 4242 of file qgssymbollayerutils.cpp.
|
static |
Converts a polygon symbolizer element to a list of marker symbol layers.
Definition at line 1957 of file qgssymbollayerutils.cpp.
|
static |
Creates a SE 1.1 anchor point element as a child of the specified element.
doc | The document |
element | The parent element |
anchor | An anchor specification, with values between 0 and 1 |
Definition at line 2857 of file qgssymbollayerutils.cpp.
|
static |
Definition at line 2839 of file qgssymbollayerutils.cpp.
|
static |
Creates a OGC Expression element based on the provided function expression.
doc | The document owning the element |
element | The element parent |
function | The expression to be encoded |
Definition at line 3057 of file qgssymbollayerutils.cpp.
|
static |
Definition at line 1670 of file qgssymbollayerutils.cpp.
|
static |
Definition at line 3073 of file qgssymbollayerutils.cpp.
|
static |
Definition at line 3014 of file qgssymbollayerutils.cpp.
|
static |
Definition at line 1695 of file qgssymbollayerutils.cpp.
|
static |
Definition at line 1714 of file qgssymbollayerutils.cpp.
|
static |
Definition at line 3135 of file qgssymbollayerutils.cpp.
|
static |
Definition at line 2819 of file qgssymbollayerutils.cpp.
|
static |
Definition at line 2798 of file qgssymbollayerutils.cpp.
|
static |
Definition at line 3169 of file qgssymbollayerutils.cpp.
|
static |
Creates a symbol layer list from a DOM element.
Definition at line 1520 of file qgssymbollayerutils.cpp.
|
static |
Definition at line 3216 of file qgssymbollayerutils.cpp.
|
static |
Decodes a value representing an arrow head type.
Definition at line 436 of file qgssymbollayerutils.cpp.
|
static |
Decodes a value representing an arrow type.
Definition at line 461 of file qgssymbollayerutils.cpp.
|
static |
Definition at line 870 of file qgssymbollayerutils.cpp.
|
static |
Definition at line 322 of file qgssymbollayerutils.cpp.
|
static |
Definition at line 71 of file qgssymbollayerutils.cpp.
|
static |
Decodes a string representing a symbol coordinate reference mode.
string | string to decode |
ok | will be set to true if string was successfully decoded |
Definition at line 408 of file qgssymbollayerutils.cpp.
|
static |
Decodes a string representing a line clip mode.
string | string to decode |
ok | will be set to true if string was successfully decoded |
Definition at line 522 of file qgssymbollayerutils.cpp.
|
static |
Definition at line 692 of file qgssymbollayerutils.cpp.
|
static |
Decodes a string representing a marker clip mode.
string | string to decode |
ok | will be set to true if string was successfully decoded |
Definition at line 486 of file qgssymbollayerutils.cpp.
|
static |
Definition at line 252 of file qgssymbollayerutils.cpp.
|
static |
Definition at line 202 of file qgssymbollayerutils.cpp.
|
static |
Definition at line 176 of file qgssymbollayerutils.cpp.
|
static |
Decodes a QSizeF from a string.
Definition at line 559 of file qgssymbollayerutils.cpp.
|
static |
Definition at line 795 of file qgssymbollayerutils.cpp.
|
static |
Decodes a symbol scale method from a string.
Definition at line 854 of file qgssymbollayerutils.cpp.
|
static |
Decodes a QSizeF from a string.
Definition at line 623 of file qgssymbollayerutils.cpp.
|
static |
Definition at line 95 of file qgssymbollayerutils.cpp.
|
static |
Definition at line 379 of file qgssymbollayerutils.cpp.
|
static |
Definition at line 121 of file qgssymbollayerutils.cpp.
|
static |
Definition at line 141 of file qgssymbollayerutils.cpp.
|
static |
Definition at line 275 of file qgssymbollayerutils.cpp.
|
static |
Definition at line 229 of file qgssymbollayerutils.cpp.
|
static |
Definition at line 824 of file qgssymbollayerutils.cpp.
|
static |
Decodes a SLD unit of measure string to a render unit.
str | string to decode |
scaleFactor | if specified, will be set to scale factor for unit of measure |
Definition at line 756 of file qgssymbollayerutils.cpp.
|
static |
Definition at line 2874 of file qgssymbollayerutils.cpp.
|
static |
Definition at line 1100 of file qgssymbollayerutils.cpp.
|
static |
Draws a vertex symbol at (painter) coordinates x, y.
(Useful to assist vertex editing.)
Definition at line 1119 of file qgssymbollayerutils.cpp.
|
static |
Definition at line 283 of file qgssymbollayerutils.cpp.
|
static |
Definition at line 66 of file qgssymbollayerutils.cpp.
|
static |
Encodes a symbol coordinate reference mode to a string.
coordinateReference | coordinate reference mode |
Definition at line 424 of file qgssymbollayerutils.cpp.
|
static |
Encodes a line clip mode to a string.
Definition at line 540 of file qgssymbollayerutils.cpp.
|
static |
Definition at line 682 of file qgssymbollayerutils.cpp.
|
static |
Encodes a marker clip mode to a string.
Definition at line 506 of file qgssymbollayerutils.cpp.
|
static |
Definition at line 237 of file qgssymbollayerutils.cpp.
|
static |
Definition at line 187 of file qgssymbollayerutils.cpp.
|
static |
Definition at line 155 of file qgssymbollayerutils.cpp.
|
static |
Encodes a QPointF to a string.
Definition at line 554 of file qgssymbollayerutils.cpp.
|
static |
Definition at line 780 of file qgssymbollayerutils.cpp.
|
static |
Encodes a symbol scale method to a string.
Definition at line 838 of file qgssymbollayerutils.cpp.
|
static |
Encodes a QSizeF to a string.
Definition at line 618 of file qgssymbollayerutils.cpp.
|
static |
Definition at line 90 of file qgssymbollayerutils.cpp.
|
static |
Definition at line 342 of file qgssymbollayerutils.cpp.
|
static |
Definition at line 106 of file qgssymbollayerutils.cpp.
|
static |
Definition at line 129 of file qgssymbollayerutils.cpp.
|
static |
Definition at line 260 of file qgssymbollayerutils.cpp.
|
static |
Definition at line 214 of file qgssymbollayerutils.cpp.
|
static |
Definition at line 809 of file qgssymbollayerutils.cpp.
|
static |
Encodes a render unit into an SLD unit of measure string.
unit | unit to encode |
scaleFactor | if specified, will be set to scale factor for unit of measure |
Definition at line 730 of file qgssymbollayerutils.cpp.
|
static |
Returns the maximum estimated bleed for the symbol.
Definition at line 954 of file qgssymbollayerutils.cpp.
|
static |
Evaluates a map of properties using the given context and returns a variant map with evaluated expressions from the properties.
Definition at line 5321 of file qgssymbollayerutils.cpp.
|
static |
Definition at line 2616 of file qgssymbollayerutils.cpp.
|
static |
Definition at line 2533 of file qgssymbollayerutils.cpp.
|
static |
Definition at line 2671 of file qgssymbollayerutils.cpp.
|
static |
Definition at line 2641 of file qgssymbollayerutils.cpp.
|
static |
Returns a field name if the whole expression is just a name of the field .
Returns full expression string if the expression is more complex than just one field. Using just expression->expression() method may return quoted field name, but that is not wanted for saving (due to backward compatibility) or display in GUI.
Definition at line 4788 of file qgssymbollayerutils.cpp.
|
static |
Returns a new valid expression instance for given field or expression string.
If the input is not a valid expression, it is assumed that it is a field name and gets properly quoted. If the string is empty, returns nullptr
. This is useful when accepting input which could be either a non-quoted field name or expression.
Definition at line 4772 of file qgssymbollayerutils.cpp.
|
static |
Definition at line 2264 of file qgssymbollayerutils.cpp.
|
static |
Definition at line 2213 of file qgssymbollayerutils.cpp.
|
static |
Definition at line 3098 of file qgssymbollayerutils.cpp.
|
static |
Definition at line 3048 of file qgssymbollayerutils.cpp.
|
static |
Definition at line 3177 of file qgssymbollayerutils.cpp.
|
static |
Encodes a reference to a parametric SVG into a path with parameters according to the SVG Parameters spec.
Definition at line 2581 of file qgssymbollayerutils.cpp.
|
static |
Definition at line 3224 of file qgssymbollayerutils.cpp.
|
static |
Checks if element contains an ExternalGraphic element with format "image/svg+xml".
true
if the ExternalGraphic with format "image/svg+xml" is found . Definition at line 1737 of file qgssymbollayerutils.cpp.
|
static |
Checks if element contains an ExternalGraphic element, if the optional format is specified it will also be checked.
true
if the ExternalGraphic element is found and the optionally specified format matches. Definition at line 1742 of file qgssymbollayerutils.cpp.
|
static |
Returns true
if a DOM element contains an SLD Symbolizer element.
Definition at line 394 of file qgssymbollayerutils.cpp.
|
static |
Definition at line 1783 of file qgssymbollayerutils.cpp.
|
static |
Imports colors from a gpl GIMP palette file.
file | source gpl file |
ok | will be true if file was successfully read |
name | will be set to palette name from gpl file, if present |
Definition at line 3812 of file qgssymbollayerutils.cpp.
|
static |
Returns true
if the angle formed by the line p1 - p2 - p3 forms a "sharp" corner.
Sharp corners form an angle which exceeds a 45 degree threshold.
Definition at line 4751 of file qgssymbollayerutils.cpp.
|
static |
Definition at line 2903 of file qgssymbollayerutils.cpp.
|
static |
Definition at line 2402 of file qgssymbollayerutils.cpp.
|
static |
Definition at line 2318 of file qgssymbollayerutils.cpp.
|
static |
Returns a list of all available svg files.
Definition at line 4311 of file qgssymbollayerutils.cpp.
|
static |
Returns a list of svg files at the specified directory.
Definition at line 4337 of file qgssymbollayerutils.cpp.
|
static |
Load a color ramp from a QVariantMap, wrapped in a QVariant.
You can use QgsXmlUtils::readVariant to load it from an XML document.
Definition at line 3472 of file qgssymbollayerutils.cpp.
|
static |
Creates a color ramp from the settings encoded in an XML element.
element | DOM element |
Definition at line 3418 of file qgssymbollayerutils.cpp.
|
static |
Attempts to load a symbol from a DOM element.
element | DOM element representing symbol |
context | object to transform relative to absolute paths |
Definition at line 1243 of file qgssymbollayerutils.cpp.
|
inlinestatic |
Attempts to load a symbol from a DOM element and cast it to a particular symbol type.
element | DOM element representing symbol |
context | object to transform relative to absolute paths |
Definition at line 389 of file qgssymbollayerutils.h.
|
static |
Reads and returns symbol layer from XML. Caller is responsible for deleting the returned object.
Definition at line 1367 of file qgssymbollayerutils.cpp.
|
static |
Reads a collection of symbols from XML and returns them in a map. Caller is responsible for deleting returned symbols.
Definition at line 3277 of file qgssymbollayerutils.cpp.
|
static |
Merges the local scale limits, if any, with the ones already in the map, if any.
Definition at line 5072 of file qgssymbollayerutils.cpp.
|
static |
Multiplies opacity of image pixel values with a (global) transparency value.
Definition at line 4115 of file qgssymbollayerutils.cpp.
|
static |
Definition at line 1843 of file qgssymbollayerutils.cpp.
|
static |
Definition at line 1798 of file qgssymbollayerutils.cpp.
|
static |
Definition at line 1874 of file qgssymbollayerutils.cpp.
|
static |
Definition at line 1861 of file qgssymbollayerutils.cpp.
|
static |
Definition at line 1909 of file qgssymbollayerutils.cpp.
|
static |
Checks if element contains a graphic fill with a raster image of type PNG, JPEG or GIF.
true
if element contains a graphic fill with a raster image. Definition at line 1943 of file qgssymbollayerutils.cpp.
|
static |
Definition at line 1930 of file qgssymbollayerutils.cpp.
|
static |
Definition at line 1838 of file qgssymbollayerutils.cpp.
|
static |
Create ogr feature style string for brush.
fillColr | fill color |
Definition at line 3004 of file qgssymbollayerutils.cpp.
|
static |
Create ogr feature style string for pen.
Definition at line 2930 of file qgssymbollayerutils.cpp.
|
static |
Definition at line 3150 of file qgssymbollayerutils.cpp.
|
static |
Definition at line 2829 of file qgssymbollayerutils.cpp.
|
static |
Encodes a reference to a parametric SVG into SLD, as a succession of parametric SVG using URL parameters, a fallback SVG without parameters, and a final fallback as a mark with the right colors and stroke for systems that cannot do SVG at all.
Definition at line 2553 of file qgssymbollayerutils.cpp.
|
static |
Attempts to parse a string as a color using a variety of common formats, including hex codes, rgb and rgba strings.
colorStr | string representing the color |
strictEval | set to true for stricter color parsing rules |
Definition at line 3895 of file qgssymbollayerutils.cpp.
|
static |
Attempts to parse a string as a list of colors using a variety of common formats, including hex codes, rgb and rgba strings.
colorStr | string representing the color list |
Definition at line 3516 of file qgssymbollayerutils.cpp.
|
static |
Attempts to parse a string as a color using a variety of common formats, including hex codes, rgb and rgba, hsl and hsla strings.
colorStr | string representing the color |
containsAlpha | if colorStr contains an explicit alpha value then containsAlpha will be set to true |
strictEval | set to true for stricter color parsing rules |
Definition at line 3901 of file qgssymbollayerutils.cpp.
|
static |
Parses the properties from XML and returns a map.
Definition at line 3244 of file qgssymbollayerutils.cpp.
|
static |
Calculate whether a point is within of a QPolygonF.
Definition at line 4624 of file qgssymbollayerutils.cpp.
|
static |
Returns a point on the line from startPoint to directionPoint that is a certain distance away from the starting point.
Definition at line 4301 of file qgssymbollayerutils.cpp.
|
static |
Calculate the centroid point of a QPolygonF.
Definition at line 4556 of file qgssymbollayerutils.cpp.
|
static |
Calculate a point on the surface of a QPolygonF.
Definition at line 4588 of file qgssymbollayerutils.cpp.
|
static |
Returns the total length of a polyline.
Definition at line 4650 of file qgssymbollayerutils.cpp.
|
static |
Returns the substring of a polyline which starts at startOffset from the beginning of the line and ends at endOffset from the start of the line.
If startOffset is less than 0, then the start point will be calculated by subtracting that distance from the end of the line. Similarly, if endOffset is less than zero then the end point will be subtracted from the end of the line.
May return an empty linestring if the substring is zero length.
Definition at line 4668 of file qgssymbollayerutils.cpp.
|
static |
Converts a QColor into a premultiplied ARGB QColor value using a specified alpha value.
Definition at line 4221 of file qgssymbollayerutils.cpp.
|
static |
Computes a sequence of about 'classes' equally spaced round values which cover the range of values from 'minimum' to 'maximum'.
The values are chosen so that they are 1, 2 or 5 times a power of 10.
Definition at line 4798 of file qgssymbollayerutils.cpp.
|
static |
Calculates the frame rate (in frames per second) at which the given renderer must be redrawn.
Returns -1 if the renderer is not animated.
Definition at line 5179 of file qgssymbollayerutils.cpp.
|
static |
Rescales the given array based on the uomScale found in the props, if any is found, otherwise returns a copy of the original point.
Definition at line 5044 of file qgssymbollayerutils.cpp.
|
static |
Rescales the given size based on the uomScale found in the props, if any is found, otherwise returns the value un-modified.
Definition at line 4960 of file qgssymbollayerutils.cpp.
|
static |
Rescales the given point based on the uomScale found in the props, if any is found, otherwise returns a copy of the original point.
Definition at line 5037 of file qgssymbollayerutils.cpp.
|
static |
Regenerate recursively unique id from all symbol symbol layers.
Definition at line 5621 of file qgssymbollayerutils.cpp.
|
static |
Regenerate recursively unique id from symbolLayer and its children.
Definition at line 5596 of file qgssymbollayerutils.cpp.
|
static |
Creates a new symbol with size restricted to min/max size if original size is out of min/max range.
s | the original symbol |
minSize | the minimum size in mm |
maxSize | the maximum size in mm |
context | the render context |
width | expected width, can be changed by the function |
height | expected height, can be changed by the function |
ok | if not nullptr, ok is set to false if it's not possible to compute a restricted symbol (if geometry generators are involved for instance) |
Definition at line 5242 of file qgssymbollayerutils.cpp.
|
static |
Definition at line 2808 of file qgssymbollayerutils.cpp.
|
static |
Encodes a color ramp's settings to an XML element.
name | name of ramp |
ramp | color ramp to save |
doc | XML document |
Definition at line 3443 of file qgssymbollayerutils.cpp.
|
static |
Exports colors to a gpl GIMP palette file.
file | destination file |
paletteName | name of palette, which is stored in gpl file |
colors | colors to export |
true
if export was successful Definition at line 3777 of file qgssymbollayerutils.cpp.
|
static |
Saves the map of properties to XML.
Definition at line 3272 of file qgssymbollayerutils.cpp.
|
static |
Writes a symbol definition to XML.
Definition at line 1447 of file qgssymbollayerutils.cpp.
|
static |
Writes a collection of symbols to XML with specified tagName for the top-level element.
Definition at line 3355 of file qgssymbollayerutils.cpp.
|
static |
Returns the size scaled in pixels according to the uom attribute.
uom | The uom attribute from SLD 1.1 version |
size | The original size |
Definition at line 5095 of file qgssymbollayerutils.cpp.
|
static |
Sorts the passed list in requested order.
Definition at line 4287 of file qgssymbollayerutils.cpp.
|
static |
Determines an SVG symbol's path from its name.
If name is not an absolute path the file is scanned for in the SVG paths specified in settings svg/searchPathsForSVG.
Definition at line 4364 of file qgssymbollayerutils.cpp.
|
static |
Determines an SVG symbol's name from its path.
Definition at line 4430 of file qgssymbollayerutils.cpp.
|
static |
Attempts to parse mime data as a symbol.
A new symbol instance will be returned if the data was successfully converted to a symbol.
Definition at line 3393 of file qgssymbollayerutils.cpp.
|
static |
Draws a symbol layer preview to an icon.
layer | symbol layer to draw |
u | size units |
size | target size of preview icon |
scale | map unit scale for preview |
parentSymbolType | since QGIS 3.22, can be used to specify the parent symbol type so that geometry generator preview icons are correctly calculated |
mapLayer | since QGIS 3.28, can be used to specify the associated map layer so that layer related expressions are correctly calculated |
screen | since QGIS 3.32, can be used to specify the destination screen properties for the icon. This allows the icon to be generated using the correct DPI and device pixel ratio for the target screen. |
Definition at line 1003 of file qgssymbollayerutils.cpp.
|
static |
Draws a symbol layer preview to a QPicture.
layer | symbol layer to draw |
units | size units |
size | target size of preview picture |
scale | map unit scale for preview |
parentSymbolType | since QGIS 3.22, can be used to specify the parent symbol type so that geometry generator preview icons are correctly calculated |
Definition at line 967 of file qgssymbollayerutils.cpp.
|
static |
Returns an icon preview for a color ramp.
symbol | symbol |
size | target pixmap size |
padding | space between icon edge and symbol |
shape | optional legend patch shape to use for rendering the preview icon |
screen | can be used to specify the destination screen properties for the icon. This allows the icon to be generated using the correct DPI and device pixel ratio for the target screen (since QGIS 3.32) |
Definition at line 887 of file qgssymbollayerutils.cpp.
|
static |
Returns a pixmap preview for a color ramp.
symbol | symbol |
size | target pixmap size |
padding | space between icon edge and symbol |
customContext | custom rendering context |
selected | set to true to render the symbol in a selected state (since QGIS 3.10) |
expressionContext | optional custom expression context (since QGIS 3.10) |
shape | optional legend patch shape to use for rendering the preview icon (since QGIS 3.14) |
screen | can be used to specify the destination screen properties for the icon. This allows the icon to be generated using the correct DPI and device pixel ratio for the target screen (since QGIS 3.32) |
Definition at line 892 of file qgssymbollayerutils.cpp.
|
static |
Returns a string representing the symbol.
Can be used to test for equality between symbols.
Definition at line 1510 of file qgssymbollayerutils.cpp.
|
static |
Creates new mime data from a symbol.
This also sets the mime color data to match the symbol's color, so that copied symbols can be paste in places where a color is expected.
Definition at line 3375 of file qgssymbollayerutils.cpp.
|
static |
Calculate the minimum size in pixels of a symbol tile given the symbol width and height and the symbol layer rotation angleRad in radians (counter clockwise).
The method makes approximations and can modify angle in order to generate the smallest possible tile.
width | marker width, including margins |
height | marker height, including margins |
angleRad | symbol layer rotation angle in radians (counter clockwise), it may be approximated by the method to minimize the tile size. |
Definition at line 5332 of file qgssymbollayerutils.cpp.
|
static |
Converts a value to a point.
value | value to convert |
ok | if specified, will be set to true if value was successfully converted |
Definition at line 567 of file qgssymbollayerutils.cpp.
|
static |
Converts a geometry to a set of QPolygonF objects representing how the geometry should be drawn for a symbol of the given type, as a list of geometry parts and rings.
Definition at line 4491 of file qgssymbollayerutils.cpp.
|
static |
Converts a value to a size.
value | value to convert |
ok | if specified, will be set to true if value was successfully converted |
Definition at line 631 of file qgssymbollayerutils.cpp.
|
static |
Converts a set of symbol layer id to a set of pointers to actual symbol layers carried by the feature renderer.
Definition at line 5115 of file qgssymbollayerutils.cpp.
|
static |
Definition at line 2751 of file qgssymbollayerutils.cpp.
|
static |
Definition at line 2715 of file qgssymbollayerutils.cpp.