wxArt2D
|
to print what is displayed on a a2dDrawingPart or the whole document as seen from the showobject of the drawer. More...
#include <drawer.h>
Public Member Functions | |
a2dDrawingPrintOut (const wxPageSetupDialogData &pageSetupData, a2dDrawingPart *drawingPart, const wxString &title, const wxString &filename, a2dPrintWhat typeOfPrint, bool drawframe, double scalelimit, bool fitToPage) | |
initialize mapping based on an existing canvas More... | |
~a2dDrawingPrintOut (void) | |
destructor | |
bool | OnPrintPage (int) |
called for every page to print, for a2dDrawing in general just one. More... | |
bool | HasPage (int pageNum) |
bool | OnBeginDocument (int startPage, int endPage) |
void | GetPageInfo (int *minPage, int *maxPage, int *selPageFrom, int *selPageTo) |
Static Public Member Functions | |
static void | SetPrintAsBitmap (bool printAsBitmap) |
if set, printing is done via a bitmap which is drawn into, and next bitmap is printed. | |
static bool | GetPrintAsBitmap () |
if set, printing is done via a bitmap which is drawn into, and next bitmap is printed. | |
Protected Attributes | |
const wxPageSetupDialogData & | m_pageSetupData |
a2dPrintWhat | m_typeOfPrint |
type of print requested | |
a2dDrawingPart * | m_drawingPart |
maping defined by this canvas | |
wxString | m_title |
title put above printout | |
wxString | m_filename |
filename put below printout | |
double | m_scalelimit |
limit scaling to this value (world/pixel) | |
bool | m_drawframe |
draw a frame around the page | |
bool | m_fitToPage |
Static Protected Attributes | |
static bool | m_printAsBitmap = true |
if set print a bitmap that was drawn into | |
to print what is displayed on a a2dDrawingPart or the whole document as seen from the showobject of the drawer.
Internal a second wxDarwer class is initiated with a mapping that nicely fits that mapping of the input a2dDrawingPart to a piece of paper. This mapping depends on the type of print. If only what is on the view needs to be printed, the mapping of the input drawer is used, but if the whole document is wanted as seen from the ShowObject() of the input drawer, the boundingbox of the showobject will be used for the mapping.
a2dDrawingPrintOut::a2dDrawingPrintOut | ( | const wxPageSetupDialogData & | pageSetupData, |
a2dDrawingPart * | drawingPart, | ||
const wxString & | title, | ||
const wxString & | filename, | ||
a2dPrintWhat | typeOfPrint, | ||
bool | drawframe, | ||
double | scalelimit, | ||
bool | fitToPage | ||
) |
initialize mapping based on an existing canvas
drawer | the a2dDrawingPart from which the print is wanted. |
title | title at top of the print |
filename | the name of the file to be printed (may be empty ) |
typeOfPrint | When called from a2dDocumentCommandProcessor, the a2dCommand* which lead to this call. |
Depending on the command one can organize printing features. Like in the default implementation:
Here View is to only print what is the visible view. Document print the document as seen from the a2dView::ShowObject(), it fits this to the paper.
drawframe | print a frame rectangle in bounding box of drawing/view |
scalelimit | limits the scaling (world/pixel) to the given value, so that small graphics are not zoomed to full page |
fitToPage | scale to fit the page |
Definition at line 3694 of file drawer.cpp.
bool a2dDrawingPrintOut::OnPrintPage | ( | int | ) |
called for every page to print, for a2dDrawing in general just one.
It redraws/rerenders without double buffering the view or document on the pinter its wxDC. Internal a a2dDcDrawer is used to redraw the a2dDrawing on the device.
needed ?
Definition at line 3711 of file drawer.cpp.
|
protected |