QGIS API Documentation 3.41.0-Master (3440c17df1d)
|
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 QgsHollowScaleBarRenderer.
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.