X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/6dcc2372e82aa68f8bdcd1268326ffffa78bdedb..f0b1ccde63c1acd9ca18847f758603f39f22cf4b:/src/msw/fontenum.cpp?ds=sidebyside diff --git a/src/msw/fontenum.cpp b/src/msw/fontenum.cpp index dec87f4fc1..cc320215b8 100644 --- a/src/msw/fontenum.cpp +++ b/src/msw/fontenum.cpp @@ -17,7 +17,7 @@ // headers // ---------------------------------------------------------------------------- -#ifdef __GNUG__ +#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA) #pragma implementation "fontenum.h" #endif @@ -34,12 +34,12 @@ #include "wx/font.h" #endif +#include "wx/msw/private.h" + #include "wx/fontutil.h" #include "wx/fontenum.h" #include "wx/fontmap.h" -#include "wx/msw/private.h" - // ---------------------------------------------------------------------------- // private classes // ---------------------------------------------------------------------------- @@ -90,6 +90,8 @@ private: // the list of facenames we already found while enumerating facenames wxArrayString m_facenames; + + DECLARE_NO_COPY_CLASS(wxFontEnumeratorHelper) }; // ---------------------------------------------------------------------------- @@ -131,7 +133,7 @@ bool wxFontEnumeratorHelper::SetEncoding(wxFontEncoding encoding) if ( !wxGetNativeFontEncoding(encoding, &info) ) { #if wxUSE_FONTMAP - if ( !wxTheFontMapper->GetAltForEncoding(encoding, &info) ) + if ( !wxFontMapper::Get()->GetAltForEncoding(encoding, &info) ) #endif // wxUSE_FONTMAP { // no such encodings at all @@ -146,12 +148,8 @@ bool wxFontEnumeratorHelper::SetEncoding(wxFontEncoding encoding) return TRUE; } -#if defined(__GNUWIN32__) && !defined(__CYGWIN10__) - #if wxUSE_NORLANDER_HEADERS - #define wxFONTENUMPROC int(*)(const LOGFONT *, const TEXTMETRIC *, long unsigned int, LPARAM) - #else - #define wxFONTENUMPROC int(*)(ENUMLOGFONTEX *, NEWTEXTMETRICEX*, int, LPARAM) - #endif +#if defined(__GNUWIN32__) && !defined(__CYGWIN10__) && !wxCHECK_W32API_VERSION( 1, 1 ) && !wxUSE_NORLANDER_HEADERS + #define wxFONTENUMPROC int(*)(ENUMLOGFONTEX *, NEWTEXTMETRICEX*, int, LPARAM) #else #define wxFONTENUMPROC FONTENUMPROC #endif @@ -161,7 +159,10 @@ void wxFontEnumeratorHelper::DoEnumerate() #ifndef __WXMICROWIN__ HDC hDC = ::GetDC(NULL); -#ifdef __WIN32__ +#ifdef __WXWINCE__ + ::EnumFontFamilies(hDC, m_facename, (wxFONTENUMPROC)wxFontEnumeratorProc, + (LPARAM)this) ; +#elif defined(__WIN32__) LOGFONT lf; lf.lfCharSet = m_charset; wxStrncpy(lf.lfFaceName, m_facename, WXSIZEOF(lf.lfFaceName)); @@ -275,8 +276,9 @@ bool wxFontEnumerator::EnumerateEncodings(const wxString& family) #ifndef __WXMICROWIN__ int CALLBACK wxFontEnumeratorProc(LPLOGFONT lplf, LPTEXTMETRIC lptm, - DWORD dwStyle, LONG lParam) + DWORD WXUNUSED(dwStyle), LONG lParam) { + // we used to process TrueType fonts only, but there doesn't seem to be any // reasons to restrict ourselves to them here #if 0