QGIS API Documentation 3.38.0-Grenoble (exported)
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
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:4509
@ 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: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