QGIS API Documentation
3.16.0-Hannover (43b64b13f3)
|
Go to the documentation of this file.
27 return QStringLiteral(
"stepped" );
32 return QObject::tr(
"Stepped Line" );
63 QPainter *painter = context.
painter();
66 sym->startRender( context ) ;
77 painter->setPen( Qt::NoPen );
81 QList<double> positions =
segmentPositions( context, scaleContext, settings );
82 QList<double> widths =
segmentWidths( scaleContext, settings );
86 for (
int i = 0; i < positions.size() + 1; ++i )
93 points << QPointF( x, barBottomPosition ) << QPointF( x, barTopPosition );
97 points << QPointF( x, barTopPosition ) << QPointF( x, barBottomPosition ) ;
101 sym->renderPolyline( points,
nullptr, context );
105 sym->stopRender( context );
double height() const
Returns the scalebar height (in millimeters).
QgsLineSymbol * lineSymbol() const
Returns the line symbol used to render the scalebar (only used for some scalebar types).
double convertToPainterUnits(double size, QgsUnitTypes::RenderUnit unit, const QgsMapUnitScale &scale=QgsMapUnitScale()) const
Converts a size from the specified units to painter units (pixels).
void setPainterFlagsUsingContext(QPainter *painter=nullptr) const
Sets relevant flags on a destination painter, using the flags and settings currently defined for the ...
Contains parameters regarding scalebar calculations.
@ FlagUsesUnitLabel
Renderer uses the QgsScaleBarSettings::unitLabel() setting.
QList< double > segmentWidths(const QgsScaleBarRenderer::ScaleBarContext &scaleContext, const QgsScaleBarSettings &settings) const
Returns a list of widths of each segment of the scalebar.
QgsLineSymbol * clone() const override
Returns a deep copy of this symbol.
void draw(QgsRenderContext &context, const QgsScaleBarSettings &settings, const QgsScaleBarRenderer::ScaleBarContext &scaleContext) const override
Draws the scalebar using the specified settings and scaleContext to a destination render context.
static QFontMetricsF fontMetrics(QgsRenderContext &context, const QgsTextFormat &format, double scaleFactor=1.0)
Returns the font metrics for the given text format, when rendered in the specified render context.
Contains information about the context of a rendering operation.
@ RenderMillimeters
Millimeters.
@ FlagUsesLabelHorizontalPlacement
Renderer uses the QgsScaleBarSettings::labelHorizontalPlacement() setting.
double labelBarSpace() const
Returns the spacing (in millimeters) between labels and the scalebar.
@ FlagUsesLabelVerticalPlacement
Renderer uses the QgsScaleBarSettings::labelVerticalPlacement() setting.
double boxContentSpace() const
Returns the spacing (margin) between the scalebar box and content in millimeters.
LabelVerticalPlacement labelVerticalPlacement() const
Returns the vertical placement of text labels.
QgsTextFormat & textFormat()
Returns the text format used for drawing text in the scalebar.
@ FlagUsesLineSymbol
Renderer utilizes the scalebar line symbol (see QgsScaleBarSettings::lineSymbol() )
The QgsScaleBarSettings class stores the appearance and layout settings for scalebar drawing with Qgs...
@ FlagRespectsMapUnitsPerScaleBarUnit
Renderer respects the QgsScaleBarSettings::mapUnitsPerScaleBarUnit() setting.
Q_DECL_DEPRECATED double firstLabelXOffset(const QgsScaleBarSettings &settings) const
Returns the x-offset (in millimeters) used for the first label in the scalebar.
QgsSteppedLineScaleBarRenderer()=default
Constructor for QgsSteppedLineScaleBarRenderer.
int sortKey() const override
Returns a sorting key value, where renderers with a lower sort key will be shown earlier in lists.
@ LabelAboveSegment
Labels are drawn above the scalebar.
void drawDefaultLabels(QgsRenderContext &context, const QgsScaleBarSettings &settings, const QgsScaleBarRenderer::ScaleBarContext &scaleContext) const
Draws default scalebar labels using the specified settings and scaleContext to a destination render c...
@ FlagRespectsUnits
Renderer respects the QgsScaleBarSettings::units() setting.
Flags flags() const override
Returns the scalebar rendering flags, which dictates the renderer's behavior.
@ FlagUsesLabelBarSpace
Renderer uses the QgsScaleBarSettings::labelBarSpace() setting.
@ FlagUsesSegments
Renderer uses the scalebar segments.
QgsSteppedLineScaleBarRenderer * clone() const override
Returns a clone of the renderer.
QPainter * painter()
Returns the destination QPainter for the render operation.
QString id() const override
Returns the unique ID for this renderer.
Scalebar style that draws a stepped line representation of a scalebar.
QString visibleName() const override
Returns the user friendly, translated name for the renderer.
Q_DECL_DEPRECATED QList< double > segmentPositions(const QgsScaleBarRenderer::ScaleBarContext &scaleContext, const QgsScaleBarSettings &settings) const
Returns a list of positions for each segment within the scalebar.