QGIS API Documentation 3.41.0-Master (64d82d4c163)
|
Abstract base class for scale bar renderers. More...
#include <qgsscalebarrenderer.h>
Classes | |
struct | ScaleBarContext |
Contains parameters regarding scalebar calculations. More... | |
Public Types | |
enum class | Flag : int { FlagUsesLineSymbol = 1 << 0 , FlagUsesFillSymbol = 1 << 1 , FlagUsesAlternateFillSymbol = 1 << 2 , FlagRespectsUnits = 1 << 3 , FlagRespectsMapUnitsPerScaleBarUnit = 1 << 4 , FlagUsesUnitLabel = 1 << 5 , FlagUsesSegments = 1 << 6 , FlagUsesLabelBarSpace = 1 << 7 , FlagUsesLabelVerticalPlacement = 1 << 8 , FlagUsesLabelHorizontalPlacement = 1 << 8 , FlagUsesAlignment = 1 << 9 , FlagUsesSubdivisions = 1 << 10 , FlagUsesDivisionSymbol = 1 << 11 , FlagUsesSubdivisionSymbol = 1 << 12 , FlagUsesSubdivisionsHeight = 1 << 13 } |
Flags which control scalebar renderer behavior. More... | |
typedef QFlags< Flag > | Flags |
Public Member Functions | |
QgsScaleBarRenderer ()=default | |
virtual | ~QgsScaleBarRenderer ()=default |
virtual bool | applyDefaultSettings (QgsScaleBarSettings &settings) const |
Applies any default settings relating to the scalebar to the passed settings object. | |
virtual Q_DECL_DEPRECATED QSizeF | calculateBoxSize (const QgsScaleBarSettings &settings, const QgsScaleBarRenderer::ScaleBarContext &scaleContext) const |
Calculates the required box size (in millimeters) for a scalebar using the specified settings and scaleContext. | |
virtual QSizeF | calculateBoxSize (QgsRenderContext &context, const QgsScaleBarSettings &settings, const QgsScaleBarRenderer::ScaleBarContext &scaleContext) const |
Calculates the required box size (in millimeters) for a scalebar using the specified settings and scaleContext. | |
virtual QgsScaleBarRenderer * | clone () const =0 |
Returns a clone of the renderer. | |
virtual void | draw (QgsRenderContext &context, const QgsScaleBarSettings &settings, const QgsScaleBarRenderer::ScaleBarContext &scaleContext) const =0 |
Draws the scalebar using the specified settings and scaleContext to a destination render context. | |
virtual Flags | flags () const |
Returns the scalebar rendering flags, which dictates the renderer's behavior. | |
virtual QString | id () const =0 |
Returns the unique ID for this renderer. | |
Q_DECL_DEPRECATED QString | name () const |
Returns the unique name for this style. | |
virtual int | sortKey () const |
Returns a sorting key value, where renderers with a lower sort key will be shown earlier in lists. | |
virtual QString | visibleName () const =0 |
Returns the user friendly, translated name for the renderer. | |
Protected Member Functions | |
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 context. | |
QString | firstLabelString (const QgsScaleBarSettings &settings) const |
Returns the text used for the first label in the scalebar. | |
Q_DECL_DEPRECATED double | firstLabelXOffset (const QgsScaleBarSettings &settings) const |
Returns the x-offset (in millimeters) used for the first label in the scalebar. | |
double | firstLabelXOffset (const QgsScaleBarSettings &settings, const QgsRenderContext &context, const ScaleBarContext &scaleContext) const |
Returns the x-offset (in render context painter units) used for the first label in the scalebar. | |
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. | |
QList< double > | segmentPositions (QgsRenderContext &context, const QgsScaleBarRenderer::ScaleBarContext &scaleContext, const QgsScaleBarSettings &settings) const |
Returns a list of positions for each segment within the scalebar. | |
QList< double > | segmentWidths (const QgsScaleBarRenderer::ScaleBarContext &scaleContext, const QgsScaleBarSettings &settings) const |
Returns a list of widths of each segment of the scalebar. | |
Abstract base class for scale bar renderers.
Scalebar renderer subclasses implement custom drawing logic, with the possibility to implement custom labeling.
Definition at line 37 of file qgsscalebarrenderer.h.
typedef QFlags< Flag > QgsScaleBarRenderer::Flags |
Definition at line 63 of file qgsscalebarrenderer.h.
|
strong |
Flags which control scalebar renderer behavior.
Enumerator | |
---|---|
FlagUsesLineSymbol | Renderer utilizes the scalebar line symbol (see QgsScaleBarSettings::lineSymbol() ) |
FlagUsesFillSymbol | Renderer utilizes the scalebar fill symbol (see QgsScaleBarSettings::fillSymbol() ) |
FlagUsesAlternateFillSymbol | Renderer utilizes the alternate scalebar fill symbol (see QgsScaleBarSettings::alternateFillSymbol() ) |
FlagRespectsUnits | Renderer respects the QgsScaleBarSettings::units() setting. |
FlagRespectsMapUnitsPerScaleBarUnit | Renderer respects the QgsScaleBarSettings::mapUnitsPerScaleBarUnit() setting. |
FlagUsesUnitLabel | Renderer uses the QgsScaleBarSettings::unitLabel() setting. |
FlagUsesSegments | Renderer uses the scalebar segments. |
FlagUsesLabelBarSpace | Renderer uses the QgsScaleBarSettings::labelBarSpace() setting. |
FlagUsesLabelVerticalPlacement | Renderer uses the QgsScaleBarSettings::labelVerticalPlacement() setting. |
FlagUsesLabelHorizontalPlacement | Renderer uses the QgsScaleBarSettings::labelHorizontalPlacement() setting. |
FlagUsesAlignment | Renderer uses the QgsScaleBarSettings::alignment() setting. |
FlagUsesSubdivisions | Renderer uses the scalebar subdivisions (see QgsScaleBarSettings::numberOfSubdivisions() ) |
FlagUsesDivisionSymbol | Renderer utilizes the scalebar division symbol (see QgsScaleBarSettings::divisionLineSymbol() ) |
FlagUsesSubdivisionSymbol | Renderer utilizes the scalebar subdivision symbol (see QgsScaleBarSettings::subdivisionLineSymbol() ) |
FlagUsesSubdivisionsHeight | Renderer uses the scalebar subdivisions height (see QgsScaleBarSettings::subdivisionsHeight() ) |
Definition at line 45 of file qgsscalebarrenderer.h.
|
default |
|
virtualdefault |
|
virtual |
Applies any default settings relating to the scalebar to the passed settings object.
Returns true
if settings were applied.
Reimplemented in QgsDoubleBoxScaleBarRenderer, QgsHollowScaleBarRenderer, and QgsSingleBoxScaleBarRenderer.
Definition at line 296 of file qgsscalebarrenderer.cpp.
|
virtual |
Calculates the required box size (in millimeters) for a scalebar using the specified settings and scaleContext.
Reimplemented in QgsNumericScaleBarRenderer.
Definition at line 168 of file qgsscalebarrenderer.cpp.
|
virtual |
Calculates the required box size (in millimeters) for a scalebar using the specified settings and scaleContext.
Reimplemented in QgsNumericScaleBarRenderer.
Definition at line 225 of file qgsscalebarrenderer.cpp.
|
pure virtual |
Returns a clone of the renderer.
The caller takes ownership of the returned value.
Implemented in QgsDoubleBoxScaleBarRenderer, QgsHollowScaleBarRenderer, QgsNumericScaleBarRenderer, QgsSingleBoxScaleBarRenderer, QgsSteppedLineScaleBarRenderer, and QgsTicksScaleBarRenderer.
|
pure virtual |
Draws the scalebar using the specified settings and scaleContext to a destination render context.
Implemented in QgsDoubleBoxScaleBarRenderer, QgsHollowScaleBarRenderer, QgsNumericScaleBarRenderer, QgsSingleBoxScaleBarRenderer, QgsSteppedLineScaleBarRenderer, and QgsTicksScaleBarRenderer.
|
protected |
Draws default scalebar labels using the specified settings and scaleContext to a destination render context.
Definition at line 30 of file qgsscalebarrenderer.cpp.
|
protected |
Returns the text used for the first label in the scalebar.
Definition at line 301 of file qgsscalebarrenderer.cpp.
|
protected |
Returns the x-offset (in millimeters) used for the first label in the scalebar.
Definition at line 313 of file qgsscalebarrenderer.cpp.
|
protected |
Returns the x-offset (in render context painter units) used for the first label in the scalebar.
Definition at line 321 of file qgsscalebarrenderer.cpp.
|
virtual |
Returns the scalebar rendering flags, which dictates the renderer's behavior.
Reimplemented in QgsDoubleBoxScaleBarRenderer, QgsHollowScaleBarRenderer, QgsNumericScaleBarRenderer, QgsSingleBoxScaleBarRenderer, QgsSteppedLineScaleBarRenderer, and QgsTicksScaleBarRenderer.
Definition at line 158 of file qgsscalebarrenderer.cpp.
|
pure virtual |
Returns the unique ID for this renderer.
Implemented in QgsDoubleBoxScaleBarRenderer, QgsHollowScaleBarRenderer, QgsNumericScaleBarRenderer, QgsSingleBoxScaleBarRenderer, QgsSteppedLineScaleBarRenderer, and QgsTicksScaleBarRenderer.
|
inline |
Returns the unique name for this style.
Definition at line 107 of file qgsscalebarrenderer.h.
|
protected |
Returns a list of positions for each segment within the scalebar.
Definition at line 343 of file qgsscalebarrenderer.cpp.
|
protected |
Returns a list of positions for each segment within the scalebar.
Definition at line 370 of file qgsscalebarrenderer.cpp.
|
protected |
Returns a list of widths of each segment of the scalebar.
Definition at line 398 of file qgsscalebarrenderer.cpp.
|
virtual |
Returns a sorting key value, where renderers with a lower sort key will be shown earlier in lists.
Generally, subclasses should return QgsScaleBarRenderer::sortKey() as their sorting key.
Reimplemented in QgsDoubleBoxScaleBarRenderer, QgsHollowScaleBarRenderer, QgsNumericScaleBarRenderer, QgsSingleBoxScaleBarRenderer, QgsSteppedLineScaleBarRenderer, and QgsTicksScaleBarRenderer.
Definition at line 163 of file qgsscalebarrenderer.cpp.
|
pure virtual |
Returns the user friendly, translated name for the renderer.
Implemented in QgsDoubleBoxScaleBarRenderer, QgsHollowScaleBarRenderer, QgsNumericScaleBarRenderer, QgsSingleBoxScaleBarRenderer, QgsSteppedLineScaleBarRenderer, and QgsTicksScaleBarRenderer.