]> git.saurik.com Git - wxWidgets.git/blobdiff - interface/print.h
was incorrectly forcing the font to 12 in most cases, fixes #4745
[wxWidgets.git] / interface / print.h
index 8b1f2268f7d03cd3d49f9fd61029e7fe2f586cdd..8ad4c4512b404b2c7a1c5a6a01df77a0dd5df0d0 100644 (file)
@@ -31,19 +31,19 @@ public:
         The @a buttons parameter may be a combination of the following, using the bitwise
         'or' operator:
 
-        @beginStyleTable
-        @style{wxPREVIEW_PRINT}:
+        @beginFlagTable
+        @flag{wxPREVIEW_PRINT}
             Create a print button.
-        @style{wxPREVIEW_NEXT}:
+        @flag{wxPREVIEW_NEXT}
             Create a next page button.
-        @style{wxPREVIEW_PREVIOUS}:
+        @flag{wxPREVIEW_PREVIOUS}
             Create a previous page button.
-        @style{wxPREVIEW_ZOOM}:
+        @flag{wxPREVIEW_ZOOM}
             Create a zoom control.
-        @style{wxPREVIEW_DEFAULT}:
+        @flag{wxPREVIEW_DEFAULT}
             Equivalent to a combination of @c wxPREVIEW_PREVIOUS, @c wxPREVIEW_NEXT
             and @c wxPREVIEW_ZOOM.
-        @endStyleTable
+        @endFlagTable
     */
     wxPreviewControlBar(wxPrintPreview* preview,
                         long buttons,
@@ -60,6 +60,8 @@ public:
 
     /**
         Creates buttons, according to value of the button style flags.
+
+        @todo which flags??
     */
     void CreateButtons();
 
@@ -170,12 +172,10 @@ public:
     void CreateControlBar();
 
     /**
-        Creates the preview canvas and control bar, and calls
-        wxWindow::MakeModal(@true) to disable other top-level windows
-        in the application.
+        Creates the preview canvas and control bar, and calls wxWindow::MakeModal(@true)
+        to disable other top-level windows in the application.
 
-        This function should be called by the application prior to
-        showing the frame.
+        This function should be called by the application prior to showing the frame.
     */
     void Initialize();
 
@@ -199,12 +199,20 @@ public:
     the preview frame. Unlike wxPrinter::Print(), flow of control returns to the
     application immediately after the frame is shown.
 
+    @note
+    The preview shown is only exact on Windows. On other platforms, the wxDC
+    used for preview is different from what is used for printing and the
+    results may be significantly different, depending on how is the output
+    created. In particular, printing code relying on wxDC::GetTextExtent()
+    heavily (for example, wxHtmlEasyPrinting and other wxHTML classes do) is
+    affected. It is recommended to use native preview functionality on
+    platforms that offer it (OS X, GTK+).
+
     @library{wxbase}
     @category{printing}
 
-    @see @ref overview_printing "Printing framework overview", wxPrinterDC,
-    wxPrintDialog, wxPrintout, wxPrinter, wxPreviewCanvas, wxPreviewControlBar,
-    wxPreviewFrame.
+    @see @ref overview_printing, wxPrinterDC, wxPrintDialog, wxPrintout, wxPrinter,
+         wxPreviewCanvas, wxPreviewControlBar, wxPreviewFrame
 */
 class wxPrintPreview : public wxObject
 {
@@ -216,7 +224,7 @@ public:
         printing, and the address of an optional block of printer data, which will
         be copied to the print preview object's print data.
 
-        If @a printoutForPrinting is non-@NULL, a @b Print... button will be placed on
+        If @a printoutForPrinting is non-@NULL, a @b "Print..." button will be placed on
         the preview frame so that the user can print directly from the preview interface.
 
         @remarks
@@ -224,8 +232,7 @@ public:
         called, since they will be deleted in the wxPrintPreview constructor.
         The same does not apply to the @a data argument.
 
-        Test the Ok() to check whether the wxPrintPreview object was created
-        correctly.
+        Use IsOk() to check whether the wxPrintPreview object was created correctly.
     */
     wxPrintPreview(wxPrintout* printout,
                    wxPrintout* printoutForPrinting,
@@ -283,7 +290,7 @@ public:
         It could return @false if there was a problem initializing the printer
         device context (current printer not set, for example).
     */
-    bool Ok();
+    bool IsOk();
 
     /**
         This refreshes the preview window with the preview image.
@@ -332,8 +339,7 @@ public:
     void SetPrintout(wxPrintout* printout);
 
     /**
-        Sets the percentage preview zoom, and refreshes the preview canvas
-        accordingly.
+        Sets the percentage preview zoom, and refreshes the preview canvas accordingly.
     */
     void SetZoom(int percent);
 };
@@ -346,6 +352,7 @@ public:
 
     This class represents the Windows or PostScript printer, and is the vehicle
     through which printing may be launched by an application.
+
     Printing can also be achieved through using of lower functions and classes,
     but this and associated classes provide a more convenient and general method
     of printing.
@@ -353,8 +360,7 @@ public:
     @library{wxbase}
     @category{printing}
 
-    @see @ref overview_printing "Printing framework overview", wxPrinterDC,
-    wxPrintDialog, wxPrintout, wxPrintPreview.
+    @see @ref overview_printing, wxPrinterDC, wxPrintDialog, wxPrintout, wxPrintPreview
 */
 class wxPrinter : public wxObject
 {
@@ -382,15 +388,15 @@ public:
     /**
         Return last error. Valid after calling Print(), PrintDialog() or
         wxPrintPreview::Print().
-        These functions set last error to @c wxPRINTER_NO_ERROR if no error
-        happened.
+
+        These functions set last error to @c wxPRINTER_NO_ERROR if no error happened.
 
         Returned value is one of the following:
 
         @beginTable
-        @row2col{wxPRINTER_NO_ERROR,No error happened.}
-        @row2col{wxPRINTER_CANCELLED,The user cancelled printing.}
-        @row2col{wxPRINTER_ERROR,There was an error during printing.}
+        @row2col{wxPRINTER_NO_ERROR, No error happened.}
+        @row2col{wxPRINTER_CANCELLED, The user cancelled printing.}
+        @row2col{wxPRINTER_ERROR, There was an error during printing.}
         @endTable
     */
     static wxPrinterError GetLastError();
@@ -417,9 +423,8 @@ public:
         Invokes the print dialog.
 
         If successful (the user did not press Cancel and no error occurred),
-        a suitable device context will be returned;
-        otherwise @NULL is returned -- call GetLastError() to get detailed
-        information about the kind of the error.
+        a suitable device context will be returned; otherwise @NULL is returned;
+        call GetLastError() to get detailed information about the kind of the error.
 
         @remarks
         The application must delete this device context to avoid a memory leak.
@@ -474,8 +479,8 @@ public:
     @library{wxbase}
     @category{printing}
 
-    @see @ref overview_printing "Printing framework overview", wxPrinterDC,
-    wxPrintDialog, wxPageSetupDialog, wxPrinter, wxPrintPreview
+    @see @ref overview_printing, wxPrinterDC, wxPrintDialog, wxPageSetupDialog,
+         wxPrinter, wxPrintPreview
 */
 class wxPrintout : public wxObject
 {
@@ -613,8 +618,8 @@ public:
         By default this returns (1, 32000) for the page minimum and maximum values, and
         (1, 1) for the required page range.
 
-        If @a minPage is zero, the page number controls in the print dialog will be
-        disabled.
+        @a minPage must be greater than zero and @a maxPage must be greater
+        than @a minPage.
 
         @beginWxPythonOnly
         When this method is implemented in a derived Python class, it should be designed
@@ -672,7 +677,9 @@ public:
     wxRect GetPaperRectPixels();
 
     /**
-        Returns the title of the printout
+        Returns the title of the printout.
+
+        @todo the python note here was wrong
     */
     wxString GetTitle();
 
@@ -726,8 +733,9 @@ public:
         Set the user scale and device origin of the wxDC associated with this wxPrintout
         so that the printed page matches the screen size as closely as possible
         and the logical origin is in the top left corner of the paper rectangle.
-        That is, a 100-pixel object on screen should appear at the same size on the printed
-        page.
+
+        That is, a 100-pixel object on screen should appear at the same size on the
+        printed page.
         (It will, of course, be larger or smaller in the preview image, depending on the
         zoom factor.)