]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/msw/printwin.h
unhide the second wxTextAreaBase::HitTest() overload to suppress a warning about it
[wxWidgets.git] / include / wx / msw / printwin.h
index 6ba0aa6a72beff055e33469057a7b20333a92f24..7d7e466ed93a75bfb4f228f060a673f58b48a53e 100644 (file)
@@ -5,54 +5,79 @@
 // 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 __PRINTWINH__
-#define __PRINTWINH__
-
-#ifdef __GNUG__
-#pragma interface "printwin.h"
-#endif
+#ifndef _WX_PRINTWIN_H_
+#define _WX_PRINTWIN_H_
 
 #include "wx/prntbase.h"
 
-/*
- * Represents the printer: manages printing a wxPrintout object
- */
-class WXDLLEXPORT wxWindowsPrinter: public wxPrinterBase
+// ---------------------------------------------------------------------------
+// Represents the printer: manages printing a wxPrintout object
+// ---------------------------------------------------------------------------
+
+class WXDLLIMPEXP_CORE wxWindowsPrinter : public wxPrinterBase
 {
-  DECLARE_DYNAMIC_CLASS(wxWindowsPrinter)
+    DECLARE_DYNAMIC_CLASS(wxWindowsPrinter)
+
+public:
+    wxWindowsPrinter(wxPrintDialogData *data = NULL);
+    virtual ~wxWindowsPrinter();
+
+    virtual bool Print(wxWindow *parent,
+                       wxPrintout *printout,
+                       bool prompt = true);
+
+    virtual wxDC *PrintDialog(wxWindow *parent);
+    virtual bool Setup(wxWindow *parent);
 
- private:
-  WXFARPROC lpAbortProc;
- public:
-  wxWindowsPrinter(wxPrintData *data = NULL);
-  ~wxWindowsPrinter(void);
+private:
+    WXFARPROC     m_lpAbortProc;
 
-  virtual bool Print(wxWindow *parent, wxPrintout *printout, bool prompt = TRUE);
-  virtual bool PrintDialog(wxWindow *parent);
-  virtual bool Setup(wxWindow *parent);
+    DECLARE_NO_COPY_CLASS(wxWindowsPrinter)
 };
 
-/*
- * wxPrintPreview
- * Programmer creates an object of this class to preview a wxPrintout.
- */
-class WXDLLEXPORT wxWindowsPrintPreview: public wxPrintPreviewBase
+// ---------------------------------------------------------------------------
+// wxPrintPreview: programmer creates an object of this class to preview a
+// wxPrintout.
+// ---------------------------------------------------------------------------
+
+#define wxUSE_HIGH_QUALITY_PREVIEW (wxUSE_IMAGE && wxUSE_WXDIB)
+
+class WXDLLIMPEXP_CORE wxWindowsPrintPreview : public wxPrintPreviewBase
 {
-  DECLARE_CLASS(wxWindowsPrintPreview)
+public:
+    wxWindowsPrintPreview(wxPrintout *printout,
+                          wxPrintout *printoutForPrinting = NULL,
+                          wxPrintDialogData *data = NULL);
+    wxWindowsPrintPreview(wxPrintout *printout,
+                          wxPrintout *printoutForPrinting,
+                          wxPrintData *data);
+    virtual ~wxWindowsPrintPreview();
+
+    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);
 
- public:
-  wxWindowsPrintPreview(wxPrintout *printout, wxPrintout *printoutForPrinting = NULL, wxPrintData *data = NULL);
-  ~wxWindowsPrintPreview(void);
+    bool m_hqPreviewFailed;
+#endif // wxUSE_HIGH_QUALITY_PREVIEW
 
-  virtual bool Print(bool interactive);
-  virtual void DetermineScaling(void);
+    DECLARE_DYNAMIC_CLASS_NO_COPY(wxWindowsPrintPreview)
 };
 
 #endif
-    // __PRINTWINH__
+// _WX_PRINTWIN_H_