Qt
Internal/Contributor docs for the Qt SDK. Note: These are NOT official API docs; those are found at https://doc.qt.io/
Loading...
Searching...
No Matches
qpagedpaintdevice.cpp
Go to the documentation of this file.
1
// Copyright (C) 2020 The Qt Company Ltd.
2
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
3
4
#
include
"qpagedpaintdevice_p.h"
5
#
include
<
qpagedpaintdevice
.
h
>
6
7
QT_BEGIN_NAMESPACE
8
9
10
QPagedPaintDevicePrivate::~QPagedPaintDevicePrivate() =
default
;
11
12
/*!
13
\class QPagedPaintDevice
14
\inmodule QtGui
15
16
\brief The QPagedPaintDevice class represents a paint device that supports
17
multiple pages.
18
19
\ingroup painting
20
21
Paged paint devices are used to generate output for printing or for formats like PDF.
22
QPdfWriter and QPrinter inherit from it.
23
*/
24
25
26
/*!
27
\internal
28
Constructs a new paged paint device with the derived private class.
29
*/
30
QPagedPaintDevice::QPagedPaintDevice(QPagedPaintDevicePrivate *dd)
31
: d(dd)
32
{
33
}
34
35
/*!
36
Destroys the object.
37
*/
38
QPagedPaintDevice::~QPagedPaintDevice()
39
{
40
delete
d;
41
}
42
43
/*!
44
\internal
45
Returns the QPagedPaintDevicePrivate.
46
*/
47
QPagedPaintDevicePrivate *QPagedPaintDevice::dd()
48
{
49
return
d;
50
}
51
52
/*!
53
\fn bool QPagedPaintDevice::newPage()
54
55
Starts a new page. Returns \c true on success.
56
*/
57
58
/*!
59
\enum QPagedPaintDevice::PdfVersion
60
61
The PdfVersion enum describes the version of the PDF file that
62
is produced by QPrinter or QPdfWriter.
63
64
\value PdfVersion_1_4 A PDF 1.4 compatible document is produced.
65
66
\value PdfVersion_A1b A PDF/A-1b compatible document is produced.
67
68
\value PdfVersion_1_6 A PDF 1.6 compatible document is produced.
69
This value was added in Qt 5.12.
70
71
\value [since 6.8] PdfVersion_X4 A PDF/X-4 compatible document is
72
produced.
73
*/
74
75
/*!
76
\since 5.3
77
78
Sets the page layout to \a newPageLayout.
79
80
You should call this before calling QPainter::begin(), or immediately
81
before calling newPage() to apply the new page layout to a new page.
82
You should not call any painting methods between a call to setPageLayout()
83
and newPage() as the wrong paint metrics may be used.
84
85
Returns true if the page layout was successfully set to \a newPageLayout.
86
87
\sa pageLayout()
88
*/
89
90
bool
QPagedPaintDevice::setPageLayout(
const
QPageLayout &newPageLayout)
91
{
92
return
d->setPageLayout(newPageLayout);
93
}
94
95
/*!
96
\since 5.3
97
98
Sets the page size to \a pageSize.
99
100
To get the current QPageSize use pageLayout().pageSize().
101
102
You should call this before calling QPainter::begin(), or immediately
103
before calling newPage() to apply the new page size to a new page.
104
You should not call any painting methods between a call to setPageSize()
105
and newPage() as the wrong paint metrics may be used.
106
107
Returns true if the page size was successfully set to \a pageSize.
108
109
\sa pageLayout()
110
*/
111
112
bool
QPagedPaintDevice::setPageSize(
const
QPageSize &pageSize)
113
{
114
return
d->setPageSize(pageSize);
115
}
116
117
/*!
118
\since 5.3
119
120
Sets the page \a orientation.
121
122
The page orientation is used to define the orientation of the
123
page size when obtaining the page rect.
124
125
You should call this before calling QPainter::begin(), or immediately
126
before calling newPage() to apply the new orientation to a new page.
127
You should not call any painting methods between a call to setPageOrientation()
128
and newPage() as the wrong paint metrics may be used.
129
130
To get the current QPageLayout::Orientation use pageLayout().orientation().
131
132
Returns true if the page orientation was successfully set to \a orientation.
133
134
\sa pageLayout()
135
*/
136
137
bool
QPagedPaintDevice::setPageOrientation(QPageLayout::Orientation orientation)
138
{
139
return
d->setPageOrientation(orientation);
140
}
141
142
/*!
143
\since 5.3
144
145
Set the page \a margins defined in the given \a units.
146
147
You should call this before calling QPainter::begin(), or immediately
148
before calling newPage() to apply the new margins to a new page.
149
You should not call any painting methods between a call to setPageMargins()
150
and newPage() as the wrong paint metrics may be used.
151
152
To get the current page margins use pageLayout().margins().
153
154
Returns true if the page margins were successfully set to \a margins.
155
156
\sa pageLayout()
157
*/
158
159
bool
QPagedPaintDevice::setPageMargins(
const
QMarginsF &margins, QPageLayout::Unit units)
160
{
161
return
d->setPageMargins(margins, units);
162
}
163
164
/*!
165
\since 5.3
166
167
Returns the current page layout. Use this method to access the current
168
QPageSize, QPageLayout::Orientation, QMarginsF, fullRect() and paintRect().
169
170
Note that you cannot use the setters on the returned object, you must either
171
call the individual QPagedPaintDevice setters or use setPageLayout().
172
173
\sa setPageLayout(), setPageSize(), setPageOrientation(), setPageMargins()
174
*/
175
176
QPageLayout QPagedPaintDevice::pageLayout()
const
177
{
178
return
d->pageLayout();
179
}
180
181
/*!
182
\since 6.0
183
184
Returns the page ranges associated with this device.
185
186
\sa QPageRanges, QPrinter::fromPage(), QPrinter::toPage()
187
*/
188
QPageRanges QPagedPaintDevice::pageRanges()
const
189
{
190
return
d->pageRanges;
191
}
192
193
/*!
194
\since 6.0
195
196
Sets the page ranges for this device to \a ranges.
197
*/
198
void
QPagedPaintDevice::setPageRanges(
const
QPageRanges &ranges)
199
{
200
d->pageRanges = ranges;
201
}
202
203
QT_END_NAMESPACE
QPlatformGraphicsBufferHelper
\inmodule QtGui
qtbase
src
gui
painting
qpagedpaintdevice.cpp
Generated on
for Qt by
1.14.0