File indexing completed on 2025-01-18 10:09:18
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 enum PrintEnginePropertyKey {
0024 PPK_CollateCopies,
0025 PPK_ColorMode,
0026 PPK_Creator,
0027 PPK_DocumentName,
0028 PPK_FullPage,
0029 PPK_NumberOfCopies,
0030 PPK_Orientation,
0031 PPK_OutputFileName,
0032 PPK_PageOrder,
0033 PPK_PageRect,
0034 PPK_PageSize,
0035 PPK_PaperRect,
0036 PPK_PaperSource,
0037 PPK_PrinterName,
0038 PPK_PrinterProgram,
0039 PPK_Resolution,
0040 PPK_SelectionOption,
0041 PPK_SupportedResolutions,
0042
0043 PPK_WindowsPageSize,
0044 PPK_FontEmbedding,
0045
0046 PPK_Duplex,
0047
0048 PPK_PaperSources,
0049 PPK_CustomPaperSize,
0050 PPK_PageMargins,
0051 PPK_CopyCount,
0052 PPK_SupportsMultipleCopies,
0053 PPK_PaperName,
0054 PPK_QPageSize,
0055 PPK_QPageMargins,
0056 PPK_QPageLayout,
0057 PPK_PaperSize = PPK_PageSize,
0058
0059 PPK_CustomBase = 0xff00
0060 };
0061
0062 virtual void setProperty(PrintEnginePropertyKey key, const QVariant &value) = 0;
0063 virtual QVariant property(PrintEnginePropertyKey key) const = 0;
0064
0065 virtual bool newPage() = 0;
0066 virtual bool abort() = 0;
0067
0068 virtual int metric(QPaintDevice::PaintDeviceMetric) const = 0;
0069
0070 virtual QPrinter::PrinterState printerState() const = 0;
0071 };
0072
0073 #endif
0074
0075 QT_END_NAMESPACE
0076
0077 #endif