#ifndef _WX_PRINTWIN_H_
#define _WX_PRINTWIN_H_
-#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA)
- #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)
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)
+ wxDECLARE_NO_COPY_CLASS(wxWindowsPrinter);
};
// ---------------------------------------------------------------------------
// 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,
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)
};