X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/0cbff1201aa47e2b73ec90a97886f18e88270ea6..d9c4ffa89374b337ff6416ef5d9e742c026f11e2:/include/wx/msw/dcprint.h diff --git a/include/wx/msw/dcprint.h b/include/wx/msw/dcprint.h index 245a6a49be..9d98518299 100644 --- a/include/wx/msw/dcprint.h +++ b/include/wx/msw/dcprint.h @@ -9,28 +9,25 @@ // Licence: wxWindows licence ///////////////////////////////////////////////////////////////////////////// -#ifndef _WX_DCPRINT_H_ -#define _WX_DCPRINT_H_ - -#ifdef __GNUG__ - #pragma interface "dcprint.h" -#endif +#ifndef _WX_MSW_DCPRINT_H_ +#define _WX_MSW_DCPRINT_H_ #if wxUSE_PRINTING_ARCHITECTURE -#include "wx/dc.h" +#include "wx/dcprint.h" #include "wx/cmndata.h" +#include "wx/msw/dc.h" + +// ------------------------------------------------------------------------ +// wxPrinterDCImpl +// -class WXDLLEXPORT wxPrinterDC : public wxDC +class WXDLLIMPEXP_CORE wxPrinterDCImpl : public wxMSWDCImpl { 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 from print data - wxPrinterDC(const wxPrintData& data); - - wxPrinterDC(WXHDC theDC); + wxPrinterDCImpl( wxPrinterDC *owner, const wxPrintData& data ); + wxPrinterDCImpl( wxPrinterDC *owner, WXHDC theDC ); // override some base class virtuals virtual bool StartDoc(const wxString& message); @@ -38,13 +35,21 @@ public: virtual void StartPage(); virtual void EndPage(); + virtual wxRect GetPaperRect() const; + protected: virtual void DoDrawBitmap(const wxBitmap &bmp, wxCoord x, wxCoord y, - bool useMask = FALSE); + 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 = -1, wxCoord ysrcMask = -1); + wxRasterOperationMode 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(); @@ -52,17 +57,27 @@ protected: wxPrintData m_printData; private: - DECLARE_CLASS(wxPrinterDC) + DECLARE_CLASS(wxPrinterDCImpl) + wxDECLARE_NO_COPY_CLASS(wxPrinterDCImpl); }; -// Gets an HDC for the default printer configuration -// WXHDC WXDLLEXPORT wxGetPrinterDC(int orientation); - // Gets an HDC for the specified printer configuration -WXHDC WXDLLEXPORT wxGetPrinterDC(const wxPrintData& data); +WXHDC WXDLLIMPEXP_CORE wxGetPrinterDC(const wxPrintData& data); + +// ------------------------------------------------------------------------ +// wxPrinterDCromHDC +// + +class WXDLLIMPEXP_CORE wxPrinterDCFromHDC: public wxPrinterDC +{ +public: + wxPrinterDCFromHDC( WXHDC theDC ) + : wxPrinterDC(new wxPrinterDCImpl(this, theDC)) + { + } +}; #endif // wxUSE_PRINTING_ARCHITECTURE -#endif - // _WX_DCPRINT_H_ +#endif // _WX_MSW_DCPRINT_H_