DC reorganization
[wxWidgets.git] / include / wx / gtk / dc.h
1 /////////////////////////////////////////////////////////////////////////////
2 // Name: wx/gtk/dc.h
3 // Purpose:
4 // Author: Robert Roebling
5 // Id: $Id$
6 // Copyright: (c) 1998 Robert Roebling
7 // Licence: wxWindows licence
8 /////////////////////////////////////////////////////////////////////////////
9
10 #ifndef __GTKDCH__
11 #define __GTKDCH__
12
13
14 //-----------------------------------------------------------------------------
15 // wxDC
16 //-----------------------------------------------------------------------------
17
18 class WXDLLIMPEXP_CORE wxGTKDCImpl : public wxDCImpl
19 {
20 public:
21 wxGTKDCImpl( wxDC *owner );
22 virtual ~wxGTKDCImpl();
23
24 #if wxUSE_PALETTE
25 void SetColourMap( const wxPalette& palette ) { SetPalette(palette); };
26 #endif // wxUSE_PALETTE
27
28 // Resolution in pixels per logical inch
29 virtual wxSize GetPPI() const;
30
31 virtual bool StartDoc( const wxString& WXUNUSED(message) ) { return true; }
32 virtual void EndDoc() { }
33 virtual void StartPage() { }
34 virtual void EndPage() { }
35
36 virtual GdkWindow* GetGDKWindow() const { return NULL; }
37
38 protected:
39 // base class pure virtuals implemented here
40 virtual void DoSetClippingRegion(wxCoord x, wxCoord y, wxCoord width, wxCoord height);
41 virtual void DoGetSizeMM(int* width, int* height) const;
42
43 private:
44 DECLARE_ABSTRACT_CLASS(wxGTKDCImpl)
45 };
46
47 // this must be defined when wxDC::Blit() honours the DC origin and needed to
48 // allow wxUniv code in univ/winuniv.cpp to work with versions of wxGTK
49 // 2.3.[23]
50 #ifndef wxHAS_WORKING_GTK_DC_BLIT
51 #define wxHAS_WORKING_GTK_DC_BLIT
52 #endif
53
54 #endif // __GTKDCH__