QGIS API Documentation 3.37.0-Master (fdefdf9c27f)
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 "qgis.h"
23#include <QSizeF>
24
25
39class CORE_EXPORT QgsLayoutSize
40{
41 public:
42
49 QgsLayoutSize( double width, double height, Qgis::LayoutUnit units = Qgis::LayoutUnit::Millimeters );
50
54 explicit QgsLayoutSize( QSizeF size, Qgis::LayoutUnit units = Qgis::LayoutUnit::Millimeters );
55
61
68 void setSize( const double width, const double height ) { mWidth = width; mHeight = height; }
69
75 double width() const { return mWidth; }
76
82 void setWidth( const double width ) { mWidth = width; }
83
89 double height() const { return mHeight; }
90
96 void setHeight( const double height ) { mHeight = height; }
97
102 Qgis::LayoutUnit units() const { return mUnits; }
103
109 void setUnits( const Qgis::LayoutUnit units ) { mUnits = units; }
110
116 bool isEmpty() const;
117
123 QSizeF toQSizeF() const;
124
129 QString encodeSize() const;
130
135 static QgsLayoutSize decodeSize( const QString &string );
136
137 bool operator==( const QgsLayoutSize &other ) const;
138 bool operator!=( const QgsLayoutSize &other ) const;
139
143 QgsLayoutSize operator*( double v ) const;
144
148 QgsLayoutSize operator*=( double v );
149
153 QgsLayoutSize operator/( double v ) const;
154
158 QgsLayoutSize operator/=( double v );
159
160#ifdef SIP_RUN
161 SIP_PYOBJECT __repr__();
162 % MethodCode
163 QString str = QStringLiteral( "<QgsLayoutSize: %1 x %2 %3 >" ).arg( sipCpp->width() ).arg( sipCpp->height() ).arg( QgsUnitTypes::toAbbreviatedString( sipCpp->units() ) );
164 sipRes = PyUnicode_FromString( str.toUtf8().constData() );
165 % End
166#endif
167
168 private:
169
170 double mWidth = 0.0;
171 double mHeight = 0.0;
173
174};
175
176#endif // QGSLAYOUTSIZE_H
LayoutUnit
Layout measurement units.
Definition: qgis.h:4275
@ Millimeters
Millimeters.
This class provides a method of storing sizes, consisting of a width and height, for use in QGIS layo...
Definition: qgslayoutsize.h:40
void setUnits(const Qgis::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:68
double height() const
Returns the height of the size.
Definition: qgslayoutsize.h:89
void setWidth(const double width)
Sets the width for the size.
Definition: qgslayoutsize.h:82
Qgis::LayoutUnit units() const
Returns the units for the size.
double width() const
Returns the width of the size.
Definition: qgslayoutsize.h:75
void setHeight(const double height)
Sets the height for the size.
Definition: qgslayoutsize.h:96
static Q_INVOKABLE QString toAbbreviatedString(Qgis::DistanceUnit unit)
Returns a translated abbreviation representing a distance unit.
#define str(x)
Definition: qgis.cpp:38
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:241
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:261