]> git.saurik.com Git - wxWidgets.git/blame_incremental - include/wx/msw/dcprint.h
native wxBitmapComboBox implementation for MSW (patch 1941399)
[wxWidgets.git] / include / wx / msw / dcprint.h
... / ...
CommitLineData
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/dcprint.h"
18#include "wx/cmndata.h"
19#include "wx/msw/dc.h"
20
21// ------------------------------------------------------------------------
22// wxPrinterDCImpl
23//
24
25class WXDLLIMPEXP_CORE wxPrinterDCImpl : public wxMSWDCImpl
26{
27public:
28 // Create from print data
29 wxPrinterDCImpl( wxPrinterDC *owner, const wxPrintData& data );
30 wxPrinterDCImpl( wxPrinterDC *owner, WXHDC theDC );
31
32 // override some base class virtuals
33 virtual bool StartDoc(const wxString& message);
34 virtual void EndDoc();
35 virtual void StartPage();
36 virtual void EndPage();
37
38 virtual wxRect GetPaperRect();
39
40protected:
41 virtual void DoDrawBitmap(const wxBitmap &bmp, wxCoord x, wxCoord y,
42 bool useMask = false);
43 virtual bool DoBlit(wxCoord xdest, wxCoord ydest,
44 wxCoord width, wxCoord height,
45 wxDC *source, wxCoord xsrc, wxCoord ysrc,
46 int rop = wxCOPY, bool useMask = false, wxCoord xsrcMask = wxDefaultCoord, wxCoord ysrcMask = wxDefaultCoord);
47 virtual void DoGetSize(int *w, int *h) const
48 {
49 GetDeviceSize(w, h);
50 }
51
52
53 // init the dc
54 void Init();
55
56 wxPrintData m_printData;
57
58private:
59 DECLARE_CLASS(wxPrinterDCImpl)
60 DECLARE_NO_COPY_CLASS(wxPrinterDCImpl)
61};
62
63// Gets an HDC for the specified printer configuration
64WXHDC WXDLLIMPEXP_CORE wxGetPrinterDC(const wxPrintData& data);
65
66// ------------------------------------------------------------------------
67// wxPrinterDCromHDC
68//
69
70class WXDLLIMPEXP_CORE wxPrinterDCFromHDC: public wxPrinterDC
71{
72public:
73 wxPrinterDCFromHDC( WXHDC theDC )
74 : wxPrinterDC(new wxPrinterDCImpl(this, theDC))
75 {
76 }
77};
78
79#endif // wxUSE_PRINTING_ARCHITECTURE
80
81#endif // _WX_MSW_DCPRINT_H_
82