]> git.saurik.com Git - wxWidgets.git/blob - docs/latex/wx/print.tex
classic/carbon split
[wxWidgets.git] / docs / latex / wx / print.tex
1 \section{\class{wxPrintData}}\label{wxprintdata}
2
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.
8
9 \wxheading{Derived from}
10
11 \helpref{wxObject}{wxobject}
12
13 \wxheading{Include files}
14
15 <wx/cmndata.h>
16
17 \wxheading{See also}
18
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},
25 \helpref{wxPostScriptDC}{wxpostscriptdc}
26
27 \wxheading{Remarks}
28
29 The following functions are specific to PostScript printing
30 and have not yet been documented:
31
32 \begin{verbatim}
33 const wxString& GetPrinterCommand() const ;
34 const wxString& GetPrinterOptions() const ;
35 const wxString& GetPreviewCommand() const ;
36 const wxString& GetFilename() const ;
37 const wxString& GetFontMetricPath() const ;
38 double GetPrinterScaleX() const ;
39 double GetPrinterScaleY() const ;
40 long GetPrinterTranslateX() const ;
41 long GetPrinterTranslateY() const ;
42 // wxPRINT_MODE_PREVIEW, wxPRINT_MODE_FILE, wxPRINT_MODE_PRINTER
43 wxPrintMode GetPrintMode() const ;
44
45 void SetPrinterCommand(const wxString& command) ;
46 void SetPrinterOptions(const wxString& options) ;
47 void SetPreviewCommand(const wxString& command) ;
48 void SetFilename(const wxString& filename) ;
49 void SetFontMetricPath(const wxString& path) ;
50 void SetPrinterScaleX(double x) ;
51 void SetPrinterScaleY(double y) ;
52 void SetPrinterScaling(double x, double y) ;
53 void SetPrinterTranslateX(long x) ;
54 void SetPrinterTranslateY(long y) ;
55 void SetPrinterTranslation(long x, long y) ;
56 void SetPrintMode(wxPrintMode printMode) ;
57 \end{verbatim}
58
59 \latexignore{\rtfignore{\wxheading{Members}}}
60
61 \membersection{wxPrintData::wxPrintData}
62
63 \func{}{wxPrintData}{\void}
64
65 Default constructor.
66
67 \func{}{wxPrintData}{\param{const wxPrintData\&}{ data}}
68
69 Copy constructor.
70
71 \membersection{wxPrintData::\destruct{wxPrintData}}
72
73 \func{}{\destruct{wxPrintData}}{\void}
74
75 Destructor.
76
77 \membersection{wxPrintData::GetCollate}\label{wxprintdatagetcollate}
78
79 \constfunc{bool}{GetCollate}{\void}
80
81 Returns true if collation is on.
82
83 \membersection{wxPrintData::GetColour}\label{wxprintdatagetcolour}
84
85 \constfunc{bool}{GetColour}{\void}
86
87 Returns true if colour printing is on.
88
89 \membersection{wxPrintData::GetDuplex}\label{wxprintdatagetduplex}
90
91 \constfunc{wxDuplexMode}{GetDuplex}{\void}
92
93 Returns the duplex mode. One of wxDUPLEX\_SIMPLEX, wxDUPLEX\_HORIZONTAL, wxDUPLEX\_VERTICAL.
94
95 \membersection{wxPrintData::GetNoCopies}\label{wxprintdatagetnocopies}
96
97 \constfunc{int}{GetNoCopies}{\void}
98
99 Returns the number of copies requested by the user.
100
101 \membersection{wxPrintData::GetOrientation}\label{wxprintdatagetorientation}
102
103 \constfunc{int}{GetOrientation}{\void}
104
105 Gets the orientation. This can be wxLANDSCAPE or wxPORTRAIT.
106
107 \membersection{wxPrintData::GetPaperId}\label{wxprintdatagetpaperid}
108
109 \constfunc{wxPaperSize}{GetPaperId}{\void}
110
111 Returns the paper size id. For more information, see \helpref{wxPrintData::SetPaperId}{wxprintdatasetpaperid}.
112
113 \membersection{wxPrintData::GetPrinterName}\label{wxprintdatagetprintername}
114
115 \constfunc{const wxString\&}{GetPrinterName}{\void}
116
117 Returns the printer name. If the printer name is the empty string, it indicates that the default
118 printer should be used.
119
120 \membersection{wxPrintData::GetQuality}\label{wxprintdatagetquality}
121
122 \constfunc{wxPrintQuality}{GetQuality}{\void}
123
124 Returns the current print quality. This can be a positive integer, denoting the number of dots per inch, or
125 one of the following identifiers:
126
127 \begin{verbatim}
128 wxPRINT_QUALITY_HIGH
129 wxPRINT_QUALITY_MEDIUM
130 wxPRINT_QUALITY_LOW
131 wxPRINT_QUALITY_DRAFT
132 \end{verbatim}
133
134 On input you should pass one of these identifiers, but on return you may get back a positive integer
135 indicating the current resolution setting.
136
137 \membersection{wxPrintData::Ok}\label{wxprintdataok}
138
139 \constfunc{bool}{Ok}{\void}
140
141 Returns true if the print data is valid for using in print dialogs.
142 This can return false on Windows if the current printer is not set, for example.
143 On all other platforms, it returns true.
144
145 \membersection{wxPrintData::SetCollate}\label{wxprintdatasetcollate}
146
147 \func{void}{SetCollate}{\param{bool }{flag}}
148
149 Sets collation to on or off.
150
151 \membersection{wxPrintData::SetColour}\label{wxprintdatasetcolour}
152
153 \func{void}{SetColour}{\param{bool }{flag}}
154
155 Sets colour printing on or off.
156
157 \membersection{wxPrintData::SetDuplex}\label{wxprintdatasetduplex}
158
159 \func{void}{SetDuplex}{\param{wxDuplexMode}{ mode}}
160
161 Returns the duplex mode. One of wxDUPLEX\_SIMPLEX, wxDUPLEX\_HORIZONTAL, wxDUPLEX\_VERTICAL.
162
163 \membersection{wxPrintData::SetNoCopies}\label{wxprintdatasetnocopies}
164
165 \func{void}{SetNoCopies}{\param{int }{n}}
166
167 Sets the default number of copies to be printed out.
168
169 \membersection{wxPrintData::SetOrientation}\label{wxprintdatasetorientation}
170
171 \func{void}{SetOrientation}{\param{int }{orientation}}
172
173 Sets the orientation. This can be wxLANDSCAPE or wxPORTRAIT.
174
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
180 paper 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
229 Windows 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
262 Sets the printer name. This can be the empty string to indicate that the default
263 printer should be used.
264
265 \membersection{wxPrintData::SetQuality}\label{wxprintdatasetquality}
266
267 \func{void}{SetQuality}{\param{wxPrintQuality}{ quality}}
268
269 Sets the desired print quality. This can be a positive integer, denoting the number of dots per inch, or
270 one of the following identifiers:
271
272 \begin{verbatim}
273 wxPRINT_QUALITY_HIGH
274 wxPRINT_QUALITY_MEDIUM
275 wxPRINT_QUALITY_LOW
276 wxPRINT_QUALITY_DRAFT
277 \end{verbatim}
278
279 On input you should pass one of these identifiers, but on return you may get back a positive integer
280 indicating the current resolution setting.
281
282 \membersection{wxPrintData::operator $=$}\label{wxprintdataassign}
283
284 \func{void}{operator $=$}{\param{const wxPrintData\&}{ data}}
285
286 Assigns print data to this object.
287
288 \func{void}{operator $=$}{\param{const wxPrintSetupData\&}{ data}}
289
290 Assigns print setup data to this object. wxPrintSetupData is deprecated,
291 but retained for backward compatibility.
292
293 \section{\class{wxPrintDialog}}\label{wxprintdialog}
294
295 This class represents the print and print setup common dialogs.
296 You may obtain a \helpref{wxPrinterDC}{wxprinterdc} device context from
297 a 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
306 \wxheading{Include files}
307
308 <wx/printdlg.h>
309
310 \wxheading{See also}
311
312 \helpref{wxPrintDialog Overview}{wxprintdialogoverview}
313
314 \latexignore{\rtfignore{\wxheading{Members}}}
315
316 \membersection{wxPrintDialog::wxPrintDialog}
317
318 \func{}{wxPrintDialog}{\param{wxWindow* }{parent}, \param{wxPrintDialogData* }{data = NULL}}
319
320 Constructor. Pass a parent window, and optionally a pointer to a block of print
321 data, which will be copied to the print dialog's print data.
322
323 \wxheading{See also}
324
325 \helpref{wxPrintDialogData}{wxprintdialogdata}
326
327 \membersection{wxPrintDialog::\destruct{wxPrintDialog}}
328
329 \func{}{\destruct{wxPrintDialog}}{\void}
330
331 Destructor. If wxPrintDialog::GetPrintDC has {\it not} been called,
332 the device context obtained by the dialog (if any) will be deleted.
333
334 \membersection{wxPrintDialog::GetPrintDialogData}\label{wxprintdialoggetprintdialogdata}
335
336 \func{wxPrintDialogData\&}{GetPrintDialogData}{\void}
337
338 Returns the \helpref{print dialog data}{wxprintdialogdata} associated with the print dialog.
339
340 \membersection{wxPrintDialog::GetPrintDC}\label{wxprintdialoggetprintdc}
341
342 \func{wxDC* }{GetPrintDC}{\void}
343
344 Returns the device context created by the print dialog, if any.
345 When this function has been called, the ownership of the device context
346 is transferred to the application, so it must then be deleted
347 explicitly.
348
349 \membersection{wxPrintDialog::Ok}\label{wxprintdialogok}
350
351 \constfunc{bool}{Ok}{\void}
352
353 Returns true if the print data associated with the dialog is valid.
354 This can return false on Windows if the current printer is not set, for example.
355 On all other platforms, it returns true.
356
357 \membersection{wxPrintDialog::ShowModal}\label{wxprintdialogshowmodal}
358
359 \func{int}{ShowModal}{\void}
360
361 Shows the dialog, returning wxID\_OK if the user pressed OK, and wxID\_CANCEL
362 otherwise. After this function is called, a device context may
363 be retrievable using \helpref{wxPrintDialog::GetPrintDC}{wxprintdialoggetprintdc}.
364
365 \section{\class{wxPrintDialogData}}\label{wxprintdialogdata}
366
367 This class holds information related to the visual characteristics of wxPrintDialog.
368 It 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
388 Default constructor.
389
390 \func{}{wxPrintDialogData}{\param{wxPrintDialogData\&}{ dialogData}}
391
392 Copy constructor.
393
394 \func{}{wxPrintDialogData}{\param{wxPrintData\&}{ printData}}
395
396 Construct an object from a print dialog data object.
397
398 \membersection{wxPrintDialogData::\destruct{wxprintdialogdata}}
399
400 \func{}{\destruct{wxPrintDialogData}}{\void}
401
402 Destructor.
403
404 \membersection{wxPrintDialogData::EnableHelp}\label{wxprintdialogdataenablehelp}
405
406 \func{void}{EnableHelp}{\param{bool }{flag}}
407
408 Enables or disables the `Help' button.
409
410 \membersection{wxPrintDialogData::EnablePageNumbers}\label{wxprintdialogdataenablepagenumbers}
411
412 \func{void}{EnablePageNumbers}{\param{bool }{flag}}
413
414 Enables or disables the `Page numbers' controls.
415
416 \membersection{wxPrintDialogData::EnablePrintToFile}\label{wxprintdialogdataenableprinttofile}
417
418 \func{void}{EnablePrintToFile}{\param{bool }{flag}}
419
420 Enables or disables the `Print to file' checkbox.
421
422 \membersection{wxPrintDialogData::EnableSelection}\label{wxprintdialogdataenableselection}
423
424 \func{void}{EnableSelection}{\param{bool }{flag}}
425
426 Enables or disables the `Selection' radio button.
427
428 \membersection{wxPrintDialogData::GetAllPages}\label{wxprintdialogdatagetallpages}
429
430 \constfunc{bool}{GetAllPages}{\void}
431
432 Returns true if the user requested that all pages be printed.
433
434 \membersection{wxPrintDialogData::GetCollate}\label{wxprintdialogdatagetcollate}
435
436 \constfunc{bool}{GetCollate}{\void}
437
438 Returns 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
444 Returns the {\it from} page number, as entered by the user.
445
446 \membersection{wxPrintDialogData::GetMaxPage}\label{wxprintdialogdatagetmaxpage}
447
448 \constfunc{int}{GetMaxPage}{\void}
449
450 Returns the {\it maximum} page number.
451
452 \membersection{wxPrintDialogData::GetMinPage}\label{wxprintdialogdatagetminpage}
453
454 \constfunc{int}{GetMinPage}{\void}
455
456 Returns the {\it minimum} page number.
457
458 \membersection{wxPrintDialogData::GetNoCopies}\label{wxprintdialogdatagetnocopies}
459
460 \constfunc{int}{GetNoCopies}{\void}
461
462 Returns the number of copies requested by the user.
463
464 \membersection{wxPrintDialogData::GetPrintData}\label{wxprintdialogdatagetprintdata}
465
466 \func{wxPrintData\&}{GetPrintData}{\void}
467
468 Returns a reference to the internal wxPrintData object.
469
470 \membersection{wxPrintDialogData::GetPrintToFile}\label{wxprintdialogdatagetprinttofile}
471
472 \constfunc{bool}{GetPrintToFile}{\void}
473
474 Returns true if the user has selected printing to a file.
475
476 \membersection{wxPrintDialogData::GetSelection}\label{wxprintdialogdatagetselection}
477
478 \constfunc{bool}{GetSelection}{\void}
479
480 Returns true if the user requested that the selection be printed (where 'selection' is
481 a concept specific to the application).
482
483 \membersection{wxPrintDialogData::GetToPage}\label{wxprintdialogdatagettopage}
484
485 \constfunc{int}{GetToPage}{\void}
486
487 Returns the {\it to} page number, as entered by the user.
488
489 \membersection{wxPrintDialogData::Ok}\label{wxprintdialogdataok}
490
491 \constfunc{bool}{Ok}{\void}
492
493 Returns true if the print data is valid for using in print dialogs.
494 This can return false on Windows if the current printer is not set, for example.
495 On all other platforms, it returns true.
496
497 \membersection{wxPrintDialogData::SetCollate}\label{wxprintdialogdatasetcollate}
498
499 \func{void}{SetCollate}{\param{bool }{flag}}
500
501 Sets the 'Collate' checkbox to true or false.
502
503 \membersection{wxPrintDialogData::SetFromPage}\label{wxprintdialogdatasetfrompage}
504
505 \func{void}{SetFromPage}{\param{int }{page}}
506
507 Sets the {\it from} page number.
508
509 \membersection{wxPrintDialogData::SetMaxPage}\label{wxprintdialogdatasetmaxpage}
510
511 \func{void}{SetMaxPage}{\param{int }{page}}
512
513 Sets the {\it maximum} page number.
514
515 \membersection{wxPrintDialogData::SetMinPage}\label{wxprintdialogdatasetminpage}
516
517 \func{void}{SetMinPage}{\param{int }{page}}
518
519 Sets the {\it minimum} page number.
520
521 \membersection{wxPrintDialogData::SetNoCopies}\label{wxprintdialogdatasetnocopies}
522
523 \func{void}{SetNoCopies}{\param{int }{n}}
524
525 Sets 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
531 Sets the internal wxPrintData.
532
533 \membersection{wxPrintDialogData::SetPrintToFile}\label{wxprintdialogdatasetprinttofile}
534
535 \func{void}{SetPrintToFile}{\param{bool }{flag}}
536
537 Sets the 'Print to file' checkbox to true or false.
538
539 \membersection{wxPrintDialogData::SetSelection}\label{wxprintdialogdatasetselection}
540
541 \func{void}{SetSelection}{\param{bool}{ flag}}
542
543 Selects the 'Selection' radio button. The effect of printing the selection depends on how the application
544 implements this command, if at all.
545
546 \membersection{wxPrintDialogData::SetSetupDialog}\label{wxprintdialogdatasetsetupdialog}
547
548 \func{void}{SetSetupDialog}{\param{bool }{flag}}
549
550 Determines whether the dialog to be shown will be the Print dialog
551 (pass false) or Print Setup dialog (pass true).
552
553 Note that the setup dialog is (according to Microsoft) obsolete from
554 Windows 95, though retained for backward compatibility.
555
556 \membersection{wxPrintDialogData::SetToPage}\label{wxprintdialogdatasettopage}
557
558 \func{void}{SetToPage}{\param{int }{page}}
559
560 Sets the {\it to} page number.
561
562 \membersection{wxPrintDialogData::operator $=$}\label{wxprintdialogdataassign}
563
564 \func{void}{operator $=$}{\param{const wxPrintData\&}{ data}}
565
566 Assigns print data to this object.
567
568 \func{void}{operator $=$}{\param{const wxPrintDialogData\&}{ data}}
569
570 Assigns another print dialog data object to this object.
571
572 \section{\class{wxPrinter}}\label{wxprinter}
573
574 This class represents the Windows or PostScript printer, and is the vehicle through
575 which printing may be launched by an application. Printing can also
576 be achieved through using of lower functions and classes, but
577 this and associated classes provide a more convenient and general
578 method of printing.
579
580 \wxheading{Derived from}
581
582 \helpref{wxObject}{wxobject}
583
584 \wxheading{Include files}
585
586 <wx/print.h>
587
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
597 \func{}{wxPrinter}{\param{wxPrintDialogData* }{data = NULL}}
598
599 Constructor. Pass an optional pointer to a block of print
600 dialog data, which will be copied to the printer object's local data.
601
602 \wxheading{See also}
603
604 \helpref{wxPrintDialogData}{wxprintdialogdata},
605 \helpref{wxPrintData}{wxprintdata}
606
607 \membersection{wxPrinter::\destruct{wxPrinter}}
608
609 \func{}{\destruct{wxPrinter}}{\void}
610
611 Destructor.
612
613 \membersection{wxPrinter::Abort}\label{wxprinterabort}
614
615 \func{bool}{Abort}{\void}
616
617 Returns 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
623 Creates the default printing abort window, with a cancel button.
624
625
626 \membersection{wxPrinter::GetLastError}\label{wxprintergetlasterror}
627
628 \func{static wxPrinterError}{GetLastError}{\void}
629
630 Return last error. Valid after calling \helpref{Print}{wxprinterprint},
631 \helpref{PrintDialog}{wxprinterprintdialog} or
632 \helpref{wxPrintPreview::Print}{wxprintpreviewprint}. These functions
633 set last error to {\bf wxPRINTER\_NO\_ERROR} if no error happened.
634
635 Returned 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
645 \membersection{wxPrinter::GetPrintDialogData}\label{wxprintergetprintdialogdata}
646
647 \func{wxPrintDialogData\&}{GetPrintDialogData}{\void}
648
649 Returns 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
655 Starts the printing process. Provide a parent window, a user-defined wxPrintout object which controls
656 the printing of a document, and whether the print dialog should be invoked first.
657
658 Print could return false if there was a problem initializing the printer device context
659 (current printer not set, for example) or the user cancelled printing. Call
660 \helpref{wxPrinter::GetLastError}{wxprintergetlasterror} to get detailed
661 information about the kind of the error.
662
663 \membersection{wxPrinter::PrintDialog}\label{wxprinterprintdialog}
664
665 \func{wxDC*}{PrintDialog}{\param{wxWindow *}{parent}}
666
667 Invokes the print dialog. If successful (the user did not press Cancel
668 and no error occurred), a suitable device context will be returned
669 (otherwise NULL is returned -- call
670 \helpref{wxPrinter::GetLastError}{wxprintergetlasterror} to get detailed
671 information about the kind of the error).
672
673 The application must delete this device context to avoid a memory leak.
674
675 \membersection{wxPrinter::ReportError}\label{wxprinterreporterror}
676
677 \func{void}{ReportError}{\param{wxWindow *}{parent}, \param{wxPrintout *}{printout}, \param{const wxString\& }{message}}
678
679 Default error-reporting function.
680
681 \membersection{wxPrinter::Setup}\label{wxprintersetup}
682
683 \func{bool}{Setup}{\param{wxWindow *}{parent}}
684
685 Invokes the print setup dialog. Note that the setup dialog is obsolete from
686 Windows 95, though retained for backward compatibility.
687
688 \section{\class{wxPrinterDC}}\label{wxprinterdc}
689
690 A printer device context is specific to Windows, and allows access to
691 any printer with a Windows driver. See \helpref{wxDC}{wxdc} for further information
692 on device contexts, and \helpref{wxDC::GetSize}{wxdcgetsize} for advice on
693 achieving the correct scaling for the page.
694
695 \wxheading{Derived from}
696
697 \helpref{wxDC}{wxdc}\\
698 \helpref{wxObject}{wxdc}
699
700 \wxheading{Include files}
701
702 <wx/dcprint.h>
703
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
712 \func{}{wxPrinterDC}{\param{const wxPrintData\& }{printData}}
713
714 Pass a \helpref{wxPrintData}{wxprintdata} object with information
715 necessary for setting up a suitable printer device context. This
716 is the recommended way to construct a wxPrinterDC.
717
718 \func{}{wxPrinterDC}{\param{const wxString\& }{driver}, \param{const wxString\& }{device}, \param{const wxString\& }{output},
719 \param{const bool }{interactive = true}, \param{int }{orientation = wxPORTRAIT}}
720
721 Constructor. With empty strings for the first three arguments, the default printer dialog is
722 displayed. {\it device} indicates the type of printer and {\it output}
723 is an optional file for printing to. The {\it driver} parameter is
724 currently unused. Use the {\it Ok} member to test whether the
725 constructor was successful in creating a usable device context.
726
727 This constructor is deprecated and retained only for backward compatibility.
728
729 \section{\class{wxPrintout}}\label{wxprintout}
730
731 This class encapsulates the functionality of printing out an
732 application document. A new class must be derived and members
733 overridden to respond to calls such as OnPrintPage and HasPage.
734 Instances of this class are passed to wxPrinter::Print or a
735 wxPrintPreview object to initiate printing or previewing.
736
737 \wxheading{Derived from}
738
739 \helpref{wxObject}{wxobject}
740
741 \wxheading{Include files}
742
743 <wx/print.h>
744
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
756 Constructor. Pass an optional title argument - the current filename would be a good idea. This will appear in the printing list
757 (at least in MSW)
758
759 \membersection{wxPrintout::\destruct{wxPrintout}}
760
761 \func{}{\destruct{wxPrintout}}{\void}
762
763 Destructor.
764
765 \membersection{wxPrintout::GetDC}\label{wxprintoutgetdc}
766
767 \func{wxDC *}{GetDC}{\void}
768
769 Returns the device context associated with the printout (given to the printout at start of
770 printing or previewing). This will be a wxPrinterDC if printing under Windows,
771 a 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
777 Called by the framework to obtain information from the application about minimum and maximum page values that
778 the user can select, and the required page range to be printed. By default this
779 returns 1, 32000 for the page minimum and maximum values, and 1, 1 for the required page range.
780
781 If {\it minPage} is zero, the page number controls in the print dialog will be disabled.
782
783 \pythonnote{When this method is implemented in a derived Python class,
784 it should be designed to take no parameters (other than the self
785 reference) and to return a tuple of four integers.
786 }
787
788 \perlnote{When this method is overridden in a derived class,
789 it must not take any parameters, and returns a 4-element list.
790 }
791
792 \membersection{wxPrintout::GetPageSizeMM}\label{wxprintoutgetpagesizemm}
793
794 \func{void}{GetPageSizeMM}{\param{int *}{w}, \param{int *}{h}}
795
796 Returns the size of the printer page in millimetres.
797
798 \pythonnote{This method returns the output-only parameters as a tuple.}
799
800 \perlnote{In wxPerl this method takes no arguments and returns a
801 2-element list {\tt ( w, h )}}
802
803 \membersection{wxPrintout::GetPageSizePixels}\label{wxprintoutgetpagesizepixels}
804
805 \func{void}{GetPageSizePixels}{\param{int *}{w}, \param{int *}{h}}
806
807 Returns the size of the printer page in pixels. These may not be the
808 same as the values returned from \helpref{wxDC::GetSize}{wxdcgetsize} if
809 the printout is being used for previewing, since in this case, a
810 memory device context is used, using a bitmap size reflecting the current
811 preview zoom. The application must take this discrepancy into account if
812 previewing is to be supported.
813
814 \pythonnote{This method returns the output-only parameters as a tuple.}
815
816 \perlnote{In wxPerl this method takes no arguments and returns a
817 2-element list {\tt ( w, h )}}
818
819 \membersection{wxPrintout::GetPPIPrinter}\label{wxprintoutgetppiprinter}
820
821 \func{void}{GetPPIPrinter}{\param{int *}{w}, \param{int *}{h}}
822
823 Returns the number of pixels per logical inch of the printer device context.
824 Dividing the printer PPI by the screen PPI can give a suitable scaling
825 factor for drawing text onto the printer. Remember to multiply
826 this by a scaling factor to take the preview DC size into account.
827
828 \pythonnote{This method returns the output-only parameters as a tuple.}
829
830 \perlnote{In wxPerl this method takes no arguments and returns a
831 2-element list {\tt ( w, h )}}
832
833 \membersection{wxPrintout::GetPPIScreen}\label{wxprintoutgetppiscreen}
834
835 \func{void}{GetPPIScreen}{\param{int *}{w}, \param{int *}{h}}
836
837 Returns the number of pixels per logical inch of the screen device context.
838 Dividing the printer PPI by the screen PPI can give a suitable scaling
839 factor for drawing text onto the printer. Remember to multiply
840 this by a scaling factor to take the preview DC size into account.
841
842 \membersection{wxPrintout::GetTitle}\label{wxprintoutgettitle}
843
844 \func{wxString}{GetTitle}{\void}
845
846 Returns the title of the printout
847
848 \pythonnote{This method returns the output-only parameters as a tuple.}
849
850 \perlnote{In wxPerl this method takes no arguments and returns a
851 2-element list {\tt ( w, h )}}
852
853 \membersection{wxPrintout::HasPage}\label{wxprintouthaspage}
854
855 \func{bool}{HasPage}{\param{int}{ pageNum}}
856
857 Should be overridden to return true if the document has this page, or false
858 if not. Returning false signifies the end of the document. By default,
859 HasPage behaves as if the document has only one page.
860
861 \membersection{wxPrintout::IsPreview}\label{wxprintoutispreview}
862
863 \func{bool}{IsPreview}{\void}
864
865 Returns 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
871 Called by the framework at the start of document printing. Return false from
872 this function cancels the print job. OnBeginDocument is called once for every
873 copy printed.
874
875 The base wxPrintout::OnBeginDocument {\it must} be called (and the return value
876 checked) from within the overridden function, since it calls wxDC::StartDoc.
877
878 \pythonnote{If this method is overridden in a Python class then the
879 base class version can be called by using the method
880 {\tt base\_OnBeginDocument(startPage, endPage)}. }
881
882 \membersection{wxPrintout::OnEndDocument}\label{wxprintoutonenddocument}
883
884 \func{void}{OnEndDocument}{\void}
885
886 Called by the framework at the end of document printing. OnEndDocument
887 is called once for every copy printed.
888
889 The base wxPrintout::OnEndDocument {\it must} be called
890 from within the overridden function, since it calls wxDC::EndDoc.
891
892 \membersection{wxPrintout::OnBeginPrinting}\label{wxprintoutonbeginprinting}
893
894 \func{void}{OnBeginPrinting}{\void}
895
896 Called by the framework at the start of printing. OnBeginPrinting is called once for every
897 print job (regardless of how many copies are being printed).
898
899 \membersection{wxPrintout::OnEndPrinting}\label{wxprintoutonendprinting}
900
901 \func{void}{OnEndPrinting}{\void}
902
903 Called by the framework at the end of printing. OnEndPrinting
904 is 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
910 Called once by the framework before any other demands are made of the
911 wxPrintout object. This gives the object an opportunity to calculate the
912 number of pages in the document, for example.
913
914 \membersection{wxPrintout::OnPrintPage}\label{wxprintoutonprintpage}
915
916 \func{bool}{OnPrintPage}{\param{int}{ pageNum}}
917
918 Called by the framework when a page should be printed. Returning false cancels
919 the print job. The application can use wxPrintout::GetDC to obtain a device
920 context to draw on.
921
922 \section{\class{wxPrintPreview}}\label{wxprintpreview}
923
924 Objects of this class manage the print preview process. The object is passed
925 a wxPrintout object, and the wxPrintPreview object itself is passed to
926 a wxPreviewFrame object. Previewing is started by initializing and showing
927 the preview frame. Unlike wxPrinter::Print, flow of control returns to the application
928 immediately after the frame is shown.
929
930 \wxheading{Derived from}
931
932 \helpref{wxObject}{wxobject}
933
934 \wxheading{Include files}
935
936 <wx/print.h>
937
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
952 Constructor. Pass a printout object, an optional printout object to be
953 used for actual printing, and the address of an optional
954 block of printer data, which will be copied to the print preview object's
955 print data.
956
957 If {\it printoutForPrinting} is non-NULL, a {\bf Print...} button will be placed on the
958 preview frame so that the user can print directly from the preview interface.
959
960 Do not explicitly delete the printout objects once this destructor has been
961 called, since they will be deleted in the wxPrintPreview constructor.
962 The same does not apply to the {\it data} argument.
963
964 Test the Ok member to check whether the wxPrintPreview object was created correctly.
965 Ok 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
972 Destructor. Deletes both print preview objects, so do not destroy these objects
973 in your application.
974
975 \membersection{wxPrintPreview::DrawBlankPage}\label{wxprintpreviewdrawblankpage}
976
977 \func{bool}{DrawBlankPage}{\param{wxWindow* }{window}}
978
979 Draws a representation of the blank page into the preview window. Used
980 internally.
981
982 \membersection{wxPrintPreview::GetCanvas}\label{wxprintpreviewgetcanvas}
983
984 \func{wxPreviewCanvas* }{GetCanvas}{\void}
985
986 Gets the preview window used for displaying the print preview image.
987
988 \membersection{wxPrintPreview::GetCurrentPage}\label{wxprintpreviewgetcurrentpage}
989
990 \func{int}{GetCurrentPage}{\void}
991
992 Gets the page currently being previewed.
993
994 \membersection{wxPrintPreview::GetFrame}\label{wxprintpreviewgetframe}
995
996 \func{wxFrame *}{GetFrame}{\void}
997
998 Gets the frame used for displaying the print preview canvas
999 and control bar.
1000
1001 \membersection{wxPrintPreview::GetMaxPage}\label{wxprintpreviewgetmaxpage}
1002
1003 \func{int}{GetMaxPage}{\void}
1004
1005 Returns the maximum page number.
1006
1007 \membersection{wxPrintPreview::GetMinPage}\label{wxprintpreviewgetminpage}
1008
1009 \func{int}{GetMinPage}{\void}
1010
1011 Returns the minimum page number.
1012
1013 \membersection{wxPrintPreview::GetPrintData}\label{wxprintpreviewgetprintdata}
1014
1015 \func{wxPrintData\&}{GetPrintData}{\void}
1016
1017 Returns a reference to the internal print data.
1018
1019 \membersection{wxPrintPreview::GetPrintout}\label{wxprintpreviewgetprintout}
1020
1021 \func{wxPrintout *}{GetPrintout}{\void}
1022
1023 Gets the preview printout object associated with the wxPrintPreview object.
1024
1025 \membersection{wxPrintPreview::GetPrintoutForPrinting}\label{wxprintpreviewgetprintoutforprinting}
1026
1027 \func{wxPrintout *}{GetPrintoutForPrinting}{\void}
1028
1029 Gets the printout object to be used for printing from within the preview interface,
1030 or NULL if none exists.
1031
1032 \membersection{wxPrintPreview::Ok}\label{wxprintpreviewok}
1033
1034 \func{bool}{Ok}{\void}
1035
1036 Returns true if the wxPrintPreview is valid, false otherwise. It could return false if there was a
1037 problem 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
1043 This refreshes the preview window with the preview image.
1044 It must be called from the preview window's OnPaint member.
1045
1046 The implementation simply blits the preview bitmap onto
1047 the 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
1053 Invokes the print process using the second wxPrintout object
1054 supplied in the wxPrintPreview constructor.
1055 Will normally be called by the {\bf Print...} panel item on the
1056 preview frame's control bar.
1057
1058 Returns false in case of error -- call
1059 \helpref{wxPrinter::GetLastError}{wxprintergetlasterror} to get detailed
1060 information about the kind of the error.
1061
1062 \membersection{wxPrintPreview::RenderPage}\label{wxprintpreviewrenderpage}
1063
1064 \func{bool}{RenderPage}{\param{int }{pageNum}}
1065
1066 Renders a page into a wxMemoryDC. Used internally by wxPrintPreview.
1067
1068 \membersection{wxPrintPreview::SetCanvas}\label{wxprintpreviewsetcanvas}
1069
1070 \func{void}{SetCanvas}{\param{wxPreviewCanvas** }{window}}
1071
1072 Sets 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
1078 Sets the current page to be previewed.
1079
1080 \membersection{wxPrintPreview::SetFrame}\label{wxprintpreviewsetframe}
1081
1082 \func{void}{SetFrame}{\param{wxFrame *}{frame}}
1083
1084 Sets the frame to be used for displaying the print preview canvas
1085 and control bar.
1086
1087 \membersection{wxPrintPreview::SetPrintout}\label{wxprintpreviewsetprintout}
1088
1089 \func{void}{SetPrintout}{\param{wxPrintout *}{printout}}
1090
1091 Associates a printout object with the wxPrintPreview object.
1092
1093 \membersection{wxPrintPreview::SetZoom}\label{wxprintpreviewsetzoom}
1094
1095 \func{void}{SetZoom}{\param{int}{ percent}}
1096
1097 Sets the percentage preview zoom, and refreshes the preview canvas
1098 accordingly.
1099