1 /////////////////////////////////////////////////////////////////////////////
2 // Name: wx/msw/dcprint.h
3 // Purpose: wxPrinterDC class
4 // Author: Julian Smart
7 // Copyright: (c) Julian Smart
8 // Licence: wxWindows licence
9 /////////////////////////////////////////////////////////////////////////////
11 #ifndef _WX_MSW_DCPRINT_H_
12 #define _WX_MSW_DCPRINT_H_
14 #if wxUSE_PRINTING_ARCHITECTURE
16 #include "wx/dcprint.h"
17 #include "wx/cmndata.h"
18 #include "wx/msw/dc.h"
20 // ------------------------------------------------------------------------
24 class WXDLLIMPEXP_CORE wxPrinterDCImpl
: public wxMSWDCImpl
27 // Create from print data
28 wxPrinterDCImpl( wxPrinterDC
*owner
, const wxPrintData
& data
);
29 wxPrinterDCImpl( wxPrinterDC
*owner
, WXHDC theDC
);
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();
37 virtual wxRect
GetPaperRect() const;
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 wxRasterOperationMode rop
= wxCOPY
, bool useMask
= false,
46 wxCoord xsrcMask
= wxDefaultCoord
, wxCoord ysrcMask
= wxDefaultCoord
);
47 virtual void DoGetSize(int *w
, int *h
) const
56 wxPrintData m_printData
;
59 DECLARE_CLASS(wxPrinterDCImpl
)
60 wxDECLARE_NO_COPY_CLASS(wxPrinterDCImpl
);
63 // Gets an HDC for the specified printer configuration
64 WXHDC WXDLLIMPEXP_CORE
wxGetPrinterDC(const wxPrintData
& data
);
66 // ------------------------------------------------------------------------
70 class WXDLLIMPEXP_CORE wxPrinterDCFromHDC
: public wxPrinterDC
73 wxPrinterDCFromHDC( WXHDC theDC
)
74 : wxPrinterDC(new wxPrinterDCImpl(this, theDC
))
79 #endif // wxUSE_PRINTING_ARCHITECTURE
81 #endif // _WX_MSW_DCPRINT_H_