]> git.saurik.com Git - wxWidgets.git/blob - include/wx/msw/dcprint.h
New implementation for printing circles and epllipses.
[wxWidgets.git] / include / wx / msw / dcprint.h
1 /////////////////////////////////////////////////////////////////////////////
2 // Name: wx/msw/dcprint.h
3 // Purpose: wxPrinterDC class
4 // Author: Julian Smart
5 // Modified by:
6 // Created: 01/02/97
7 // RCS-ID: $Id$
8 // Copyright: (c) Julian Smart
9 // Licence: wxWindows licence
10 /////////////////////////////////////////////////////////////////////////////
11
12 #ifndef _WX_MSW_DCPRINT_H_
13 #define _WX_MSW_DCPRINT_H_
14
15 #if wxUSE_PRINTING_ARCHITECTURE
16
17 #include "wx/dc.h"
18 #include "wx/cmndata.h"
19
20 class WXDLLEXPORT wxPrinterDC : public wxDC
21 {
22 public:
23 // Create a printer DC (obsolete function: use wxPrintData version now)
24 wxPrinterDC(const wxString& driver, const wxString& device, const wxString& output, bool interactive = true, int orientation = wxPORTRAIT);
25
26 // Create from print data
27 wxPrinterDC(const wxPrintData& data);
28
29 wxPrinterDC(WXHDC theDC);
30
31 // override some base class virtuals
32 virtual bool StartDoc(const wxString& message);
33 virtual void EndDoc();
34 virtual void StartPage();
35 virtual void EndPage();
36
37 protected:
38 virtual void DoDrawBitmap(const wxBitmap &bmp, wxCoord x, wxCoord y,
39 bool useMask = false);
40 virtual bool DoBlit(wxCoord xdest, wxCoord ydest,
41 wxCoord width, wxCoord height,
42 wxDC *source, wxCoord xsrc, wxCoord ysrc,
43 int rop = wxCOPY, bool useMask = false, wxCoord xsrcMask = wxDefaultCoord, wxCoord ysrcMask = wxDefaultCoord);
44 virtual void DoGetSize(int *w, int *h) const
45 {
46 GetDeviceSize(w, h);
47 }
48
49
50 // init the dc
51 void Init();
52
53 wxPrintData m_printData;
54
55 private:
56 DECLARE_DYNAMIC_CLASS_NO_COPY(wxPrinterDC)
57 };
58
59 // Gets an HDC for the default printer configuration
60 // WXHDC WXDLLEXPORT wxGetPrinterDC(int orientation);
61
62 // Gets an HDC for the specified printer configuration
63 WXHDC WXDLLEXPORT wxGetPrinterDC(const wxPrintData& data);
64
65 #endif // wxUSE_PRINTING_ARCHITECTURE
66
67 #endif // _WX_MSW_DCPRINT_H_
68