X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/6d52ca536a0ecb6e69474d30461f6128497505a0..af67f39da8ecf7c29ba5071ac49456d506c111cf:/include/wx/dc.h diff --git a/include/wx/dc.h b/include/wx/dc.h index f780315d50..ab19b30997 100644 --- a/include/wx/dc.h +++ b/include/wx/dc.h @@ -1252,4 +1252,32 @@ private: 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_