Qt 6.x
The Qt SDK
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
qpagelayout.h
Go to the documentation of this file.
1// Copyright (C) 2014 John Layt <jlayt@kde.org>
2// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
3
4#ifndef QPAGELAYOUT_H
5#define QPAGELAYOUT_H
6
7#include <QtGui/qtguiglobal.h>
8#include <QtCore/qshareddata.h>
9#include <QtCore/qstring.h>
10#include <QtCore/qmargins.h>
11
12#include <QtGui/qpagesize.h>
13
15
17class QMarginsF;
18
19class Q_GUI_EXPORT QPageLayout
20{
21public:
22
23 // NOTE: Must keep in sync with QPageSize::Unit and QPrinter::Unit
24 enum Unit {
30 Cicero
31 };
32
35 Landscape
36 };
37
38 enum Mode {
39 StandardMode, // Paint Rect includes margins
40 FullPageMode // Paint Rect excludes margins
41 };
42
44 QPageLayout(const QPageSize &pageSize, Orientation orientation,
45 const QMarginsF &margins, Unit units = Point,
46 const QMarginsF &minMargins = QMarginsF(0, 0, 0, 0));
48 QT_MOVE_ASSIGNMENT_OPERATOR_IMPL_VIA_PURE_SWAP(QPageLayout)
49 QPageLayout &operator=(const QPageLayout &other);
51
52 void swap(QPageLayout &other) noexcept { d.swap(other.d); }
53
54 bool isEquivalentTo(const QPageLayout &other) const;
55
56 bool isValid() const;
57
58 void setMode(Mode mode);
59 Mode mode() const;
60
61 void setPageSize(const QPageSize &pageSize,
62 const QMarginsF &minMargins = QMarginsF(0, 0, 0, 0));
63 QPageSize pageSize() const;
64
65 void setOrientation(Orientation orientation);
66 Orientation orientation() const;
67
68 void setUnits(Unit units);
69 Unit units() const;
70
71 bool setMargins(const QMarginsF &margins);
72 bool setLeftMargin(qreal leftMargin);
73 bool setRightMargin(qreal rightMargin);
74 bool setTopMargin(qreal topMargin);
75 bool setBottomMargin(qreal bottomMargin);
76
77 QMarginsF margins() const;
78 QMarginsF margins(Unit units) const;
79 QMargins marginsPoints() const;
80 QMargins marginsPixels(int resolution) const;
81
82 void setMinimumMargins(const QMarginsF &minMargins);
83 QMarginsF minimumMargins() const;
84 QMarginsF maximumMargins() const;
85
86 QRectF fullRect() const;
87 QRectF fullRect(Unit units) const;
88 QRect fullRectPoints() const;
89 QRect fullRectPixels(int resolution) const;
90
91 QRectF paintRect() const;
92 QRectF paintRect(Unit units) const;
93 QRect paintRectPoints() const;
94 QRect paintRectPixels(int resolution) const;
95
96private:
97 friend class QPageLayoutPrivate;
98 bool equals(const QPageLayout &other) const;
99
100 friend inline bool operator==(const QPageLayout &lhs, const QPageLayout &rhs)
101 { return lhs.equals(rhs); }
102 friend inline bool operator!=(const QPageLayout &lhs, const QPageLayout &rhs)
103 { return !lhs.equals(rhs); }
104
106};
107
108Q_DECLARE_SHARED(QPageLayout)
109
110#ifndef QT_NO_DEBUG_STREAM
111Q_GUI_EXPORT QDebug operator<<(QDebug dbg, const QPageLayout &pageLayout);
112#endif
113
115
117QT_DECL_METATYPE_EXTERN_TAGGED(QPageLayout::Unit, QPageLayout__Unit, Q_GUI_EXPORT)
118QT_DECL_METATYPE_EXTERN_TAGGED(QPageLayout::Orientation, QPageLayout__Orientation, Q_GUI_EXPORT)
119
120#endif // QPAGELAYOUT_H
\inmodule QtCore
\inmodule QtCore
Definition qmargins.h:274
\inmodule QtCore
Definition qmargins.h:23
\inmodule QtGui
Definition qpagelayout.h:20
friend bool operator==(const QPageLayout &lhs, const QPageLayout &rhs)
Returns true if page layout lhs is equal to page layout rhs, i.e.
Unit
This enum type is used to specify the measurement unit for page layout and margins.
Definition qpagelayout.h:24
friend bool operator!=(const QPageLayout &lhs, const QPageLayout &rhs)
Returns true if page layout lhs is not equal to page layout rhs, i.e.
void swap(QPageLayout &other) noexcept
Swaps this page layout with other.
Definition qpagelayout.h:52
Mode
Defines the page layout mode.
Definition qpagelayout.h:38
Orientation
This enum type defines the page orientation.
Definition qpagelayout.h:33
\inmodule QtGui
Definition qpagesize.h:22
\inmodule QtCore\reentrant
Definition qrect.h:483
\inmodule QtCore\reentrant
Definition qrect.h:30
Combined button and popup list for selecting options.
#define QT_DECL_METATYPE_EXTERN(TYPE, EXPORT)
Definition qmetatype.h:1367
#define QT_DECL_METATYPE_EXTERN_TAGGED(TYPE, TAG, EXPORT)
Definition qmetatype.h:1355
GLenum mode
GLfloat units
Q_GUI_EXPORT QDebug operator<<(QDebug dbg, const QPageLayout &pageLayout)
double qreal
Definition qtypes.h:92
QSharedPointer< T > other(t)
[5]
Definition parser.h:19