]> git.saurik.com Git - wxWidgets.git/blob - docs/latex/wx/print.tex
don't delete m_pActiveChild twice in wxWINDOWCLOSEALL event handler (patch 1665395...
[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{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}
27
28 \wxheading{Remarks}
29
30 The following functions are specific to PostScript printing
31 and have not yet been documented:
32
33 \begin{verbatim}
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 ;
45
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) ;
58 \end{verbatim}
59
60 \latexignore{\rtfignore{\wxheading{Members}}}
61
62
63 \membersection{wxPrintData::wxPrintData}\label{wxprintdatactor}
64
65 \func{}{wxPrintData}{\void}
66
67 Default constructor.
68
69 \func{}{wxPrintData}{\param{const wxPrintData\&}{ data}}
70
71 Copy constructor.
72
73
74 \membersection{wxPrintData::\destruct{wxPrintData}}\label{wxprintdatadtor}
75
76 \func{}{\destruct{wxPrintData}}{\void}
77
78 Destructor.
79
80
81 \membersection{wxPrintData::GetCollate}\label{wxprintdatagetcollate}
82
83 \constfunc{bool}{GetCollate}{\void}
84
85 Returns true if collation is on.
86
87
88 \membersection{wxPrintData::GetBin}\label{wxprintdatagetbin}
89
90 \constfunc{wxPrintBin}{GetBin}{\void}
91
92 Returns the current bin (papersource). By default, the system is left to select
93 the bin (\texttt{wxPRINTBIN\_DEFAULT} is returned).
94
95 See \helpref{SetBin()}{wxprintdatasetbin} for the full list of bin values.
96
97
98 \membersection{wxPrintData::GetColour}\label{wxprintdatagetcolour}
99
100 \constfunc{bool}{GetColour}{\void}
101
102 Returns true if colour printing is on.
103
104
105 \membersection{wxPrintData::GetDuplex}\label{wxprintdatagetduplex}
106
107 \constfunc{wxDuplexMode}{GetDuplex}{\void}
108
109 Returns the duplex mode. One of wxDUPLEX\_SIMPLEX, wxDUPLEX\_HORIZONTAL, wxDUPLEX\_VERTICAL.
110
111
112 \membersection{wxPrintData::GetNoCopies}\label{wxprintdatagetnocopies}
113
114 \constfunc{int}{GetNoCopies}{\void}
115
116 Returns the number of copies requested by the user.
117
118
119 \membersection{wxPrintData::GetOrientation}\label{wxprintdatagetorientation}
120
121 \constfunc{int}{GetOrientation}{\void}
122
123 Gets the orientation. This can be wxLANDSCAPE or wxPORTRAIT.
124
125
126 \membersection{wxPrintData::GetPaperId}\label{wxprintdatagetpaperid}
127
128 \constfunc{wxPaperSize}{GetPaperId}{\void}
129
130 Returns the paper size id. For more information, see \helpref{wxPrintData::SetPaperId}{wxprintdatasetpaperid}.
131
132
133 \membersection{wxPrintData::GetPrinterName}\label{wxprintdatagetprintername}
134
135 \constfunc{const wxString\&}{GetPrinterName}{\void}
136
137 Returns the printer name. If the printer name is the empty string, it indicates that the default
138 printer should be used.
139
140
141 \membersection{wxPrintData::GetQuality}\label{wxprintdatagetquality}
142
143 \constfunc{wxPrintQuality}{GetQuality}{\void}
144
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:
147
148 \begin{verbatim}
149 wxPRINT_QUALITY_HIGH
150 wxPRINT_QUALITY_MEDIUM
151 wxPRINT_QUALITY_LOW
152 wxPRINT_QUALITY_DRAFT
153 \end{verbatim}
154
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.
157
158
159 \membersection{wxPrintData::IsOk}\label{wxprintdataisok}
160
161 \constfunc{bool}{IsOk}{\void}
162
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.
166
167
168 \membersection{wxPrintData::SetBin}\label{wxprintdatasetbin}
169
170 \func{void}{SetBin}{\param{wxPrintBin }{flag}}
171
172 Sets the current bin. Possible values are:
173
174 \small{
175 \begin{verbatim}
176 enum wxPrintBin
177 {
178 wxPRINTBIN_DEFAULT,
179
180 wxPRINTBIN_ONLYONE,
181 wxPRINTBIN_LOWER,
182 wxPRINTBIN_MIDDLE,
183 wxPRINTBIN_MANUAL,
184 wxPRINTBIN_ENVELOPE,
185 wxPRINTBIN_ENVMANUAL,
186 wxPRINTBIN_AUTO,
187 wxPRINTBIN_TRACTOR,
188 wxPRINTBIN_SMALLFMT,
189 wxPRINTBIN_LARGEFMT,
190 wxPRINTBIN_LARGECAPACITY,
191 wxPRINTBIN_CASSETTE,
192 wxPRINTBIN_FORMSOURCE,
193
194 wxPRINTBIN_USER,
195 };
196 \end{verbatim}
197 }
198
199
200 \membersection{wxPrintData::SetCollate}\label{wxprintdatasetcollate}
201
202 \func{void}{SetCollate}{\param{bool }{flag}}
203
204 Sets collation to on or off.
205
206
207 \membersection{wxPrintData::SetColour}\label{wxprintdatasetcolour}
208
209 \func{void}{SetColour}{\param{bool }{flag}}
210
211 Sets colour printing on or off.
212
213
214 \membersection{wxPrintData::SetDuplex}\label{wxprintdatasetduplex}
215
216 \func{void}{SetDuplex}{\param{wxDuplexMode}{ mode}}
217
218 Returns the duplex mode. One of wxDUPLEX\_SIMPLEX, wxDUPLEX\_HORIZONTAL, wxDUPLEX\_VERTICAL.
219
220
221 \membersection{wxPrintData::SetNoCopies}\label{wxprintdatasetnocopies}
222
223 \func{void}{SetNoCopies}{\param{int }{n}}
224
225 Sets the default number of copies to be printed out.
226
227
228 \membersection{wxPrintData::SetOrientation}\label{wxprintdatasetorientation}
229
230 \func{void}{SetOrientation}{\param{int }{orientation}}
231
232 Sets the orientation. This can be wxLANDSCAPE or wxPORTRAIT.
233
234
235 \membersection{wxPrintData::SetPaperId}\label{wxprintdatasetpaperid}
236
237 \func{void}{SetPaperId}{\param{wxPaperSize}{ paperId}}
238
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).
241
242 {\it paperId} can be one of:
243
244 {\small
245 \begin{verbatim}
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
288
289 Windows 95 only:
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
315 \end{verbatim}
316 }
317
318
319 \membersection{wxPrintData::SetPrinterName}\label{wxprintdatasetprintername}
320
321 \func{void}{SetPrinterName}{\param{const wxString\& }{printerName}}
322
323 Sets the printer name. This can be the empty string to indicate that the default
324 printer should be used.
325
326
327 \membersection{wxPrintData::SetQuality}\label{wxprintdatasetquality}
328
329 \func{void}{SetQuality}{\param{wxPrintQuality}{ quality}}
330
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:
333
334 \begin{verbatim}
335 wxPRINT_QUALITY_HIGH
336 wxPRINT_QUALITY_MEDIUM
337 wxPRINT_QUALITY_LOW
338 wxPRINT_QUALITY_DRAFT
339 \end{verbatim}
340
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.
343
344
345 \membersection{wxPrintData::operator $=$}\label{wxprintdataassign}
346
347 \func{void}{operator $=$}{\param{const wxPrintData\&}{ data}}
348
349 Assigns print data to this object.
350
351 \func{void}{operator $=$}{\param{const wxPrintSetupData\&}{ data}}
352
353 Assigns print setup data to this object. wxPrintSetupData is deprecated,
354 but retained for backward compatibility.
355
356 \section{\class{wxPrintDialog}}\label{wxprintdialog}
357
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.
361
362 \wxheading{Derived from}
363
364 \helpref{wxDialog}{wxdialog}\\
365 \helpref{wxWindow}{wxwindow}\\
366 \helpref{wxEvtHandler}{wxevthandler}\\
367 \helpref{wxObject}{wxobject}
368
369 \wxheading{Include files}
370
371 <wx/printdlg.h>
372
373 \wxheading{See also}
374
375 \helpref{Printing framework overview}{printingoverview},
376 \helpref{wxPrintDialog Overview}{wxprintdialogoverview}
377
378 \latexignore{\rtfignore{\wxheading{Members}}}
379
380
381 \membersection{wxPrintDialog::wxPrintDialog}\label{wxprintdialogctor}
382
383 \func{}{wxPrintDialog}{\param{wxWindow* }{parent}, \param{wxPrintDialogData* }{data = NULL}}
384
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.
387
388 \wxheading{See also}
389
390 \helpref{wxPrintDialogData}{wxprintdialogdata}
391
392
393 \membersection{wxPrintDialog::\destruct{wxPrintDialog}}\label{wxprintdialogdtor}
394
395 \func{}{\destruct{wxPrintDialog}}{\void}
396
397 Destructor. If wxPrintDialog::GetPrintDC has {\it not} been called,
398 the device context obtained by the dialog (if any) will be deleted.
399
400
401 \membersection{wxPrintDialog::GetPrintDialogData}\label{wxprintdialoggetprintdialogdata}
402
403 \func{wxPrintDialogData\&}{GetPrintDialogData}{\void}
404
405 Returns the \helpref{print dialog data}{wxprintdialogdata} associated with the print dialog.
406
407
408 \membersection{wxPrintDialog::GetPrintDC}\label{wxprintdialoggetprintdc}
409
410 \func{wxDC* }{GetPrintDC}{\void}
411
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
415 explicitly.
416
417
418 \membersection{wxPrintDialog::ShowModal}\label{wxprintdialogshowmodal}
419
420 \func{int}{ShowModal}{\void}
421
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}.
425
426 \section{\class{wxPrintDialogData}}\label{wxprintdialogdata}
427
428 This class holds information related to the visual characteristics of wxPrintDialog.
429 It contains a wxPrintData object with underlying printing settings.
430
431 \wxheading{Derived from}
432
433 \helpref{wxObject}{wxobject}
434
435 \wxheading{Include files}
436
437 <wx/cmndata.h>
438
439 \wxheading{See also}
440
441 \helpref{Printing framework overview}{printingoverview},
442 \helpref{wxPrintDialog}{wxprintdialog},
443 \helpref{wxPrintDialog Overview}{wxprintdialogoverview}
444
445 \latexignore{\rtfignore{\wxheading{Members}}}
446
447
448 \membersection{wxPrintDialogData::wxPrintDialogData}\label{wxprintdialogdatactor}
449
450 \func{}{wxPrintDialogData}{\void}
451
452 Default constructor.
453
454 \func{}{wxPrintDialogData}{\param{wxPrintDialogData\&}{ dialogData}}
455
456 Copy constructor.
457
458 \func{}{wxPrintDialogData}{\param{wxPrintData\&}{ printData}}
459
460 Construct an object from a print dialog data object.
461
462
463 \membersection{wxPrintDialogData::\destruct{wxPrintDialogData}}\label{wxprintdialogdatadtor}
464
465 \func{}{\destruct{wxPrintDialogData}}{\void}
466
467 Destructor.
468
469
470 \membersection{wxPrintDialogData::EnableHelp}\label{wxprintdialogdataenablehelp}
471
472 \func{void}{EnableHelp}{\param{bool }{flag}}
473
474 Enables or disables the `Help' button.
475
476
477 \membersection{wxPrintDialogData::EnablePageNumbers}\label{wxprintdialogdataenablepagenumbers}
478
479 \func{void}{EnablePageNumbers}{\param{bool }{flag}}
480
481 Enables or disables the `Page numbers' controls.
482
483
484 \membersection{wxPrintDialogData::EnablePrintToFile}\label{wxprintdialogdataenableprinttofile}
485
486 \func{void}{EnablePrintToFile}{\param{bool }{flag}}
487
488 Enables or disables the `Print to file' checkbox.
489
490
491 \membersection{wxPrintDialogData::EnableSelection}\label{wxprintdialogdataenableselection}
492
493 \func{void}{EnableSelection}{\param{bool }{flag}}
494
495 Enables or disables the `Selection' radio button.
496
497
498 \membersection{wxPrintDialogData::GetAllPages}\label{wxprintdialogdatagetallpages}
499
500 \constfunc{bool}{GetAllPages}{\void}
501
502 Returns true if the user requested that all pages be printed.
503
504
505 \membersection{wxPrintDialogData::GetCollate}\label{wxprintdialogdatagetcollate}
506
507 \constfunc{bool}{GetCollate}{\void}
508
509 Returns true if the user requested that the document(s) be collated.
510
511
512 \membersection{wxPrintDialogData::GetFromPage}\label{wxprintdialogdatagetfrompage}
513
514 \constfunc{int}{GetFromPage}{\void}
515
516 Returns the {\it from} page number, as entered by the user.
517
518
519 \membersection{wxPrintDialogData::GetMaxPage}\label{wxprintdialogdatagetmaxpage}
520
521 \constfunc{int}{GetMaxPage}{\void}
522
523 Returns the {\it maximum} page number.
524
525
526 \membersection{wxPrintDialogData::GetMinPage}\label{wxprintdialogdatagetminpage}
527
528 \constfunc{int}{GetMinPage}{\void}
529
530 Returns the {\it minimum} page number.
531
532
533 \membersection{wxPrintDialogData::GetNoCopies}\label{wxprintdialogdatagetnocopies}
534
535 \constfunc{int}{GetNoCopies}{\void}
536
537 Returns the number of copies requested by the user.
538
539
540 \membersection{wxPrintDialogData::GetPrintData}\label{wxprintdialogdatagetprintdata}
541
542 \func{wxPrintData\&}{GetPrintData}{\void}
543
544 Returns a reference to the internal wxPrintData object.
545
546
547 \membersection{wxPrintDialogData::GetPrintToFile}\label{wxprintdialogdatagetprinttofile}
548
549 \constfunc{bool}{GetPrintToFile}{\void}
550
551 Returns true if the user has selected printing to a file.
552
553
554 \membersection{wxPrintDialogData::GetSelection}\label{wxprintdialogdatagetselection}
555
556 \constfunc{bool}{GetSelection}{\void}
557
558 Returns true if the user requested that the selection be printed (where 'selection' is
559 a concept specific to the application).
560
561
562 \membersection{wxPrintDialogData::GetToPage}\label{wxprintdialogdatagettopage}
563
564 \constfunc{int}{GetToPage}{\void}
565
566 Returns the {\it to} page number, as entered by the user.
567
568
569 \membersection{wxPrintDialogData::IsOk}\label{wxprintdialogdataisok}
570
571 \constfunc{bool}{IsOk}{\void}
572
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.
576
577
578 \membersection{wxPrintDialogData::SetCollate}\label{wxprintdialogdatasetcollate}
579
580 \func{void}{SetCollate}{\param{bool }{flag}}
581
582 Sets the 'Collate' checkbox to true or false.
583
584
585 \membersection{wxPrintDialogData::SetFromPage}\label{wxprintdialogdatasetfrompage}
586
587 \func{void}{SetFromPage}{\param{int }{page}}
588
589 Sets the {\it from} page number.
590
591
592 \membersection{wxPrintDialogData::SetMaxPage}\label{wxprintdialogdatasetmaxpage}
593
594 \func{void}{SetMaxPage}{\param{int }{page}}
595
596 Sets the {\it maximum} page number.
597
598
599 \membersection{wxPrintDialogData::SetMinPage}\label{wxprintdialogdatasetminpage}
600
601 \func{void}{SetMinPage}{\param{int }{page}}
602
603 Sets the {\it minimum} page number.
604
605
606 \membersection{wxPrintDialogData::SetNoCopies}\label{wxprintdialogdatasetnocopies}
607
608 \func{void}{SetNoCopies}{\param{int }{n}}
609
610 Sets the default number of copies the user has requested to be printed out.
611
612
613 \membersection{wxPrintDialogData::SetPrintData}\label{wxprintdialogdatasetprintdata}
614
615 \func{void}{SetPrintData}{\param{const wxPrintData\& }{printData}}
616
617 Sets the internal wxPrintData.
618
619
620 \membersection{wxPrintDialogData::SetPrintToFile}\label{wxprintdialogdatasetprinttofile}
621
622 \func{void}{SetPrintToFile}{\param{bool }{flag}}
623
624 Sets the 'Print to file' checkbox to true or false.
625
626
627 \membersection{wxPrintDialogData::SetSelection}\label{wxprintdialogdatasetselection}
628
629 \func{void}{SetSelection}{\param{bool}{ flag}}
630
631 Selects the 'Selection' radio button. The effect of printing the selection depends on how the application
632 implements this command, if at all.
633
634
635 \membersection{wxPrintDialogData::SetSetupDialog}\label{wxprintdialogdatasetsetupdialog}
636
637 \func{void}{SetSetupDialog}{\param{bool }{flag}}
638
639 Determines whether the dialog to be shown will be the Print dialog
640 (pass false) or Print Setup dialog (pass true).
641
642 This function has been deprecated since version 2.5.4.
643
644 \membersection{wxPrintDialogData::SetToPage}\label{wxprintdialogdatasettopage}
645
646 \func{void}{SetToPage}{\param{int }{page}}
647
648 Sets the {\it to} page number.
649
650
651 \membersection{wxPrintDialogData::operator $=$}\label{wxprintdialogdataassign}
652
653 \func{void}{operator $=$}{\param{const wxPrintData\&}{ data}}
654
655 Assigns print data to this object.
656
657 \func{void}{operator $=$}{\param{const wxPrintDialogData\&}{ data}}
658
659 Assigns another print dialog data object to this object.
660
661 \section{\class{wxPrinter}}\label{wxprinter}
662
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
667 method of printing.
668
669 \wxheading{Derived from}
670
671 \helpref{wxObject}{wxobject}
672
673 \wxheading{Include files}
674
675 <wx/print.h>
676
677 \wxheading{See also}
678
679 \helpref{Printing framework overview}{printingoverview},
680 \helpref{wxPrinterDC}{wxprinterdc},
681 \helpref{wxPrintDialog}{wxprintdialog},
682 \helpref{wxPrintout}{wxprintout},
683 \helpref{wxPrintPreview}{wxprintpreview}.
684
685 \latexignore{\rtfignore{\wxheading{Members}}}
686
687
688 \membersection{wxPrinter::wxPrinter}\label{wxprinterctor}
689
690 \func{}{wxPrinter}{\param{wxPrintDialogData* }{data = NULL}}
691
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.
694
695 \wxheading{See also}
696
697 \helpref{wxPrintDialogData}{wxprintdialogdata},
698 \helpref{wxPrintData}{wxprintdata}
699
700
701
702 \membersection{wxPrinter::CreateAbortWindow}\label{wxprintercreateabortwindow}
703
704 \func{void}{CreateAbortWindow}{\param{wxWindow* }{parent}, \param{wxPrintout* }{printout}}
705
706 Creates the default printing abort window, with a cancel button.
707
708
709 \membersection{wxPrinter::GetAbort}\label{wxprintergetabort}
710
711 \func{bool}{GetAbort}{\void}
712
713 Returns true if the user has aborted the print job.
714
715
716 \membersection{wxPrinter::GetLastError}\label{wxprintergetlasterror}
717
718 \func{static wxPrinterError}{GetLastError}{\void}
719
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.
724
725 Returned value is one of the following:
726
727 \twocolwidtha{7cm}
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.}
732 \end{twocollist}
733
734
735
736 \membersection{wxPrinter::GetPrintDialogData}\label{wxprintergetprintdialogdata}
737
738 \func{wxPrintDialogData\&}{GetPrintDialogData}{\void}
739
740 Returns the \helpref{print data}{wxprintdata} associated with the printer object.
741
742
743 \membersection{wxPrinter::Print}\label{wxprinterprint}
744
745 \func{bool}{Print}{\param{wxWindow *}{parent}, \param{wxPrintout *}{printout}, \param{bool }{prompt=true}}
746
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.
749
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.
754
755
756 \membersection{wxPrinter::PrintDialog}\label{wxprinterprintdialog}
757
758 \func{wxDC*}{PrintDialog}{\param{wxWindow *}{parent}}
759
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).
765
766 The application must delete this device context to avoid a memory leak.
767
768
769 \membersection{wxPrinter::ReportError}\label{wxprinterreporterror}
770
771 \func{void}{ReportError}{\param{wxWindow *}{parent}, \param{wxPrintout *}{printout}, \param{const wxString\& }{message}}
772
773 Default error-reporting function.
774
775
776 \membersection{wxPrinter::Setup}\label{wxprintersetup}
777
778 \func{bool}{Setup}{\param{wxWindow *}{parent}}
779
780 Invokes the print setup dialog. Note that the setup dialog is obsolete from
781 Windows 95, though retained for backward compatibility.
782
783 \section{\class{wxPrinterDC}}\label{wxprinterdc}
784
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.
789
790 \wxheading{Derived from}
791
792 \helpref{wxDC}{wxdc}\\
793 \helpref{wxObject}{wxdc}
794
795 \wxheading{Include files}
796
797 <wx/dcprint.h>
798
799 \wxheading{See also}
800
801 \helpref{Printing framework overview}{printingoverview},
802 \helpref{wxDC}{wxdc}
803
804 \latexignore{\rtfignore{\wxheading{Members}}}
805
806
807 \membersection{wxPrinterDC::wxPrinterDC}\label{wxprinterdcctor}
808
809 \func{}{wxPrinterDC}{\param{const wxPrintData\& }{printData}}
810
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
816 instead.
817
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}}
820
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.
826
827 This constructor is deprecated and retained only for backward compatibility.
828
829 \membersection{wxPrinterDC::GetPaperRect}\label{wxprinterdcgetpaperrect}
830
831 \func{wxRect}{wxPrinterDC::GetPaperRect}{}
832
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}.
840
841
842 \section{\class{wxPrintout}}\label{wxprintout}
843
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.
849
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.
865
866
867 \wxheading{Derived from}
868
869 \helpref{wxObject}{wxobject}
870
871 \wxheading{Include files}
872
873 <wx/print.h>
874
875 \wxheading{See also}
876
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}
883
884 \latexignore{\rtfignore{\wxheading{Members}}}
885
886
887 \membersection{wxPrintout::wxPrintout}\label{wxprintoutctor}
888
889 \func{}{wxPrintout}{\param{const wxString\& }{title = "Printout"}}
890
891 Constructor. Pass an optional title argument - the current filename would be a good idea. This will appear in the printing list
892 (at least in MSW)
893
894
895 \membersection{wxPrintout::\destruct{wxPrintout}}\label{wxprintoutdtor}
896
897 \func{}{\destruct{wxPrintout}}{\void}
898
899 Destructor.
900
901
902 \membersection{wxPrintout::GetDC}\label{wxprintoutgetdc}
903
904 \func{wxDC *}{GetDC}{\void}
905
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.
909
910
911 \membersection{wxPrintout::GetPageInfo}\label{wxprintoutgetpageinfo}
912
913 \func{void}{GetPageInfo}{\param{int *}{minPage}, \param{int *}{maxPage}, \param{int *}{pageFrom}, \param{int *}{pageTo}}
914
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.
919
920 If {\it minPage} is zero, the page number controls in the print dialog will be disabled.
921
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.
925 }
926
927 \perlnote{When this method is overridden in a derived class,
928 it must not take any parameters, and returns a 4-element list.
929 }
930
931
932 \membersection{wxPrintout::GetPageSizeMM}\label{wxprintoutgetpagesizemm}
933
934 \func{void}{GetPageSizeMM}{\param{int *}{w}, \param{int *}{h}}
935
936 Returns the size of the printer page in millimetres.
937
938 \pythonnote{This method returns the output-only parameters as a tuple.}
939
940 \perlnote{In wxPerl this method takes no arguments and returns a
941 2-element list {\tt ( w, h )}}
942
943
944 \membersection{wxPrintout::GetPageSizePixels}\label{wxprintoutgetpagesizepixels}
945
946 \func{void}{GetPageSizePixels}{\param{int *}{w}, \param{int *}{h}}
947
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.
955
956 \pythonnote{This method returns the output-only parameters as a tuple.}
957
958 \perlnote{In wxPerl this method takes no arguments and returns a
959 2-element list {\tt ( w, h )}}
960
961
962 \membersection{wxPrintout::GetPaperRectPixels}\label{wxprintoutgetpaperrectpixels}
963
964 \func{wxRect}{GetPaperRectPixels}{}
965
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
980 rectangle.
981
982
983 \membersection{wxPrintout::GetPPIPrinter}\label{wxprintoutgetppiprinter}
984
985 \func{void}{GetPPIPrinter}{\param{int *}{w}, \param{int *}{h}}
986
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.
993
994 \pythonnote{This method returns the output-only parameters as a tuple.}
995
996 \perlnote{In wxPerl this method takes no arguments and returns a
997 2-element list {\tt ( w, h )}}
998
999
1000 \membersection{wxPrintout::GetPPIScreen}\label{wxprintoutgetppiscreen}
1001
1002 \func{void}{GetPPIScreen}{\param{int *}{w}, \param{int *}{h}}
1003
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.
1008
1009
1010 \membersection{wxPrintout::GetTitle}\label{wxprintoutgettitle}
1011
1012 \func{wxString}{GetTitle}{\void}
1013
1014 Returns the title of the printout
1015
1016 \pythonnote{This method returns the output-only parameters as a tuple.}
1017
1018 \perlnote{In wxPerl this method takes no arguments and returns a
1019 2-element list {\tt ( w, h )}}
1020
1021
1022 \membersection{wxPrintout::HasPage}\label{wxprintouthaspage}
1023
1024 \func{bool}{HasPage}{\param{int}{ pageNum}}
1025
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.
1029
1030
1031 \membersection{wxPrintout::IsPreview}\label{wxprintoutispreview}
1032
1033 \func{bool}{IsPreview}{\void}
1034
1035 Returns true if the printout is currently being used for previewing.
1036
1037
1038 \membersection{wxPrintout::FitThisSizeToPaper}\label{wxprintoutfitthissizetopaper}
1039
1040 \func{void}{FitThisSizeToPaper}{\param{const wxSize\& }{imageSize}}
1041
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.
1047
1048 \membersection{wxPrintout::FitThisSizeToPage}\label{wxprintoutfitthissizetopage}
1049
1050
1051 \func{void}{FitThisSizeToPage}{\param{const wxSize\& }{imageSize}}
1052
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.
1060
1061
1062 \membersection{wxPrintout::FitThisSizeToPageMargins}\label{wxprintoutfitthissizetopagemargins}
1063
1064 \func{void}{FitThisSizeToPageMargins}{\param{const wxSize\& }{imageSize}, \param{const wxPageSetupDialogData\& }{pageSetupData}}
1065
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.
1073
1074
1075 \membersection{wxPrintout::MapScreenSizeToPaper}\label{wxprintoutmapscreensizetopaper}
1076
1077 \func{void}{MapScreenSizeToPaper}{}
1078
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.
1082 That is,
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.
1086
1087
1088 \membersection{wxPrintout::MapScreenSizeToPage}\label{wxprintoutmapscreensizetopage}
1089
1090 \func{void}{MapScreenSizeToPage}{}
1091
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.
1095
1096
1097 \membersection{wxPrintout::MapScreenSizeToPageMargins}\label{wxprintoutmapscreensizetopagemargins}
1098
1099 \func{void}{MapScreenSizeToPageMargins}{\param{const wxPageSetupDialogData\& }{pageSetupData}}
1100
1101 This sets the user scale of the wxDC assocated with this wxPrintout to the same
1102 scale as
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.
1106
1107
1108 \membersection{wxPrintout::MapScreenSizeToDevice}\label{wxprintoutmapscreensizetodevice}
1109
1110 \func{void}{MapScreenSizeToDevice}{}
1111
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.
1121
1122
1123 \membersection{wxPrintout::GetLogicalPaperRect}\label{wxprintoutgetlogicalpaperrect}
1124
1125 \func{wxRect}{GetLogicalPaperRect}{}
1126
1127 Return the rectangle corresponding to the paper in the associated wxDC's
1128 logical coordinates for the current user scale and device origin.
1129
1130
1131 \membersection{wxPrintout::GetLogicalPageRect}\label{wxprintoutgetlogicalpagerect}
1132
1133 \func{wxRect}{GetLogicalPageRect}{}
1134
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.
1139
1140
1141 \membersection{wxPrintout::GetLogicalPageMarginsRect}\label{wxprintoutgetlogicalpagemarginsrect}
1142
1143 \func{wxRect}{GetLogicalPageMarginsRect}{\param{const wxPageSetupDialogData\& }{pageSetupData}}
1144
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.
1149
1150
1151 \membersection{wxPrintout::SetLogicalOrigin}\label{wxprintoutsetlogicalorigin}
1152
1153 \func{void}{SetLogicalOrigin}{\param{wxCoord }{x}, \param{wxCoord }{y}}
1154
1155 Set the device origin of the associated wxDC so that the current logical point
1156 becomes the new logical origin.
1157
1158
1159 \membersection{wxPrintout::OffsetLogicalOrigin}\label{wxprintoutoffsetlogicalorigin}
1160
1161 \func{void}{OffsetLogicalOrigin}{\param{wxCoord }{xoff}, \param{wxCoord }{yoff}}
1162
1163 Shift the device origin by an amount specified in logical coordinates.
1164
1165
1166 \membersection{wxPrintout::OnBeginDocument}\label{wxprintoutonbegindocument}
1167
1168 \func{bool}{OnBeginDocument}{\param{int}{ startPage}, \param{int}{ endPage}}
1169
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
1172 copy printed.
1173
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.
1176
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)}. }
1180
1181
1182 \membersection{wxPrintout::OnEndDocument}\label{wxprintoutonenddocument}
1183
1184 \func{void}{OnEndDocument}{\void}
1185
1186 Called by the framework at the end of document printing. OnEndDocument
1187 is called once for every copy printed.
1188
1189 The base wxPrintout::OnEndDocument {\it must} be called
1190 from within the overridden function, since it calls wxDC::EndDoc.
1191
1192
1193 \membersection{wxPrintout::OnBeginPrinting}\label{wxprintoutonbeginprinting}
1194
1195 \func{void}{OnBeginPrinting}{\void}
1196
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).
1199
1200
1201 \membersection{wxPrintout::OnEndPrinting}\label{wxprintoutonendprinting}
1202
1203 \func{void}{OnEndPrinting}{\void}
1204
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).
1207
1208
1209 \membersection{wxPrintout::OnPreparePrinting}\label{wxprintoutonprepareprinting}
1210
1211 \func{void}{OnPreparePrinting}{\void}
1212
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.
1216
1217
1218 \membersection{wxPrintout::OnPrintPage}\label{wxprintoutonprintpage}
1219
1220 \func{bool}{OnPrintPage}{\param{int}{ pageNum}}
1221
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
1224 context to draw on.
1225
1226 \section{\class{wxPrintPreview}}\label{wxprintpreview}
1227
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.
1233
1234 \wxheading{Derived from}
1235
1236 \helpref{wxObject}{wxobject}
1237
1238 \wxheading{Include files}
1239
1240 <wx/print.h>
1241
1242 \wxheading{See also}
1243
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}.
1252
1253 \latexignore{\rtfignore{\wxheading{Members}}}
1254
1255
1256 \membersection{wxPrintPreview::wxPrintPreview}\label{wxprintpreviewctor}
1257
1258 \func{}{wxPrintPreview}{\param{wxPrintout* }{printout}, \param{wxPrintout* }{printoutForPrinting},
1259 \param{wxPrintData* }{data=NULL}}
1260
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
1264 print data.
1265
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.
1268
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.
1272
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).
1276
1277
1278 \membersection{wxPrintPreview::\destruct{wxPrintPreview}}\label{wxprintpreviewdtor}
1279
1280 \func{}{\destruct{wxPrinter}}{\void}
1281
1282 Destructor. Deletes both print preview objects, so do not destroy these objects
1283 in your application.
1284
1285
1286 \membersection{wxPrintPreview::GetCanvas}\label{wxprintpreviewgetcanvas}
1287
1288 \func{wxPreviewCanvas* }{GetCanvas}{\void}
1289
1290 Gets the preview window used for displaying the print preview image.
1291
1292
1293 \membersection{wxPrintPreview::GetCurrentPage}\label{wxprintpreviewgetcurrentpage}
1294
1295 \func{int}{GetCurrentPage}{\void}
1296
1297 Gets the page currently being previewed.
1298
1299
1300 \membersection{wxPrintPreview::GetFrame}\label{wxprintpreviewgetframe}
1301
1302 \func{wxFrame *}{GetFrame}{\void}
1303
1304 Gets the frame used for displaying the print preview canvas
1305 and control bar.
1306
1307
1308 \membersection{wxPrintPreview::GetMaxPage}\label{wxprintpreviewgetmaxpage}
1309
1310 \func{int}{GetMaxPage}{\void}
1311
1312 Returns the maximum page number.
1313
1314
1315 \membersection{wxPrintPreview::GetMinPage}\label{wxprintpreviewgetminpage}
1316
1317 \func{int}{GetMinPage}{\void}
1318
1319 Returns the minimum page number.
1320
1321
1322 \membersection{wxPrintPreview::GetPrintout}\label{wxprintpreviewgetprintout}
1323
1324 \func{wxPrintout *}{GetPrintout}{\void}
1325
1326 Gets the preview printout object associated with the wxPrintPreview object.
1327
1328
1329 \membersection{wxPrintPreview::GetPrintoutForPrinting}\label{wxprintpreviewgetprintoutforprinting}
1330
1331 \func{wxPrintout *}{GetPrintoutForPrinting}{\void}
1332
1333 Gets the printout object to be used for printing from within the preview interface,
1334 or NULL if none exists.
1335
1336
1337 \membersection{wxPrintPreview::IsOk}\label{wxprintpreviewisok}
1338
1339 \func{bool}{Ok}{\void}
1340
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).
1343
1344
1345 \membersection{wxPrintPreview::PaintPage}\label{wxprintpreviewpaintpage}
1346
1347 \func{bool}{PaintPage}{\param{wxPreviewCanvas *}{canvas}, \param{wxDC& }{dc}}
1348
1349 This refreshes the preview window with the preview image.
1350 It must be called from the preview window's OnPaint member.
1351
1352 The implementation simply blits the preview bitmap onto
1353 the canvas, creating a new preview bitmap if none exists.
1354
1355
1356 \membersection{wxPrintPreview::Print}\label{wxprintpreviewprint}
1357
1358 \func{bool}{Print}{\param{bool }{prompt}}
1359
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.
1364
1365 Returns false in case of error -- call
1366 \helpref{wxPrinter::GetLastError}{wxprintergetlasterror} to get detailed
1367 information about the kind of the error.
1368
1369
1370 \membersection{wxPrintPreview::RenderPage}\label{wxprintpreviewrenderpage}
1371
1372 \func{bool}{RenderPage}{\param{int }{pageNum}}
1373
1374 Renders a page into a wxMemoryDC. Used internally by wxPrintPreview.
1375
1376
1377 \membersection{wxPrintPreview::SetCanvas}\label{wxprintpreviewsetcanvas}
1378
1379 \func{void}{SetCanvas}{\param{wxPreviewCanvas* }{window}}
1380
1381 Sets the window to be used for displaying the print preview image.
1382
1383
1384 \membersection{wxPrintPreview::SetCurrentPage}\label{wxprintpreviewsetcurrentpage}
1385
1386 \func{void}{SetCurrentPage}{\param{int}{ pageNum}}
1387
1388 Sets the current page to be previewed.
1389
1390
1391 \membersection{wxPrintPreview::SetFrame}\label{wxprintpreviewsetframe}
1392
1393 \func{void}{SetFrame}{\param{wxFrame *}{frame}}
1394
1395 Sets the frame to be used for displaying the print preview canvas
1396 and control bar.
1397
1398
1399 \membersection{wxPrintPreview::SetPrintout}\label{wxprintpreviewsetprintout}
1400
1401 \func{void}{SetPrintout}{\param{wxPrintout *}{printout}}
1402
1403 Associates a printout object with the wxPrintPreview object.
1404
1405
1406 \membersection{wxPrintPreview::SetZoom}\label{wxprintpreviewsetzoom}
1407
1408 \func{void}{SetZoom}{\param{int}{ percent}}
1409
1410 Sets the percentage preview zoom, and refreshes the preview canvas
1411 accordingly.
1412