]>
Commit | Line | Data |
---|---|---|
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 |