1/////////////////////////////////////////////////////////////////////////////
2// Name:        dcmemory.h
3// Purpose:
4// Author:      Vaclav Slavik
5// RCS-ID:      $Id: dcmemory.h 42755 2006-10-30 19:41:46Z VZ $
6// Copyright:   (c) 2001-2002 SciTech Software, Inc. (www.scitechsoft.com)
7// Licence:     wxWindows licence
8/////////////////////////////////////////////////////////////////////////////
9
10#ifndef __WX_DCMEMORY_H__
11#define __WX_DCMEMORY_H__
12
13#include "wx/defs.h"
14#include "wx/dcclient.h"
15
16//-----------------------------------------------------------------------------
17// classes
18//-----------------------------------------------------------------------------
19
20class WXDLLEXPORT wxMemoryDC;
21
22//-----------------------------------------------------------------------------
23// wxMemoryDC
24//-----------------------------------------------------------------------------
25
26class WXDLLEXPORT wxMemoryDC : public wxDC, public wxMemoryDCBase
27{
28public:
29    wxMemoryDC() { Init(); }
30    wxMemoryDC(wxBitmap& bitmap) { Init(); SelectObject(bitmap); }
31    wxMemoryDC(wxDC *dc); // Create compatible DC
32    virtual ~wxMemoryDC();
33
34    // these get reimplemented for mono-bitmaps to behave
35    // more like their Win32 couterparts. They now interpret
36    // wxWHITE, wxWHITE_BRUSH and wxWHITE_PEN as drawing 0
37    // and everything else as drawing 1.
38    virtual void SetPen(const wxPen &pen);
39    virtual void SetBrush(const wxBrush &brush);
40    virtual void SetTextForeground(const wxColour &col);
41    virtual void SetTextBackground(const wxColour &col);
42
43    // implementation
44    wxBitmap  m_selected;
45
46    wxBitmap GetSelectedObject() const { return m_selected; }
47
48protected:
49    virtual void DoSelect(const wxBitmap& bitmap);
50
51private:
52    void Init();
53
54    DECLARE_DYNAMIC_CLASS(wxMemoryDC)
55};
56
57#endif
58    // __WX_DCMEMORY_H__
59
60