1 /////////////////////////////////////////////////////////////////////////////
3 // Purpose: wxWindowsPrinter, wxWindowsPrintPreview classes
4 // Author: Julian Smart
8 // Copyright: (c) Julian Smart
9 // Licence: wxWindows licence
10 /////////////////////////////////////////////////////////////////////////////
12 #ifndef _WX_PRINTWIN_H_
13 #define _WX_PRINTWIN_H_
15 #include "wx/prntbase.h"
17 // ---------------------------------------------------------------------------
18 // Represents the printer: manages printing a wxPrintout object
19 // ---------------------------------------------------------------------------
21 class WXDLLIMPEXP_CORE wxWindowsPrinter
: public wxPrinterBase
23 DECLARE_DYNAMIC_CLASS(wxWindowsPrinter
)
26 wxWindowsPrinter(wxPrintDialogData
*data
= NULL
);
27 virtual ~wxWindowsPrinter();
29 virtual bool Print(wxWindow
*parent
,
33 virtual wxDC
*PrintDialog(wxWindow
*parent
);
34 virtual bool Setup(wxWindow
*parent
);
37 WXFARPROC m_lpAbortProc
;
39 wxDECLARE_NO_COPY_CLASS(wxWindowsPrinter
);
42 // ---------------------------------------------------------------------------
43 // wxPrintPreview: programmer creates an object of this class to preview a
45 // ---------------------------------------------------------------------------
47 #define wxUSE_HIGH_QUALITY_PREVIEW (wxUSE_IMAGE && wxUSE_WXDIB)
49 class WXDLLIMPEXP_CORE wxWindowsPrintPreview
: public wxPrintPreviewBase
52 wxWindowsPrintPreview(wxPrintout
*printout
,
53 wxPrintout
*printoutForPrinting
= NULL
,
54 wxPrintDialogData
*data
= NULL
);
55 wxWindowsPrintPreview(wxPrintout
*printout
,
56 wxPrintout
*printoutForPrinting
,
58 virtual ~wxWindowsPrintPreview();
60 virtual bool Print(bool interactive
);
61 virtual void DetermineScaling();
63 #if wxUSE_HIGH_QUALITY_PREVIEW
65 bool RenderPageIntoBitmapHQ(wxBitmap
& bmp
, int pageNum
);
66 virtual bool RenderPageIntoBitmap(wxBitmap
& bmp
, int pageNum
);
69 bool RenderPageFragment(float scaleX
, float scaleY
,
76 bool m_hqPreviewFailed
;
77 #endif // wxUSE_HIGH_QUALITY_PREVIEW
79 DECLARE_DYNAMIC_CLASS_NO_COPY(wxWindowsPrintPreview
)