Remove several hack from PS code, use high resolution code from GNOME print, invert...
[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 #if wxUSE_NEW_DC
19 class WXDLLIMPEXP_CORE wxGTKImplDC : public wxImplDC
20 #else
21 #define wxGTKImplDC wxDC
22 class WXDLLIMPEXP_CORE wxDC : public wxDCBase
23 #endif
24
25 {
26 public:
27 #if wxUSE_NEW_DC
28 wxGTKImplDC( wxDC *owner );
29 #else
30 wxDC();
31 #endif
32
33 virtual ~wxGTKImplDC();
34
35 #if wxUSE_PALETTE
36 void SetColourMap( const wxPalette& palette ) { SetPalette(palette); };
37 #endif // wxUSE_PALETTE
38
39 // Resolution in pixels per logical inch
40 virtual wxSize GetPPI() const;
41
42 virtual bool StartDoc( const wxString& WXUNUSED(message) ) { return true; }
43 virtual void EndDoc() { }
44 virtual void StartPage() { }
45 virtual void EndPage() { }
46
47 virtual GdkWindow* GetGDKWindow() const { return NULL; }
48
49 protected:
50 // base class pure virtuals implemented here
51 virtual void DoSetClippingRegion(wxCoord x, wxCoord y, wxCoord width, wxCoord height);
52 virtual void DoGetSizeMM(int* width, int* height) const;
53
54 private:
55 DECLARE_ABSTRACT_CLASS(wxGTKImplDC)
56 };
57
58 // this must be defined when wxDC::Blit() honours the DC origian and needed to
59 // allow wxUniv code in univ/winuniv.cpp to work with versions of wxGTK
60 // 2.3.[23]
61 #ifndef wxHAS_WORKING_GTK_DC_BLIT
62 #define wxHAS_WORKING_GTK_DC_BLIT
63 #endif
64
65 #endif // __GTKDCH__