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
IsFontDotExt(LPCWSTR pchDotExt)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