X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/655719367ac5e131d9642e5783f3ecf64d1a3385..2fd716136a961ab6038996343e42257c2d81aac2:/include/wx/msw/printwin.h diff --git a/include/wx/msw/printwin.h b/include/wx/msw/printwin.h index f14cb044a4..3bcd415ade 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) @@ -32,14 +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) + wxDECLARE_NO_COPY_CLASS(wxWindowsPrinter); }; // --------------------------------------------------------------------------- @@ -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) };