]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/msw/dcprint.h
native wxBitmapComboBox implementation for MSW (patch 1941399)
[wxWidgets.git] / include / wx / msw / dcprint.h
index 29a79daf186a43bb6f972f9293275c1ef5422a8e..2c7f7d42d56ac49b284cbf0ffc668f420a40eec8 100644 (file)
 
 #if wxUSE_PRINTING_ARCHITECTURE
 
 
 #if wxUSE_PRINTING_ARCHITECTURE
 
-#include "wx/dc.h"
+#include "wx/dcprint.h"
 #include "wx/cmndata.h"
 #include "wx/cmndata.h"
+#include "wx/msw/dc.h"
 
 
-class WXDLLEXPORT wxPrinterDC : public wxDC
+// ------------------------------------------------------------------------
+//    wxPrinterDCImpl
+//
+
+class WXDLLIMPEXP_CORE wxPrinterDCImpl : public wxMSWDCImpl
 {
 public:
 {
 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
     // 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);
 
     // override some base class virtuals
     virtual bool StartDoc(const wxString& message);
@@ -34,7 +35,7 @@ public:
     virtual void StartPage();
     virtual void EndPage();
 
     virtual void StartPage();
     virtual void EndPage();
 
-    wxRect GetPaperRect();
+    virtual wxRect GetPaperRect();
 
 protected:
     virtual void DoDrawBitmap(const wxBitmap &bmp, wxCoord x, wxCoord y,
 
 protected:
     virtual void DoDrawBitmap(const wxBitmap &bmp, wxCoord x, wxCoord y,
@@ -55,14 +56,25 @@ protected:
     wxPrintData m_printData;
 
 private:
     wxPrintData m_printData;
 
 private:
-    DECLARE_DYNAMIC_CLASS_NO_COPY(wxPrinterDC)
+    DECLARE_CLASS(wxPrinterDCImpl)
+    DECLARE_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
 // 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 // wxUSE_PRINTING_ARCHITECTURE