X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/22f3361e1cf25c52a2da8fdfc5cb081809e18fb9..f0fbbe236452ae27a7577deafbbc44ace2c209e7:/include/wx/msw/printwin.h diff --git a/include/wx/msw/printwin.h b/include/wx/msw/printwin.h index b5947de4fb..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_ -#ifdef __GNUG__ - #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,8 +28,9 @@ 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: @@ -47,10 +44,10 @@ private: // wxPrintout. // --------------------------------------------------------------------------- -class WXDLLEXPORT wxWindowsPrintPreview : public wxPrintPreviewBase -{ - DECLARE_CLASS(wxWindowsPrintPreview) +#define wxUSE_HIGH_QUALITY_PREVIEW (wxUSE_IMAGE && wxUSE_WXDIB) +class WXDLLIMPEXP_CORE wxWindowsPrintPreview : public wxPrintPreviewBase +{ public: wxWindowsPrintPreview(wxPrintout *printout, wxPrintout *printoutForPrinting = NULL, @@ -62,6 +59,24 @@ 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) }; #endif