]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/msw/printwin.h
add wxSP_THIN_SASH for completeness (#9902)
[wxWidgets.git] / include / wx / msw / printwin.h
index 9f7d368f7aa5e46a00b85f87fdf87ecbd5a43d73..7d7e466ed93a75bfb4f228f060a673f58b48a53e 100644 (file)
 #ifndef _WX_PRINTWIN_H_
 #define _WX_PRINTWIN_H_
 
-#ifdef __GNUG__
-    #pragma interface "printwin.h"
-#endif
-
 #include "wx/prntbase.h"
 
 // ---------------------------------------------------------------------------
 // Represents the printer: manages printing a wxPrintout object
 // ---------------------------------------------------------------------------
 
-class WXDLLEXPORT wxWindowsPrinter : public wxPrinterBase
+class WXDLLIMPEXP_CORE wxWindowsPrinter : public wxPrinterBase
 {
     DECLARE_DYNAMIC_CLASS(wxWindowsPrinter)
 
@@ -32,12 +28,15 @@ public:
 
     virtual bool Print(wxWindow *parent,
                        wxPrintout *printout,
-                       bool prompt = TRUE);
-    virtual wxDC* PrintDialog(wxWindow *parent);
+                       bool prompt = true);
+
+    virtual wxDC *PrintDialog(wxWindow *parent);
     virtual bool Setup(wxWindow *parent);
 
 private:
     WXFARPROC     m_lpAbortProc;
+
+    DECLARE_NO_COPY_CLASS(wxWindowsPrinter)
 };
 
 // ---------------------------------------------------------------------------
@@ -45,10 +44,10 @@ private:
 // wxPrintout.
 // ---------------------------------------------------------------------------
 
-class WXDLLEXPORT wxWindowsPrintPreview : public wxPrintPreviewBase
-{
-    DECLARE_CLASS(wxWindowsPrintPreview)
+#define wxUSE_HIGH_QUALITY_PREVIEW (wxUSE_IMAGE && wxUSE_WXDIB)
 
+class WXDLLIMPEXP_CORE wxWindowsPrintPreview : public wxPrintPreviewBase
+{
 public:
     wxWindowsPrintPreview(wxPrintout *printout,
                           wxPrintout *printoutForPrinting = NULL,
@@ -60,6 +59,24 @@ 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)
 };
 
 #endif