/////////////////////////////////////////////////////////////////////////////
// Name: wx/dc.h
// Purpose: wxDC class
-// Author: Vadim Zeitlin
+// Author: Vadim Zeitlin
// Modified by:
// Created: 05/25/99
// RCS-ID: $Id$
// ---------------------------------------------------------
// wxPrinterDC Impl API
- virtual wxRect GetPaperRect()
+ virtual wxRect GetPaperRect() const
{ int w = 0; int h = 0; DoGetSize( &w, &h ); return wxRect(0,0,w,h); }
- virtual int GetResolution()
+ virtual int GetResolution() const
{ return -1; }
private:
wxSize GetPPI() const
{ return m_pimpl->GetPPI(); }
- virtual int GetResolution()
+ virtual int GetResolution() const
{ return m_pimpl->GetResolution(); }
// Right-To-Left (RTL) modes
DECLARE_NO_COPY_CLASS(wxDCClipper)
};
+// ----------------------------------------------------------------------------
+// helper class: you can use it to temporarily change the DC font and
+// restore it automatically when the object goes out of scope
+// ----------------------------------------------------------------------------
+
+class WXDLLIMPEXP_CORE wxDCFontChanger
+{
+public:
+ wxDCFontChanger(wxDC& dc, const wxFont& font) : m_dc(dc), m_fontOld(dc.GetFont())
+ {
+ m_dc.SetFont(font);
+ }
+
+ ~wxDCFontChanger()
+ {
+ if ( m_fontOld.Ok() )
+ m_dc.SetFont(m_fontOld);
+ }
+
+private:
+ wxDC& m_dc;
+
+ wxFont m_fontOld;
+
+ DECLARE_NO_COPY_CLASS(wxDCFontChanger)
+};
+
+
#endif // _WX_DC_H_BASE_