Added wxUSE_DC_CACHEING and associated code to wxMSW
[wxWidgets.git] / include / wx / msw / dcprint.h
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$
8 // Copyright: (c) Julian Smart
9 // Licence: wxWindows licence
10 /////////////////////////////////////////////////////////////////////////////
11
12 #ifndef _WX_DCPRINT_H_
13 #define _WX_DCPRINT_H_
14
15 #ifdef __GNUG__
16 #pragma interface "dcprint.h"
17 #endif
18
19 #if wxUSE_PRINTING_ARCHITECTURE
20
21 #include "wx/dc.h"
22 #include "wx/cmndata.h"
23
24 class WXDLLEXPORT wxPrinterDC : public wxDC
25 {
26 public:
27 // Create a printer DC (obsolete function: use wxPrintData version now)
28 wxPrinterDC(const wxString& driver, const wxString& device, const wxString& output, bool interactive = TRUE, int orientation = wxPORTRAIT);
29
30 // Create from print data
31 wxPrinterDC(const wxPrintData& data);
32
33 wxPrinterDC(WXHDC theDC);
34
35 // override some base class virtuals
36 virtual bool StartDoc(const wxString& message);
37 virtual void EndDoc();
38 virtual void StartPage();
39 virtual void EndPage();
40
41 protected:
42 virtual void DoDrawBitmap(const wxBitmap &bmp, wxCoord x, wxCoord y,
43 bool useMask = FALSE);
44 virtual bool DoBlit(wxCoord xdest, wxCoord ydest,
45 wxCoord width, wxCoord height,
46 wxDC *source, wxCoord xsrc, wxCoord ysrc,
47 int rop = wxCOPY, bool useMask = FALSE, wxCoord xsrcMask = -1, wxCoord ysrcMask = -1);
48
49 // init the dc
50 void Init();
51
52 wxPrintData m_printData;
53
54 private:
55 DECLARE_CLASS(wxPrinterDC)
56 };
57
58 // Gets an HDC for the default printer configuration
59 // WXHDC WXDLLEXPORT wxGetPrinterDC(int orientation);
60
61 // Gets an HDC for the specified printer configuration
62 WXHDC WXDLLEXPORT wxGetPrinterDC(const wxPrintData& data);
63
64 #endif // wxUSE_PRINTING_ARCHITECTURE
65
66 #endif
67 // _WX_DCPRINT_H_
68