1/////////////////////////////////////////////////////////////////////////////
2// Name:        printps.h
3// Purpose:     wxPostScriptPrinter, wxPostScriptPrintPreview
4//              wxGenericPageSetupDialog
5// Author:      Julian Smart
6// Modified by:
7// Created:     01/02/97
8// RCS-ID:      $Id: printps.h 35650 2005-09-23 12:56:45Z MR $
9// Copyright:   (c) Julian Smart
10// Licence:     wxWindows licence
11/////////////////////////////////////////////////////////////////////////////
12
13#ifndef __PRINTPSH__
14#define __PRINTPSH__
15
16#include "wx/prntbase.h"
17
18#if wxUSE_PRINTING_ARCHITECTURE && wxUSE_POSTSCRIPT
19
20// ----------------------------------------------------------------------------
21// Represents the printer: manages printing a wxPrintout object
22// ----------------------------------------------------------------------------
23
24class WXDLLEXPORT wxPostScriptPrinter : public wxPrinterBase
25{
26public:
27    wxPostScriptPrinter(wxPrintDialogData *data = (wxPrintDialogData *) NULL);
28    virtual ~wxPostScriptPrinter();
29
30    virtual bool Print(wxWindow *parent, wxPrintout *printout, bool prompt = true);
31    virtual wxDC* PrintDialog(wxWindow *parent);
32    virtual bool Setup(wxWindow *parent);
33
34private:
35    DECLARE_DYNAMIC_CLASS(wxPostScriptPrinter)
36};
37
38// ----------------------------------------------------------------------------
39// wxPrintPreview: programmer creates an object of this class to preview a
40// wxPrintout.
41// ----------------------------------------------------------------------------
42
43class WXDLLEXPORT wxPostScriptPrintPreview : public wxPrintPreviewBase
44{
45public:
46    wxPostScriptPrintPreview(wxPrintout *printout,
47                             wxPrintout *printoutForPrinting = (wxPrintout *) NULL,
48                             wxPrintDialogData *data = (wxPrintDialogData *) NULL);
49    wxPostScriptPrintPreview(wxPrintout *printout,
50                             wxPrintout *printoutForPrinting,
51                             wxPrintData *data);
52
53    virtual ~wxPostScriptPrintPreview();
54
55    virtual bool Print(bool interactive);
56    virtual void DetermineScaling();
57
58private:
59    void Init(wxPrintout *printout, wxPrintout *printoutForPrinting);
60
61private:
62    DECLARE_CLASS(wxPostScriptPrintPreview)
63};
64
65#endif
66
67#endif
68// __PRINTPSH__
69