QGIS API Documentation 3.28.0-Firenze (ed3ad0430f)
qgslayoutsize.h
Go to the documentation of this file.
1/***************************************************************************
2 qgslayoutsize.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 QGSLAYOUTSIZE_H
19#define QGSLAYOUTSIZE_H
20
21#include "qgis_core.h"
22#include "qgsunittypes.h"
23#include <QSizeF>
24
25
40class CORE_EXPORT QgsLayoutSize
41{
42 public:
43
50 QgsLayoutSize( double width, double height, QgsUnitTypes::LayoutUnit units = QgsUnitTypes::LayoutMillimeters );
51
56
62
69 void setSize( const double width, const double height ) { mWidth = width; mHeight = height; }
70
76 double width() const { return mWidth; }
77
83 void setWidth( const double width ) { mWidth = width; }
84
90 double height() const { return mHeight; }
91
97 void setHeight( const double height ) { mHeight = height; }
98
103 QgsUnitTypes::LayoutUnit units() const { return mUnits; }
104
110 void setUnits( const QgsUnitTypes::LayoutUnit units ) { mUnits = units; }
111
117 bool isEmpty() const;
118
124 QSizeF toQSizeF() const;
125
130 QString encodeSize() const;
131
136 static QgsLayoutSize decodeSize( const QString &string );
137
138 bool operator==( const QgsLayoutSize &other ) const;
139 bool operator!=( const QgsLayoutSize &other ) const;
140
144 QgsLayoutSize operator*( double v ) const;
145
149 QgsLayoutSize operator*=( double v );
150
154 QgsLayoutSize operator/( double v ) const;
155
159 QgsLayoutSize operator/=( double v );
160
161#ifdef SIP_RUN
162 SIP_PYOBJECT __repr__();
163 % MethodCode
164 QString str = QStringLiteral( "<QgsLayoutSize: %1 x %2 %3 >" ).arg( sipCpp->width() ).arg( sipCpp->height() ).arg( QgsUnitTypes::toAbbreviatedString( sipCpp->units() ) );
165 sipRes = PyUnicode_FromString( str.toUtf8().constData() );
166 % End
167#endif
168
169 private:
170
171 double mWidth = 0.0;
172 double mHeight = 0.0;
174
175};
176
177#endif // QGSLAYOUTSIZE_H
This class provides a method of storing sizes, consisting of a width and height, for use in QGIS layo...
Definition: qgslayoutsize.h:41
void setUnits(const QgsUnitTypes::LayoutUnit units)
Sets the units for the size.
void setSize(const double width, const double height)
Sets new width and height for the size.
Definition: qgslayoutsize.h:69
QgsUnitTypes::LayoutUnit units() const
Returns the units for the size.
double height() const
Returns the height of the size.
Definition: qgslayoutsize.h:90
void setWidth(const double width)
Sets the width for the size.
Definition: qgslayoutsize.h:83
double width() const
Returns the width of the size.
Definition: qgslayoutsize.h:76
void setHeight(const double height)
Sets the height for the size.
Definition: qgslayoutsize.h:97
LayoutUnit
Layout measurement units.
Definition: qgsunittypes.h:182
@ LayoutMillimeters
Millimeters.
Definition: qgsunittypes.h:183
static Q_INVOKABLE QString toAbbreviatedString(QgsUnitTypes::DistanceUnit unit)
Returns a translated abbreviation representing a distance unit.
#define str(x)
Definition: qgis.cpp:37
bool operator==(const QgsFeatureIterator &fi1, const QgsFeatureIterator &fi2)
bool operator!=(const QgsFeatureIterator &fi1, const QgsFeatureIterator &fi2)
QgsMargins operator*(const QgsMargins &margins, double factor)
Returns a QgsMargins object that is formed by multiplying each component of the given margins by fact...
Definition: qgsmargins.h:242
QgsMargins operator/(const QgsMargins &margins, double divisor)
Returns a QgsMargins object that is formed by dividing the components of the given margins by the giv...
Definition: qgsmargins.h:262