QGIS API Documentation  2.12.0-Lyon
qgsnumericscalebarstyle.h
Go to the documentation of this file.
1 /***************************************************************************
2  qgsnumericscalebarstyle.h
3  ---------------------------
4  begin : June 2008
5  copyright : (C) 2008 by Marco Hugentobler
6  email : [email protected]
7  ***************************************************************************/
8 /***************************************************************************
9  * *
10  * This program is free software; you can redistribute it and/or modify *
11  * it under the terms of the GNU General Public License as published by *
12  * the Free Software Foundation; either version 2 of the License, or *
13  * (at your option) any later version. *
14  * *
15  ***************************************************************************/
16 
17 #ifndef QGSNUMERICSCALEBARSTYLE_H
18 #define QGSNUMERICSCALEBARSTYLE_H
19 
20 #include "qgsscalebarstyle.h"
21 
25 class CORE_EXPORT QgsNumericScaleBarStyle: public QgsScaleBarStyle
26 {
27  public:
30 
31  QString name() const override;
32 
33  void draw( QPainter* p, double xOffset = 0 ) const override;
34 
35  //calculation of box size is different compared to segment based scale bars
36  QRectF calculateBoxSize() const override;
37 
38  private:
39  QgsNumericScaleBarStyle(); //forbidden
41  QString scaleText() const;
42 
44  mutable double mLastScaleBarWidth;
45 };
46 
47 #endif
A scale bar item that can be added to a map composition.
A scale bar style that draws text in the form of '1:XXXXX'.
virtual QRectF calculateBoxSize() const
virtual QString name() const =0
virtual void draw(QPainter *p, double xOffset=0) const =0
Draws the style.
Abstraction of composer scale bar style.