| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127 |
- /////////////////////////////////////////////////////////////////////////////
- // Name: samples/printing.h
- // Purpose: Printing demo for wxWidgets
- // Author: Julian Smart
- // Modified by:
- // Created: 1995
- // Copyright: (c) Julian Smart
- // Licence: wxWindows licence
- /////////////////////////////////////////////////////////////////////////////
- // Define a new application
- class MyApp: public wxApp
- {
- public:
- MyApp() {}
- virtual bool OnInit();
- virtual int OnExit();
- void Draw(wxDC& dc);
- void IncrementAngle()
- { m_angle += 5; }
- void DecrementAngle()
- { m_angle -= 5; }
- wxFont& GetTestFont()
- { return m_testFont; }
- private:
- int m_angle;
- wxBitmap m_bitmap;
- wxFont m_testFont;
- };
- DECLARE_APP(MyApp)
- class MyCanvas;
- // Define a new canvas and frame
- class MyFrame: public wxFrame
- {
- public:
- MyFrame(wxFrame *frame, const wxString& title, const wxPoint& pos, const wxSize& size);
- void OnAngleUp(wxCommandEvent& event);
- void OnAngleDown(wxCommandEvent& event);
- void OnPrint(wxCommandEvent& event);
- void OnPrintPreview(wxCommandEvent& event);
- void OnPageSetup(wxCommandEvent& event);
- #if wxUSE_POSTSCRIPT
- void OnPrintPS(wxCommandEvent& event);
- void OnPrintPreviewPS(wxCommandEvent& event);
- void OnPageSetupPS(wxCommandEvent& event);
- #endif
- #ifdef __WXMAC__
- void OnPageMargins(wxCommandEvent& event);
- #endif
- void OnPreviewFrameModalityKind(wxCommandEvent& event);
- void OnExit(wxCommandEvent& event);
- void OnPrintAbout(wxCommandEvent& event);
- private:
- MyCanvas* m_canvas;
- wxPreviewFrameModalityKind m_previewModality;
- wxDECLARE_EVENT_TABLE();
- };
- // Define a new white canvas
- class MyCanvas: public wxScrolledWindow
- {
- public:
- MyCanvas(wxFrame *frame, const wxPoint& pos, const wxSize& size, long style = wxRETAINED);
- //void OnPaint(wxPaintEvent& evt);
- virtual void OnDraw(wxDC& dc);
- private:
- wxDECLARE_EVENT_TABLE();
- };
- // Defines a new printout class to print our document
- class MyPrintout: public wxPrintout
- {
- public:
- MyPrintout(MyFrame* frame, const wxString &title = wxT("My printout"))
- : wxPrintout(title) { m_frame=frame; }
- virtual bool OnPrintPage(int page);
- virtual bool HasPage(int page);
- virtual bool OnBeginDocument(int startPage, int endPage);
- virtual void GetPageInfo(int *minPage, int *maxPage, int *selPageFrom, int *selPageTo);
- void DrawPageOne();
- void DrawPageTwo();
- // Writes a header on a page. Margin units are in millimetres.
- bool WritePageHeader(wxPrintout *printout, wxDC *dc, const wxString& text, float mmToLogical);
- private:
- MyFrame *m_frame;
- };
- // constants:
- enum
- {
- WXPRINT_PAGE_SETUP = 103,
- WXPRINT_PRINT_PS,
- WXPRINT_PAGE_SETUP_PS,
- WXPRINT_PREVIEW_PS,
- WXPRINT_ANGLEUP,
- WXPRINT_ANGLEDOWN,
- #ifdef __WXMAC__
- WXPRINT_PAGE_MARGINS,
- #endif
- WXPRINT_FRAME_MODAL_APP,
- WXPRINT_FRAME_MODAL_WIN,
- WXPRINT_FRAME_MODAL_NON
- };
|