107 lines
2 KiB
C++
107 lines
2 KiB
C++
// This file is part of Desktop App Toolkit,
|
|
// a set of libraries for developing nice desktop applications.
|
|
//
|
|
// For license and copyright information please follow this link:
|
|
// https://github.com/desktop-app/legal/blob/master/LEGAL
|
|
//
|
|
#pragma once
|
|
|
|
#include <QtCore/QRect>
|
|
|
|
namespace rect {
|
|
|
|
// Margins.
|
|
namespace m {
|
|
namespace sum {
|
|
|
|
/*
|
|
Horizontal.
|
|
rect::m::sum::h(mypadding);
|
|
*/
|
|
[[nodiscard]] inline int h(const QMargins &margins) {
|
|
return margins.left() + margins.right();
|
|
}
|
|
|
|
[[nodiscard]] inline float64 h(const QMarginsF &margins) {
|
|
return margins.left() + margins.right();
|
|
}
|
|
|
|
/*
|
|
Vertical.
|
|
rect::m::sum::v(mypadding);
|
|
*/
|
|
[[nodiscard]] inline int v(const QMargins &margins) {
|
|
return margins.top() + margins.bottom();
|
|
}
|
|
|
|
[[nodiscard]] inline float64 v(const QMarginsF &margins) {
|
|
return margins.top() + margins.bottom();
|
|
}
|
|
|
|
} // namespace sum
|
|
} // namespace m
|
|
|
|
/*
|
|
rect::right(mywidget);
|
|
*/
|
|
[[nodiscard]] inline int right(const QRect &r) {
|
|
return r.left() + r.width();
|
|
}
|
|
|
|
[[nodiscard]] inline float64 right(const QRectF &r) {
|
|
return r.left() + r.width();
|
|
}
|
|
|
|
[[nodiscard]] inline int right(not_null<QWidget*> w) {
|
|
return w->x() + w->width();
|
|
}
|
|
|
|
/*
|
|
rect::bottom(mywidget);
|
|
*/
|
|
[[nodiscard]] inline int bottom(const QRect &r) {
|
|
return r.top() + r.height();
|
|
}
|
|
|
|
[[nodiscard]] inline float64 bottom(const QRectF &r) {
|
|
return r.top() + r.height();
|
|
}
|
|
|
|
[[nodiscard]] inline int bottom(not_null<const QWidget*> w) {
|
|
return w->y() + w->height();
|
|
}
|
|
|
|
} // namespace rect
|
|
|
|
/*
|
|
Rect(mysize);
|
|
*/
|
|
[[nodiscard]] inline QRect Rect(const QSize &s) {
|
|
return QRect(QPoint(), s);
|
|
}
|
|
|
|
[[nodiscard]] inline QRectF Rect(const QSizeF &s) {
|
|
return QRectF(QPointF(), s);
|
|
}
|
|
|
|
/*
|
|
Size(myside);
|
|
*/
|
|
[[nodiscard]] inline QSize Size(int side) {
|
|
return QSize(side, side);
|
|
}
|
|
|
|
[[nodiscard]] inline QSizeF Size(float64 side) {
|
|
return QSizeF(side, side);
|
|
}
|
|
|
|
/*
|
|
Margins(myvalue);
|
|
*/
|
|
[[nodiscard]] inline QMargins Margins(int side) {
|
|
return QMargins{ side, side, side, side };
|
|
}
|
|
|
|
[[nodiscard]] inline QMarginsF Margins(float64 side) {
|
|
return QMarginsF{ side, side, side, side };
|
|
}
|