]> git.saurik.com Git - wxWidgets.git/blame - docs/latex/wx/print.tex
corrected Get/SetFrame() parameter/return type
[wxWidgets.git] / docs / latex / wx / print.tex
CommitLineData
a660d684
KB
1\section{\class{wxPrintData}}\label{wxprintdata}
2
7bcb11d3
JS
3This class holds a variety of information related to printers and
4printer device contexts. This class is used to create a wxPrinterDC
5and a wxPostScriptDC. It is also used as a data member of wxPrintDialogData
6and wxPageSetupDialogData, as part of the mechanism for transferring data
7between the print dialogs and the application.
a660d684
KB
8
9\wxheading{Derived from}
10
11\helpref{wxObject}{wxobject}
12
954b8ae6
JS
13\wxheading{Include files}
14
15<wx/cmndata.h>
16
a660d684
KB
17\wxheading{See also}
18
fa482912
JS
19\helpref{wxPrintDialog}{wxprintdialog},
20\helpref{wxPageSetupDialog}{wxpagesetupdialog},
21\helpref{wxPrintDialogData}{wxprintdialogdata},
22\helpref{wxPageSetupDialogData}{wxpagesetupdialogdata},
23\helpref{wxPrintDialog Overview}{wxprintdialogoverview},
24\helpref{wxPrinterDC}{wxprinterdc},
7bcb11d3
JS
25\helpref{wxPostScriptDC}{wxpostscriptdc}
26
27\wxheading{Remarks}
28
29The following functions are specific to PostScript printing
30and have not yet been documented:
31
32\begin{verbatim}
33const wxString& GetPrinterCommand() const ;
34const wxString& GetPrinterOptions() const ;
35const wxString& GetPreviewCommand() const ;
36const wxString& GetFilename() const ;
37const wxString& GetFontMetricPath() const ;
38double GetPrinterScaleX() const ;
39double GetPrinterScaleY() const ;
40long GetPrinterTranslateX() const ;
41long GetPrinterTranslateY() const ;
42// wxPRINT_MODE_PREVIEW, wxPRINT_MODE_FILE, wxPRINT_MODE_PRINTER
43wxPrintMode GetPrintMode() const ;
44
45void SetPrinterCommand(const wxString& command) ;
46void SetPrinterOptions(const wxString& options) ;
47void SetPreviewCommand(const wxString& command) ;
48void SetFilename(const wxString& filename) ;
49void SetFontMetricPath(const wxString& path) ;
50void SetPrinterScaleX(double x) ;
51void SetPrinterScaleY(double y) ;
52void SetPrinterScaling(double x, double y) ;
53void SetPrinterTranslateX(long x) ;
54void SetPrinterTranslateY(long y) ;
55void SetPrinterTranslation(long x, long y) ;
56void SetPrintMode(wxPrintMode printMode) ;
57\end{verbatim}
a660d684
KB
58
59\latexignore{\rtfignore{\wxheading{Members}}}
60
61\membersection{wxPrintData::wxPrintData}
62
63\func{}{wxPrintData}{\void}
64
7bcb11d3
JS
65Default constructor.
66
67\func{}{wxPrintData}{\param{const wxPrintData\&}{ data}}
68
69Copy constructor.
a660d684
KB
70
71\membersection{wxPrintData::\destruct{wxPrintData}}
72
73\func{}{\destruct{wxPrintData}}{\void}
74
75Destructor.
76
a660d684
KB
77\membersection{wxPrintData::GetCollate}\label{wxprintdatagetcollate}
78
7bcb11d3 79\constfunc{bool}{GetCollate}{\void}
a660d684 80
7bcb11d3 81Returns TRUE if collation is on.
a660d684 82
7bcb11d3 83\membersection{wxPrintData::GetColour}\label{wxprintdatagetcolour}
a660d684 84
7bcb11d3 85\constfunc{bool}{GetColour}{\void}
a660d684 86
7bcb11d3 87Returns TRUE if colour printing is on.
a660d684 88
7bcb11d3 89\membersection{wxPrintData::GetDuplex}\label{wxprintdatagetduplex}
a660d684 90
7bcb11d3 91\constfunc{wxDuplexMode}{GetDuplex}{\void}
a660d684 92
7bcb11d3 93Returns the duplex mode. One of wxDUPLEX\_SIMPLEX, wxDUPLEX\_HORIZONTAL, wxDUPLEX\_VERTICAL.
a660d684
KB
94
95\membersection{wxPrintData::GetNoCopies}\label{wxprintdatagetnocopies}
96
7bcb11d3 97\constfunc{int}{GetNoCopies}{\void}
a660d684
KB
98
99Returns the number of copies requested by the user.
100
101\membersection{wxPrintData::GetOrientation}\label{wxprintdatagetorientation}
102
7bcb11d3 103\constfunc{int}{GetOrientation}{\void}
a660d684
KB
104
105Gets the orientation. This can be wxLANDSCAPE or wxPORTRAIT.
106
7bcb11d3 107\membersection{wxPrintData::GetPaperId}\label{wxprintdatagetpaperid}
a660d684 108
7bcb11d3 109\constfunc{wxPaperSize}{GetPaperId}{\void}
a660d684 110
7bcb11d3 111Returns the paper size id. For more information, see \helpref{wxPrintData::SetPaperId}{wxprintdatasetpaperid}.
a660d684 112
7bcb11d3 113\membersection{wxPrintData::GetPrinterName}\label{wxprintdatagetprintername}
a660d684 114
7bcb11d3 115\constfunc{const wxString\&}{GetPrinterName}{\void}
a660d684 116
7bcb11d3
JS
117Returns the printer name. If the printer name is the empty string, it indicates that the default
118printer should be used.
a660d684 119
7bcb11d3 120\membersection{wxPrintData::GetQuality}\label{wxprintdatagetquality}
a660d684 121
7bcb11d3 122\constfunc{wxPaperQuality}{GetQuality}{\void}
a660d684 123
7bcb11d3
JS
124Returns the current print quality. This can be a positive integer, denoting the number of dots per inch, or
125one of the following identifiers:
a660d684 126
7bcb11d3 127\begin{verbatim}
a66abda9
GT
128wxPRINT_QUALITY_HIGH
129wxPRINT_QUALITY_MEDIUM
130wxPRINT_QUALITY_LOW
131wxPRINT_QUALITY_DRAFT
7bcb11d3 132\end{verbatim}
a660d684 133
7bcb11d3
JS
134On input you should pass one of these identifiers, but on return you may get back a positive integer
135indicating the current resolution setting.
a660d684 136
58cf0491
JS
137\membersection{wxPrintData::Ok}\label{wxprintdataok}
138
139\constfunc{bool}{Ok}{\void}
140
141Returns TRUE if the print data is valid for using in print dialogs.
142This can return FALSE on Windows if the current printer is not set, for example.
143On all other platforms, it returns TRUE.
144
7bcb11d3 145\membersection{wxPrintData::SetCollate}\label{wxprintdatasetcollate}
a660d684 146
7bcb11d3 147\func{void}{SetCollate}{\param{bool }{flag}}
a660d684 148
7bcb11d3 149Sets collation to on or off.
a660d684 150
7bcb11d3 151\membersection{wxPrintData::SetColour}\label{wxprintdatasetcolour}
a660d684 152
7bcb11d3 153\func{void}{SetColour}{\param{bool }{flag}}
a660d684 154
7bcb11d3 155Sets colour printing on or off.
a660d684 156
7bcb11d3
JS
157\membersection{wxPrintData::SetDuplex}\label{wxprintdatasetduplex}
158
159\func{void}{SetDuplex}{\param{wxDuplexMode}{ mode}}
160
161Returns the duplex mode. One of wxDUPLEX\_SIMPLEX, wxDUPLEX\_HORIZONTAL, wxDUPLEX\_VERTICAL.
a660d684
KB
162
163\membersection{wxPrintData::SetNoCopies}\label{wxprintdatasetnocopies}
164
165\func{void}{SetNoCopies}{\param{int }{n}}
166
167Sets the default number of copies to be printed out.
168
7bcb11d3 169\membersection{wxPrintData::SetOrientation}\label{wxprintdatasetorientation}
a660d684 170
7bcb11d3 171\func{void}{SetOrientation}{\param{int }{orientation}}
a660d684 172
7bcb11d3 173Sets the orientation. This can be wxLANDSCAPE or wxPORTRAIT.
a660d684 174
7bcb11d3
JS
175\membersection{wxPrintData::SetPaperId}\label{wxprintdatasetpaperid}
176
177\func{void}{SetPaperId}{\param{wxPaperSize}{ paperId}}
178
179\index{wxPaperSize}Sets the paper id. This indicates the type of paper to be used. For a mapping between
180paper id, paper size and string name, see wxPrintPaperDatabase in {\tt paper.h} (not yet documented).
181
182{\it paperId} can be one of:
183
184{\small
185\begin{verbatim}
186 wxPAPER_NONE, // Use specific dimensions
187 wxPAPER_LETTER, // Letter, 8 1/2 by 11 inches
188 wxPAPER_LEGAL, // Legal, 8 1/2 by 14 inches
189 wxPAPER_A4, // A4 Sheet, 210 by 297 millimeters
190 wxPAPER_CSHEET, // C Sheet, 17 by 22 inches
191 wxPAPER_DSHEET, // D Sheet, 22 by 34 inches
192 wxPAPER_ESHEET, // E Sheet, 34 by 44 inches
193 wxPAPER_LETTERSMALL, // Letter Small, 8 1/2 by 11 inches
194 wxPAPER_TABLOID, // Tabloid, 11 by 17 inches
195 wxPAPER_LEDGER, // Ledger, 17 by 11 inches
196 wxPAPER_STATEMENT, // Statement, 5 1/2 by 8 1/2 inches
197 wxPAPER_EXECUTIVE, // Executive, 7 1/4 by 10 1/2 inches
198 wxPAPER_A3, // A3 sheet, 297 by 420 millimeters
199 wxPAPER_A4SMALL, // A4 small sheet, 210 by 297 millimeters
200 wxPAPER_A5, // A5 sheet, 148 by 210 millimeters
201 wxPAPER_B4, // B4 sheet, 250 by 354 millimeters
202 wxPAPER_B5, // B5 sheet, 182-by-257-millimeter paper
203 wxPAPER_FOLIO, // Folio, 8-1/2-by-13-inch paper
204 wxPAPER_QUARTO, // Quarto, 215-by-275-millimeter paper
205 wxPAPER_10X14, // 10-by-14-inch sheet
206 wxPAPER_11X17, // 11-by-17-inch sheet
207 wxPAPER_NOTE, // Note, 8 1/2 by 11 inches
208 wxPAPER_ENV_9, // #9 Envelope, 3 7/8 by 8 7/8 inches
209 wxPAPER_ENV_10, // #10 Envelope, 4 1/8 by 9 1/2 inches
210 wxPAPER_ENV_11, // #11 Envelope, 4 1/2 by 10 3/8 inches
211 wxPAPER_ENV_12, // #12 Envelope, 4 3/4 by 11 inches
212 wxPAPER_ENV_14, // #14 Envelope, 5 by 11 1/2 inches
213 wxPAPER_ENV_DL, // DL Envelope, 110 by 220 millimeters
214 wxPAPER_ENV_C5, // C5 Envelope, 162 by 229 millimeters
215 wxPAPER_ENV_C3, // C3 Envelope, 324 by 458 millimeters
216 wxPAPER_ENV_C4, // C4 Envelope, 229 by 324 millimeters
217 wxPAPER_ENV_C6, // C6 Envelope, 114 by 162 millimeters
218 wxPAPER_ENV_C65, // C65 Envelope, 114 by 229 millimeters
219 wxPAPER_ENV_B4, // B4 Envelope, 250 by 353 millimeters
220 wxPAPER_ENV_B5, // B5 Envelope, 176 by 250 millimeters
221 wxPAPER_ENV_B6, // B6 Envelope, 176 by 125 millimeters
222 wxPAPER_ENV_ITALY, // Italy Envelope, 110 by 230 millimeters
223 wxPAPER_ENV_MONARCH, // Monarch Envelope, 3 7/8 by 7 1/2 inches
224 wxPAPER_ENV_PERSONAL, // 6 3/4 Envelope, 3 5/8 by 6 1/2 inches
225 wxPAPER_FANFOLD_US, // US Std Fanfold, 14 7/8 by 11 inches
226 wxPAPER_FANFOLD_STD_GERMAN, // German Std Fanfold, 8 1/2 by 12 inches
227 wxPAPER_FANFOLD_LGL_GERMAN, // German Legal Fanfold, 8 1/2 by 13 inches
228
229Windows 95 only:
230 wxPAPER_ISO_B4, // B4 (ISO) 250 x 353 mm
231 wxPAPER_JAPANESE_POSTCARD, // Japanese Postcard 100 x 148 mm
232 wxPAPER_9X11, // 9 x 11 in
233 wxPAPER_10X11, // 10 x 11 in
234 wxPAPER_15X11, // 15 x 11 in
235 wxPAPER_ENV_INVITE, // Envelope Invite 220 x 220 mm
236 wxPAPER_LETTER_EXTRA, // Letter Extra 9 \275 x 12 in
237 wxPAPER_LEGAL_EXTRA, // Legal Extra 9 \275 x 15 in
238 wxPAPER_TABLOID_EXTRA, // Tabloid Extra 11.69 x 18 in
239 wxPAPER_A4_EXTRA, // A4 Extra 9.27 x 12.69 in
240 wxPAPER_LETTER_TRANSVERSE, // Letter Transverse 8 \275 x 11 in
241 wxPAPER_A4_TRANSVERSE, // A4 Transverse 210 x 297 mm
242 wxPAPER_LETTER_EXTRA_TRANSVERSE, // Letter Extra Transverse 9\275 x 12 in
243 wxPAPER_A_PLUS, // SuperA/SuperA/A4 227 x 356 mm
244 wxPAPER_B_PLUS, // SuperB/SuperB/A3 305 x 487 mm
245 wxPAPER_LETTER_PLUS, // Letter Plus 8.5 x 12.69 in
246 wxPAPER_A4_PLUS, // A4 Plus 210 x 330 mm
247 wxPAPER_A5_TRANSVERSE, // A5 Transverse 148 x 210 mm
248 wxPAPER_B5_TRANSVERSE, // B5 (JIS) Transverse 182 x 257 mm
249 wxPAPER_A3_EXTRA, // A3 Extra 322 x 445 mm
250 wxPAPER_A5_EXTRA, // A5 Extra 174 x 235 mm
251 wxPAPER_B5_EXTRA, // B5 (ISO) Extra 201 x 276 mm
252 wxPAPER_A2, // A2 420 x 594 mm
253 wxPAPER_A3_TRANSVERSE, // A3 Transverse 297 x 420 mm
254 wxPAPER_A3_EXTRA_TRANSVERSE // A3 Extra Transverse 322 x 445 mm
255\end{verbatim}
256}
257
258\membersection{wxPrintData::SetPrinterName}\label{wxprintdatasetprintername}
259
260\func{void}{SetPrinterName}{\param{const wxString\& }{printerName}}
261
262Sets the printer name. This can be the empty string to indicate that the default
263printer should be used.
264
265\membersection{wxPrintData::SetQuality}\label{wxprintdatasetquality}
266
267\func{void}{SetQuality}{\param{wxPaperQuality}{ quality}}
268
269Sets the desired print quality. This can be a positive integer, denoting the number of dots per inch, or
270one of the following identifiers:
271
272\begin{verbatim}
a66abda9
GT
273wxPRINT_QUALITY_HIGH
274wxPRINT_QUALITY_MEDIUM
275wxPRINT_QUALITY_LOW
276wxPRINT_QUALITY_DRAFT
7bcb11d3
JS
277\end{verbatim}
278
279On input you should pass one of these identifiers, but on return you may get back a positive integer
280indicating the current resolution setting.
281
282\membersection{wxPrintData::operator $=$}\label{wxprintdataassign}
283
284\func{void}{operator $=$}{\param{const wxPrintData\&}{ data}}
285
286Assigns print data to this object.
287
288\func{void}{operator $=$}{\param{const wxPrintSetupData\&}{ data}}
289
290Assigns print setup data to this object. wxPrintSetupData is deprecated,
291but retained for backward compatibility.
a660d684
KB
292
293\section{\class{wxPrintDialog}}\label{wxprintdialog}
294
295This class represents the print and print setup common dialogs.
296You may obtain a \helpref{wxPrinterDC}{wxprinterdc} device context from
297a successfully dismissed print dialog.
298
299\wxheading{Derived from}
300
301\helpref{wxDialog}{wxdialog}\\
302\helpref{wxWindow}{wxwindow}\\
303\helpref{wxEvtHandler}{wxevthandler}\\
304\helpref{wxObject}{wxobject}
305
954b8ae6
JS
306\wxheading{Include files}
307
308<wx/printdlg.h>
309
a660d684
KB
310\wxheading{See also}
311
312\helpref{wxPrintDialog Overview}{wxprintdialogoverview}
313
314\latexignore{\rtfignore{\wxheading{Members}}}
315
316\membersection{wxPrintDialog::wxPrintDialog}
317
7bcb11d3 318\func{}{wxPrintDialog}{\param{wxWindow* }{parent}, \param{wxPrintDialogData* }{data = NULL}}
a660d684
KB
319
320Constructor. Pass a parent window, and optionally a pointer to a block of print
321data, which will be copied to the print dialog's print data.
322
323\wxheading{See also}
324
7bcb11d3 325\helpref{wxPrintDialogData}{wxprintdialogdata}
a660d684
KB
326
327\membersection{wxPrintDialog::\destruct{wxPrintDialog}}
328
329\func{}{\destruct{wxPrintDialog}}{\void}
330
331Destructor. If wxPrintDialog::GetPrintDC has {\it not} been called,
332the device context obtained by the dialog (if any) will be deleted.
333
7bcb11d3 334\membersection{wxPrintDialog::GetPrintDialogData}\label{wxprintdialoggetprintdialogdata}
a660d684 335
7bcb11d3 336\func{wxPrintDialogData\&}{GetPrintDialogData}{\void}
a660d684 337
7bcb11d3 338Returns the \helpref{print dialog data}{wxprintdialogdata} associated with the print dialog.
a660d684
KB
339
340\membersection{wxPrintDialog::GetPrintDC}\label{wxprintdialoggetprintdc}
341
342\func{wxDC* }{GetPrintDC}{\void}
343
344Returns the device context created by the print dialog, if any.
345When this function has been called, the ownership of the device context
346is transferred to the application, so it must then be deleted
347explicitly.
348
58cf0491
JS
349\membersection{wxPrintDialog::Ok}\label{wxprintdialogok}
350
351\constfunc{bool}{Ok}{\void}
352
353Returns TRUE if the print data associated with the dialog is valid.
354This can return FALSE on Windows if the current printer is not set, for example.
355On all other platforms, it returns TRUE.
356
a660d684
KB
357\membersection{wxPrintDialog::ShowModal}\label{wxprintdialogshowmodal}
358
359\func{int}{ShowModal}{\void}
360
361Shows the dialog, returning wxID\_OK if the user pressed OK, and wxID\_CANCEL
362otherwise. After this function is called, a device context may
363be retrievable using \helpref{wxPrintDialog::GetPrintDC}{wxprintdialoggetprintdc}.
364
7bcb11d3
JS
365\section{\class{wxPrintDialogData}}\label{wxprintdialogdata}
366
367This class holds information related to the visual characteristics of wxPrintDialog.
368It contains a wxPrintData object with underlying printing settings.
369
370\wxheading{Derived from}
371
372\helpref{wxObject}{wxobject}
373
374\wxheading{Include files}
375
376<wx/cmndata.h>
377
378\wxheading{See also}
379
380\helpref{wxPrintDialog}{wxprintdialog}, \helpref{wxPrintDialog Overview}{wxprintdialogoverview}
381
382\latexignore{\rtfignore{\wxheading{Members}}}
383
384\membersection{wxPrintDialogData::wxPrintDialogData}
385
386\func{}{wxPrintDialogData}{\void}
387
388Default constructor.
389
390\func{}{wxPrintDialogData}{\param{wxPrintDialogData\&}{ dialogData}}
391
392Copy constructor.
393
394\func{}{wxPrintDialogData}{\param{wxPrintData\&}{ printData}}
395
396Construct an object from a print dialog data object.
397
398\membersection{wxPrintDialogData::\destruct{wxprintdialogdata}}
399
400\func{}{\destruct{wxPrintDialogData}}{\void}
401
402Destructor.
403
404\membersection{wxPrintDialogData::EnableHelp}\label{wxprintdialogdataenablehelp}
405
406\func{void}{EnableHelp}{\param{bool }{flag}}
407
408Enables or disables the `Help' button.
409
410\membersection{wxPrintDialogData::EnablePageNumbers}\label{wxprintdialogdataenablepagenumbers}
411
412\func{void}{EnablePageNumbers}{\param{bool }{flag}}
413
414Enables or disables the `Page numbers' controls.
415
416\membersection{wxPrintDialogData::EnablePrintToFile}\label{wxprintdialogdataenableprinttofile}
417
418\func{void}{EnablePrintToFile}{\param{bool }{flag}}
419
420Enables or disables the `Print to file' checkbox.
421
422\membersection{wxPrintDialogData::EnableSelection}\label{wxprintdialogdataenableselection}
423
424\func{void}{EnableSelection}{\param{bool }{flag}}
425
426Enables or disables the `Selection' radio button.
427
428\membersection{wxPrintDialogData::GetAllPages}\label{wxprintdialogdatagetallpages}
429
430\constfunc{bool}{GetAllPages}{\void}
431
432Returns TRUE if the user requested that all pages be printed.
433
434\membersection{wxPrintDialogData::GetCollate}\label{wxprintdialogdatagetcollate}
435
436\constfunc{bool}{GetCollate}{\void}
437
438Returns TRUE if the user requested that the document(s) be collated.
439
440\membersection{wxPrintDialogData::GetFromPage}\label{wxprintdialogdatagetfrompage}
441
442\constfunc{int}{GetFromPage}{\void}
443
444Returns the {\it from} page number, as entered by the user.
445
446\membersection{wxPrintDialogData::GetMaxPage}\label{wxprintdialogdatagetmaxpage}
447
448\constfunc{int}{GetMaxPage}{\void}
449
450Returns the {\it maximum} page number.
451
452\membersection{wxPrintDialogData::GetMinPage}\label{wxprintdialogdatagetminpage}
453
454\constfunc{int}{GetMinPage}{\void}
455
456Returns the {\it minimum} page number.
457
458\membersection{wxPrintDialogData::GetNoCopies}\label{wxprintdialogdatagetnocopies}
459
460\constfunc{int}{GetNoCopies}{\void}
461
462Returns the number of copies requested by the user.
463
464\membersection{wxPrintDialogData::GetPrintData}\label{wxprintdialogdatagetprintdata}
465
466\func{wxPrintData\&}{GetPrintData}{\void}
467
468Returns a reference to the internal wxPrintData object.
469
470\membersection{wxPrintDialogData::GetPrintToFile}\label{wxprintdialogdatagetprinttofile}
471
472\constfunc{bool}{GetPrintToFile}{\void}
473
474Returns TRUE if the user has selected printing to a file.
475
5360828d
JS
476\membersection{wxPrintDialogData::GetSelection}\label{wxprintdialogdatagetselection}
477
478\constfunc{bool}{GetSelection}{\void}
479
480Returns TRUE if the user requested that the selection be printed (where 'selection' is
481a concept specific to the application).
482
7bcb11d3
JS
483\membersection{wxPrintDialogData::GetToPage}\label{wxprintdialogdatagettopage}
484
485\constfunc{int}{GetToPage}{\void}
486
487Returns the {\it to} page number, as entered by the user.
488
58cf0491
JS
489\membersection{wxPrintDialogData::Ok}\label{wxprintdialogdataok}
490
491\constfunc{bool}{Ok}{\void}
492
493Returns TRUE if the print data is valid for using in print dialogs.
494This can return FALSE on Windows if the current printer is not set, for example.
495On all other platforms, it returns TRUE.
496
7bcb11d3
JS
497\membersection{wxPrintDialogData::SetCollate}\label{wxprintdialogdatasetcollate}
498
499\func{void}{SetCollate}{\param{bool }{flag}}
500
501Sets the 'Collate' checkbox to TRUE or FALSE.
502
503\membersection{wxPrintDialogData::SetFromPage}\label{wxprintdialogdatasetfrompage}
504
505\func{void}{SetFromPage}{\param{int }{page}}
506
507Sets the {\it from} page number.
508
509\membersection{wxPrintDialogData::SetMaxPage}\label{wxprintdialogdatasetmaxpage}
510
511\func{void}{SetMaxPage}{\param{int }{page}}
512
513Sets the {\it maximum} page number.
514
515\membersection{wxPrintDialogData::SetMinPage}\label{wxprintdialogdatasetminpage}
516
517\func{void}{SetMinPage}{\param{int }{page}}
518
519Sets the {\it minimum} page number.
520
521\membersection{wxPrintDialogData::SetNoCopies}\label{wxprintdialogdatasetnocopies}
522
523\func{void}{SetNoCopies}{\param{int }{n}}
524
525Sets the default number of copies the user has requested to be printed out.
526
527\membersection{wxPrintDialogData::SetPrintData}\label{wxprintdialogdatasetprintdata}
528
529\func{void}{SetPrintData}{\param{const wxPrintData\& }{printData}}
530
531Sets the internal wxPrintData.
532
533\membersection{wxPrintDialogData::SetPrintToFile}\label{wxprintdialogdatasetprinttofile}
534
535\func{void}{SetPrintToFile}{\param{bool }{flag}}
536
537Sets the 'Print to file' checkbox to TRUE or FALSE.
538
5360828d
JS
539\membersection{wxPrintDialogData::SetSelection}\label{wxprintdialogdatasetselection}
540
541\func{void}{SetSelection}{\param{bool}{ flag}}
542
543Selects the 'Selection' radio button. The effect of printing the selection depends on how the application
544implements this command, if at all.
545
7bcb11d3
JS
546\membersection{wxPrintDialogData::SetSetupDialog}\label{wxprintdialogdatasetsetupdialog}
547
548\func{void}{SetSetupDialog}{\param{bool }{flag}}
549
550Determines whether the dialog to be shown will be the Print dialog
551(pass FALSE) or Print Setup dialog (pass TRUE).
552
553Note that the setup dialog is (according to Microsoft) obsolete from
554Windows 95, though retained for backward compatibility.
555
556\membersection{wxPrintDialogData::SetToPage}\label{wxprintdialogdatasettopage}
557
558\func{void}{SetToPage}{\param{int }{page}}
559
560Sets the {\it to} page number.
561
562\membersection{wxPrintDialogData::operator $=$}\label{wxprintdialogdataassign}
563
564\func{void}{operator $=$}{\param{const wxPrintData\&}{ data}}
565
566Assigns print data to this object.
567
568\func{void}{operator $=$}{\param{const wxPrintDialogData\&}{ data}}
569
570Assigns another print dialog data object to this object.
571
a660d684
KB
572\section{\class{wxPrinter}}\label{wxprinter}
573
574This class represents the Windows or PostScript printer, and is the vehicle through
575which printing may be launched by an application. Printing can also
576be achieved through using of lower functions and classes, but
577this and associated classes provide a more convenient and general
578method of printing.
579
580\wxheading{Derived from}
581
582\helpref{wxObject}{wxobject}
583
954b8ae6
JS
584\wxheading{Include files}
585
586<wx/print.h>
587
a660d684
KB
588\wxheading{See also}
589
590\helpref{Printing framework overview}{printingoverview}, \helpref{wxPrinterDC}{wxprinterdc}, \helpref{wxPrintDialog}{wxprintdialog},\rtfsp
591\helpref{wxPrintout}{wxprintout}, \helpref{wxPrintPreview}{wxprintpreview}.
592
593\latexignore{\rtfignore{\wxheading{Members}}}
594
595\membersection{wxPrinter::wxPrinter}
596
7bcb11d3 597\func{}{wxPrinter}{\param{wxPrintDialogData* }{data = NULL}}
a660d684
KB
598
599Constructor. Pass an optional pointer to a block of print
7bcb11d3 600dialog data, which will be copied to the printer object's local data.
a660d684
KB
601
602\wxheading{See also}
603
2233e5b8 604\helpref{wxPrintDialogData}{wxprintdialogdata},
a660d684
KB
605\helpref{wxPrintData}{wxprintdata}
606
607\membersection{wxPrinter::\destruct{wxPrinter}}
608
609\func{}{\destruct{wxPrinter}}{\void}
610
611Destructor.
612
613\membersection{wxPrinter::Abort}\label{wxprinterabort}
614
615\func{bool}{Abort}{\void}
616
617Returns TRUE if the user has aborted the print job.
618
619\membersection{wxPrinter::CreateAbortWindow}\label{wxprintercreateabortwindow}
620
621\func{void}{CreateAbortWindow}{\param{wxWindow* }{parent}, \param{wxPrintout* }{printout}}
622
623Creates the default printing abort window, with a cancel button.
624
f6bcfd97
BP
625
626\membersection{wxPrinter::GetLastError}\label{wxprintergetlasterror}
627
628\func{static wxPrinterError}{GetLastError}{\void}
629
630Return last error. Valid after calling \helpref{Print}{wxprinterprint},
631\helpref{PrintDialog}{wxprinterprintdialog} or
632\helpref{wxPrintPreview::Print}{wxprintpreviewprint}. These functions
633set last error to {\bf wxPRINTER\_NO\_ERROR} if no error happened.
634
635Returned value is one of the following:
636
637\twocolwidtha{7cm}
638\begin{twocollist}\itemsep=0pt
639\twocolitem{{\bf wxPRINTER\_NO\_ERROR}}{No error happened.}
640\twocolitem{{\bf wxPRINTER\_CANCELLED}}{The user cancelled printing.}
641\twocolitem{{\bf wxPRINTER\_ERROR}}{There was an error during printing.}
642\end{twocollist}
643
644
7bcb11d3 645\membersection{wxPrinter::GetPrintDialogData}\label{wxprintergetprintdialogdata}
a660d684 646
7bcb11d3 647\func{wxPrintDialogData\&}{GetPrintDialogData}{\void}
a660d684
KB
648
649Returns the \helpref{print data}{wxprintdata} associated with the printer object.
650
651\membersection{wxPrinter::Print}\label{wxprinterprint}
652
653\func{bool}{Print}{\param{wxWindow *}{parent}, \param{wxPrintout *}{printout}, \param{bool }{prompt=TRUE}}
654
655Starts the printing process. Provide a parent window, a user-defined wxPrintout object which controls
656the printing of a document, and whether the print dialog should be invoked first.
657
658Print could return FALSE if there was a problem initializing the printer device context
f6bcfd97
BP
659(current printer not set, for example) or the user cancelled printing. Call
660\helpref{wxPrinter::GetLastError}{wxprintergetlasterror} to get detailed
661information about the kind of the error.
a660d684
KB
662
663\membersection{wxPrinter::PrintDialog}\label{wxprinterprintdialog}
664
7bcb11d3
JS
665\func{wxDC*}{PrintDialog}{\param{wxWindow *}{parent}}
666
667Invokes the print dialog. If successful (the user did not press Cancel
668and no error occurred), a suitable device context will be returned
f6bcfd97
BP
669(otherwise NULL is returned -- call
670\helpref{wxPrinter::GetLastError}{wxprintergetlasterror} to get detailed
671information about the kind of the error).
a660d684 672
7bcb11d3 673The application must delete this device context to avoid a memory leak.
a660d684
KB
674
675\membersection{wxPrinter::ReportError}\label{wxprinterreporterror}
676
677\func{void}{ReportError}{\param{wxWindow *}{parent}, \param{wxPrintout *}{printout}, \param{const wxString\& }{message}}
678
679Default error-reporting function.
680
681\membersection{wxPrinter::Setup}\label{wxprintersetup}
682
7bcb11d3 683\func{bool}{Setup}{\param{wxWindow *}{parent}}
a660d684
KB
684
685Invokes the print setup dialog. Note that the setup dialog is obsolete from
686Windows 95, though retained for backward compatibility.
687
688\section{\class{wxPrinterDC}}\label{wxprinterdc}
689
690A printer device context is specific to Windows, and allows access to
691any printer with a Windows driver. See \helpref{wxDC}{wxdc} for further information
692on device contexts, and \helpref{wxDC::GetSize}{wxdcgetsize} for advice on
693achieving the correct scaling for the page.
694
695\wxheading{Derived from}
696
697\helpref{wxDC}{wxdc}\\
698\helpref{wxObject}{wxdc}
699
954b8ae6
JS
700\wxheading{Include files}
701
702<wx/dcprint.h>
703
a660d684
KB
704\wxheading{See also}
705
706\helpref{wxDC}{wxdc}, \helpref{Printing framework overview}{printingoverview}
707
708\latexignore{\rtfignore{\wxheading{Members}}}
709
710\membersection{wxPrinterDC::wxPrinterDC}
711
7bcb11d3
JS
712\func{}{wxPrinterDC}{\param{const wxPrintData\& }{printData}}
713
714Pass a \helpref{wxPrintData}{wxprintdata} object with information
715necessary for setting up a suitable printer device context. This
716is the recommended way to construct a wxPrinterDC.
717
a660d684 718\func{}{wxPrinterDC}{\param{const wxString\& }{driver}, \param{const wxString\& }{device}, \param{const wxString\& }{output},
eaaa6a06 719 \param{const bool }{interactive = TRUE}, \param{int }{orientation = wxPORTRAIT}}
a660d684
KB
720
721Constructor. With empty strings for the first three arguments, the default printer dialog is
722displayed. {\it device} indicates the type of printer and {\it output}
723is an optional file for printing to. The {\it driver} parameter is
724currently unused. Use the {\it Ok} member to test whether the
2edb0bde 725constructor was successful in creating a usable device context.
a660d684 726
7bcb11d3
JS
727This constructor is deprecated and retained only for backward compatibility.
728
a660d684
KB
729\section{\class{wxPrintout}}\label{wxprintout}
730
731This class encapsulates the functionality of printing out an
732application document. A new class must be derived and members
733overridden to respond to calls such as OnPrintPage and HasPage.
734Instances of this class are passed to wxPrinter::Print or a
735wxPrintPreview object to initiate printing or previewing.
736
737\wxheading{Derived from}
738
739\helpref{wxObject}{wxobject}
740
954b8ae6
JS
741\wxheading{Include files}
742
743<wx/print.h>
744
a660d684
KB
745\wxheading{See also}
746
747\helpref{Printing framework overview}{printingoverview}, \helpref{wxPrinterDC}{wxprinterdc}, \helpref{wxPrintDialog}{wxprintdialog},\rtfsp
748\helpref{wxPrinter}{wxprinter}, \helpref{wxPrintPreview}{wxprintpreview}
749
750\latexignore{\rtfignore{\wxheading{Members}}}
751
752\membersection{wxPrintout::wxPrintout}
753
754\func{}{wxPrintout}{\param{const wxString\& }{title = "Printout"}}
755
2edb0bde 756Constructor. Pass an optional title argument - the current filename would be a good idea. This will appear in the printing list
fc799548 757(at least in MSW)
a660d684
KB
758
759\membersection{wxPrintout::\destruct{wxPrintout}}
760
761\func{}{\destruct{wxPrintout}}{\void}
762
763Destructor.
764
765\membersection{wxPrintout::GetDC}\label{wxprintoutgetdc}
766
767\func{wxDC *}{GetDC}{\void}
768
769Returns the device context associated with the printout (given to the printout at start of
770printing or previewing). This will be a wxPrinterDC if printing under Windows,
771a wxPostScriptDC if printing on other platforms, and a wxMemoryDC if previewing.
772
773\membersection{wxPrintout::GetPageInfo}\label{wxprintoutgetpageinfo}
774
775\func{void}{GetPageInfo}{\param{int *}{minPage}, \param{int *}{maxPage}, \param{int *}{pageFrom}, \param{int *}{pageTo}}
776
777Called by the framework to obtain information from the application about minimum and maximum page values that
778the user can select, and the required page range to be printed. By default this
779returns 1, 32000 for the page minimum and maximum values, and 1, 1 for the required page range.
780
781If {\it minPage} is zero, the page number controls in the print dialog will be disabled.
782
2233e5b8
RD
783\pythonnote{When this method is implemented in a derived Python class,
784it should be designed to take no parameters (other than the self
785reference) and to return a tuple of four integers.
786}
787
0a67eeac
MB
788\perlnote{When this method is overridden in a derived class,
789it must not take any parameters, an return a 4-element list.
790}
791
a660d684
KB
792\membersection{wxPrintout::GetPageSizeMM}\label{wxprintoutgetpagesizemm}
793
794\func{void}{GetPageSizeMM}{\param{int *}{w}, \param{int *}{h}}
795
796Returns the size of the printer page in millimetres.
797
2233e5b8
RD
798\pythonnote{This method returns the output-only parameters as a tuple.}
799
0a67eeac
MB
800\perlnote{In wxPerl this method takes no arguments and returns a
8012-element list {\tt ( w, h )}}
802
a660d684
KB
803\membersection{wxPrintout::GetPageSizePixels}\label{wxprintoutgetpagesizepixels}
804
805\func{void}{GetPageSizePixels}{\param{int *}{w}, \param{int *}{h}}
806
807Returns the size of the printer page in pixels. These may not be the
808same as the values returned from \helpref{wxDC::GetSize}{wxdcgetsize} if
809the printout is being used for previewing, since in this case, a
810memory device context is used, using a bitmap size reflecting the current
811preview zoom. The application must take this discrepancy into account if
812previewing is to be supported.
813
2233e5b8
RD
814\pythonnote{This method returns the output-only parameters as a tuple.}
815
0a67eeac
MB
816\perlnote{In wxPerl this method takes no arguments and returns a
8172-element list {\tt ( w, h )}}
818
a660d684
KB
819\membersection{wxPrintout::GetPPIPrinter}\label{wxprintoutgetppiprinter}
820
821\func{void}{GetPPIPrinter}{\param{int *}{w}, \param{int *}{h}}
822
823Returns the number of pixels per logical inch of the printer device context.
824Dividing the printer PPI by the screen PPI can give a suitable scaling
825factor for drawing text onto the printer. Remember to multiply
826this by a scaling factor to take the preview DC size into account.
827
2233e5b8
RD
828\pythonnote{This method returns the output-only parameters as a tuple.}
829
0a67eeac
MB
830\perlnote{In wxPerl this method takes no arguments and returns a
8312-element list {\tt ( w, h )}}
832
a660d684
KB
833\membersection{wxPrintout::GetPPIScreen}\label{wxprintoutgetppiscreen}
834
835\func{void}{GetPPIScreen}{\param{int *}{w}, \param{int *}{h}}
836
837Returns the number of pixels per logical inch of the screen device context.
838Dividing the printer PPI by the screen PPI can give a suitable scaling
839factor for drawing text onto the printer. Remember to multiply
840this by a scaling factor to take the preview DC size into account.
841
fc799548
JS
842\membersection{wxPrintout::GetTitle}\label{wxprintoutgettitle}
843
844\func{wxString}{GetTitle}{\void}
845
846Returns the title of the printout
847
2233e5b8
RD
848\pythonnote{This method returns the output-only parameters as a tuple.}
849
0a67eeac
MB
850\perlnote{In wxPerl this method takes no arguments and returns a
8512-element list {\tt ( w, h )}}
852
a660d684
KB
853\membersection{wxPrintout::HasPage}\label{wxprintouthaspage}
854
855\func{bool}{HasPage}{\param{int}{ pageNum}}
856
f6bcfd97 857Should be overridden to return TRUE if the document has this page, or FALSE
a660d684
KB
858if not. Returning FALSE signifies the end of the document. By default,
859HasPage behaves as if the document has only one page.
860
861\membersection{wxPrintout::IsPreview}\label{wxprintoutispreview}
862
863\func{bool}{IsPreview}{\void}
864
865Returns TRUE if the printout is currently being used for previewing.
866
867\membersection{wxPrintout::OnBeginDocument}\label{wxprintoutonbegindocument}
868
869\func{bool}{OnBeginDocument}{\param{int}{ startPage}, \param{int}{ endPage}}
870
871Called by the framework at the start of document printing. Return FALSE from
872this function cancels the print job. OnBeginDocument is called once for every
873copy printed.
874
875The base wxPrintout::OnBeginDocument {\it must} be called (and the return value
f6bcfd97 876checked) from within the overridden function, since it calls wxDC::StartDoc.
a660d684 877
f6bcfd97 878\pythonnote{If this method is overridden in a Python class then the
2233e5b8 879base class version can be called by using the method
6aa358ae 880{\tt base\_OnBeginDocument(startPage, endPage)}. }
2233e5b8 881
a660d684
KB
882\membersection{wxPrintout::OnEndDocument}\label{wxprintoutonenddocument}
883
884\func{void}{OnEndDocument}{\void}
885
886Called by the framework at the end of document printing. OnEndDocument
887is called once for every copy printed.
888
889The base wxPrintout::OnEndDocument {\it must} be called
f6bcfd97 890from within the overridden function, since it calls wxDC::EndDoc.
a660d684
KB
891
892\membersection{wxPrintout::OnBeginPrinting}\label{wxprintoutonbeginprinting}
893
894\func{void}{OnBeginPrinting}{\void}
895
896Called by the framework at the start of printing. OnBeginPrinting is called once for every
897print job (regardless of how many copies are being printed).
898
899\membersection{wxPrintout::OnEndPrinting}\label{wxprintoutonendprinting}
900
901\func{void}{OnEndPrinting}{\void}
902
903Called by the framework at the end of printing. OnEndPrinting
904is called once for every print job (regardless of how many copies are being printed).
905
906\membersection{wxPrintout::OnPreparePrinting}\label{wxprintoutonprepareprinting}
907
908\func{void}{OnPreparePrinting}{\void}
909
910Called once by the framework before any other demands are made of the
911wxPrintout object. This gives the object an opportunity to calculate the
912number of pages in the document, for example.
913
914\membersection{wxPrintout::OnPrintPage}\label{wxprintoutonprintpage}
915
916\func{bool}{OnPrintPage}{\param{int}{ pageNum}}
917
918Called by the framework when a page should be printed. Returning FALSE cancels
919the print job. The application can use wxPrintout::GetDC to obtain a device
920context to draw on.
921
922\section{\class{wxPrintPreview}}\label{wxprintpreview}
923
a660d684
KB
924Objects of this class manage the print preview process. The object is passed
925a wxPrintout object, and the wxPrintPreview object itself is passed to
926a wxPreviewFrame object. Previewing is started by initializing and showing
927the preview frame. Unlike wxPrinter::Print, flow of control returns to the application
928immediately after the frame is shown.
929
930\wxheading{Derived from}
931
932\helpref{wxObject}{wxobject}
933
954b8ae6
JS
934\wxheading{Include files}
935
936<wx/print.h>
937
a660d684
KB
938\wxheading{See also}
939
940\overview{Printing framework overview}{printingoverview}, \helpref{wxPrinterDC}{wxprinterdc}, \helpref{wxPrintDialog}{wxprintdialog},\rtfsp
941\helpref{wxPrintout}{wxprintout}, \helpref{wxPrinter}{wxprinter},\rtfsp
942\helpref{wxPreviewCanvas}{wxpreviewcanvas}, \helpref{wxPreviewControlBar}{wxpreviewcontrolbar},\rtfsp
943\helpref{wxPreviewFrame}{wxpreviewframe}.
944
945\latexignore{\rtfignore{\wxheading{Members}}}
946
947\membersection{wxPrintPreview::wxPrintPreview}
948
949\func{}{wxPrintPreview}{\param{wxPrintout* }{printout}, \param{wxPrintout* }{printoutForPrinting},
950\param{wxPrintData* }{data=NULL}}
951
952Constructor. Pass a printout object, an optional printout object to be
953used for actual printing, and the address of an optional
954block of printer data, which will be copied to the print preview object's
955print data.
956
957If {\it printoutForPrinting} is non-NULL, a {\bf Print...} button will be placed on the
958preview frame so that the user can print directly from the preview interface.
959
960Do not explicitly delete the printout objects once this destructor has been
961called, since they will be deleted in the wxPrintPreview constructor.
962The same does not apply to the {\it data} argument.
963
964Test the Ok member to check whether the wxPrintPreview object was created correctly.
965Ok could return FALSE if there was a problem initializing the printer device context
966(current printer not set, for example).
967
968\membersection{wxPrintPreview::\destruct{wxPrintPreview}}
969
970\func{}{\destruct{wxPrinter}}{\void}
971
972Destructor. Deletes both print preview objects, so do not destroy these objects
973in your application.
974
975\membersection{wxPrintPreview::DrawBlankPage}\label{wxprintpreviewdrawblankpage}
976
977\func{bool}{DrawBlankPage}{\param{wxWindow* }{window}}
978
979Draws a representation of the blank page into the preview window. Used
980internally.
981
982\membersection{wxPrintPreview::GetCanvas}\label{wxprintpreviewgetcanvas}
983
984\func{wxWindow* }{GetCanvas}{\void}
985
986Gets the preview window used for displaying the print preview image.
987
988\membersection{wxPrintPreview::GetCurrentPage}\label{wxprintpreviewgetcurrentpage}
989
990\func{int}{GetCurrentPage}{\void}
991
992Gets the page currently being previewed.
993
994\membersection{wxPrintPreview::GetFrame}\label{wxprintpreviewgetframe}
995
996\func{wxFrame *}{GetFrame}{\void}
997
998Gets the frame used for displaying the print preview canvas
999and control bar.
1000
1001\membersection{wxPrintPreview::GetMaxPage}\label{wxprintpreviewgetmaxpage}
1002
1003\func{int}{GetMaxPage}{\void}
1004
1005Returns the maximum page number.
1006
1007\membersection{wxPrintPreview::GetMinPage}\label{wxprintpreviewgetminpage}
1008
1009\func{int}{GetMinPage}{\void}
1010
1011Returns the minimum page number.
1012
1013\membersection{wxPrintPreview::GetPrintData}\label{wxprintpreviewgetprintdata}
1014
1015\func{wxPrintData\&}{GetPrintData}{\void}
1016
1017Returns a reference to the internal print data.
1018
1019\membersection{wxPrintPreview::GetPrintout}\label{wxprintpreviewgetprintout}
1020
1021\func{wxPrintout *}{GetPrintout}{\void}
1022
1023Gets the preview printout object associated with the wxPrintPreview object.
1024
1025\membersection{wxPrintPreview::GetPrintoutForPrinting}\label{wxprintpreviewgetprintoutforprinting}
1026
1027\func{wxPrintout *}{GetPrintoutForPrinting}{\void}
1028
1029Gets the printout object to be used for printing from within the preview interface,
1030or NULL if none exists.
1031
1032\membersection{wxPrintPreview::Ok}\label{wxprintpreviewok}
1033
1034\func{bool}{Ok}{\void}
1035
1036Returns TRUE if the wxPrintPreview is valid, FALSE otherwise. It could return FALSE if there was a
1037problem initializing the printer device context (current printer not set, for example).
1038
1039\membersection{wxPrintPreview::PaintPage}\label{wxprintpreviewpaintpage}
1040
1041\func{bool}{PaintPage}{\param{wxWindow* }{window}}
1042
1043This refreshes the preview window with the preview image.
1044It must be called from the preview window's OnPaint member.
1045
1046The implementation simply blits the preview bitmap onto
1047the canvas, creating a new preview bitmap if none exists.
1048
1049\membersection{wxPrintPreview::Print}\label{wxprintpreviewprint}
1050
1051\func{bool}{Print}{\param{bool }{prompt}}
1052
1053Invokes the print process using the second wxPrintout object
1054supplied in the wxPrintPreview constructor.
1055Will normally be called by the {\bf Print...} panel item on the
1056preview frame's control bar.
1057
f6bcfd97
BP
1058Returns FALSE in case of error -- call
1059\helpref{wxPrinter::GetLastError}{wxprintergetlasterror} to get detailed
1060information about the kind of the error.
1061
a660d684
KB
1062\membersection{wxPrintPreview::RenderPage}\label{wxprintpreviewrenderpage}
1063
1064\func{bool}{RenderPage}{\param{int }{pageNum}}
1065
1066Renders a page into a wxMemoryDC. Used internally by wxPrintPreview.
1067
1068\membersection{wxPrintPreview::SetCanvas}\label{wxprintpreviewsetcanvas}
1069
1070\func{void}{SetCanvas}{\param{wxWindow* }{window}}
1071
1072Sets the window to be used for displaying the print preview image.
1073
1074\membersection{wxPrintPreview::SetCurrentPage}\label{wxprintpreviewsetcurrentpage}
1075
1076\func{void}{SetCurrentPage}{\param{int}{ pageNum}}
1077
1078Sets the current page to be previewed.
1079
1080\membersection{wxPrintPreview::SetFrame}\label{wxprintpreviewsetframe}
1081
1082\func{void}{SetFrame}{\param{wxFrame *}{frame}}
1083
1084Sets the frame to be used for displaying the print preview canvas
1085and control bar.
1086
1087\membersection{wxPrintPreview::SetPrintout}\label{wxprintpreviewsetprintout}
1088
1089\func{void}{SetPrintout}{\param{wxPrintout *}{printout}}
1090
1091Associates a printout object with the wxPrintPreview object.
1092
1093\membersection{wxPrintPreview::SetZoom}\label{wxprintpreviewsetzoom}
1094
1095\func{void}{SetZoom}{\param{int}{ percent}}
1096
1097Sets the percentage preview zoom, and refreshes the preview canvas
1098accordingly.
1099