⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 qprinter.h

📁 qt-x11-opensource-src-4.1.4.tar.gz源码
💻 H
字号:
/******************************************************************************** Copyright (C) 1992-2006 Trolltech ASA. All rights reserved.**** This file is part of the QtGui module of the Qt Toolkit.**** This file may be used under the terms of the GNU General Public** License version 2.0 as published by the Free Software Foundation** and appearing in the file LICENSE.GPL included in the packaging of** this file.  Please review the following information to ensure GNU** General Public Licensing requirements will be met:** http://www.trolltech.com/products/qt/opensource.html**** If you are unsure which license is appropriate for your use, please** review the following information:** http://www.trolltech.com/products/qt/licensing.html or contact the** sales department at sales@trolltech.com.**** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.******************************************************************************/#ifndef QPRINTER_H#define QPRINTER_H#include <QtGui/qpaintdevice.h>#include <QtCore/qstring.h>QT_BEGIN_HEADERQT_MODULE(Gui)#ifndef QT_NO_PRINTER#if defined(B0)#undef B0 // Terminal hang-up.  We assume that you do not want that.#endifclass QPrinterPrivate;class QPaintEngine;class QPrintEngine;class Q_GUI_EXPORT QPrinter : public QPaintDevice{    Q_DECLARE_PRIVATE(QPrinter)public:    enum PrinterMode { ScreenResolution, PrinterResolution, HighResolution };    explicit QPrinter(PrinterMode mode = ScreenResolution);    ~QPrinter();    int devType() const;    enum Orientation { Portrait, Landscape };    enum PageSize    { A4, B5, Letter, Legal, Executive,		       A0, A1, A2, A3, A5, A6, A7, A8, A9, B0, B1,		       B10, B2, B3, B4, B6, B7, B8, B9, C5E, Comm10E,		       DLE, Folio, Ledger, Tabloid, Custom, NPageSize = Custom };    enum PageOrder   { FirstPageFirst,		       LastPageFirst };    enum ColorMode   { GrayScale,		       Color };    enum PaperSource { OnlyOne,		       Lower,		       Middle,		       Manual,		       Envelope,                       EnvelopeManual,		       Auto,		       Tractor,		       SmallFormat,                       LargeFormat,		       LargeCapacity,		       Cassette,		       FormSource };    enum PrinterState { Idle,                        Active,                        Aborted,                        Error };    enum OutputFormat { NativeFormat, PdfFormat };    // ### Qt 5: Merge with QAbstractPrintDialog::PrintRange    enum PrintRange { AllPages, Selection, PageRange };#ifdef QT3_SUPPORT    enum PrinterOption { PrintToFile, PrintSelection, PrintPageRange };#endif // QT3_SUPPORT    void setOutputFormat(OutputFormat format);    OutputFormat outputFormat() const;    void setPrinterName(const QString &);    QString printerName() const;    void setOutputFileName(const QString &);    QString outputFileName()const;    void setPrintProgram(const QString &);    QString printProgram() const;    void setDocName(const QString &);    QString docName() const;    void setCreator(const QString &);    QString creator() const;    void setOrientation(Orientation);    Orientation orientation() const;    void setPageSize(PageSize);    PageSize pageSize() const;    void setPageOrder(PageOrder);    PageOrder pageOrder() const;    void setResolution(int);    int resolution() const;    void setColorMode(ColorMode);    ColorMode colorMode() const;    void setCollateCopies(bool collate);    bool collateCopies() const;    void setFullPage(bool);    bool fullPage() const;    void setNumCopies(int);    int numCopies() const;    void setPaperSource(PaperSource);    PaperSource paperSource() const;    QList<int> supportedResolutions() const;    void setFontEmbeddingEnabled(bool enable);    bool fontEmbeddingEnabled() const;#ifdef Q_WS_WIN    void setWinPageSize(int winPageSize);    int winPageSize() const;#endif    QRect paperRect() const;    QRect pageRect() const;#if !defined(Q_WS_WIN) || defined(qdoc)    QString printerSelectionOption() const;    void setPrinterSelectionOption(const QString &);#endif    bool newPage();    bool abort();    PrinterState printerState() const;    QPaintEngine *paintEngine() const;    QPrintEngine *printEngine() const;#ifdef Q_WS_WIN    HDC getDC() const;    void releaseDC(HDC hdc) const;#endif    void setFromTo(int fromPage, int toPage);    int fromPage() const;    int toPage() const;    void setPrintRange(PrintRange range);    PrintRange printRange() const;#ifdef QT3_SUPPORT#ifdef Q_WS_MAC    QT3_SUPPORT bool pageSetup(QWidget *parent = 0);    QT3_SUPPORT bool printSetup(QWidget *parent = 0);#endif    QT3_SUPPORT bool setup(QWidget *parent = 0);    QT3_SUPPORT void setMinMax(int minPage, int maxPage);    QT3_SUPPORT int minPage() const;    QT3_SUPPORT int maxPage() const;    QT3_SUPPORT void setCollateCopiesEnabled(bool);    QT3_SUPPORT bool collateCopiesEnabled() const;    QT3_SUPPORT void setOptionEnabled(PrinterOption, bool enable);    QT3_SUPPORT bool isOptionEnabled(PrinterOption) const;    inline QT3_SUPPORT QSize margins() const;    inline QT3_SUPPORT void margins(uint *top, uint *left, uint *bottom, uint *right) const;    inline QT3_SUPPORT bool aborted() { return printerState() == Aborted; }    QT3_SUPPORT void setOutputToFile(bool);    inline QT3_SUPPORT bool outputToFile() const { return !outputFileName().isEmpty(); }#endifprotected:    int metric(PaintDeviceMetric) const;    void setEngines(QPrintEngine *printEngine, QPaintEngine *paintEngine);private:    Q_DISABLE_COPY(QPrinter)    QPrinterPrivate *d_ptr;    friend class QPrintDialogWin;    friend class QAbstractPrintDialog;};#ifdef QT3_SUPPORTinline QSize QPrinter::margins() const{    QRect page = pageRect();    QRect paper = paperRect();    return QSize(page.left() - paper.left(), page.top() - paper.top());}inline void QPrinter::margins(uint *top, uint *left, uint *bottom, uint *right) const{    QRect page = pageRect();    QRect paper = paperRect();    if (top)        *top = page.top() - paper.top();    if (left)        *left = page.left() - paper.left();    if (bottom)        *bottom = paper.bottom() - page.bottom();    if (right)        *right = paper.right() - page.right();}#endif#endif // QT_NO_PRINTERQT_END_HEADER#endif // QPRINTER_H

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -