| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091 |
- /////////////////////////////////////////////////////////////////////////////
- // Name: fontenum.h
- // Purpose: interface of wxFontEnumerator
- // Author: wxWidgets team
- // Licence: wxWindows licence
- /////////////////////////////////////////////////////////////////////////////
- /**
- @class wxFontEnumerator
- wxFontEnumerator enumerates either all available fonts on the system or only
- the ones with given attributes - either only fixed-width (suited for use in
- programs such as terminal emulators and the like) or the fonts available in
- the given encoding).
- To do this, you just have to call one of EnumerateXXX() functions - either
- wxFontEnumerator::EnumerateFacenames() or wxFontEnumerator::EnumerateEncodings()
- and the corresponding callback (wxFontEnumerator::OnFacename() or
- wxFontEnumerator::OnFontEncoding()) will be called repeatedly until either
- all fonts satisfying the specified criteria are exhausted or the callback
- returns @false.
- @section fontenum_virtual Virtual functions to override
- Either OnFacename or OnFontEncoding should be overridden depending on
- whether you plan to call EnumerateFacenames or EnumerateEncodings.
- Of course, if you call both of them, you should override both functions.
- @library{wxcore}
- @category{gdi}
- @see @ref overview_fontencoding, @ref page_samples_font, wxFont, wxFontMapper
- */
- class wxFontEnumerator
- {
- public:
- wxFontEnumerator();
- virtual ~wxFontEnumerator();
- /**
- Call OnFontEncoding() for each encoding supported by the given font -
- or for each encoding supported by at least some font if @a font is not specified.
- */
- virtual bool EnumerateEncodings(const wxString& font = wxEmptyString);
- /**
- Call OnFacename() for each font which supports given encoding (only if
- it is not @c wxFONTENCODING_SYSTEM) and is of fixed width
- (if @a fixedWidthOnly is @true).
- Calling this function with default arguments will result in enumerating all
- fonts available on the system.
- */
- virtual bool EnumerateFacenames(wxFontEncoding encoding = wxFONTENCODING_SYSTEM,
- bool fixedWidthOnly = false);
- /**
- Return array of strings containing all encodings found by
- EnumerateEncodings().
- */
- static wxArrayString GetEncodings(const wxString& facename = wxEmptyString);
- /**
- Return array of strings containing all facenames found by
- EnumerateFacenames().
- */
- static wxArrayString GetFacenames(wxFontEncoding encoding = wxFONTENCODING_SYSTEM,
- bool fixedWidthOnly = false);
- /**
- Returns @true if the given string is valid face name, i.e. it's the face name
- of an installed font and it can safely be used with wxFont::SetFaceName.
- */
- static bool IsValidFacename(const wxString& facename);
- /**
- Called by EnumerateFacenames() for each match.
- Return @true to continue enumeration or @false to stop it.
- */
- virtual bool OnFacename(const wxString& font);
- /**
- Called by EnumerateEncodings() for each match.
- Return @true to continue enumeration or @false to stop it.
- */
- virtual bool OnFontEncoding(const wxString& font,
- const wxString& encoding);
- };
|