X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/a62848fdba49396eba4f52c037d2dc82130274b4..dd9f8b6bb6935360a8271dc3e8749fb026b601a8:/include/wx/fontutil.h diff --git a/include/wx/fontutil.h b/include/wx/fontutil.h index 882333fa95..21a4f8b887 100644 --- a/include/wx/fontutil.h +++ b/include/wx/fontutil.h @@ -16,10 +16,6 @@ #ifndef _WX_FONTUTIL_H_ #define _WX_FONTUTIL_H_ -#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA) - #pragma interface "fontutil.h" -#endif - // ---------------------------------------------------------------------------- // headers // ---------------------------------------------------------------------------- @@ -30,7 +26,8 @@ #include "wx/msw/wrapwin.h" #endif -struct WXDLLEXPORT wxNativeEncodingInfo; +class WXDLLIMPEXP_FWD_BASE wxArrayString; +struct WXDLLIMPEXP_FWD_CORE wxNativeEncodingInfo; #if defined(_WX_X_FONTLIKE) @@ -68,11 +65,9 @@ enum wxXLFDField // functions, the user code can only get the objects of this type from // somewhere and pass it somewhere else (possibly save them somewhere using // ToString() and restore them using FromString()) -// -// NB: it is a POD currently for max efficiency but if it continues to grow -// further it might make sense to make it a real class with virtual methods -struct WXDLLEXPORT wxNativeFontInfo +class WXDLLEXPORT wxNativeFontInfo { +public: #if wxUSE_PANGO PangoFontDescription *description; #elif defined(_WX_X_FONTLIKE) @@ -110,6 +105,8 @@ public: // set the XFLD void SetXFontName(const wxString& xFontName); #elif defined(__WXMSW__) + wxNativeFontInfo(const LOGFONT& lf_) : lf(lf_) { } + LOGFONT lf; #elif defined(__WXPM__) // OS/2 native structures that define a font @@ -162,7 +159,14 @@ public: SetStyle((wxFontStyle)font.GetStyle()); SetWeight((wxFontWeight)font.GetWeight()); SetUnderlined(font.GetUnderlined()); +#if defined(__WXMSW__) + if ( font.IsUsingSizeInPixels() ) + SetPixelSize(font.GetPixelSize()); + else + SetPointSize(font.GetPointSize()); +#else SetPointSize(font.GetPointSize()); +#endif // set the family/facename SetFamily((wxFontFamily)font.GetFamily()); @@ -179,6 +183,7 @@ public: // accessors and modifiers for the font elements int GetPointSize() const; + wxSize GetPixelSize() const; wxFontStyle GetStyle() const; wxFontWeight GetWeight() const; bool GetUnderlined() const; @@ -187,13 +192,21 @@ public: wxFontEncoding GetEncoding() const; void SetPointSize(int pointsize); + void SetPixelSize(const wxSize& pixelSize); void SetStyle(wxFontStyle style); void SetWeight(wxFontWeight weight); void SetUnderlined(bool underlined); - void SetFaceName(wxString facename); + bool SetFaceName(const wxString& facename); void SetFamily(wxFontFamily family); void SetEncoding(wxFontEncoding encoding); + // sets the first facename in the given array which is found + // to be valid. If no valid facename is given, sets the + // first valid facename returned by wxFontEnumerator::GetFacenames(). + // Does not return a bool since it cannot fail. + void SetFaceName(const wxArrayString &facenames); + + // it is important to be able to serialize wxNativeFontInfo objects to be // able to store them (in config file, for example) bool FromString(const wxString& s); @@ -213,12 +226,12 @@ public: // translate a wxFontEncoding into native encoding parameter (defined above), // returning true if an (exact) macth could be found, false otherwise (without // attempting any substitutions) -extern bool wxGetNativeFontEncoding(wxFontEncoding encoding, - wxNativeEncodingInfo *info); +WXDLLIMPEXP_CORE bool wxGetNativeFontEncoding(wxFontEncoding encoding, + wxNativeEncodingInfo *info); // test for the existence of the font described by this facename/encoding, // return true if such font(s) exist, false otherwise -extern bool wxTestFontEncoding(const wxNativeEncodingInfo& info); +WXDLLIMPEXP_CORE bool wxTestFontEncoding(const wxNativeEncodingInfo& info); // ---------------------------------------------------------------------------- // font-related functions (X and GTK) @@ -228,12 +241,4 @@ extern bool wxTestFontEncoding(const wxNativeEncodingInfo& info); #include "wx/unix/fontutil.h" #endif // X || GDK -// ---------------------------------------------------------------------------- -// font-related functions (MGL) -// ---------------------------------------------------------------------------- - -#ifdef __WXMGL__ - #include "wx/mgl/fontutil.h" -#endif // __WXMGL__ - #endif // _WX_FONTUTIL_H_