X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/078cf5cb756c4f4113d7acf04ebd6a2535ef75b3..2fd4a52415273bce03708dcdd7af4a4e2523f540:/include/wx/msw/printwin.h?ds=sidebyside diff --git a/include/wx/msw/printwin.h b/include/wx/msw/printwin.h index 6aef6a4d29..7d7e466ed9 100644 --- a/include/wx/msw/printwin.h +++ b/include/wx/msw/printwin.h @@ -12,17 +12,13 @@ #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) @@ -33,7 +29,8 @@ 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: @@ -47,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, @@ -61,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) };