79 lines
1.8 KiB
C++
79 lines
1.8 KiB
C++
// Copyright (C) 2016 The Qt Company Ltd.
|
|
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
|
|
|
|
#ifndef QPRINTENGINE_H
|
|
#define QPRINTENGINE_H
|
|
|
|
#include <QtPrintSupport/qtprintsupportglobal.h>
|
|
#include <QtCore/qvariant.h>
|
|
#include <QtPrintSupport/qprinter.h>
|
|
|
|
// ### move to qmargins.h
|
|
Q_DECLARE_METATYPE(QMarginsF)
|
|
|
|
QT_BEGIN_NAMESPACE
|
|
|
|
|
|
#ifndef QT_NO_PRINTER
|
|
|
|
class Q_PRINTSUPPORT_EXPORT QPrintEngine
|
|
{
|
|
public:
|
|
virtual ~QPrintEngine();
|
|
|
|
enum PrintEnginePropertyKey {
|
|
PPK_CollateCopies,
|
|
PPK_ColorMode,
|
|
PPK_Creator,
|
|
PPK_DocumentName,
|
|
PPK_FullPage,
|
|
PPK_NumberOfCopies,
|
|
PPK_Orientation,
|
|
PPK_OutputFileName,
|
|
PPK_PageOrder,
|
|
PPK_PageRect,
|
|
PPK_PageSize,
|
|
PPK_PaperRect,
|
|
PPK_PaperSource,
|
|
PPK_PrinterName,
|
|
PPK_PrinterProgram,
|
|
PPK_Resolution,
|
|
PPK_SelectionOption,
|
|
PPK_SupportedResolutions,
|
|
|
|
PPK_WindowsPageSize,
|
|
PPK_FontEmbedding,
|
|
|
|
PPK_Duplex,
|
|
|
|
PPK_PaperSources,
|
|
PPK_CustomPaperSize,
|
|
PPK_PageMargins,
|
|
PPK_CopyCount,
|
|
PPK_SupportsMultipleCopies,
|
|
PPK_PaperName,
|
|
PPK_QPageSize,
|
|
PPK_QPageMargins,
|
|
PPK_QPageLayout,
|
|
PPK_PaperSize = PPK_PageSize,
|
|
|
|
PPK_CustomBase = 0xff00
|
|
};
|
|
|
|
virtual void setProperty(PrintEnginePropertyKey key, const QVariant &value) = 0;
|
|
virtual QVariant property(PrintEnginePropertyKey key) const = 0;
|
|
|
|
virtual bool newPage() = 0;
|
|
virtual bool abort() = 0;
|
|
|
|
virtual int metric(QPaintDevice::PaintDeviceMetric) const = 0;
|
|
|
|
virtual QPrinter::PrinterState printerState() const = 0;
|
|
};
|
|
|
|
#endif // QT_NO_PRINTER
|
|
|
|
QT_END_NAMESPACE
|
|
|
|
#endif // QPRINTENGINE_H
|