]> git.saurik.com Git - wxWidgets.git/blame - include/wx/gtk/dcmemory.h
forward port from 2.8
[wxWidgets.git] / include / wx / gtk / dcmemory.h
CommitLineData
c801d85f
KB
1/////////////////////////////////////////////////////////////////////////////
2// Name: dcmemory.h
3// Purpose:
4// Author: Robert Roebling
6f65e337 5// RCS-ID: $Id$
dbf858b5 6// Copyright: (c) 1998 Robert Roebling
65571936 7// Licence: wxWindows licence
c801d85f
KB
8/////////////////////////////////////////////////////////////////////////////
9
3498362e
PC
10#ifndef _WX_GTK_DCMEMORY_H_
11#define _WX_GTK_DCMEMORY_H_
c801d85f 12
c801d85f
KB
13#include "wx/dcclient.h"
14
c801d85f
KB
15//-----------------------------------------------------------------------------
16// wxMemoryDC
17//-----------------------------------------------------------------------------
18
ab171e95
RR
19
20#if wxUSE_NEW_DC
21class WXDLLIMPEXP_CORE wxGTKMemoryImplDC : public wxGTKWindowImplDC, public wxMemoryImplDCBase
22#else
23#define wxGTKMemoryImplDC wxMemoryDC
fea35690 24class WXDLLIMPEXP_CORE wxMemoryDC : public wxWindowDC, public wxMemoryDCBase
ab171e95 25#endif
c801d85f 26{
ec758a20 27public:
ab171e95
RR
28
29#if wxUSE_NEW_DC
30 wxGTKMemoryImplDC( wxMemoryDC *owner );
31 wxGTKMemoryImplDC( wxMemoryDC *owner, wxBitmap& bitmap );
32 wxGTKMemoryImplDC( wxMemoryDC *owner, wxDC *dc );
33#else
34 wxMemoryDC();
35 wxMemoryDC(wxBitmap& bitmap);
36 wxMemoryDC( wxDC *dc );
37#endif
38
39 virtual ~wxGTKMemoryImplDC();
c801d85f 40
41fbc841
RR
41 // these get reimplemented for mono-bitmaps to behave
42 // more like their Win32 couterparts. They now interpret
43 // wxWHITE, wxWHITE_BRUSH and wxWHITE_PEN as drawing 0
44 // and everything else as drawing 1.
45 virtual void SetPen( const wxPen &pen );
46 virtual void SetBrush( const wxBrush &brush );
8ab40c52 47 virtual void SetBackground( const wxBrush &brush );
41fbc841
RR
48 virtual void SetTextForeground( const wxColour &col );
49 virtual void SetTextBackground( const wxColour &col );
50
20e05ffb 51 // implementation
e19a8aea 52 wxBitmap GetSelectedBitmap() const { return m_selected; }
8bbe427f 53
6f02a879 54protected:
ab171e95
RR
55 // overridden from wxImplDC
56 virtual void DoGetSize( int *width, int *height ) const;
57 virtual wxBitmap DoGetAsBitmap(const wxRect *subrect) const;
58
ab171e95 59 // overridden from wxMemoryImplDCBase
fea35690 60 virtual void DoSelect(const wxBitmap& bitmap);
ab171e95
RR
61 virtual const wxBitmap& DoGetSelectedBitmap() const;
62 virtual wxBitmap& DoGetSelectedBitmap();
fea35690 63
ab171e95
RR
64 wxBitmap m_selected;
65
fea35690
VZ
66private:
67 void Init();
6f02a879 68
ab171e95 69 DECLARE_ABSTRACT_CLASS(wxGTKMemoryImplDC)
c801d85f
KB
70};
71
3498362e 72#endif // _WX_GTK_DCMEMORY_H_