X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/65e8e8abb6df384c2d5deaeb78c7c976a2b89f1d..44f08a22919e354325a9e4a08e759a98d27683ed:/src/msw/fontenum.cpp diff --git a/src/msw/fontenum.cpp b/src/msw/fontenum.cpp index d538250cf9..7ee7852e02 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 @@ -31,15 +31,16 @@ #if wxUSE_FONTMAP #ifndef WX_PRECOMP - #include "wx/font.h" + #include "wx/font.h" + #include "wx/encinfo.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 +91,8 @@ private: // the list of facenames we already found while enumerating facenames wxArrayString m_facenames; + + DECLARE_NO_COPY_CLASS(wxFontEnumeratorHelper) }; // ---------------------------------------------------------------------------- @@ -146,12 +149,8 @@ bool wxFontEnumeratorHelper::SetEncoding(wxFontEncoding encoding) return TRUE; } -#if defined(__GNUWIN32__) && !defined(__CYGWIN10__) && !wxCHECK_W32API_VERSION( 1, 1 ) - #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,22 +160,17 @@ void wxFontEnumeratorHelper::DoEnumerate() #ifndef __WXMICROWIN__ HDC hDC = ::GetDC(NULL); -#ifdef __WIN32__ +#ifdef __WXWINCE__ + ::EnumFontFamilies(hDC, m_facename, (wxFONTENUMPROC)wxFontEnumeratorProc, + (LPARAM)this) ; +#else // __WIN32__ LOGFONT lf; lf.lfCharSet = m_charset; wxStrncpy(lf.lfFaceName, m_facename, WXSIZEOF(lf.lfFaceName)); lf.lfPitchAndFamily = 0; ::EnumFontFamiliesEx(hDC, &lf, (wxFONTENUMPROC)wxFontEnumeratorProc, (LPARAM)this, 0 /* reserved */) ; -#else // Win16 - ::EnumFonts(hDC, (LPTSTR)NULL, (FONTENUMPROC)wxFontEnumeratorProc, - #ifdef STRICT - (LPARAM) - #else - (LPSTR) - #endif - this); -#endif // Win32/16 +#endif // Win32/CE ::ReleaseDC(NULL, hDC); #endif