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
87 \brief The QPagedPaintDevice class is a represents a paintdevice that supports
92 Paged paint devices are used to generate output for printing or for formats like PDF.
93 QPdfWriter and QPrinter inherit from it.
97 Constructs a new paged paint device.
99 QPagedPaintDevice::QPagedPaintDevice()
100 : d(new QPagedPaintDevicePrivate)
107 QPagedPaintDevice::~QPagedPaintDevice()
113 \enum QPagedPaintDevice::PageSize
115 This enum type specifies the page size of the paint device.
117 \value A0 841 x 1189 mm
118 \value A1 594 x 841 mm
119 \value A2 420 x 594 mm
120 \value A3 297 x 420 mm
121 \value A4 210 x 297 mm, 8.26 x 11.69 inches
122 \value A5 148 x 210 mm
123 \value A6 105 x 148 mm
124 \value A7 74 x 105 mm
127 \value B0 1000 x 1414 mm
128 \value B1 707 x 1000 mm
129 \value B2 500 x 707 mm
130 \value B3 353 x 500 mm
131 \value B4 250 x 353 mm
132 \value B5 176 x 250 mm, 6.93 x 9.84 inches
133 \value B6 125 x 176 mm
134 \value B7 88 x 125 mm
137 \value B10 31 x 44 mm
138 \value C5E 163 x 229 mm
139 \value Comm10E 105 x 241 mm, U.S. Common 10 Envelope
140 \value DLE 110 x 220 mm
141 \value Executive 7.5 x 10 inches, 190.5 x 254 mm
142 \value Folio 210 x 330 mm
143 \value Ledger 431.8 x 279.4 mm
144 \value Legal 8.5 x 14 inches, 215.9 x 355.6 mm
145 \value Letter 8.5 x 11 inches, 215.9 x 279.4 mm
146 \value Tabloid 279.4 x 431.8 mm
147 \value Custom Unknown, or a user defined size.
151 The page size can also be specified in millimeters using setPageSizeMM(). In this case the
152 page size enum is set to Custom.
156 \fn bool QPagedPaintDevice::newPage()
163 Sets the size of the a page to \a size.
167 void QPagedPaintDevice::setPageSize(PageSize size)
172 d->pageSizeMM = QSizeF(pageSizes[A4].width, pageSizes[A4].height);
176 Returns the currently used page size.
178 QPagedPaintDevice::PageSize QPagedPaintDevice::pageSize() const
184 Sets the page size to \a size. \a size is specified in millimeters.
186 void QPagedPaintDevice::setPageSizeMM(const QSizeF &size)
188 d->pageSize = Custom;
189 d->pageSizeMM = size;
193 Returns the page size in millimeters.
195 QSizeF QPagedPaintDevice::pageSizeMM() const
197 return d->pageSizeMM;
201 Sets the margins to be used to \a margins.
203 Margins are specified in millimeters.
205 The margins are purely a hint to the drawing method. They don't affect the
206 coordinate system or clipping.
210 void QPagedPaintDevice::setMargins(const Margins &margins)
212 d->margins = margins;
216 returns the current margins of the paint device. The default is 0.
220 QPagedPaintDevice::Margins QPagedPaintDevice::margins() const