QGIS API Documentation  3.6.0-Noosa (5873452)
qgslayoutmeasurementconverter.h
Go to the documentation of this file.
1 /***************************************************************************
2  qgslayoutmeasurementconverter.h
3  -------------------------------
4  begin : June 2017
5  copyright : (C) 2017 by Nyall Dawson
6  email : nyall dot dawson at gmail dot com
7  ***************************************************************************/
8 
9 /***************************************************************************
10  * *
11  * This program is free software; you can redistribute it and/or modify *
12  * it under the terms of the GNU General Public License as published by *
13  * the Free Software Foundation; either version 2 of the License, or *
14  * (at your option) any later version. *
15  * *
16  ***************************************************************************/
17 
18 #ifndef QGSLAYOUTMEASUREMENTCONVERTER_H
19 #define QGSLAYOUTMEASUREMENTCONVERTER_H
20 
21 #include "qgis_core.h"
22 #include "qgsunittypes.h"
23 #include "qgslayoutmeasurement.h"
24 #include "qgslayoutsize.h"
25 #include "qgslayoutpoint.h"
26 #include <QSizeF>
27 #include <QPointF>
28 
29 
41 {
42  public:
43 
48 
54  void setDpi( const double dpi ) { mDpi = dpi; }
55 
61  double dpi() const { return mDpi; }
62 
69  QgsLayoutMeasurement convert( QgsLayoutMeasurement measurement, QgsUnitTypes::LayoutUnit targetUnits ) const;
70 
77  QgsLayoutSize convert( const QgsLayoutSize &size, QgsUnitTypes::LayoutUnit targetUnits ) const;
78 
85  QgsLayoutPoint convert( const QgsLayoutPoint &point, QgsUnitTypes::LayoutUnit targetUnits ) const;
86 
87  private:
88 
89  double mDpi = 300.0;
90 
91  double convertToMillimeters( QgsLayoutMeasurement measurement ) const;
92  double convertToCentimeters( QgsLayoutMeasurement measurement ) const;
93  double convertToMeters( QgsLayoutMeasurement measurement ) const;
94  double convertToInches( QgsLayoutMeasurement measurement ) const;
95  double convertToFeet( QgsLayoutMeasurement measurement ) const;
96  double convertToPoints( QgsLayoutMeasurement measurement ) const;
97  double convertToPicas( QgsLayoutMeasurement measurement ) const;
98  double convertToPixels( QgsLayoutMeasurement measurement ) const;
99 
100 };
101 
102 #endif // QGSLAYOUTMEASUREMENTCONVERTER_H
void setDpi(const double dpi)
Sets the dots per inch (dpi) for the measurement converter.
This class provides a method of storing points, consisting of an x and y coordinate, for use in QGIS layouts.
This class provides a method of storing measurements for use in QGIS layouts using a variety of diffe...
double dpi() const
Returns the Dots per inch (DPI) of the measurement converter.
This class provides a method of converting QgsLayoutMeasurements from one unit to another...
LayoutUnit
Layout measurement units.
Definition: qgsunittypes.h:125
This class provides a method of storing sizes, consisting of a width and height, for use in QGIS layo...
Definition: qgslayoutsize.h:40