1/////////////////////////////////////////////////////////////////////////////
2// Name:        wx/os2/dcprint.h
3// Purpose:     wxPrinterDC class
4// Author:      David Webster
5// Modified by:
6// Created:     09/12/99
7// RCS-ID:      $Id: dcprint.h 42522 2006-10-27 13:07:40Z JS $
8// Copyright:   (c) David Webster
9// Licence:     wxWindows licence
10/////////////////////////////////////////////////////////////////////////////
11
12#ifndef _WX_DCPRINT_H_
13#define _WX_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{
22 public:
23    // Create a printer DC [obsolete]
24    wxPrinterDC( const wxString& rsDriver
25                ,const wxString& rsDevice
26                ,const wxString& rsOutput
27                ,bool            bInteractive = TRUE
28                ,int             nOrientation = wxPORTRAIT
29               );
30
31    // Create from print data
32    wxPrinterDC(const wxPrintData& rData);
33    wxPrinterDC(WXHDC hTheDC);
34
35    bool StartDoc(const wxString& rsMessage);
36    void EndDoc(void);
37    void StartPage(void);
38    void EndPage(void);
39
40    wxRect GetPaperRect();
41
42protected:
43    virtual void DoDrawBitmap( const wxBitmap& rBmp
44                              ,wxCoord         vX
45                              ,wxCoord         vY
46                              ,bool            bUseMask = FALSE
47                             );
48    virtual bool DoBlit( wxCoord vXdest
49                        ,wxCoord vYdest
50                        ,wxCoord vWidth
51                        ,wxCoord vHeight
52                        ,wxDC*   pSource
53                        ,wxCoord vXsrc
54                        ,wxCoord vYsrc
55                        ,int     nRop = wxCOPY
56                        ,bool    bUseMask = FALSE
57                        ,wxCoord vXsrcMask = -1
58                        ,wxCoord vYsrcMask = -1
59                       );
60
61    // init the dc
62    void Init(void);
63
64    wxPrintData                     m_printData;
65private:
66    DECLARE_CLASS(wxPrinterDC)
67}; // end of CLASS wxPrinterDC
68
69// Gets an HDC for the specified printer configuration
70WXHDC WXDLLEXPORT wxGetPrinterDC(const wxPrintData& rData);
71
72#endif // wxUSE_PRINTING_ARCHITECTURE
73
74#endif
75    // _WX_DCPRINT_H_
76
77