/////////////////////////////////////////////////////////////////////////////// // Name: src/palmos/fontenum.cpp // Purpose: wxFontEnumerator class for Palm OS // Author: William Osborne - minimal working wxPalmOS port // Modified by: // Created: 10/13/04 // RCS-ID: $Id$ // Copyright: (c) William Osborne // Licence: wxWindows licence /////////////////////////////////////////////////////////////////////////////// // ============================================================================ // declarations // ============================================================================ // ---------------------------------------------------------------------------- // headers // ---------------------------------------------------------------------------- // For compilers that support precompilation, includes "wx.h". #include "wx/wxprec.h" #ifdef __BORLANDC__ #pragma hdrstop #endif #if wxUSE_FONTMAP #ifndef WX_PRECOMP #include "wx/font.h" #include "wx/encinfo.h" #endif #include "wx/palmos/private.h" #include "wx/fontutil.h" #include "wx/fontenum.h" #include "wx/fontmap.h" // ---------------------------------------------------------------------------- // 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 // ============================================================================ // implementation // ============================================================================ // ---------------------------------------------------------------------------- // wxFontEnumeratorHelper // ---------------------------------------------------------------------------- wxFontEnumeratorHelper::wxFontEnumeratorHelper(wxFontEnumerator *fontEnum) { } void wxFontEnumeratorHelper::SetFamily(const wxString& family) { } bool wxFontEnumeratorHelper::SetEncoding(wxFontEncoding encoding) { return FALSE; } #define wxFONTENUMPROC FONTENUMPROC void wxFontEnumeratorHelper::DoEnumerate() { } bool wxFontEnumeratorHelper::OnFont(const LPLOGFONT lf, const LPTEXTMETRIC tm) const { return false; } // ---------------------------------------------------------------------------- // wxFontEnumerator // ---------------------------------------------------------------------------- bool wxFontEnumerator::EnumerateFacenames(wxFontEncoding encoding, bool fixedWidthOnly) { return false; } bool wxFontEnumerator::EnumerateEncodings(const wxString& family) { return false; } #endif // wxUSE_FONTMAP