mirror of
https://github.com/qgis/QGIS.git
synced 2025-10-24 00:04:44 -04:00
subclasses, so that the subclass itself can indicate what settings it respects and we can avoid all the hardcoded logic in the configuration widget
198 lines
6.1 KiB
Plaintext
198 lines
6.1 KiB
Plaintext
/************************************************************************
|
|
* This file has been generated automatically from *
|
|
* *
|
|
* src/core/scalebar/qgsscalebarrenderer.h *
|
|
* *
|
|
* Do not edit manually ! Edit header and run scripts/sipify.pl again *
|
|
************************************************************************/
|
|
|
|
|
|
|
|
|
|
class QgsScaleBarRenderer
|
|
{
|
|
%Docstring
|
|
Abstract base class for scale bar renderers.
|
|
|
|
Scalebar renderer subclasses implement custom drawing logic, with the possibility to implement
|
|
custom labeling.
|
|
|
|
.. versionadded:: 3.0
|
|
%End
|
|
|
|
%TypeHeaderCode
|
|
#include "qgsscalebarrenderer.h"
|
|
%End
|
|
public:
|
|
|
|
struct ScaleBarContext
|
|
{
|
|
|
|
double segmentWidth;
|
|
|
|
QSizeF size;
|
|
|
|
double scale;
|
|
|
|
};
|
|
|
|
enum class Flag
|
|
{
|
|
FlagUsesLineSymbol,
|
|
FlagUsesFillSymbol,
|
|
FlagUsesAlternateFillSymbol,
|
|
FlagRespectsUnits,
|
|
FlagRespectsMapUnitsPerScaleBarUnit,
|
|
FlagUsesUnitLabel,
|
|
FlagUsesSegments,
|
|
FlagUsesLabelBarSpace,
|
|
FlagUsesLabelVerticalPlacement,
|
|
FlagUsesLabelHorizontalPlacement,
|
|
FlagUsesAlignment,
|
|
};
|
|
typedef QFlags<QgsScaleBarRenderer::Flag> Flags;
|
|
|
|
|
|
QgsScaleBarRenderer();
|
|
%Docstring
|
|
Constructor for QgsScaleBarRenderer.
|
|
%End
|
|
virtual ~QgsScaleBarRenderer();
|
|
|
|
QString name() const /Deprecated/;
|
|
%Docstring
|
|
Returns the unique name for this style.
|
|
|
|
.. deprecated::
|
|
use id() instead
|
|
%End
|
|
|
|
virtual QString id() const = 0;
|
|
%Docstring
|
|
Returns the unique ID for this renderer.
|
|
|
|
.. versionadded:: 3.14
|
|
%End
|
|
|
|
virtual QString visibleName() const = 0;
|
|
%Docstring
|
|
Returns the user friendly, translated name for the renderer.
|
|
|
|
.. versionadded:: 3.14
|
|
%End
|
|
|
|
virtual Flags flags() const;
|
|
%Docstring
|
|
Returns the scalebar rendering flags, which dictates the renderer's behavior.
|
|
|
|
.. versionadded:: 3.14
|
|
%End
|
|
|
|
virtual int sortKey() const;
|
|
%Docstring
|
|
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.
|
|
%End
|
|
|
|
virtual QgsScaleBarRenderer *clone() const = 0 /Factory/;
|
|
%Docstring
|
|
Returns a clone of the renderer. The caller takes ownership of the returned value.
|
|
%End
|
|
|
|
virtual void draw( QgsRenderContext &context,
|
|
const QgsScaleBarSettings &settings,
|
|
const QgsScaleBarRenderer::ScaleBarContext &scaleContext ) const = 0;
|
|
%Docstring
|
|
Draws the scalebar using the specified ``settings`` and ``scaleContext`` to a destination render ``context``.
|
|
%End
|
|
|
|
virtual QSizeF calculateBoxSize( const QgsScaleBarSettings &settings,
|
|
const QgsScaleBarRenderer::ScaleBarContext &scaleContext ) const /Deprecated/;
|
|
%Docstring
|
|
Calculates the required box size (in millimeters) for a scalebar using the specified ``settings`` and ``scaleContext``.
|
|
|
|
.. deprecated::
|
|
Use the version with a QgsRenderContext instead.
|
|
%End
|
|
|
|
virtual QSizeF calculateBoxSize( QgsRenderContext &context,
|
|
const QgsScaleBarSettings &settings,
|
|
const QgsScaleBarRenderer::ScaleBarContext &scaleContext ) const;
|
|
%Docstring
|
|
Calculates the required box size (in millimeters) for a scalebar using the specified ``settings`` and ``scaleContext``.
|
|
|
|
.. versionadded:: 3.14
|
|
%End
|
|
|
|
virtual bool applyDefaultSettings( QgsScaleBarSettings &settings ) const;
|
|
%Docstring
|
|
Applies any default settings relating to the scalebar to the passed ``settings`` object.
|
|
|
|
Returns ``True`` if settings were applied.
|
|
|
|
.. versionadded:: 3.14
|
|
%End
|
|
|
|
protected:
|
|
|
|
void drawDefaultLabels( QgsRenderContext &context,
|
|
const QgsScaleBarSettings &settings,
|
|
const QgsScaleBarRenderer::ScaleBarContext &scaleContext ) const;
|
|
%Docstring
|
|
Draws default scalebar labels using the specified ``settings`` and ``scaleContext`` to a destination render ``context``.
|
|
%End
|
|
|
|
QString firstLabelString( const QgsScaleBarSettings &settings ) const;
|
|
%Docstring
|
|
Returns the text used for the first label in the scalebar.
|
|
%End
|
|
|
|
double firstLabelXOffset( const QgsScaleBarSettings &settings ) const /Deprecated/;
|
|
%Docstring
|
|
Returns the x-offset (in millimeters) used for the first label in the scalebar.
|
|
|
|
.. deprecated::
|
|
Use the version with QgsRenderContext instead.
|
|
%End
|
|
|
|
double firstLabelXOffset( const QgsScaleBarSettings &settings, const QgsRenderContext &context, const ScaleBarContext &scaleContext ) const;
|
|
%Docstring
|
|
Returns the x-offset (in render context painter units) used for the first label in the scalebar.
|
|
|
|
.. versionadded:: 3.2
|
|
%End
|
|
|
|
QList<double> segmentPositions( const QgsScaleBarRenderer::ScaleBarContext &scaleContext, const QgsScaleBarSettings &settings ) const /Deprecated/;
|
|
%Docstring
|
|
Returns a list of positions for each segment within the scalebar.
|
|
|
|
.. deprecated::
|
|
use the version with a QgsRenderContext instead
|
|
%End
|
|
|
|
QList<double> segmentPositions( QgsRenderContext &context, const QgsScaleBarRenderer::ScaleBarContext &scaleContext, const QgsScaleBarSettings &settings ) const;
|
|
%Docstring
|
|
Returns a list of positions for each segment within the scalebar.
|
|
|
|
.. versionadded:: 3.14
|
|
%End
|
|
|
|
QList<double> segmentWidths( const QgsScaleBarRenderer::ScaleBarContext &scaleContext, const QgsScaleBarSettings &settings ) const;
|
|
%Docstring
|
|
Returns a list of widths of each segment of the scalebar.
|
|
%End
|
|
|
|
};
|
|
|
|
QFlags<QgsScaleBarRenderer::Flag> operator|(QgsScaleBarRenderer::Flag f1, QFlags<QgsScaleBarRenderer::Flag> f2);
|
|
|
|
|
|
/************************************************************************
|
|
* This file has been generated automatically from *
|
|
* *
|
|
* src/core/scalebar/qgsscalebarrenderer.h *
|
|
* *
|
|
* Do not edit manually ! Edit header and run scripts/sipify.pl again *
|
|
************************************************************************/
|