]> git.saurik.com Git - wxWidgets.git/blame - include/wx/msw/dcprint.h
use AllocExclusive() instead of duplicating its code in wxFont-specific Unshare(...
[wxWidgets.git] / include / wx / msw / dcprint.h
CommitLineData
2bda0e17 1/////////////////////////////////////////////////////////////////////////////
4b7f2165 2// Name: wx/msw/dcprint.h
2bda0e17
KB
3// Purpose: wxPrinterDC class
4// Author: Julian Smart
5// Modified by:
6// Created: 01/02/97
7// RCS-ID: $Id$
bbcdf8bc 8// Copyright: (c) Julian Smart
65571936 9// Licence: wxWindows licence
2bda0e17
KB
10/////////////////////////////////////////////////////////////////////////////
11
7d09b97f
VZ
12#ifndef _WX_MSW_DCPRINT_H_
13#define _WX_MSW_DCPRINT_H_
2bda0e17 14
d427503c
VZ
15#if wxUSE_PRINTING_ARCHITECTURE
16
2bda0e17 17#include "wx/dc.h"
7bcb11d3 18#include "wx/cmndata.h"
2bda0e17 19
7ba4fbeb 20class WXDLLEXPORT wxPrinterDC : public wxDC
2bda0e17 21{
7bcb11d3 22public:
7bcb11d3 23 // Create a printer DC (obsolete function: use wxPrintData version now)
d71cc120 24 wxPrinterDC(const wxString& driver, const wxString& device, const wxString& output, bool interactive = true, int orientation = wxPORTRAIT);
2bda0e17 25
7bcb11d3
JS
26 // Create from print data
27 wxPrinterDC(const wxPrintData& data);
28
29 wxPrinterDC(WXHDC theDC);
30
4b7f2165
VZ
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();
7bcb11d3 36
f415cab9
JS
37 wxRect GetPaperRect();
38
7bcb11d3 39protected:
4b7f2165 40 virtual void DoDrawBitmap(const wxBitmap &bmp, wxCoord x, wxCoord y,
d71cc120 41 bool useMask = false);
4b7f2165
VZ
42 virtual bool DoBlit(wxCoord xdest, wxCoord ydest,
43 wxCoord width, wxCoord height,
44 wxDC *source, wxCoord xsrc, wxCoord ysrc,
d71cc120 45 int rop = wxCOPY, bool useMask = false, wxCoord xsrcMask = wxDefaultCoord, wxCoord ysrcMask = wxDefaultCoord);
7d09b97f
VZ
46 virtual void DoGetSize(int *w, int *h) const
47 {
48 GetDeviceSize(w, h);
49 }
50
4b7f2165 51
7ba4fbeb
VZ
52 // init the dc
53 void Init();
54
7bcb11d3 55 wxPrintData m_printData;
7ba4fbeb
VZ
56
57private:
fc7a2a60 58 DECLARE_DYNAMIC_CLASS_NO_COPY(wxPrinterDC)
2bda0e17
KB
59};
60
61// Gets an HDC for the default printer configuration
7bcb11d3
JS
62// WXHDC WXDLLEXPORT wxGetPrinterDC(int orientation);
63
64// Gets an HDC for the specified printer configuration
65WXHDC WXDLLEXPORT wxGetPrinterDC(const wxPrintData& data);
2bda0e17 66
d427503c
VZ
67#endif // wxUSE_PRINTING_ARCHITECTURE
68
7d09b97f 69#endif // _WX_MSW_DCPRINT_H_
2bda0e17 70