1/////////////////////////////////////////////////////////////////////////////
2// Name:        wx/msw/dcprint.h
3// Purpose:     wxPrinterDC class
4// Author:      Julian Smart
5// Modified by:
6// Created:     01/02/97
7// RCS-ID:      $Id: dcprint.h 42522 2006-10-27 13:07:40Z JS $
8// Copyright:   (c) Julian Smart
9// Licence:     wxWindows licence
10/////////////////////////////////////////////////////////////////////////////
11
12#ifndef _WX_MSW_DCPRINT_H_
13#define _WX_MSW_DCPRINT_H_
14
15#if wxUSE_PRINTING_ARCHITECTURE
16
17#include "wx/dc.h"
18#include "wx/cmndata.h"
19
20class WXDLLEXPORT wxPrinterDC : public wxDC
21{
22public:
23    // Create a printer DC (obsolete function: use wxPrintData version now)
24    wxPrinterDC(const wxString& driver, const wxString& device, const wxString& output, bool interactive = true, int orientation = wxPORTRAIT);
25
26    // Create from print data
27    wxPrinterDC(const wxPrintData& data);
28
29    wxPrinterDC(WXHDC theDC);
30
31    // override some base class virtuals
32    virtual bool StartDoc(const wxString& message);
33    virtual void EndDoc();
34    virtual void StartPage();
35    virtual void EndPage();
36
37    wxRect GetPaperRect();
38
39protected:
40    virtual void DoDrawBitmap(const wxBitmap &bmp, wxCoord x, wxCoord y,
41                              bool useMask = false);
42    virtual bool DoBlit(wxCoord xdest, wxCoord ydest,
43                        wxCoord width, wxCoord height,
44                        wxDC *source, wxCoord xsrc, wxCoord ysrc,
45                        int rop = wxCOPY, bool useMask = false, wxCoord xsrcMask = wxDefaultCoord, wxCoord ysrcMask = wxDefaultCoord);
46    virtual void DoGetSize(int *w, int *h) const
47    {
48        GetDeviceSize(w, h);
49    }
50
51
52    // init the dc
53    void Init();
54
55    wxPrintData m_printData;
56
57private:
58    DECLARE_DYNAMIC_CLASS_NO_COPY(wxPrinterDC)
59};
60
61// Gets an HDC for the default printer configuration
62// WXHDC WXDLLEXPORT wxGetPrinterDC(int orientation);
63
64// Gets an HDC for the specified printer configuration
65WXHDC WXDLLEXPORT wxGetPrinterDC(const wxPrintData& data);
66
67#endif // wxUSE_PRINTING_ARCHITECTURE
68
69#endif // _WX_MSW_DCPRINT_H_
70
71