1 \section{\class{wxPrintData
}}\label{wxprintdata
}
3 This class holds a variety of information related to printers and
4 printer device contexts. This class is used to create a wxPrinterDC
5 and a wxPostScriptDC. It is also used as a data member of wxPrintDialogData
6 and wxPageSetupDialogData, as part of the mechanism for transferring data
7 between the print dialogs and the application.
9 \wxheading{Derived from
}
11 \helpref{wxObject
}{wxobject
}
13 \wxheading{Include files
}
19 \helpref{Printing framework overview
}{printingoverview
},
20 \helpref{wxPrintDialog
}{wxprintdialog
},
21 \helpref{wxPageSetupDialog
}{wxpagesetupdialog
},
22 \helpref{wxPrintDialogData
}{wxprintdialogdata
},
23 \helpref{wxPageSetupDialogData
}{wxpagesetupdialogdata
},
24 \helpref{wxPrintDialog Overview
}{wxprintdialogoverview
},
25 \helpref{wxPrinterDC
}{wxprinterdc
},
26 \helpref{wxPostScriptDC
}{wxpostscriptdc
}
30 The following functions are specific to PostScript printing
31 and have not yet been documented:
34 const wxString& GetPrinterCommand() const ;
35 const wxString& GetPrinterOptions() const ;
36 const wxString& GetPreviewCommand() const ;
37 const wxString& GetFilename() const ;
38 const wxString& GetFontMetricPath() const ;
39 double GetPrinterScaleX() const ;
40 double GetPrinterScaleY() const ;
41 long GetPrinterTranslateX() const ;
42 long GetPrinterTranslateY() const ;
43 // wxPRINT_MODE_PREVIEW, wxPRINT_MODE_FILE, wxPRINT_MODE_PRINTER
44 wxPrintMode GetPrintMode() const ;
46 void SetPrinterCommand(const wxString& command) ;
47 void SetPrinterOptions(const wxString& options) ;
48 void SetPreviewCommand(const wxString& command) ;
49 void SetFilename(const wxString& filename) ;
50 void SetFontMetricPath(const wxString& path) ;
51 void SetPrinterScaleX(double x) ;
52 void SetPrinterScaleY(double y) ;
53 void SetPrinterScaling(double x, double y) ;
54 void SetPrinterTranslateX(long x) ;
55 void SetPrinterTranslateY(long y) ;
56 void SetPrinterTranslation(long x, long y) ;
57 void SetPrintMode(wxPrintMode printMode) ;
60 \latexignore{\rtfignore{\wxheading{Members
}}}
63 \membersection{wxPrintData::wxPrintData
}\label{wxprintdatactor
}
65 \func{}{wxPrintData
}{\void}
69 \func{}{wxPrintData
}{\param{const wxPrintData\&
}{ data
}}
74 \membersection{wxPrintData::
\destruct{wxPrintData
}}\label{wxprintdatadtor
}
76 \func{}{\destruct{wxPrintData
}}{\void}
81 \membersection{wxPrintData::GetCollate
}\label{wxprintdatagetcollate
}
83 \constfunc{bool
}{GetCollate
}{\void}
85 Returns true if collation is on.
88 \membersection{wxPrintData::GetBin
}\label{wxprintdatagetbin
}
90 \constfunc{wxPrintBin
}{GetBin
}{\void}
92 Returns the current bin (papersource). By default, the system is left to select
93 the bin (
\texttt{wxPRINTBIN
\_DEFAULT} is returned).
95 See
\helpref{SetBin()
}{wxprintdatasetbin
} for the full list of bin values.
98 \membersection{wxPrintData::GetColour
}\label{wxprintdatagetcolour
}
100 \constfunc{bool
}{GetColour
}{\void}
102 Returns true if colour printing is on.
105 \membersection{wxPrintData::GetDuplex
}\label{wxprintdatagetduplex
}
107 \constfunc{wxDuplexMode
}{GetDuplex
}{\void}
109 Returns the duplex mode. One of wxDUPLEX
\_SIMPLEX, wxDUPLEX
\_HORIZONTAL, wxDUPLEX
\_VERTICAL.
112 \membersection{wxPrintData::GetNoCopies
}\label{wxprintdatagetnocopies
}
114 \constfunc{int
}{GetNoCopies
}{\void}
116 Returns the number of copies requested by the user.
119 \membersection{wxPrintData::GetOrientation
}\label{wxprintdatagetorientation
}
121 \constfunc{int
}{GetOrientation
}{\void}
123 Gets the orientation. This can be wxLANDSCAPE or wxPORTRAIT.
126 \membersection{wxPrintData::GetPaperId
}\label{wxprintdatagetpaperid
}
128 \constfunc{wxPaperSize
}{GetPaperId
}{\void}
130 Returns the paper size id. For more information, see
\helpref{wxPrintData::SetPaperId
}{wxprintdatasetpaperid
}.
133 \membersection{wxPrintData::GetPrinterName
}\label{wxprintdatagetprintername
}
135 \constfunc{const wxString\&
}{GetPrinterName
}{\void}
137 Returns the printer name. If the printer name is the empty string, it indicates that the default
138 printer should be used.
141 \membersection{wxPrintData::GetQuality
}\label{wxprintdatagetquality
}
143 \constfunc{wxPrintQuality
}{GetQuality
}{\void}
145 Returns the current print quality. This can be a positive integer, denoting the number of dots per inch, or
146 one of the following identifiers:
150 wxPRINT_QUALITY_MEDIUM
152 wxPRINT_QUALITY_DRAFT
155 On input you should pass one of these identifiers, but on return you may get back a positive integer
156 indicating the current resolution setting.
159 \membersection{wxPrintData::IsOk
}\label{wxprintdataisok
}
161 \constfunc{bool
}{IsOk
}{\void}
163 Returns true if the print data is valid for using in print dialogs.
164 This can return false on Windows if the current printer is not set, for example.
165 On all other platforms, it returns true.
168 \membersection{wxPrintData::SetBin
}\label{wxprintdatasetbin
}
170 \func{void
}{SetBin
}{\param{wxPrintBin
}{flag
}}
172 Sets the current bin. Possible values are:
185 wxPRINTBIN_ENVMANUAL,
190 wxPRINTBIN_LARGECAPACITY,
192 wxPRINTBIN_FORMSOURCE,
200 \membersection{wxPrintData::SetCollate
}\label{wxprintdatasetcollate
}
202 \func{void
}{SetCollate
}{\param{bool
}{flag
}}
204 Sets collation to on or off.
207 \membersection{wxPrintData::SetColour
}\label{wxprintdatasetcolour
}
209 \func{void
}{SetColour
}{\param{bool
}{flag
}}
211 Sets colour printing on or off.
214 \membersection{wxPrintData::SetDuplex
}\label{wxprintdatasetduplex
}
216 \func{void
}{SetDuplex
}{\param{wxDuplexMode
}{ mode
}}
218 Returns the duplex mode. One of wxDUPLEX
\_SIMPLEX, wxDUPLEX
\_HORIZONTAL, wxDUPLEX
\_VERTICAL.
221 \membersection{wxPrintData::SetNoCopies
}\label{wxprintdatasetnocopies
}
223 \func{void
}{SetNoCopies
}{\param{int
}{n
}}
225 Sets the default number of copies to be printed out.
228 \membersection{wxPrintData::SetOrientation
}\label{wxprintdatasetorientation
}
230 \func{void
}{SetOrientation
}{\param{int
}{orientation
}}
232 Sets the orientation. This can be wxLANDSCAPE or wxPORTRAIT.
235 \membersection{wxPrintData::SetPaperId
}\label{wxprintdatasetpaperid
}
237 \func{void
}{SetPaperId
}{\param{wxPaperSize
}{ paperId
}}
239 \index{wxPaperSize
}Sets the paper id. This indicates the type of paper to be used. For a mapping between
240 paper id, paper size and string name, see wxPrintPaperDatabase in
{\tt paper.h
} (not yet documented).
242 {\it paperId
} can be one of:
246 wxPAPER_NONE, // Use specific dimensions
247 wxPAPER_LETTER, // Letter,
8 1/
2 by
11 inches
248 wxPAPER_LEGAL, // Legal,
8 1/
2 by
14 inches
249 wxPAPER_A4, // A4 Sheet,
210 by
297 millimeters
250 wxPAPER_CSHEET, // C Sheet,
17 by
22 inches
251 wxPAPER_DSHEET, // D Sheet,
22 by
34 inches
252 wxPAPER_ESHEET, // E Sheet,
34 by
44 inches
253 wxPAPER_LETTERSMALL, // Letter Small,
8 1/
2 by
11 inches
254 wxPAPER_TABLOID, // Tabloid,
11 by
17 inches
255 wxPAPER_LEDGER, // Ledger,
17 by
11 inches
256 wxPAPER_STATEMENT, // Statement,
5 1/
2 by
8 1/
2 inches
257 wxPAPER_EXECUTIVE, // Executive,
7 1/
4 by
10 1/
2 inches
258 wxPAPER_A3, // A3 sheet,
297 by
420 millimeters
259 wxPAPER_A4SMALL, // A4 small sheet,
210 by
297 millimeters
260 wxPAPER_A5, // A5 sheet,
148 by
210 millimeters
261 wxPAPER_B4, // B4 sheet,
250 by
354 millimeters
262 wxPAPER_B5, // B5 sheet,
182-by-
257-millimeter paper
263 wxPAPER_FOLIO, // Folio,
8-
1/
2-by-
13-inch paper
264 wxPAPER_QUARTO, // Quarto,
215-by-
275-millimeter paper
265 wxPAPER_10X14, //
10-by-
14-inch sheet
266 wxPAPER_11X17, //
11-by-
17-inch sheet
267 wxPAPER_NOTE, // Note,
8 1/
2 by
11 inches
268 wxPAPER_ENV_9, //
#9 Envelope,
3 7/
8 by
8 7/
8 inches
269 wxPAPER_ENV_10, //
#10 Envelope,
4 1/
8 by
9 1/
2 inches
270 wxPAPER_ENV_11, //
#11 Envelope,
4 1/
2 by
10 3/
8 inches
271 wxPAPER_ENV_12, //
#12 Envelope,
4 3/
4 by
11 inches
272 wxPAPER_ENV_14, //
#14 Envelope,
5 by
11 1/
2 inches
273 wxPAPER_ENV_DL, // DL Envelope,
110 by
220 millimeters
274 wxPAPER_ENV_C5, // C5 Envelope,
162 by
229 millimeters
275 wxPAPER_ENV_C3, // C3 Envelope,
324 by
458 millimeters
276 wxPAPER_ENV_C4, // C4 Envelope,
229 by
324 millimeters
277 wxPAPER_ENV_C6, // C6 Envelope,
114 by
162 millimeters
278 wxPAPER_ENV_C65, // C65 Envelope,
114 by
229 millimeters
279 wxPAPER_ENV_B4, // B4 Envelope,
250 by
353 millimeters
280 wxPAPER_ENV_B5, // B5 Envelope,
176 by
250 millimeters
281 wxPAPER_ENV_B6, // B6 Envelope,
176 by
125 millimeters
282 wxPAPER_ENV_ITALY, // Italy Envelope,
110 by
230 millimeters
283 wxPAPER_ENV_MONARCH, // Monarch Envelope,
3 7/
8 by
7 1/
2 inches
284 wxPAPER_ENV_PERSONAL, //
6 3/
4 Envelope,
3 5/
8 by
6 1/
2 inches
285 wxPAPER_FANFOLD_US, // US Std Fanfold,
14 7/
8 by
11 inches
286 wxPAPER_FANFOLD_STD_GERMAN, // German Std Fanfold,
8 1/
2 by
12 inches
287 wxPAPER_FANFOLD_LGL_GERMAN, // German Legal Fanfold,
8 1/
2 by
13 inches
290 wxPAPER_ISO_B4, // B4 (ISO)
250 x
353 mm
291 wxPAPER_JAPANESE_POSTCARD, // Japanese Postcard
100 x
148 mm
292 wxPAPER_9X11, //
9 x
11 in
293 wxPAPER_10X11, //
10 x
11 in
294 wxPAPER_15X11, //
15 x
11 in
295 wxPAPER_ENV_INVITE, // Envelope Invite
220 x
220 mm
296 wxPAPER_LETTER_EXTRA, // Letter Extra
9 \275 x
12 in
297 wxPAPER_LEGAL_EXTRA, // Legal Extra
9 \275 x
15 in
298 wxPAPER_TABLOID_EXTRA, // Tabloid Extra
11.69 x
18 in
299 wxPAPER_A4_EXTRA, // A4 Extra
9.27 x
12.69 in
300 wxPAPER_LETTER_TRANSVERSE, // Letter Transverse
8 \275 x
11 in
301 wxPAPER_A4_TRANSVERSE, // A4 Transverse
210 x
297 mm
302 wxPAPER_LETTER_EXTRA_TRANSVERSE, // Letter Extra Transverse
9\275 x
12 in
303 wxPAPER_A_PLUS, // SuperA/SuperA/A4
227 x
356 mm
304 wxPAPER_B_PLUS, // SuperB/SuperB/A3
305 x
487 mm
305 wxPAPER_LETTER_PLUS, // Letter Plus
8.5 x
12.69 in
306 wxPAPER_A4_PLUS, // A4 Plus
210 x
330 mm
307 wxPAPER_A5_TRANSVERSE, // A5 Transverse
148 x
210 mm
308 wxPAPER_B5_TRANSVERSE, // B5 (JIS) Transverse
182 x
257 mm
309 wxPAPER_A3_EXTRA, // A3 Extra
322 x
445 mm
310 wxPAPER_A5_EXTRA, // A5 Extra
174 x
235 mm
311 wxPAPER_B5_EXTRA, // B5 (ISO) Extra
201 x
276 mm
312 wxPAPER_A2, // A2
420 x
594 mm
313 wxPAPER_A3_TRANSVERSE, // A3 Transverse
297 x
420 mm
314 wxPAPER_A3_EXTRA_TRANSVERSE // A3 Extra Transverse
322 x
445 mm
319 \membersection{wxPrintData::SetPrinterName
}\label{wxprintdatasetprintername
}
321 \func{void
}{SetPrinterName
}{\param{const wxString\&
}{printerName
}}
323 Sets the printer name. This can be the empty string to indicate that the default
324 printer should be used.
327 \membersection{wxPrintData::SetQuality
}\label{wxprintdatasetquality
}
329 \func{void
}{SetQuality
}{\param{wxPrintQuality
}{ quality
}}
331 Sets the desired print quality. This can be a positive integer, denoting the number of dots per inch, or
332 one of the following identifiers:
336 wxPRINT_QUALITY_MEDIUM
338 wxPRINT_QUALITY_DRAFT
341 On input you should pass one of these identifiers, but on return you may get back a positive integer
342 indicating the current resolution setting.
345 \membersection{wxPrintData::operator $=$
}\label{wxprintdataassign
}
347 \func{void
}{operator $=$
}{\param{const wxPrintData\&
}{ data
}}
349 Assigns print data to this object.
351 \func{void
}{operator $=$
}{\param{const wxPrintSetupData\&
}{ data
}}
353 Assigns print setup data to this object. wxPrintSetupData is deprecated,
354 but retained for backward compatibility.
356 \section{\class{wxPrintDialog
}}\label{wxprintdialog
}
358 This class represents the print and print setup common dialogs.
359 You may obtain a
\helpref{wxPrinterDC
}{wxprinterdc
} device context from
360 a successfully dismissed print dialog.
362 \wxheading{Derived from
}
364 \helpref{wxDialog
}{wxdialog
}\\
365 \helpref{wxWindow
}{wxwindow
}\\
366 \helpref{wxEvtHandler
}{wxevthandler
}\\
367 \helpref{wxObject
}{wxobject
}
369 \wxheading{Include files
}
375 \helpref{Printing framework overview
}{printingoverview
},
376 \helpref{wxPrintDialog Overview
}{wxprintdialogoverview
}
378 \latexignore{\rtfignore{\wxheading{Members
}}}
381 \membersection{wxPrintDialog::wxPrintDialog
}\label{wxprintdialogctor
}
383 \func{}{wxPrintDialog
}{\param{wxWindow*
}{parent
},
\param{wxPrintDialogData*
}{data = NULL
}}
385 Constructor. Pass a parent window, and optionally a pointer to a block of print
386 data, which will be copied to the print dialog's print data.
390 \helpref{wxPrintDialogData
}{wxprintdialogdata
}
393 \membersection{wxPrintDialog::
\destruct{wxPrintDialog
}}\label{wxprintdialogdtor
}
395 \func{}{\destruct{wxPrintDialog
}}{\void}
397 Destructor. If wxPrintDialog::GetPrintDC has
{\it not
} been called,
398 the device context obtained by the dialog (if any) will be deleted.
401 \membersection{wxPrintDialog::GetPrintDialogData
}\label{wxprintdialoggetprintdialogdata
}
403 \func{wxPrintDialogData\&
}{GetPrintDialogData
}{\void}
405 Returns the
\helpref{print dialog data
}{wxprintdialogdata
} associated with the print dialog.
408 \membersection{wxPrintDialog::GetPrintDC
}\label{wxprintdialoggetprintdc
}
410 \func{wxDC*
}{GetPrintDC
}{\void}
412 Returns the device context created by the print dialog, if any.
413 When this function has been called, the ownership of the device context
414 is transferred to the application, so it must then be deleted
418 \membersection{wxPrintDialog::ShowModal
}\label{wxprintdialogshowmodal
}
420 \func{int
}{ShowModal
}{\void}
422 Shows the dialog, returning wxID
\_OK if the user pressed OK, and wxID
\_CANCEL
423 otherwise. After this function is called, a device context may
424 be retrievable using
\helpref{wxPrintDialog::GetPrintDC
}{wxprintdialoggetprintdc
}.
426 \section{\class{wxPrintDialogData
}}\label{wxprintdialogdata
}
428 This class holds information related to the visual characteristics of wxPrintDialog.
429 It contains a wxPrintData object with underlying printing settings.
431 \wxheading{Derived from
}
433 \helpref{wxObject
}{wxobject
}
435 \wxheading{Include files
}
441 \helpref{Printing framework overview
}{printingoverview
},
442 \helpref{wxPrintDialog
}{wxprintdialog
},
443 \helpref{wxPrintDialog Overview
}{wxprintdialogoverview
}
445 \latexignore{\rtfignore{\wxheading{Members
}}}
448 \membersection{wxPrintDialogData::wxPrintDialogData
}\label{wxprintdialogdatactor
}
450 \func{}{wxPrintDialogData
}{\void}
454 \func{}{wxPrintDialogData
}{\param{wxPrintDialogData\&
}{ dialogData
}}
458 \func{}{wxPrintDialogData
}{\param{wxPrintData\&
}{ printData
}}
460 Construct an object from a print dialog data object.
463 \membersection{wxPrintDialogData::
\destruct{wxPrintDialogData
}}\label{wxprintdialogdatadtor
}
465 \func{}{\destruct{wxPrintDialogData
}}{\void}
470 \membersection{wxPrintDialogData::EnableHelp
}\label{wxprintdialogdataenablehelp
}
472 \func{void
}{EnableHelp
}{\param{bool
}{flag
}}
474 Enables or disables the `Help' button.
477 \membersection{wxPrintDialogData::EnablePageNumbers
}\label{wxprintdialogdataenablepagenumbers
}
479 \func{void
}{EnablePageNumbers
}{\param{bool
}{flag
}}
481 Enables or disables the `Page numbers' controls.
484 \membersection{wxPrintDialogData::EnablePrintToFile
}\label{wxprintdialogdataenableprinttofile
}
486 \func{void
}{EnablePrintToFile
}{\param{bool
}{flag
}}
488 Enables or disables the `Print to file' checkbox.
491 \membersection{wxPrintDialogData::EnableSelection
}\label{wxprintdialogdataenableselection
}
493 \func{void
}{EnableSelection
}{\param{bool
}{flag
}}
495 Enables or disables the `Selection' radio button.
498 \membersection{wxPrintDialogData::GetAllPages
}\label{wxprintdialogdatagetallpages
}
500 \constfunc{bool
}{GetAllPages
}{\void}
502 Returns true if the user requested that all pages be printed.
505 \membersection{wxPrintDialogData::GetCollate
}\label{wxprintdialogdatagetcollate
}
507 \constfunc{bool
}{GetCollate
}{\void}
509 Returns true if the user requested that the
document(s) be collated.
512 \membersection{wxPrintDialogData::GetFromPage
}\label{wxprintdialogdatagetfrompage
}
514 \constfunc{int
}{GetFromPage
}{\void}
516 Returns the
{\it from
} page number, as entered by the user.
519 \membersection{wxPrintDialogData::GetMaxPage
}\label{wxprintdialogdatagetmaxpage
}
521 \constfunc{int
}{GetMaxPage
}{\void}
523 Returns the
{\it maximum
} page number.
526 \membersection{wxPrintDialogData::GetMinPage
}\label{wxprintdialogdatagetminpage
}
528 \constfunc{int
}{GetMinPage
}{\void}
530 Returns the
{\it minimum
} page number.
533 \membersection{wxPrintDialogData::GetNoCopies
}\label{wxprintdialogdatagetnocopies
}
535 \constfunc{int
}{GetNoCopies
}{\void}
537 Returns the number of copies requested by the user.
540 \membersection{wxPrintDialogData::GetPrintData
}\label{wxprintdialogdatagetprintdata
}
542 \func{wxPrintData\&
}{GetPrintData
}{\void}
544 Returns a reference to the internal wxPrintData object.
547 \membersection{wxPrintDialogData::GetPrintToFile
}\label{wxprintdialogdatagetprinttofile
}
549 \constfunc{bool
}{GetPrintToFile
}{\void}
551 Returns true if the user has selected printing to a file.
554 \membersection{wxPrintDialogData::GetSelection
}\label{wxprintdialogdatagetselection
}
556 \constfunc{bool
}{GetSelection
}{\void}
558 Returns true if the user requested that the selection be printed (where 'selection' is
559 a concept specific to the application).
562 \membersection{wxPrintDialogData::GetToPage
}\label{wxprintdialogdatagettopage
}
564 \constfunc{int
}{GetToPage
}{\void}
566 Returns the
{\it to
} page number, as entered by the user.
569 \membersection{wxPrintDialogData::IsOk
}\label{wxprintdialogdataisok
}
571 \constfunc{bool
}{IsOk
}{\void}
573 Returns true if the print data is valid for using in print dialogs.
574 This can return false on Windows if the current printer is not set, for example.
575 On all other platforms, it returns true.
578 \membersection{wxPrintDialogData::SetCollate
}\label{wxprintdialogdatasetcollate
}
580 \func{void
}{SetCollate
}{\param{bool
}{flag
}}
582 Sets the 'Collate' checkbox to true or false.
585 \membersection{wxPrintDialogData::SetFromPage
}\label{wxprintdialogdatasetfrompage
}
587 \func{void
}{SetFromPage
}{\param{int
}{page
}}
589 Sets the
{\it from
} page number.
592 \membersection{wxPrintDialogData::SetMaxPage
}\label{wxprintdialogdatasetmaxpage
}
594 \func{void
}{SetMaxPage
}{\param{int
}{page
}}
596 Sets the
{\it maximum
} page number.
599 \membersection{wxPrintDialogData::SetMinPage
}\label{wxprintdialogdatasetminpage
}
601 \func{void
}{SetMinPage
}{\param{int
}{page
}}
603 Sets the
{\it minimum
} page number.
606 \membersection{wxPrintDialogData::SetNoCopies
}\label{wxprintdialogdatasetnocopies
}
608 \func{void
}{SetNoCopies
}{\param{int
}{n
}}
610 Sets the default number of copies the user has requested to be printed out.
613 \membersection{wxPrintDialogData::SetPrintData
}\label{wxprintdialogdatasetprintdata
}
615 \func{void
}{SetPrintData
}{\param{const wxPrintData\&
}{printData
}}
617 Sets the internal wxPrintData.
620 \membersection{wxPrintDialogData::SetPrintToFile
}\label{wxprintdialogdatasetprinttofile
}
622 \func{void
}{SetPrintToFile
}{\param{bool
}{flag
}}
624 Sets the 'Print to file' checkbox to true or false.
627 \membersection{wxPrintDialogData::SetSelection
}\label{wxprintdialogdatasetselection
}
629 \func{void
}{SetSelection
}{\param{bool
}{ flag
}}
631 Selects the 'Selection' radio button. The effect of printing the selection depends on how the application
632 implements this command, if at all.
635 \membersection{wxPrintDialogData::SetSetupDialog
}\label{wxprintdialogdatasetsetupdialog
}
637 \func{void
}{SetSetupDialog
}{\param{bool
}{flag
}}
639 Determines whether the dialog to be shown will be the Print dialog
640 (pass false) or Print Setup dialog (pass true).
642 This function has been deprecated since version
2.5.4.
644 \membersection{wxPrintDialogData::SetToPage
}\label{wxprintdialogdatasettopage
}
646 \func{void
}{SetToPage
}{\param{int
}{page
}}
648 Sets the
{\it to
} page number.
651 \membersection{wxPrintDialogData::operator $=$
}\label{wxprintdialogdataassign
}
653 \func{void
}{operator $=$
}{\param{const wxPrintData\&
}{ data
}}
655 Assigns print data to this object.
657 \func{void
}{operator $=$
}{\param{const wxPrintDialogData\&
}{ data
}}
659 Assigns another print dialog data object to this object.
661 \section{\class{wxPrinter
}}\label{wxprinter
}
663 This class represents the Windows or PostScript printer, and is the vehicle through
664 which printing may be launched by an application. Printing can also
665 be achieved through using of lower functions and classes, but
666 this and associated classes provide a more convenient and general
669 \wxheading{Derived from
}
671 \helpref{wxObject
}{wxobject
}
673 \wxheading{Include files
}
679 \helpref{Printing framework overview
}{printingoverview
},
680 \helpref{wxPrinterDC
}{wxprinterdc
},
681 \helpref{wxPrintDialog
}{wxprintdialog
},
682 \helpref{wxPrintout
}{wxprintout
},
683 \helpref{wxPrintPreview
}{wxprintpreview
}.
685 \latexignore{\rtfignore{\wxheading{Members
}}}
688 \membersection{wxPrinter::wxPrinter
}\label{wxprinterctor
}
690 \func{}{wxPrinter
}{\param{wxPrintDialogData*
}{data = NULL
}}
692 Constructor. Pass an optional pointer to a block of print
693 dialog data, which will be copied to the printer object's local data.
697 \helpref{wxPrintDialogData
}{wxprintdialogdata
},
698 \helpref{wxPrintData
}{wxprintdata
}
702 \membersection{wxPrinter::CreateAbortWindow
}\label{wxprintercreateabortwindow
}
704 \func{void
}{CreateAbortWindow
}{\param{wxWindow*
}{parent
},
\param{wxPrintout*
}{printout
}}
706 Creates the default printing abort window, with a cancel button.
709 \membersection{wxPrinter::GetAbort
}\label{wxprintergetabort
}
711 \func{bool
}{GetAbort
}{\void}
713 Returns true if the user has aborted the print job.
716 \membersection{wxPrinter::GetLastError
}\label{wxprintergetlasterror
}
718 \func{static wxPrinterError
}{GetLastError
}{\void}
720 Return last error. Valid after calling
\helpref{Print
}{wxprinterprint
},
721 \helpref{PrintDialog
}{wxprinterprintdialog
} or
722 \helpref{wxPrintPreview::Print
}{wxprintpreviewprint
}. These functions
723 set last error to
{\bf wxPRINTER
\_NO\_ERROR} if no error happened.
725 Returned value is one of the following:
728 \begin{twocollist
}\itemsep=
0pt
729 \twocolitem{{\bf wxPRINTER
\_NO\_ERROR}}{No error happened.
}
730 \twocolitem{{\bf wxPRINTER
\_CANCELLED}}{The user cancelled printing.
}
731 \twocolitem{{\bf wxPRINTER
\_ERROR}}{There was an error during printing.
}
736 \membersection{wxPrinter::GetPrintDialogData
}\label{wxprintergetprintdialogdata
}
738 \func{wxPrintDialogData\&
}{GetPrintDialogData
}{\void}
740 Returns the
\helpref{print data
}{wxprintdata
} associated with the printer object.
743 \membersection{wxPrinter::Print
}\label{wxprinterprint
}
745 \func{bool
}{Print
}{\param{wxWindow *
}{parent
},
\param{wxPrintout *
}{printout
},
\param{bool
}{prompt=true
}}
747 Starts the printing process. Provide a parent window, a user-defined wxPrintout object which controls
748 the printing of a
document, and whether the print dialog should be invoked first.
750 Print could return false if there was a problem initializing the printer device context
751 (current printer not set, for example) or the user cancelled printing. Call
752 \helpref{wxPrinter::GetLastError
}{wxprintergetlasterror
} to get detailed
753 information about the kind of the error.
756 \membersection{wxPrinter::PrintDialog
}\label{wxprinterprintdialog
}
758 \func{wxDC*
}{PrintDialog
}{\param{wxWindow *
}{parent
}}
760 Invokes the print dialog. If successful (the user did not press Cancel
761 and no error occurred), a suitable device context will be returned
762 (otherwise NULL is returned -- call
763 \helpref{wxPrinter::GetLastError
}{wxprintergetlasterror
} to get detailed
764 information about the kind of the error).
766 The application must delete this device context to avoid a memory leak.
769 \membersection{wxPrinter::ReportError
}\label{wxprinterreporterror
}
771 \func{void
}{ReportError
}{\param{wxWindow *
}{parent
},
\param{wxPrintout *
}{printout
},
\param{const wxString\&
}{message
}}
773 Default error-reporting function.
776 \membersection{wxPrinter::Setup
}\label{wxprintersetup
}
778 \func{bool
}{Setup
}{\param{wxWindow *
}{parent
}}
780 Invokes the print setup dialog. Note that the setup dialog is obsolete from
781 Windows
95, though retained for backward compatibility.
783 \section{\class{wxPrinterDC
}}\label{wxprinterdc
}
785 A printer device context is specific to MSW and Mac, and allows access to any
786 printer with a Windows or Macintosh driver. See
\helpref{wxDC
}{wxdc
} for further
787 information on device contexts, and
\helpref{wxDC::GetSize
}{wxdcgetsize
} for
788 advice on achieving the correct scaling for the page.
790 \wxheading{Derived from
}
792 \helpref{wxDC
}{wxdc
}\\
793 \helpref{wxObject
}{wxdc
}
795 \wxheading{Include files
}
801 \helpref{Printing framework overview
}{printingoverview
},
804 \latexignore{\rtfignore{\wxheading{Members
}}}
807 \membersection{wxPrinterDC::wxPrinterDC
}\label{wxprinterdcctor
}
809 \func{}{wxPrinterDC
}{\param{const wxPrintData\&
}{printData
}}
811 Constructor. Pass a
\helpref{wxPrintData
}{wxprintdata
} object with information
812 necessary for setting up a suitable printer device context. This
813 is the recommended way to construct a wxPrinterDC. Make sure you
814 specify a reference to a
\helpref{wxPrintData
}{wxprintdata
} object,
815 not a pointer - you may not even get a warning if you pass a pointer
818 \func{}{wxPrinterDC
}{\param{const wxString\&
}{driver
},
\param{const wxString\&
}{device
},
\param{const wxString\&
}{output
},
819 \param{const bool
}{interactive = true
},
\param{int
}{orientation = wxPORTRAIT
}}
821 Constructor. With empty strings for the first three arguments, the default printer dialog is
822 displayed.
{\it device
} indicates the type of printer and
{\it output
}
823 is an optional file for printing to. The
{\it driver
} parameter is
824 currently unused. Use the
{\it Ok
} member to test whether the
825 constructor was successful in creating a usable device context.
827 This constructor is deprecated and retained only for backward compatibility.
829 \membersection{wxPrinterDC::GetPaperRect
}\label{wxprinterdcgetpaperrect
}
831 \func{wxRect
}{wxPrinterDC::GetPaperRect
}{}
833 Return the rectangle in device coordinates that corresponds to the full paper
834 area, including the nonprinting regions of the paper. The point (
0,
0) in device
835 coordinates is the top left corner of the page rectangle, which is the printable
836 area on MSW and Mac. The coordinates of the top left corner of the paper
837 rectangle will therefore have small negative values, while the bottom right
838 coordinates will be somewhat larger than the values returned by
839 \helpref{wxDC::GetSize
}{wxdcgetsize
}.
842 \section{\class{wxPrintout
}}\label{wxprintout
}
844 This class encapsulates the functionality of printing out an application
845 document. A new class must be derived and members overridden to respond to calls
846 such as OnPrintPage and HasPage and to render the print image onto an associated
847 \helpref{wxDC
}{wxdc
}. Instances of this class are passed to wxPrinter::Print or
848 to a wxPrintPreview object to initiate printing or previewing.
850 Your derived wxPrintout is responsible for drawing both the preview image and
851 the printed page. If your windows' drawing routines accept an arbitrary DC as an
852 argument, you can re-use those routines within your wxPrintout subclass to draw
853 the printout image. You may also add additional drawing elements within your
854 wxPrintout subclass, like headers, footers, and/or page numbers. However, the
855 image on the printed page will often differ from the image drawn on the screen,
856 as will the print preview image -- not just in the presence of headers and
857 footers, but typically in scale. A high-resolution printer presents a much
858 larger drawing surface (i.e., a higher-resolution DC); a zoomed-out preview
859 image presents a much smaller drawing surface (lower-resolution DC). By using
860 the routines FitThisSizeToXXX() and/or MapScreenSizeToXXX() within your
861 wxPrintout subclass to set the user scale and origin of the associated DC, you
862 can easily use a single drawing routine to draw on your application's windows,
863 to create the print preview image, and to create the printed paper image, and
864 achieve a common appearance to the preview image and the printed page.
867 \wxheading{Derived from
}
869 \helpref{wxObject
}{wxobject
}
871 \wxheading{Include files
}
877 \helpref{Printing framework overview
}{printingoverview
},
878 \helpref{wxPrinterDC
}{wxprinterdc
},
879 \helpref{wxPrintDialog
}{wxprintdialog
},
880 \helpref{wxPageSetupDialog
}{wxpagesetupdialog
},
881 \helpref{wxPrinter
}{wxprinter
},
882 \helpref{wxPrintPreview
}{wxprintpreview
}
884 \latexignore{\rtfignore{\wxheading{Members
}}}
887 \membersection{wxPrintout::wxPrintout
}\label{wxprintoutctor
}
889 \func{}{wxPrintout
}{\param{const wxString\&
}{title = "Printout"
}}
891 Constructor. Pass an optional title argument - the current filename would be a good idea. This will appear in the printing list
895 \membersection{wxPrintout::
\destruct{wxPrintout
}}\label{wxprintoutdtor
}
897 \func{}{\destruct{wxPrintout
}}{\void}
902 \membersection{wxPrintout::GetDC
}\label{wxprintoutgetdc
}
904 \func{wxDC *
}{GetDC
}{\void}
906 Returns the device context associated with the printout (given to the printout at start of
907 printing or previewing). This will be a wxPrinterDC if printing under Windows or Mac,
908 a wxPostScriptDC if printing on other platforms, and a wxMemoryDC if previewing.
911 \membersection{wxPrintout::GetPageInfo
}\label{wxprintoutgetpageinfo
}
913 \func{void
}{GetPageInfo
}{\param{int *
}{minPage
},
\param{int *
}{maxPage
},
\param{int *
}{pageFrom
},
\param{int *
}{pageTo
}}
915 Called by the framework to obtain information from the application about minimum
916 and maximum page values that the user can select, and the required page range to
917 be printed. By default this returns
1,
32000 for the page minimum and maximum
918 values, and
1,
1 for the required page range.
920 If
{\it minPage
} is zero, the page number controls in the print dialog will be disabled.
922 \pythonnote{When this method is implemented in a derived Python class,
923 it should be designed to take no parameters (other than the self
924 reference) and to return a tuple of four integers.
927 \perlnote{When this method is overridden in a derived class,
928 it must not take any parameters, and returns a
4-element list.
932 \membersection{wxPrintout::GetPageSizeMM
}\label{wxprintoutgetpagesizemm
}
934 \func{void
}{GetPageSizeMM
}{\param{int *
}{w
},
\param{int *
}{h
}}
936 Returns the size of the printer page in millimetres.
938 \pythonnote{This method returns the output-only parameters as a tuple.
}
940 \perlnote{In wxPerl this method takes no arguments and returns a
941 2-element list
{\tt ( w, h )
}}
944 \membersection{wxPrintout::GetPageSizePixels
}\label{wxprintoutgetpagesizepixels
}
946 \func{void
}{GetPageSizePixels
}{\param{int *
}{w
},
\param{int *
}{h
}}
948 Returns the size of the printer page in pixels, called the
\em{page rectangle
}.
949 The page rectangle has a top left corner at (
0,
0) and a bottom right corner at
950 (w,h). These values may not be the same as the values returned from
951 \helpref{wxDC::GetSize
}{wxdcgetsize
}; if the printout is being used for
952 previewing, a memory device context is used, which uses a bitmap size reflecting
953 the current preview zoom. The application must take this discrepancy into
954 account if previewing is to be supported.
956 \pythonnote{This method returns the output-only parameters as a tuple.
}
958 \perlnote{In wxPerl this method takes no arguments and returns a
959 2-element list
{\tt ( w, h )
}}
962 \membersection{wxPrintout::GetPaperRectPixels
}\label{wxprintoutgetpaperrectpixels
}
964 \func{wxRect
}{GetPaperRectPixels
}{}
966 Returns the rectangle that corresponds to the entire paper in pixels, called the
967 \em{paper rectangle
}. This distinction between paper rectangle and page
968 rectangle reflects the fact that most printers cannot print all the way to the
969 edge of the paper. The page rectangle is a rectangle whose top left corner is at
970 (
0,
0) and whose width and height are given by
971 \helpref{wxDC::GetPageSizePixels
}{wxprintoutgetpagesizepixels
}. On MSW and Mac,
972 the page rectangle gives the printable area of the paper, while the paper
973 rectangle represents the entire paper, including non-printable borders. Thus,
974 the rectangle returned by GetPaperRectPixels will have a top left corner whose
975 coordinates are small negative numbers and the bottom right corner will have
976 values somewhat larger than the width and height given by
977 \helpref{wxDC::GetPageSizePixels
}{wxprintoutgetpagesizepixels
}. On other
978 platforms and for PostScript printing, the paper is treated as if its entire
979 area were printable, so this function will return the same rectangle as the page
983 \membersection{wxPrintout::GetPPIPrinter
}\label{wxprintoutgetppiprinter
}
985 \func{void
}{GetPPIPrinter
}{\param{int *
}{w
},
\param{int *
}{h
}}
987 Returns the number of pixels per logical inch of the printer device context.
988 Dividing the printer PPI by the screen PPI can give a suitable scaling factor
989 for drawing text onto the printer. Remember to multiply this by a scaling factor
990 to take the preview DC size into account. Or you can just use the
991 FitThisSizeToXXX() and MapScreenSizeToXXX routines below, which do most of the
992 scaling calculations for you.
994 \pythonnote{This method returns the output-only parameters as a tuple.
}
996 \perlnote{In wxPerl this method takes no arguments and returns a
997 2-element list
{\tt ( w, h )
}}
1000 \membersection{wxPrintout::GetPPIScreen
}\label{wxprintoutgetppiscreen
}
1002 \func{void
}{GetPPIScreen
}{\param{int *
}{w
},
\param{int *
}{h
}}
1004 Returns the number of pixels per logical inch of the screen device context.
1005 Dividing the printer PPI by the screen PPI can give a suitable scaling factor
1006 for drawing text onto the printer. If you are doing your own scaling, remember
1007 to multiply this by a scaling factor to take the preview DC size into account.
1010 \membersection{wxPrintout::GetTitle
}\label{wxprintoutgettitle
}
1012 \func{wxString
}{GetTitle
}{\void}
1014 Returns the title of the printout
1016 \pythonnote{This method returns the output-only parameters as a tuple.
}
1018 \perlnote{In wxPerl this method takes no arguments and returns a
1019 2-element list
{\tt ( w, h )
}}
1022 \membersection{wxPrintout::HasPage
}\label{wxprintouthaspage
}
1024 \func{bool
}{HasPage
}{\param{int
}{ pageNum
}}
1026 Should be overridden to return true if the
document has this page, or false
1027 if not. Returning false signifies the end of the
document. By default,
1028 HasPage behaves as if the
document has only one page.
1031 \membersection{wxPrintout::IsPreview
}\label{wxprintoutispreview
}
1033 \func{bool
}{IsPreview
}{\void}
1035 Returns true if the printout is currently being used for previewing.
1038 \membersection{wxPrintout::FitThisSizeToPaper
}\label{wxprintoutfitthissizetopaper
}
1040 \func{void
}{FitThisSizeToPaper
}{\param{const wxSize\&
}{imageSize
}}
1042 Set the user scale and device origin of the wxDC associated with this wxPrintout
1043 so that the given image size fits entirely within the paper and the origin is at
1044 the top left corner of the paper. Note that with most printers, the region
1045 around the edges of the paper are not printable so that the edges of the image
1046 could be cut off. Use this if you're managing your own page margins.
1048 \membersection{wxPrintout::FitThisSizeToPage
}\label{wxprintoutfitthissizetopage
}
1051 \func{void
}{FitThisSizeToPage
}{\param{const wxSize\&
}{imageSize
}}
1053 Set the user scale and device origin of the wxDC associated with this wxPrintout
1054 so that the given image size fits entirely within the page rectangle and the
1055 origin is at the top left corner of the page rectangle. On MSW and Mac, the page
1056 rectangle is the printable area of the page. On other platforms and PostScript
1057 printing, the page rectangle is the entire paper. Use this if you want your
1058 printed image as large as possible, but with the caveat that on some platforms,
1059 portions of the image might be cut off at the edges.
1062 \membersection{wxPrintout::FitThisSizeToPageMargins
}\label{wxprintoutfitthissizetopagemargins
}
1064 \func{void
}{FitThisSizeToPageMargins
}{\param{const wxSize\&
}{imageSize
},
\param{const wxPageSetupDialogData\&
}{pageSetupData
}}
1066 Set the user scale and device origin of the wxDC associated with this wxPrintout
1067 so that the given image size fits entirely within the page margins set in the
1068 given wxPageSetupDialogData object. This function provides the greatest
1069 consistency across all platforms because it does not depend on having access to
1070 the printable area of the paper. Note that on Mac, the native wxPageSetupDialog
1071 does not let you set the page margins; you'll have to provide your own mechanism,
1072 or you can use the Mac-only class wxMacPageMarginsDialog.
1075 \membersection{wxPrintout::MapScreenSizeToPaper
}\label{wxprintoutmapscreensizetopaper
}
1077 \func{void
}{MapScreenSizeToPaper
}{}
1079 Set the user scale and device origin of the wxDC associated with this wxPrintout
1080 so that the printed page matches the screen size as closely as possible
1081 and the logical origin is in the top left corner of the paper rectangle.
1083 a
100-pixel object on screen should appear at the same size on the printed page. (It
1084 will, of course, be larger or smaller in the preview image, depending on the zoom
1085 factor.) Use this if you want WYSIWYG behavior, e.g., in a text editor.
1088 \membersection{wxPrintout::MapScreenSizeToPage
}\label{wxprintoutmapscreensizetopage
}
1090 \func{void
}{MapScreenSizeToPage
}{}
1092 This sets the user scale of the wxDC assocated with this wxPrintout to the same
1093 scale as
\helpref{MapScreenSizeToPaper
}{wxprintoutmapscreensizetopaper
} but sets
1094 the logical origin to the top left corner of the page rectangle.
1097 \membersection{wxPrintout::MapScreenSizeToPageMargins
}\label{wxprintoutmapscreensizetopagemargins
}
1099 \func{void
}{MapScreenSizeToPageMargins
}{\param{const wxPageSetupDialogData\&
}{pageSetupData
}}
1101 This sets the user scale of the wxDC assocated with this wxPrintout to the same
1103 \helpref{MapScreenSizeToPageMargins
}{wxprintoutmapscreensizetopagemargins
} but
1104 sets the logical origin to the top left corner of the page margins specified by
1105 the given wxPageSetupDialogData object.
1108 \membersection{wxPrintout::MapScreenSizeToDevice
}\label{wxprintoutmapscreensizetodevice
}
1110 \func{void
}{MapScreenSizeToDevice
}{}
1112 Set the user scale and device origin of the wxDC associated with this wxPrintout
1113 so that one screen pixel maps to one device pixel on the DC. That is, the user
1114 scale is set to (
1,
1) and the device origin is set to (
0,
0). Use this if you
1115 want to do your own scaling prior to calling wxDC drawing calls, for example, if
1116 your underlying model is floating-point and you want to achieve maximum drawing
1117 precision on high-resolution printers. (Note that while the underlying drawing
1118 model of Mac OS X is floating-point, wxWidgets's drawing model scales from integer
1119 coordinates.) You can use the GetLogicalXXXRect() routines below to obtain the
1120 paper rectangle, page rectangle, or page margins rectangle to perform your own scaling.
1123 \membersection{wxPrintout::GetLogicalPaperRect
}\label{wxprintoutgetlogicalpaperrect
}
1125 \func{wxRect
}{GetLogicalPaperRect
}{}
1127 Return the rectangle corresponding to the paper in the associated wxDC's
1128 logical coordinates for the current user scale and device origin.
1131 \membersection{wxPrintout::GetLogicalPageRect
}\label{wxprintoutgetlogicalpagerect
}
1133 \func{wxRect
}{GetLogicalPageRect
}{}
1135 Return the rectangle corresponding to the page in the associated wxDC's
1136 logical coordinates for the current user scale and device origin.
1137 On MSW and Mac, this will be the printable area of the paper. On other platforms
1138 and PostScript printing, this will be the full paper rectangle.
1141 \membersection{wxPrintout::GetLogicalPageMarginsRect
}\label{wxprintoutgetlogicalpagemarginsrect
}
1143 \func{wxRect
}{GetLogicalPageMarginsRect
}{\param{const wxPageSetupDialogData\&
}{pageSetupData
}}
1145 Return the rectangle corresponding to the page margins specified by the given
1146 wxPageSetupDialogData object in the associated wxDC's logical coordinates for the
1147 current user scale and device origin. The page margins are specified
1148 with respect to the edges of the paper on all platforms.
1151 \membersection{wxPrintout::SetLogicalOrigin
}\label{wxprintoutsetlogicalorigin
}
1153 \func{void
}{SetLogicalOrigin
}{\param{wxCoord
}{x
},
\param{wxCoord
}{y
}}
1155 Set the device origin of the associated wxDC so that the current logical point
1156 becomes the new logical origin.
1159 \membersection{wxPrintout::OffsetLogicalOrigin
}\label{wxprintoutoffsetlogicalorigin
}
1161 \func{void
}{OffsetLogicalOrigin
}{\param{wxCoord
}{xoff
},
\param{wxCoord
}{yoff
}}
1163 Shift the device origin by an amount specified in logical coordinates.
1166 \membersection{wxPrintout::OnBeginDocument
}\label{wxprintoutonbegindocument
}
1168 \func{bool
}{OnBeginDocument
}{\param{int
}{ startPage
},
\param{int
}{ endPage
}}
1170 Called by the framework at the start of
document printing. Return false from
1171 this function cancels the print job. OnBeginDocument is called once for every
1174 The base wxPrintout::OnBeginDocument
{\it must
} be called (and the return value
1175 checked) from within the overridden function, since it calls wxDC::StartDoc.
1177 \pythonnote{If this method is overridden in a Python class then the
1178 base class version can be called by using the method
1179 {\tt base
\_OnBeginDocument(startPage, endPage)
}.
}
1182 \membersection{wxPrintout::OnEndDocument
}\label{wxprintoutonenddocument
}
1184 \func{void
}{OnEndDocument
}{\void}
1186 Called by the framework at the end of
document printing. OnEndDocument
1187 is called once for every copy printed.
1189 The base wxPrintout::OnEndDocument
{\it must
} be called
1190 from within the overridden function, since it calls wxDC::EndDoc.
1193 \membersection{wxPrintout::OnBeginPrinting
}\label{wxprintoutonbeginprinting
}
1195 \func{void
}{OnBeginPrinting
}{\void}
1197 Called by the framework at the start of printing. OnBeginPrinting is called once for every
1198 print job (regardless of how many copies are being printed).
1201 \membersection{wxPrintout::OnEndPrinting
}\label{wxprintoutonendprinting
}
1203 \func{void
}{OnEndPrinting
}{\void}
1205 Called by the framework at the end of printing. OnEndPrinting
1206 is called once for every print job (regardless of how many copies are being printed).
1209 \membersection{wxPrintout::OnPreparePrinting
}\label{wxprintoutonprepareprinting
}
1211 \func{void
}{OnPreparePrinting
}{\void}
1213 Called once by the framework before any other demands are made of the
1214 wxPrintout object. This gives the object an opportunity to calculate the
1215 number of pages in the
document, for example.
1218 \membersection{wxPrintout::OnPrintPage
}\label{wxprintoutonprintpage
}
1220 \func{bool
}{OnPrintPage
}{\param{int
}{ pageNum
}}
1222 Called by the framework when a page should be printed. Returning false cancels
1223 the print job. The application can use wxPrintout::GetDC to obtain a device
1226 \section{\class{wxPrintPreview
}}\label{wxprintpreview
}
1228 Objects of this class manage the print preview process. The object is passed
1229 a wxPrintout object, and the wxPrintPreview object itself is passed to
1230 a wxPreviewFrame object. Previewing is started by initializing and showing
1231 the preview frame. Unlike wxPrinter::Print, flow of control returns to the application
1232 immediately after the frame is shown.
1234 \wxheading{Derived from
}
1236 \helpref{wxObject
}{wxobject
}
1238 \wxheading{Include files
}
1242 \wxheading{See also
}
1244 \overview{Printing framework overview
}{printingoverview
},
1245 \helpref{wxPrinterDC
}{wxprinterdc
},
1246 \helpref{wxPrintDialog
}{wxprintdialog
},
1247 \helpref{wxPrintout
}{wxprintout
},
1248 \helpref{wxPrinter
}{wxprinter
},
1249 \helpref{wxPreviewCanvas
}{wxpreviewcanvas
},
1250 \helpref{wxPreviewControlBar
}{wxpreviewcontrolbar
},
1251 \helpref{wxPreviewFrame
}{wxpreviewframe
}.
1253 \latexignore{\rtfignore{\wxheading{Members
}}}
1256 \membersection{wxPrintPreview::wxPrintPreview
}\label{wxprintpreviewctor
}
1258 \func{}{wxPrintPreview
}{\param{wxPrintout*
}{printout
},
\param{wxPrintout*
}{printoutForPrinting
},
1259 \param{wxPrintData*
}{data=NULL
}}
1261 Constructor. Pass a printout object, an optional printout object to be
1262 used for actual printing, and the address of an optional
1263 block of printer data, which will be copied to the print preview object's
1266 If
{\it printoutForPrinting
} is non-NULL, a
{\bf Print...
} button will be placed on the
1267 preview frame so that the user can print directly from the preview interface.
1269 Do not explicitly delete the printout objects once this destructor has been
1270 called, since they will be deleted in the wxPrintPreview constructor.
1271 The same does not apply to the
{\it data
} argument.
1273 Test the Ok member to check whether the wxPrintPreview object was created correctly.
1274 Ok could return false if there was a problem initializing the printer device context
1275 (current printer not set, for example).
1278 \membersection{wxPrintPreview::
\destruct{wxPrintPreview
}}\label{wxprintpreviewdtor
}
1280 \func{}{\destruct{wxPrinter
}}{\void}
1282 Destructor. Deletes both print preview objects, so do not destroy these objects
1283 in your application.
1286 \membersection{wxPrintPreview::GetCanvas
}\label{wxprintpreviewgetcanvas
}
1288 \func{wxPreviewCanvas*
}{GetCanvas
}{\void}
1290 Gets the preview window used for displaying the print preview image.
1293 \membersection{wxPrintPreview::GetCurrentPage
}\label{wxprintpreviewgetcurrentpage
}
1295 \func{int
}{GetCurrentPage
}{\void}
1297 Gets the page currently being previewed.
1300 \membersection{wxPrintPreview::GetFrame
}\label{wxprintpreviewgetframe
}
1302 \func{wxFrame *
}{GetFrame
}{\void}
1304 Gets the frame used for displaying the print preview canvas
1308 \membersection{wxPrintPreview::GetMaxPage
}\label{wxprintpreviewgetmaxpage
}
1310 \func{int
}{GetMaxPage
}{\void}
1312 Returns the maximum page number.
1315 \membersection{wxPrintPreview::GetMinPage
}\label{wxprintpreviewgetminpage
}
1317 \func{int
}{GetMinPage
}{\void}
1319 Returns the minimum page number.
1322 \membersection{wxPrintPreview::GetPrintout
}\label{wxprintpreviewgetprintout
}
1324 \func{wxPrintout *
}{GetPrintout
}{\void}
1326 Gets the preview printout object associated with the wxPrintPreview object.
1329 \membersection{wxPrintPreview::GetPrintoutForPrinting
}\label{wxprintpreviewgetprintoutforprinting
}
1331 \func{wxPrintout *
}{GetPrintoutForPrinting
}{\void}
1333 Gets the printout object to be used for printing from within the preview interface,
1334 or NULL if none exists.
1337 \membersection{wxPrintPreview::IsOk
}\label{wxprintpreviewisok
}
1339 \func{bool
}{Ok
}{\void}
1341 Returns true if the wxPrintPreview is valid, false otherwise. It could return false if there was a
1342 problem initializing the printer device context (current printer not set, for example).
1345 \membersection{wxPrintPreview::PaintPage
}\label{wxprintpreviewpaintpage
}
1347 \func{bool
}{PaintPage
}{\param{wxPreviewCanvas *
}{canvas
},
\param{wxDC&
}{dc
}}
1349 This refreshes the preview window with the preview image.
1350 It must be called from the preview window's OnPaint member.
1352 The implementation simply blits the preview bitmap onto
1353 the canvas, creating a new preview bitmap if none exists.
1356 \membersection{wxPrintPreview::Print
}\label{wxprintpreviewprint
}
1358 \func{bool
}{Print
}{\param{bool
}{prompt
}}
1360 Invokes the print process using the second wxPrintout object
1361 supplied in the wxPrintPreview constructor.
1362 Will normally be called by the
{\bf Print...
} panel item on the
1363 preview frame's control bar.
1365 Returns false in case of error -- call
1366 \helpref{wxPrinter::GetLastError
}{wxprintergetlasterror
} to get detailed
1367 information about the kind of the error.
1370 \membersection{wxPrintPreview::RenderPage
}\label{wxprintpreviewrenderpage
}
1372 \func{bool
}{RenderPage
}{\param{int
}{pageNum
}}
1374 Renders a page into a wxMemoryDC. Used internally by wxPrintPreview.
1377 \membersection{wxPrintPreview::SetCanvas
}\label{wxprintpreviewsetcanvas
}
1379 \func{void
}{SetCanvas
}{\param{wxPreviewCanvas*
}{window
}}
1381 Sets the window to be used for displaying the print preview image.
1384 \membersection{wxPrintPreview::SetCurrentPage
}\label{wxprintpreviewsetcurrentpage
}
1386 \func{void
}{SetCurrentPage
}{\param{int
}{ pageNum
}}
1388 Sets the current page to be previewed.
1391 \membersection{wxPrintPreview::SetFrame
}\label{wxprintpreviewsetframe
}
1393 \func{void
}{SetFrame
}{\param{wxFrame *
}{frame
}}
1395 Sets the frame to be used for displaying the print preview canvas
1399 \membersection{wxPrintPreview::SetPrintout
}\label{wxprintpreviewsetprintout
}
1401 \func{void
}{SetPrintout
}{\param{wxPrintout *
}{printout
}}
1403 Associates a printout object with the wxPrintPreview object.
1406 \membersection{wxPrintPreview::SetZoom
}\label{wxprintpreviewsetzoom
}
1408 \func{void
}{SetZoom
}{\param{int
}{ percent
}}
1410 Sets the percentage preview zoom, and refreshes the preview canvas