2008-03-08 08:52:38 -05:00
|
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
|
|
// Name: fontenum.h
|
2008-03-10 11:24:38 -04:00
|
|
|
// Purpose: interface of wxFontEnumerator
|
2008-03-08 08:52:38 -05:00
|
|
|
// Author: wxWidgets team
|
|
|
|
// RCS-ID: $Id$
|
|
|
|
// Licence: wxWindows license
|
|
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
|
|
|
|
|
|
/**
|
|
|
|
@class wxFontEnumerator
|
|
|
|
@wxheader{fontenum.h}
|
2008-03-08 09:43:31 -05:00
|
|
|
|
2008-03-08 08:52:38 -05:00
|
|
|
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
|
2008-03-10 11:24:38 -04:00
|
|
|
the given encoding().
|
2008-03-08 09:43:31 -05:00
|
|
|
|
|
|
|
To do this, you just have to call one of EnumerateXXX() functions - either
|
|
|
|
wxFontEnumerator::EnumerateFacenames or
|
2008-03-08 08:52:38 -05:00
|
|
|
wxFontEnumerator::EnumerateEncodings and the
|
2008-03-08 09:43:31 -05:00
|
|
|
corresponding callback (wxFontEnumerator::OnFacename or
|
2008-03-08 08:52:38 -05:00
|
|
|
wxFontEnumerator::OnFontEncoding) will be called
|
|
|
|
repeatedly until either all fonts satisfying the specified criteria are
|
|
|
|
exhausted or the callback returns @false.
|
2008-03-08 09:43:31 -05:00
|
|
|
|
2008-03-08 08:52:38 -05:00
|
|
|
@library{wxcore}
|
|
|
|
@category{FIXME}
|
2008-03-08 09:43:31 -05:00
|
|
|
|
2008-03-10 11:24:38 -04:00
|
|
|
@see @ref overview_wxfontencodingoverview, @ref overview_samplefont "Font
|
|
|
|
sample", wxFont, wxFontMapper
|
2008-03-08 08:52:38 -05:00
|
|
|
*/
|
2008-03-08 09:43:31 -05:00
|
|
|
class wxFontEnumerator
|
2008-03-08 08:52:38 -05:00
|
|
|
{
|
|
|
|
public:
|
|
|
|
/**
|
|
|
|
Call OnFontEncoding() for each
|
|
|
|
encoding supported by the given font - or for each encoding supported by at
|
2008-03-09 08:33:59 -04:00
|
|
|
least some font if @a font is not specified.
|
2008-03-08 08:52:38 -05:00
|
|
|
*/
|
|
|
|
virtual bool EnumerateEncodings(const wxString& font = "");
|
|
|
|
|
|
|
|
/**
|
|
|
|
Call OnFacename() for each font which
|
|
|
|
supports given encoding (only if it is not wxFONTENCODING_SYSTEM) and is of
|
2008-03-09 08:33:59 -04:00
|
|
|
fixed width (if @a fixedWidthOnly is @true).
|
2008-03-08 08:52:38 -05:00
|
|
|
Calling this function with default arguments will result in enumerating all
|
|
|
|
fonts available on the system.
|
|
|
|
*/
|
|
|
|
virtual bool EnumerateFacenames(wxFontEncoding encoding = wxFONTENCODING_SYSTEM,
|
2008-03-09 08:33:59 -04:00
|
|
|
bool fixedWidthOnly = false);
|
2008-03-08 08:52:38 -05:00
|
|
|
|
|
|
|
/**
|
2008-03-08 09:43:31 -05:00
|
|
|
Return array of strings containing all encodings found by
|
2008-03-08 08:52:38 -05:00
|
|
|
EnumerateEncodings().
|
|
|
|
*/
|
|
|
|
static wxArrayString GetEncodings(const wxString& facename = "");
|
|
|
|
|
|
|
|
/**
|
2008-03-08 09:43:31 -05:00
|
|
|
Return array of strings containing all facenames found by
|
2008-03-08 08:52:38 -05:00
|
|
|
EnumerateFacenames().
|
|
|
|
*/
|
|
|
|
static wxArrayString GetFacenames(wxFontEncoding encoding = wxFONTENCODING_SYSTEM,
|
2008-03-09 08:33:59 -04:00
|
|
|
bool fixedWidthOnly = false);
|
2008-03-08 08:52:38 -05:00
|
|
|
|
|
|
|
/**
|
|
|
|
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.
|
|
|
|
*/
|
2008-03-09 08:33:59 -04:00
|
|
|
static bool IsValidFacename(const wxString& facename);
|
2008-03-08 08:52:38 -05:00
|
|
|
|
|
|
|
/**
|
|
|
|
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);
|
|
|
|
};
|
2008-03-10 11:24:38 -04:00
|
|
|
|