1 #ifndef FONTEXT_PRECOMP_H 2 #define FONTEXT_PRECOMP_H 3 4 5 #define WIN32_NO_STATUS 6 #define COM_NO_WINDOWS_H 7 8 #include <windef.h> 9 #include <winbase.h> 10 #include <winreg.h> 11 #include <shlobj.h> 12 #include <shlwapi.h> 13 #include <tchar.h> 14 #include <strsafe.h> 15 #include <atlbase.h> 16 #include <atlcom.h> 17 #include <atlcoll.h> 18 #include <atlstr.h> 19 #include <wine/debug.h> 20 #include <shellutils.h> 21 22 extern const GUID CLSID_CFontExt; 23 extern LONG g_ModuleRefCnt; 24 25 #include "resource.h" 26 #include "fontpidl.hpp" 27 #include "CFontCache.hpp" 28 #include "CFontExt.hpp" 29 30 #define FONT_HIVE HKEY_LOCAL_MACHINE 31 #define FONT_KEY L"SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion\\Fonts" 32 33 HRESULT _CEnumFonts_CreateInstance(CFontExt* zip, DWORD flags, REFIID riid, LPVOID* ppvOut); 34 HRESULT _CFontMenu_CreateInstance(HWND hwnd, UINT cidl, PCUITEMID_CHILD_ARRAY apidl, 35 IShellFolder *psf, REFIID riid, LPVOID* ppvOut); 36 HRESULT _CDataObject_CreateInstance(PCIDLIST_ABSOLUTE folder, UINT cidl, PCUITEMID_CHILD_ARRAY apidl, 37 REFIID riid, LPVOID* ppvOut); 38 39 inline BOOL IsFontDotExt(LPCWSTR pchDotExt) 40 { 41 static const LPCWSTR array[] = 42 { 43 L".ttf", L".ttc", L".otf", L".otc", L".fon", L".fnt", NULL 44 }; 45 for (const LPCWSTR *pp = array; *pp; ++pp) 46 { 47 if (!_wcsicmp(*pp, pchDotExt)) 48 return TRUE; 49 } 50 return FALSE; 51 } 52 53 #endif /* FONTEXT_PRECOMP_H */ 54