#ifndef QPRINTER_H
#define QPRINTER_H 
#include <QtGui/qpaintdevice.h>
#include <QtCore/qstring.h>
typedef enum QtValidLicenseForGuiModule QtGuiModule;
#ifndef QT_NO_PRINTER
struct QPrinterPrivate;
struct QPrintEngine;
class QPrinter: public QPaintDevice{
   private: inline struct QPrinterPrivate* d_func();
   private: inline struct QPrinterPrivate const * d_func() const
   public: enum PrinterMode{
      ScreenResolution = 0,
      PrinterResolution = 1,
      HighResolution = 2,
   };
   public: explicit QPrinter(enum QPrinter::PrinterMode mode = QPrinter::ScreenResolution);
   public: virtual ~QPrinter();
   public: virtual int devType() const
   public: enum Orientation{
      Portrait = 0,
      Landscape = 1,
   };
   public: enum PageSize{
      A4 = 0,
      B5 = 1,
      Letter = 2,
      Legal = 3,
      Executive = 4,
      A0 = 5,
      A1 = 6,
      A2 = 7,
      A3 = 8,
      A5 = 9,
      A6 = 10,
      A7 = 11,
      A8 = 12,
      A9 = 13,
      B0 = 14,
      B1 = 15,
      B10 = 16,
      B2 = 17,
      B3 = 18,
      B4 = 19,
      B6 = 20,
      B7 = 21,
      B8 = 22,
      B9 = 23,
      C5E = 24,
      Comm10E = 25,
      DLE = 26,
      Folio = 27,
      Ledger = 28,
      Tabloid = 29,
      Custom = 30,
      NPageSize = 30,
   };
   public: enum PageOrder{
      FirstPageFirst = 0,
      LastPageFirst = 1,
   };
   public: enum ColorMode{
      GrayScale = 0,
      Color = 1,
   };
   public: enum PaperSource{
      OnlyOne = 0,
      Lower = 1,
      Middle = 2,
      Manual = 3,
      Envelope = 4,
      EnvelopeManual = 5,
      Auto = 6,
      Tractor = 7,
      SmallFormat = 8,
      LargeFormat = 9,
      LargeCapacity = 10,
      Cassette = 11,
      FormSource = 12,
   };
   public: enum PrinterState{
      Idle = 0,
      Active = 1,
      Aborted = 2,
      Error = 3,
   };
   public: enum OutputFormat{
      NativeFormat = 0,
      PdfFormat = 1,
      PostScriptFormat = 2,
   };
   public: enum PrintRange{
      AllPages = 0,
      Selection = 1,
      PageRange = 2,
   };
   public: void setOutputFormat(enum QPrinter::OutputFormat format);
   public: enum QPrinter::OutputFormat outputFormat() const
   public: void setPrinterName(class QString const &);
   public: class QString printerName() const
   public: void setOutputFileName(class QString const &);
   public: class QString outputFileName() const
   public: void setPrintProgram(class QString const &);
   public: class QString printProgram() const
   public: void setDocName(class QString const &);
   public: class QString docName() const
   public: void setCreator(class QString const &);
   public: class QString creator() const
   public: void setOrientation(enum QPrinter::Orientation);
   public: enum QPrinter::Orientation orientation() const
   public: void setPageSize(enum QPrinter::PageSize);
   public: enum QPrinter::PageSize pageSize() const
   public: void setPageOrder(enum QPrinter::PageOrder);
   public: enum QPrinter::PageOrder pageOrder() const
   public: void setResolution(int);
   public: int resolution() const
   public: void setColorMode(enum QPrinter::ColorMode);
   public: enum QPrinter::ColorMode colorMode() const
   public: void setCollateCopies(bool collate);
   public: bool collateCopies() const
   public: void setFullPage(bool);
   public: bool fullPage() const
   public: void setNumCopies(int);
   public: int numCopies() const
   public: void setPaperSource(enum QPrinter::PaperSource);
   public: enum QPrinter::PaperSource paperSource() const
   public: class QList < int > supportedResolutions() const
   public: void setFontEmbeddingEnabled(bool enable);
   public: bool fontEmbeddingEnabled() const
   public: void setDoubleSidedPrinting(bool enable);
   public: bool doubleSidedPrinting() const
   public: class QRect paperRect() const
   public: class QRect pageRect() const
#if !defined(Q_WS_WIN) || defined(qdoc)
   public: class QString printerSelectionOption() const
   public: void setPrinterSelectionOption(class QString const &);
#endif
   public: bool newPage();
   public: bool abort();
   public: enum QPrinter::PrinterState printerState() const
   public: virtual struct QPaintEngine* paintEngine() const
   public: struct QPrintEngine* printEngine() const
   public: void setFromTo(int fromPage, int toPage);
   public: int fromPage() const
   public: int toPage() const
#ifndef QT_NO_PRINTDIALOG
   public: void setPrintRange(enum QPrinter::PrintRange range);
   public: enum QPrinter::PrintRange printRange() const
#endif
   protected: virtual int metric(enum QPaintDevice::PaintDeviceMetric) const
   protected: void setEngines(struct QPrintEngine* printEngine, struct QPaintEngine* paintEngine);
   private: QPrinter(class QPrinter const &);
   private: class QPrinter& operator =(class QPrinter const &);
   private: struct QPrinterPrivate* d_ptr;
   friend struct QPrinterPrivate;
   friend struct QPrintDialogWin;
   friend struct QAbstractPrintDialog;
};
struct QPrintDialogWin;
struct QAbstractPrintDialog;
#endif // QT_NO_PRINTER
#endif // QPRINTER_H