// Represents the printer: manages printing a wxPrintout object
// ---------------------------------------------------------------------------
-class WXDLLEXPORT wxWindowsPrinter : public wxPrinterBase
+class WXDLLIMPEXP_CORE wxWindowsPrinter : public wxPrinterBase
{
DECLARE_DYNAMIC_CLASS(wxWindowsPrinter)
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)
};