X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/e4ffab299a1a214fbdd9e3941909323875b32e28..e27c99c7504d9168ee0ddd6043f942fd230027bc:/include/wx/fontutil.h diff --git a/include/wx/fontutil.h b/include/wx/fontutil.h index da045f1c53..56099b4758 100644 --- a/include/wx/fontutil.h +++ b/include/wx/fontutil.h @@ -5,11 +5,11 @@ // Modified by: // Created: 05.11.99 // RCS-ID: $Id$ -// Copyright: (c) wxWindows team +// Copyright: (c) wxWidgets team // Licence: wxWindows licence ///////////////////////////////////////////////////////////////////////////// -// General note: this header is private to wxWindows and is not supposed to be +// General note: this header is private to wxWidgets and is not supposed to be // included by user code. The functions declared here are implemented in // msw/fontutil.cpp for Windows, unix/fontutil.cpp for GTK/Motif &c. @@ -27,8 +27,7 @@ #include "wx/font.h" // for wxFont and wxFontEncoding #if defined(__WXMSW__) - #include - #include "wx/msw/winundef.h" + #include "wx/msw/wrapwin.h" #endif struct WXDLLEXPORT wxNativeEncodingInfo; @@ -136,9 +135,48 @@ public: // default ctor (default copy ctor is ok) wxNativeFontInfo() { Init(); } +#if wxUSE_PANGO +private: + void Init(const wxNativeFontInfo& info); + void Free(); + +public: + wxNativeFontInfo(const wxNativeFontInfo& info) { Init(info); } + ~wxNativeFontInfo() { Free(); } + + wxNativeFontInfo& operator=(const wxNativeFontInfo& info) + { + Free(); + Init(info); + return *this; + } +#endif // wxUSE_PANGO + // reset to the default state void Init(); + // init with the parameters of the given font + void InitFromFont(const wxFont& font) + { + // translate all font parameters + SetStyle((wxFontStyle)font.GetStyle()); + SetWeight((wxFontWeight)font.GetWeight()); + SetUnderlined(font.GetUnderlined()); + SetPointSize(font.GetPointSize()); + + // set the family/facename + SetFamily((wxFontFamily)font.GetFamily()); + const wxString& facename = font.GetFaceName(); + if ( !facename.empty() ) + { + SetFaceName(facename); + } + + // deal with encoding now (it may override the font family and facename + // so do it after setting them) + SetEncoding(font.GetEncoding()); + } + // accessors and modifiers for the font elements int GetPointSize() const; wxFontStyle GetStyle() const;