X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/e306597309a120f2ae91385c731a5cb2722c52aa..814028444d682b23af3809227cd485f4bebc1286:/samples/printing/printing.h diff --git a/samples/printing/printing.h b/samples/printing/printing.h index d9df02dfbb..a138d541b4 100644 --- a/samples/printing/printing.h +++ b/samples/printing/printing.h @@ -1,95 +1,128 @@ -/* - * File: printing.h - * Purpose: Printing demo for wxWindows class library - * Author: Julian Smart - * Created: 1995 - * Updated: - * Copyright: (c) 1995, AIAI, University of Edinburgh - */ - -/* sccsid[] = "%W% %G%" */ - -#ifdef __GNUG__ -#pragma interface -#endif +///////////////////////////////////////////////////////////////////////////// +// Name: samples/printing.h +// Purpose: Printing demo for wxWidgets +// Author: Julian Smart +// Modified by: +// Created: 1995 +// RCS-ID: $Id$ +// Copyright: (c) Julian Smart +// Licence: wxWindows licence +///////////////////////////////////////////////////////////////////////////// // Define a new application class MyApp: public wxApp { - public: - MyApp() ; - bool OnInit(); - int OnExit(); +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; } - wxFont* 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: - MyCanvas *canvas; +public: MyFrame(wxFrame *frame, const wxString& title, const wxPoint& pos, const wxSize& size); - void Draw(wxDC& dc); + void OnAngleUp(wxCommandEvent& event); + void OnAngleDown(wxCommandEvent& event); - void OnSize(wxSizeEvent& event); void OnPrint(wxCommandEvent& event); void OnPrintPreview(wxCommandEvent& event); - void OnPrintSetup(wxCommandEvent& event); void OnPageSetup(wxCommandEvent& event); #if defined(__WXMSW__) && wxTEST_POSTSCRIPT_IN_MSW void OnPrintPS(wxCommandEvent& event); void OnPrintPreviewPS(wxCommandEvent& event); - void OnPrintSetupPS(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); -DECLARE_EVENT_TABLE() + +private: + MyCanvas* m_canvas; + wxPreviewFrameModalityKind m_previewModality; + + DECLARE_EVENT_TABLE() }; -// Define a new canvas which can receive some events +// Define a new white canvas class MyCanvas: public wxScrolledWindow { - public: +public: MyCanvas(wxFrame *frame, const wxPoint& pos, const wxSize& size, long style = wxRETAINED); - ~MyCanvas(void) ; + //void OnPaint(wxPaintEvent& evt); virtual void OnDraw(wxDC& dc); - void OnEvent(wxMouseEvent& event); -DECLARE_EVENT_TABLE() +private: + DECLARE_EVENT_TABLE() }; +// Defines a new printout class to print our document class MyPrintout: public wxPrintout { - public: - MyPrintout(char *title = "My printout"):wxPrintout(title) {} - bool OnPrintPage(int page); - bool HasPage(int page); - bool OnBeginDocument(int startPage, int endPage); - void GetPageInfo(int *minPage, int *maxPage, int *selPageFrom, int *selPageTo); - - void DrawPageOne(wxDC *dc); - void DrawPageTwo(wxDC *dc); +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; }; -#define WXPRINT_QUIT 100 -#define WXPRINT_PRINT 101 -#define WXPRINT_PRINT_SETUP 102 -#define WXPRINT_PAGE_SETUP 103 -#define WXPRINT_PREVIEW 104 -#define WXPRINT_PRINT_PS 105 -#define WXPRINT_PRINT_SETUP_PS 106 -#define WXPRINT_PAGE_SETUP_PS 107 -#define WXPRINT_PREVIEW_PS 108 +// constants: +enum +{ + WXPRINT_PAGE_SETUP = 103, + + WXPRINT_PRINT_PS, + WXPRINT_PAGE_SETUP_PS, + WXPRINT_PREVIEW_PS, -#define WXPRINT_ABOUT 109 + WXPRINT_ANGLEUP, + WXPRINT_ANGLEDOWN, +#ifdef __WXMAC__ + WXPRINT_PAGE_MARGINS, +#endif + + WXPRINT_FRAME_MODAL_APP, + WXPRINT_FRAME_MODAL_WIN, + WXPRINT_FRAME_MODAL_NON +};