File indexing completed on 2025-09-17 09:11:27
0001
0002
0003
0004 #ifndef QPRINTENGINE_H
0005 #define QPRINTENGINE_H
0006
0007 #include <QtPrintSupport/qtprintsupportglobal.h>
0008 #include <QtCore/qvariant.h>
0009 #include <QtPrintSupport/qprinter.h>
0010
0011
0012 Q_DECLARE_METATYPE(QMarginsF)
0013
0014 QT_BEGIN_NAMESPACE
0015
0016
0017 #ifndef QT_NO_PRINTER
0018
0019 class Q_PRINTSUPPORT_EXPORT QPrintEngine
0020 {
0021 public:
0022 virtual ~QPrintEngine();
0023
0024 enum PrintEnginePropertyKey {
0025 PPK_CollateCopies,
0026 PPK_ColorMode,
0027 PPK_Creator,
0028 PPK_DocumentName,
0029 PPK_FullPage,
0030 PPK_NumberOfCopies,
0031 PPK_Orientation,
0032 PPK_OutputFileName,
0033 PPK_PageOrder,
0034 PPK_PageRect,
0035 PPK_PageSize,
0036 PPK_PaperRect,
0037 PPK_PaperSource,
0038 PPK_PrinterName,
0039 PPK_PrinterProgram,
0040 PPK_Resolution,
0041 PPK_SelectionOption,
0042 PPK_SupportedResolutions,
0043
0044 PPK_WindowsPageSize,
0045 PPK_FontEmbedding,
0046
0047 PPK_Duplex,
0048
0049 PPK_PaperSources,
0050 PPK_CustomPaperSize,
0051 PPK_PageMargins,
0052 PPK_CopyCount,
0053 PPK_SupportsMultipleCopies,
0054 PPK_PaperName,
0055 PPK_QPageSize,
0056 PPK_QPageMargins,
0057 PPK_QPageLayout,
0058 PPK_PaperSize = PPK_PageSize,
0059
0060 PPK_CustomBase = 0xff00
0061 };
0062
0063 virtual void setProperty(PrintEnginePropertyKey key, const QVariant &value) = 0;
0064 virtual QVariant property(PrintEnginePropertyKey key) const = 0;
0065
0066 virtual bool newPage() = 0;
0067 virtual bool abort() = 0;
0068
0069 virtual int metric(QPaintDevice::PaintDeviceMetric) const = 0;
0070
0071 virtual QPrinter::PrinterState printerState() const = 0;
0072 };
0073
0074 #endif
0075
0076 QT_END_NAMESPACE
0077
0078 #endif