QGIS API Documentation 3.34.0-Prizren (ffbdd678812)
Loading...
Searching...
No Matches
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
40class CORE_EXPORT QgsLayoutSize
41{
42 public:
43
50 QgsLayoutSize( double width, double height, Qgis::LayoutUnit units = Qgis::LayoutUnit::Millimeters );
51
55 explicit QgsLayoutSize( QSizeF size, Qgis::LayoutUnit units = Qgis::LayoutUnit::Millimeters );
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 Qgis::LayoutUnit units() const { return mUnits; }
104
110 void setUnits( const Qgis::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
LayoutUnit
Layout measurement units.
Definition qgis.h:3647
@ Millimeters
Millimeters.
This class provides a method of storing sizes, consisting of a width and height, for use in QGIS layo...
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.
double height() const
Returns the height of the size.
void setWidth(const double width)
Sets the width for the size.
Qgis::LayoutUnit units() const
Returns the units for the size.
double width() const
Returns the width of the size.
void setHeight(const double height)
Sets the height for the size.
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: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