-// ----------------------------------------------------------------------------
-// private classes
-// ----------------------------------------------------------------------------
-
-// the helper class which calls ::EnumFontFamilies() and whose OnFont() is
-// called from the callback passed to this function and, in its turn, calls the
-// appropariate wxFontEnumerator method
-class wxFontEnumeratorHelper
-{
-public:
- wxFontEnumeratorHelper(wxFontEnumerator *fontEnum);
-
- // control what exactly are we enumerating
- // we enumerate fonts with given enocding
- bool SetEncoding(wxFontEncoding encoding);
- // we enumerate fixed-width fonts
- void SetFixedOnly(bool fixedOnly) { m_fixedOnly = fixedOnly; }
- // we enumerate the encodings available in this family
- void SetFamily(const wxString& family);
-
- // call to start enumeration
- void DoEnumerate();
-
- // called by our font enumeration proc
- bool OnFont(const LPLOGFONT lf, const LPTEXTMETRIC tm) const;
-
-private:
- // the object we forward calls to OnFont() to
- wxFontEnumerator *m_fontEnum;
-
- // if != -1, enum only fonts which have this encoding
- int m_charset;
-
- // if not empty, enum only the fonts with this facename
- wxString m_facename;
-
- // if not empty, enum only the fonts in this family
- wxString m_family;
-
- // if TRUE, enum only fixed fonts
- bool m_fixedOnly;
-
- // if TRUE, we enumerate the encodings, not fonts
- bool m_enumEncodings;
-
- // the list of charsets we already found while enumerating charsets
- wxArrayInt m_charsets;
-
- // the list of facenames we already found while enumerating facenames
- wxArrayString m_facenames;
-
- DECLARE_NO_COPY_CLASS(wxFontEnumeratorHelper)
-};
-
-// ----------------------------------------------------------------------------
-// private functions
-// ----------------------------------------------------------------------------
-
-#ifndef __WXMICROWIN__
-int CALLBACK wxFontEnumeratorProc(LPLOGFONT lplf, LPTEXTMETRIC lptm,
- DWORD dwStyle, LONG lParam);
-#endif
-