mirror of
https://github.com/qgis/QGIS.git
synced 2025-02-26 00:02:08 -05:00
QgsVectorColorRamp -> QgsColorRamp QgsVectorGradientColorRamp -> QgsGradientColorRamp QgsRandomColors -> QgsRandomColorRamp QgsRandomColorRamp -> QgsLimitedRandomColorRamp QgsVectorColorBrewerColorRamp -> QgsColorBrewerColorRamp These color ramps are used throughout all of QGIS (not just in vector symbology) and the current names are misleading.
1005 lines
33 KiB
Plaintext
1005 lines
33 KiB
Plaintext
class QgsSimpleFillSymbolLayer : QgsFillSymbolLayer
|
|
{
|
|
%TypeHeaderCode
|
|
#include <qgsfillsymbollayer.h>
|
|
%End
|
|
|
|
public:
|
|
QgsSimpleFillSymbolLayer( const QColor& color = DEFAULT_SIMPLEFILL_COLOR,
|
|
Qt::BrushStyle style = DEFAULT_SIMPLEFILL_STYLE,
|
|
const QColor& borderColor = DEFAULT_SIMPLEFILL_BORDERCOLOR,
|
|
Qt::PenStyle borderStyle = DEFAULT_SIMPLEFILL_BORDERSTYLE,
|
|
double borderWidth = DEFAULT_SIMPLEFILL_BORDERWIDTH,
|
|
Qt::PenJoinStyle penJoinStyle = DEFAULT_SIMPLEFILL_JOINSTYLE
|
|
);
|
|
|
|
// static stuff
|
|
|
|
static QgsSymbolLayer* create( const QgsStringMap& properties = QgsStringMap() ) /Factory/;
|
|
static QgsSymbolLayer* createFromSld( QDomElement &element ) /Factory/;
|
|
|
|
// implemented from base classes
|
|
|
|
QString layerType() const;
|
|
|
|
void startRender( QgsSymbolRenderContext& context );
|
|
|
|
void stopRender( QgsSymbolRenderContext& context );
|
|
|
|
void renderPolygon( const QPolygonF& points, QList<QPolygonF>* rings, QgsSymbolRenderContext& context );
|
|
|
|
QgsStringMap properties() const;
|
|
|
|
virtual QgsSimpleFillSymbolLayer* clone() const /Factory/;
|
|
|
|
void toSld( QDomDocument &doc, QDomElement &element, const QgsStringMap& props ) const;
|
|
|
|
QString ogrFeatureStyle( double mmScaleFactor, double mapUnitScaleFactor ) const;
|
|
|
|
Qt::BrushStyle brushStyle() const;
|
|
void setBrushStyle( Qt::BrushStyle style );
|
|
|
|
QColor borderColor() const;
|
|
void setBorderColor( const QColor& borderColor );
|
|
|
|
/** Get outline color.
|
|
* @note added in 2.1 */
|
|
QColor outlineColor() const;
|
|
/** Set outline color.
|
|
* @note added in 2.1 */
|
|
void setOutlineColor( const QColor& color );
|
|
|
|
/** Get fill color.
|
|
* @note added in 2.1 */
|
|
QColor fillColor() const;
|
|
/** Set fill color.
|
|
* @note added in 2.1 */
|
|
void setFillColor( const QColor& color );
|
|
|
|
Qt::PenStyle borderStyle() const;
|
|
void setBorderStyle( Qt::PenStyle borderStyle );
|
|
|
|
double borderWidth() const;
|
|
void setBorderWidth( double borderWidth );
|
|
|
|
Qt::PenJoinStyle penJoinStyle() const;
|
|
void setPenJoinStyle( Qt::PenJoinStyle style );
|
|
|
|
void setOffset( QPointF offset );
|
|
QPointF offset();
|
|
|
|
/** Sets the units for the width of the fill's border.
|
|
* @param unit width units
|
|
* @see borderWidthUnit()
|
|
*/
|
|
void setBorderWidthUnit( QgsUnitTypes::RenderUnit unit );
|
|
|
|
/** Returns the units for the width of the fill's border.
|
|
* @see setBorderWidthUnit()
|
|
*/
|
|
QgsUnitTypes::RenderUnit borderWidthUnit() const;
|
|
|
|
void setBorderWidthMapUnitScale( const QgsMapUnitScale& scale);
|
|
const QgsMapUnitScale& borderWidthMapUnitScale() const;
|
|
|
|
/** Sets the units for the fill's offset.
|
|
* @param unit offset units
|
|
* @see offsetUnit()
|
|
*/
|
|
void setOffsetUnit( QgsUnitTypes::RenderUnit unit );
|
|
|
|
/** Returns the units for the fill's offset.
|
|
* @see setOffsetUnit()
|
|
*/
|
|
QgsUnitTypes::RenderUnit offsetUnit() const;
|
|
|
|
void setOffsetMapUnitScale( const QgsMapUnitScale& scale);
|
|
const QgsMapUnitScale& offsetMapUnitScale() const;
|
|
|
|
void setOutputUnit( QgsUnitTypes::RenderUnit unit );
|
|
QgsUnitTypes::RenderUnit outputUnit() const;
|
|
|
|
void setMapUnitScale( const QgsMapUnitScale &scale );
|
|
QgsMapUnitScale mapUnitScale() const;
|
|
|
|
double estimateMaxBleed() const;
|
|
|
|
double dxfWidth( const QgsDxfExport& e, QgsSymbolRenderContext& context ) const;
|
|
QColor dxfColor( QgsSymbolRenderContext& context ) const;
|
|
Qt::PenStyle dxfPenStyle() const;
|
|
QColor dxfBrushColor( QgsSymbolRenderContext& context ) const;
|
|
Qt::BrushStyle dxfBrushStyle() const;
|
|
};
|
|
|
|
class QgsGradientFillSymbolLayer : QgsFillSymbolLayer
|
|
{
|
|
%TypeHeaderCode
|
|
#include <qgsfillsymbollayer.h>
|
|
%End
|
|
public:
|
|
|
|
enum GradientColorType
|
|
{
|
|
SimpleTwoColor,
|
|
ColorRamp
|
|
};
|
|
|
|
enum GradientType
|
|
{
|
|
Linear,
|
|
Radial,
|
|
Conical
|
|
};
|
|
|
|
enum GradientCoordinateMode
|
|
{
|
|
Feature,
|
|
Viewport
|
|
};
|
|
|
|
enum GradientSpread
|
|
{
|
|
Pad,
|
|
Reflect,
|
|
Repeat
|
|
};
|
|
|
|
QgsGradientFillSymbolLayer( const QColor& color = DEFAULT_SIMPLEFILL_COLOR,
|
|
const QColor& color2 = Qt::white,
|
|
GradientColorType gradientColorType = SimpleTwoColor,
|
|
GradientType gradientType = Linear,
|
|
GradientCoordinateMode coordinateMode = Feature,
|
|
GradientSpread gradientSpread = Pad
|
|
);
|
|
|
|
virtual ~QgsGradientFillSymbolLayer();
|
|
|
|
// static stuff
|
|
|
|
static QgsSymbolLayer* create( const QgsStringMap& properties = QgsStringMap() ) /Factory/;
|
|
|
|
// implemented from base classes
|
|
|
|
QString layerType() const;
|
|
|
|
void startRender( QgsSymbolRenderContext& context );
|
|
|
|
void stopRender( QgsSymbolRenderContext& context );
|
|
|
|
void renderPolygon( const QPolygonF& points, QList<QPolygonF>* rings, QgsSymbolRenderContext& context );
|
|
|
|
QgsStringMap properties() const;
|
|
|
|
virtual QgsGradientFillSymbolLayer* clone() const /Factory/;
|
|
|
|
double estimateMaxBleed() const;
|
|
|
|
/** Type of gradient, eg linear or radial*/
|
|
GradientType gradientType() const;
|
|
void setGradientType( GradientType gradientType );
|
|
|
|
/** Gradient color mode, controls how gradient color stops are created*/
|
|
GradientColorType gradientColorType() const;
|
|
void setGradientColorType( GradientColorType gradientColorType );
|
|
|
|
/** Color ramp used for the gradient fill, only used if the gradient color type is set to ColorRamp*/
|
|
QgsColorRamp* colorRamp();
|
|
void setColorRamp( QgsColorRamp* ramp );
|
|
|
|
/** Color for endpoint of gradient, only used if the gradient color type is set to SimpleTwoColor*/
|
|
QColor color2() const;
|
|
void setColor2( const QColor& color2 );
|
|
|
|
/** Coordinate mode for gradient. Controls how the gradient stops are positioned.*/
|
|
GradientCoordinateMode coordinateMode() const;
|
|
void setCoordinateMode( GradientCoordinateMode coordinateMode );
|
|
|
|
/** Gradient spread mode. Controls how the gradient behaves outside of the predefined stops*/
|
|
GradientSpread gradientSpread() const;
|
|
void setGradientSpread( GradientSpread gradientSpread );
|
|
|
|
/** Starting point of gradient fill, in the range [0,0] - [1,1]*/
|
|
void setReferencePoint1( QPointF referencePoint );
|
|
QPointF referencePoint1() const;
|
|
|
|
/** Sets the starting point of the gradient to be the feature centroid*/
|
|
void setReferencePoint1IsCentroid( bool isCentroid );
|
|
bool referencePoint1IsCentroid() const;
|
|
|
|
/** End point of gradient fill, in the range [0,0] - [1,1]*/
|
|
void setReferencePoint2( QPointF referencePoint );
|
|
QPointF referencePoint2() const;
|
|
|
|
/** Sets the end point of the gradient to be the feature centroid*/
|
|
void setReferencePoint2IsCentroid( bool isCentroid );
|
|
bool referencePoint2IsCentroid() const;
|
|
|
|
/** Offset for gradient fill*/
|
|
void setOffset( QPointF offset );
|
|
QPointF offset() const;
|
|
|
|
/** Units for gradient fill offset*/
|
|
void setOffsetUnit( QgsUnitTypes::RenderUnit unit );
|
|
QgsUnitTypes::RenderUnit offsetUnit() const;
|
|
|
|
void setOffsetMapUnitScale( const QgsMapUnitScale& scale);
|
|
const QgsMapUnitScale& offsetMapUnitScale() const;
|
|
|
|
void setOutputUnit( QgsUnitTypes::RenderUnit unit );
|
|
QgsUnitTypes::RenderUnit outputUnit() const;
|
|
|
|
void setMapUnitScale( const QgsMapUnitScale &scale );
|
|
QgsMapUnitScale mapUnitScale() const;
|
|
|
|
};
|
|
|
|
class QgsShapeburstFillSymbolLayer : QgsFillSymbolLayer
|
|
{
|
|
%TypeHeaderCode
|
|
#include <qgsfillsymbollayer.h>
|
|
%End
|
|
public:
|
|
|
|
enum ShapeburstColorType
|
|
{
|
|
SimpleTwoColor,
|
|
ColorRamp
|
|
};
|
|
|
|
QgsShapeburstFillSymbolLayer( const QColor& color = DEFAULT_SIMPLEFILL_COLOR, const QColor& color2 = Qt::white,
|
|
ShapeburstColorType colorType = SimpleTwoColor,
|
|
int blurRadius = 0, bool useWholeShape = true, double maxDistance = 5 );
|
|
|
|
virtual ~QgsShapeburstFillSymbolLayer();
|
|
|
|
// static stuff
|
|
|
|
static QgsSymbolLayer* create( const QgsStringMap& properties = QgsStringMap() ) /Factory/;
|
|
|
|
// implemented from base classes
|
|
|
|
QString layerType() const;
|
|
|
|
void startRender( QgsSymbolRenderContext& context );
|
|
|
|
void stopRender( QgsSymbolRenderContext& context );
|
|
|
|
void renderPolygon( const QPolygonF& points, QList<QPolygonF>* rings, QgsSymbolRenderContext& context );
|
|
|
|
QgsStringMap properties() const;
|
|
|
|
virtual QgsShapeburstFillSymbolLayer* clone() const /Factory/;
|
|
|
|
double estimateMaxBleed() const;
|
|
|
|
/** Sets the blur radius, which controls the amount of blurring applied to the fill.
|
|
* @param blurRadius Radius for fill blur. Values between 0 - 17 are valid, where higher values results in a stronger blur. Set to 0 to disable blur.
|
|
* @note added in 2.3
|
|
* @see blurRadius
|
|
*/
|
|
void setBlurRadius( int blurRadius );
|
|
/** Returns the blur radius, which controls the amount of blurring applied to the fill.
|
|
* @returns Integer representing the radius for fill blur. Higher values indicate a stronger blur. A 0 value indicates that blurring is disabled.
|
|
* @note added in 2.3
|
|
* @see setBlurRadius
|
|
*/
|
|
int blurRadius() const;
|
|
|
|
/** Sets whether the shapeburst fill should be drawn using the entire shape.
|
|
* @param useWholeShape Set to true if shapeburst should cover entire shape. If false, setMaxDistance is used to calculate how far from the boundary of the shape should
|
|
* be shaded
|
|
* @note added in 2.3
|
|
* @see useWholeShape
|
|
* @see setMaxDistance
|
|
*/
|
|
void setUseWholeShape( bool useWholeShape );
|
|
/** Returns whether the shapeburst fill is set to cover the entire shape.
|
|
* @returns True if shapeburst fill will cover the entire shape. If false, shapeburst is drawn to a distance of maxDistance from the polygon's boundary.
|
|
* @note added in 2.3
|
|
* @see setUseWholeShape
|
|
* @see maxDistance
|
|
*/
|
|
bool useWholeShape() const;
|
|
|
|
/** Sets the maximum distance to shape inside of the shape from the polygon's boundary.
|
|
* @param maxDistance distance from boundary to shade. setUseWholeShape must be set to false for this parameter to take effect. Distance unit is controlled by setDistanceUnit.
|
|
* @note added in 2.3
|
|
* @see maxDistance
|
|
* @see setUseWholeShape
|
|
* @see setDistanceUnit
|
|
*/
|
|
void setMaxDistance( double maxDistance );
|
|
/** Returns the maximum distance from the shape's boundary which is shaded. This parameter is only effective if useWholeShape is false.
|
|
* @returns the maximum distance from the polygon's boundary which is shaded. Distance units are indicated by distanceUnit.
|
|
* @note added in 2.3
|
|
* @see useWholeShape
|
|
* @see setMaxDistance
|
|
* @see distanceUnit
|
|
*/
|
|
double maxDistance() const;
|
|
|
|
/** Sets the unit for the maximum distance to shade inside of the shape from the polygon's boundary.
|
|
* @param unit distance unit for the maximum distance
|
|
* @note added in 2.3
|
|
* @see setMaxDistance
|
|
* @see distanceUnit
|
|
*/
|
|
void setDistanceUnit( QgsUnitTypes::RenderUnit unit );
|
|
/** Returns the unit for the maximum distance to shade inside of the shape from the polygon's boundary.
|
|
* @returns distance unit for the maximum distance
|
|
* @note added in 2.3
|
|
* @see maxDistance
|
|
* @see setDistanceUnit
|
|
*/
|
|
QgsUnitTypes::RenderUnit distanceUnit() const;
|
|
|
|
void setDistanceMapUnitScale( const QgsMapUnitScale& scale );
|
|
const QgsMapUnitScale& distanceMapUnitScale() const;
|
|
|
|
/** Sets the color mode to use for the shapeburst fill. Shapeburst can either be drawn using a QgsColorRamp color ramp
|
|
* or by simply specificing a start and end color. setColorType is used to specify which mode to use for the fill.
|
|
* @param colorType color type to use for shapeburst fill
|
|
* @note added in 2.3
|
|
* @see colorType
|
|
* @see setColor
|
|
* @see setColor2
|
|
* @see setColorRamp
|
|
*/
|
|
void setColorType( ShapeburstColorType colorType );
|
|
/** Returns the color mode used for the shapeburst fill. Shapeburst can either be drawn using a QgsColorRamp color ramp
|
|
* or by simply specificing a start and end color.
|
|
* @returns current color mode used for the shapeburst fill
|
|
* @note added in 2.3
|
|
* @see setColorType
|
|
* @see color
|
|
* @see color2
|
|
* @see colorRamp
|
|
*/
|
|
ShapeburstColorType colorType() const;
|
|
|
|
/** Sets the color ramp used to draw the shapeburst fill. Color ramps are only used if setColorType is set ShapeburstColorType::ColorRamp.
|
|
* @param ramp color ramp to use for shapeburst fill
|
|
* @note added in 2.3
|
|
* @see setColorType
|
|
* @see colorRamp
|
|
*/
|
|
void setColorRamp( QgsColorRamp* ramp );
|
|
/** Returns the color ramp used for the shapeburst fill. The color ramp is only used if the colorType is set to ShapeburstColorType::ColorRamp
|
|
* @returns a QgsColorRamp color ramp
|
|
* @note added in 2.3
|
|
* @see setColorRamp
|
|
* @see colorType
|
|
*/
|
|
QgsColorRamp* colorRamp();
|
|
|
|
/** Sets the color for the endpoint of the shapeburst fill. This color is only used if setColorType is set ShapeburstColorType::SimpleTwoColor.
|
|
* @param color2 QColor to use for endpoint of gradient
|
|
* @note added in 2.3
|
|
* @see setColorType
|
|
* @see color2
|
|
*/
|
|
void setColor2( const QColor& color2 );
|
|
/** Returns the color used for the endpoint of the shapeburst fill. This color is only used if the colorType is set to ShapeburstColorType::SimpleTwoColor
|
|
* @returns a QColor indicating the color of the endpoint of the gradient
|
|
* @note added in 2.3
|
|
* @see setColor2
|
|
* @see colorType
|
|
*/
|
|
QColor color2() const;
|
|
|
|
/** Sets whether the shapeburst fill should ignore polygon rings when calculating
|
|
* the buffered shading.
|
|
* @param ignoreRings Set to true if buffers should ignore interior rings for polygons.
|
|
* @note added in 2.3
|
|
* @see ignoreRings
|
|
*/
|
|
void setIgnoreRings( bool ignoreRings );
|
|
/** Returns whether the shapeburst fill is set to ignore polygon interior rings.
|
|
* @returns True if the shapeburst fill will ignore interior rings when calculating buffered shading.
|
|
* @note added in 2.3
|
|
* @see setIgnoreRings
|
|
*/
|
|
bool ignoreRings() const;
|
|
|
|
/** Sets the offset for the shapeburst fill.
|
|
* @param offset QPointF indicating the horizontal/vertical offset amount
|
|
* @note added in 2.3
|
|
* @see offset
|
|
* @see setOffsetUnit
|
|
*/
|
|
void setOffset( QPointF offset );
|
|
/** Returns the offset for the shapeburst fill.
|
|
* @returns a QPointF indicating the horizontal/vertical offset amount
|
|
* @note added in 2.3
|
|
* @see setOffset
|
|
* @see offsetUnit
|
|
*/
|
|
QPointF offset() const;
|
|
|
|
/** Sets the units used for the offset for the shapeburst fill.
|
|
* @param unit units for fill offset
|
|
* @note added in 2.3
|
|
* @see setOffset
|
|
* @see offsetUnit
|
|
*/
|
|
void setOffsetUnit( QgsUnitTypes::RenderUnit unit );
|
|
/** Returns the units used for the offset of the shapeburst fill.
|
|
* @returns units used for the fill offset
|
|
* @note added in 2.3
|
|
* @see offset
|
|
* @see setOffsetUnit
|
|
*/
|
|
QgsUnitTypes::RenderUnit offsetUnit() const;
|
|
|
|
void setOffsetMapUnitScale( const QgsMapUnitScale& scale);
|
|
const QgsMapUnitScale& offsetMapUnitScale() const;
|
|
|
|
void setOutputUnit( QgsUnitTypes::RenderUnit unit );
|
|
QgsUnitTypes::RenderUnit outputUnit() const;
|
|
|
|
void setMapUnitScale( const QgsMapUnitScale &scale );
|
|
QgsMapUnitScale mapUnitScale() const;
|
|
};
|
|
|
|
/** Base class for polygon renderers generating texture images*/
|
|
class QgsImageFillSymbolLayer: QgsFillSymbolLayer
|
|
{
|
|
%TypeHeaderCode
|
|
#include <qgsfillsymbollayer.h>
|
|
%End
|
|
|
|
public:
|
|
QgsImageFillSymbolLayer();
|
|
virtual ~QgsImageFillSymbolLayer();
|
|
void renderPolygon( const QPolygonF& points, QList<QPolygonF>* rings, QgsSymbolRenderContext& context );
|
|
|
|
virtual QgsSymbol* subSymbol();
|
|
virtual bool setSubSymbol( QgsSymbol* symbol /Transfer/ );
|
|
|
|
/** Sets the units for the symbol's outline width.
|
|
* @param unit symbol units
|
|
* @see outlineWidthUnit()
|
|
*/
|
|
void setOutlineWidthUnit( QgsUnitTypes::RenderUnit unit );
|
|
|
|
/** Returns the units for the symbol's outline width.
|
|
* @see setOutlineWidthUnit()
|
|
*/
|
|
QgsUnitTypes::RenderUnit outlineWidthUnit() const;
|
|
|
|
void setOutlineWidthMapUnitScale( const QgsMapUnitScale& scale);
|
|
const QgsMapUnitScale& outlineWidthMapUnitScale() const;
|
|
|
|
void setOutputUnit( QgsUnitTypes::RenderUnit unit );
|
|
QgsUnitTypes::RenderUnit outputUnit() const;
|
|
|
|
void setMapUnitScale( const QgsMapUnitScale& scale );
|
|
QgsMapUnitScale mapUnitScale() const;
|
|
|
|
virtual double estimateMaxBleed() const;
|
|
|
|
virtual double dxfWidth( const QgsDxfExport& e, QgsSymbolRenderContext& context ) const;
|
|
virtual QColor dxfColor( QgsSymbolRenderContext& context ) const;
|
|
virtual Qt::PenStyle dxfPenStyle() const;
|
|
|
|
QSet<QString> usedAttributes() const;
|
|
|
|
protected:
|
|
|
|
virtual void applyDataDefinedSettings( QgsSymbolRenderContext& context );
|
|
};
|
|
|
|
/** \ingroup core
|
|
* \class QgsRasterFillSymbolLayer
|
|
* \brief A class for filling symbols with a repeated raster image.
|
|
* \note Added in version 2.7
|
|
*/
|
|
class QgsRasterFillSymbolLayer: QgsImageFillSymbolLayer
|
|
{
|
|
%TypeHeaderCode
|
|
#include <qgsfillsymbollayer.h>
|
|
%End
|
|
public:
|
|
|
|
enum FillCoordinateMode
|
|
{
|
|
Feature,
|
|
Viewport
|
|
};
|
|
|
|
QgsRasterFillSymbolLayer( const QString& imageFilePath = QString() );
|
|
~QgsRasterFillSymbolLayer();
|
|
|
|
static QgsSymbolLayer* create( const QgsStringMap& properties = QgsStringMap() );
|
|
|
|
// implemented from base classes
|
|
QString layerType() const;
|
|
void renderPolygon( const QPolygonF& points, QList<QPolygonF>* rings, QgsSymbolRenderContext& context );
|
|
void startRender( QgsSymbolRenderContext& context );
|
|
void stopRender( QgsSymbolRenderContext& context );
|
|
QgsStringMap properties() const;
|
|
virtual QgsRasterFillSymbolLayer* clone() const;
|
|
virtual double estimateMaxBleed() const;
|
|
|
|
//override QgsImageFillSymbolLayer's support for sub symbols
|
|
virtual QgsSymbol* subSymbol();
|
|
virtual bool setSubSymbol( QgsSymbol* symbol /Transfer/ );
|
|
|
|
/** Sets the path to the raster image used for the fill.
|
|
* @param imagePath path to image file
|
|
* @see imageFilePath
|
|
*/
|
|
void setImageFilePath( const QString& imagePath );
|
|
/** The path to the raster image used for the fill.
|
|
* @returns path to image file
|
|
* @see setImageFilePath
|
|
*/
|
|
QString imageFilePath() const;
|
|
|
|
/** Set the coordinate mode for fill. Controls how the top left corner of the image
|
|
* fill is positioned relative to the feature.
|
|
* @param mode coordinate mode
|
|
* @see coordinateMode
|
|
*/
|
|
void setCoordinateMode( const FillCoordinateMode mode );
|
|
/** Coordinate mode for fill. Controls how the top left corner of the image
|
|
* fill is positioned relative to the feature.
|
|
* @returns coordinate mode
|
|
* @see setCoordinateMode
|
|
*/
|
|
FillCoordinateMode coordinateMode() const;
|
|
|
|
/** Sets the opacity for the raster image used in the fill.
|
|
* @param alpha opacity value between 0 (fully transparent) and 1 (fully opaque)
|
|
* @see alpha
|
|
*/
|
|
void setAlpha( const double alpha );
|
|
/** The opacity for the raster image used in the fill.
|
|
* @returns opacity value between 0 (fully transparent) and 1 (fully opaque)
|
|
* @see setAlpha
|
|
*/
|
|
double alpha() const;
|
|
|
|
/** Sets the offset for the fill.
|
|
* @param offset offset for fill
|
|
* @see offset
|
|
* @see setOffsetUnit
|
|
* @see setOffsetMapUnitScale
|
|
*/
|
|
void setOffset( QPointF offset );
|
|
/** Returns the offset for the fill.
|
|
* @returns offset for fill
|
|
* @see setOffset
|
|
* @see offsetUnit
|
|
* @see offsetMapUnitScale
|
|
*/
|
|
QPointF offset() const;
|
|
|
|
/** Sets the units for the fill's offset.
|
|
* @param unit units for offset
|
|
* @see offsetUnit
|
|
* @see setOffset
|
|
* @see setOffsetMapUnitScale
|
|
*/
|
|
void setOffsetUnit( const QgsUnitTypes::RenderUnit unit );
|
|
/** Returns the units for the fill's offset.
|
|
* @returns units for offset
|
|
* @see setOffsetUnit
|
|
* @see offset
|
|
* @see offsetMapUnitScale
|
|
*/
|
|
QgsUnitTypes::RenderUnit offsetUnit() const;
|
|
|
|
/** Sets the map unit scale for the fill's offset.
|
|
* @param scale map unit scale for offset
|
|
* @see offsetMapUnitScale
|
|
* @see setOffset
|
|
* @see setOffsetUnit
|
|
*/
|
|
void setOffsetMapUnitScale( const QgsMapUnitScale& scale );
|
|
/** Returns the map unit scale for the fill's offset.
|
|
* @returns map unit scale for offset
|
|
* @see setOffsetMapUnitScale
|
|
* @see offset
|
|
* @see offsetUnit
|
|
*/
|
|
const QgsMapUnitScale& offsetMapUnitScale() const;
|
|
|
|
/** Sets the width for scaling the image used in the fill. The image's height will also be
|
|
* scaled to maintain the image's aspect ratio.
|
|
* @param width width for scaling the image
|
|
* @see width
|
|
* @see setWidthUnit
|
|
* @see setWidthMapUnitScale
|
|
*/
|
|
void setWidth( const double width );
|
|
/** Returns the width used for scaling the image used in the fill. The image's height is
|
|
* scaled to maintain the image's aspect ratio.
|
|
* @returns width used for scaling the image
|
|
* @see setWidth
|
|
* @see widthUnit
|
|
* @see widthMapUnitScale
|
|
*/
|
|
double width() const;
|
|
|
|
/** Sets the units for the image's width.
|
|
* @param unit units for width
|
|
* @see widthUnit
|
|
* @see setWidth
|
|
* @see setWidthMapUnitScale
|
|
*/
|
|
void setWidthUnit( const QgsUnitTypes::RenderUnit unit );
|
|
/** Returns the units for the image's width.
|
|
* @returns units for width
|
|
* @see setWidthUnit
|
|
* @see width
|
|
* @see widthMapUnitScale
|
|
*/
|
|
QgsUnitTypes::RenderUnit widthUnit() const;
|
|
|
|
/** Sets the map unit scale for the image's width.
|
|
* @param scale map unit scale for width
|
|
* @see widthMapUnitScale
|
|
* @see setWidth
|
|
* @see setWidthUnit
|
|
*/
|
|
void setWidthMapUnitScale( const QgsMapUnitScale& scale );
|
|
/** Returns the map unit scale for the image's width.
|
|
* @returns map unit scale for width
|
|
* @see setWidthMapUnitScale
|
|
* @see width
|
|
* @see widthUnit
|
|
*/
|
|
const QgsMapUnitScale& widthMapUnitScale() const;
|
|
|
|
protected:
|
|
|
|
void applyDataDefinedSettings( QgsSymbolRenderContext& context );
|
|
|
|
};
|
|
|
|
/** A class for svg fill patterns. The class automatically scales the pattern to
|
|
the appropriate pixel dimensions of the output device*/
|
|
class QgsSVGFillSymbolLayer: QgsImageFillSymbolLayer
|
|
{
|
|
%TypeHeaderCode
|
|
#include <qgsfillsymbollayer.h>
|
|
%End
|
|
|
|
public:
|
|
QgsSVGFillSymbolLayer( const QString& svgFilePath = "", double width = 20, double rotation = 0.0 );
|
|
QgsSVGFillSymbolLayer( const QByteArray& svgData, double width = 20, double rotation = 0.0 );
|
|
~QgsSVGFillSymbolLayer();
|
|
|
|
static QgsSymbolLayer* create( const QgsStringMap& properties = QgsStringMap() ) /Factory/;
|
|
static QgsSymbolLayer* createFromSld( QDomElement &element ) /Factory/;
|
|
|
|
// implemented from base classes
|
|
|
|
QString layerType() const;
|
|
|
|
void startRender( QgsSymbolRenderContext& context );
|
|
void stopRender( QgsSymbolRenderContext& context );
|
|
|
|
QgsStringMap properties() const;
|
|
|
|
virtual QgsSVGFillSymbolLayer* clone() const /Factory/;
|
|
|
|
void toSld( QDomDocument &doc, QDomElement &element, const QgsStringMap& props ) const;
|
|
|
|
//getters and setters
|
|
void setSvgFilePath( const QString& svgPath );
|
|
QString svgFilePath() const;
|
|
void setPatternWidth( double width );
|
|
double patternWidth() const;
|
|
|
|
void setSvgFillColor( const QColor& c );
|
|
QColor svgFillColor() const;
|
|
void setSvgOutlineColor( const QColor& c );
|
|
QColor svgOutlineColor() const;
|
|
void setSvgOutlineWidth( double w );
|
|
double svgOutlineWidth() const;
|
|
|
|
/** Sets the units for the width of the SVG images in the pattern.
|
|
* @param unit width units
|
|
* @see patternWidthUnit()
|
|
*/
|
|
void setPatternWidthUnit( QgsUnitTypes::RenderUnit unit );
|
|
|
|
/** Returns the units for the width of the SVG images in the pattern.
|
|
* @see setPatternWidthUnit()
|
|
*/
|
|
QgsUnitTypes::RenderUnit patternWidthUnit() const;
|
|
|
|
void setPatternWidthMapUnitScale( const QgsMapUnitScale& scale);
|
|
const QgsMapUnitScale& patternWidthMapUnitScale() const;
|
|
|
|
/** Sets the units for the outline width.
|
|
* @param unit width units
|
|
* @see svgOutlineWidthUnit()
|
|
*/
|
|
void setSvgOutlineWidthUnit( QgsUnitTypes::RenderUnit unit );
|
|
|
|
/** Returns the units for the outline width.
|
|
* @see setSvgOutlineWidthUnit()
|
|
*/
|
|
QgsUnitTypes::RenderUnit svgOutlineWidthUnit() const;
|
|
|
|
void setSvgOutlineWidthMapUnitScale( const QgsMapUnitScale& scale);
|
|
const QgsMapUnitScale& svgOutlineWidthMapUnitScale() const;
|
|
|
|
void setOutputUnit( QgsUnitTypes::RenderUnit unit );
|
|
QgsUnitTypes::RenderUnit outputUnit() const;
|
|
|
|
void setMapUnitScale( const QgsMapUnitScale &scale );
|
|
QgsMapUnitScale mapUnitScale() const;
|
|
|
|
protected:
|
|
void applyDataDefinedSettings( QgsSymbolRenderContext& context );
|
|
};
|
|
|
|
class QgsLinePatternFillSymbolLayer: QgsImageFillSymbolLayer
|
|
{
|
|
%TypeHeaderCode
|
|
#include <qgsfillsymbollayer.h>
|
|
%End
|
|
public:
|
|
QgsLinePatternFillSymbolLayer();
|
|
~QgsLinePatternFillSymbolLayer();
|
|
|
|
static QgsSymbolLayer* create( const QgsStringMap& properties = QgsStringMap() ) /Factory/;
|
|
static QgsSymbolLayer* createFromSld( QDomElement &element ) /Factory/;
|
|
|
|
QString layerType() const;
|
|
|
|
void startRender( QgsSymbolRenderContext& context );
|
|
|
|
void stopRender( QgsSymbolRenderContext& context );
|
|
|
|
QgsStringMap properties() const;
|
|
|
|
virtual QgsLinePatternFillSymbolLayer* clone() const /Factory/;
|
|
|
|
void toSld( QDomDocument &doc, QDomElement &element, const QgsStringMap& props ) const;
|
|
|
|
double estimateMaxBleed() const;
|
|
|
|
QString ogrFeatureStyleWidth( double widthScaleFactor ) const;
|
|
|
|
//getters and setters
|
|
void setLineAngle( double a );
|
|
double lineAngle() const;
|
|
|
|
/** Sets the distance between lines in the fill pattern.
|
|
* @param d distance. Units are specified by setDistanceUnit()
|
|
* @see distance()
|
|
* @see setDistanceUnit()
|
|
*/
|
|
void setDistance( double d );
|
|
|
|
/** Returns the distance between lines in the fill pattern. Units are retrieved by distanceUnit().
|
|
* @see setDistance()
|
|
* @see distanceUnit()
|
|
*/
|
|
double distance() const;
|
|
void setLineWidth( double w );
|
|
double lineWidth() const;
|
|
void setColor( const QColor& c );
|
|
QColor color() const;
|
|
void setOffset( double offset );
|
|
double offset() const;
|
|
|
|
/** Sets the units for the distance between lines in the fill pattern.
|
|
* @param unit distance units
|
|
* @see distanceUnit()
|
|
* @see setDistance()
|
|
*/
|
|
void setDistanceUnit( QgsUnitTypes::RenderUnit unit );
|
|
|
|
/** Returns the units for the distance between lines in the fill pattern.
|
|
* @see setDistanceUnit()
|
|
* @see distance()
|
|
*/
|
|
QgsUnitTypes::RenderUnit distanceUnit() const;
|
|
|
|
void setDistanceMapUnitScale( const QgsMapUnitScale& scale);
|
|
const QgsMapUnitScale& distanceMapUnitScale() const;
|
|
|
|
/** Sets the units for the line's width.
|
|
* @param unit width units
|
|
* @see lineWidthUnit()
|
|
*/
|
|
void setLineWidthUnit( QgsUnitTypes::RenderUnit unit );
|
|
|
|
/** Returns the units for the line's width.
|
|
* @see setLineWidthUnit()
|
|
*/
|
|
QgsUnitTypes::RenderUnit lineWidthUnit() const;
|
|
|
|
void setLineWidthMapUnitScale( const QgsMapUnitScale& scale);
|
|
const QgsMapUnitScale& lineWidthMapUnitScale() const;
|
|
|
|
/** Sets the units for the line pattern's offset.
|
|
* @param unit offset units
|
|
* @see offsetUnit()
|
|
*/
|
|
void setOffsetUnit( QgsUnitTypes::RenderUnit unit );
|
|
|
|
/** Returns the units for the line pattern's offset.
|
|
* @see setOffsetUnit()
|
|
*/
|
|
QgsUnitTypes::RenderUnit offsetUnit() const;
|
|
|
|
void setOffsetMapUnitScale( const QgsMapUnitScale& scale);
|
|
const QgsMapUnitScale& offsetMapUnitScale() const;
|
|
|
|
void setOutputUnit( QgsUnitTypes::RenderUnit unit );
|
|
QgsUnitTypes::RenderUnit outputUnit() const;
|
|
|
|
void setMapUnitScale( const QgsMapUnitScale& scale );
|
|
QgsMapUnitScale mapUnitScale() const;
|
|
|
|
bool setSubSymbol( QgsSymbol* symbol /Transfer/ );
|
|
QgsSymbol* subSymbol();
|
|
|
|
QSet<QString> usedAttributes() const;
|
|
|
|
};
|
|
|
|
class QgsPointPatternFillSymbolLayer : QgsImageFillSymbolLayer
|
|
{
|
|
%TypeHeaderCode
|
|
#include <qgsfillsymbollayer.h>
|
|
%End
|
|
public:
|
|
QgsPointPatternFillSymbolLayer();
|
|
~QgsPointPatternFillSymbolLayer();
|
|
|
|
static QgsSymbolLayer* create( const QgsStringMap& properties = QgsStringMap() ) /Factory/;
|
|
static QgsSymbolLayer* createFromSld( QDomElement &element ) /Factory/;
|
|
|
|
QString layerType() const;
|
|
|
|
void startRender( QgsSymbolRenderContext& context );
|
|
|
|
void stopRender( QgsSymbolRenderContext& context );
|
|
|
|
QgsStringMap properties() const;
|
|
|
|
virtual QgsPointPatternFillSymbolLayer* clone() const /Factory/;
|
|
|
|
void toSld( QDomDocument &doc, QDomElement &element, const QgsStringMap& props ) const;
|
|
|
|
double estimateMaxBleed() const;
|
|
|
|
//getters and setters
|
|
double distanceX() const;
|
|
void setDistanceX( double d );
|
|
|
|
double distanceY() const;
|
|
void setDistanceY( double d );
|
|
|
|
double displacementX() const;
|
|
void setDisplacementX( double d );
|
|
|
|
double displacementY() const;
|
|
void setDisplacementY( double d );
|
|
|
|
bool setSubSymbol( QgsSymbol* symbol /Transfer/ );
|
|
virtual QgsSymbol* subSymbol();
|
|
|
|
/** Sets the units for the horizontal distance between points in the pattern.
|
|
* @param unit distance units
|
|
* @see distanceXUnit()
|
|
* @see setDistanceYUnit()
|
|
*/
|
|
void setDistanceXUnit( QgsUnitTypes::RenderUnit unit );
|
|
|
|
/** Returns the units for the horizontal distance between points in the pattern.
|
|
* @see setDistanceXUnit()
|
|
* @see distanceYUnit()
|
|
*/
|
|
QgsUnitTypes::RenderUnit distanceXUnit() const;
|
|
|
|
void setDistanceXMapUnitScale( const QgsMapUnitScale& scale);
|
|
const QgsMapUnitScale& distanceXMapUnitScale() const;
|
|
|
|
/** Sets the units for the vertical distance between points in the pattern.
|
|
* @param unit distance units
|
|
* @see distanceYUnit()
|
|
* @see setDistanceXUnit()
|
|
*/
|
|
void setDistanceYUnit( QgsUnitTypes::RenderUnit unit );
|
|
|
|
/** Returns the units for the vertical distance between points in the pattern.
|
|
* @see setDistanceYUnit()
|
|
* @see distanceXUnit()
|
|
*/
|
|
QgsUnitTypes::RenderUnit distanceYUnit() const;
|
|
|
|
void setDistanceYMapUnitScale( const QgsMapUnitScale& scale);
|
|
const QgsMapUnitScale& distanceYMapUnitScale() const;
|
|
|
|
void setDisplacementXUnit( QgsUnitTypes::RenderUnit unit );
|
|
QgsUnitTypes::RenderUnit displacementXUnit() const;
|
|
|
|
void setDisplacementXMapUnitScale( const QgsMapUnitScale& scale);
|
|
const QgsMapUnitScale& displacementXMapUnitScale() const;
|
|
|
|
void setDisplacementYUnit( QgsUnitTypes::RenderUnit unit );
|
|
QgsUnitTypes::RenderUnit displacementYUnit() const;
|
|
|
|
void setDisplacementYMapUnitScale( const QgsMapUnitScale& scale);
|
|
const QgsMapUnitScale& displacementYMapUnitScale() const;
|
|
|
|
void setOutputUnit( QgsUnitTypes::RenderUnit unit );
|
|
QgsUnitTypes::RenderUnit outputUnit() const;
|
|
|
|
void setMapUnitScale( const QgsMapUnitScale &scale );
|
|
QgsMapUnitScale mapUnitScale() const;
|
|
|
|
virtual QSet<QString> usedAttributes() const;
|
|
|
|
void setColor( const QColor& c );
|
|
virtual QColor color() const;
|
|
|
|
protected:
|
|
void applyDataDefinedSettings( QgsSymbolRenderContext& context );
|
|
};
|
|
|
|
class QgsCentroidFillSymbolLayer : QgsFillSymbolLayer
|
|
{
|
|
%TypeHeaderCode
|
|
#include <qgsfillsymbollayer.h>
|
|
%End
|
|
|
|
public:
|
|
QgsCentroidFillSymbolLayer();
|
|
~QgsCentroidFillSymbolLayer();
|
|
|
|
// static stuff
|
|
|
|
static QgsSymbolLayer* create( const QgsStringMap& properties = QgsStringMap() ) /Factory/;
|
|
static QgsSymbolLayer* createFromSld( QDomElement &element ) /Factory/;
|
|
|
|
// implemented from base classes
|
|
|
|
QString layerType() const;
|
|
|
|
void startRender( QgsSymbolRenderContext& context );
|
|
|
|
void stopRender( QgsSymbolRenderContext& context );
|
|
|
|
void renderPolygon( const QPolygonF& points, QList<QPolygonF>* rings, QgsSymbolRenderContext& context );
|
|
|
|
QgsStringMap properties() const;
|
|
|
|
virtual QgsCentroidFillSymbolLayer* clone() const /Factory/;
|
|
|
|
void toSld( QDomDocument &doc, QDomElement &element, const QgsStringMap& props ) const;
|
|
|
|
void setColor( const QColor& color );
|
|
QColor color() const;
|
|
|
|
QgsSymbol* subSymbol();
|
|
bool setSubSymbol( QgsSymbol* symbol /Transfer/ );
|
|
|
|
void setOutputUnit( QgsUnitTypes::RenderUnit unit );
|
|
QgsUnitTypes::RenderUnit outputUnit() const;
|
|
|
|
void setMapUnitScale(const QgsMapUnitScale &scale);
|
|
QgsMapUnitScale mapUnitScale() const;
|
|
|
|
virtual QSet<QString> usedAttributes() const;
|
|
|
|
void setPointOnSurface( bool pointOnSurface );
|
|
bool pointOnSurface() const;
|
|
|
|
/** Sets whether a point is drawn for all parts or only on the biggest part of multi-part features.
|
|
* @note added in 2.16 */
|
|
void setPointOnAllParts( bool pointOnAllParts );
|
|
/** Returns whether a point is drawn for all parts or only on the biggest part of multi-part features.
|
|
* @note added in 2.16 */
|
|
bool pointOnAllParts() const;
|
|
};
|