]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/msw/printwin.h
Rebake after last change.
[wxWidgets.git] / include / wx / msw / printwin.h
index 4f9d1b0fdb7d2bbb602b41b37a793e170907d0f9..3bcd415ade1c39ab8986352137e560947a089a24 100644 (file)
@@ -18,7 +18,7 @@
 // Represents the printer: manages printing a wxPrintout object
 // ---------------------------------------------------------------------------
 
-class WXDLLEXPORT wxWindowsPrinter : public wxPrinterBase
+class WXDLLIMPEXP_CORE wxWindowsPrinter : public wxPrinterBase
 {
     DECLARE_DYNAMIC_CLASS(wxWindowsPrinter)
 
@@ -29,13 +29,14 @@ public:
     virtual bool Print(wxWindow *parent,
                        wxPrintout *printout,
                        bool prompt = true);
-    virtual wxDC* PrintDialog(wxWindow *parent);
+
+    virtual wxDC *PrintDialog(wxWindow *parent);
     virtual bool Setup(wxWindow *parent);
 
 private:
     WXFARPROC     m_lpAbortProc;
 
-    DECLARE_NO_COPY_CLASS(wxWindowsPrinter)
+    wxDECLARE_NO_COPY_CLASS(wxWindowsPrinter);
 };
 
 // ---------------------------------------------------------------------------
@@ -43,7 +44,9 @@ private:
 // wxPrintout.
 // ---------------------------------------------------------------------------
 
-class WXDLLEXPORT wxWindowsPrintPreview : public wxPrintPreviewBase
+#define wxUSE_HIGH_QUALITY_PREVIEW (wxUSE_IMAGE && wxUSE_WXDIB)
+
+class WXDLLIMPEXP_CORE wxWindowsPrintPreview : public wxPrintPreviewBase
 {
 public:
     wxWindowsPrintPreview(wxPrintout *printout,
@@ -57,7 +60,22 @@ public:
     virtual bool Print(bool interactive);
     virtual void DetermineScaling();
 
+#if wxUSE_HIGH_QUALITY_PREVIEW
+protected:
+    bool RenderPageIntoBitmapHQ(wxBitmap& bmp, int pageNum);
+    virtual bool RenderPageIntoBitmap(wxBitmap& bmp, int pageNum);
+
 private:
+    bool RenderPageFragment(float scaleX, float scaleY,
+                            int *nextFinalLine,
+                            wxPrinterDC& printer,
+                            wxMemoryDC& finalDC,
+                            const wxRect& rect,
+                            int pageNum);
+
+    bool m_hqPreviewFailed;
+#endif // wxUSE_HIGH_QUALITY_PREVIEW
+
     DECLARE_DYNAMIC_CLASS_NO_COPY(wxWindowsPrintPreview)
 };