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
qprinter_p.h
Go to the documentation of this file.
1// Copyright (C) 2016 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// Qt-Security score:significant reason:default
4
5#ifndef QPRINTER_P_H
6#define QPRINTER_P_H
7
8//
9// W A R N I N G
10// -------------
11//
12// This file is not part of the Qt API. It exists purely as an
13// implementation detail. This header file may change from version to
14// version without notice, or even be removed.
15//
16// We mean it.
17//
18
19
20#include <QtPrintSupport/private/qtprintsupportglobal_p.h>
21
22#ifndef QT_NO_PRINTER
23
24#include "QtPrintSupport/qprinter.h"
25#include "QtPrintSupport/qprinterinfo.h"
26#include "QtPrintSupport/qprintengine.h"
27#include "QtCore/qpointer.h"
28#include "QtCore/qset.h"
29
30#include <limits.h>
31
32QT_BEGIN_NAMESPACE
33
34class QPrintEngine;
36class QPicture;
37
38class Q_PRINTSUPPORT_EXPORT QPrinterPrivate
39{
40 Q_DECLARE_PUBLIC(QPrinter)
41public:
42 QPrinterPrivate(QPrinter *printer)
43 : pdfVersion(QPrinter::PdfVersion_1_4),
44 printEngine(nullptr),
45 paintEngine(nullptr),
46 realPrintEngine(nullptr),
47 realPaintEngine(nullptr),
48#if QT_CONFIG(printpreviewwidget)
49 previewEngine(nullptr),
50#endif
51 q_ptr(printer),
52 printRange(QPrinter::AllPages),
53 use_default_engine(true),
54 validPrinter(false)
55 {
56 }
57
58 ~QPrinterPrivate();
59
60 static QPrinterPrivate *get(QPrinter *printer) {
61 return printer->d_ptr.get();
62 }
63
64 void init(const QPrinterInfo &printer, QPrinter::PrinterMode mode);
65
66 QPrinterInfo findValidPrinter(const QPrinterInfo &printer = QPrinterInfo());
67 void initEngines(QPrinter::OutputFormat format, const QPrinterInfo &printer);
68 void changeEngines(QPrinter::OutputFormat format, const QPrinterInfo &printer);
69#if QT_CONFIG(printpreviewwidget)
70 QList<const QPicture *> previewPages() const;
71 void setPreviewMode(bool);
72 bool previewMode() const;
73#endif
74
75 void setProperty(QPrintEngine::PrintEnginePropertyKey key, const QVariant &value);
76
80 QPrintEngine *printEngine;
82
83 QPrintEngine *realPrintEngine;
85#if QT_CONFIG(printpreviewwidget)
86 QPreviewPaintEngine *previewEngine;
87#endif
88
89 QPrinter *q_ptr;
90
92
95
98
99 // Used to remember which properties have been manually set by the user.
101};
102
103QT_END_NAMESPACE
104
105#endif // QT_NO_PRINTER
106
107#endif // QPRINTER_P_H
QObject * q_ptr
Definition qobject.h:73
QWin32PrintEngine * engine
QWin32PrintEnginePrivate * ep
uint use_default_engine
Definition qprinter_p.h:93
QPrinterInfo findValidPrinter(const QPrinterInfo &printer=QPrinterInfo())
Definition qprinter.cpp:40
QPrinter::PdfVersion pdfVersion
Definition qprinter_p.h:79
void initEngines(QPrinter::OutputFormat format, const QPrinterInfo &printer)
Definition qprinter.cpp:55
QPrinter::OutputFormat outputFormat
Definition qprinter_p.h:78
uint had_default_engines
Definition qprinter_p.h:94
QPrinter::PrinterMode printerMode
Definition qprinter_p.h:77
QSet< QPrintEngine::PrintEnginePropertyKey > m_properties
Definition qprinter_p.h:100
QPrintEngine * printEngine
Definition qprinter_p.h:80
void init(const QPrinterInfo &printer, QPrinter::PrinterMode mode)
Definition qprinter.cpp:464
QPaintEngine * realPaintEngine
Definition qprinter_p.h:84
void changeEngines(QPrinter::OutputFormat format, const QPrinterInfo &printer)
Definition qprinter.cpp:93
QPrintEngine * realPrintEngine
Definition qprinter_p.h:83
void setProperty(QPrintEngine::PrintEnginePropertyKey key, const QVariant &value)
Definition qprinter.cpp:152
static QPrinterPrivate * get(QPrinter *printer)
Definition qprinter_p.h:60
uint hasCustomPageMargins
Definition qprinter_p.h:97
QPrinter::PrintRange printRange
Definition qprinter_p.h:91
Combined button and popup list for selecting options.
static bool warnIfNotNative(QPrinter *printer)
#define START_PAGE_GENERAL
static void qt_win_setup_PRINTDLGEX(PRINTDLGEX *pd, QWindow *parentWindow, QPrintDialog *pdlg, QPrintDialogPrivate *d, HGLOBAL *tempDevNames)
#define PD_RESULT_PRINT
#define PD_NOCURRENTPAGE
static void qt_win_read_back_PRINTDLGEX(PRINTDLGEX *pd, QPrintDialog *pdlg, QPrintDialogPrivate *d)
#define PD_RESULT_APPLY
QPaintEngine * paintEngine
Definition qimage_p.h:80