1 /****************************************************************************
3 ** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies).
4 ** Contact: http://www.qt-project.org/
6 ** This file is part of the QtGui module of the Qt Toolkit.
8 ** $QT_BEGIN_LICENSE:LGPL$
9 ** GNU Lesser General Public License Usage
10 ** This file may be used under the terms of the GNU Lesser General Public
11 ** License version 2.1 as published by the Free Software Foundation and
12 ** appearing in the file LICENSE.LGPL included in the packaging of this
13 ** file. Please review the following information to ensure the GNU Lesser
14 ** General Public License version 2.1 requirements will be met:
15 ** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
17 ** In addition, as a special exception, Nokia gives you certain additional
18 ** rights. These rights are described in the Nokia Qt LGPL Exception
19 ** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
21 ** GNU General Public License Usage
22 ** Alternatively, this file may be used under the terms of the GNU General
23 ** Public License version 3.0 as published by the Free Software Foundation
24 ** and appearing in the file LICENSE.GPL included in the packaging of this
25 ** file. Please review the following information to ensure the GNU General
26 ** Public License version 3.0 requirements will be met:
27 ** http://www.gnu.org/copyleft/gpl.html.
30 ** Alternatively, this file may be used in accordance with the terms and
31 ** conditions contained in a signed written agreement between you and Nokia.
40 ****************************************************************************/
42 #include "qpagedpaintdevice_p.h"
43 #include <qpagedpaintdevice.h>
53 {215.9f, 279.4f}, // Letter
54 {215.9f, 355.6f}, // Legal
55 {190.5f, 254}, // Executive
76 {105, 241}, // US Common
79 {431.8f, 279.4f}, // Ledger
80 {279.4f, 431.8f} // Tabloid
84 \class QPagedPaintDevice
86 \brief The QPagedPaintDevice class is a represents a paintdevice that supports
91 Paged paint devices are used to generate output for printing or for formats like PDF.
92 QPdfWriter and QPrinter inherit from it.
96 Constructs a new paged paint device.
98 QPagedPaintDevice::QPagedPaintDevice()
99 : d(new QPagedPaintDevicePrivate)
106 QPagedPaintDevice::~QPagedPaintDevice()
112 \enum QPagedPaintDevice::PageSize
114 This enum type specifies the page size of the paint device.
116 \value A0 841 x 1189 mm
117 \value A1 594 x 841 mm
118 \value A2 420 x 594 mm
119 \value A3 297 x 420 mm
120 \value A4 210 x 297 mm, 8.26 x 11.69 inches
121 \value A5 148 x 210 mm
122 \value A6 105 x 148 mm
123 \value A7 74 x 105 mm
126 \value B0 1000 x 1414 mm
127 \value B1 707 x 1000 mm
128 \value B2 500 x 707 mm
129 \value B3 353 x 500 mm
130 \value B4 250 x 353 mm
131 \value B5 176 x 250 mm, 6.93 x 9.84 inches
132 \value B6 125 x 176 mm
133 \value B7 88 x 125 mm
136 \value B10 31 x 44 mm
137 \value C5E 163 x 229 mm
138 \value Comm10E 105 x 241 mm, U.S. Common 10 Envelope
139 \value DLE 110 x 220 mm
140 \value Executive 7.5 x 10 inches, 190.5 x 254 mm
141 \value Folio 210 x 330 mm
142 \value Ledger 431.8 x 279.4 mm
143 \value Legal 8.5 x 14 inches, 215.9 x 355.6 mm
144 \value Letter 8.5 x 11 inches, 215.9 x 279.4 mm
145 \value Tabloid 279.4 x 431.8 mm
146 \value Custom Unknown, or a user defined size.
150 The page size can also be specified in millimeters using setPageSizeMM(). In this case the
151 page size enum is set to Custom.
155 \fn bool QPagedPaintDevice::newPage()
162 Sets the size of the a page to \a size.
166 void QPagedPaintDevice::setPageSize(PageSize size)
171 d->pageSizeMM = QSizeF(pageSizes[A4].width, pageSizes[A4].height);
175 Returns the currently used page size.
177 QPagedPaintDevice::PageSize QPagedPaintDevice::pageSize() const
183 Sets the page size to \a size. \a size is specified in millimeters.
185 void QPagedPaintDevice::setPageSizeMM(const QSizeF &size)
187 d->pageSize = Custom;
188 d->pageSizeMM = size;
192 Returns the page size in millimeters.
194 QSizeF QPagedPaintDevice::pageSizeMM() const
196 return d->pageSizeMM;
200 Sets the margins to be used to \a margins.
202 Margins are specified in millimeters.
204 The margins are purely a hint to the drawing method. They don't affect the
205 coordinate system or clipping.
209 void QPagedPaintDevice::setMargins(const Margins &margins)
211 d->margins = margins;
215 returns the current margins of the paint device. The default is 0.
219 QPagedPaintDevice::Margins QPagedPaintDevice::margins() const