QGIS API Documentation  3.23.0-Master (22c16f2067)
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
This class provides a method of converting QgsLayoutMeasurements from one unit to another.
double dpi() const
Returns the Dots per inch (DPI) of the measurement converter.
void setDpi(const double dpi)
Sets the dots per inch (dpi) for the measurement converter.
QgsLayoutMeasurementConverter()=default
Constructor for QgsLayoutMeasurementConverter.
This class provides a method of storing measurements for use in QGIS layouts using a variety of diffe...
This class provides a method of storing points, consisting of an x and y coordinate,...
This class provides a method of storing sizes, consisting of a width and height, for use in QGIS layo...
Definition: qgslayoutsize.h:41
LayoutUnit
Layout measurement units.
Definition: qgsunittypes.h:182