QGIS API Documentation  2.8.2-Wien
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
qgsscalebarstyle.h
Go to the documentation of this file.
1 /***************************************************************************
2  qgsscalebarstyle.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 QGSSCALEBARSTYLE_H
18 #define QGSSCALEBARSTYLE_H
19 
20 #include <QIcon>
21 #include <QRectF>
22 
24 class QPainter;
25 
30 class CORE_EXPORT QgsScaleBarStyle
31 {
32  public:
34  virtual ~QgsScaleBarStyle();
35 
39  virtual void draw( QPainter* p, double xOffset = 0 ) const = 0; //to do by every subclass
40  virtual void drawLabels( QPainter* p ) const; //default implementation provided
41  virtual QRectF calculateBoxSize() const; //default implementation provided
42  virtual QString name() const = 0; //return name of the style
43 
44  private:
45  QgsScaleBarStyle(); //default constructor forbidden
46 
47  protected:
49 };
50 
51 #endif