/////////////////////////////////////////////////////////////////////////////
-// Name: dcprint.h
+// Name: wx/msw/dcprint.h
// Purpose: wxPrinterDC class
// Author: Julian Smart
// Modified by:
// Created: 01/02/97
// RCS-ID: $Id$
-// Copyright: (c) Julian Smart and Markus Holzem
-// Licence: wxWindows license
+// Copyright: (c) Julian Smart
+// Licence: wxWindows licence
/////////////////////////////////////////////////////////////////////////////
-#ifndef __DCPRINTH__
-#define __DCPRINTH__
+#ifndef _WX_MSW_DCPRINT_H_
+#define _WX_MSW_DCPRINT_H_
-#ifdef __GNUG__
-#pragma interface "dcprint.h"
-#endif
+#if wxUSE_PRINTING_ARCHITECTURE
#include "wx/dc.h"
+#include "wx/cmndata.h"
-class WXDLLEXPORT wxPrinterDC: public wxDC
+class WXDLLEXPORT wxPrinterDC : public wxDC
{
- public:
- DECLARE_CLASS(wxPrinterDC)
+public:
+ // Create a printer DC (obsolete function: use wxPrintData version now)
+ wxPrinterDC(const wxString& driver, const wxString& device, const wxString& output, bool interactive = true, int orientation = wxPORTRAIT);
- // Create a printer DC
- wxPrinterDC(const wxString& driver, const wxString& device, const wxString& output, const bool interactive = TRUE, const int orientation = wxPORTRAIT);
- wxPrinterDC(WXHDC theDC);
+ // Create from print data
+ wxPrinterDC(const wxPrintData& data);
- ~wxPrinterDC(void);
+ wxPrinterDC(WXHDC theDC);
+
+ // override some base class virtuals
+ virtual bool StartDoc(const wxString& message);
+ virtual void EndDoc();
+ virtual void StartPage();
+ virtual void EndPage();
+
+ wxRect GetPaperRect();
+
+protected:
+ virtual void DoDrawBitmap(const wxBitmap &bmp, wxCoord x, wxCoord y,
+ bool useMask = false);
+ virtual bool DoBlit(wxCoord xdest, wxCoord ydest,
+ wxCoord width, wxCoord height,
+ wxDC *source, wxCoord xsrc, wxCoord ysrc,
+ int rop = wxCOPY, bool useMask = false, wxCoord xsrcMask = wxDefaultCoord, wxCoord ysrcMask = wxDefaultCoord);
+ virtual void DoGetSize(int *w, int *h) const
+ {
+ GetDeviceSize(w, h);
+ }
+
+
+ // init the dc
+ void Init();
+
+ wxPrintData m_printData;
+
+private:
+ DECLARE_DYNAMIC_CLASS_NO_COPY(wxPrinterDC)
};
// Gets an HDC for the default printer configuration
-WXHDC WXDLLEXPORT wxGetPrinterDC(int orientation);
+// WXHDC WXDLLEXPORT wxGetPrinterDC(int orientation);
+
+// Gets an HDC for the specified printer configuration
+WXHDC WXDLLEXPORT wxGetPrinterDC(const wxPrintData& data);
+
+#endif // wxUSE_PRINTING_ARCHITECTURE
-#endif
- // __DCPRINTH__
+#endif // _WX_MSW_DCPRINT_H_