diff options
| author | ManoloFLTK <41016272+ManoloFLTK@users.noreply.github.com> | 2020-11-01 09:26:29 +0100 |
|---|---|---|
| committer | ManoloFLTK <41016272+ManoloFLTK@users.noreply.github.com> | 2020-11-01 09:26:40 +0100 |
| commit | 1761523c9e730ca7ac635be91d4e56d7ff77beab (patch) | |
| tree | 6390edb59b7c8aa281a48f8a7c0e7c8663df6ab8 /FL | |
| parent | b540c650816ac313b0d36137136b732631b42c3b (diff) | |
Add Fl_PostScript_File_Device::close_command(Fl_PostScript_Close_Command cmd)
Also expand Doxygen doc of class Fl_Printer for the X11 platform.
Diffstat (limited to 'FL')
| -rw-r--r-- | FL/Fl_PostScript.H | 16 | ||||
| -rw-r--r-- | FL/Fl_Printer.H | 11 |
2 files changed, 21 insertions, 6 deletions
diff --git a/FL/Fl_PostScript.H b/FL/Fl_PostScript.H index dc31cb116..7b2b3ac8e 100644 --- a/FL/Fl_PostScript.H +++ b/FL/Fl_PostScript.H @@ -25,7 +25,10 @@ #include <FL/fl_draw.H> #include <stdarg.h> -/** Signature of Fl_PostScript::close_command() functions passed as parameters. */ +/** Signature of functions FLTK may use to close FILE variables after PostScript/EPS output. + A non-null return value indicates output error. + \see Fl_PostScript_File_Device::close_command() and Fl_EPS_File_Surface::Fl_EPS_File_Surface(). + */ extern "C" { typedef int (*Fl_PostScript_Close_Command)(FILE *); } @@ -44,6 +47,11 @@ class Fl_PostScript_Graphics_Driver; FLTK standard fonts are output using the corresponding PostScript standard fonts. The latin alphabet means all unicode characters between U+0020 and U+017F, or, in other words, the ASCII, Latin-1 Supplement and Latin Extended-A charts. + <br><b>Processing of transparent Fl_RGB_Image objects</b>: Under the X11 + pango platform, + these objects are output with their exact transparency. With other platforms, these objects + are drawn blended to white color. Class Fl_EPS_File_Surface 's constructor allows to set another + background color for blending. + <center>Extra characters supported by standard PostScript fonts</center> <table> <tr> <th>Char</th><th>Codepoint</th><th>Name</th> <th>Char</th><th>Codepoint</th><th>Name</th> <th>Char</th><th>Codepoint</th><th>Name</th></tr> <tr><td>ƒ</td><td>U+0192</td><td>florin</td><td>‚</td><td>U+201A</td><td>quotesinglbase</td><td>™</td><td>U+2122</td><td>trademark</td></tr> @@ -121,14 +129,16 @@ public: void translate(int x, int y); void untranslate(void); int end_page (void); - /** Finishes all PostScript output. - This also closes the underlying \p fclose(file()) unless close_command() was used to set another function. + /** Completes all PostScript output. + This also closes with \p fclose() the underlying file() unless close_command() was used to set another function. */ void end_job(void); /** Label of the PostScript file chooser window */ static const char *file_chooser_title; /** Returns the underlying FILE* receiving all PostScript data */ FILE *file(); + /** Sets the function end_job() calls to close the file() */ + void close_command(Fl_PostScript_Close_Command cmd); }; /** Encapsulated PostScript drawing surface. diff --git a/FL/Fl_Printer.H b/FL/Fl_Printer.H index 784fcb806..e2b406ac4 100644 --- a/FL/Fl_Printer.H +++ b/FL/Fl_Printer.H @@ -59,15 +59,19 @@ \endcode <b>Platform specifics</b> <ul> - <li>Unix/Linux platforms: + <li>X11 platforms: <ul><li>FLTK expresses all graphics data using (Level 2) PostScript and sends that to the selected printer. - See class Fl_PostScript_File_Device for a description of how text appears in print. + See class Fl_PostScript_File_Device for a description of how text and transparent images appear in print. + <li>If the GTK library is available at run-time, class Fl_Print runs GTK's printer dialog which allows to set + printer, paper size and orientation. + <li>If that library is not avaialble, or if Fl::option(Fl::OPTION_PRINTER_USES_GTK) has been turned off, + class Fl_Print runs FLTK's print dialog. + <ul> <li>Unless it has been previously changed, the default paper size is A4. To change that, press the "Properties" button of the "Print" dialog window opened by an Fl_Printer::begin_job() call. This opens a "Printer Properties" window where it's possible to select the adequate paper size. Finally press the "Save" button therein to assign the chosen paper size to the chosen printer for this and all further print operations. - <li>Class Fl_RGB_Image prints but loses its transparency if it has one. <li>Use the static public attributes of this class to set the print dialog to other languages than English. For example, the "Printer:" dialog item Fl_Printer::dialog_printer can be set to French with: \code @@ -77,6 +81,7 @@ <li>Use Fl_PostScript_File_Device::file_chooser_title to customize the title of the file chooser dialog that opens when using the "Print To File" option of the print dialog. </ul> + </ul> <li>Windows platform: Transparent Fl_RGB_Image 's don't print with exact transparency on most printers (a workaround is to use print_window_part() ). Fl_RGB_Image 's don't rotate() well. |
