X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/7bcb11d30764df47144189e164f53d8171ed4a63..6d52ca536a0ecb6e69474d30461f6128497505a0:/include/wx/msw/printwin.h diff --git a/include/wx/msw/printwin.h b/include/wx/msw/printwin.h index 00abaf710d..7d7e466ed9 100644 --- a/include/wx/msw/printwin.h +++ b/include/wx/msw/printwin.h @@ -6,54 +6,78 @@ // Created: 01/02/97 // RCS-ID: $Id$ // Copyright: (c) Julian Smart -// Licence: wxWindows licence +// Licence: wxWindows licence ///////////////////////////////////////////////////////////////////////////// #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 +// --------------------------------------------------------------------------- +// Represents the printer: manages printing a wxPrintout object +// --------------------------------------------------------------------------- + +class WXDLLIMPEXP_CORE wxWindowsPrinter : public wxPrinterBase { - DECLARE_DYNAMIC_CLASS(wxWindowsPrinter) + DECLARE_DYNAMIC_CLASS(wxWindowsPrinter) + +public: + wxWindowsPrinter(wxPrintDialogData *data = NULL); + virtual ~wxWindowsPrinter(); + + virtual bool Print(wxWindow *parent, + wxPrintout *printout, + bool prompt = true); - public: - wxWindowsPrinter(wxPrintDialogData *data = NULL); - ~wxWindowsPrinter(void); + virtual wxDC *PrintDialog(wxWindow *parent); + virtual bool Setup(wxWindow *parent); - virtual bool Print(wxWindow *parent, wxPrintout *printout, bool prompt = TRUE); - virtual wxDC* PrintDialog(wxWindow *parent); - virtual bool Setup(wxWindow *parent); +private: + WXFARPROC m_lpAbortProc; - private: - WXFARPROC m_lpAbortProc; + DECLARE_NO_COPY_CLASS(wxWindowsPrinter) }; -/* - * wxPrintPreview - * Programmer creates an object of this class to preview a wxPrintout. - */ - -class WXDLLEXPORT wxWindowsPrintPreview: public wxPrintPreviewBase +// --------------------------------------------------------------------------- +// wxPrintPreview: programmer creates an object of this class to preview a +// wxPrintout. +// --------------------------------------------------------------------------- + +#define wxUSE_HIGH_QUALITY_PREVIEW (wxUSE_IMAGE && wxUSE_WXDIB) + +class WXDLLIMPEXP_CORE wxWindowsPrintPreview : public wxPrintPreviewBase { - DECLARE_CLASS(wxWindowsPrintPreview) +public: + wxWindowsPrintPreview(wxPrintout *printout, + wxPrintout *printoutForPrinting = NULL, + wxPrintDialogData *data = NULL); + wxWindowsPrintPreview(wxPrintout *printout, + wxPrintout *printoutForPrinting, + wxPrintData *data); + virtual ~wxWindowsPrintPreview(); + + 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); - public: - wxWindowsPrintPreview(wxPrintout *printout, wxPrintout *printoutForPrinting = NULL, wxPrintDialogData *data = NULL); - ~wxWindowsPrintPreview(void); + bool m_hqPreviewFailed; +#endif // wxUSE_HIGH_QUALITY_PREVIEW - virtual bool Print(bool interactive); - virtual void DetermineScaling(void); + DECLARE_DYNAMIC_CLASS_NO_COPY(wxWindowsPrintPreview) }; #endif - // _WX_PRINTWIN_H_ +// _WX_PRINTWIN_H_