1 ///////////////////////////////////////////////////////////////////////////////
2 // Name:        MadPrintout.h
3 // Description: Printing functions
4 // Author:      madedit@gmail.com
5 // Licence:     GPL
6 ///////////////////////////////////////////////////////////////////////////////
7 
8 #ifndef _MADPRINTOUT_H_
9 #define _MADPRINTOUT_H_
10 
11 class MadPrintout: public wxPrintout
12 {
13     static int s_PrintoutCount;
14 public:
15     MadPrintout(const wxString& title = wxT("MadEdit Printout"));
16     virtual ~MadPrintout();
17 
18     virtual void GetPageInfo(int *minPage, int *maxPage, int *pageFrom, int *pageTo);
19     virtual bool HasPage(int page);
20     virtual bool OnPrintPage(int page);
21 
22     virtual void OnPreparePrinting();
23 
24     void CalcPrintInfo(wxPageSetupData *pPageSetupData, double &xScale, double &yScale, wxRect &printRect);
25 
26     bool m_PrintHeader, m_PrintFooter;
27     wxString m_HeaderLeft, m_HeaderCenter, m_HeaderRight;
28     wxString m_FooterLeft, m_FooterCenter, m_FooterRight;
29     int m_CharHeight, m_HeaderHeight, m_FooterHeight;
30 };
31 
32 //extern wxPrintData *g_PrintData;
33 extern wxPageSetupData* g_PageSetupData;
34 
35 #endif
36