24using namespace Qt::StringLiterals;
74 double left()
const {
return mLeft; }
80 double top()
const {
return mTop; }
86 double right()
const {
return mRight; }
92 double bottom()
const {
return mBottom; }
133 inline QgsMargins &operator+=(
double addend );
139 inline QgsMargins &operator-=(
double subtrahend );
145 inline QgsMargins &operator*=(
double factor );
151 inline QgsMargins &operator/=(
double divisor );
157 QString toString()
const;
164 static QgsMargins fromString(
const QString &
string );
167 SIP_PYOBJECT __repr__();
169 const QString str = u
"<QgsMargins: %1 %2 %3 %4>"_s.arg( sipCpp->left() ).arg( sipCpp->top() ).arg( sipCpp->right() ).arg( sipCpp->bottom() );
170 sipRes = PyUnicode_FromString( str.toUtf8().constData() );
178 double mBottom = 0.0;
255 margins.
right() * factor, margins.
bottom() * factor );
265 margins.
right() * factor, margins.
bottom() * factor );
275 margins.
right() / divisor, margins.
bottom() / divisor );
280 return *
this = *
this + margins;
285 return *
this = *
this - margins;
301 mRight -= subtrahend;
302 mBottom -= subtrahend;
308 return *
this = *
this * factor;
313 return *
this = *
this / divisor;
Defines the four margins of a rectangle.
QgsMargins()=default
Constructs a margins object with all margins set to 0.
void setBottom(double bottom)
Sets the bottom margin to bottom.
QgsMargins & operator*=(double factor)
Multiplies each component of this object by factor and returns a reference to it.
double top() const
Returns the top margin.
void setLeft(double left)
Sets the left margin to left.
bool isNull() const
Returns true if all margins are is 0; otherwise returns false.
double right() const
Returns the right margin.
double bottom() const
Returns the bottom margin.
QgsMargins & operator/=(double divisor)
Multiplies each component of this object by factor and returns a reference to it.
QgsMargins(double left, double top, double right, double bottom)
Constructs margins with the given left, top, right, bottom.
void setRight(double right)
Sets the right margin to right.
void setTop(double top)
Sets the top margin to top.
QgsMargins & operator+=(const QgsMargins &margins)
Add each component of margins to the respective component of this object and returns a reference to i...
QgsMargins & operator-=(const QgsMargins &margins)
Subtract each component of margins from the respective component of this object and returns a referen...
double left() const
Returns the left margin.
bool qgsDoubleNear(double a, double b, double epsilon=4 *std::numeric_limits< double >::epsilon())
Compare two doubles (but allow some difference).
Q_DECLARE_TYPEINFO(QgsMargins, Q_MOVABLE_TYPE)
QgsMargins operator*(const QgsMargins &margins, double factor)
Returns a QgsMargins object that is formed by multiplying each component of the given margins by fact...
QgsMargins operator-(const QgsMargins &m1, const QgsMargins &m2)
Returns a QgsMargins object that is formed by subtracting m2 from m1; each component is subtracted se...
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...
QgsMargins operator+(const QgsMargins &m1, const QgsMargins &m2)
Returns a QgsMargins object that is the sum of the given margins, m1 and m2; each component is added ...
bool operator!=(const QgsMargins &lhs, const QgsMargins &rhs)
Returns true if lhs and rhs are different; otherwise returns false.
bool operator==(const QgsMargins &lhs, const QgsMargins &rhs)
Returns true if lhs and rhs are equal; otherwise returns false.