1 /////////////////////////////////////////////////////////////////////////////
2 // Name: wx/msw/dcprint.h
3 // Purpose: wxPrinterDC class
4 // Author: Julian Smart
8 // Copyright: (c) Julian Smart
9 // Licence: wxWindows licence
10 /////////////////////////////////////////////////////////////////////////////
12 #ifndef _WX_MSW_DCPRINT_H_
13 #define _WX_MSW_DCPRINT_H_
15 #if wxUSE_PRINTING_ARCHITECTURE
17 #include "wx/dcprint.h"
18 #include "wx/cmndata.h"
19 #include "wx/msw/dc.h"
21 // ------------------------------------------------------------------------
25 class WXDLLIMPEXP_CORE wxPrinterDCImpl
: public wxMSWDCImpl
28 // Create from print data
29 wxPrinterDCImpl( wxPrinterDC
*owner
, const wxPrintData
& data
);
30 wxPrinterDCImpl( wxPrinterDC
*owner
, WXHDC theDC
);
32 // override some base class virtuals
33 virtual bool StartDoc(const wxString
& message
);
34 virtual void EndDoc();
35 virtual void StartPage();
36 virtual void EndPage();
38 virtual wxRect
GetPaperRect() const;
41 virtual void DoDrawBitmap(const wxBitmap
&bmp
, wxCoord x
, wxCoord y
,
42 bool useMask
= false);
43 virtual bool DoBlit(wxCoord xdest
, wxCoord ydest
,
44 wxCoord width
, wxCoord height
,
45 wxDC
*source
, wxCoord xsrc
, wxCoord ysrc
,
46 wxRasterOperationMode rop
= wxCOPY
, bool useMask
= false,
47 wxCoord xsrcMask
= wxDefaultCoord
, wxCoord ysrcMask
= wxDefaultCoord
);
48 virtual void DoGetSize(int *w
, int *h
) const
57 wxPrintData m_printData
;
60 DECLARE_CLASS(wxPrinterDCImpl
)
61 wxDECLARE_NO_COPY_CLASS(wxPrinterDCImpl
);
64 // Gets an HDC for the specified printer configuration
65 WXHDC WXDLLIMPEXP_CORE
wxGetPrinterDC(const wxPrintData
& data
);
67 // ------------------------------------------------------------------------
71 class WXDLLIMPEXP_CORE wxPrinterDCFromHDC
: public wxPrinterDC
74 wxPrinterDCFromHDC( WXHDC theDC
)
75 : wxPrinterDC(new wxPrinterDCImpl(this, theDC
))
80 #endif // wxUSE_PRINTING_ARCHITECTURE
82 #endif // _WX_MSW_DCPRINT_H_