X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/77ffb5937e89927b621128789401db8921fe580f..e143fb636d50d5802dcc8c7c2e9e8e2944afa467:/include/wx/msw/printwin.h diff --git a/include/wx/msw/printwin.h b/include/wx/msw/printwin.h index c62440f8a3..3bcd415ade 100644 --- a/include/wx/msw/printwin.h +++ b/include/wx/msw/printwin.h @@ -6,23 +6,19 @@ // Created: 01/02/97 // RCS-ID: $Id$ // Copyright: (c) Julian Smart -// Licence: wxWidgets licence +// Licence: wxWindows licence ///////////////////////////////////////////////////////////////////////////// #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) };