QGIS API Documentation
3.16.0-Hannover (43b64b13f3)
|
Abstract base class for scale bar renderers. More...
#include <qgsscalebarrenderer.h>
Classes | |
struct | ScaleBarContext |
Contains parameters regarding scalebar calculations. More... | |
Public Types | |
enum | Flag { Flag::FlagUsesLineSymbol = 1 << 0, Flag::FlagUsesFillSymbol = 1 << 1, Flag::FlagUsesAlternateFillSymbol = 1 << 2, Flag::FlagRespectsUnits = 1 << 3, Flag::FlagRespectsMapUnitsPerScaleBarUnit = 1 << 4, Flag::FlagUsesUnitLabel = 1 << 5, Flag::FlagUsesSegments = 1 << 6, Flag::FlagUsesLabelBarSpace = 1 << 7, Flag::FlagUsesLabelVerticalPlacement = 1 << 8, Flag::FlagUsesLabelHorizontalPlacement = 1 << 8, Flag::FlagUsesAlignment = 1 << 9, Flag::FlagUsesSubdivisions = 1 << 10, Flag::FlagUsesDivisionSymbol = 1 << 11, Flag::FlagUsesSubdivisionSymbol = 1 << 12, Flag::FlagUsesSubdivisionsHeight = 1 << 13 } |
Flags which control scalebar renderer behavior. More... | |
Public Member Functions | |
QgsScaleBarRenderer ()=default | |
Constructor for QgsScaleBarRenderer. More... | |
virtual | ~QgsScaleBarRenderer ()=default |
virtual bool | applyDefaultSettings (QgsScaleBarSettings &settings) const |
Applies any default settings relating to the scalebar to the passed settings object. More... | |
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. More... | |
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. More... | |
virtual QgsScaleBarRenderer * | clone () const =0 |
Returns a clone of the renderer. More... | |
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. More... | |
virtual Flags | flags () const |
Returns the scalebar rendering flags, which dictates the renderer's behavior. More... | |
virtual QString | id () const =0 |
Returns the unique ID for this renderer. More... | |
Q_DECL_DEPRECATED QString | name () const |
Returns the unique name for this style. More... | |
virtual int | sortKey () const |
Returns a sorting key value, where renderers with a lower sort key will be shown earlier in lists. More... | |
virtual QString | visibleName () const =0 |
Returns the user friendly, translated name for the renderer. More... | |
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. More... | |
QString | firstLabelString (const QgsScaleBarSettings &settings) const |
Returns the text used for the first label in the scalebar. More... | |
Q_DECL_DEPRECATED double | firstLabelXOffset (const QgsScaleBarSettings &settings) const |
Returns the x-offset (in millimeters) used for the first label in the scalebar. More... | |
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. More... | |
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. More... | |
QList< double > | segmentPositions (QgsRenderContext &context, const QgsScaleBarRenderer::ScaleBarContext &scaleContext, const QgsScaleBarSettings &settings) const |
Returns a list of positions for each segment within the scalebar. More... | |
QList< double > | segmentWidths (const QgsScaleBarRenderer::ScaleBarContext &scaleContext, const QgsScaleBarSettings &settings) const |
Returns a list of widths of each segment of the scalebar. More... | |
Abstract base class for scale bar renderers.
Scalebar renderer subclasses implement custom drawing logic, with the possibility to implement custom labeling.
Definition at line 38 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 46 of file qgsscalebarrenderer.h.
|
default |
Constructor for QgsScaleBarRenderer.
|
virtualdefault |
|
virtual |
Applies any default settings relating to the scalebar to the passed settings object.
Returns true
if settings were applied.
Reimplemented in QgsHollowScaleBarRenderer.
Definition at line 301 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 175 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 232 of file qgsscalebarrenderer.cpp.
|
pure virtual |
Returns a clone of the renderer.
The caller takes ownership of the returned value.
Implemented in QgsTicksScaleBarRenderer, QgsSteppedLineScaleBarRenderer, QgsSingleBoxScaleBarRenderer, QgsNumericScaleBarRenderer, QgsHollowScaleBarRenderer, and QgsDoubleBoxScaleBarRenderer.
|
pure virtual |
Draws the scalebar using the specified settings and scaleContext to a destination render context.
Implemented in QgsTicksScaleBarRenderer, QgsSteppedLineScaleBarRenderer, QgsSingleBoxScaleBarRenderer, QgsNumericScaleBarRenderer, QgsHollowScaleBarRenderer, and QgsDoubleBoxScaleBarRenderer.
|
protected |
Draws default scalebar labels using the specified settings and scaleContext to a destination render context.
Definition at line 28 of file qgsscalebarrenderer.cpp.
|
protected |
Returns the text used for the first label in the scalebar.
Definition at line 306 of file qgsscalebarrenderer.cpp.
|
protected |
Returns the x-offset (in millimeters) used for the first label in the scalebar.
Definition at line 318 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 326 of file qgsscalebarrenderer.cpp.
|
virtual |
Returns the scalebar rendering flags, which dictates the renderer's behavior.
Reimplemented in QgsTicksScaleBarRenderer, QgsSteppedLineScaleBarRenderer, QgsSingleBoxScaleBarRenderer, QgsNumericScaleBarRenderer, QgsHollowScaleBarRenderer, and QgsDoubleBoxScaleBarRenderer.
Definition at line 165 of file qgsscalebarrenderer.cpp.
|
pure virtual |
Returns the unique ID for this renderer.
Implemented in QgsTicksScaleBarRenderer, QgsSteppedLineScaleBarRenderer, QgsSingleBoxScaleBarRenderer, QgsNumericScaleBarRenderer, QgsHollowScaleBarRenderer, and QgsDoubleBoxScaleBarRenderer.
|
inline |
Returns the unique name for this style.
Definition at line 104 of file qgsscalebarrenderer.h.
|
protected |
Returns a list of positions for each segment within the scalebar.
Definition at line 348 of file qgsscalebarrenderer.cpp.
|
protected |
Returns a list of positions for each segment within the scalebar.
Definition at line 375 of file qgsscalebarrenderer.cpp.
|
protected |
Returns a list of widths of each segment of the scalebar.
Definition at line 403 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 QgsTicksScaleBarRenderer, QgsSteppedLineScaleBarRenderer, QgsSingleBoxScaleBarRenderer, QgsNumericScaleBarRenderer, QgsHollowScaleBarRenderer, and QgsDoubleBoxScaleBarRenderer.
Definition at line 170 of file qgsscalebarrenderer.cpp.
|
pure virtual |
Returns the user friendly, translated name for the renderer.
Implemented in QgsTicksScaleBarRenderer, QgsSteppedLineScaleBarRenderer, QgsSingleBoxScaleBarRenderer, QgsNumericScaleBarRenderer, QgsHollowScaleBarRenderer, and QgsDoubleBoxScaleBarRenderer.