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