1/////////////////////////////////////////////////////////////////////////////
2// Name:        wx/gtk1/dcmemory.h
3// Purpose:
4// Author:      Robert Roebling
5// RCS-ID:      $Id: dcmemory.h 42755 2006-10-30 19:41:46Z VZ $
6// Copyright:   (c) 1998 Robert Roebling
7// Licence:     wxWindows licence
8/////////////////////////////////////////////////////////////////////////////
9
10#ifndef __GTKDCMEMORYH__
11#define __GTKDCMEMORYH__
12
13#include "wx/defs.h"
14#include "wx/dcclient.h"
15
16//-----------------------------------------------------------------------------
17// classes
18//-----------------------------------------------------------------------------
19
20class WXDLLIMPEXP_CORE wxMemoryDC;
21
22//-----------------------------------------------------------------------------
23// wxMemoryDC
24//-----------------------------------------------------------------------------
25
26class WXDLLIMPEXP_CORE wxMemoryDC : public wxWindowDC, 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    void DoGetSize( int *width, int *height ) const;
34
35    // these get reimplemented for mono-bitmaps to behave
36    // more like their Win32 couterparts. They now interpret
37    // wxWHITE, wxWHITE_BRUSH and wxWHITE_PEN as drawing 0
38    // and everything else as drawing 1.
39    virtual void SetPen( const wxPen &pen );
40    virtual void SetBrush( const wxBrush &brush );
41    virtual void SetBackground( const wxBrush &brush );
42    virtual void SetTextForeground( const wxColour &col );
43    virtual void SetTextBackground( const wxColour &col );
44
45    // implementation
46    wxBitmap  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    // __GTKDCMEMORYH__
59
60